vlambda博客
学习文章列表

特斯拉图像识别原理阐述

来源 |  阿宝1990
知圈 |  进“电子电气群”请加微13636581676,备注架构

特斯拉图像识别原理阐述

特斯拉利用8个摄像头来识别现实世界中的物体。摄像头获取的图像包括行人、其他车辆、动物或障碍物,这不仅对特斯拉车辆驾驶员的安全很重要,对其他人也很重要。专利称,重要的是,摄像头能够及时准确地识别这些物体。

特斯拉图像识别原理阐述
特斯拉专利框

特斯拉图像识别原理阐述
特斯拉专利演示
 
从算法的代码层面来说,特斯拉把它们的深度学习网络称为HydraNet。其中,基础算法代码是共享的,整个HydraNet包含48个不同的神经网络,通过这48个神经网络,就能输出1000个不同的预测张量。理论上来说,特斯拉的这个超级网络,能同时检测1000种物体。完成这些运算并不简单,特斯拉已经耗费了7万个GPU小时进行深度学习模型训练。
 
特斯拉图像识别原理阐述

虽然工作量很大,但由于大部分工作由机器承担,特斯拉的人工智能团队仅由几十人组成,与其他自动驾驶公司数百人甚至数千人的规模相比,确实规模不大。
 
完成2D的图像还不算牛掰的,毕竟云端有超级计算机可以去训练,本地的芯片也是自己开发的,可以很好的匹配算法,特斯拉真正牛掰的地方,通过视觉完成3D的深度信息,并可以通过视觉建立高精度地图,完成一些底下停车场的附件驾驶场景。
 
特斯拉全车共配备了8个摄像头,一个毫米波雷达和12个超声波雷达,监测外部环境,向自动驾驶电脑实时传送信息。

特斯拉图像识别原理阐述
特斯拉车外传感器
 
简单来看,特斯拉的摄像头、毫米波雷达、超声波雷达以及惯性测量单元记录下当前车辆所处的环境数据,并将数据发送给特斯拉的自动驾驶电脑。自动驾驶电脑在进行算法的计算之后,将速度和方向信息传递给转向舵以及加速、制动踏板,实现对车辆的控制。
 
不过,在日常行驶过程中,摄像头作为传感器捕捉的内容都是二维图像,并没有深度信息。


特斯拉图像识别原理阐述

也就是说,虽然二维图像已经可以区分公路和路旁的人行道,但并不知道现在车辆距离“马路牙子”还有多远。由于缺失这样一个重要信息,自动驾驶的运算可能并不准确,操作可能出错。因此,捕捉或者建立一个三维的图景很有必要。
 
特斯拉使用三目相机的,它可以通过比较两个摄像头图像的差异判断物体的远近,获得物体的深度信息。通过中央处理器对输入图像进行感知、分割、检测、跟踪等操作,输出给导航网络端进行语义建图及匹配定位,同时通过目标识别形成相应的ADAS系统目标属性。
 
特斯拉还有更厉害的地方,那就是算法可以预测流媒体视频中每一个像素的深度信息。也就是说,只要算法足够好,流媒体视频更加清晰,特斯拉的视觉传感器所捕捉的深度信息甚至可以超过激光雷达。

特斯拉图像识别原理阐述

在实际的自动驾驶应用中,泊车入位和智能召唤两个使用场景下就能充分利用这套算法。在停车场行驶时,车辆之间的距离很小,即使是驾驶员驾驶,稍不留神也很容易出现刮蹭事故。对于机器来说,停车场场景的行驶更加困难。在预测到深度信息之后,车辆可以在超声波雷达的辅助之下,快速完成对周围环境的识别,车辆泊车就会更加顺利。
 
在完成深度信息的预测之后,这部分信息会显示在车机上,同时也会直接参与控制转向、加速、制动等驾驶动作。不过,转向、加速、制动这些驾驶策略没有固定的规则,有一定灵活性。因此,自动驾驶的驾驶策略没有最佳,只有更好。

怎么提高神经网络的算法效率:
 
为什么这么多厂家只有百度敢挑战视觉为主的辅助驾驶方案,不使用激光雷达,其中很大一个原因就是神经网络算法相当耗费芯片算力和内存资源,本地端的芯片要算力足够强大,对于神经网络的算法要有优化。

特斯拉图像识别原理阐述

对于神经网络来说,其实很多的连接并不是一定要存在的,也就是说我去掉一些连接,可能压缩后的网络精度相比压缩之前并没有太大的变化。基于这样的理念,很多剪枝的方案也被提了出来,也确实从压缩的角度带来了很大效果提升。
 
需要特别提出的是,大家从图中可以看到,深度学习神经网络包括卷积层和全连接层两大块,剪枝对全连接层的压缩效率是最大的。下面柱状图的蓝色部分就是压缩之后的系数占比,从中可以看到剪枝对全连接层的压缩是最大的,而对卷积层的压缩效果相比全连接层则差了很多。
 
所以这也是为什么,在语音的加速上很容易用到剪枝的一些方案,但是在机器视觉等需要大量卷积层的应用中剪枝效果并不理想。


对于整个Deep Learning网络来说,每个权重系数是不是一定要浮点的,定点是否就能满足?定点是不是一定要32位的?很多人提出8位甚至1位的定点系数也能达到很不错的效果,这样的话从系数压缩来看就会有非常大的效果。从下面三张人脸识别的红点和绿点的对比,就可以看到其实8位定点系数在很多情况下已经非常适用了,和32位定点系数相比并没有太大的变化。所以,从这个角度来说,权重系数的压缩也会带来网络模型的压缩,从而带来计算的加速。
 
这些都需要非常资深的软件算法团队去优化,同时需要懂得底层芯片的资源情况,而百度在人工算法这方面非常具有优势,所以有勇气去挑战视觉为主的自动驾驶 Apollo Lite方案。
 
百度表示,摄像头是相对成熟的传感器,除具备轻巧低成本和符合车规的优势外,高分辨率高帧率(成像频率)的成像技术发展趋势意味着图像内蕴含的环境信息更丰富,同时视频数据也和人眼感知的真实世界最为相似,但和三维点云数据相比,二维图像中的信息更难挖掘,需要设计更强大的算法、大量数据的积累和更长期的研发投入。