盘点入门adas视觉方案
2017-03-20
摄像头是ADAS核心传感器,相比毫米波雷达和激光雷达,最大优势在于识别(物体是车还是人、标志牌是什么颜色)。汽车行业价格敏感,摄像头硬件成本相对低廉,因为近几年计算机视觉发展迅速,从摄像头角度切入ADAS感知的创业公司数量也非常可观。
这些创业公司可以统称为视觉方案提供商。他们掌握核心的视觉传感器算法,向下游客户提供车载摄像头模组,芯片以及软件算法在内的整套方案。前装模式下,视觉方案提供商扮演二级供应商的角色,与Tier1配合为OEM定义产品。后装模式里,除了提供整套设备,也存在售卖算法的模式。本文中将对视觉ADAS功能、硬件需求、评价标准等进行解析,在《【车云报告】adas视觉方案入门盘点(下篇)》内容中将参考Mobileye对国内11家供应商的产品进行详细解读。
视觉ADAS供应链体系一、视觉ADAS可实现功能
因为安全记录、停车等需要,摄像头在车上的大量应用是行车记录仪、倒车影像等辅助功能。一般通过安装在车身各个位置的广角摄像头采集影像,经过标定和算法处理,生成影像或拼接形成视图补充驾驶员视觉盲区,不用涉及整车控制,因此更加注重视频处理,技术已经成熟并逐渐普及。
目前在行车辅助功能中,摄像头可用来单独实现很多功能,并且按照自动驾驶发展规律逐渐演进。
这些功能更加强调对输入图像的处理,从拍摄的视频流中提取有效目标运动信息做进一步分析,给出预警信息或直接调动控制机构。相比视频输出类功能,强调高速下的实时性,这部分技术正处在发展上升期。
二、视觉ADAS软硬需求
视觉系ADAS产品由软硬件组成,主要包括摄像头模组、核心算法芯片以及软件算法。硬件方面考虑行车环境(震动、高低温等),大前提是要符合车规级要求。
(一)车载ADAS摄像头模组
车载ADAS摄像头模组需要定制化开发。为了适应车辆全天候全天时的需要,一般要满足在明暗反差过大的场合(进出隧道),很好平衡图像中过亮或太暗部分(宽动态);对光线比较灵敏(高感光),避免给芯片带来太大压力(并不是一昧追逐高像素)。
摄像头模组是基础。好比一张底子不错的照片才有修饰美化的余地,保证拍摄图像够用的基础上,算法才能更好地发挥效力。
另外在参数上,ADAS与行车记录仪对摄像头的需求不同。用于行车记录仪的摄像头需要看清车头周围尽可能多的环境信息(后视镜位置看向两个前轮,水平视角约要110度)。ADAS的摄像头更讲究为行车时预留更多判断时间,需要看得更远。类似相机镜头广角和长焦,两项参数不能兼得,ADAS在硬件选取时只能取其平衡。
(二)核心算法芯片
图像相关算法对计算资源有很高的要求,因此芯片性能讲究。如果在算法上叠加深度学习来帮助识别率提升,对硬件性能的要求只增不减,主要考虑的性能指标是运算速度、功耗、以及成本。
目前用于ADAS摄像头的芯片多数被国外垄断,主要供应商有瑞萨电子(Renesas Electronics)、意法开云棋牌官网在线客服(ST)、飞思卡尔(Free scale)、亚德诺(ADI)、德州仪器(TI)、恩智浦(NXP)、富士通(Fujitsu)、赛灵思(Xilinx)、英伟达(NVIDIA)等,提供包括ARM、DSP、ASIC、MCU、SOC、FPGA、GPU等芯片方案 。
ARM、DSP、ASIC、MCU、SOC是软件编程的嵌入式方案,FPGA因为对硬件直接编程,和嵌入式相比处理速度更快。
GPU 和FPGA并行处理能力强。图片这样的文本,尤其在使用深度学习算法需要多个像素点同时计算,FPGA和GPU会更有优势。两类芯片的设计思路类似,都是为了处理大量简单重复的运算。GPU的性能更强但耗能也更高,FPGA因为编程和优化都是直接在硬件层面进行的,能耗会低很多。
因此在平衡算法和处理速度,尤其是用于前装并且算法稳定时,FPGA被视为一个热门方案。FPGA是个好选择。但同时,FPGA对技术要求也很高。原因在于计算机视觉算法是C语言,FPGA硬件语言是verilog,两种语言不同,将算法移植到FPGA的人既要有软件背景,又要有硬件背景。在人才最贵的今天,是笔不小的成本。
现阶段可用于传统计算机视觉算法的车规级芯片有多种选择,但是适用于传统算法叠加深度学习算法的低功耗高性能芯片,还没有真正出现。
(三)算法
ADAS视觉算法的源头是计算机视觉。
传统的计算机视觉识别物体大致可以分为图像输入、预处理、特征提取、特征分类、匹配、完成识别几个步骤。
有两处尤其依赖专业经验:第一是特征提取。在识别障碍时可用特征很多,特征设计尤其关键。判断前方障碍物是不是车,参考特征可能是车尾灯,也可能车辆底盘投在地面的阴影等。第二是预处理和后处理,预处理包括对输入图像噪声的平滑、对比度的增强和边缘检测等。后处理是指对分类识别结果候选进行再处理。
科研中的计算机视觉算法模型运用到实际环境中,不一定就能表现得很好。因为科研得出的算法会增加诸如天气、道路复杂情况在内的条件限制,现实世界里除了关注复杂环境的算法表现,还要考虑各种环境下算法的鲁棒性(是否稳定)。
算法上比较重要的一个变化是深度学习的渗透。
深度学习让计算机模拟人类思考的神经网络,可以自己学习判断。通过直接向计算机输入标定后的原始数据,比如挑选一堆异形车图片,然后丢给计算机让它自己学习什么是一辆车。这样就可以免去计算视觉特征提取、预处理等步骤,感知过程可以简化为输入图片-输出结果两步。
业内比较一致的观点认为,在感知方面,深度学习将会弯道超车传统视觉算法。目前深度学习的算法模型已经开源,而且算法种类不多,因此有降低门槛大量优秀结果涌现的可能。但是受限于没有合适的车端平台,离产品化还有一段距离。
业内对深度学习在ADAS应用的看法都比较客观冷静。不少观点认为深度学习算法是一个黑箱(Blackbox)算法,类似人感性决策的过程,可以很快输出一个结果,很难在发生事故后反查原因,因此在使用深度学习时要加入理性决策部分,并且分区块设计。