一种基于无人驾驶的实时动态红绿灯检测识别方法
【专利摘要】一种基于无人驾驶的实时动态路口红绿灯检测识别方法属于智能交通行业的交通信息检测领域。本发明首先对原始图像进行感兴趣区域切割,通过经验值过滤掉与红绿灯无关的区域。其次,设置小模板即红绿灯模板,并求取其HSV空间的二维直方图。再次。读入待处理图片,设置搜索块大小与小模板相同,反向块投影来搜索,计算出搜索的位置。最后,在得出的红绿灯位置基础上,转换到YCBCR空间进行颜色识别。之后分别求取红色、绿色区域的坐标位置并比较,依据红灯、绿灯位置信息及智能车所在的车道信息决定行驶与否。本发明能够实时动态地检测出红绿灯信息,运用于无人驾驶车当中。
【专利说明】一种基于无人驾驶的实时动态红绿灯检测识别方法
【技术领域】
[0001]本发明是一种利用视频图像基于无人驾驶的实时动态红绿灯检测识别方法,属于智能交通行业的交通信息检测领域。
【背景技术】
[0002]随着社会和经济的快速发展,无人驾驶车辆越来越受到人们的关注。原因在于以下:无人驾驶车辆能够替代驾驶员减少交通事故的发生,并且可以替代驾驶员完成特殊的作业。对于车辆的行驶,在路口准确的实时的识别红绿灯颜色是必须的。因此,对于解决无人驾驶的实时动态红绿灯检测识别,还有提升与进步的空间。
[0003]要解决这个问题,首先必须要能够从复杂的背景图片中获得红绿灯的大概位置,然后再判断红绿灯的具体信息。目前,对无人驾驶车上的红绿灯识别方法主要有神经网络等方法。该方法检测有一定的准确率,但是受样本特性影响,只有样本足以表征问题的特性时,效果明显,并且样本的测试数量要合适,所以样本选择尤其重要。
【发明内容】
[0004]本发明的目的在于将本发明实时运行于无人驾驶车当中,准确识别路口红绿灯信息,提高其行驶的安全性,提出了一种基于视频图像处理的实时动态红绿灯检测识别方法。
[0005]为了实现上述目的,本发明采取了如下技术方案:
[0006]首先固定采集视频的摄像头位置,安装在智能汽车的后视镜中间位置,距离地面
1.2米,摄像头广角大于120度,分辨率大于640*480。
[0007]—、设定红绿灯模板,同时求取模板的二维直方图。所设定的模板特点明显,便于提取直方图特征,进而在下一步利用该特征进行搜索。求二维直方图按如下步骤进行:首先对模板图像进行颜色空间变换,由RGB空间转换到HSV空间;然后求取模板图像的H分量和S分量;在这基础上,计算此二分量的二维直方图hist_src。
[0008]二、读取待处理图片dst_cutl,使用函数cvCalcBackProjectPatchO反向块投影求取红绿灯位置,该函数中参数CV_C0MP_C0RREL表示相关系数,相关系数值为I是最相关。该函数工作过程如下:第一次窗口从(0,O)起滑动,第二次(0,I)起滑动,以此类推,每次滑动移动一个像素,窗口大小与size相同。在dst_cutl上切割一块src大小的临时图像,生成临时图像的二维直方图,比较临时图像的二维直方图与src的二维直方图差异,依次得出取值范围为0-1的相关系数,同时定义与图片dst_cutl大小相同的图片result保存结果,将(0,O)起滑动生成的相关系数赋值给图片result (0,O)处的值,将(0,I)起滑动生成的相关系数赋值给图片result (O, I)处的值,窗口遍历到图片dst_cutl右下角之后,生成结果图result,该图上每点像素表示一次比较后的相关系数值。之后在结果图result上使用函数cvMinMaxLocO计算出该最大值的位置,就找到了滑窗遍历后直方图与模板最相近位置。在图片dst_cutl上找到该位置,再对此位置长度放大2倍,高度不变来包括红绿灯整体,该位置即为红绿灯在待处理图片中的位置,将该部分切割出来得图片dst_Cut2 ;上述函数cvCalcBackProjectPatchO表示的思想是:滑窗与模版大小相同,从顶点坐标开始依次滑动,每次滑动移动一个像素,每次都把当前窗口处的图像存储为一幅临时图像,对图片dst_cutl不做变化,计算当前滑窗内临时图像像素的二维直方图,采用相关系数法与模版的二维直方图进行对比,每次得出一个相关系数,将每个相关系数保存到结果图片对应的点,直到滑窗遍历到图像的右下角终点坐标,取结果图片的相关系数的最大值的坐标位置,将该范围长度放大2倍,高度不变以包括红绿灯整体,将该位置在图片dst_cutl中切割出来即为搜索到的红绿灯所在位置dst_cut2。该步骤通过搜索,在大范围的实时视频中得到了红绿灯精确地位置。
[0009]三、对定位的红绿灯位置dst_Cut2进行颜色识别。上述两步已经得到了准确的红绿灯位置,接下来识别颜色即可。RGB空间也可以进行颜色识别,但是受光照等环境影响较大,转换到YCBCR空间时间短且识别准确。提取符合红绿灯颜色的cr通道值,并且将符合该条件的区域二值化,分别得到绿灯二值化图bw_green,红灯二值化bw_red。
[0010].
【权利要求】
1.一种基于无人驾驶的实时动态红绿灯检测识别方法,其特征在于,包括以下步骤: 1)首先固定采集视频的摄像头位置,安装在智能汽车的后视镜中间位置,距离地面1.1-1.2米,摄像头要求广角大于120度,分辨率大于640*480 ;通过智能车辆上的摄像头,以20-50帧/秒的帧率实时获取智能车辆前方道路的图像image,依据红绿灯在图像中的位置关系,对获取的原始图像image进行剪切获得感兴趣区域,具体为从原始图像image左上端点为(O, O),横坐标为原始图像image宽的0.45,纵坐标为原始图像image高的0.47为起点,切割宽为l/5image,高为l/10image大小的图片得感兴趣区域图片dst_cutl ; 2)设定红绿灯的小模板src,size为100*30,并转化为HSV空间,求取其H分量和S分量;在这基础上,计算此二分量的二维直方图hist_src ; 3)读取待处理图片dst_cutl,反向块投影求取红绿灯位置,在dst_cutl上切割一块src大小的临时图像,生成临时图像的二维直方图,比较临时图像的二维直方图与src的二维直方图差异,依次得出取值范围为0-1的相关系数,遍历到图片dst_cutl,生成结果图result,该图上每点像素表示一次比较后的相关系数值;之后在结果图result上计算出该相关系数最大值的位置,就找到了滑窗遍历后直方图与模板最相近位置;在图片dst_Cutl上找到该位置,再对此位置长度放大2倍,高度不变来包括红绿灯整体,该位置即为红绿灯在待处理图片中的位置,将该部分切割出来得图片dst_Cut2 ; 4)识别红绿灯颜色,将图片dst_cut2由RGB空间转换为YCBCR空间得图片dst_ycrcb,提取符合红绿灯颜色的cr通道值,并且将符合该条件的区域二值化,分别得到绿灯二值化图 bw_green,红灯二值化 bw_red;
【文档编号】G06K9/60GK103489324SQ201310438726
【公开日】2014年1月1日 申请日期:2013年9月22日 优先权日:2013年9月22日
【发明者】袁家政, 刘宏哲, 周宣汝, 郑永荣 申请人:北京联合大学