发明内容
本发明的目的是为了解决上述问题,具体地说,本发明的目的是提供一种定位准确、识别简单的信号灯状态的识别方法及识别装置。
根据本发明的一个目的,本发明提供了一种信号灯状态的识别方法,包括以下步骤:A)在图像中选取包括信号灯在内的区域作为检测区域,并采集所选检测区域的图像;B)在所述检测区域的图像中对单个信号灯进行定位;C)计算所述单个信号灯的颜色属性,以确定所述单个信号灯的颜色;D)通过逻辑判断来确定整体信号灯的状态,如果所述信号灯的第一颜色状态稳定,当所述信号灯状态是第一颜色时,输出第一颜色,当所述信号灯是第二或第三颜色时,通过所述信号灯的时序和空间相对位置,判断所述信号灯的颜色属性,并输出对应的颜色;E)将所述整体信号灯的状态输出。
此外,优选地,所述B)步骤还包括以下步骤:训练信号灯Adaboost分类器;使用Adaboost分类器遍历信号灯检测区域;获取所有信号灯候选窗口;合并候选窗口;输出信号灯的最终位置。
此外,优选地,所述D)步骤中,所述第一颜色为绿色。
此外,优选地,所述C)步骤还包括:使用基于HSL彩色空间的颜色模型计算所述单个信号灯的颜色属性,以确定所述单个信号灯的颜色。
根据本发明的另一个目的,本发明还提供一种信号灯状态的识别装置,包括:图像采集单元,在图像中选取包括信号灯在内的区域作为检测区域,并采集所选检测区域的图像;定位单个信号灯单元,在所述检测区域的图像中对单个信号灯进行定位;单个信号灯颜色属性确定单元,计算所述单个信号灯的颜色属性,以确定所述单个信号灯的颜色;信号灯逻辑识别单元,通过逻辑判断来确定整体信号灯的状态,如果所述信号灯的第一颜色状态稳定,当所述信号灯状态是第一颜色时,输出第一颜色,当所述信号灯是第二或第三颜色时,通过所述信号灯的时序和空间相对位置,判断所述信号灯的颜色属性,并输出对应的颜色;信号灯状态输出单元,将所述整体信号灯的状态输出。
此外,优选地,所述定位单个信号灯单元还执行以下动作:训练信号灯Adaboost分类器;使用Adaboost分类器遍历信号灯检测区域;获取所有信号灯候选窗口;合并候选窗口;输出信号灯的最终位置。
此外,优选地,所述单个信号灯颜色属性确定单元利用基于HSL彩色空间的颜色模型计算所述单个信号灯的颜色属性,以确定所述单个信号灯的颜色。
由于本发明先检测单个信号灯的状态,然后再通过逻辑判断来确定整体信号灯的状态,同时也考虑到实际环境中光照变化和相机成像偏色等问题,这使得本发明具有广泛的适用性和很高的准确性。
同时,本发明通过使用Adaboost分类器定位单个信号灯,该分类器的筛选式级联结构使得信号灯的定位具有实时性。
此外,本发明在采集图像的信号灯周围选取一个足够大的区域作为信号灯的检测区域,很好的解决了信号灯晃动问题。
具体实施方式
下面结合附图对本发明的实施例进行详细说明。
图1是示出本发明的信号灯状态的识别方法的流程图。
参照图1,首先在信号灯周边划定一个检测区域进行检测。由于监控路口的相机和信号灯立杆一旦固定,信号灯在图像中的位置也就基本保持不变,考虑到大风等不稳定因素,选取包括信号灯在内的一个足够大的区域作为信号灯的检测区域,并且,采集所选择的信号灯检测区域的图像(步骤S10)。
然后,在所述检测区域中对单个信号灯进行定位(步骤S20)。本发明使用预先训练好的信号灯Adaboost分类器遍历信号灯检测区域内所有合适尺寸的子窗口,定位单个信号灯的位置。
使用Adaboost分类器定位信号灯的步骤如下:训练信号灯Adaboost分类器;使用分类器遍历信号灯检测区域,检测区域内所有合适尺寸的子窗口;获取所有信号灯候选窗口;合并候选窗口并输出信号灯的最终位置。
接着,通过颜色模型计算所述单个信号灯的颜色属性,以便确定该单个信号灯的颜色(步骤S30)。本发明的颜色模型基于HSL(hue,saturation,lightness)颜色空间,定义如下:
其中,(x,y)代表图像的空间坐标,g
H(x,y)、g
S(x,y)、g
L(x,y)分别是图像在点(x,y)的色调、饱和度和亮度值,t
H、t
S、t
L分别是颜色模型在色调、饱和度和亮度的阈值,
和
分别代表HSL空间中绿色色调和红黄色调的中值。
通过以上的颜色模型,统计信号灯区域内所有像素点的颜色属性,以此来获得这个区域的颜色属性。
在获得信号灯的位置和颜色之后,通过逻辑判断来确定整体信号灯的状态(步骤S40)。
根据本发明的一个实施例,如果信号灯的绿灯颜色状态比较稳定,则先定位绿灯的位置,然后进行整体信号灯的颜色的判断,当信号灯定位区域的颜色属性是绿色时,则认为该信号灯为绿灯,输出绿灯状态。否则,如果信号灯定位区域的颜色是黄色或红色,则需要进一步通过信号灯的时序和空间位置信息,判断该信号灯的状态。以横排组灯和竖排组灯为例,它的整体的状态判断逻辑如下:
表1
前一状态 |
当前颜色属性 |
相对位置 |
当前识别状态 |
- |
绿色 |
- |
绿灯 |
绿灯 |
黄色/红色 |
1 |
黄灯 |
绿灯 |
黄色/红色 |
2 |
红灯 |
黄灯 |
黄色/红色 |
0 |
黄灯 |
黄灯 |
黄色/红色 |
1 |
红灯 |
红灯 |
黄色/红色 |
- |
红灯 |
如表1所示,当当前检测到的信号灯的颜色属性是绿色时,认为本信号灯为绿色,输出绿色状态;而当当前信号灯是黄色或红色时,由于不能判定是哪一种颜色,则检测前一状态的颜色,当前一状态是绿色时,当当前状态的与前一状态的相对位置相差一个信号灯的长度时,则该状态识别为黄灯,当相差两个信号灯的长度时,则为红灯;当前一状态是黄色时,当当前状态与前一状态的相对位置重叠时,则为黄灯,当相差一个信号灯的长度时,则为红灯;当前一状态为红灯时,则为红灯。
根据本发明的另一个实施例,如果信号灯的黄灯颜色状态比较稳定,则先定位黄灯的位置,其整体逻辑如下:
表2
- |
黄色 |
- |
黄灯 |
黄灯 |
绿色/红色 |
- |
红灯 |
红灯 |
绿色/红色 |
0 |
红灯 |
红灯 |
绿色/红色 |
-2 |
绿灯 |
绿灯 |
绿色/红色 |
- |
绿灯 |
如表2所示,当当前检测到的信号灯的颜色属性是黄色时,认为信号灯为黄色,输出黄色状态;而当当前信号灯是绿色或红色时,由于不能判定是哪一种颜色,则检测前一状态的颜色,当前一状态是黄色时,则当前状态识别为红灯;当当前状态为红灯时,当当前状态与前一状态的相对位置重叠时,则该状态识别为红灯,当反向相差两个信号灯的长度时,则为绿灯;当前一状态是绿色时,则为绿灯。
根据本发明又一个实施例,如果信号灯的红灯颜色状态比较稳定,则先定位红灯的位置,其整体逻辑如下:
表3
前一状态 |
当前颜色属性 |
相对位置 |
当前识别状态 |
- |
红色 |
- |
红灯 |
红灯 |
绿色/黄色 |
- |
绿灯 |
绿灯 |
绿色/黄色 |
0 |
绿灯 |
绿灯 |
绿色/黄色 |
1 |
黄灯 |
黄灯 |
绿色/黄色 |
- |
黄灯 |
如表3所示,当当前检测到的信号灯的颜色属性是红色时,认为本信号灯为红色,输出红色状态;而当当前信号灯是绿色或黄色时,由于不能判定是哪一种颜色,则检测前一状态的颜色,当前一状态是红色时,则当前状态识别为绿灯,当当前状态为绿灯时,当前状态与前一状态的相对位置重叠时,则该状态识别为绿灯,当相差一个信号灯的长度时,则为黄灯;当前一状态是黄色时,则为黄灯。
最后,将通过以上逻辑判断得出的整体信号灯的状态输出到接收中心(步骤S50)。
图2是示出本发明的信号灯状态的识别装置的示意框图。
根据图2,本发明的信号灯状态的识别装置包括:图像采集单元;定位单个信号灯单元;单个信号灯颜色属性确定单元;信号灯逻辑识别单元和信号灯状态输出单元。
图像采集单元10用于确定所要采集的信息的区域,并采集所选区域的信息。
定位单个信号灯单元20用于对所选区域的单个信号灯进行定位。本发明使用预先训练好的信号灯Adaboost分类器遍历信号灯检测区域内所有合适尺寸的子窗口,来定位单个信号灯的位置。
单个信号灯颜色属性确定单元30,用于确定所述单个信号灯的颜色属性。本发明使用基于HSL(hue,saturation,lightness)颜色空间的颜色模型,来确定单个信号灯的颜色属性。
信号灯逻辑识别单元40,用于确定整体信号灯的状态。通过预先设定好的逻辑判断系统识别信号灯的整体状态。
信号灯状态输出单元50用于输出整体信号灯的状态。
在实际应用环境里,监控路口的相机和信号灯立杆一旦固定,信号灯在图像中的位置也就基本保持不变,考虑到大风等不稳定因素,本发明在信号灯周围选取一个足够大的区域作为信号灯的检测区域。这样本发明无需全图定位信号灯,仅需处理检测区域内的图像,同时也很好地解决了信号灯成像的晃动问题。
由于本发明先检测单个信号灯的状态,然后再通过上层逻辑的组合识别整体信号灯的状态,同时也考虑到实际环境中光照变化和相机成像偏色等问题,这使得本发明具有广泛的适用性和很高的准确性。
同时,本发明通过使用Adaboost分类器定位信号灯,该分类器的筛选式级联结构使得信号灯定位具有实时性。
在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上对本发明所提供信号灯状态的识别方法及识别装置进行改进或变形,而这些改进或变形,都落在本发明的保护范围内。本领域技术人员应该明白,上述的具体描述只是更好地解释本发明的目的,本发明的保护范围由权利要求及其等同物限定。