浅析CV下的无人驾驶技术

报告题目 浅析CV下的无人驾驶技术

1.概述:
2006年,Geoffrey Hinton老爷子针对传统的神经网络算法训练速度慢,面对多层Hidden Layer严重出现过拟合的现状,提出了无监督预训练对权值进行初始化+有监督训练微调的解决方案。从此,基于神经网络的Deep Learning开始活跃在世界科研前沿[1]。
而目前Deep Learning在工业上应用最广的前沿领域分别是:
1.CV:计算机视觉领域
2.NLP:自然语言处理领域
3.ASR:语音识别领域
4.Autopilot:自动驾驶其实也是CV的衍生领域
5.推荐:传统的推荐都是用GBDT+LR模型来做的,目前深度学习在推荐领域也得到了广泛的应用。
在深度学习算法的不断更新和计算机硬件的不断升级下,我们以前电影中所谓的无人驾驶汽车在计算机视觉技术下已经开始出现了眉目[2][3]。

2.无人驾驶技术相关技术介绍:
1.传感器
在无人驾驶中,车辆在行驶时需要实时地去感知周围的环境,包括行驶在哪里、周围有什么障碍物、当前交通信号怎样等等。就像我们人类通过眼睛去观察世界,无人车也需要这样一种 “眼睛”,这就是传感器。传感器有很多种,例如激光雷达、摄像头、超声波等等。
由于不同的传感器的数据格式有很大差别,所以也会有专门针对某种传感器数据设计的算法。例如有专门针对激光点云设计的障碍物检测模型VoxelNet[4]。
VoxelNet:将3D点云数据看做一个个的Voxel(立体块)进行处理。VoxelNet的网络结构分为三部分,分别为(1)特征学习网络(2)中部卷积层(3)RPN层,如下图所示。

图1.VoxelNet的网络结构模型
2.目标检测
由于摄像头数据包含丰富的颜色信息,所以对于精细的障碍物类别识别、信号灯检测、车道线检测、交通标志检测等问题就需要依赖计算机视觉技术。无人驾驶中的目标检测与学术界中标准的目标检测问题有一个很大的区别,就是距离。无人车在行驶时只知道前面有一个障碍物是没有意义的,还需要知道这个障碍物的距离,或者说需要知道这个障碍物的 3D 坐标,这样在做决策规划时,才可以知道要用怎样的行驶路线来避开这些障碍物。这个问题对于激光的障碍物检测来说很容易,因为激光本身就包含距离信息,但是想只凭借图片信息去计算距离难度比较高。
自2014年以后,目标检测的发展脉络如下图所示:

图2.目标检测的发展脉络
Focal loss[5]的公式:

其中:

其中γ为常数,且当其为0时,FL和普通的交叉熵损失函数一致。 γ不同取值,FL曲线如下:

图3 Focal loss不同γ曲线图

3.分割
分割技术在无人驾驶中比较主要的应用是可行驶区域识别。可行驶区域可以定义成机动车行驶区域,或者当前车道区域等。由于这种区域通常是不规则多边形,所以分割是一种较好的解决办法。
在无人驾驶中应用比较多的是语义分割。例如路面分割、人行横道分割等等。语义分割比较早期和经典的模型是 FCN[6]。FCN 有几个比较经典的改进,首先是用全卷积层替换了全连接层,其次是卷积之后的小分辨率 Feature Map 经过上层采样,再得到原分辨率大小的结果,最后 FCN 使用了跨层连接的方式。跨层连接可以将高层的语义特征和底层的位置特征较好地结合在一起,使得分割的结果更为准确。FCN 结构图如下所示:

图4.FCN 结构图
目前很多主流的分割模型准确率都比较高,但是帧率会比较低。而无人驾驶的应用场景中模型必须实时,尤其是高速场景下,对模型的速度要求更高。目前美团使用的是改进版的 ICNet[7],既保证了模型的运行速度,又保证了模型的准确率。

图5.ICNet模型结构
4.距离估计
对于距离信息的计算有多种计算方式:
激光测距,原理是根据激光反射回的时间计算距离。这种方式计算出的距离是最准的,但是计算的输出频率依赖于激光本身的频率,一般激光是 10Hz。
单目深度估计,原理是输入是单目相机的图片,然后用深度估计的 CNN 模型进行预测,输出每个像素点的深度。这种方式优点是频率可以较高,缺点是估出的深度误差比较大。
结构光测距,原理是相机发出一种独特结构的结构光,根据返回的光的偏振等特点,计算每个像素点的距离。这种方式主要缺点是结构光受自然光影响较大,所以在室外难以使用。
双目测距,原理是根据两个镜头看到的微小差别,根据两个镜头之间的距离,计算物体的距离。这种方式缺点是计算远处物体的距离误差较大。
3.业界相关进展及应用
目前业界开源的解决方案中比较成熟的是百度的 Apollo[8],包含了改进的 ROS 底层系统,以及无人驾驶中各个模块的实现。
除了 Apollo 之外,业界开源解决方案还有 Autoware[9]以及美团自研算法。
美团的自研算法参考了 Autoware 的这种解决思路,并做了很多改进。同样先将激光点转换到图片当中,这样我们就知道每个激光点打到了哪里。在得到每个 2D 框中的激光点之后,我们需要做一步聚类操作,这样可以过滤掉打到背景上的点,于是我们就得到了打到这个物体上的激光点。然后在三维空间中,我们可以拟合这些激光点,得到一个三维框,包含了物体准确的位置信息。
这种方法计算出的三维框相对比较准确,但缺点是对于远处较小的物体,由于打到的激光点太少了,难以拟合出合适的结果。具体效果如下图:

4.无人驾驶技术的未来前景和挑战
汽车的出现本身对人类社会来说有着非凡的意义,而无人驾驶车在普通汽车上融合了自动化技术、智能化技术以及互联网化技术等多种新型技术,对汽车产业来说更是一个重大的飞跃。无人驾驶技术的实现,可以解决很多交通问题,减少交通事故,为人们的生活带来便捷,是人类社会的一个重要发展方向。
同时,无人驾驶技术也有着很多技术和社会性方面的难题与挑战。包括汽车硬件的升级换代,深度学习算法的改进,社会交通规则的变更,目前特斯拉,华为,小米,苹果,美团等世界企业都将目光投入到了无人驾驶技术中。我们相信,未来的数年内,无人驾驶技术必将真正登上历史的舞台,并推动整个人类社会迈入新的科技纪元。
5.参考文献:
[1]http://gitbook.cn/gitchat/activity/5b91078c41c7575ca0d6441a
[2]张月月. 浅析无人驾驶中的计算机视觉[J]. 卫星电视与宽带多媒体,2019,(20):43-44.
[3]范志远,崔田田,王青松. 计算机视觉在无人驾驶领域的应用[J]. 数码世界,2020,(05):2.
[4]Harish S Gujjar. A Comparative Study of VoxelNet and PointNet for 3D Object Detection in Car by Using KITTI Benchmark[J]. International Journal of Information Communication Technologies and Human Development (IJICTHD),2018,10(3).
[5]Lin Tsung-Yi,Goyal Priya,Girshick Ross,He Kaiming,Dollar Piotr. Focal Loss for Dense Object Detection.[J]. IEEE transactions on pattern analysis and machine intelligence,2020,42(2).
[6]Long, Jonathan, Evan Shelhamer, and Trevor Darrell. “Fully convolutional networks for semantic segmentation.” Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.
[7]Zhao, Hengshuang, et al. “Icnet for real-time semantic segmentation on high-resolution images.” arXiv preprint arXiv:1704.08545 (2017).
[8]https://github.com/ApolloAuto/apollo
[9]https://github.com/CPFL/Autoware

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值