夜视环境下对前方车辆的高精度检测方法
技术领域
本发明涉及一种对前方车辆的检测方法,特别是一种夜视环境下对前方车辆的高精度检测方法。
背景技术
道路上的其它车辆是驾驶员驾驶过程中必须关注的信息。自动检测其它车辆位置的辅助驾驶系统有广泛的用途,如:碰撞告警、盲区监控、自动巡航等。车载可见光相机是一种广泛用于实现此类功能的廉价传感装置。但在夜间,可见光视频中的视觉信息非常有限。许多譬如道路标志、车道线、水平线之类背景信息和车身结构,车辆颜色等目标信息几乎完全不可用。黑暗的夜间环境下,最为显著的车辆信息是车辆的前灯和尾灯。虽然车灯的外观各有不同,但他们都必须遵循行业规范进行设计,视频图像处理系统可以利用这些遵循规范设计的前后灯特征进行夜间车辆检测。但在夜间用基于车灯的检测方法进行车辆检测时,容易受到发射光、路灯干扰,同时,由于相机的自动曝光机制,导致夜间的车辆前灯成像出现巨大光斑、尾灯因为饱和而失去其色彩特征,这些都是夜视环境下基于车灯进行车辆检测的困难所在。
中国专利申请(公开号:103440771A)“模糊隶属度和反馈修正在夜间交通视频车辆检测的应用”公开了一种夜间复杂车辆检测的方法。利用频域的同态滤波和时域的方位模糊技术对车灯进行提取,再利用成功配对车灯的统计信息对车灯进行配对,最后对车辆加以追踪,并引入车辆追踪反馈修正机制,实现夜间车辆的检测与追踪。但该专利方法公开是车辆检测仅仅基于车辆前灯,没有对尾灯进行检测,且其在车灯配对过程中没有考虑因为超车、转弯等造成的投影扭曲现象,其检测精度不高,而且计算求解过程复杂。
论文“基于尾灯跟踪的夜间车辆检测”(通信技术,2012,45(10):58-60)中给出一种基于尾灯跟踪的夜间车辆检测方法,该技术公开了对尾灯进行检测的技术,即是先通过HSV颜色模型对尾灯的颜色信息进行分割,辨认出车辆位置,再通过区域边界锁定车灯边缘信息对车辆进行跟踪。但该文方法没有对车灯的对称相关信息进行计算,简单认为在同一个水平横轴上的一对车灯即属于同一辆目标车辆,同时,正如论文结尾部分所指出,该文方法容易受到道路两旁有颜色的路牌或广告牌干扰,另外,路面雨水也会影响该文方法的检测效果,检测精度仍不高。
发明内容
本发明要解决的技术问题是:提供一种夜视环境下对前方车辆的高精度检测方法,以解决现有技术存在的检测精度不高、计算求解过程复杂的不足之处。
解决上述技术问题的技术方案是:一种夜视环境下对前方车辆的高精度检测方法,该方法是分别利用结合canny边缘检测的区域生长法和基于马氏距离的彩色图像阈值分割方法进行前灯和尾灯分割;然后进行车灯配对,采用初步过滤和投影扭曲补偿提高相关系数的计算精度。
本发明的进一步技术方案是:该方法包括以下步骤:
S1.样本收集与统计分析:
采集不同气候条件、灯光条件的前灯和尾灯数据各500~1000对,先对采集的车灯图像进行中值滤波,然后对前灯的亮度、尾灯RGB颜色向量、车灯对的圆形度比和中心连线角度、车灯对的相关系数进行统计分析,分别求出其均值和方差;
S2.读入视频帧,并分割车灯:
读入视频帧,并用基于canny边缘检测的区域生长法分割前灯,用基于马氏距离的彩色图像阈值分割方法分割尾灯;
S3.进行车灯配对:
在车灯配对过程中,采用初步过滤和投影扭曲补偿提高相关系数的计算精度;
S4.输出结果:
输出检测到的车灯对目标及其运动轨迹。
本发明的再进一步技术方案是:所述的步骤S1的具体方法如下:
S11.采集不同气候条件、灯光条件的前灯和尾灯数据各500~1000对,先对采集的车灯图像进行中值滤波;
S12.对前灯的亮度进行统计分析,并求出其均值和方差;
取N个前灯像素,N≥80000,令第i个像素的亮度为Gi,则均值与方差分别为
,
其中,分别代表前灯亮度的均值与方差;
S13.对尾灯RGB颜色向量的统计分析,并求出其均值和方差:
取N个尾灯像素,N≥80000,令每个像素的R、G、B三个分量值为随机变量,则每个像素(R,G,B)分量构成一个随机向量,计算所有N个向量的平均向量和协方差矩阵,
其中,为平均向量,C为协方差矩阵,由协方差矩阵的性质可知,其对角线元素(C11,C22,C33)即分别为(R,G,B)三个分量的方差,因此其标准差分别为:,,;
S14.计算车灯对的圆形度比的均差和方差:
先计算车灯对的圆形度比,该圆形度比的计算公式为:
其中,分别代表第J个车灯,第K个车灯的圆形度,车灯圆形度的计算方法为:
其中,为车灯的圆形度,一个车灯连通区域的面积A用该连通区域的像素数总和来表示,周长P用连通区域的边界上的像素数来表示;
然后分别计算采集到的500~1000对前灯、尾灯的圆形度比的均值和方差,
S15.计算车灯对的中心连线角度的均差和方差:
先计算车灯对的中心连线角度,该中心连线角度的计算方式为:
其中,、分别为第J个车灯,第K个车灯中心点坐标;
然后分别计算采集到的500~1000对前灯、尾灯的中心连线角度的均值和方差;
S16.计算车灯对的相关系数的均差和方差:
先计算车灯对的相关系数,该车灯对的相关系数的计算方法是,取某对车灯中的一个为模板,将另一个车灯进行水平翻转,该两个车灯的相应位置的像素亮度构成向量和,计算这两个向量的相关系数,
计算其对应像素亮度的相关系数如下:
其中,为向量T与I之间的协方差,和分别代表向量T和I的方差;
对于头灯,计算其像素亮度的相关系数,并进一步计算头灯像素亮度相关系数的方差和均值;对于尾灯,分别计算其样本数据库中三个分量的相关系数的平均值并构成平均相关系数向量和三个分量的相关系数的协方差矩阵。
本发明的再进一步技术方案是:在步骤S2中,所述的读入视频帧,并用基于canny边缘检测的区域生长法分割前灯,用基于马氏距离的彩色图像阈值分割方法分割尾灯的方法如下:
S21.读入视频帧,先进行中值滤波处理;
S22.用基于canny边缘检测的区域生长法分割前灯:
以拍摄该帧图像的最大亮度的80~95%作为种子点,进行区域生长,区域生长的准则是与种子点亮度差小于50的且与已生长区域8连通;将canny算法检测到的边缘作为区域生长的停止准则,Canny算法中低阈值选择为图像最大亮度的4%,高阈值选择为图像最高亮度的10%;
S23.用基于马氏距离的彩色图像阈值分割方法分割尾灯:
计算每个像素与样本像素库中的平均向量的马氏距离,其计算方法如下:
其中,代表输入像素()分量组成的向量,即,取阈值Th,若则判断该像素为尾灯像素;
S24.对头灯和尾灯的分割图像进行形态学闭操作以消除噪声和连接阈值过程分开的相邻区域;
S25.屏蔽采集图像的上1/3部分,应对街灯的干扰问题。
本发明的再进一步技术方案是:在步骤S3中,所述的进行车灯配对的具体方法如下:
S31.车灯初步过滤:
对分割出的前灯和尾灯用圆形度比和中心连线角度进行初步过滤;
S32.投影扭曲补偿:
对通过初步过滤的车灯对进行投影扭曲补偿;
S33.计算车灯对的相关系数:
计算车灯对的相关系数,判定车灯对是否为车灯对目标。
本发明的更进一步技术方案是:在步骤S31中,所述的对分割出的前灯和尾灯用圆形度比和中心连线角度进行初步过滤的方法如下:
S311.计算分割出的车灯之间的圆形度比,若车灯i和车灯j的圆形度比大于,则由车灯i和车灯j组成的车灯对通过圆形度测试;
S312.计算分割出的车灯之间的中心连线角度,若两个车灯中心连线角度小于,则由该两个车灯组成的车灯对通过中心连线角度测试;同时通过圆形度比测试和中心连线角度测试的车灯对作为候选车灯对,若一个车灯可以与多个车灯组合成车灯对通过初选,则选圆形度比最接近1,中心连线角度最接近0的一对作为候选的车灯对。
本发明的更进一步技术方案是:在步骤S32中,所述的对通过初步过滤的车灯对进行投影扭曲补偿的方法如下:
S321.将要进行投影扭曲补偿计算的外接车灯包围框视为底边垂直于图像底边的梯形,先求出外接梯形的两条垂直于所截取图像底边的边;
S322.做出两个分别连接两个车灯最高位置像素点和最低像素的连线;
S323.以梯形的左下顶点作为坐标原点,建立坐标系,从坐标原点出发,从下左至上,从左至右,分别令其坐标为(x0,y0),(x1,y1),(x2,y2),(x3,y3);
S324.计算梯形的如下六个坐标差量:
,,,
,,;
S325.计算从梯形转换为标准单位正方形的转换矩阵和单位正方形转换为矩形转换的转换矩阵,并由和得到将投影变形后的梯形映射到其外接矩形的转换矩形Rec,
其中,,
其中,,
。
本发明的更进一步技术方案是:在步骤S33中,所述的计算车灯对的相关系数的方法如下:
S331.对于头灯,计算经投影扭曲补偿后的车灯对的相关系数,若其相关系数大于
,则该对头灯通过相关系数测试,和分别代表的均值与标准方差;
S332.对于尾灯,先分别计算三个分量的相关系数,并构成相关系数向量,然后计算该向量与样本库平均向量的马氏距离,若该距离小于2*,则认为该尾灯对通过相关系数测试。
由于采用上述技术方案,本发明之夜视环境下对前方车辆的高精度检测方法与现有技术相比,具有以下有益效果:
1.检测精度高:
由于本发明是分别利用结合canny边缘检测(JohnCanny于1986年开发出的多级边缘检测算法)的区域生长法和基于马氏距离的彩色图像阈值分割方法进行前灯和尾灯分割;然后进行车灯配对,采用初步过滤和投影扭曲补偿提高相关系数的计算精度。其中,利用结合canny边缘检测的区域生长法一方面排除了尾灯、街灯、装饰灯的干扰,另一方面又能将头灯成像中亮度稍低像素通过连通域进行增长,从而保持头灯外观形状。而基于马氏距离的彩色图像阈值分割方法充分利用了尾灯的颜色空间特征,从而可对尾灯进行准确有效的检测。此外,本发明在车灯配对过程中,采用初步过滤和投影扭曲补偿提高相关系数计算精度,即是采用由粗到细的两步法进行车灯配对判定,其先用圆形度比和中心连线角度进行初级筛选,然后对通过初级筛选的车灯对进行投影扭曲补偿,再对补偿后的车灯对计算相关系数,其相关系数的计算精度较高,因此,本发明能大幅度提高检测精度。
2.计算求解过程简单:
在进行投影扭曲补偿计算的过程中,本申请的发明人发现,在以车辆前进方向为Y轴正方向,以车身从左到右的车宽方向为X轴正方向,垂直路面向上为Z轴方向的三维世界坐标中,目标车辆车灯包围矩形框与检测车相机平面的投影变形主要是在目标车辆转弯或超车时,目标车辆车灯包围框框绕Z轴旋转造成的,城市平整路面的前提下,绕X轴和Y轴旋转的角度非常小,同时由于车灯外接包围的高度远小于其长度,因此,矩形包围盒垂直于XY平面的直线在相机平面上的投影仍然是垂直于XY平面的,即,其外接包围盒是一个底边垂直于所拍摄图像的梯形。本发明利用这个性质,可以对投影矩阵求解过程进行了极大简化。
3.方法简单,适于在夜视环境下对前方车辆和对面来车进行检测。
下面,结合附图和实施例对本发明之夜视环境下对前方车辆的高精度检测方法的技术特征作进一步的说明。
附图说明
图1:本发明的总体流程图,
图2-1~图2-3:本发明步骤S32所述的投影扭曲补偿计算示意图:
图2-1:先求出外接梯形的两条垂直于所截取图像底边的边的示意图,
图2-2:做出两个分别连接两个车灯最高位置像素点和最低像素的连线的示意图,
图2-3:以梯形的左下顶点作为坐标原点,建立坐标系的示意图。
具体实施例
实施例一:
一种夜视环境下对前方车辆的高精度检测方法,该方法是分别利用结合canny边缘检测的区域生长法和基于马氏距离的彩色图像阈值分割方法进行前灯和尾灯分割;然后进行车灯配对,采用初步过滤和投影扭曲补偿提高相关系数的计算精度。
该方法包括以下步骤:
S1.样本收集与统计分析:
采集不同气候条件、灯光条件的前灯和尾灯数据各500~1000对,先对采集的车灯图像进行中值滤波,然后对前灯的亮度、尾灯RGB颜色向量、车灯对的圆形度比和中心连线角度、车灯对的相关系数进行统计分析,分别求出其均值和方差;
S2.读入视频帧,并分割车灯:
读入视频帧,并用基于canny边缘检测的区域生长法分割前灯,用基于马氏距离的彩色图像阈值分割方法分割尾灯;
S3.进行车灯配对:
在车灯配对过程中,采用初步过滤和投影扭曲补偿提高相关系数的计算精度;
S4.输出结果:
输出检测到的车灯对目标及其运动轨迹。
所述的步骤S1的具体方法如下:
S11.采集不同气候条件、灯光条件的前灯和尾灯数据各500~1000对,先对采集的车灯图像进行中值滤波;
S12.对前灯的亮度进行统计分析,并求出其均值和方差;
取N个前灯像素,N≥80000,令第i个像素的亮度为Gi,则均值与方差分别为
,
其中,分别代表前灯亮度的均值与方差;
S13.对尾灯RGB颜色向量的统计分析,并求出其均值和方差:
取N个尾灯像素,N≥80000,令每个像素的R、G、B三个分量值为随机变量,则每个像素(R,G,B)分量构成一个随机向量,计算所有N个向量的平均向量和协方差矩阵,
其中,为平均向量,C为协方差矩阵,由协方差矩阵的性质可知,其对角线元素(C11,C22,C33)即分别为(R,G,B)三个分量的方差,因此其标准差分别为:,,;
S14.计算车灯对的圆形度比的均差和方差:
先计算车灯对的圆形度比,该圆形度比的计算公式为:
其中,分别代表第J个车灯,第K个车灯的圆形度,车灯圆形度的计算方法为:
其中,为车灯的圆形度,一个车灯连通区域的面积A用该连通区域的像素数总和来表示,周长P用连通区域的边界上的像素数来表示;
然后分别计算采集到的500~1000对前灯、尾灯的圆形度比的均值和方差,
S15.计算车灯对的中心连线角度的均差和方差:
先计算车灯对的中心连线角度,该中心连线角度的计算方式为:
其中,、分别为第J个车灯,第K个车灯中心点坐标;
然后分别计算采集到的500~1000对前灯、尾灯的中心连线角度的均值和方差;
S16.计算车灯对的相关系数的均差和方差:
先计算车灯对的相关系数,该车灯对的相关系数的计算方法是,取某对车灯中的一个为模板,将另一个车灯进行水平翻转,该两个车灯的相应位置的像素亮度构成向量和,计算这两个向量的相关系数,
计算其对应像素亮度的相关系数如下:
其中,为向量T与I之间的协方差,和分别代表向量T和I的方差;
对于头灯,计算其像素亮度的相关系数,并进一步计算头灯像素亮度相关系数的方差和均值;对于尾灯,分别计算其样本数据库中三个分量的相关系数的平均值并构成平均相关系数向量和三个分量的相关系数的协方差矩阵。
在步骤S2中,所述的读入视频帧,并用基于canny边缘检测的区域生长法分割前灯,用基于马氏距离的彩色图像阈值分割方法分割尾灯的方法如下:
S21.读入视频帧,先进行中值滤波处理;
S22.用基于canny边缘检测的区域生长法分割前灯:
以拍摄该帧图像的最大亮度的80~95%作为种子点,进行区域生长,区域生长的准则是与种子点亮度差小于50的且与已生长区域8连通;将canny算法检测到的边缘作为区域生长的停止准则,Canny算法中低阈值选择为图像最大亮度的4%,高阈值选择为图像最高亮度的10%;
S23.用基于马氏距离的彩色图像阈值分割方法分割尾灯:
计算每个像素与样本像素库中的平均向量的马氏距离,其计算方法如下:
其中,代表输入像素()分量组成的向量,即,取阈值Th,若则判断该像素为尾灯像素;
S24.对头灯和尾灯的分割图像进行形态学闭操作以消除噪声和连接阈值过程分开的相邻区域;
S25.屏蔽采集图像的上1/3部分,应对街灯的干扰问题。
在步骤S3中,所述的进行车灯配对的具体方法如下:
S31.车灯初步过滤:
对分割出的前灯和尾灯用圆形度比和中心连线角度进行初步过滤;
S32.投影扭曲补偿:
对通过初步过滤的车灯对进行投影扭曲补偿;
S33.计算车灯对的相关系数:
计算车灯对的相关系数,判定车灯对是否为车灯对目标。
在步骤S31中,所述的对分割出的前灯和尾灯用圆形度比和中心连线角度进行初步过滤的方法如下:
S311.计算分割出的车灯之间的圆形度比,若车灯i和车灯j的圆形度比大于,则由车灯i和车灯j组成的车灯对通过圆形度测试;
S312.计算分割出的车灯之间的中心连线角度,若两个车灯中心连线角度小于,则由该两个车灯组成的车灯对通过中心连线角度测试;同时通过圆形度比测试和中心连线角度测试的车灯对作为候选车灯对,若一个车灯可以与多个车灯组合成车灯对通过初选,则选圆形度比最接近1,中心连线角度最接近0的一对作为候选的车灯对。
在步骤S32中,所述的对通过初步过滤的车灯对进行投影扭曲补偿的方法如下(参见图2-1~图2-3):
S321.将要进行投影扭曲补偿计算的外接车灯包围框视为底边垂直于图像底边的梯形,先求出外接梯形的两条垂直于所截取图像底边的边;
S322.做出两个分别连接两个车灯最高位置像素点和最低像素的连线;
S323.以梯形的左下顶点作为坐标原点,建立坐标系,从坐标原点出发,从下左至上,从左至右,分别令其坐标为(x0,y0),(x1,y1),(x2,y2),(x3,y3);
S324.计算梯形的如下六个坐标差量:
,,,
,,;
S325.计算从梯形转换为标准单位正方形的转换矩阵和单位正方形转换为矩形转换的转换矩阵,并由和得到将投影变形后的梯形映射到其外接矩形的转换矩形Rec,
其中,,
其中,,
。
在步骤S33中,所述的计算车灯对的相关系数的方法如下:
S331.对于头灯,计算经投影扭曲补偿后的车灯对的相关系数,若其相关系数大于
,则该对头灯通过相关系数测试,和分别代表的均值与标准方差;
S332.对于尾灯,先分别计算三个分量的相关系数,并构成相关系数向量,然后计算该向量与样本库平均向量的马氏距离,若该距离小于2*,则认为该尾灯对通过相关系数测试。