刚刚的国产Model Y试驾所见,其内后视镜背面空空如也,并没有搭载之前Model 3曾有的三目摄像头。
我们还是先看看什么是立体视觉(StereoVision)技术吧。
原理并不复杂
早在1838年,物理学家惠斯登(Wheaston)发明了实体镜,让人们第一次知晓了立体视觉这一全新的深度知觉现象。1861年,美国人史高维(Scoville)利用两个镜头仿照人体两眼前的距离同时拍摄,发明了早期的立体摄影。其仿生的就是人眼三角测距。
立体视觉是计算机视觉的一个重要模块。人类之所以能看到各种物体,得益于我们的视觉系统。在发现了单目系统的缺陷之后,从一个摄像头增加到两个摄像头,就构成了一个立体系统。如果可以在两幅图像中找到对应点,就可以通过三角测量的方法来求得深度。
基于此,人们发明了用来测量距离的双目摄像头。近年来,伴随计算机和自动驾驶(AD)技术的发展,立体视觉已用于车辆的目标感测和识别应用。
立体视觉原理
立体视觉处理是将世界从2D平面转换为全3D环境,不仅提供了更丰富、更密集的目标场景表示,还允许感测系统在未经训练的情况下识别一般障碍物,使仓库机器人、自动驾驶车辆等的导航更安全、更有效。
早在1996年,德州仪器(TI)就在《用多个DSP实现快速3D视觉》的应用报告中描述了一个具有移动机器人引导和自动车辆导航的立体视觉过程。
3D信息任务分配和数据传输
报告指出:“立体视觉过程通过在不同位置获取两幅图像,并研究相应立体点位置的差异来确定物体的距离。各种技术已经发展到从一组亮度图像推断3D信息的阶段。立体视觉的技术,特别是它能够在各种照明条件下和大深度范围内工作更适合测距应用。”
自动驾驶应该百密而无一疏
自动驾驶的一项基本任务是环境感知,即在行进中解释不断变化的3D世界。车辆要使用一些方法来了解和响应周围环境,尤其是在运动中实现深度感知。如果路上的物体是陌生的怎么办?也就是说,如果系统没有被训练就去识别路上的特定障碍物就会出现偏差。
实现自动驾驶的传统方法是结合使用深度传感技术:LiDAR和雷达是最常见的(与全球定位系统(GPS)配合使用,再加上极其精确的地形图)方法。对摄像头数据进行深度估计在业界也很流行,但是,顾名思义,这种技术提供的是距离估计,而不是精确的测量。而立体摄像头能够精确地测量距离,为自动驾驶应用提供显著的优势。
再看看特斯拉是怎么做的?去年,特斯拉收购了研究高效DNN(深层神经网络)的计算机视觉初创公司DeepScale,希望能够沿着视觉算法这一技术路线图,继续推进自动驾驶技术的落地。之后,特斯拉Autopilot 2.0实现了利用摄像头训练数据改进的限速识别算法,以提高高速公路限速数据的准确性。特斯拉一直在用神经网络计算机来加强算力,也一直在用几个摄像头观测场景的数据来训练神经网络。训练者,难免百密而无一疏。
护栏属于“未知物体”,失误在所难免
致力于汽车智能化和轻量化产品的研发和制造保隆科技视觉产品总监孙路认为,特斯拉将增强型自动驾驶辅助系统提供给用户后,本地用户便“心甘情愿”地通过众包形式无限训练车辆,通过采集大量数据进行大量训练,其方案结合几何与网络测距方法,适用于网络调参,来增强模型的拟合能力,方案价格略高一些。
他指出:“但单目自身存在的问题不能完全杜绝,穷举法不可能完全覆盖,特斯拉仍然会出现一些场景的操控失误风险;而双目具有一定技术门槛,不易实现高性能指标,行业还没有专用芯片,目前普遍采用FPGA,工艺难度高。此外,结构精度要求高,耐久性、一致性、温度适应性要求也高。需要自动校准(AA)算法、静态标定算法保存内参等,投入很大。”