10

Deep Manta:单目图像下2d到3d由粗到精的多任务网络车辆分析

 3 years ago
source link: https://mp.weixin.qq.com/s/TETOwHpj5ckAM3kCHK2jqg
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Deep Manta:单目图像下2d到3d由粗到精的多任务网络车辆分析

Original Oliver Cui 3D视觉工坊 2019-11-27
收录于话题
#深度学习&自动驾驶

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

外文原文:Deep manta: A coarse-to-fine many-task network for joint 2d and 3d vehicle analysis from monocular image

1、算法思想

提出 Deep Many-Tasks 方法来对一个图片进行多任务车辆分析,包括车辆检测,部分定位,可见性描述和 3D维度估计。

论文的主要贡献包括三个方面:

1、使用图像车辆的特征点来编码 3D 车辆信息。因为车辆具有已知的形状,可以用单目图像重构 3D 车辆信息。我们的方法还可以在车辆部件被遮挡,截断等情况下定位到车辆部件,使用回归的方法而不是 part detector. 预测 hidden parts 的位置对 3D 信息的恢复很有帮助。我们使用一个 3D vehicle 数据集,由具有真实维度的 3D meshes 组成,即具有 3D 框的数据集。每一个 3D model 都有一些顶点,对应于车轮等部件,对每一个 model 来说,这些顶点组成了一个 3D shape. 这个方法的主要思想是在 input image 中恢复这些 3D points 的映射。2D/3D matching 在 2D shape 和选择的 3D shape进行,以恢复车辆的方向和 3D location.

2、Deep Coarse-to-fine Many-Task 网络。首先使用 RPN 网络产生 corase 2D bounding box,之后迭代产生精细化 bounding box. 六个任务共享特征向量:region proposal , detection , 2D box regression , part location , part visibility , 3D template prediction.

3、使用 3D models 来生成 image 的标签

640?wx_fmt=png

2、网络结构

640?wx_fmt=png

上图即是本代码所用的网络,主要包括PhaseI,Phase II。

Phase I 一共分为Level1、Level2、Level3三个层次。Level1是RPN层,负责2d box的推荐,Level2是对Level1推荐的box进一步进行微调,Level3是基于Level2和共享特征进一步回归出五个模块,分别是2D box regression、Classification、Parts coordinates、Parts visibility、Template similarity五部分,下面将会逐渐介绍这些部分。

2.1 2D box regression 和 Classification

这里的2D box regression和classification和普通的物体检测网络相似。

2.2 Parts coordinates

这是特征点坐标,其实在这里可以这样理解的,一个车被定义了有36个特征点,这个数量是作者在论文中定义的。这个分支部分主要预测ROI 区域内的36个特征点在二维图像上的坐标。

640?wx_fmt=png
640?wx_fmt=png

2.3 Parts visibility

2.2预测出了每个特征点在二维图像上的坐标,但是不能保证每个特征点是否可见,parts visibility正是判断每个特征点是否可见,这样可以最大程度上还原车辆真实遮挡情况。

2.4 Template similarity

这个是模板相似性,线下的模板库中一共有103个model,每个model的3d box的长宽高已知,这里的Template similarity其实就是预测出的3d box的长宽高的相对值,在这里,比如以1为单位,预测出的w、h、l值可能为0.3,0.5,1, 那么就可以在数据库中找到一个模型,w、h、l的比值和这个最相似,那么就把改模型确认为检测出的模型。

注意:因为实际道路上的汽车模型本身就那么多,数据库现有的103个模型已经基本上覆盖到了各种各样的模型了,所以基本上可以查找出。

2.5 Phase II

这里的Phase II其实就是对Phase I产生的结果进行计算,最终输出3D box和特征点的3d 坐标。2.4节已经讲到,通过Template similarity可以找到对应的模型,这个模型的标签有3d box大小、坐标、角度、以及36个特征点的坐标。

(cx; cy; cz; θ; t) is the 3D bounding box characterized by its 3D center (cx; cy; cz), its orientation θ and its 3D template t = (w; h; l) corresponding to its 3D real size.

(xk; yk; zk) is the vehicle 3D part coordinates in the 3D real word coordinate system.

这样,我们可以得到计算出的模型是哪个,世界坐标系下的3d box的长宽高是多少,特征点在世界坐标系下的坐标。采样时,其实已经知道某个模型相对于相机坐标系下的姿态,该模型在2d姿态下的对应特征点坐标也已经知道。

假定模型在制作的时候,相对于拍摄相机坐标系的变换关系为R,T,实际计算时的相机坐标系为R1,T1,那么给定二维对应点坐标和三维对应点坐标,剩下的就是PNP求解了:

[x,y,1]=K*[R,T]*[X,Y,Z,1]*[R1,T1]

这里有只需要求解出R1和T1即可,一共36个特征点,遮挡的特征点可能不能直接用,但是只需要求解出三个旋转量,三个平移量,理论上只需要6对特征点即可,即保证6对不受遮挡的点即可。这个在大多数情况下都可以得到保证。R1、T1求出后,检测出的汽车在相机坐标下的所有参数都迎刃而解。

上述内容,如有侵犯版权,请联系作者,会自行删文。

交流群

欢迎加入我们公众号读者群一起和同行交流,目前有3D视觉深度学习激光SLAM、VSLAM、三维重建、点云后处理、图像处理、手眼标定、自动驾驶、位姿估计等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。

640?wx_fmt=jpeg

知识星球

学习3D视觉核心技术,扫描查看详情,3天内无条件退款

640?wx_fmt=jpeg

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

原创不易,希望可以随手转发或点“在看”,你们的认可是我们最大的动力!

640?wx_fmt=png你点的每个赞,我都认真当成了喜欢

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK