文中所有灰色引用部分都是在阅读文章时的思考,阅读时可直接跳过灰色部分,不会影响内容
本文创新点
- 从一个RGB图像预测他的6D位姿估计,不需要多阶段也不需要检验多种假设,也不需要精确的目标纹理模型,精准度足够不需要后期处理。
- 提出了一个新的CNN结构,直接预测目标的射影顶点的2D图像位置,然后用PnP算法估计目标的3D位姿。
相比之下其他的算法:
- 运行速度随着检测物体的数量直线上升,而作者的方法运行时间和目标数量关系不大,保持稳定。
- 现存的一些算法都需要微调他们的结果,这样就导致了每个物体检测都超时了,作者不需要微调速度更快
但是:
作者的方法需要先验3D模型知识
作者Ideal来源
ta mu gong, o mu zi a
作者方法
没什么很新的方法,就把方法和训练写一起了
核心思想
用网络预测3D包围盒角落的射影的2D位置,这涉及到预测比2D包围盒回归更多的2D点。得到了2D的角落射影,再加上先验3D点信息,直接用PnP算法就是能求出6D位姿
Deep3Dbox只用了四个点,难道是预测的物体的中心点?再加上一些看似立体的、Deep3Dbox并没有预测的点?
算法流程
点的信息
用9个控制点参数化每个目标的3D模型,好处:
这几个参数能用在任意形状和拓扑的刚体上,九个点展开到2D图像很方便,而且对许多人造物体有语义意义。
咋还用这么多?八个不够吗,中心点有啥用
答:也不一定非要用9点法表示,也可以用其他方法
在这些点里面,选择紧凑的3D包围盒的八个角点来拟合3D模型。
第九个点当形心
有了形心是不是比较好判断方向?
网络结构
用全卷积加工输入的2D图片,如Figure 1 (a)
F i g u r e 1 ( a ) Figure\ 1\ (a) Figure 1 (a)
用的是v2的yolo,共使用23个卷积层和5个最大池化层,选择 S = 13 S=13 S=13。还允许网络高层添加转移层来使用fine-grained特征。从维度是 26 × 26 × 512 26\times 26 \times 512 26×26×512的层提取出了特征,卷积成 13 × 13 × 256 13 \times 13 \times 256 13×13×256后和 13 × 13 × 1024 13\times 13 \times 1024 13×13×1024特征图结合。
为了获得更精细的特征?很像残差,这样对预测小尺度物体有好处,是为了这个吗?
当网络的下采样用32因子的时候,就用32的倍数的分辨率作为图象输入 { 320 , 352 , . . . , 608 } \{320,352,...,608\} { 320,352,...,608},以此来增强对不同size物体的鲁棒性。
然后将图片分到2D规则网格 S × S S\times S S×S中去。
F i g u r e 1 ( c )