摄像头是ADAS核心传感器,相比毫米波雷达和激光雷达,最大优势在于识别(物体是车还是人、标志牌是什么颜色)。汽车行业价格敏感,摄像头硬件成本相对低廉,因为近几年计算机视觉发展迅速,从摄像头角度切入ADAS感知的创业公司数量也非常可观。
这些创业公司可以统称为视觉方案提供商。他们掌握核心的视觉传感器算法,向下游客户提供车载摄像头模组,芯片以及软件算法在内的整套方案。前装模式下,视觉方案提供商扮演二级供应商的角色,与Tier1配合为OEM定义产品。后装模式里,除了提供整套设备,也存在售卖算法的模式。
本文中将对视觉ADAS功能、硬件需求、评价标准等进行解析,在《【车云报告】ADAS视觉方案入门盘点(下篇)》内容中将参考Mobileye,对国内11家创业公司的产品进行详细解读。
视觉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)算法,类似人感性决策的过程,可以很快输出一个结果,很难在发生事故后反查原因,因此在使用深度学习时要加入理性决策部分,并且分区块设计。
也有观点认为传统计算机视觉算法比我们想象的“智能”,在不断寻找车辆图片共性和差异的过程中,也能检测出一些异形车辆。并且在叠加深度学习算法后,传统计算机视觉算法也可以帮助减少深度学习神经网络的层数,简化算法。
可以肯定的是,无论哪种算法,数据都是用来训练测试的宝贵资源,而且不是单纯的越多越好,而是越有效越好(符合实际用车环境并保证多样化)。
(四)不同摄像头平台
单目和双目
视觉方案要完成ADAS任务,一般要实现测距(本车与前方障碍物距离)和识别(障碍物是什么)两项工作。按照车载摄像头模组的不同,目前主流ADAS摄像头可以分为单目和双目两种技术路线。
单目摄像头的算法思路是先识别后测距:首先通过图像匹配进行识别,然后根据图像大小和高度进一步估算障碍与本车时间。在识别和估算阶段,都需要和建立的样本数据库进行比较。想要识别各种车,就要建立车型数据库,想要识别麋鹿,就要建立麋鹿数据库。
双目摄像头的算法思路是先测距后识别:首先利用视差直接测量物体与车的距离,原理和人眼类似。两只眼睛看同一个物体时,会存在视差,也就是分别闭上左右眼睛看物体时,会发现感官上的位移。这种位移大小可以进一步测量出目标物体的远近。然后在识别阶段,双目仍然要利用单目一样的特征提取和深度学习等算法,进一步识别障碍物到底是什么。
因为视差越远越小的缘故,业内有观点认为,双目在20米内有明显的测距优势,在20米距离外,视差减小测距存在难度,可以用高像素摄像头和更优秀的算法来提升测距性能,该处是难点也是核心竞争力。
双目镜头间距和测距是两个此消彼长的参数,镜头间距越小,检测距离越近,镜头间距越大,检测距离越远。考虑车内美观和ADAS需要,小尺寸远距离双目产品更受欢迎。
因为增加了一个镜头,带来更多运算量,整个摄像头模组的性能要求和成本都更高了。而且在两者都有的标定工作上,双目要比单目更加复杂。
而且选择双目方案切入市场并不能完全绕开单目方案的难点,在第二个阶段,你依然要需要一个庞大的数据库,依然需要打磨算法。
单双目比较
多摄像头方案
除了单双目之外,还有多摄像头组成的平台。有的方案中选用长焦和广角摄像头于ADAS主摄像头配合,兼顾周围环境与远处物体探测。比如Mobileye方案,在下文会介绍。
也有在环视平台上叠加ADAS功能的情况。例如对于环视做车道偏离预警(LDW),与单目实现该功能比有一定优势。在大雨天气或者前方强光源的情况下,前视摄像头有可能看不清车道线,环视摄像头斜向下看车道线且可以提供多个角度,基本不会受到地面积水反光的影响,功能可以比前视做得更稳定。但同时也要考虑侧向无车灯照射时,摄像头的夜间表现。
这几种方案在技术路线上和单目没有本质差别,更多是基于不同平台,发挥不同类型摄像头模组的优势分配任务,或者提供更多视角来解决一些复杂环境中单目势单力薄的情况。
目前没有统一的ADAS测试评价标准。常规的测试一般分为两个阶段:
在算法库测试,库中包含了各类工况下收集的行车场景视频,通过用库中的场景视频跑分,测试算法识别率。目前测试库由各家自采自测,因为采集所用的传感器不同,不同企业间的测试单看结果没有可比性。
由德国卡尔斯鲁厄理工学院和芝加哥丰田技术研究所联合创办的KITTI,是国际上权威性较高的机动车辅助驾驶应用技术评估的算法评测平台。目前有部分公司在该网站测试算法,结果公开可查。不同公司跑分的用时存在差异,因此在看结果排名时,也不能忽略多个参数比较。
在实车测试阶段,将产品DEMO安装到车上测试,根据漏报、误报判断算法可靠性,对发现问题进行反复调试。现阶段高质量的实车测试大多由主机厂和零部件供应商掌握,准确测量需要借助激光雷达等设备,在相互校验的过程中完成测量,成本略高,检测周期也略长。
业内人士表示,测试产品能力70-90分的区分更多使用算法库测试,区别90-95分,甚至是95-98分时,必须进行实车定量测试。而目前ADAS各家拉开差距正是在于将90分提高到99分。想做到这点必须要通过大量的实际道路测试打底,并对算法的准确性和鲁棒性不断打磨。因此从某种程度上来说,经历过主机厂Tier1严苛训练的方案提供商,产品可靠性更高,前装经验会成为下一次合作洽谈的资本。
目前企业对外宣称衡量算法能力的“识别率”指标不能说完全没有参考价值。前提是谈论所谓的识别率要把产品放在不同复杂场景下评估,并且单独讲识别率指标没有意义,需要把它和其他指标放在一起考量。产品必须确保在不同的路况、天气、车型,对不同姿态的人、不同的车道线,算法都能稳定工作(鲁棒性)。
讲视觉系ADAS不得不提一家以色列公司Mobileye,1999年成立,2007年推出首款产品,2014年8月1号在纽交所上市。公司主要从事汽车工业的计算机视觉算法和驾驶辅助系统芯片技术的研究。Mobileye的产品覆盖了全球50个国家,据官方资料显示,截至2015年底,Mobileye在全球有1000万的装载量,到2016年底会有273款车的SOP的合同。
(一)公司定位
前装业务中,这家以色列公司作为二级零部件供应商向Tier1提供产品,涉及车辆应用的部分会和主机厂配合。通过一级供应商提供集成、个性化开发以及测试工作。后装采取代理销售的方式。
(二)产品功能
目前可用安装在后视镜后的单颗彩色摄像头(非标准RGB Sensor)对目标物进行检测、识别和分类,同时还会对物体的运动轨迹进行跟踪、分析,并分析道路状况。实现功能包括车道检测、车辆检测、行人检测、动物检测、交通标志识别、红绿灯识别、灯光控制。
Mobileye具有自主研发设计的芯片EyeQ系列,由意法半导体公司生产供应。现在已经量产的芯片型号有EyeQ1、Eye Q2、EyeQ3,EyeQ4正在开发进行中,预计将于2018年推出,其工程样本有望在2016年第四季度发布。2016年5月Mobileye宣布将与意法联手合作研发下一代将用于自动驾驶的EyeQ5芯片,2018年开始提供工程样品。
目前Mobileye后装产品的终端售价约为8000元左右,前装价格会低很多。
Mobileye不同芯片可以实现不同的ADAS功能。其中EYEQ2支持产品级的AEB,EyeQ3是支持full AEB。EyeQ2等级只能做到ASIL-B,EyeQ3可以做到ASIL-D等级。(ASIL,Automotive Safety Integration Level,汽车安全完整性等级,是ISO26262中的系统危害风险等级指标,从A到D产品的安全等级依次增加。)
Mobileye EyeQ1-EyeQ3产品地图
2007年在沃尔沃上实现了摄像头+雷达集成防撞预警的功能。(EyeQ1)
2008年在宝马上实现了单摄像头车道偏离预警、交通标志识别等功能。(EyeQ1)
2010年在沃尔沃上做到了行人防撞检测,首个行人检测AEB。(EyeQ2)
在宝马、通用、欧宝上,用单摄像头实现了拥堵情况下车道内跟车行驶。(EyeQ2)
2013年在宝马和尼桑上用一个摄像头实现AEB功能(部分) 。(EyeQ2)
利用EYEQ2实现了宝马量产的基于摄像头的自适应巡航(ACC)和交通拥堵辅助(Traffic Jam Assistant)。(EyeQ2)
2015年在奥迪上实现了基于摄像头的全AEB功能。(EyeQ3)
在特斯拉车型上实现了交通等检测、利用深度神经网路判断自由空间和路径规划。(EyeQ3)
在Mobileye的过往演讲和介绍中,提到了一些前车识别算法上的细节:
从前车识别来看,一般单目有两种算法来进行预估,一种是THW(Time Headway),一种是TTC(Time to Collision)。THW计算公式中时间t=两车距离/本车速度;TTC公式中时间t'=辆车距离/两车相对速度。TTC对于计算要求也更高一些,因为除了本车速度之外,还要实时测算出前车的速度,计算方法是通过两车之间的距离变化以及本身速度进行估算。
Mobileye将两种算法用在不同场景。
前向碰撞检测(FCW)方面采用TTC,尤其是高速行驶前车急刹的情况,可以很明显发现,TTC的算法更符合实际情况。Mobileye检测规划路径中会遇到的前车后(不仅仅是识别本车道车辆)用图像的变化快慢来做TTC,以此判断碰撞可能,采取干预、控制、刹车操控。
目前 Mobileye 的后装产品 TTC时间设定为 2.7 秒,官方给出的FCW精准度大约在99.99%。前装方面,对离本车最近的本车道车辆来计算TTC做AEB,AEB一般在1秒上下的区间里起作用。
Mobileye采用THW算法,未来加上控制,可以做到用单个摄像头做ACC或低速Traffic Jam Assistant。目前市面上这两个功能都是毫米波雷达来实现,如果用摄像头完成,可以融合视觉检测到的车道、静止障碍物、车辆横向运动、限速牌,汇总多个信息来做ACC决策,控制会更精准。
Mobileye后装产品THW时间设置可以从2.5秒到0.1秒。
(三)自动驾驶规划
关于自动驾驶如何实现,Mobileye一共会涉及三个方面:感知、地图与驾驶策略。
感知方面,根据Mobileye的规划,单用摄像头方案实现自动驾驶功能且不考虑冗余的情况下,需要8个摄像头来满足360度全方位感知的需要。2015年Mobileye发布了三路摄像头做ADAS功能。三个摄像头分工不同:中间的主摄像头可以实现大部分功能,检测距离可以达到150米,检测到之后跟踪距离可以达到250米。另有一枚小角度摄像头探测更远距离,一枚广角镜头探测更宽视野。
算法上主要实现四项内容,并且对深度学习的要求逐项增加:
1.识别道路上移动/固定的物体;
2.识别出道路分割线以及其他交通标识;
3.在道路上没有分割线或者分割线不清晰的情况下,分辨出哪些是可以通过的空间,并勾勒出可通过空间与其他部分的隔离线;
4.可驾驶的路径:在识别出可通过空间之后,找到一条可供于驾驶的路线。
地图方面是对感知系统的冗余设计,包含Roadbook、高精度定位、可行驶路径三个方面。Mobileye打算用具备深度学习功能的图像识别体系制作高精度地图。数据采集上会与车企合作,用众包方式获得和更新数据。
驾驶策略方面,车企可以通过提供的SDK访问Mobileye预先训练的网络应用层,让控制单元很快计算并得出可通行的路径方案。车企在其提供的算法基础之上,再以自身在车辆控制上的经验进行优化或者再次开发。这一功能会基于Eye实现。
Mobileye计划2016年推出半自动汽车技术,准备研发的系统可以让汽车阅读交通、街道各类信号,从而与其它车辆保持适当车距。大众、宝马和通用购买了2018 年生产的系统,该系统可使车辆在高速上自动行驶。2016年5月Mobileye与两家保密车企已经达成协议,将在2019年为后者提供全自动驾驶汽车系统。
在2016年7月,Mobileye和宝马、英特尔共同开发无人驾驶汽车技术。2016年8月宣布和德尔福汽车公司共同开发SAE(美国汽车工程协会)4/5级自动驾驶全套解决方案。
(四)团队介绍
创始人之一是耶路撒冷希伯来大学计算机科学系教授阿姆农·沙书亚(Amnon Shashua)。Mobileye在美国、德国、日本、西班牙也有分部或研究部门,现在公司员工约600多人,研发人员占比为70%-80%。目前在中国仅有面向后装的销售团队,办公地点位于上海,没有研发人员。
(五)投融资
2006年5月,获得1500美金投资。
2007年10月,高盛投资的1亿美金投资。
2013年7月Mobileye向5家独立的金融投资方出售4亿美元股份。投资方包括黑石、Fidelity、Wellinton、恩特租车公司以及中国投资公司赛领国际投资基金。这笔交易对Mobileye的除现金外估值达到15亿美元。
翟羽嚄 认证博客专家 算法 机器学习 图像处理 我经常会分享一些智能驾驶、自动驾驶、图像识别、嵌入式linux、嵌入式音视频开发等知识,有兴趣的朋友可以关注我的头条号——翟羽镬,ID:1661013377414159,这里会分享一些整理好的且有一定价值的文章和源码。