Projection:https://github.com/zekunqian/BEVSee
Arxiv:https://arxiv.org/pdf/2212.09298
本期概述
哈咯大家早上好!忙碌的一周又要开始了!是时候动身前往新的一周了!
本期分享的研究,BEVSee是解决鸟瞰视角(Bird’s Eye View, BEV)在没有预先给定的相机校准的情况下,多视角相机和多主体(人)的注册问题。
输入多个图像,BEVSee不使用相机校准下进行多目标的bev生成
BEVSee研究的创新点在于:
1. 新问题:首次研究了在鸟瞰视角下无需相机校准的多视角相机和多主体注册问题。
2. 新方法:集成了基于深度网络的视角变换模块和基于多视角几何的空间对齐模块。
3. 新数据集
PipeLine
BEVSee包括三个主要部分:视角变换模块(VTM)、空间对齐模块(SAM)和注册模块(Registration)。视角变换模块(VTM)首先使用PifPaf(一个人体姿态检测器)从每个视角的图像中检测出行人姿态。之后将PifPaf输出的2D关节信息输入到LocoNet模型中,将行人模型投影到BEV。空间对齐模块(SAM)从不同视角的BEV中找到相应的行人匹配对,计算相机的相对位置。注册模块(Registration),完成相机的注册。然后,将所有视角的行人位置和面部朝向信息聚合到统一的BEV中,形成最终的注册结果。
视角变换检测模块(View-Transform Detection Module, VTM):VTM模块首先使用PifPaf模型来检测每个人物的2D骨骼关节点信息,表示了人物在原始图像中的姿态。随后,2D骨骼信息被输入到LocoNet轻量级全连接神经网络中。LocoNet的结构包含三部分: 一个用于位置估计的分支,一个用于面部朝向估计的分支,以及一个用于深度估计的分支。LocoNet的输出包括每个视角下人物的位置和面部朝向在BEV中的估计值,表示为:其中, 表示视角, 表示视角中的第 个人物, 是该人物的 骨骼信息, 是LocoNet的输出,包含位置 和面部朝向 的估计值。LocoNet的结构,用于从2D关节信息中估计行人在3D空间中的位置和面部朝向。首先,输入的2D关节坐标经过坐标归一化处理,然后传递给基本模块(BasicBlock),该模块包括全连接层(FC)、批量归一化层(BN)、激活函数ReLU以及一个具有0.2丢弃率的Dropout层(DP 0.2)。网络结构中包含了两次重复的基本模块(BasicBlock),并通过残差连接来增强特征的学习。最终,输出层通过全连接层分别生成行人的x、y位置和面部朝向r的估计值。空间对齐模块(SAM):主要是进行不同世视角下的行人匹配,然后计算相机喜爱能够对位姿。流程如下:行人匹配:通过计算外观特征(如使用ResNet-50提取的特征)来生成不同估计视角下的行人匹配对。匹配对之间的相似度通过欧几里得距离和sigmoid函数计算得出,形成一个相似度矩阵 。计算候选相对相机位姿:根据匹配对,SAM通过几何变换对两个视角中的BEV进行对齐。设参考视角的行人位置和面部朝向为 ,末注册视角的对应行人位置和朝向为 。两者之间的相对变换可以表示为:通过变换公式,SAM能够计算出两台相机在BEV中的相对位姿 ,公式为:该过程产生了多个候选的相对相机位姿。SAM模块通过一个相机姿态估计损失函数 来训练LocoNet,以优化相机位置和朝向的估计。损失函数表示为候选位姿和真实位姿之间差异的总和:相机和主体注册(Camera and Subject Registration):在已经通过空间对齐模块(SAM)估计出相机相对位姿的基础上,进一步精确地注册相机和行人,并将所有视角的信息整合到一个统一的鸟瞰视角 (BEV) 中。相机注册:利用之前计算出的多个候选相机位姿来确定最终的相机位置。在每个候选位姿中,未注册视角的相机位置可以表示为:其中, 是相机在 BEV 中的相对位姿。为了选择最佳的相机位姿,作者计算了每个候选相机位置与质心 (centroid) 之间的距离,并选择距离最小的候选位姿作为最终的相机注册结果。质心 的计算公式为:选取距离最小的 对应的候选位姿作为相机的注册结果。主体注册:首先根据相机注册结果,将所有未注册视角中的相机位置和行人位置对齐到统一的BEV中。接下来,通过两个步骤完成行人的注册:主体匹配和融合。在主体匹配过程中,引入空间距离矩阵 和角度差异矩阵 来衡量来自不同视角的行人之间的距离和角度差异。此外,还结合了之前计算的相似度矩阵 ,通过阈值来筛选可能匹配的行人对。为了保证匹配的准确性,引入了循环一致性和唯一性约束,确保每个行人只能与一个视角中的一个行人匹配,并且匹配结果应形成闭环。多视角注册问题中解决循环一致性(cycle consistency)和唯一性(uniqueness)冲突的过程。每个节点只能匹配另一个视角下的节点。主要是选取一个枢轴节点(pivot),并找到其与其他节点之间的最高置信度匹配。重复选取,并最终得到多个子图
主体融合:对于来自不同视角的同一行人,采用与相机注册类似的质心距离策略来计算最终的注册结果,即选择质心距离最小的行人位置和朝向作为最终的BEV中的注册结果。如果只有两个视角,则取两个视角下行人的平均位置和朝向作为融合结果。相机校准的实验结果。BEVSee均优于其他对比方法,特别是在平均位置误差和朝向误差上。这里李小毛觉得有点奇怪,SIFT方法真的比SuperGlue的喜爱能够对位姿计算好这么多吗?!之前做过实验,似乎并非如此?
主体注册结果。展示了BEVSee在主体注册任务中的优越性,同时消融研究也验证了模型结构设计的合理性,特别是预训练的重要性和匹配策略
李小毛理解,我们上车的方案中,相机的标注参数是一个已知的输入项。所以似乎本项研究论文在自动驾驶方向没有太大的实用价值?没准在其他的领域,例如多视角感知、VR\AR、多人的场景分析等,有比较重要的意义~如果对你的开发、科研有帮助,拜托拜托关注我们,我们将持续奉上优秀的端到端自动驾驶领域研究的分享干货!温馨提示:点赞=学会,收藏=精通