本发明涉及视频监控和轨迹识别技术领域,尤其涉及一种基于视频监控的酒驾车辆轨迹识别系统。
背景技术:
目前酒驾检测主要是通过交警在公路上抽查并截停车辆,使用检测仪对汽车司机进行呼气酒精检测。但随着酒驾醉驾交通事故不断扩大,仅凭人工抽查是不能遏制的。现有的检测方式,检测范围也是比较小的,且需要耗费大量的人力,交警的工作效率也无法得到提升。
因此,需要寻找一种提高酒驾检测效率的系统。
技术实现要素:
为解决现有技术所存在的技术问题,本发明提供一种基于视频监控的酒驾车辆轨迹识别系统,通过视频采集模块、数字图像预处理模块、车辆行驶特征检测模块、酒驾车辆识别模块、车牌识别模块以及报送交警人工检测模块,扩大酒驾检测的范围,提高交警的酒驾检测工作效率,使得酒驾司机不再抱有侥幸心理,进而减少因酒驾引起的交通事故的发生。
本发明采用以下技术方案来实现:一种基于视频监控的酒驾车辆轨迹识别系统,包括视频采集模块、数字图像预处理模块、车辆行驶特征检测模块、酒驾车辆识别模块、车牌识别模块以及报送交警人工检测模块;其中,数字图像预处理模块包括车道线识别模块、汽车识别模块和图像预处理模块;车辆行驶特征检测模块包括汽车追踪模块、转向灯识别模块、角度检测模块和压线检测模块;视频采集模块、数字图像预处理模块、车辆行驶特征检测模块、酒驾车辆识别模块、车牌识别模块以及报送交警人工检测模块,各模块依次连接。
本发明与现有技术相比,具有如下优点和有益效果:
本发明通过视频采集模块、数字图像预处理模块、车辆行驶特征检测模块、酒驾车辆识别模块、车牌识别模块以及报送交警人工检测模块,扩大酒驾检测的范围,提高交警的酒驾检测工作效率,使得酒驾司机不再抱有侥幸心理,进而减少因酒驾引起的交通事故的发生。
附图说明
图1是本发明的系统结构示意图;
图2是车辆变道行驶与车道中间压线行驶示意图;
图3是车辆等红绿灯且为第一辆车,车头压线示意图;
图4(a)是车辆车道行驶图;
图4(b)是车道线识别获取图;
图5是汽车位置锁定示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
如图1所示,本实施例一种基于视频监控的酒驾车辆轨迹识别系统,包括视频采集模块、数字图像预处理模块、车辆行驶特征检测模块、酒驾车辆识别模块、车牌识别模块以及报送交警人工检测模块;其中,数字图像预处理模块包括车道线识别模块、汽车识别模块和图像预处理模块;车辆行驶特征检测模块包括汽车追踪模块、转向灯识别模块、角度检测模块和压线检测模块;视频采集模块、数字图像预处理模块、车辆行驶特征检测模块、酒驾车辆识别模块、车牌识别模块以及报送交警人工检测模块,各模块依次连接。
本实施例中,各模块的详细情况分别如下:
视频采集模块,用于获取往来汽车视频图像数据,汽车通过监控摄像头对相应道路上所有来往汽车变道时汽车车身线与车道线的夹角θ进行学习,统计最大阈值θmax。
具体地,汽车车身线与车道线的夹角θ检测方法如下:
设从汽车开始变道时间点t1到变道结束时间点t2所经历的时间为t2-t1;在t1到t2其视频集内,1秒的单位时间有k张图片;汽车变道期间的任意时刻,其车身线与车道线夹角为θ;则t1到t2内有k(t2-t1)张图片,对这些图片在时间序列上进行分组,其组数为(t2-t1);如第1组内,记第1张图片的θ为
对t2-t1组图片,进行以下判断:
...
以此类推,统计t2-t1组的差值。
若在这t2-t1组中,存在一组及以上的角度差值大于或等于最大阈值θmax,则判断为有酒驾嫌疑。
具体地,对公路上曾经酒驾或醉驾的车辆其变道的视频集,统计这些汽车变道时,车身线与车道线最大阈值θmax,具体统计方法如下:
设从汽车开始变道时间点t1到变道结束时间点t2所经历的时间为t2-t1;在t1到t2其视频集内,1秒的单位时间有k张图片;汽车变道期间的任意时刻,其车身线与车道线夹角为θ;则t1到t2内有k(t2-t1)张图片,对这些图片在时间序列上进行分组,其组数为(t2-t1);如第1组内,记第1张图片的θ为
对t2-t1组图片,进行以下计算:
...
比较这t2-t1组的夹角差值,统计最大值,记为θ0。
以此类推,统计t2-t1组的差值并利用“统计学习方法”,对公路上曾经酒驾或醉驾的车辆,都进行变道时车身线与车道线夹角的最大值的数据统计,计算出公路上,汽车变道时车身线与车道线夹角的最大阈值θmax。
数字图像预处理模块,用于对监控视频中的汽车使用轮廓识别法获取车辆的原始图像,并分割图像中车辆和车道线,对所得图像进行图像预处理,包括滤波、二值化、填充、修饰、细化等步骤,获取仅含有车辆与车道线的轮廓图像;其中,滤波中的中值滤波和均值滤波,是用3*3滤波模版在图像上滑动,将滑动到的图像窗口内的9个像素灰度值进行排序,取排序中间三个像素点的灰度值代替窗口中心点对应像素点的灰度。
具体地,数字图像预处理模块包括车道线识别模块、汽车识别模块和图像预处理模块,各模块的详细情况如下:
如图4(a)、图4(b)所示,本实施例中,车道线识别模块,利用sobel算子、laplacian算子、canny算子进行边缘检测,使用fillconvexpoly进行感兴趣区域检测,输出元素均为0的矩阵,绘制掩膜图像,获取感兴趣区域;利用霍夫变换将组成车道线的独立像素点连成直线,再使用addweighted函数,实现图像加权叠加。
如图5所示,本实施例中,汽车识别模块,用于判断汽车,锁定汽车位置;使用方向梯度直方图hog和支持向量机svm结合的算法进行识别,具体实现过程如下:
步骤1:通过提取图像的方向梯度直方图hog描述子,生成图像的特征数据,进行方向梯度直方图hog特征向量归一化;具体地,方向梯度计算原理如下:
g(x,y)=gx(x,y) gy(x,y)(1)
gx(x,y)=i(x 1,y)-i(x,y)(2)
gy(x,y)=i(x,y 1)-i(x,y)(3)
θ=arctan(gy/gx)(5)
其中,(x,y)为像素的坐标;g(x,y)为输入图像中像素点(x,y)处的水平与垂直方向梯度之和;gx(x,y)为输入图像中像素点(x,y)处的水平方向梯度;gy(x,y)为输入图像中像素点(x,y)处的垂直方向梯度;i(x,y)为图像在(x,y)处的像素值,i(x 1,y)为图像在(x 1,y)处的像素值;i(x,y 1)为图像在(x,y 1)处的像素值;g为像素点的梯度幅值;gx为像素点的水平方向梯度;gy为像素点的垂直方向梯度;
步骤2:串联hog特征,将图像分成若干个连接区域,将每个连接区域都进行x,y方向上的卷积核kernels运算,获取梯度积分图;
步骤3:通过计算特征维度,对梯度向量正则化,获取最终hog特征;
步骤4:结合svm分类器,判断出汽车,锁定汽车位置,对图像建立直角坐标系,检测获取汽车中心点,获取汽车当前的坐标,汽车宽度。
图像预处理模块,用于视频分帧,让视频以每一帧的形式进行下一步的图像处理;对图像进行预处理,利用高斯滤波对每一帧图像进行噪点剔除,利用灰度变换进行灰度化处理,通过cvtcolor函数将rgb的图像转换成灰度图,再把获取到的图像进行二值化处理。
车辆行驶特征检测模块,用于检测车身与车道线夹角θ是否超过最大阈值θmax;汽车是否压线行驶;汽车在等红绿灯且为第一辆汽车时,其车头是否有压线;该模块主要用于应对酒驾司机,由于摄入酒精,对外界的反应能力及控制能力下降后导致的情况,如:对信号灯反应慢;摇摆不定;蛇形驾驶等,车辆行驶特征如图2、图3所示。
具体地,车辆行驶特征检测模块包括汽车追踪模块、转向灯识别模块、角度检测模块和压线检测模块,各模块的详细情况如下;
汽车追踪模块,通过结合卡尔曼滤波和匈牙利算法,获取汽车运动方向及汽车运动线,具体实现过程如下:
步骤1:设当前汽车中心点坐标(x,y),上一时刻中心点坐标(xt-1,yt-1),则其欧几里得距离:
其中,dt|t-1为上一时刻检测到的中心点坐标集合;
步骤2:利用opencv库的goodfeaturestotrack获取角点,计算角点平均点进而确定运动方向;
步骤3:根据汽车运动方向和汽车中心点绘制汽车的行驶路劲,将车身拟成一条直线。
转向灯识别模块,利用yolo识别出转向灯位置,然后利用opencv识别转向灯的颜色,具体实现过程如下:
步骤1:获取摄像头采集到的图像数据,将图像数据输入到yolo中,进行目标检测,获取目标列表;
步骤2:查看目标列表中是否有转向灯的目标类型;
步骤3:利用opencv提取目标为转向灯的图片区域,将各个像素点的颜色由rgb空间转换到hsv空间,识别是否有颜色为黄色的转向灯。
角度检测模块,用于计算汽车与车道线两条直线的角度,利用canny算子对图像进行边缘检测,统计霍夫曼变换houghlinesp求出所有线,计算向量间的最大夹角;其中,canny边缘检测通过canny函数利用sober算子,对图像进行卷积,算出图像在x,y方向的梯度。
压线检测模块,用于检测汽车行驶的压线行为,进而判断出汽车酒驾嫌疑;即当汽车行驶在道路上的实线车道上时,若有压线行驶行为则判断为有酒驾嫌疑;具体是通过判断监控摄像头下的视频集中的车道线是否为实线,再判断汽车行驶在该道路上是否有压线行为,具体判断过程如下:
步骤1:实虚线判断,通过感兴趣区域roi划定区间,即对取到的四个点形成矩形区域,在这个区域需要框定图像中的车道线,并统计roi的长度;再利用hough变换找出图像中的由像素点组成的直线亦即车道线;进一步地,将车道线为白色的各行像素点存放到列表的相应位置,判断列表第一行是否为非空白区域,若是,则列表起始位置存在车道线,记录起始位置s;否则直接判断车道线为虚线;然后判断列表在何处位置没有车道线区域,记录结束位置s’;接着判断列表是否只有一段连续区域存在车道线;若否直接判断车道线为虚线;最后判断车道线结束位置与起始位置的距离差值是否大于感兴趣区域roi长度的60%,若是,则判断车道线为实线,否则判断为虚线。
步骤2:压线行为判断,对视频集中的已判断为实线道上行驶的汽车,统计其汽车宽度,记为x0,接着统计车身中心线与道路右侧及左侧的距离,记为xr及xl;再判断xr与xl的差值的绝对值是否约等于0,若是,则判断车辆为正常行驶;否则判断xr或xl是否小于或等于x0/2,若是,则判断车辆为压线行驶,否则判断车辆为正常行驶。
酒驾车辆识别模块,用于确认疑似酒驾车辆,若通过车辆行驶特征检测模块确认变道打灯;汽车变道时车身中心线与车道线形成的角度的变化速率超过平均值;汽车在两个车道中间压线行驶;车辆在等红绿灯且为第一辆汽车时,其车头压线,则确认为疑似酒驾车辆。
车牌识别模块,通过检测车牌,并进行字符分割,字符识别,进而获取车辆车牌号码,其具体实现过程如下:
步骤1:检测车牌,使用双边滤波删除图像中无关细节,进行边缘检测,在利用canny检测原理计算梯度,寻找出轮廓,遍历结果,遮罩图片,留下车牌部分;
步骤2:字符分割,裁剪出感兴趣区域的图像;
步骤3:字符识别,将图像灰度化,使用sobel算子进行边缘检测,进行图像腐蚀、填充、滤波处理,再提取车牌,进行字符分割与识别。
报送交警人工检测模块,将车牌识别模块识别的车牌号码交给交警进行人工检测确认,完成酒驾车辆识别过程。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
1.一种基于视频监控的酒驾车辆轨迹识别系统,其特征在于,包括视频采集模块、数字图像预处理模块、车辆行驶特征检测模块、酒驾车辆识别模块、车牌识别模块以及报送交警人工检测模块;其中,数字图像预处理模块包括车道线识别模块、汽车识别模块和图像预处理模块;车辆行驶特征检测模块包括汽车追踪模块、转向灯识别模块、角度检测模块和压线检测模块;视频采集模块、数字图像预处理模块、车辆行驶特征检测模块、酒驾车辆识别模块、车牌识别模块以及报送交警人工检测模块,各模块依次连接。
2.根据权利要求1所述的一种基于视频监控的酒驾车辆轨迹识别系统,其特征在于,视频采集模块用于获取汽车视频图像数据,通过监控摄像头对道路上的汽车变道时汽车车身线与车道线的夹角进行学习,并统计最大阈值。
3.根据权利要求1所述的一种基于视频监控的酒驾车辆轨迹识别系统,其特征在于,数字图像预处理模块,用于对监控视频中的汽车使用轮廓识别法获取车辆的原始图像,并分割图像中车辆和车道线,对所得图像进行图像预处理,包括滤波、二值化、填充、修饰、细化处理,获取含有车辆与车道线的轮廓图像。
4.根据权利要求3所述的一种基于视频监控的酒驾车辆轨迹识别系统,其特征在于,数字图像预处理模块中的车道线识别模块、汽车识别模块和图像预处理模块的具体实现过程如下:
车道线识别模块,利用sobel算子、laplacian算子和canny算子进行边缘检测,使用fillconvexpoly进行感兴趣区域检测,输出元素矩阵,绘制掩膜图像,获取感兴趣区域;利用霍夫变换将组成车道线的独立像素点连成直线,再使用addweighted函数,实现图像加权叠加;
汽车识别模块,用于判断汽车,锁定汽车位置;使用方向梯度直方图hog和支持向量机svm结合的算法进行识别,具体实现过程如下:
s11、通过提取图像的方向梯度直方图hog描述子,生成图像的特征数据,进行方向梯度直方图hog特征向量归一化;其中,方向梯度计算原理如下:
g(x,y)=gx(x,y) gy(x,y)(1)
gx(x,y)=i(x 1,y)-i(x,y)(2)
gy(x,y)=i(x,y 1)-i(x,y)(3)
θ=arctan(gy/gx)(5)
其中,(x,y)为像素的坐标;g(x,y)为输入图像中像素点(x,y)处的水平与垂直方向梯度之和;gx(x,y)为输入图像中像素点(x,y)处的水平方向梯度;gy(x,y)为输入图像中像素点(x,y)处的垂直方向梯度;i(x,y)为图像在(x,y)处的像素值,i(x 1,y)为图像在(x 1,y)处的像素值;i(x,y 1)为图像在(x,y 1)处的像素值;g为像素点的梯度幅值;gx为像素点的水平方向梯度;gy为像素点的垂直方向梯度;
s12、串联hog特征,将图像分成若干个连接区域,将每个连接区域都进行x,y方向上的卷积核kernels运算,获取梯度积分图;
s13、通过计算特征维度,对梯度向量正则化,获取最终hog特征;
s14、结合svm分类器,判断出汽车,锁定汽车位置,对图像建立直角坐标系,检测获取汽车中心点,获取汽车当前的坐标,汽车宽度;
图像预处理模块,用于视频分帧,让视频以每一帧的形式进行下一步的图像处理;对图像进行预处理,利用高斯滤波对每一帧图像进行噪点剔除,利用灰度变换进行灰度化处理,通过cvtcolor函数将rgb的图像转换成灰度图,再把获取到的图像进行二值化处理。
5.根据权利要求1所述的一种基于视频监控的酒驾车辆轨迹识别系统,其特征在于,车辆行驶特征检测模块,用于检测车身与车道线夹角;汽车的压线行驶;汽车在等红绿灯且为第一辆汽车时,其车头的压线情况。
6.根据权利要求5所述的一种基于视频监控的酒驾车辆轨迹识别系统,其特征在于,车辆行驶特征检测模块中的汽车追踪模块、转向灯识别模块、角度检测模块和压线检测模块的具体实现过程如下:
汽车追踪模块,通过结合卡尔曼滤波和匈牙利算法,获取汽车运动方向及汽车运动线,具体实现过程如下:
s21、设当前汽车中心点坐标(x,y),上一时刻中心点坐标(xt-1,yt-1),则其欧几里得距离:
其中,dt|t-1为上一时刻检测到的中心点坐标集合;
s22、利用opencv库的goodfeaturestotrack获取角点,计算角点平均点进而确定运动方向;
s23、根据汽车运动方向和汽车中心点绘制汽车的行驶路劲,将车身拟成一条直线;
转向灯识别模块,利用yolo识别出转向灯位置,然后利用opencv识别转向灯的颜色,具体实现过程如下:
s31、获取摄像头采集到的图像数据,将图像数据输入到yolo中,进行目标检测,获取目标列表;
s32、查看目标列表中的转向灯的目标类型;
s33、利用opencv提取目标为转向灯的图片区域,将各个像素点的颜色由rgb空间转换到hsv空间,识别黄色的转向灯;
角度检测模块,用于计算汽车与车道线两条直线的角度,利用canny算子对图像进行边缘检测,统计霍夫曼变换houghlinesp求出所有线,计算向量间的最大夹角;其中,canny边缘检测通过canny函数利用sober算子,对图像进行卷积,算出图像在x,y方向的梯度;
压线检测模块,用于检测汽车行驶的压线行为,进而判断出汽车酒驾嫌疑。
7.根据权利要求1所述的一种基于视频监控的酒驾车辆轨迹识别系统,其特征在于,酒驾车辆识别模块,用于确认酒驾车辆,若通过车辆行驶特征检测模块确认变道打灯;汽车变道时车身中心线与车道线形成的角度的变化速率超过平均值;汽车在两个车道中间压线行驶;车辆在等红绿灯且为第一辆汽车时,其车头压线,则确认为酒驾车辆。
8.根据权利要求1所述的一种基于视频监控的酒驾车辆轨迹识别系统,其特征在于,车牌识别模块通过检测车牌,并进行字符分割,字符识别,进而获取车辆车牌号码,其具体实现过程如下:
s41、检测车牌,使用双边滤波删除图像中其他细节,进行边缘检测,在利用canny检测原理计算梯度,寻找出轮廓,遍历结果,遮罩图片,留下车牌部分;
s42、字符分割,裁剪出感兴趣区域的图像;
s43、字符识别,将图像灰度化,使用sobel算子进行边缘检测,进行图像腐蚀、填充、滤波处理,再提取车牌,进行字符分割与识别。
9.根据权利要求1所述的一种基于视频监控的酒驾车辆轨迹识别系统,其特征在于,报送交警人工检测模块,将车牌识别模块识别的车牌号码交给交警进行人工检测确认,完成酒驾车辆识别过程。
技术总结