一种交通灯定位方法
技术领域
本发明涉及一种计算机视觉识别技术,尤其是涉及一种交通灯定位方法。
背景技术
随着社会的进步和经济的发展,通过引入模式识别和电子信息技术而形成的智能交通系统已引起各国政府和交通部门的普遍重视。交通标志的识别是智能交通系统重要的组成部分,也是机器学习研究的重要学术分支,它涉及模式识别、图像处理、数字信号处理、人工智能、通信技术和信息论等众多技术领域。目前对于交通灯状态的识别主要依靠安装在交通路口的视频监控系统,依此获取车辆是否违章等信息并提供处罚依据。实现对交通灯状态实时、准确识别,对于提升城市化建设具有重要意义。
对于固定在交通路口的视频监控系统,交通灯的位置是相对固定的。但在实际环境中,由于车辆行驶产生的地面震动、刮风导致的摄像头晃动、温度变化导致的摄像头位置偏移,都会使交通灯在视频图像中的位置产生显著变化。因此,视频图像中的交通灯位置是相对固定,但在小范围晃动或缓慢偏移,其位置变化随机性强、无规律可循,并且交通灯到摄像头的实际距离越远,相对于交通灯宽度,其晃动或偏移量越大。
目前,固定在交通路口的视频监控系统所采用的交通灯识别方法都是以准确的交通灯定位为前提的,而当视频图像中的交通灯位置晃动或偏移时,这种交通灯识别方法的准确率会大幅降低甚至完全失效。
因此,有必要研究一种适用于固定在交通路口的视频监控系统且计算复杂度低、运算速度快、环境适应力强、实现简单的交通灯定位方法,这有利于提高交通灯识别的准确性,从而减少交通部门处理复杂、错误交通信息的工作量,节省人力物力,同时对于交通事故责任公正认定、准确判断车辆是否违章等具有重要意义。
发明内容
本发明所要解决的技术问题是提供一种用于交通路口视频监控系统中的交通灯定位方法,其计算复杂度低、运算速度快、环境适应力强、实现简单。
本发明解决上述技术问题所采用的技术方案为:一种交通灯定位方法,其特征在于包括以下步骤:
①将实时获取的交通路口监控视频中当前待处理的第n帧路口图像中交通灯所在的最小矩形区域定义为当前目标区域,记为CTn;将CTn在第n帧路口图像中的位置以CTn的左上角像素点在第n帧路口图像中的坐标位置来表示,记为(xw,yw);并将CTn的面积记为Alight,Alight=X×Y;其中,n的初始值为0,0≤n≤N-1,N表示实时获取的交通路口监控视频中包含的路口图像的总帧数,W和H对应表示实时获取的交通路口监控视频中的路口图像的宽度和高度,X表示CTn在宽度方向上的像素点的总个数,Y表示CTn在长度方向上的像素点的总个数;
设定一个白天帧数统计量用于统计白天条件下成功检测到交通灯目标的连续帧数,并令初始值为0;设定一个动态阈值Tactive,并规定其变化范围为40≤Tactive≤120,当n=0时取Tactive=40;
②在第n帧路口图像中将CTn向四周进行扩展形成一个更大的矩形区域,将该矩形区域定义为约束区域,并记为CSn;然后将CSn在第n帧路口图像中的位置以CSn的左上角像素点在第n帧路口图像中的坐标位置来表示,记为yd=yw-X-yover;将CSn中的中心像素点在第n帧路口图像中的坐标位置记为(xc,yc),并将CSn的面积记为Adet,Adet=X'×Y';其中,0≤xd≤W-X'-1,0≤yd≤H-Y'-1,xover表示横坐标边界修正值,yover表示纵坐标边界修正值, X'表示CSn在宽度方向上的像素点的总个数,Y'表示CSn在长度方向上的像素点的总个数,X'=4X,Y'=(Y+2X);
③获取CSn的灰度图像,记为CSGn;然后对CSGn进行二值化处理得到CSGn的第一二值化图像,记为再获取中的亮区面积的比例、中的小面积亮区的数目、中的标准灯面积亮区的数目、中的大面积亮区的数目以及中的暗区的平均灰度值,对应记为phigh、nS、nA、nL以及glow;
④根据phigh、nS、nA、nL以及glow确定第n帧路口图像为夜晚条件下的图像还是为白天条件下的图像还是无法判断白天或夜晚条件下的图像,具体过程为:④-1、判断nS+nA≤4且nA≤3且nL=0且phigh<0.2且glow<50是否成立,如果成立,则确定第n帧路口图像为夜晚条件下的图像,并令再执行步骤⑤;如果不成立,则执行步骤④-2;④-2、判断是否同时满足以下两个条件,如果满足,则确定第n帧路口图像为白天条件下的图像,再执行步骤⑦;如果不满足,则执行步骤④-3;条件一:nS+nA≥1或nA≥1,条件二:phigh>0.1且glow>30;④-3、确定第n帧路口图像为无法判断白天或夜晚条件下的图像,并令再执行步骤;
⑤如果nA==1,则表明在夜晚条件下中有且只有一个四连通域,记为然后计算的宽度和长度,对应记为Wa和La,Wa=xa,max-xa,min,La=ya,max-ya,min,其中,xa,min和xa,max对应表示中的像素点的水平坐标的最小值和最大值,ya,min和ya,max对应表示中的像素点的垂直坐标的最小值和最大值;接着判断是否成立,如果成立,则判定为夜晚条件下成功检测到的交通灯目标,再执行步骤⑥进行定位,如果不成立,再执行步骤;如果nA>1或nA<1,则执行步骤;
⑥令然后根据xa,mid、xc和xover,计算CTn在水平方向的偏移量,记为xmov,xmov=xa,mid-(xc+xover);并根据ya,min、ya,max和yover,计算CTn在垂直方向的偏移量,记为ymov,再执行步骤
⑦根据Tactive对CSGn重新进行二值化处理得到CSGn的第二二值化图像,记为接着定义两个有共同中心像素点的矩形,其中一个矩形的宽度和长度对应为Wout和Lout,另一个矩形的宽度和长度对应为Win和Lin,Wout>Win,Lout>Lin,且满足deep=Wout-Win=Lout-Lin,deep≠0,将两个矩形之间的区域定义为框架模板,记为K(Wout,Lout,deep);再固定Wout的值和deep的值,通过改变Lout的值确定四个不同的框架模板,根据四个不同的框架模板在中进行框架检测,得到的框架检测结果,记为
⑧统计中的四连通域的数目,记为nK,如果nK==0,则令Tactive=Tactive+10,再执行步骤;如果nK>0,则在中获取包含中的所有四连通域的最小矩形区域的宽度和长度,记为WR和LR,WR=xb,max-xb,min,LR=yb,max-yb,min,然后根据WR和LR对Tactive进行调整,再执行步骤⑨;其中,Tactive=Tactive+10中的“=”为赋值符号,xb,min和xb,max对应表示在中获取的包含中的所有四连通域的最小矩形区域中的像素点的水平坐标的最小值和最大值,yb,min和yb,max对应表示在中获取的包含中的所有四连通域的最小矩形区域中的像素点的垂直坐标的最小值和最大值;
⑨如果nK==1,则表明在白天条件下中有且只有一个四连通域,记为,然后执行步骤⑩;如果nK>1,则令然后执行步骤;
⑩判断WR≤1.25X且LR≤Y-0.2X且Y-0.2X≤LR≤Y+0.4X是否成立,如果成立,则判定为白天条件下成功检测到的交通灯目标,并令然后执行步骤;如果不成立,则令然后执行步骤;
如果则执行步骤;如果则表明连续16帧白天条件下成功检测到交通灯目标,然后执行步骤进行定位;
令并令然后根据xb,mid、xc和xover,计算CTn在水平方向的偏移量,记为xmov,xmov=xb,mid-(xc+xover);并根据yb,mid和yc,计算CTn在垂直方向的偏移量,记为ymov,ymov=yb,mid-(yc+yover);再执行步骤
根据xmov和ymov,对CTn在第n帧路口图像中的位置进行校准,将校准后的CTn的左上角像素点在第n帧路口图像中的坐标位置记为(xw',yw'),xw'=xw+xmov,yw'=yw+ymov,然后令xw=xw',并令yw=yw',其中,xw=xw'和yw=yw'中的“=”为赋值符号;
令n=n+1,将实时获取的交通路口监控视频中下一帧待处理的路口图像中左上角像素点的坐标位置为(xw,yw)且面积为X×Y的矩形区域作为当前目标区域,记为CTn,再返回步骤②继续执行,直至实时获取的交通路口监控视频中的所有路口图像处理完毕;其中,n=n+1中的“=”为赋值符号。
所述的步骤③中CSGn的第一二值化图像的获取过程为:将中坐标位置为(i,j)的像素点的像素值记为其中,0≤i≤X'-1,0≤j≤Y'-1,CSGn(i,j)表示CSGn中坐标位置为(i,j)的像素点的像素值。
所述的步骤③中phigh、nS、nA、nL以及glow的获取过程为:
③-1、统计中像素值为255的像素点的总个数,记为nhigh;然后计算中的亮区面积的比例,记为phigh,
③-2、统计中面积大于5且小于的四连通域的数目,将该数目作为中的小面积亮区的数目,记为nS;
③-3、统计中面积大于或等于且小于的四连通域的数目,将该数目作为中的标准灯面积亮区的数目,记为nA;
③-4、统计中面积大于或等于的四连通域的数目,将该数目作为中的大面积亮区的数目,记为nL;
③-5、计算中的暗区的平均灰度值,记为glow,glow的值等于CSGn中像素值小于120的所有像素点的像素值的平均值。
所述的步骤⑦中CSGn的第二二值化图像的获取过程为:将中坐标位置为(i,j)的像素点的像素值记为 其中,0≤i≤X'-1,0≤j≤Y'-1,CSGn(i,j)表示CSGn中坐标位置为(i,j)的像素点的像素值。
所述的步骤⑦中的框架检测结果的获取过程为:
⑦-1、令表示一幅尺寸大小与一致的图像,固定Wout的值和deep的值,通过改变Lout的值确定四个不同的框架模板,分别记为K0(X,X,1)、K1(X,2X,1)、K2(X,2.5X,1)、K3(X,3X-4,1);
⑦-2、将K0(X,X,1)作为当前框架模板;
⑦-3、将中当前待处理的像素点定义为当前像素点;
⑦-4、假设当前像素点的坐标位置为(u,v),则以当前像素点为左上角像素点,根据当前框架模板在中确定一个框架,记为K0(X,X,1)(u,v),其中,0≤u≤X'-Wout-1,0≤v≤Y'-Lout-1;
⑦-5、统计K0(X,X,1)(u,v)中像素值为255的像素点的总个数,记为nf,(u,v);然后判断nf,(u,v)+m>Wout×Lout-(Wout-deep)×(Lout-deep)是否成立,如果成立,则将中与K0(X,X,1)(u,v)对应的区域中的所有像素点的像素值置为255,然后执行步骤⑦-6;如果不成立,则直接执行步骤⑦-6;其中,当前框架模板为K0(X,X,1)时取m=2,当前框架模板为K1(X,2X,1)时取m=4,当前框架模板为K2(X,2.5X,1)时取m=5,当前框架模板为K3(X,3X-4,1)时取m=6;
⑦-6、将中下一个待处理的像素点作为当前像素点,然后返回步骤⑦-4继续执行,直至中横坐标为范围[0,X'-Wout-1]且纵坐标为范围[0,Y'-Lout-1]内的所有像素点处理完毕;
⑦-7、将K1(X,2X,1)、K2(X,2.5X,1)、K3(X,3X-4,1)分别作为当前框架模板,然后按照步骤⑦-3至步骤⑦-6的过程,以相同的方式进行处理,最终得到的为的框架检测结果。
所述的步骤⑧中根据WR和LR对Tactive进行调整的具体过程为:
⑧-1、判断WR>1.5X或LR>0.5X+Y是否成立,如果成立,则令Tactive'=Tactive-10,然后执行步骤⑧-3;如果不成立,则执行步骤⑧-2;
⑧-2、判断LR<Y-0.2X是否成立,如果成立,则令Tactive'=Tactive+10,然后执行步骤⑧-3;如果不成立,则令Tactive'=Tactive,然后执行步骤⑧-3;其中,Tactive'=Tactive中的“=”为赋值符号;
⑧-3、令Tactive”=max(40,Tactive'),再令Tactive=min(120,Tactive”),其中,max()为取最大值函数,min()为取最小值函数。
与现有技术相比,本发明的优点在于:
1)本发明方法对不同十字路口的适配简单,不需要样本采集、训练或模板生成过程,给定交通灯所在的目标区域后,便能得到约束区域,然后获取约束区域的灰度图像的二值化图像,在二值化图像中提取出特征实现白天夜晚的判断,夜晚条件下状态为“亮”的信号灯为交通灯的显著特征,白天条件下交通灯的黑色框架灰度值很低为交通灯的显著特征,因此在夜晚条件下通过检测状态为“亮”的信号灯实现交通灯检测定位,在白天条件下通过检测交通灯的黑色框架实现交通灯检测定位,实现过程简单,计算复杂度低,运算速度快。
2)本发明方法通过约束区域的灰度图像的二值化图像中的亮区面积的比例、小面积亮区的数目、标准灯面积亮区的数目、大面积亮区的数目以及暗区的平均灰度值来判断图像为夜晚条件下的图像还是为白天条件下的图像还是无法判断白天或夜晚条件下的图像,特征提取简单,却是约束区域内的显著特征,使得白天夜晚的判别简单高效。
3)本发明方法在白天条件下引入了一个动态阈值,根据交通灯的黑色框架检测结果调节动态阈值的大小,若黑色框架检测结果的宽度或长度太大,则降低动态阈值,若黑色框架检测结果的宽度或长度太小,则提高动态阈值,最终得到合适的黑色框架检测结果,实现了白天条件下的交通灯检测定位,因此本发明方法能够适应白天条件下较大范围内的亮度变化,能在阴雨天、晴天等没有严重光干扰的条件下正常运行,而在反光等极端条件下,也不会产生误检。
4)本发明方法的误检率低,大多数时间段的漏检率低,能够满足交通路口固定摄像头对交通灯的检测定位需求,发生误检导致后续的交通灯识别步骤提取到不准确的特征的概率低,从而保证了交通部门对十字路口交通进行智能管理的准确性。
附图说明
图1为本发明方法的总体实现框图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出的一种交通灯定位方法,其总体实现框图如图1所示,其包括以下步骤:
①将实时获取的交通路口监控视频中当前待处理的第n帧路口图像中交通灯所在的最小矩形区域定义为当前目标区域,记为CTn;将CTn在第n帧路口图像中的位置以CTn的左上角像素点在第n帧路口图像中的坐标位置来表示,记为(xw,yw);并将CTn的面积记为Alight,Alight=X×Y;其中,n的初始值为0,0≤n≤N-1,N表示实时获取的交通路口监控视频中包含的路口图像的总帧数,W和H对应表示实时获取的交通路口监控视频中的路口图像的宽度和高度,X表示CTn在宽度方向上的像素点的总个数,Y表示CTn在长度方向上的像素点的总个数。
设定一个白天帧数统计量,用于统计白天条件下成功检测到交通灯目标的连续帧数,并令初始值为0;设定一个动态阈值Tactive,并规定其变化范围为40≤Tactive≤120,当n=0时取Tactive=40。
②在第n帧路口图像中将CTn向四周进行扩展形成一个更大的矩形区域,将该矩形区域定义为约束区域,并记为CSn;然后将CSn在第n帧路口图像中的位置以CSn的左上角像素点在第n帧路口图像中的坐标位置来表示,记为(xd,yd),yd=yw-X-yover;将CSn中的中心像素点在第n帧路口图像中的坐标位置记为(xc,yc),并将CSn的面积记为Adet,Adet=X'×Y';其中,0≤xd≤W-X'-1,0≤yd≤H-Y'-1,xover表示横坐标边界修正值,yover表示纵坐标边界修正值, X'表示CSn在宽度方向上的像素点的总个数,Y'表示CSn在长度方向上的像素点的总个数,X'=4X,Y'=(Y+2X)。
③获取CSn的灰度图像,记为CSGn;然后对CSGn进行二值化处理得到CSGn的第一二值化图像,记为再获取中的亮区面积的比例、中的小面积亮区的数目、中的标准灯面积亮区的数目、中的大面积亮区的数目以及中的暗区的平均灰度值,对应记为phigh、nS、nA、nL以及glow。
在此具体实施例中,步骤③中CSGn的第一二值化图像的获取过程为:将中坐标位置为(i,j)的像素点的像素值记为 其中,0≤i≤X'-1,0≤j≤Y'-1,CSGn(i,j)表示CSGn中坐标位置为(i,j)的像素点的像素值。
在此具体实施例中,步骤③中phigh、nS、nA、nL以及glow的获取过程为:
③-1、统计中像素值为255的像素点的总个数,记为nhigh;然后计算中的亮区面积的比例,记为phigh,
③-2、统计中面积大于5且小于的四连通域的数目,将该数目作为中的小面积亮区的数目,记为nS。在此,中的四连通域的获取采用现有技术。
③-3、统计中面积大于或等于且小于的四连通域的数目,将该数目作为中的标准灯面积亮区的数目,记为nA。
③-4、统计中面积大于或等于的四连通域的数目,将该数目作为中的大面积亮区的数目,记为nL。
③-5、计算中的暗区的平均灰度值,记为glow,glow的值等于CSGn中像素值小于120的所有像素点的像素值的平均值。
④根据phigh、nS、nA、nL以及glow确定第n帧路口图像为夜晚条件下的图像还是为白天条件下的图像还是无法判断白天或夜晚条件下的图像,具体过程为:④-1、判断nS+nA≤4且nA≤3且nL=0且phigh<0.2且glow<50是否成立,如果成立,则确定第n帧路口图像为夜晚条件下的图像,并令再执行步骤⑤;如果不成立,则执行步骤④-2;④-2、判断是否同时满足以下两个条件,如果满足,则确定第n帧路口图像为白天条件下的图像,再执行步骤⑦;如果不满足,则执行步骤④-3;条件一:nS+nA≥1或nA≥1,条件二:phigh>0.1且glow>30;④-3、确定第n帧路口图像为无法判断白天或夜晚条件下的图像,并令再执行步骤。
⑤在夜晚条件下,通过检测交通灯结构中状态为“亮”的信号灯,实现对交通灯目标的检测。
如果nA==1,则表明在夜晚条件下有且只有一个四连通域,记为然后计算的宽度和长度,对应记为Wa和La,Wa=xa,max-xa,min,La=ya,max-ya,min,其中,xa,min和xa,max对应表示中的像素点的水平坐标的最小值和最大值,ya,min和ya,max对应表示中的像素点的垂直坐标的最小值和最大值;接着根据的形状特征判断其是否为交通灯中状态为“亮”的信号灯的检测结果,其方法为:判断是否成立,如果成立,则判定为夜晚条件下成功检测到的交通灯目标,再执行步骤⑥进行定位,如果不成立,再执行步骤;如果nA>1或nA<1,则执行步骤。
⑥令然后根据xa,mid、xc和xover,计算CTn在水平方向的偏移量,记为xmov,xmov=xa,mid-(xc+xover);并根据ya,min、ya,max和yover,计算CTn在垂直方向的偏移量,记为ymov,再执行步骤。
⑦在白天条件下,通过检测交通灯结构中的黑色框架,实现对交通灯目标的检测。根据Tactive对CSGn重新进行二值化处理得到CSGn的第二二值化图像,记为接着定义两个有共同中心像素点的矩形,其中一个矩形的宽度和长度对应为Wout和Lout,另一个矩形的宽度和长度对应为Win和Lin,Wout>Win,Lout>Lin,且满足deep=Wout-Win=Lout-Lin,deep≠0,将两个矩形之间的区域定义为框架模板,记为K(Wout,Lout,deep);再固定Wout的值和deep的值,通过改变Lout的值确定四个不同的框架模板,根据四个不同的框架模板在中进行框架检测,得到的框架检测结果,记为
在此具体实施例中,步骤⑦中CSGn的第二二值化图像的获取过程为:将中坐标位置为(i,j)的像素点的像素值记为 其中,0≤i≤X'-1,0≤j≤Y'-1,CSGn(i,j)表示CSGn中坐标位置为(i,j)的像素点的像素值。
在此具体实施例中,步骤⑦中的框架检测结果的获取过程为:
⑦-1、令表示一幅尺寸大小与一致的图像,固定Wout的值和deep的值,通过改变Lout的值确定四个不同的框架模板,分别记为K0(X,X,1)、K1(X,2X,1)、K2(X,2.5X,1)、K3(X,3X-4,1)。
⑦-2、将K0(X,X,1)作为当前框架模板。
⑦-3、将中当前待处理的像素点定义为当前像素点。
⑦-4、假设当前像素点的坐标位置为(u,v),则以当前像素点为左上角像素点,根据当前框架模板在中确定一个框架,记为K0(X,X,1)(u,v),其中,0≤u≤X'-Wout-1,0≤v≤Y'-Lout-1。
⑦-5、统计K0(X,X,1)(u,v)中像素值为255的像素点的总个数,记为nf,(u,v);然后判断nf,(u,v)+m>Wout×Lout-(Wout-deep)×(Lout-deep)是否成立,如果成立,则将中与K0(X,X,1)(u,v)对应的区域中的所有像素点的像素值置为255,然后执行步骤⑦-6;如果不成立,则直接执行步骤⑦-6;其中,当前框架模板为K0(X,X,1)时取m=2,当前框架模板为K1(X,2X,1)时取m=4,当前框架模板为K2(X,2.5X,1)时取m=5,当前框架模板为K3(X,3X-4,1)时取m=6。
⑦-6、将中下一个待处理的像素点作为当前像素点,然后返回步骤⑦-4继续执行,直至中横坐标为范围[0,X'-Wout-1]且纵坐标为范围[0,Y'-Lout-1]内的所有像素点处理完毕。
⑦-7、将K1(X,2X,1)、K2(X,2.5X,1)、K3(X,3X-4,1)分别作为当前框架模板,然后按照步骤⑦-3至步骤⑦-6的过程,以相同的方式进行处理,最终得到的B2 n为B1 n的框架检测结果。
⑧统计中的四连通域的数目,记为nK,如果nK==0,则表示CSn内检测不到交通灯目标的黑色框架,令Tactive=Tactive+10,再执行步骤;如果nK>0,则在中获取包含中的所有四连通域的最小矩形区域的宽度和长度,记为WR和LR,WR=xb,max-xb,min,LR=yb,max-yb,min,然后根据WR和LR对Tactive进行调整,再执行步骤⑨;其中,Tactive=Tactive+10中的“=”为赋值符号,xb,min和xb,max对应表示在中获取的包含中的所有四连通域的最小矩形区域中的像素点的水平坐标的最小值和最大值,yb,min和yb,max对应表示在中获取的包含中的所有四连通域的最小矩形区域中的像素点的垂直坐标的最小值和最大值。
在此具体实施例中,步骤⑧中根据WR和LR对Tactive进行调整的具体过程为:
⑧-1、判断WR>1.5X或LR>0.5X+Y是否成立,如果成立,则令Tactive'=Tactive-10,然后执行步骤⑧-3;如果不成立,则执行步骤⑧-2。
⑧-2、判断LR<Y-0.2X是否成立,如果成立,则令Tactive'=Tactive+10,然后执行步骤⑧-3;如果不成立,则令Tactive'=Tactive,然后执行步骤⑧-3;其中,Tactive'=Tactive中的“=”为赋值符号。
⑧-3、对动态阈值Tactive进行上下界保护,令Tactive”=max(40,Tactive'),再令Tactive=min(120,Tactive”),其中,max()为取最大值函数,min()为取最小值函数。
⑨如果nK==1,则表明在白天条件下中有且只有一个四连通域,记为然后执行步骤⑩;如果则令然后执行步骤。
⑩判断WR≤1.25X且LR≤Y-0.2X且Y-0.2X≤LR≤Y+0.4X是否成立,如果成立,则判定为白天条件下成功检测到的交通灯目标,并令然后执行步骤;如果不成立,则令然后执行步骤。
如果则执行步骤;如果则表明连续16帧白天条件下成功检测到交通灯目标,然后执行步骤进行定位。
令并令然后根据xb,mid、xc和xover,计算CTn在水平方向的偏移量,记为xmov,xmov=xb,mid-(xc+xover);并根据yb,mid和yc,计算CTn在垂直方向的偏移量,记为ymov,ymov=yb,mid-(yc+yover);再执行步骤。
根据xmov和ymov,对CTn在第n帧路口图像中的位置进行校准,将校准后的CTn的左上角像素点在第n帧路口图像中的坐标位置记为(xw',yw'),xw'=xw+xmov,yw'=yw+ymov,然后令xw=xw',并令yw=yw',其中,xw=xw'和yw=yw'中的“=”为赋值符号。
令n=n+1,将实时获取的交通路口监控视频中下一帧待处理的路口图像中左上角像素点的坐标位置为(xw,yw)且面积为X×Y的矩形区域作为当前目标区域,记为CTn,再返回步骤②继续执行,直至实时获取的交通路口监控视频中的所有路口图像处理完毕;其中,n=n+1中的“=”为赋值符号。
为了更有效地说明本发明方法的有效性和可行性,选取两个交通路口在两天各个时间段的一系列视频对本发明方法进行测试。
将两个交通路口分别编号为路口1、路口2,架设在两个交通路口上的摄像机的分辨率均为2752×2208,两个交通路口的交通灯型号完全相同,但距离摄像头的距离不同。选取这两个交通路口在阴天和晴天中各个时段的视频,其中,阴天时在上午9点之前有大雾,之后逐渐散去,晴天时在下午4点到5点之间交通灯会产生反光现象(被阳光直射)。视频图像中,路口1的目标区域的宽度X为15像素且长度Y为45像素,路口2的目标区域的宽度X为26像素且长度Y为78像素。经过实测得到:路口1视频图像中的交通灯位置偏移最大幅度在14像素左右,路口2视频图像中的交通灯位置偏移最大幅度在10像素左右。误检率表示在某时段的视频中,检测到的交通灯位置与实际交通灯位置的偏差大于的帧数占视频总帧数的比例;漏检率表示在某时段的视频中,没有检测到交通灯的帧数占视频总帧数的比例。值得注意的是,在白天条件下本发明方法对交通灯目标进行持续不断的检测定位,因此漏检率的最小值为0;而在夜晚条件下本发明方法只对约束区域内有且仅有一盏信号灯状态为“亮”的情况进行检测定位,因此绿灯和红灯在倒计时的两盏信号灯为“亮”的情况、所有灯状态为“熄灭”的情况下,都不进行检测定位,那么夜晚条件下的漏检率的最低值为上述这些情况的帧数占视频总帧数的比例。由于交通灯位置在大多数时间段相对固定且偏移缓慢,只要在不误检的前提下,保证一定的检测成功频率,就能实现交通灯目标的实时准确定位,因此要求本发明方法需要达到的效果为:在大多数时间段,漏检率保持在1%以下,误检率必须接近0%。
表1给出了本发明方法对路口1在阴天和晴天中各个时段的视频的测试结果。视频1、视频8、视频9以及视频16所在时间段为典型的夜晚条件,其误检率都为0%,漏检率都在30%到33%之间,可见在夜晚条件下本发明方法稳定有效,另外,对比视频1和视频9,可见雾对夜晚条件下的交通灯检测定位的干扰较小;视频2、视频7、视频10以及视频15为昼夜交替时段,此时由白天条件下的检测定位逐渐向夜晚条件下的检测定位转换,或者夜晚条件下的检测定位逐渐向白天条件下的检测定位转换,由于此时的环境光线特征往往既不属于白天的情况,也不属于夜晚的情况,因此本发明方法的漏检率有所提高,尤其是视频2受到雾的影响,漏检率达到14.16%,但这些时段的误检率保持为0,可见本发明方法能够依然保持良好性能;视频3、视频4、视频11和视频12的时间段为典型的白天时间段,对比视频4和视频12,可见在无干扰时阴天和晴天条件下,本发明方法的误检率和漏检率都为0%,对比视频3和视频11,视频11的误检率和漏检率都为0%,而视频3的误检率为0%,漏检率为11.47%,可见在白天条件下,由于雾使图像的对比度下降,影响灰度分布,导致漏检率提高;视频5和视频13分别为阴天和晴天较为理想的条件,其检测率和漏检率均为0%;对比视频6和视频14,此时段视频14仍为典型的白天条件,而视频6中由于交通灯、摄像头和太阳的位置关系出现了反光现象,反光现象严重影响了图像中交通灯的灰度分布,导致漏检率大幅提高,达到80%左右,但此时仍未出现误检现象。
表2给出了本发明方法对路口2在阴天和晴天中各个时段的视频的测试结果。表2中各个时段的误检率都为0%,其各个时段的漏检率则比表1中相同时段的漏检率明显要高。这是因为路口2的交通灯距离摄像头的实际距离比路口1近,使得视频图像中的交通灯目标较大,因此,白天条件下对路口2的视频图像进行框架检测的成功率比较高,使得路口2的漏检率比路口1的漏检率低。
以上结果足以说明本发明方法的准确性高,具有较强的抗干扰能力,能够适应大部分天气条件下大部分时间段对交通灯的检测定位需求,且对较远处交通灯的检测定位能够保持良好的效果。
表1 路口1在阴天和晴天中各个时段的视频测试结果
表2 路口2在阴天和晴天中各个时段的视频测试结果