影像算法瓶颈突破 汽车ADAS再进化
是符合何种嵌入式平台,否则将出现算法无适当平台可用的困境。
结合快速影像分割结果车道线侦测算法效能稳健
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的双核心处理器与其他
影像算法瓶颈汽车ADA 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)