前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自动驾驶kitti数据集 物体检测第一论文中文解读

自动驾驶kitti数据集 物体检测第一论文中文解读

作者头像
用户1908973
发布2018-07-24 17:13:48
9940
发布2018-07-24 17:13:48
举报
文章被收录于专栏:CreateAMindCreateAMind

https://zhuanlan.zhihu.com/p/25996617

(注:阅读笔记有很多自己的主观判断和解释,会有错误与误解之处,也在持续修改中,希望大家能够共同讨论进步,加深理解。)

一、研究背景及思路:

在2D图像物体检测任务中,RCNN、Fast RCNN、Faster RCNN以及刚发布的mask-RCNN等算法,对于单张图像物体检测均取得了较好的效果,对自动驾驶场景分析有着重要的作用,但是对于3D真实世界场景依然描述不够。

在自动驾驶中,除了能够检测车辆、行人、障碍物以外,对于其物体速度、方向的检测与定位也是非常重要的。在这篇论文中,作者实现了仅通过单张图像进行:

(1)精确的车辆区域检测;(2)车辆部件(如车轮、车灯、车顶等)定位;(3)车辆部件可见性检测(车辆部件在图像中是否可见);(4)车辆3D模板匹配及3D定位。

为了实现上述多重任务,作者充分利用了车辆几何特征,将几何特征与语义特征(卷积神经网络中多层次特征)进行结合,下面将对从各方面进行解析:

二、算法流程及各环节基本原理:

下图是论文的流程示意图:

Phase I : Deep MANTA Network

1、各符号含义解析:

论文第一个阶段是Deep MANTA Network,目标输出是:B、S、V、T。由于这篇论文采用了创新的研究思路,因此,有较多关于自定义变量的解释,如果不清晰界定各变量代表的物理含义,则无法理解网络的前后因果,所以,第一步,应该把作者对于相关符号的定义理解清楚。

(1)B :B 是box的首字母,表示物体边界框,在论文中有两种表示:2D物体区域表示、3D物体区域表示。

对于2D车辆边界框,使用四个变量进行表示:中心位置坐标(cx,cy),及边界框宽高(w,h),与Faster RCNN等物体检测方法定义边界框方式一致;

对于3D车辆边界框,使用五个变量进行表示:车辆中心位置3D坐标(cx,cy,cz),车辆方向θ,车辆实际长宽高t = (w,h,l)

(2)S :S 表示part coordinates,即物体关键部位(几何节点)的坐标,汽车的各部件节点如下图红色节点图所示:

我们可以通过这个节点图较为顺利的识别出车辆的基本形状与大小,能够较好地反映车辆信息。

同上,S也有两种形式,2D与3D,分别描述车辆关键部位在2D图像与3D真实坐标系中的坐标位置

(3)V :V 表示车辆各部件的可见性,这里作者定义了4 classes of visibility,分别是:

a. 可见:visible if the part is observed in the image

b. 被其他物体遮挡:occluded if the part is occluded by another object

c. 被自身遮挡:self-occluded if the part is occluded by the vehicle

d. 截断:truncated if the part is out of the image

我们可有效利用V,确定摄像机拍摄位置及车辆的3D坐标,因为只有在特定的位置观测,才能与V相符合。

(4)T:T表示模板相似性向量,3D template similarity vector,用以衡量图像中车辆与每个车辆模板的相似性,用rm = (rx, ry, rz)表示,分别对应着三个坐标轴对应的缩放因子。

上图第一行是车辆3D model,第二行是3D template,第三行是3D shape

2、Level 1 阶段 : region proposal network

首先,输入单张RGB图像,经过卷积层,得到Feature Maps,这个Feature Maps在Level 1、Level 2、Level 3阶段中共享。

在Level 1阶段,将Feature Maps送入卷积层+RPN(使用Faster-RCNN论文中的方法),可生成系列物体区域坐标集,用B1表示,原理与Faster-RCNN方法一致。

2、Level 2 阶段: first refinement

将ROI对应区域的特征图,经过ROI Pooling(Fast-Rcnn),生成固定大小的regions,经过两步卷积(Levell卷积层+level2卷积层),再经过re-fined by offset transformations,生成系列物体区域坐标集,用B2表示。

3、Level 3 阶段: second refinement

重复Level2,生成系列物体区域坐标集,用B3表示。

论文作者分析了采用这种三层网络的原因:(1)克服大的物体大小变化,提供更高的准确度;(2)保持高分辨率,用于检测难以检测的车辆;

作者原话是:This procedure differs than Faster-RCNN [33] in that our iterative refinement steps overcome the constraints of large object scale variations and provide more accurate detection. Furthermore, in our approach, ROI pooled regions are extracted on the first convolution feature maps for keeping high resolution to detect hard vehicles.

4、多任务预测/回归:Many-task prediction

对于B3中的每一个bounding box,同时输出其对应的:S,V,T,各符号含义在文章开头已经介绍。

这个环节比较神奇,作者也没有进行过多的描述,更是整篇论文的精髓所在。我在最初阅读论文的时候,无法理解网络为什么具有这么强大的功能,能够同时输出2D bounding box坐标B、2D 车辆部件坐标S、部件可见性V、车辆模型缩放因子T,那么它是如何实现的?这里给出我自己的初步理解,由于我缺乏网络训练实践,因此更多的形象感性的理解。

首先,回顾一下在Faster-RCNN中,如何输出bounding box的,如何利用卷积层中的特征,回归出物体边界框?

我们都知道,物体边界框可由其中心点及边界框高宽唯一确定。那么,在得到conv feature map的基础上,对于feature map中的一个像素点(如上图左边红色方框中蓝色中心点),选择某个anchor boxes(k个anchor boxes),如果我们回归出该anchor boxes与实际物体边界框的差别(两框中心点之差,以及两框形状之差,具体计算如下图公式所示),而anchor boexs的中心点坐标(上图左边红色方框中蓝色中心点)位置是已知的,我们就能计算出边界框坐标。

因此,上述“关于如何利用卷积层中的特征,回归出物体边界框”的问题,可以变为“如何利用卷积层中的特征,回归出该anchor boxes与实际物体边界框的差别”,这个问题我个人认为是Faster RCNN论文中的妙笔,这里我是这样理解的:

假设对于车辆而言,有低层特征与高层特征,这里不妨认为低层特征如边缘,高层特征如车轮、车灯、车窗,这些车辆的小零部件与车辆整体的相对位置一般是固定的,如人脸与人体的相对位置,所以这个参数变换是固定的。

正如上图所示,红色线框内为anchor box所在区域,它能够检测前车轮(车灯+车轮)特征,而这个偏移量对于大多数车辆来说都是固定的,因此,能够利用卷积层中的特征,回归出该anchor boxes与实际物体边界框的差别。思想感觉与DPM算法有一点点的联系。

4、Deep MANTA Training:

类别损失,在属于车辆区域的情况下,加上检测框位置回归损失,用位置差(两框中心点之差,以及两框形状之差)进行计算。

还有其他三个损失函数,定义也进行了详细的描述,这里只展示截图:

Phase II : Deep MANTA Inference

这部分实现了由2D坐标到3D空间确定的转换,用到了perspective-n-point-problem方面的计算机视觉基础知识,这方面还在继续学习,等深入理解以后再进行更新。

参考文献:

[1] Shaoqing Ren, Kaiming He, Ross B. Girshick, Jian Sun:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks. NIPS 2015: 91-99

[2] Florian Chabot, Mohamed Chaouch, Jaonary Rabarisoa, Céline Teulière, Thierry Chateau:Deep MANTA: A Coarse-to-fine Many-Task Network for joint 2D and 3D vehicle analysis from monocular image. CVPR 2017

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CreateAMind 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、研究背景及思路:
  • 二、算法流程及各环节基本原理:
  • Phase I : Deep MANTA Network
  • 4、Deep MANTA Training:
  • Phase II : Deep MANTA Inference
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档