[发明专利]一种基于无人驾驶的实时动态红绿灯检测识别方法有效
申请号: | 201310438726.9 | 申请日: | 2013-09-22 |
公开(公告)号: | CN103489324A | 公开(公告)日: | 2014-01-01 |
发明(设计)人: | 袁家政;刘宏哲;周宣汝;郑永荣 | 申请(专利权)人: | 北京联合大学 |
主分类号: | G08G1/0967 | 分类号: | G08G1/0967;G06K9/60 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 刘萍 |
地址: | 100101 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种基于无人驾驶的实时动态路口红绿灯检测识别方法属于智能交通行业的交通信息检测领域。本发明首先对原始图像进行感兴趣区域切割,通过经验值过滤掉与红绿灯无关的区域。其次,设置小模板即红绿灯模板,并求取其HSV空间的二维直方图。再次。读入待处理图片,设置搜索块大小与小模板相同,反向块投影来搜索,计算出搜索的位置。最后,在得出的红绿灯位置基础上,转换到YCBCR空间进行颜色识别。之后分别求取红色、绿色区域的坐标位置并比较,依据红灯、绿灯位置信息及智能车所在的车道信息决定行驶与否。本发明能够实时动态地检测出红绿灯信息,运用于无人驾驶车当中。 | ||
搜索关键词: | 一种 基于 无人驾驶 实时 动态 红绿灯 检测 识别 方法 | ||
【主权项】:
1.一种基于无人驾驶的实时动态红绿灯检测识别方法,其特征在于,包括以下步骤:1)首先固定采集视频的摄像头位置,安装在智能汽车的后视镜中间位置,距离地面1.1-1.2米,摄像头要求广角大于120度,分辨率大于640*480;通过智能车辆上的摄像头,以20-50帧/秒的帧率实时获取智能车辆前方道路的图像image,依据红绿灯在图像中的位置关系,对获取的原始图像image进行剪切获得感兴趣区域,具体为从原始图像image左上端点为(0,0),横坐标为原始图像image宽的0.45,纵坐标为原始图像image高的0.47为起点,切割宽为1/5image,高为1/10image大小的图片得感兴趣区域图片dst_cut1;2)设定红绿灯的小模板src,size为100*30,并转化为HSV空间,求取其H分量和S分量;在这基础上,计算此二分量的二维直方图hist_src;3)读取待处理图片dst_cut1,反向块投影求取红绿灯位置,在dst_cut1上切割一块src大小的临时图像,生成临时图像的二维直方图,比较临时图像的二维直方图与src的二维直方图差异,依次得出取值范围为0-1的相关系数,遍历到图片dst_cut1,生成结果图result,该图上每点像素表示一次比较后的相关系数值;之后在结果图result上计算出该相关系数最大值的位置,就找到了滑窗遍历后直方图与模板最相近位置;在图片dst_cut1上找到该位置,再对此位置长度放大2倍,高度不变来包括红绿灯整体,该位置即为红绿灯在待处理图片中的位置,将该部分切割出来得图片dst_cut2;4)识别红绿灯颜色,将图片dst_cut2由RGB空间转换为YCBCR空间得图片dst_ycrcb,提取符合红绿灯颜色的cr通道值,并且将符合该条件的区域二值化,分别得到绿灯二值化图bw_green,红灯二值化bw_red;
其中,sg.val[0]为绿灯二值化图bw_green的像素值,s.val[1]为dst_ycrcb的cr通道值,满足上述条件时,说明当前像素为绿色像素,将其二值化为白色,不满足上述条件时,将其二值化为黑色;
同理,sr.val[0]为红灯二值化图bw_red的像素值,满足上述条件时,说明当前像素为红色像素,同上进行二值化操作;之后对两幅图膨胀操作得到绿色和红色的膨胀二值图dst_dilate_green,dst_dilate_red;5)判别红绿灯状态,首先求解红灯、绿灯各自的像素信息;依据dst_dilate_green与dst_dilate_red中的像素是否符合条件阈值,输出判断信息为红灯还是绿灯,达到准确判断,辅助驾驶的目的;Sum g = Sum g + 1 s g . val [ 0 ] = 255 Sum g else - - - ( 3 ) ]]> Sumg为绿灯像素数,其中当sg.val[0]为255时,说明该白色像素为绿灯像素,Sumg累加,若不为255,则不是绿色像素,像素数不累加;Sum r = Sum r + 1 s r . val [ 0 ] = 255 Sum r else - - - ( 4 ) ]]> Sumr为红灯像素数,其中当sr.val[0]为255时,说明该白色像素为红灯像素,Sumr累加,若不为255,则不是红色像素,像素数不累加;其次,求解红灯、绿灯各自的位置信息;在dst_dilate_green与dst_dilate_red图中,红绿灯为白色区域,cvFindContours函数检索出该轮廓,cvDrawContours在dst_dilate_green中将绿灯外轮廓标示为绿色,图为dst_g,在dst_dilate_red中将红灯外轮廓标示为红色,图为dst_r;此后分别遍历外轮廓线上的像素点,将横坐标x累加分别得红、绿外轮廓线坐标和sum_r,sum_g,分别除以红、绿外轮廓线像素总数num_r、num_g,得红、绿区域位置avg_r,avg_g;判断上述二值大小,得到红绿灯同时存在时的位置关系;![]()
![]()
avg _ r = Sum _ r num _ r - - - ( 7 ) ]]>avg _ g = Sum _ g num _ g - - - ( 8 ) ]]> 其中s.val[0]为图dst_g、dst_r的B通道值,s.val[1]为G通道值,s.val[2]为R通道值;根据以下方法判断当前信号灯的状态;
其中Sumg,Sumr满足上述阈值范围时,Green为1表明前方只存在绿灯,智能车正常行驶;
其中Sumg,Sumr满足上述阈值范围时,red为1表明前方只存在红灯,智能车应减速并准备停车;
Sumg,Sumr满足上述阈值范围时,红灯绿灯同时存在,并且绿灯在左,红灯在右;
Sumg,Sumr满足上述阈值范围时,红灯绿灯同时存在,并且红灯在左,绿灯在右,智能车依据其所在车道判断停车与否。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京联合大学,未经北京联合大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310438726.9/,转载请声明来源钻瓜专利网。
- 上一篇:户外防水百叶装置
- 下一篇:一种芯管折叠的CO2气体激光管