智能车实时图像处理系统的研究
- 格式: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.
【责任编辑:孙建平】