《论文阅读》FroDO: From Detections to 3D Objects

留个笔记自用

FroDO: From Detections to 3D Objects

做什么

3D object detection。3维目标检测
在这里插入图片描述
对于输入的3D点云,像2D一样使用一个bounding box去将相应的物体包围起来,不过这里使用的bounding box也同样变成了3维的

做了什么

在这里插入图片描述
一种从RGB视频中精确重建物体实例的方法,这里的关键是在一个新颖的学习空间中嵌入对象形状,允许在稀疏点云和密集深度之间无缝切换。

怎么做

在这里插入图片描述
整体结构分为四个部分,Detection部分、Selection部分、Shape encoding部分、Pose and shape optimization(PSO)部分
首先先看看结构整体的流程
这里的输入是一串RGB图片也就是一段视频。第一部分Dection部分使用一个off-the-shelf detector就是现成的目标检测器对输入的图片进行目标检测,可以简单理解成做一个目标向的预处理。
第二部分Selction部分在不同图像中的相同对象实例的检测之间建立对应关系,并且2D包围盒被提升到3D,简单来说就是在一段视频中寻找相同对象然后建立个联系。
第三部分shape encoding部分,将前面检测出来的视频中的2D图片的同一对象使用一个新构建的卷积网络将其编码成64D特征向量,然后融合成一个64D的对象特征码。
最后一个PSO部分,将形状信息和检测信息进行进一步的优化和细化
然后就是具体到部分
在这里插入图片描述
首先是第一部分,这里采用的现有网络是mask rcnn,这个网络也是老经典了,使用现有的baseline来获得输入视频的bounding box b和对象mask M。
然后是第二部分,也就是建立不同图像的同一对象间的联系
在这里插入图片描述
这里采用的方法和imvotenet相似,同一对象的2D对象框的中心引出的射线必定是3D对象中心的方向,所以来自所有对象对应检测的射线集合应该近似相交,图示↓
在这里插入图片描述
然后就可以将寻找对应的问题转换成聚类问题,其目标是识别未知数量的近似相交于单个点的线段集,这里采用了DP-means聚类方法,其中聚类观察值是线段,聚类中心点是3D点
然后聚类结束后,对于每个对象实例k它都会与一串RGB图片联系也就是表示这一串RGB图片中存在这个对象,而RGB图片里提供了检测的bounding box,同时这个k还会对应着一个3D的bounding box,然后通过比较3D对象边界框和2D检测框的投影,拒绝所有低IOU的框
然后是第三部分,得到某一对象k的各个2D图像后,将其输入Shape encoding模块
在这里插入图片描述
对每一张单个图片encode出一个64D的向量来表示对象形状
这里选用encoder的baseline是resnet,将输出改为嵌入向量大小即64D
然后就是将多个形状向量融合(因为它们属于同一对象)
在这里插入图片描述
这里提出了两种融合方法,第一种就是对64D向量的每一维直接进行平均,第二种是Majority voting,简单来说就是对每个向量,都在数据集里寻找4个最近邻,被选中也就是当选最近邻次数最多的那一个向量成为最后的vote结果
然后是最后一个部分,PSO部分
在这里插入图片描述
首先,对于每一个对象k,是通过前面得到的64D的形状向量作为输入,经过一个形状解码器得到它的稀疏点云表示(sparse),然后加上前面第二部分得到的它的pose(3D bounding box),穷举旋转矩阵至它符合重力规则立于地面(就是让它放置于地面的方式更加合理)
然后将其作为先验,通过deepsdf来得到它的Dense表示(计算点云中每个点的sdf,也就是离散点到surface的距离来进行3D建模),deepsdf↓
在这里插入图片描述
然后是训练的LOSS,其实就是energy,这里设计了四个LOSS,2D轮廓LOSS Es,光度一致性LOSS Ep,几何损失LOSS Eg,形状正则化LOSS Er
这里也分为了两个部分,一个是Sparse部分的LOSS,一个是Dense部分的LOSS
首先是Sparse部分的
首先是2D轮廓损失Es,这里是通过当前3D对象形状估计的投影获得的2D轮廓和第一部分用mask预测的的差异进行训练的LOSS
在这里插入图片描述
这里的M就是对mask的sample,Tcw是已知的相机pose(自己选定的合适pose),Two是由第二部分的3D bounding box得到的pose,π(x)的意思是将3D点云投影成一张2D图,G就是将64D形状重建为3D稀疏点云的decoder函数,Dc是一种距离计算方式在这里插入图片描述
这里的目的就是跟前面设计的一样,为了使直接对2D预测mask得到的轮廓和3D形状预测后再投影得到的轮廓相似
然后是光度损失Ep,鼓励3D点的颜色在各个视图之间保持一致
在这里插入图片描述
这里的做法在稀疏情况下,通过一个已知的姿态下观察对象,假设当前帧内的点是2048个点云集(标注为X),将其每个点投影至N近邻帧的同一对象上,以对比投影前和投影后的光度差距
这里的IS就是源X,IR就是参考图像就是对比图,所以上面的LOSS含义就是将相邻帧的点云投影至2D图像后,对对比帧之间的逐帧进行对比,为了保证的是稀疏点云下同一对象的光度相似。
最后是几何损失Eg,这里最小化的是形状预测得到的点云和3D SLAM得到的算是GT点云之间的对比
在这里插入图片描述
这里的标号均同上
然后是第二部分,Dense部分的LOSS
这里的光度损失Ep和几何损失Eg跟稀疏表示的相同
主要是轮廓损失Es
在这里插入图片描述
在这里插入图片描述
φ是3D或2D形状核,而H是到2D前景概率场的映射,类似于当前状态的对象mask
ζ是一个平滑函数,后面的1-sig部分是得到点x的背景概率,pb是观察的2D点x的背景概率,Pf是2D点x的前景概率
简单来说,根据图像中每个点的前景概率和背景概率来限制3d下点前景和背景的概率,保证3d下轮廓的正确性

总结

1.整体做法上感觉有新意的点是sparse和dense的energy设置在这里插入图片描述
感觉很多地方可以更改,比如64D的shape融合,还有聚类部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值