发明名称 一种交通灯识别方法
摘要 本发明公开了一种交通灯识别方法,其预先对交通灯目标区域的HSV颜色空间的亮度分量进行二值化,以最大连通域的面积特征作为依据,通过RGB空间灰度二值化和HSV颜色空间二值化方法的切换,获取二值化结果并从中提取代表交通灯信号灯亮区的连通域,同时利用前后帧交通灯图像亮度分量的差分实现交通灯目标水平坐标的校准,然后设计分类器,根据提取出的连通域的数目、颜色、位置特征,得到交通灯目标的分类识别结果,最后当交通灯识别结果为黄灯时,利用黄灯的垂直坐标实现交通灯目标垂直位置校准,优点是本方法实现简单、识别准确度高,对不同路口环境的适应性强且计算复杂度低、占用资源较少,并且可以实现交通灯目标位置校准。
申请公布号 CN104574960A 申请公布日期 2015.04.29
申请号 CN201410822929.2 申请日期 2014.12.25
申请人 宁波中国科学院信息技术应用研究院 发明人 陈辰;黄晁;张从连;顾幸方;陈辰;袁小平;戎鲁凯
分类号 G08G1/01(2006.01)I;G06K9/62(2006.01)I 主分类号 G08G1/01(2006.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 33226 代理人 周珏
主权项 一种交通灯识别方法,其特征在于包括以下步骤:①将实时获取的路口监控视频中当前待处理的第n帧路口图片中交通灯所在的矩形区域定义为当前交通灯目标区域,其中,n的初始值为0,0≤n≤N‑1,N表示实时获取的路口监控视频中包含的路口图片的总帧数,将当前交通灯目标区域在第n帧路口图片中的位置以当前交通灯目标区域的左上角像素点在第n帧路口图片中的坐标位置(x<sub>w</sub>,y<sub>w</sub>)来表示,1≤x<sub>w</sub>≤W,1≤y<sub>w</sub>≤H,W表示实时获取的路口监控视频中路口图片的宽度,H表示实时获取的路口监控视频中路口图片的高度;②将当前交通灯目标区域的面积记为A<sub>all</sub>,A<sub>all</sub>=X×Y,其中,X为当前交通灯目标区域在宽度方向上的像素数目,Y为当前交通灯目标区域在长度方向上的像素数目;③根据A<sub>all</sub>,并通过判定当前交通灯目标区域中的亮区位置是否发生灯光呈光晕状扩散的现象,自适应地确定当前交通灯目标区域的二值化方法,当n=0时,如果当前交通灯目标区域中的亮区位置发生灯光呈光晕状扩散的现象,则将RGB空间灰度二值化方法确定为当前交通灯目标区域的二值化方法;如果当前交通灯目标区域中的亮区位置未发生灯光呈光晕状扩散的现象,则将HSV空间灰度二值化方法确定为当前交通灯目标区域的二值化方法;然后采用确定的二值化方法对当前交通灯目标区域进行处理,获得当前交通灯目标区域的二值化结果,记为<img file="FDA0000643616320000011.GIF" wi="85" he="59" />再执行步骤⑤;当0&lt;n&lt;100时,如果当前交通灯目标区域中的亮区位置发生灯光呈光晕状扩散的现象,则使发生灯光呈光晕状扩散的现象的统计量增加1;如果当前交通灯目标区域中的亮区位置未发生灯光呈光晕状扩散的现象,则使未发生灯光呈光晕状扩散的现象的统计量增加1;然后将第0帧路口图片中的交通灯目标区域采用的二值化方法确定为适合当前交通灯目标区域的二值化方法,采用确定的二值化方法对当前交通灯目标区域进行处理,获得当前交通灯目标区域的二值化结果,记为<img file="FDA0000643616320000012.GIF" wi="90" he="58" />再执行步骤④;当n≥100时,计算从第n‑99帧到第n帧路口图片中的交通灯目标区域中发生灯光呈光晕状扩散现象的帧数所占的比例,记为P<sub>spread</sub>,通过比较P<sub>spread</sub>与设定的阈值的大小确定适合当前交通灯目标区域的二值化方法;再采用确定的二值化方法对当前交通灯目标区域进行处理,获得当前交通灯目标区域的二值化结果,记为<img file="FDA0000643616320000013.GIF" wi="85" he="59" />接着判断适合当前交通灯目标区域的二值化方法与适合前一帧路口图片中的交通灯目标区域的二值化方法是否一致,如果一致,则执行步骤④,否则执行步骤⑤;④根据当前交通灯目标区域与前一帧路口图片中的交通灯目标区域的亮度差分,得到当前交通灯目标区域相比前一帧路口图片中的交通灯目标区域中信号灯变亮的区域和变暗的区域,从而判别当前交通灯目标区域的信号灯亮度变化情况,若当前交通灯目标区域相比前一帧路口图片中的交通灯目标区域没有信号灯亮度变化,则执行步骤⑤;若当前交通灯目标区域相比前一帧路口图片中的交通灯目标区域有信号灯亮度变化,则获取当前交通灯目标区域的水平校准坐标,记为x<sub>w</sub>';然后根据x<sub>w</sub>'判定当前交通灯目标区域在水平位置是否发生偏移,若判定当前交通灯目标区域在水平位置为发生偏移则执行步骤⑤,若判定当前交通灯目标区域在水平位置发生偏移,将x<sub>w</sub>'赋值给x<sub>w</sub>,再返回步骤③重新获取<img file="FDA0000643616320000025.GIF" wi="89" he="58" />⑤从<img file="FDA0000643616320000026.GIF" wi="70" he="58" />中提取反应当前交通灯目标区域中的亮区位置的有效连通域,然后根据得到的有效连通域的数目,判断当前交通灯目标区域中的信号灯状态:若有效连通域的数目为0,则说明当前交通灯目标区域内没有亮着的信号灯,识别为“灯灭”结果,并结束当前交通灯目标区域的识别,然后执行步骤⑨;若有效连通域的数目大于或等于3,则说明当前交通灯目标区域内出现过多的亮区,识别为“未识别”结果,并结束当前交通灯目标区域的识别,然后执行步骤⑨;若有效连通域的数目等于1,则说明当前交通灯目标区域内有一盏或两盏亮着的信号灯,然后执行步骤⑥;若有效连通域的数目等于2,则说明当前交通灯目标区域内有两盏亮着的信号灯,然后执行步骤⑥;⑥分别获取<img file="FDA0000643616320000021.GIF" wi="62" he="71" />中的每个有效连通域内红色像素点、黄色像素点、绿色像素点的数目,对应记为<img file="FDA0000643616320000022.GIF" wi="395" he="78" />⑦将三盏信号灯按照位置分为上、中间、下三盏,定义3位比特识别编码Code,分别用于保存对应上、中间、下三盏信号灯的识别结果,根据有效连通域的长度判别当前交通灯目标区域的信号灯数目,联合根据当前交通灯目标区域的有效连通域的位置特征、颜色特征、变化序列特征更新编码Code的值,然后根据更新的编码Code的值完成对当前交通灯目标区域中信号灯的识别,得到交通灯的识别结果;⑧当交通灯的识别结果为黄灯时对当前交通灯目标区域进行垂直位置的校准,将校准后的垂直坐标位置记为y<sub>w</sub>',<img file="FDA0000643616320000023.GIF" wi="456" he="133" />其中<img file="FDA0000643616320000024.GIF" wi="92" he="74" />为当前交通灯目标区域的有效连通域垂直方向的中点坐标,再将y'<sub>w</sub>赋值给y<sub>w</sub>;⑨令n=n+1,将下一帧待处理的路口图片中的交通灯目标区域作为当前交通灯目标区域,将当前交通灯目标区域在其所在的路口图片中的位置以(x<sub>w</sub>,y<sub>w</sub>)表示,再返回步骤②继续执行,直至处理完路口监控视频中所有的路口图片为止。
地址 315040 浙江省宁波市高新区光华路299弄19号C9幢9层