接上期。
这是在春节前我们介绍和分析的另外一个技术系列,是关于Elon Musk本人和Tesla相关部门的负责人在Tesla主办的2019年自动驾驶开放日上,所介绍的Tesla的视觉技术的基本原理和工作流程。
在这个系列中我们一直强调,Tesla所坚持的技术流派对于Vision视觉信息获取和分析的重视,以及对于通过Lidar直接获取外部场景结构化信息的轻视。这种在Tesla内部所形成的技术风格主导了Autopilot的算法、硬件配置,以及对于外部场景信息原始数据集的处理方式。开放日上,负责Tesla Autopilot神经网络算法的负责人,特意提到了Tesla是如何从单纯的Vision视觉信号中,提取结构化数据的(以Depth深度信息为主)。
从视觉信号中提取外部场景的深度信息(Depth),Tesla可以提供共三种方式:
-
Classical computer vision
-
Sensor supervision
-
Self-supervision
第一种方法是利用经典的计算机视觉技术,对于Tesla车身上多镜头获取的视觉信息进行处理之后,可以恢复出外部场景的深度信息。下图中展示了实际的案例,在旧金山街头,利用Tesla行驶过街头在六秒钟内获取的视觉信息,进行综合处理之后,可以获取如下图右侧所显示的立体视觉信息。我们理解这种对于车身各角度摄像头捕获的视觉信息,送到后台计算机进行综合处理之后,利用类似三角定位等计算机视觉技术,可以恢复出足够的深度信息。
但类似深度信息图形的丰富度和计算量必定成正相关。因此我们可以看到上图右侧(或者下图)的图形是一种稀疏状态的立体图形(下图中的车辆图案有不少细节损失),但对于关键道路路面上的各种障碍物和临近运动物体的位置估算,是足够的。
第二种方法综合利用Radar和Vision数据的深度数据获取技术。Tesla的终极目标还是希望视觉可以解决大部分的外界感知任务负荷,其识别的准确率和可靠性上,就好比人类的双目一样甚至更好。因此重要的不仅仅是类似人眼的摄像头性能,更需要关注的是对于图像信息进行识别的大脑——Tesla的神经网络。因此如何利用大数据对其进行训练就至关重要。
如下图所示,Tesla提供了一种比较实用的传感器数据互相借鉴和校准的方法:利用Radar准确的测距能力,来对落入Camera摄像头视野的所有可见物体目标进行测距,并将测距结果直接反馈给处理视觉信号的神经网络。因此,神经网络得到了低成本的、高实时性的大量标注好的样本数据,从而可以等到充分地训练而变得日益聪明和可靠。
在上图中我们可以看到,Tesla车辆的前向视像头是业内的四辆车辆目标,分别在自身车道和邻近车道运动。他们相对于主车的距离,被车载Radar精准测量得到后,数据被送给视觉信号测距的神经网络,则神经网络可以实时掌握每一辆车的图形大小和其相对位置的对应关系。
为了可视化的缘故,Tesla在这个算法当中采用了黄色圆点来表示相对驻车的距离远近。越远越小、越近越大,并随着距离的变化而实时变化。神经网络拥有了类似详细而准确的标注数据之后,其训练质量和收敛速度将会大大加快。
第三种方法,同样是针对视觉信息背后的神经网络的,而这种对于神经网络的训练方式,甚至不需要标注好的数据,因此是一种实现和部署成本更合理的Self-supervision(自我监督)强化学习的方式。
这种Self-supervision方法的结构如下图所示。Tesla利用了两个比较成型的神经网络结构,Depth CNN和Pose CNN。小编没有确切的数据,但是前者Depth CNN就是Tesla自己设计并维护一定训练强度的专有神经网络结构,这个自学习的神经网络整体设计正是为了修正并且验证这里这个DepthCNN的模型参数。基本原理如下:
首先,按照时间轴提取的每个时刻的图像被送入Depth CNN进行深度信息提取,并生成深度图,上图中的灰度图即代表了深度信息,其中越深色距离越远,越浅色意味着距离越近。但Depth CNN输出的深度信息是否正确,Depth CNN神经网络本身到底如何训练?这是Tesla所必须考虑的。
因此,Tesla又采用了一个比较成熟的Pose CNN算法来同时对当前时刻(It)和前后时刻(It-1和It+1)的进行6D的位置识别。所谓6D即是指外部场景中每个实际物体的相对于坐标原点的位置平移和旋转(6个维度),将识别结果和当前t时刻的任意一点的深度信息做横向对比。理论上,如果Depth CNN的输出深度信息是正确的,则t时刻和t-1时刻、t+1时刻的pose六维度位置信息对比应该是一致的(即维持consistent状态),因此可以判断Depth CNN的输出正确与否,从而在没有人工或者其他手段标定的前提下,仅靠两个各自独立的CNN神经网络即可以实现强化学习。
各位如果对于PoseCNN的工作原理感兴趣,可以参考互联网资料:https://www.cnblogs.com/skydaddy/p/11988429.html。这是简要介绍,因为Pose CNN是开源项目,因此还可以查到源代码。当然Tesla对其使用应该是有改进的。
综合以上三种方法,Tesla比较有把握宣称可以通过单纯的视觉信息和Tesla的其他传感器配合(比如Radar),可以恢复出足够好用的深度信息。在生活中一些典型的外部场景中,视觉信息无疑是最佳的信号获取手段和内容,Tesla认为以下四种场景为例,视觉信号无疑是最佳选择。
第一,路面的不明杂物,Vision信息可以识别出其位置和材质,而后者是影响自动驾驶决策的关键因素;第二,一个待转的自行车骑兽,Vision信息可以捕捉其身体和头部运动细节,从而判断其是否要转弯的运动趋势;第三,临时道路施工的施工内容,只有Vision信息才可以识别出交通管制下的具体绕行线路;第四,一个低速度行进的行人,Vision信息可以通过其手持物的判断,进一步分析其有可能的下一步动作。
车右智能
info@co-driver.ai
备注:
1 题图来自于互联网搜索;
2 插图123456皆来自于特斯拉自动驾驶开放日的公开宣讲资料。