影像算法瓶颈突破 汽车ADAS再进化
2015-01-31 18:58:00 来源:工研院资通所关键字: 影像 算法 瓶颈 突破
近年来,世界各国的交通主管单位皆大力倡导「防御驾驶」,所谓防御驾驶是一种预测危机并协助远离危机的机制,意指除了驾驶本身遵守交通规则外,也要防范其他驾驶因为自身的疏忽或是故意违规,而发生交通意外。因此,防御驾驶的目的是透过目视与耳听的察觉,来认知并预测可能发生意外之情境,并且尽快采取必要的防御措施,以避免意外发生。
根据交通部的长期统计与特性分析报告指出,全国主要交通事故原因中,以「未保持行车安全距离」为最多。以2014年上半年国道高速公路为例,A1类(造成人员当场或24小时内死亡)的交通事故总计三十件,而未保持安全距离(车前状态)占最大宗,总共有十件,并造成十一人死亡、十三人重伤。其次为变换车道不当,总计为六件,并造成八人死亡、八人重伤。然事实上,交通部在2012年国道事故检讨报告指出,在这些造成不幸的交通事故当中,有高达79.1%的意外是有机会事先预防的。
有鉴于此,各大车厂与驾驶人纷纷在车辆上安装各种驾驶辅助系统,以降低肇事率(图1)。在各种系统中,以影像为基础的辅助驾驶系统市占率最高;其主要原因为成本低廉,且可与行车记录器结合使用,并能将侦测的结果以视觉影音的方式呈现给驾驶人,虽然其侦测距离不及红外线与雷达,但仍广受欢迎。
图1各种不同形式之ADAS传感器
开发成本低廉影像式ADAS受青睐
为有效降低因驾驶者不专心所导致的事故发生,车道偏移警示系统(Lane Departure Warning System, LDWS)与前方碰撞警示系统(Forward Collision Warning System, FCWS)为世界各国重视,是业界争相投入开发的两大首要先进驾驶辅助系统(Advanced Driver Assistance System, ADAS)功能。 .LDWS
LDWS主要功能运作是透过摄影机拍摄车辆前方的场景,然后经图像处理与计算,产生车道侦测的结果;一旦车辆在没有打方向灯的情形下开始偏移车道时,系统则会自动发出各种警示讯号,提醒驾驶者立即做出反应以避免意外发生。
.FCWS
FCWS的主要功能亦是透过摄影机拍摄车辆前方的场景,经过图像处理算法的计算后,将前方的车辆侦测出来,并且推估两车之间的距离;当两车未保持适当的行车距离时,系统亦自动对驾驶人发出警告,甚至近年来已有车厂开始评估是否由行车计算机系统接管煞车功能。
上述两种ADAS的主要功能,其共同点就是拍摄车辆前方的场景信息。一般而言,FCWS与LDWS都会使用同一个摄影机所取得的影像信息,且该摄影机亦可将影像信息储存起来,做为行车记录器之用。因此,FCWS与LDWS除了现有汽车制造商进行开发研究之外,制作行车记录器的厂商亦积极投入研发。
PC-based为早期惯用平台
数字图像处理平台主要可分为两大类,分别为软件导向的PC-based与硬件导向的独立型(Stand Alone)平台;这两类各有其优缺点。早期,由于独立型的系统运算资源非常局限,中央处理器(CPU)指令周期较慢、内存空间不足、可支持的接口设备亦短缺,加上缺乏有效的影像程序开发接口,导致图像处理算法的开发人员习惯采用PC-based做为硬件平台。现在,由于超大规模集成电路(VLSI)与系统单芯片(SoC)的进步,数字系统的芯片有大幅进步同时缩小化的进展,使得目前嵌入式系统可以在低价位的情形下,提供高速CPU、海量存储器、更多的周边控制,甚至可以有多核心的处理器(Processor)。
独立型平台符合轻薄短小设计需求 如此进步下,嵌入式系统已经开始朝多媒体迈进,增加影像与视讯等二维(2D)/三维(3D)讯号的运算,以扩大应用范围;再加上随着智能化与云端化的趋势,多媒体应用与安全监控平台,已渐由PC-based走向独立型嵌入式系统,以便满足车载应用对省电与轻薄短小的需求。 有鉴于此,工研院便以独立型嵌入式系统方式来进行ADAS的开发与验证。 首先,算法开发人员为取得影像来开发算法,在开发初期必须自行驾驶配有行车记录器的车辆,于道路上拍摄各种不同场景、天候等行车影片,过程中还必须兼顾「正确率」与「效能」,因为对任何算法而言,良好的正确率只是最基本的条件。 攸关警告提示速度ADAS算法验证至为重要
ADAS对于算法的效能必然斤斤计较,因为当危险状况发生时,系统必须实时(Real-time)发出警告。以FCWS为例,当某车辆于国道高速公路以时速100公里行驶时,亦即其每秒前进27.7公尺;系统若延迟0.1秒发出警告,则车辆将继续前进2.77公尺;因此设计人员习惯以讯框速(Frame Per Second, FPS)来验证ADAS中的算法之效能,当FPS值越大时,代表该算法的效能越佳。
当然,算法的效能必定与嵌入式平台的处理器速度、资源相关,所以在开发初期就必须考虑算法的计算量是符合何种嵌入式平台,否则将出现算法无适当平台可用的困境。
结合快速影像分割结果车道线侦测算法效能稳健
LDWS为ADAS中较早被开发的功能,车道偏移警示系统的研发,主要包含「车道线侦测」以及「车道偏移侦测」两个项目。虽然这个研究已经有十几年的历史,同时也有许多知名学者投入此领域的研究,但是其研究成果还有许多须要改进之处;如在车道线侦测方面,因为无法预测车道线与道路的颜色差距(梯度(Gradient))程度。因此,算法中默认的参数便无法侦测出所有类型的车道线。此外,为强化车道线的特性,往往须要重迭多张连续的画面,以加长车道线的长度。
最后,由于使用的直线侦测算法,无法提供直线是否属于车道线或是非车道线等信息,因此传统的车道偏移系统,需要一个手动设定的画面,标示出可能的车道线区域,藉此过滤掉非车道路线。
在车道偏移侦测方面,须要分析连续画面的变化,才能判断车子是否偏移,如此一来,系统便无法实时通知驾驶有关车道偏移的信息。有鉴于此,工研院已经自行开发出一种快速且强健的车道偏移警示系统;藉由结合「快速影像分割」的结果,所开发的车道线侦测算法,可以侦测出各种类型的车道线,不须要分析连续画面的变化,可以仅由一张画面,便判断出车辆是否偏移。
该算法的执行流程(图2)主要有五个步骤。
图2LDWS算法流程图
.影像分割(Image Segmentation)
首先,对原始影像进行「区域化」的步骤,将影像分成若干区域。
.车道线区域侦测(Road Line Region Detection)
然后结合「影像分割后的结果」以及「梯度分析」,以完成车道线区域侦测。
.车道线候选区域(Road Candidate Determination)
使用区域标记(Connected Component Labeling)的方式,标记每个连通区域(Connected Component),进而分析各区域的特性,去除「非车道线区域」,以完成工作。
.车道线判定(Road Line Determination)
接着进行车道线判定步骤。
.车道偏移警示(Lane Departure Warning)
最后,藉由判断左右车道线的角度,以完成警示的功能。
该算法的执行结果可参考图4。
图3FCWS算法流程图
以纯水平线为依据前车侦测算法更精确
保持安全车距是驾车的基本守则,尤其是在高速公路上,当前方车辆有任何状况发生时,保持安全车距才有足够的时间进行防御驾驶。所以,工研院开发FCWS的目标为,当前方车辆与本身车辆距离30公尺时,则实时发出警示讯号。
前方碰撞警示系统的研发,主要包含「前方车辆侦测」以及「车距计算」两大项目。目前的前方车辆侦测研究中,有许多方法是使用「车底阴影」来当作特征值。但是,阴影容易受到外在光线的影响,造成侦测正确率不稳定的困扰。此外,为克服夜间、阴雨等天候问题,有许多方法是以「后车灯」为侦测的特征值。这种做法虽然可在夜间获得良好的成果,但是仅适用于夜间。
有鉴于此,工研院自行研发适用于嵌入式系统,快速且稳定之前方车辆侦测算法;藉由Sobel滤波器取得前方车辆的水平、垂直边缘,并且透过梯度方向(Gradient Orientation)将「纯水平边缘」撷取出来。
「纯水平边缘」是很重要的特征,因为从很多测试影片中可以观察到,前方车辆必定有「纯水平边缘」,例如保险杆、后挡风玻璃、行李箱等,然而有时候场景中亦可能出现一些非车辆的纯水平边缘。为避免误判,可以使用标记(Labeling)、角点侦测(Corner Detection)、区域二元图(Local Binary Pattern, LBP)纹理分析(Texture Analysis)将前方车辆准确的侦测出来。如同LDWS算法一样,该算法的前方车辆侦测系统,亦不须要分析连续画面的变化,可以仅由一张画面便判断出前方车辆。本算法的执行流程如图3所示,而执行结果如图4所示。
图4FCWS与LDWS之执行结果
在车距计算方面,由于仅有单一摄影机,所以无法使用双摄影机的算法来计算距离;但透过固定摄影机的方式,于静止状态预先量测距离,建立对应表格(Table)方式进行计算(图5)。将摄影机固定架设完毕后,透过实际量测可知,5公尺线对应至该影像的第162列(Row)、10公尺对应至第137列、15公尺对应至第126列、20公尺为第123列。
图5单一摄影机之前方距离量测
藉由实际距离与影像坐标的对应产生对应表,当行进间前方车辆被侦测时,再利用查表的方式换算出前车距离。利用影像坐标对应的方法,其误差值将会随着距离增加而增加,不过在控制摄影机镜头条件下,在实际距离小于30公尺时,其误差值仍在公尺级的接受范围内。
最后,将ADAS于嵌入式平台进行验证且程序优化之后,即可安装于车辆上做实车测试。在此使用的嵌入式平台为Cortex-A15的双核心处理器与其他相关的周边配备;测试场景为新竹68号快速道路,并且于上午、中午、傍晚进行数次的实车测试;天候状况已包含晴天、阴天、大雨。FCWS与LDWS的正确率至少皆有90%以上,且执行速度可达25FPS。
辅助驾驶技术迭有进展主动式ADAS前景可期
随着车用电子与车用影像技术的进步,各种辅助驾驶的系统成为各大车厂的发展目标,且不停的推陈出新,因此车厂投入研发各式主动式ADAS的力道与能量越来越强。然而,早期的ADAS大多是停留在警示功能,用以提醒驾驶人须要尽快进行防御驾驶,不过于近年,已经有些车厂推出半自动式的辅助系统,可协助驾驶者进行煞车或车道维持等。
发展这些功能的最终目的就是要朝向全自动驾驶,在行车途中遇到危机时,系统会主动介入接管驾驶,并且快速判断应如何闪避危险,且保持车体不受碰撞,无人的自动驾驶已然成为未来发展的关键;然而,在这段过渡期间,各厂依旧致力发展相关技术,各种单一功能警示辅助系统正于产业界蓬勃发展。未来,当技术成熟且成本能被市场接受时,相信各大车厂就将会整合多个单一警示系统,逐渐迈向无人驾驶。
目前,Google在自动驾驶车方面已有长足的进展,2014年中公布的无人驾驶车已没有方向盘与油门,且以40公里/小时的速度,在美国加州地区进行测试。其实,无人驾驶车辆最大的挑战仍是在一般道路,诚如Google自动驾驶计划负责人Chris Umson所言,以无人驾驶系统在高速公路开上1公里,和在市区开上1公里,这是完全不一样的两件事情;在高速公路上开车的变因仅有数种,但若在一般道路上恐怕会激增到上百种。所以,Google无人驾驶车除了安装传统的摄影机之外,更搭载光达系统(LiDAR)进行光学定向测距,用以提高安全性与可靠性。由于技术、法令等因素尚未成熟,无人驾驶汽车无法在几年内就上市,但透过自动驾驶技术的不断进步,相关的配备必定下放至一般车款上,对消费者来说亦是一大福音。