许晖
通常人们提起汽车的眼睛,很自然地会联想到汽车大灯。从象形学说来讲,这没毛病,然而伴随着自动驾驶技术逐步普及,“眼睛”已经愈发被指代为负责感知车辆外部环境的各种传感器了,譬如本刊于2018年初所刊登的《自动驾驶的天眼—激光雷达是个啥》一文为读者所介绍的激光雷达传感器。倘若非要在各种传感器之中选出最为贴合“眼睛”的一款,那么非摄像头传感器莫属了,因为其所记录下来的画面正是人类自身所见到的情景。不同衣着的行人、色彩变换的信号灯、蜿蜒曲折的车道线、种类多样的交通标识牌或车辆……感知变化多端的道路环境是自动驾驶中最为基础的任务。而以上的那些复杂交通物体,都可以通过摄像头来感知。在众多用于感知环境的传感器中,摄像头所记录下来的数据最为直接,日益精细的分辨率也要高出毫米波雷达或激光雷达两个量级,正因为其能带来更多维度、更细节化的信息,因此要想在复杂的城市道路中实现自动驾驶,摄像头是必不可少的传感工具。
计算机视觉识别技术需求最早可以追溯到1966年。人工智能学家、MIT教授马文·明斯基给他的本科学生布置了一道的暑假作业:“请诸位将一个摄像头与电脑相连,让计算机告诉我们摄像头看到了什么?”这道难题代表了计算机视觉几乎全部内容,用摄像头模拟人眼、计算机模拟人脑,然后让这套系统像人一样去感知周边环境。可以说谁也没有想到,视觉识别技术的起源居然因为一项大学暑假作业。
进入到七十年代,学术界对于计算机视觉的研究领域逐步收窄到一些特殊场景。当时的主流思想认为,人是通过物体中具有代表性的部分和结构来生成模板,然后将所看到的目标去和这个模板匹配来实现识别的。用古人所说的“窥一斑而知全豹”来形容还挺贴切。之后的十几年,行业重新回归到了一些更加基础课题的研究上,这段时期的积累对于未来目标识别技术的发展起到了至关重要的作用。
1990年以后,目标识别技术的发展进入了快车道,技术的演进也帮助目标识别走出实验室,进入人们的生活。法国科学家Yann LeCun教授开发的基于神经网络的手写数字识别系统成功应用到美国邮政和银行系统中。这个方法正是当下十分流行的CNN(卷积神经网络)的前身。1999年以色列大学教授Amnon Shashua创立了Mobileye,虽然当时并未引起广泛的关注,今日的Mobileye已然成长为无人驾驶领域最重要的玩家之一。
21世紀之后,计算机视觉领域不断取得革命性的技术进步。MIT的两位教授——Paul Viola与Michael Jones在视觉领域的最顶级会议CVPR上发表了一篇震惊业界的论文,文中所提出的方法成功将人脸识别算法实时化,使得视觉识别在一些对实时性要求较高的场景应用成为可能。
2006年以后,深度学习逐步受到追捧,它的最大优势在于能够让计算机去提取目标的特征。只要样本足够丰富,就能更为有效地克服角度多变、尺寸多变、光照复杂等影响识别的特征,Deep learning出现以后,对各种各样的视觉识别任务的精度都进行了大幅度的提升。这与我们的成语“触类旁通”又多么相似。
尽管目前目标识别技术已经发展得相当成熟,但想要其像人脑一样工作,除了需要解决感知层面的问题,还需要在认知层面做研究,让计算机理解它所看到的东西。幸运的是,如今学术界和工业界都在积极地推动计算机视觉技术白勺发展。
摄像头技术其实并不是什么新鲜玩意,但是从出现至今,经过近半个世纪的发展,其背后的视觉识别技术已经变得越来越精准、也越来越稳定成熟,这一切恰好也为它在无人驾驶领域的运用奠定了坚实的基础。在自动驾驶领域而言,基于摄像头技术而来的目标识别包含了三个层次的任务,由浅到深分别是:图像分类、边界框检测与像素标注。
通常而言,自动驾驶研发工程师们会依据各个传感器的特点进行算法设计,利用传感器采集的信息,对其进行时间轴对齐、匹配、可信度融合等操作,从而完成对周围环境的感知。基于这些环境信息,最终实现自动紧急制动、车道保持、车距监控等自动驾驶功能,从而提升驾驶的安全。
下面让我们以高级辅助驾驶中的车辆识别为例,来了解目标识别具体是怎样进行的。
这起事故的主因众说纷纭,并催化了事故后没多久特斯拉于Mobileye的全面分手,尽管双方各执一词,马斯特认为Mobileye阻碍特斯拉自行研发视觉识别系统,Mobileye则认为特斯拉的自动驾驶功能“越过了安全的底线”,令自己的视觉识别技术蒙。可现在回头看来主要的锅还是让视觉识别系统背了。这也难怪后来Mobileye被英特尔收购了。
塞翁失马,焉知非福,视觉识别系统的背锅对于后来自动驾驶领域的多传感器融合以及多系统冗余起到了极大的推进作用。譬如对于需要进化到自动驾驶的车辆,激光雷达是十分好的补充,不光对静止的目标,它对所有的障碍物都能清晰的检测出轮廓,而且它的探测距离也非常远。即使摄像头不能辨别,激光扫描器也会检测到障碍物而去制动车辆。而各式传感器的增加也能以互补长短的方式令自动驾驶解决方案日益健全。
自动驾驶技术所需的摄像头到底应该朝哪里看,以及看什么?也许不少人第一反应会是朝前看,侦测路面情况;而少部分思维更为缜密的会提出向后看以预警来自后方的威胁,甚至会觉得朝四面八方看全无死角就好。但能想到朝车内看的肯定不多。仅仅依靠判断驾驶员双手是否在方向盘上来断定驾驶状态是远远不够的。实际上许多车主可能会因为疲劳而眼睛飘忽或者精神放空。所以在目前的自动驾驶技术阶段。与其让车辆自己看懂车外路面情况,倒不如先让车辆看清楚座舱内是否有一个正常清醒的司机,让汽车了解司机的实时状态,清楚其对控制汽车的能力更为实际。只要一天无法彻底达到L4级别自动驾驶技术,那么驾驶员仍将是车辆最直接的“眼睛”,而实现这个功能最简单的办法就是在驾驶舱内安装以摄像头为基础的驾驶员检测系统(Driver Monitoring)。
DM系统是一种基于人体生理反应特征的驾驶员疲劳监测预警系统。目前从整体架构来讲分为直接检测和间接检测两类。相对于车外周遭环境识别的样本数据来说,DM系统识别相对数据量并没有如此巨大。为此已经越来越多王机厂将DM的功能列为ADAS系统之中的一项。而Tier One们也在不遗余力地提供全套系统,比如大陆集团所提供单目摄像机能够涵盖旋转头±60。的范围,艺术化图像处理技术能够识别驾驶员的头部姿势、视线和眼球运动。通过单目摄像机监测驾驶员是否存在分心驾驶和疲劳驾驶,这是通过一项处理眨眼持续时间和眼球运动速度的模糊逻辑实现的。当然,通过分析头部方向和眼球注视方向,判断驾驶员是否注意到人或物体(潜在的注意力分散)也是可能的。除了驾驶员疲劳监测外,该技术还能够进行驾驶员面部识别,比如通过识别驾驶员的面部分析出哪位驾驶者在驾驶车辆等,该应用受到共享汽车领域的青睐。
要看东西用一只眼睛就足够了,眯起一只眼看东西估计大家都能轻易做到,可从生物的进化历史而言,眼睛成对出现并非多余的,独眼观察的后果往往是缺乏应有的空间距离感,那么多一只眼睛能否看得更清?答案是必然的。也许针对车内情况监控所需的摄像头采用单目即可,毕竟车内空间并不大,适当可覆盖整个车内的摄像头便已经足够。可对于侦测车外路面的视觉识别系统来说,多少只眼睛才算够呢?仿佛也有着自己的进化发展一说。
市场上以摄像头为核心的视觉解决方案层出不穷,不但有以Moblieye为代表的单目摄像头技术,还有类似斯巴鲁为代表的双目摄像头技术,当然也少不了如国际主要Tier One供应商ZF采埃孚所推進的三目摄像头技术了。
目前,大多数图像算法的研究都是基于单目摄像开发的,不仅开发成本低,算法的成熟与稳定程度也远胜过其他视觉解决方案。不过在测量范围与测量精度万面,单目摄像头却难以实现平衡。摄像头的探测范围越广,探测的距离就越短,好比人眼看得越远时,视线范围也就越窄。同时,单目摄像头在精度万面也有先天缺陷,由于摄像头无法像人眼一样,根据物体的距离与大小自由变焦,越远的物体,成像就越小,仅仅几个像素点所能描绘出的物体,识别精度自然不高,单目摄像头的探测据离也就限于200米之内。为了克服单目摄像头的缺点,一些公司选择了双目乃至多目摄像头作为解决方案。双目摄像头是通过拍摄同一场景下左右两幅图像,再运用立体匹配算法获取视差图,进而获取深度图。
更高级的解决方案如采埃孚与Mobileye合作研发的Tri-Cam摄像头车辆摄像头系统。举个简单的例子,众所周知的鹰眼能够在约350米外发现小如老鼠的猎物。但是,在公路交通中,如此高的精确度带来的更多是麻烦而不是帮助。在这种情况下,宽视野与良好分辨率的结合更为重要,尤其是与行进方向呈直角的时候。作为采埃孚S-Cam4家族的下一代产品,Tri-Cam摄像头使用了三镜头,专为支持高级自动驾驶功能而设计。这款第四代摄像头物体探测范围和视场更广,可以满足对高级驾驶员辅助系统技术日益严格的法规要求。Tri-Cam增加了一个长焦镜头使其传感距离更远,而鱼眼镜头则改善了短距离探测。这样的组合能够更好地为自动驾驶功能(比如高速公路驾驶辅助和交通拥堵辅助)提供支持。S-Cam4系列配置的摄像头都配备了Mobileye的EyeQ4芯片以及物体识别算法,并结合采埃孚的横向与纵向控制算法,进一步增强了其在高级驾驶辅助系统和半自动驾驶应用中的性能。因此能够更好地识别靠近的物体。上述传感器系统与动物界的感应高手相比有一个重大优势:它们不限于单一技术,而是可以依靠多种集成的传感器系统。雷达、激光雷达和摄像头系统可以互补所长,从而覆盖每种可以想象到的交通状况。安装所有这些系统的车辆具有360度全万位视野。要知道,即使动物界中具有最宽视野的记录保持者变色龙,也“只”能够将眼睛旋转342度。尽管隆起的眼睛能够独立移动,这种动物仍然有头后18度的小小盲区。
相比单目摄像头,双目摄像头的精度更高,而多目攝像头更有过之而无不及。同时,摄像头融合得越多,对芯片的要求也更高、计算量更大,这这使得双目乃至多目系统的产品化、小型化的难度较大,成本也显著高于单目系统,因此目前币场上大多数视觉解决万案仍然以单目为主。不过既然提到了多目系统所需要的庞大计算量,就有必要提及地平线公司了。在感知计算领域它们可算玩出了花,地平线面向智能驾驶,推出了征程(Journey)系列嵌入式人工智能视觉芯片,成为中国最早实现量产的人工智能芯片,该芯片具备同时对行人、机动车、非机动车、车道线、交通标志牌、红绿灯等多类目标进行精准实时检测与识别的处理能力,可以用于L2级别的高级驾驶辅助系统(ADAS)。同时地平线为之进一步研发了Matrix自动驾驶计算平台。利用地平线Al加速IP最大化了嵌入式Al计算性能,可支持激光雷达、毫米波雷达的接入和多传感器融合。以视觉感知能力为例,该平台能够基于稀疏化和定点化神经网络实现8类不同类型物体的目标检测和多达25类像素级语义分割。有助于预测和深度估计的三维车辆检测,能够更好地理解复杂场景,可轻松应对高度遮挡,且需快速响应场景下的自动驾驶。而在保证高性能的前提下,其可在31W的低功耗下运行,无需水冷系统,满足了高性能和低功耗的行业应用级需求,非常适合嵌入式自动驾驶的应用和产品化。
2018年中,自动驾驶开始回归理性。在L4级别以上的自动驾驶遇到了不小的技术瓶颈、市场前景不甚明确的当下,以完善基于摄像头的视觉识别技术为基础,结合对高精度地图、驾驶策略方面的研究,不断探索更高阶的自动驾驶技术,不失是一种更为现实和理智的选择。