1、基于线性 CCD 的道路轨迹识别系统算法研究 罗丽 邢传玺 高飞 龙朝旭 王致诚 云南民族大学电气信息工程学院 摘 要: 针对目前的无人驾驶汽车技术, 进行了基于线性电荷耦合器件 (CCD) 的道路轨迹自动识别算法研究, 采用线性 CCD 对道路进行识别, 利用单行黑线提取算法中的动态阈值算法对采集的图像进行二值化处理。测试结果表明:算法可实现无人驾驶汽车在复杂路段的快速平稳地行驶。关键词: 线性电荷耦合器件; 单行黑线提取; 二值化处理; 动态阈值; 作者简介:罗丽 (1993-) , 女, 主要研究方向为无线传感器网络, E-mail:。作者简介:邢传玺 (1982-) , 男, 通讯作者
2、, 博士, 讲师, 主要研究方向为嵌入式系统开发、水声信号处理, E-mail:。收稿日期:2017-01-09基金:国家自然科学基金资助项目 (61461056, 61662089) Research on algorithm for path track identification system based on linear CCDLUO Li XING Chuan-xi GAO Fei LONG Chao-xu WANG Zhi-cheng School of Electrical and Information Engineering, Yunnan Minzu Universit
3、y; Abstract: In view of current driverless vehicle technology, research on automatic recognition algorithm for road trajectory based on linear charge coupled device (CCD) is carried out, intelligent vehicle path trajectory recognition algorithm based on linear CCD sensor is introduced. Roads are rec
4、ognized by linear CCD, using dynamic threshold algorithm in single black line extraction algorithm of image binarization processing is carried out. Test results show that by the algorithm a driverless car can achieve fast and smooth running in complex section of the road.Keyword: linear charge coupl
5、ed device (CCD) ; single black line extraction; binarization processing; dynamic threshold; Received: 2017-01-090 引言传统的智能汽车常常利用中线寻迹法结合中值滤波算法5、边缘增强法6对图像进行处理从而识别道路轨迹。中线寻迹法仅适用于线性 (charge coupled device, CCD) 能看到两条黑线的情况, 即直道, 在弯道中并不适用;中值滤波法需要进行大量的数据比较, 算法执行时间较长, 无法满足图像实时处理要求易造成细节的丢失7;边缘增强法不能很好地解决边缘增强后灰度
6、值溢出的问题, 易引起图像失真。本文针对上述算法的不足进行了改进, 采用单行黑线提取算法。单行黑线提取算法是指对图像进行二值化处理, 即将图像上点的灰度值置为 0 或 255, 所有灰度大于或等于阈值的像素判定为黑色;否则, 像素点为白色。二值化算法有较强的抗干扰能力和较快的运算速度。与传统二值化处理方法采用一个静态阈值 (大小介于 2035 之间) 不同, 智能汽车在行驶过程中因受光线等外部环境影响, 行驶过程中的阈值需不断变换, 故本文采用动态阈值法, 作为二值化处理算法的依据和主要参数。采用动态阈值的单行黑线提取算法得到的黑线提取效果不仅可靠, 而且实时性好。既避免了灰度值溢出问题又能使
7、智能汽车简单快速地寻找轨迹且适应各种弯道或直道的情况, 实现智能避障。在失去黑线目标后可记忆从左侧或右侧超出视野, 从而控制舵机转向使智能汽车重回正常道路。当黑线已经达到能够可靠提取时, 利用其算法可对相应的弯、直道进行判断, 对速度和转向舵机控制算法进行研究。1 智能汽车道路识别轨迹算法1.1 单行黑线提取算法道路图像采集采用体积小、重量轻、使用简单、易于固定、接口简单8的TSL1401 线性传感器, 输出模拟信号, 能在较远的距离采集道路图像。采集流程为在由微控制器单元 (micro controller unit, MCU) 下的可编程逻辑器件 (complex programmable
8、 logic device, CPLD) 生成的驱动时序的作用下9, 线性 CCD 图像传感器采集道路的图像信号, 完成光电转换, 并将转换后的信号送入模/数转换器 (analog to digital converter, A/D) , 经过采样转化为数字化信号。算法过程为从左区域向中间区域读取当次图像的灰度值, 读取时间短, 当读取逐渐靠近图像的中间区域时, 读取时间延长, 使像素点成像更稳定, 从而真实反映道路信息10。由于黑色边沿与白色道路之间的色差较大, 因此, 在图像数据中反映的即为灰度值是否大于阈值的现象, 而阈值的大小通过实验确定。算法的主要过程为:1) 从最左端的第一个有效数
9、据点开始依次向右进行;2) line 为原点, 判断与 line+3 的差是否大于阈值, 如果是, 则将 line+3 记为 i;3) 从 i 开始判断在接下来的从 i+3 到该行最末一个点之间的差值是否大于阈值, 若大于, 则将 line+i/2+2 的坐标赋值给黑线中心位置。1.2 动态阈值算法线性 CCD 采集图像由 128 个点构成, 每个点的灰度值用一个字节表示。智能汽车在道路上行驶主要依靠道路边沿的黑线识别路径, 因此, 必须准确找到道路的黑白边界。由于反光、污垢、阴影等因素的影响, 黑色灰度值不全为 255, 白色灰度值不全为 0。算法首先将灰度图像二值化, 将小于某一阈值的设为
10、 0, 大于某一阈值的设为 255。采用动态阈值算法。计算出动态阈值式中 T1为初始阈值大小;g 为一行 128 个像素点的最大值;r 为一行 128 个像素点的最小值式中 为灰度值大于初始阈值的像素的平均值;i 为像素点;A 为大于初始阈值的灰度值;N 为大于 T1的像素点总和式中 为灰度值小于初始阈值的像素的平均值;B 为小于初始阈值的灰度值;K 为小于 T1的像素点总和式中 T2为最终阈值。算法具体步骤如下:1) 找出一组数据 128 个像素点的最大值和最小值。2) 判断最大值和最小值的偏差是否大于全黑时的偏差, 如果是, 继续;否则, 采用上一次的阈值。全黑时的偏差指全黑情况下的最大值
11、与最小值的偏差, 由实验验证可得丢线情况下的阈值不正确, 使用上一次的阈值 T_old。3) 为全局阈值 T 选择一个初始估计值:T= (max+min) /2。4) 二值化处理图像, 并产生两组数组:sum_h 为灰度值大于 T 的所有像素组成, sum_l 由所有小于等于 T 的所有像素组成。5) 对 sum_h 和 sum_l 的像素分别计算平均弧度值 max_ave 和 min_ave。6) 产生最终的阈值 T_last, 再给 T_old 赋值:T_old=T_last, T_last= (max_ave+min_ave) /2。2 测试结果与分析为验证算法实现图像二值化的效果及智能
12、车对不同类型的道路做出判断能力, 采用 CCD 仿真、道路仿真和系统测试 3 种验证方法进行检验。2.1 CCD 仿真通过线性 CCD 上位机软件查看采集的路况信息, 检验算法能否提取到可靠的黑线。图 1 (a) 为利用常规算法后的图像。图 1 (b) 为利用单行黑线提取算法后的图像, 其中突出的部分为白色区域, 凹槽的部分为黑色区域。图 1 CCD 采集的路况信息 下载原图表 1 为上位机软件显示的采用算法前、后的实验数据。其中, “*”为出现频率最多的灰度值, 而非对最大灰度值与最小灰度值求和取平均。表 1 采用算法前后的灰度值 下载原表 对比图 1 的两个图像, 并分析表 1 的数据可知
13、:利用单行黑线提取算法能使线性CCD 采集的路况信息中黑色区域与白色区域分界明显, 由于提取的白色区域较黑色区域多, 因此, 平均灰度值为 8。与静态阈值法相比, 动态阈值算法提取到的数据受外界环境因素的影响小, 从而验证了动态阈值算法的真实可靠性。2.2 道路仿真分别利用常规和单行黑线提取 2 种算法对智能汽车的道路轨迹进行仿真, 图 2给出了 2 种算法处理效果及原始图像的对比。图 2 不同算法处理图像效果 下载原图从图 2 可看出:利用单行黑线提取算法二值化处理的图像较利用常规算法处理的图像更加清晰, 几乎达到了黑色灰度值 255, 白色灰度值为 0 的要求。单行黑线提取算法处理后的图像
14、能使智能汽车在弯道和直道中行驶时不受路沿外黑色噪点、反光、阴影等因素的影响, 验证了算法不仅具有较强的抗干扰性而且降低了智能汽车对道路类型的误判概率。2.3 系统测试将智能汽车置于模拟道路上进行测试, 如图 3 所示。在行驶中, 智能汽车始终保持在道路中间且不会跑出道路, 遇到障碍物时能及早作出判断, 实现了智能避障。图 3 智能汽车行驶情况 下载原图测试结果表明:通过显示屏可以观测到线性 CCD 所采集到的各种道路图像, 智能汽车在行驶中能准确地识别弯直道以及复杂的十字交叉道路, 从而可以看出, 利用的单行黑线提取算法能使智可汽车具有良好的识别和检测能力以及智能避障和运行可靠的特点。3 结论
15、采用线性 CCD 采集道路信息, 对不同的道路反馈不同的信号进行快速处理, 通过对线性 CCD 道路轨迹识别算法的研究, 利用单行黑线提取算法对采集的图像进行二值化动态阈值处理, 不仅提高了识别率, 而且增强了抗干扰能力。经过测试, 系统可使智能汽车在自主避障的前提下对 S 弯、 弯和十字等复杂路况迅速做出判断, 实现了稳定、可靠、快速地行驶。参考文献1徐文兵, 夏永峰, 王春香.无人驾驶电动汽车电源管理系统的抗电磁干扰设计J.电测与仪表, 2008 (3) :39-42. 2徐海贵, 王春香, 杨汝清, 等.磁传感系统在室外移动机器人导航中的研究J.机器人, 2007, 29 (1) :61
16、-66. 3杨庆文.基于线性 CCD 的智能汽车路径识别方法J.中国科技信息, 2015 (2) :96-97. 4杨宁, 石冰飞, 朱平, 等.基于 CCD 的自动寻迹小车的软件设计J.自动化与仪表, 2012 (4) :52-55. 5蔡建新, 王仁煌, 杨磊.一种新的快速中值滤波算法J.计算机时代, 2008 (16) :58-59. 6刘斌, 刘振凯.基于图像内容的边缘增强算法J.计算机工程与应用, 2002 (6) :82-83, 89. 7廖伟权, 刘海刚, 项华珍, 等.线性 CCD 图像处理与识别算法J.微型机与应用, 2015, 34 (8) :53-54. 8白晋龙.基于线性 CCD 的智能汽车路径提取与寻迹J.电子测量技术, 2016, 39 (3) :127-130. 9赵万欣, 陈思屹.基于 TSL1401 线性 CCD 的智能巡线小车J.工业控制计算机, 2014, 27 (2) :121-122. 10杨健贤, 刘海刚, 区逴凡, 等.基于线性 CCD 的路径识别算法研究J.工业控制计算机, 2015, 28 (7) :64-66.