自动驾驶技术绝对算得上是当今的黑科技之一,而且正在改变我们的生活。特斯拉的自动驾驶技术已经完全抛弃激光雷达,采用纯摄像头方案,通过车身周围安置的8个摄像头感知外界信息,实现自动驾驶。我们都知道,雷达可以用来测距,从而判断障碍物离汽车的距离。那没有了激光雷达,自动驾驶的汽车如何测距?其实就是通过摄像头测距的。基本原理很简单,我们靠双眼可以大致判断物体的距离,摄像头测距的原理也类似,不过会更加精确。用得最多的,也是可靠性很高的是双目测距,就是用两个摄像头实现测距的。如图一所示,我们看到A,B两个点代表左光圈中心和右光圈中心,两个光圈中心的距离是已知的,焦距也是知道的,目标物点E的左右成像点分别是M、N,目标物所处的位置不同,点M、N的位置会随之而变,不过MF和GN的长度是系统自己能够测到的,我们的目的是求E点到基线的距离d。根据相似三角形的性质,很容易求出来。
图一
你可以花十秒钟的时间看这两个计算式子,就明白了。这就是双目摄像头测距的基本原理,当然实际的系统要复杂得多,有很多环节需要处理。这种方法的测距误差和很多因素有关,比如摄像头的分辨率等等,但是总体而言,都可以做到很高的精度。其实对自动驾驶摄像头测距精度影响更大的,是障碍物识别,一般来说,识别到障碍物之后才会去计算距离。下个视频我们介绍自动驾驶的另一个基础技术,基于卷积神经网络的物品识别。