无人车为什么一定要用激光雷达做,双目视觉难道不行吗?

作者认为双目视觉是未来发展的方向,相比激光雷达会有很多优势。
视觉可以,而且本来也应该是未来的发展方向。而激光雷达的若干缺点使得它很难成为主传感器。

在自动驾驶汽车上使用激光雷达始于 Sebastian Thrun ,此人在十几年前DARPA的自动驾驶挑战赛中一路高歌猛进的拿冠军。其早期建立优势就是开始于激光雷达。具体的讲是基于机械扫描激光雷达,制造商为velodyne。

后来Sebastian Thrun的团队被Google收购,开发了Google自动驾驶汽车,其思路也是基于机械扫描激光雷达。

Sebastian Thrun在那个时代使用激光雷达的原因也相对好理解,毕竟十几年前的深度学习尚不成熟,导致靠人类进行特征工程做的计算机视觉,在效果上提升有限。计算能力上,CUDA尚未发布,也没有足够的计算能力。而彼时的激光雷达输出的图像直接就是深度图,无需复杂计算就可以用于避障和路线规划。于是之后若干团队做的自动驾驶汽车大多是基于激光雷达的。

但是激光雷达也有一些先天的缺点,导致了并不是一个做自动驾驶很合适的方案(如下基于velodyne 64线激光雷达的数据):

  • 探测距离:当前Velodyne的64线激光雷达有效探测距离为120米,360度,在车载计算机反应速度足够快的情况下,预留的刹车反映时延也还是太小;相对来说,人的眼睛发现几百米远的车道上威胁是很容易的。
  • 探测精度:激光雷达的工作方式也是离散的,记得在120米距离上垂直和水平分辨率已经是0.3-0.5米的级别,意味着在这个距离上站着的一个人是有可能被激光雷达忽视的,只有到了更近的距离,才能被扫描发现。
  • 扫描频率:Velodyne 64的最高扫描频率只能达到15Hz,相当于视频帧率的15fps,而且因为是360扫描,加上数据缓存和回传的时间,这个时延是很恐怖的,根本无法让自动驾驶汽车提高行驶速度,在120公里时速下,单单1帧扫描的时间就可以让车辆行驶出去2.222米;而同期的工业摄像头,被用在汽车上的通常是120Hz起的,上1000Hz的摄像头也不难买到。
  • 镜面黑洞:激光雷达依靠反射激光的时延来探测每个点的距离,但如果扫描的物体反射能力较好且不是正对激光雷达,就会导致此处探测不到反射的激光,对激光雷达而言,这就是个距离无限远的黑洞;同时对雪、雾天气的激光反射而言,返回信号就是一大堆噪点。
  • 寿命毕竟是整天露在外面不断旋转的光学设备,这寿命不难想象。
  • 变态的价格:一年多前我所接触的Velodyne 64,出厂价格7万美元,到中国是10万美元左右。

这些问题的优先级是不一样的,最重要的镜面黑洞问题,导致了激光雷达几乎不可能作为主传感器应用在自动驾驶汽车上。所以大家可以仔细想想,至今所有使用激光雷达的自动驾驶原型车的测试环境都是选择在全年天气晴朗,没有雾,基本不下雨雪的地方。特别是雨,本身就会干扰激光雷达的回波不说,路上的积水坑对激光雷达也是镜面,也会被认为是个无限远的黑洞。试问对雨雪天气比人还敏感的自动驾驶汽车,在应用时会带来多大的困扰?
 
再细谈价格,很多开发自动驾驶技术的公司,都在用的三大件是:激光雷达、毫米波雷达、差分GPS。这三大价的总价就过100万人民币了。问题是就靠这价格想作出自动驾驶汽车根本不现实,毫米波雷达在过去几年降价较快,量产货用于自动巡航和防碰撞的可以降低到1万人民币以内了。差分GPS原则上可以用普通GPS凑合。但激光雷达真是一直都雷打不动的价格,成了自动驾驶汽车的重要价格门槛。

为了解决机械扫描激光雷达的若干问题,比如价格昂贵、机械扫描寿命等问题,我所知也有数十甚至可能有上百家公司在其他的替代品。比如高端的固态激光雷达,利用多种原理来让发射激光时,就能实现可控的偏转。但直径此类产品还没见实际部署到各个自动驾驶公司的例子。可见也是一块硬骨头。

反之还有些关键问题也不是能解决的,比如探测距离和镜面黑洞问题。提高发射功率可以提高一点此类性能,但是激光雷达毕竟是平着扫描周围空间的,必须要确保不能伤害到附近人的眼睛,所以发射功率上就被限制死了。想要提高探测反射激光的灵敏度,则会受到地面其他物体本身发射的红外光,以及空气散射的干扰。Voledyne在过去几十年间做了不少军用的激光雷达,用在军用飞机上来扫描地面的,这类激光雷达的发射功率可以不受限制,而且也不是平着扫描,所以取得了较好的效果,但毕竟没法直接转换到车辆上使用。

再说说视觉。靠视觉做自动驾驶不一定非要用双目视觉的。以色列的mobileeye就是基于单摄像头,以及机器学习来实现了判断障碍物距离,可以认为是Structure From Motion+机器学习。双目在应用中也有不少难处,但总的来说,探测距离、探测精度、扫描频率、镜面黑洞、寿命和价格,这6个重要的方面可以说是完胜激光雷达。在一些自动驾驶汽车公司里使用的USB3.0工业摄像头,实现1080p甚至4k分辨率,120fps的也不难,也就小几千元的级别。可以安装在车内,无需像激光雷达那样暴露在车外,没有移动部件。即便是装两个也没多少钱。

双目视觉的难点在与匹配计算,所以在尝试用双目视觉的公司,往往都少不了开发高性能的双目合成。算法上可以优化的空间已经很小了,所以在GPU、FPGA、ASIC的角度去实现双目合成则成了重点。双目视觉的baseline决定了可以在多远的距离内判断物体的深度数据。通常人眼的baseline是8cm左右,依靠双目有效判断的深度距离是2米左右。而在汽车上,前挡的距离在1.5米左右,这就使得可以有效利用的baseline大了很多。同时人类和CV也可以靠Structure From Motion来判断距离,这才是判断更远距离深度的重要手段。依靠深度学习,也能依靠标注常见物体的尺寸和摄像头的内参数矩阵,来判断物体的距离。

这里最关键的两点,一是摄像头有大量可选,二是摄像头足够便宜。这两者决定了,在自动驾驶汽车上,基于摄像头的计算机视觉是更有前途的方案。

利益相关:前DeepGlint工程师,参与过自动驾驶项目,后来项目组独立出去成立了uisee。现在从事工作与自动驾驶无关,如上内容没有泄密。

如下视频是我还在做自动驾驶时,由我改装的遥控车,一辆6人座高尔夫球车:

 
 
 

参与评论

提示

需求登记

×
需求类型
我的需求
内容需在50-300字之间
姓名 名称需在2-6字之间
手机号码
发送验证码 手机号码格式不正确
手机验证码
免费提交需求