视觉方案做ADAS,单目和双目到底有什么差别?
扫描二维码
随时随地手机看文章
目前视觉方案做ADAS既有双目也有单目,两者在距离检测上用了不同的技术路线,产品化时也存在各自优缺点,对此作者谈了谈自己的看法。本文作者姜安,为中科慧眼CTO。
ADAS功能的第一步是感知,也就是观察车辆周边负责的路况环境。在这个基础上才能做出相应的路径规划和驾驶行为决策。目前感知所采用的传感器包含各种形式的雷达、单目摄像头、双目摄像头等,或是由这些传感器进行不同组合形成的感知系统,而这些传感器件各有利弊,传感器融合是大势所趋。
在这其中,摄像头不可或缺,可以通过采集前方道路图像,实现车道线障碍物以及行人检测ADAS功能。关于ADAS摄像头选用有哪些讲究?单双目方案存在哪些差异?在此谈一谈我的看法。
ADAS摄像头成像哪些要求?
根据ADAS检测需要,摄像头在选择时需要具备下面2个特点:
一是要看得足够远。看的越远就能有更加充裕的时间做出判断和反应,从而避免或者降低事故发生造成的损失。这类摄像头关注的参数是焦距,焦距越长看的会越远。但是焦距越长,带来的问题是视角越窄,所以需要折衷考虑。
二是要求高动态。选用具有高动态范围的黑白相机,可以有效抑制光晕现象,并增强暗处的细节,从而提高成像质量。另外,彩色图像在镜头表面进行了镀膜,虽然提升了人眼的感知体验,但实际上降低了信噪比或者说信息量。这对后续的图像处理不利。
根据这些要求,很容易发现目前行业里的一种炒作现象。很多车上使用的智能硬件多是行车记录仪、云镜等产品,会在原来成像系统的基础上添加ADAS功能,其实只是厂家赚取噱头的方式。
因为行车记录仪的目的是记录车辆周边的状况,看的越清晰越好、越全面越好,即“人友好”。这就需要成像系统具有超高的分辨率、超好的色彩还原性、超大的广角镜头,视角增大意味着焦距的缩小。这与ADAS对成像系统的要求截然相反,ADAS要求的图像质量是“机器友好”,因此在行车记录仪的成像系统基础上开发ADAS功能是不切实际的。目前很多号称有ADAS功能的行车记录仪,一般都只有车道线检测这一个功能。有的虽然有别的如碰撞预警的功能,但是用户体验极差。
单/双目的测距原理区别
目前摄像头ADAS有单目和双目两种方案,两者的共同特点,就是通过摄像头采集图像数据,然后从图像数据上得到距离信息。ADAS一个很重要的作用是碰撞预警。碰撞预警需要关注距离的变化,需要估计即将碰撞的时间。有了距离测量,才会有距离变化,有距离变化才会有碰撞时间的估计,最后才会有预警。
单目摄像头的大致测距原理,是先通过图像匹配进行目标识别(各种车型、行人、物体等),再通过目标在图像中的大小去估算目标距离。这就要求在估算距离之前首先对目标进行准确识别,是汽车还是行人,是货车、SUV还是小轿车。准确识别是准确估算距离的第一步。
要做到这一点,就需要建立并不断维护一个庞大的样本特征数据库,保证这个数据库包含待识别目标的全部特征数据。比如在一些特殊地区,为了专门检测大型动物,必须先行建立大型动物的数据库;而对于另外某些区域存在一些非常规车型,也要先将这些车型的特征数据加入到数据库中。
如果缺乏待识别目标的特征数据,就会导致系统无法对这些车型、物体、障碍物进行识别,从而也就无法准确估算这些目标的距离。导致ADAS系统的漏报。
而双目检测的方式就是通过对两幅图像视差的计算,直接对前方景物(图像所拍摄到的范围)进行距离测量,而无需判断前方出现的是什么类型的障碍物。所以对于任何类型的障碍物,都能根据距离信息的变化,进行必要的预警或制动。
双目摄像头的原理与人眼相似。人眼能够感知物体的远近,是由于两只眼睛对同一个物体呈现的图像存在差异,也称“视差”。物体距离越远,视差越小;反之,视差越大。视差的大小对应着物体与眼睛之间距离的远近,这也是3D电影能够使人有立体层次感知的原因。
图中的人和椰子树,人在前,椰子树在后,最下方是双目相机中的成像。可以看出右侧相机成像中人在树的左侧,左侧相机成像中人在树的右侧,这是因为双目的角度不一样。再通过对比两幅图像就可以知道人眼观察树的时候视差小。而观察人时视差大,因为树的距离远,人的距离近。这就是双目三角测距的原理。双目系统对目标物体距离感知是一种绝对的测量,而非估算。
单/双目方案的优势与难点
单目的优势在于成本较低,对计算资源的要求不高,系统结构相对简单。其缺点在于必须不断更新和维护一个庞大的样本数据库,才能保证系统达到较高的识别率;无法对非标准障碍物进行判断;距离并非真正意义上的测量,准确度较低。
双目系统成本比单目系统要高,但尚处于可接受范围内,并且与激光雷达等方案相比成本较低;二是没有识别率的限制,因为从原理上无需先进行识别再进行测算,而是对所有障碍物直接进行测量;三是精度比单目高,直接利用视差计算距离;四是无需维护样本数据库,因为对于双目没有样本的概念。
双目系统的一个难点在于计算量非常大,对计算单元的性能要求非常高,这使得双目系统的产品化、小型化的难度较大。所以在芯片或FPGA上解决双目的计算问题难度比较大。国际上使用双目的研究机构或厂商,绝大多数是使用服务器来进行图像处理与计算的;也有部分将算法进行简化后,使用FPGA进行处理。目前,中科慧眼在芯片上的计算效率已经达到15fps,在FPGA+ARM架构上的计算效率达到了40fps。
另一个难点在于双目的配准效果。通过双目摄像头的图像配准可以计算生成表示距离的二维图像。下图是中科慧眼双目方案对实际场景信息采集与计算得到的距离的对应关系,不同饱和度颜色代表不同距离,从暖色调至冷色调为距离由近及远。在计算过程中,需要对噪点与空洞做很好的抑制。从右图可以看出,色调(距离)是平滑过渡,没有跳变。
△中科慧眼距离计算获得的二维图像
一些FPGA方案中有很多噪点与空洞,对后续计算不利,存在安全风险。对于小障碍物的识别,既要做到没有杂点和空洞,又要表现细节。否则比如一条横着的栏杆无法识别,会增加驾驶的风险。下面的图表现的是小物体和行人的探测上中科慧眼双目方案与国际上其他算法的对比。
△Our为中科慧眼算法小障碍物的双目配准效果,其它为国际流行传统方法的处理效果
小结
因为检测原理上的差异,双目摄像头在距离测算上相比单目有自己的特点,其硬件成本和计算量级的加倍,是难关也是突破口。就像谷歌自动驾驶汽车不断积累大量的经验和使用数据,才可能一步步积累实现自动驾驶。中科慧眼的双目产品目前完成了样机,也正在进行大规模路测。从产品理论技术原型走到真正被用户接受的产品,还有很长的路要走。