智能车实时图像处理系统的研究

  • 格式:pdf
  • 大小:188.34 KB
  • 文档页数:4

第24卷 2010 第4期 11月 五邑大学学报(自然科学版) JOURNAL OF WUYI UNIVERSITY f Natural V_01.24 NO.4 NOV. 2Ol0 

文章编号:l006.7302(2010)04-0049-04 

智能车实时图像处理系统的研究 

夏凡,朱康志,唐景存 (五邑大学 信息工程学院,广东 江门 529020) 

摘要:对摄像头采集的视频信号采用LM1881N视频同步信号分离芯片、微控制器 MC9S12XS128MAL进行处理,以此构建智能车的实时图像处理系统;经“飞思卡尔”杯智能 汽车竞赛的检验,车模能够顺利沿着指定线路运行,该方案稳定可行. 关键词:实时图像处理;智能车;路径识别 中图分类号:TP391.41 文献标志码:A 

A Study of a Rea l-time Image Processing System for Smart Cars 

XIA Fan,ZHU Kang-zhi,TANG Jing—olin (School of Information Engineering,Wuyi University,Jiangmen 529020,China) 

Abstract:A way for connecting LM 1 88 1 N video sync separator and MCU MC9S 1 2XS I 28MAL is adopted to construct a real-time image processing system.An efficient and accurate image processing method is proposed to make the car run along a given line.A smart car prototype is designed which can reliably run in the smart car competition the‘‘Freescale”Cup.The result shows this method works efficiently. Key words:real-time image processing;smart cars;path recognition 

路径识别是实现智能车自主沿赛道运行的信息基础,获得范围广而精确的赛道信息是提高智能 

车运行速度的关键 ”.摄像头在获取图像方面有着天然的优势,本文通过系统设计,对摄像头获取 

的实时图像信息进行有效处理,提高了获取赛道图像的稳定性和精度. 

1 实时图像处理系统方案 

实时图像处理系统是智能车控制系统的输入采集单元,其优劣直接影响智能车的快速性和稳定 

性.而图像信号采集与处理作为整个控制算法的基础,具有举足轻重的地位,其设计直接关系到智 

能车的整体性能. 

智能车实时图像处理系统由2部分组成:图像采集模块,由摄像头完成;图像处理模块,由视 频分离芯片和微控制器完成. 

摄像头按一定的分辨率,以隔行扫描的方式采集图像上的点,当扫描到某点时。图像传感芯片 

收稿日期:20l0-04-l2 作者简介:夏凡(1 986一),男,湖北洪湖人,硕士研究生,研究方向为电磁兼容技术,E-mail smilexiafan@1 26.com.

 50 五邑大学学报(自然科学版) 2010矩 

就将该点图像的灰度转换成对应的电压值,并通过 视频信号端输出【2】.输出的视频信号有着固定的格 

式,某一帧数据的视频信号,除了包含图像信号之 

外,还包括了行同步信号、行消隐信号、场同步信 号以及场消隐信号等;因此要对视频信号进行采 图1 实时图像处理系统的整体结构 

集,就必须准确地把握各种信号间的逻辑关系.视频同步信号分离芯片的作用就是从摄像头采集的 视频信号中分离出行信号和场信号,再由微控制器将模拟信号转换成对应的数字量存储在SRAM中. 

系统的整体结构如图l所示. 

2实时图像处理系统的设计与实现 

2.1 系统硬件 根据图1的方案再结合第4届全国大学生“飞思卡尔”杯智能汽车的比赛要求,在实时图像处 理系统制作中,摄像头采用深圳国鼎科技有限公司的GD-1620型号的COMS摄像头;视频同步信 

号分离芯片采用National Semiconductor公司的LMl881N;微控制器采用Freeseale Semiconductor 

公司的Mc9sl2xSl28MAL;系统由标准电压为7.2 V、2 000 mH容量的电池供电.为保证视频信号 

的稳定性,摄像头用MAX734升压至12 V供电;视频分离芯片采用LM7806降压至6 V供电;微 

控制器采用LM2940降压至5 V供电. 摄像头有3根引线,其中红色线为电源线,接12 V电压;黑色线为接地线;黄色线为视频信号 

线,摄像头视频信号端接LM1 88IN的视频信号输入端,同时也接入MC9S12XS128MAL的一个AD 

转换器口(选用ADo).LM1 88lN的行同步信号端(引脚1)接人MC9S12XS128MAL的一个带中 

断能力的I/O口(选用IRQ口).LM1881N的奇一偶场同步信号输出端(引脚7)接MC9S12XSI2¥MAL 

的普通I/O口(选用PT0).视频分离电路如图2所示. 

图2视频分离电路示意图 上述COMS、LM188lN电路和MC9Sl2XS128MAL构成了智能车控制系统的图像采集、处理单 

元,可采集到符合比赛精度要求的图像数据. 

2.2 系统软件 实际赛道是在白色KT板上布置黑色引导线,路径识别需大致提取黑色引导线,而不必每行采 

集。选择奇一偶场同步信号作为判断一场图像更新的标记,采集图像的流程如图3所示.

 第24卷第4期 夏凡等:智能车实时图像处理系统的研究 51 

智能车系统对实时性的要求很高,过于复杂的黑线提 取算法会导致决策性周期溢出,使程序崩溃,因此必须采 

用简单高效的图像识别算法.分析摄像头采集的数据可知: 黑白两种图像经过微控制器A/D转换后二者的差值特别明 

显,鉴于此,本文采用差值法来区分不同的赛道,以提取 黑线的中心[3】.A/D转换精度对图像采集也至关重要,若 

A/D转换一行图像数据的时间(摄像头一行信号的时间) 超过64 s时,得到的图像数据比较混乱.通过分析参考文 

献[4】得出:采用双边缘检测算法简单可靠.具体的图像处 

理算法如下: 

1)将采集的图像数据存放在46行42列的数组video 中.初始化每一行图像数据的信息标记,包括在图像中找到 

黑线的次数、宽度和黑线位置; 2)根据黑点与白点的像素差值一般大于26,从左到右 

对数组的某一行相邻的数相减,可以得到黑线的位置,并 

将该信息保存在对应数组中.用出黑线的数据减去进黑线 

的数据就可以得到黑线的宽度. 图3采集图像的流程 

3)将进出黑线的次数分6种情况:进黑线的次数为l,出黑线的次数为0;进黑线的次数为0, 

出黑线的次数为1;进黑线的次数和出黑线的次数均为l;进黑线的次数为1,出黑线的次数为2; 

出黑线的次数为1,进黑线的次数为2;进黑线的次数和出黑线的次数不属上述情况.根据这6种情 

况,再结合对应行中进出黑线的位置,可以确定该行黑线的位置.为了提高程序的鲁棒性,对于不 

可信的黑线位置采用预测的方法找黑线位置,并给一个标志信号,方便图像后期处理.预测的方法: 

若上一次黑线位置偏离中心位置,则本次预测黑线位置更加偏离中心位置.通过上述方法将每行的 黑线位置存放在数组black mid中. 

4)对数组black—mid中的数据进行平滑滤波处理,得到最终的黑线位置,存放在数组data中. 源程序如下: 

void image—deal(void){ / 求出每行黑线中线位置black—mid,原始图像数据放在数组video中 / 

char i,j,k,h,l,p;//定义初始变量 

for(i=Row-l; =O;i一)//Row=46{ in—flag[i]=O; //发现白点到黑点的次数 

out—flag[i]=O; //发现黑点到白点的次数 

black—in[i】=O;//发现白点到黑点的地方 

black—out[i】=0;//发现黑点到白点的地方 

ford O;j<Line;j++)//Line=42 

fccdU] video[i][j];} j=12; //

根据实际行消隐数据个数来确定 52 五邑大学学报(自然科学版) 2010钽 

while(j<(Line-2)) //记录进出黑线的地方和次数 

{dif=ccd[j]-ccd[j+2]; if(dif> V—p) //V—P 26 {black—in[i】--j+2; j_j+l; in—flag[i]=in—flag[i]+1;) else {if(dif< V—n)//V—n -26 

{black—out[i]_j+2; j +1; 

out—flag[i] out—flag[i]+1;}} j++;} if(in—flag[i]==l&&out—flag[i]==1) //判断黑线的位置{ 

if(black—out[i]<black—in[i]){ if(i==Row-1)black—mid[i] 80; else black—mid[i] black—mid[i+l】;) else black—mid【i]:(char)((blacK—out[i]+black_in[i】)/2);//黑线中心位置) 

for(i=Row—slect・1;l>0;l一) //平滑曲线 

{unsigned char temp; temp abs—two(data[1】,data[i-1】); 

if(temp>8)data[1-1】=data[1];} 

4 结语 

采用差值法可以稳定、实时地提取赛道图像中黑线位置,但所得到的图像数据中包含干扰信息, 难免会使所得到的黑线位置与实际位置存在偏差.为提高黑线采集的准确性,必须对图像进行滤波 

处理,滤波算法需要根据实际干扰源来决定.如果干扰信息为赛道上一些黑点,对存放黑线位置的 数组采用中值滤波可以很容易消除;如果干扰信息来源于赛道外大面积的黑色地面,必须在采集图 

像前期对采样的数据进行边缘裁剪;如果干扰信息为十字交叉线,采用平滑曲线算法可以解决.通 过多次调试和“飞思卡尔”杯智能汽车竞赛证实了本方案所采集的图像稳定且可靠. 

参考文献 【l】卓晴,黄开胜.邵贝贝,等.学做智能车:挑战“飞思卡尔”杯[MI.北京:北京航空航天大学出版社,2007. [2】关军,吴中仪,胡晨晖.CyberSmar第l届全国大学生智能汽车竞赛技术报告【R】.上海:上海交通大学,2006. 【3】吴怀宇,程磊,章政.大学生智能汽车设计基础与实践【M】.北京:电子工业出版社,2008. 【4】刘林,杨理龙,叶虹.AUTO-2第2届全国大学生智能汽车竞赛技术报告【R】.重庆:重庆邮电大学。2007. 

【责任编辑:孙建平】