基于CMOS图像采集的车道偏移识别系统设计与实现

2022-07-05 05:42李成勇陈成瑞
中国测试 2022年6期
关键词:像素点图像处理车道

李成勇,王 莎,陈成瑞

(重庆工程学院电子信息学院,重庆 400056)

0 引 言

如今为解决人为因素造成的交通事故,无人驾驶技术崛起,其中安全辅助驾驶技术是无人汽车的研究创新领域之一。车道偏移识别是汽车辅助驾驶系统中的一部分,有助于在驾驶员疲惫行车、注意力不集中、出现怒路情绪的时候预示驾驶员做出正确操作[1]。

安全辅助驾驶是智能交通的重要研究方向,近二十年来,车道偏离预警系统是安全辅助驾驶的研究创新方向之一[2]。汽车辅助驾驶系统最早见于1995年卡内基梅隆大学ALY等人研制的AURORA系统,得到商用是2000年德国和美国公司联合开发的Auto Vue系统,还有近年来研发的ALVINN系统,由于使用较复杂的神经网络算法,系统主机过大,造成功率消耗大,无法广泛应用。SCARF系统利用Hough变换,降低了功耗,只是车道线拟合为斜线,实际难以应用[3]。车道偏离预警系统,使用控制器、传感器、显示器、摄像头等元器件制造而成。模拟情景,小车行驶在路上,开启偏移系统,摄像头根据路况实时采集、更新行驶过程中车体与车道标识线的距离[4],通过处理后将信息传递给单片机、传感器,若此时行驶路径发生偏移便能在短时间内由控制器发出警报,提前警示驾驶员,为驾驶员预留更多的反应时间与空间[5]。车道偏移技术是其中的重要组成之一,系统的研究对降低交通事故发生概率有很大的影响,对人类生存有重大意义[6]。车道偏离识别技术的研究方向多基于视觉摄像头,但是无论从国外研究现况还是国内研究技术水平看,通过视觉方式实现车道偏移预警功能,很大程度受当地气候环境影响和光照突变影响[7]。

为了有效应用光电图像技术,针对车道偏移识别原理[8],本文设计了基于CMOS图像采集的车道偏移识别系统,在车道偏移识别系统中通过车道线图像特征的提取,采集到的图像采用快速迭代图像增强算法进行处理,实现小车在行驶上道路上的车道偏移识别。

1 系统方案的选择与描述

本系统基于面阵摄像头传感器的车道偏移识别技术,选择MC9S12XSl28为主控制器,利用CMOS面阵摄像头传感器,运动装置(比如智能小车)对特定车道的参数进行实时采集和处理,当车道发生变化和偏移时,能自动发出报警提示或自动控制运动方向。结合自动驾驶技术的前沿技术,采用模块化思想,通过对路径信息的采集、识别和处理后,可准确识别路径信息进行车道采集,图1为系统硬件结构框图。

图1 系统硬件结构框图

采集路面信息,首先利用摄像头传感器对路面信息进行采集,然后处理图像信息,处理方式多种多样,本系统针对智能小车赛道的设置选用的图像处理方式主要有二值化图像处理法[9]、图像信息滤波、黑线信息的提取以及基于CMOS摄像头智能循迹系统设计寻迹算法。

本系统采用OV7620CMOS摄像头传感器,其原理是摄像头将图片的像素点转换成能计算的电压信号,电压信号的值反映了相应图像的像素点的灰度值,因此根据摄像头采集处理能得到路面信息。

CMOS的每个像素点包含A/D转化和放大器,相当于是人类的眼睛,若配置过多的外设压缩像素感光区的表面积就会使CMOS的感光度降低。CMOS感光元件的驱动方式为主动型,感光电荷由电晶体放大将每个像素电荷传输到通道。使用MC9S12XSl28微控制器对图像采集,其中解析度的高低是决定采集难度的关键。事实上,标准的视频信号处理器每秒钟能处理50~60张图像,图像的分辨率越高,其处理所占的时间越少。若选用的单片机信号处理速度跟不上图像处理速度,那么选用低分辨率的摄像头处理效果更好,通过多次实验测试,选用30万像素的CMOS摄像头最好。单片机A/D转换时间越快,分辨率就越高,视频信号持续的时间就越短,而A/D转换器对信号采集的像素点越少,处理速度就慢。为了给图像处理留出更多的时间,本系统将A/D取样的方法替换为二值化方法。

本系统以智能小车为试验模型,采用CMOS摄像头识别白道黑线式道路信息,摄像头输出的是将图像信号,同步信号,行、场消隐信号这三种信号组合起来形成的黑白全电视信号。摄像头工作原理是按一定的分辨率,以隔行扫描的方式采集图像上的点,当扫描到某点时就通过图像传感芯片将该点图像的灰度转化成相应的电压值,然后输出信号。图像处理是针对像素点的行与列处理,首先解释第一行的行同步信号,行首处于消隐区,即系统还没有进入显示区域,然后行同步信号,接着采集包含道路信息的图像信号,根据摄像头信号处理,以智能小车赛道白色路面为高电平,黑色引导线为低电平[10]。

若采集区中有多个复合消隐脉冲,且个别脉冲持续时间长于其他的消隐脉冲,那么它就是场同步脉冲,标志扫描切换低电平就是场同步脉冲代表着新的采集面的更新。其中场消隐区恰好处于上一帧的结尾和下一帧的开始处,系统要处理下一场的信息必须等消隐完成后才能开始下一帧的视频信号处理。

基于面阵CMOS图像的特点,运用信号累加法除去噪声,结合FPGA的高速处理特征,将同一行列的信号进行传输和保存,选用FPGA作为信号采集和处理的基础平台。在实际应用中,路面多为黑白搭配由黑色中心线引导,因此可以采用二值数据的方法来获取存储路面信息。图像二值化就是为了图像增强处理和边缘提取所做的预处理操作,经过梯度算子过滤,图像中的噪点得到一定的抑制。将图片像素点的灰度值设为0或255,设置全零就是纯白色,设置全255就是纯黑色效果。通过设置灰度图像就可以获得图像整体和局部特点。

本系统使用的是摄像头采集路面信息,在数字图像处理中二值图是重要的处理方法之一,图像处理技术主要包括:CMOS信息采集、道路状况的提取等,二值图像数据采集使用的是串口传图方式,该图像处理法让图像处理变得更简单,数据量更小,图像采集传感器采集流程图如图2所示。

图2 图像采集传感器采集流程图

2 理论分析与计算

2.1 道路图像二值化处理

图像二值化是图像处理的基础技术,二值化无非是将数据变为0、1的数据,设置好阈值即可,直接从第一行开始描点,描点到最后一行,描完就是所想采集实现的图像。二值化算法在图像信息压缩、边缘提取和形状分析广泛应用,本系统通过捕捉模块采集行同步信号、场同步信号和二值图像信号,在中断服务子程序中处理二值图像并保存于缓冲区。

行同步信号,中断函数按顺序依次处理第一行数据,然后行数加一,并处理当前行数据,例如信息初始化、采集中断使能以及起始位确定等功能。场同步信号,中断程序对其进行行计数初值设定和同步信号捕捉。

二值图像处理,视频信号的闪动变化标志着图像边沿,通过看数据手册的方式设置程序,存储图像信息。使用二值化图像采集法会用到单片机中的三个输入管脚,软件运行由输入信号捕捉。事实上,以二值化法存储图像信息就是将图像内容转变为0,1信号,使用按位存储图像的方式。智能小车赛道搭建特征是非常明显的,黑色是引导线,白色是路面,因此在特征非常明显的前提下,经过硬件二值化电路处理后的波形趋势稳定,为方形方波,且设定白色路面为高电平,黑色引导线为低电平,智能小车赛道原始图如图3所示,二值化算法处理对比如图4所示。采用二值图像法不仅提取保留了路面特征信息,而且优化了存储空间,虽然现实的图像信息没有原始图像清晰但已经能适用于智能小车赛道识别的功能。

图3 智能小车赛道原始图

图4 二值化算法处理后对比图

二值化算法确定阈值a,设定图像像素点的灰度值大于阈值就自动设置成255白色,相反的就为0黑色,因此采用二值化方法处理的图像只有黑白两种颜色,本系统图像阈值的选取方法采用迭代法[11]。

由二值化图像处理算法公式:

式中:S(x,y)——采集图像;

r(x,y)——输出二值化图像;

*——卷积运算;

F(x,y)——阈值处理函数,其表示为:

其中,c为阈值系数;λ表示一个标准系数。式(2)满足如下条件:

从以上表达式得出:卷积的主要目的是估计出图像像素点与周围加权平均的亮度变化,除去其亮度变化,只留下反射属性,使车道线图像特征效果增强。

采集到的图像由于车体等障碍物产生的阴影对车道线遮挡的失真较大,采用改进迭代图像增强算法对阈值进行处理,得到更好的效果,公式如下:

式中:rn(x,y)——前一次阈值迭代值;

rn′(x,y)——rn(x,y)与亮度差之和。

式中:Δl——单点的亮度差;

max——图像亮度阈值最大值。

经过n次迭代后,当rn′(x,y)>max时,将其代入式(4),得到的rn+1(x,y)就是增强图像后输出阈值。

2.2 中值滤波

车道线图像通过二值化图像处理后,智能小车赛道信息已经由模拟信号转换为数字信号提取出,但信号在传输的过程中仍然存在干扰,如若不处理干扰就会对后面的操作产生影响。因此需要进行中值滤波。中值滤波可以滤掉车道线图像中存在的噪点,所谓噪声就是受外界干扰形成的噪声点,无规律分布,扰乱目标信息的提取,造成误差。首先对MC9S12XSl28初始化,进行图像检测,用道路图像二值化处理后,迭代优化选择好阈值,利用算法程序,对摄像头摄取车道线图像进行中值滤波处理,由MC9S12XSl28采用处理,算法流程如图5所示。

图5 中值滤波优化算法流程图

其原理是在特定的范围内,根据一个中间值去除图像像素点中灰度值较大或较小的带点,而这些像素点往往靠近边沿不会影响图形整体效果。那么关于如何计算中间值就尤为重要了,根据图形分辨率的大小按照强度值对像素点进行排序,能得到有序数组,然后根据排序数列的大小选取中间值,这时就能得到新的值。通过中值滤波后的图像变得更平滑,减少非目标区给二值化结果带来的噪声。车道线边沿图像像素经过中值滤波后会发生一些细微的变化,但是所处理的图像都是灰度值差距较大的点,如图6中值滤波去噪图,因此智能小车对于车道线特征能较为精确识别,这样就能在小车将要发生偏移的时候,及时扭转,防止小车发生碰撞。

图6 中值滤波去噪图

3 测试及结果分析

3.1 测试系统搭建

本系统基于面阵摄像头传感器的车道偏移识别技术,通过选取合适的模块芯片,了解相关的模块性能,组装了包括电源电路模块、控制模块、驱动模块的测试智能小车,如图7所示。搭建IAR和Visual Studio 2012开发环境,编写软件控制程序。然后将程序烧入控制芯片,联合硬件和软件进行系统整体性能测试。

图7 智能测试小车

3.2 智能小车偏道测试分析

测试过程中将小车放置于黑白赛道上,通过线上调试,观察数据值是否为两边小,中间大,其中两边数据小说明为赛道边缘,中间数据大说明为赛道的白色部分。若结论如此,则说明该数据正确可用,反之亦然。另外的,在选用数据进行处理的时候是由中间数据向两边找,通过差值判断出是否找到黑色边界,若两者差值大说明找到了边界,同理则没有找到。采集到的车道图像经过上述处理后,车道黑色边界就可提取到,同时保存左右两边界的坐标值,车道的中心坐标取左右两坐标值的平均值得到,小车与车道之间的偏差值用赛道中心坐标和小车中心坐标之差,控制器根据偏差值实时调整舵机的打角,让小车能够保持在赛道的中心行驶。经过二值化处理和中值滤波处理后对黑色边界线进行提取以此确定赛道边沿,为智能小车识别赛道线并设置舵机转角做准备。测试数据结果如表1所示。

表1 测试结果

由测试数据分析得出:由近及远选取像素点,因为距离越近图像处理越准确,处理后的图像从中间向两边检测,保证点选取的准确性,用继承的方式,根据上一次结果确定本行黑色边沿线的位置,采用这种模式更快捷。

在多次测试后,比较坐标值,分析偏差值,得知本文的设计可以达到车道偏移识别的基本要求。本系统设计的难点之处在于十字路口的识别和判断,因为小车在高速行驶的过程中无法控制自身身体端正,因此到十字路口的时候采集到的路面突然变宽,通过补线的方法能够将该采集到的赛道情况补充为普通赛道。

4 结束语

基于面阵摄像头传感器的车道偏移识别系统选用CMOS高精度摄像头采集车道信息,通过解析大量图像,识别驾座与车道标识线的距离。该系统搭配PWM波、脉冲累加器,电源管理模块,路面信息采集模块CMOS,直流电机驱动模块,通过模块化设计思路,实现对车道信息的采集、识别和处理,在驾驶者无意识的情况下,预判偏移位置及时向驾驶者发出警报。

猜你喜欢
像素点图像处理车道
海战场侦察图像处理技术图谱及应用展望
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
基于OpenCV的直道车道线识别技术研究
北斗+手机实现车道级导航应用
图像二值化处理硬件加速引擎的设计
避免跟车闯红灯的地面车道线
基于局部相似性的特征匹配筛选算法
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于像素点筛选的舰船湍流尾迹检测算法
机器学习在图像处理中的应用