多视角行人检测旨在从多个摄像机视角预测鸟瞰图(BEV)占用地图。
这项任务面临两个挑战:如何建立从视图到BEV地图的3D对应关系,以及如何跨视图收集占用信息。
在本文中,我们提出了一种新的叠加单应变换(SHOT)方法,其动机是通过叠加单应来近似3D世界坐标中的投影。我们首先构造一组变换,用于将视图投影到不同高度级别的地平面。然后,我们设计了一个软选择模块,以便网络学习预测变换堆栈的可能性。此外,我们提供了一个深入的理论分析构造镜头和如何以及镜头近似投影在三维世界坐标。通过经验验证,SHOT能够估计从单个视图到BEV地图的准确对应关系,从而在标准评估基准上实现新的最先进性能。
多视图检测,也称为多摄像机检测[20,1],旨在从一组来自场景不同感知视点的同步图像中检测对象。与单视图检测相比,多视图对象检测能够聚合多个视点的信息并推断场景的3D结构[8,5],因此通常对遮挡具有鲁棒性,这是拥挤场景中单视图检测的主要挑战。在本文中,如图1所示,我们重点从多视图图像中检测行人,其中输入是来自不同视点的一批图像,输出是来自飞机鸟瞰视图(BEV)的占用地图。
从一组多视图图像估计占用地图在两个方面具有挑战性。首先,由于视点的变化,物体外观中的遮挡和模糊经常出现在不同的视图中,因此匹配行人的特征不是一个简单的问题在输入视图之间精确地进行。其次,即使充分估计了对应关系,一个视图也只能提供整个场景的不完整表示,这给在所有视图中收集占用知识带来了困难。例如,由于遮挡,一个区域可能仅在一个视图中可见,因此我们必须识别该视图,并根据预先建立的对应关系排除其他视图的干扰。
为了以端到端的方式联合优化对应和特征提取,最近的工作[13,12]建议将从2D图像中提取的特征投影到共享空间,以聚集所有视图中的信息,同时保持框架的差异性。但是,以前的工作要么将特征投影到大型三维栅格[13],要么仅将特征投影到地平面[12]。[13]提出的完整3D投影成本很高,因为3D卷积涉及到处理投影特征。同时,由于未对准,文献[12]中使用的2D投影不准确。
在本文中,对于建立三维对应的第一个挑战,我们建议根据行人的不同语义部分将特征地图投影到不同的高度级别。如图2所示,我们的激活是指每个像素都应该投影到一个适当高度的地平面上。为了实现这一点,我们构造了一组单应投影,图中为h0、h1和h2。
对于第二个挑战,即跨视图收集占用信息,我们设计了一个软选择模块,以确保网络的可微性,从而学习如何端到端聚合占用信息。具体地说,对于从各个视图中提取的特征的每个像素,我们设计了一个似然图预测模块来从变换堆栈中软选择投影。
由于每个像素都投影有一组单应变换,因此我们的方法称为堆叠单应变换(SHOT)。
直观地说,快照可以看作是具有一堆同音字的3D投影的近似值。然后,我们从两个方面对SHOT的特性进行了理论分析:(1)获取预先计算的同形图的要求;(2)用作三维投影的要求。SHOT在WILDTRACK上实现了90.2%的MODA,在MultiviewX上实现了88.3%的MODA,分别比最近的方法[12]高2%和4.2%。此外,我们还研究了在实际但具有挑战性的环境下拍摄的性能:在训练和测试期间,场景和摄像机位置都有明显的不同。结果验证了SHOT的泛化能力。总而言之,我们的贡献如下:
•我们提出了一种新的叠加单应变换(SHOT),以在单个输入视图和BEV占用地图之间建立精确的3D对应关系。
•我们从理论上分析了快照的几何特性,并证明了两个特性:1)可以在不知道外部参数的情况下有效地构造变换堆栈;2) SHOT可以使用适当的超参数将所有人体部位投影到BEV地图上的同一网格。
•我们在标准基准上进行实验,并取得最新成果。此外,我们还研究了在新的挑战性环境下拍摄的性能:训练和测试涉及不同的场景和摄影机视点。
多视图检测。多视图检测最具挑战性的部分是从多个视图中收集有关对象或行人的占用信息。在深度神经网络兴起之前,对摄像机之间的通信进行建模主要是通过对象的概率建模来完成的[8,5,20,18]。Rubino等人[19]从多个视图中的对象检测边界框中拟合的一组二维椭圆估计三维二次曲面(椭球体)。Baqué等人[2]提出了一种基于CRF的端到端可训练模型,并使用高阶CRF术语来表示潜在的闭塞。在[25]中,Xu等人提出将视图间对应关系的计算重新表述为组合结构优化问题。在[3]中,作者提出了一个大规模数据集WILDTRACK,并系统地回顾了最近的多视图检测方法的性能。最近,Hou等人[12]针对多视图检测任务提出了简单而有效的特征透视变换,该任务经过端到端的训练,达到了新的SOTA。
平行平面的多个投影。建议的快照将每个视图投影到相对于地平面的多个平行平面。[6]中公布的结果使平行平面的多重投影成为可能。Khan等人[15]提出了多个场景平面来跟踪被遮挡的人。类似地,Eshel等人[7]提出检测头部并应用平面变换。此外,在多视角人群计数领域也成功地采用了类似的想法[27,29,28,30]。我们的方法不同于以前的方法,因为所提出的镜头与行人检测的软选择模块相结合。
几何整合深度网络。多视图通用电气计量学是计算机视觉的基石之一[9]。我们工作中的每个投影本质上都是单应性的,它描述了针孔相机模型的平面平移。在[24,26]中,作者使用透视投影将二维估计与三维世界联系起来。Shi等人[21]提出了极坐标变换,将航空图像与地面全景图对齐。透视变换也广泛用于姿势估计任务[13,11,23],以推断身体关节的三维位置。在[16]中,Nassar等人提出学习扭曲和检测以及几何软约束。此外,Roddick等人[17]建议将特征投影到地平面,并预测BEV语义分割图。我们的方法不同于以前的方法,因为我们的目标是学习预测行人检测任务中每个像素变换的可能性。
我们将来自N个视图的输入图像表示为(i1,··,in),并将每个图像的提取特征映射表示为(j1,··,jn)。将摄像机i(视图i)的固有参数表示为ki∈ r3×3。假设摄像机i的一个点的图像坐标是(u,v)T,世界坐标是(X,Y,Z)T,然后根据我们的针孔摄像机模型
公式1
其中[R i | t i]∈ r3×4表示摄像机i的外部参数。根据[12],我们将地平面d0定义为世界坐标中的Z=0平面。从方程(1)可以看出,如果Z=0,则投影矩阵ki[ri | ti]可以转换为3×3矩阵,表示从Z=0平面到屏幕平面的投影。也就是说,如果我们将外部矩阵表示为ei=[ri | ti]=(ei1,ei2,ei3,ei4),其中每个E是列向量,则从Z=0平面到屏幕平面的投影矩阵是kiei0,其中ei0=(ei1,ei2,ei4),因为世界坐标将是ei1x+ei2y+ei4。
接下来,我们将从世界坐标到占用地图的投影映射表示为Kg∈ r3×3。我们可以将Kg视为“地面摄像机”的固有参数,该摄像机将地面世界坐标量化为网格[12]。现在使用Kg,从图像i到地面占用地图的转换可以表示为HI0=Kg(EI0)−1(K i)−1,这是一个单应矩阵。
最后,我们将输入图像的大小表示为H×W,并将输出地平面占用图表示为hg×wg。
我们的动机是用一堆同音字在3D世界坐标中近似变换,这样我们就可以将一个人的所有身体部位投影到BEV地图上的同一位置。为了实现这一目标,我们提出了叠加单应变换(SHOT),它包括两个步骤:构造一组单应变换和软选择变换。
4.1 构造一组同音字
我们不是直接估计行人的三维位置,而是用一堆同音字来近似三维世界坐标中的变换。堆栈中的每个单应用于将视图投影到某个高度的地平面。具体地说,对于每个视图i,我们定义总共有D+1个转换,并且∆z是平行于地平面的两个目标平面之间的距离。同形图是从屏幕平面到Z={k的投影∆z | k=0,··,D}平面在世界坐标中,其中D表示堆栈的大小。在图3中,我们演示了一个D=3的示例,它将屏幕平面投影到Z={0,∆z、 二,∆z} 飞机。从图中我们可以看到,通过选择投影目标,我们可以将一个人的不同身体部位对齐到相同的BEV位置。
如果外部参数已知,则计算单应矩阵是简单的。按照第3节中的符号,单应性H ik用于从图像i到k的投影∆z平面可计算为
公式2
由于我们有N个摄像机,并且为每个摄像机预先计算了D+1个变换,因此变换的数量总共为N(D+1),即{(hi0,···,hid)}i=ni=1。
在这里,请注意,我们仍然可以在不知道外部参数和第6.4节将要讨论的进一步分析的情况下计算同音字。
4.2软选择模块
有了一堆同音字,我们现在面临一个新问题:哪个像素应该使用哪个同音字?
由于我们需要保持网络端到端的可微性,我们建议从提取的特征为每个输入视图生成一个选择掩码,即(j1,···,jn)。
使用特征作为输入的动机是,网络可以根据特征提供的语义信息预测适当的转换可能性分数。例如,网络可以识别人的头部,然后分配最适合头部高度的变换。
软选择模块的计算图如图4所示。以特征J i作为输入,我们首先使用softmax估计所有变换的特征映射的每个像素上的选择似然分数。设k=D似然张量为{gk(J i)}k=0,其中gk()表示变换k的似然预测。然后相应地应用单应矩阵,我们得到k=D{hik·gk(J i)◦ J i}k=0。在对每个特征应用卷积层后,对于每个视图,我们总结了同音字堆栈投影的所有特征。
4.3 框架概述
在图5中,我们展示了多视角行人检测的总体框架,其灵感来源于[12]中设计的结构。具体而言,选择具有膨胀功能的ResNet-18[10]作为主干,并将分辨率从输入端降低8倍。然后将特征图上采样到hf×wf,并发送到分类器,用于检测每幅图像中的行人。损失为P L单=i∥s ih− y h i∥ 22 + ∥如果− y f i∥ 22,其中对于图像i,s ih和s if是头部和足部的分类图,y h i和y f i分别是头部和足部用高斯核模糊的地面真值标签。
接下来,使用建议的快照投影特征。
来自所有视图的特征被连接起来并发送到分类器层进行行人检测。在生成最终BEV检测结果后,用L地面=∥s g− y g∥ 22 . 这里,sg和yg分别是用高斯核模糊的BEV占用图和BEV占用图的地面真值的预测。最后,总损耗是上述两种损耗的组合,即L=L单+L接地。所有网络模块以端到端的方式进行联合优化:用于行人特征提取的卷积主干、用于建立对应关系的软选择模块以及用于检测行人的分类器层。
在这一部分中,我们从两个方面分析了所提出的镜头的特性:1)除了摄像机的固有参数外,我们还应该知道什么来构造同音字?2) 快照如何近似于三维点投影?在不丧失一般性的情况下,为了简单起见,我们省略了本节中相机的上标i。
5.1运行shot的需要
在第4.1节中,我们假设知道摄像机的外部参数,说明了我们的方法,这有时可能不实用。同时,观察到H 0是单应的,我们可以很容易地在地面上标记相应的点,例如路面上砖的交叉点。请注意,理论上仅4点对应就足以估计h0[9]。于是,一个问题自然而然地出现了:在我们的方法中,构造一堆同音字需要什么额外的信息?我们首先展示了具有相同高度的行人的两个额外注释足以获得一组变换。
如图6所示,对于图像坐标中的行人,我们将脚的位置表示为f,将头部的位置表示为h。接下来,我们将此人BEV占用地图上的坐标表示为o。
然后,我们正式提出以下主张(补充文件中包含完整证据):
提议1。如果已知K,kg和h0,我们可以构造一个变换堆栈{(h0,···,hd)},如果行人的高度相同,则只需要两个额外的注释。两个额外注释表示相机图像和BEV图像中的两组点对应,即(f1,h1,o1)和(f2,h2,o2)。
证据(草图)首先观察到,我们可以用e0=K恢复部分外部参数−1小时−10Kg,那么如果我们定义ed=K−1小时−1dkg,我们有ed=e0+∆其中\begin{pmatrix}0&0&\Delta T_1\0&0&\Delta T_2\0&0&\Delta T_3\end{pmatrix}。\vspace{-5pt}∆T是
公式3、4、5
在上述提议中,可能很难满足两个相同高度行人的要求。幸运的是,在实践中,我们通常有一些点对使用“噪波”,可减少不满足高度约束的影响。事实上,我们发现在我们的实验中,我们甚至可以设置∆t3=0时仍能达到良好的投影效果。换句话说,在我们的实验中,只有一个行人注释显示了有希望的结果。原因可能是整个场景与行人高度之间的比例差距较大。我们在第6.4节中给出了真实图像的结果,并从一个注释中使用等式(5)计算变换。
5.2 用SHOT逼近3D投影
由于单应矩阵是平面之间的投影,但在多视图检测中需要3D点投影,因此我们现在研究快照如何近似3D点投影。关键的观察是,在整个框架中有两种离散化:第一,一堆同音字是世界坐标Z轴的离散化;其次,BEV贴图是地平面的离散化。这两种离散化扮演着不同的角色。Z轴的离散化可视为输入占用图的量化,而BEV图可视为输出占用图的量化。因此,理论上我们可以将两个离散化对齐,这样一个对象的所有点都可以投影到同一个网格上。在图6中,我们展示了一个D=3的快照示例,它能够将所有点投影到BEV上的一个网格中。在形式上,我们对路线有以下建议
提议2。如果我们设置D=⌈∥h0(f)− h)∥⌉ (⌈·⌉ 是天花板功能)和D∆ze 3是一个解决方案(∆T1,∆T2,∆t3)在等式(5)中,具有相同Z值的所有点都可以投影到BEV地图上的相同网格上。
证据因为h0是单应的,所以向量f− h将作为BEV占用地图上的另一个矢量投影。
观察H 0(f)的占用像素数− h) 反映需要对齐的网格数,因此变换数应为D=⌈∥h0(f)− h)∥⌉.
接下来,如果投影H D可以将最上面的点变换为相同的占用像素,则f上的所有点− h可以变换为相同的像素。从上一节介绍的命题开始,转换最顶端的点意味着那是D∆ze 3是一个解决方案(∆T1,∆T2,∆式(5)中的t3)。
上述理论分析证明,所提出的镜头可以有效地构造,只需很少的注释,这表明该镜头适用于行人检测任务。此外,使用适当的D和∆z、 SHOT能够完美地将所有感兴趣的点投影到BEV地图上的同一网格上,这表明了它的广泛适用性。
为了评估我们提出的射击,我们首先按照[3,12]中使用的评估协议进行实验。
然后,我们进行各种消融研究,并展示可视化,以验证方法1的有效性。
6.1数据集
WILDTRACK[3]。在这个数据集中,12米乘36米区域的行人被7台摄像机捕捉到。图像大小为1080×1920,每幅图像标注2帧第二该场景有400个图像,由于有7个摄像头,因此图像总数为2800。平均而言,每帧捕获23.8人,每个人在30.41帧中被看到。
MultiviewX[12]。该数据集是由Unity engine和PersonX的人体模型生成的合成数据集[22]。与WILDTRACK相同,400帧的大小为1080×1920,注释为每秒2帧。地平面尺寸为16×25m2,略小于WILDTRACK。与WILDTRACK不同,该数据集中使用了6台摄像机,每帧有40人。
6.2实施细节和指标
我们的实现基于[12]发布的代码。具体地,如[12]所述,输入图像大小(H,W)被设置为(7201280),并且每个视图的输出特征的大小(hf,wf)被设置为(270480)。对于培训,我们使用SGD优化器,学习率为0.15,动量为0.9。D设置为4。∆z在WILDTRACK上设置为10,在MultiviewX上设置为0.1。在我们的实验中,所有网络都在两个Titan XP GPU上以批量大小1进行训练。
评价指标。我们使用[12]中的数据分割,并遵循[14]中提出的指标。报告了四个指标:多目标检测准确度(MODA)、多目标检测准确度(MODP)、准确度和召回率。
为了计算度量,首先计算假阳性(FP)、假阴性(FN)和真阳性(TP)。然后,MODA由1计算− FP+FN N,其中N是地面真实行人的数量。
MODP由p1计算−d[d<t]/t,其中d是从检测到TP的距离,t是设置为20的阈值。MODP告诉我们探测的精度。最后,精度由TP计算,召回率由TP通过FP+tpn计算。对于所有指标,我们报告百分比。
6.3对比SOTA
我们在多个方面将SHOT与最先进的方法进行了比较。我们给出了标准验证基准的定量比较,然后证明了我们提出的SHOT的有效性。
在标准的多视图检测基准上。作为第一个实验,我们报告了我们的方法的性能,并将其与表1中的最新方法进行了比较。比较表明,我们的方法明显优于所有竞争方法。更准确地说,在WILDTRACK上,我们的方法在所有指标上都优于其他方法。对于MultiviewX,我们的方法在MODA度量方面比其他方法有很大的优势(比当前最好的方法高4.4%)。此外,我们的召回率明显优于其他产品(比目前最好的召回率高4.8%),而准确率仍与最好的召回率一样高。
在不同设置下应用SHOT。在[12]中,作者首先研究了三种不同的投影方案:图像级、结果级和特征级。他们发现,投影中间特征是最有效的方案,这是表1中报告的最终结果。然后,他们发现在最终的占用分类层中使用一个大的内核有利于跨视图聚合知识。作为对比,我们进行了相应的实验来验证SHOT的有效性。
首先,我们观察到将SHOT应用于其他两个方案也是有益的。从表2所示的结果中,我们可以看到我们的快照模块持续改进了检测性能。此外,在设置w/o大核的情况下,我们的方法在执行BEV占用图分类时受小核的影响较小。原因是,SHOT能够对齐特征,因此,从跨视图聚合占用知识的角度放宽了对最终占用地图分类层的要求。
投影特征图的视觉比较。为了进一步验证SHOT可以直接帮助跨视图收集知识的说法,我们可视化了方法的中间特征映射。在图7中,我们展示了从WILDTRACK测试集中随机选择的两个样本。
为了可视化特征,我们沿着通道维度对特征张量进行规范化。我们可以观察到的第一点是,MVDet和我们的MVDet在投影和连接(第3列和第4列)后的特性非常不同。使用我们的方法投影的特征更加集中,而来自MVDet的特征更加模糊,这表明快照确实可以帮助对齐BEV地图上的特征。第二个观察结果是,通过比较提取的图像特征(第2列),我们的方法也关注于人体的其他部位。例如,从最后一行,我们可以观察到人体上的响应高于对应的响应,这表明人体特征对于BEV地图上的分类非常有用。综上所述,以上所有结果都验证了我们的动机,并声称快照可以帮助对齐BEV地图上的特征。
6.4分析
先前的结果验证了我们方法的有效性。在本节中,我们从解释性和适用性的角度分析我们的方法。
转换选择模块。如第4.2节所述,我们预测每个像素从叠加单应变换中软选择特定单应的可能性。分析似然预测模块g()是否按预期运行很重要。在图8中,我们展示了每个像素的选择似然值。观察屏幕上的颜色人体随着更高级别的变换而变暗,这表明在身体部位选择更高级别变换的可能性增加。人体不同部位的似然变化证明了似然预测模块的预期工作。
叠加单应变换的数目D。
回想一下,叠加单应变换可以看作是世界坐标系中Z轴的离散化,因此数字D表示离散化的精细程度。尽管我们在第5.2节中介绍了实现完美对齐的条件,但对于特征图,对齐是不同的,因为对于网络来说,接收场通常很大。尽管如此,D的可预见影响是,随着D的增加,性能会变得更好,直到D达到某个值。结果如表3所示,从中我们可以观察到绩效的变化符合我们的预期。具体来说,随着D值的增大,性能会不断提高,但增益会逐渐减小。D=4和5之间的性能差距越来越小。
测试时会更改输入视图。在本文中,我们遵循场景以及训练和测试视图相同的设置。而此设置有其实际应用场景,如监控摄像机。一个更实际、更具挑战性的设置是对模型进行一次训练,然后部署到不同的场景。因此,我们建议在新环境中进行评估:培训和测试之间的场景和摄影机位置不同。为了研究此设置下的性能,我们在MultiviewX上创建了一个新的训练测试分割,使用摄影机0、1和5进行训练,使用摄影机2、3和4进行测试。另外,我们将地平面从中间垂直分为两部分,然后左部分用于训练,右部分用于测试。在表4中,我们展示了设置和性能比较的可视化。在这个更具挑战性的环境中,我们的方法再次优于基线方法MVDet。
计算没有外部参数的变换。在第5节中,我们提到,在实践中,我们可以从地面单应性仅使用一个行人标签构建快照。这里我们展示了图9中WILDTRACK的一个示例。从图像中可以观察到,(a)和(b)之间的差别非常小,因此计算变换堆栈不会限制适用性。
在本文中,我们提出了叠加单应变换(SHOT)作为三维点投影的近似。快照包括两个步骤:首先构造变换,然后软选择变换。我们从理论上分析了应用SHOT的要求,以及SHOT如何在框架中近似三维投影。在标准基准上,我们的方法达到了最新水平,并取得了显著的收益。此外,广泛的分析证实了我们的主张和动机。