发明名称 一种基于视频检测技术的车辆违法变道检测方法
摘要 本发明公开了一种基于视频检测技术的车辆违法变道检测方法。传统的交通事件检测需在道路下面物理埋设大量环形线圈检测器或在路边安装超声波检测器。本发明具体步骤如下:步骤(1).运动车辆检测;步骤(2).基于分水岭算法的运动车辆定位;步骤(3).基于二级特征匹配的卡尔曼滤波跟踪;其中步骤(1)包括预处理、背景建模、运动目标提取、后处理;步骤(2)包括输入建立的背前景二值化图像、对输入的背前景二值化图像进行V-S分水岭算法、开辟内存以存放统计信息并建立领域链表、合并极小区和相似区域、输出运动目标的区域统计信息。本发明抗干扰能力强,能有效消除孤立噪声,更准确的提取车辆前景信息有较好的帮助。
申请公布号 CN102819952A 申请公布日期 2012.12.12
申请号 CN201210226419.X 申请日期 2012.06.29
申请人 浙江大学 发明人 厉小润;杨平
分类号 G08G1/01(2006.01)I;G06K9/32(2006.01)I;G06T7/20(2006.01)I 主分类号 G08G1/01(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 1. 一种基于视频检测技术的车辆违法变道检测方法,其特征在于包括如下步骤:步骤(1).运动车辆检测视频信号由视频帧序列组成,运动车辆检测就是在视频帧序列的每一帧中提取运动车辆;选择基于差异深度积累背景差分法的目标检测算法,并在该方法在背景建模过程中引入差异深度矩阵来记录图像的变化,具体如下:1-1.预处理将输入的视频帧图像从RGB格式转换为8位灰度图;1-2.背景建模首先,选取预处理后视频帧序列中相邻的<i>i</i>、<i>j</i>两帧图像做差,然后对得到的差值图像进行如下二值化处理,<img file="201210226419X100001DEST_PATH_IMAGE002.GIF" wi="275" he="58" />(1)其中,<img file="201210226419X100001DEST_PATH_IMAGE004.GIF" wi="16" he="18" />是一个经过优化的门限值,<i>i</i>、<i>j</i>是相邻的两帧图像,<img file="201210226419X100001DEST_PATH_IMAGE006.GIF" wi="66" he="25" />,<img file="201210226419X100001DEST_PATH_IMAGE008.GIF" wi="68" he="26" />分别表示第<i>i</i>帧图像和第<i>j</i>帧图像在<img file="201210226419X100001DEST_PATH_IMAGE010.GIF" wi="41" he="22" />处的像素值;<img file="201210226419X100001DEST_PATH_IMAGE012.GIF" wi="56" he="26" />是像素点<img file="378357DEST_PATH_IMAGE010.GIF" wi="41" he="22" />处的差值进行二值化处理后的值;根据式(1),若二值化处理后的差值<img file="51784DEST_PATH_IMAGE012.GIF" wi="56" he="26" />为1,则该差值是运动车辆造成的或由噪声引起;若二值化处理后的差值<img file="264459DEST_PATH_IMAGE012.GIF" wi="56" he="26" />为0,则该差值是背景引起的;当差值<img file="469176DEST_PATH_IMAGE012.GIF" wi="56" he="26" />为1,对相邻的几帧图像中同一位置像素的变化引入“记忆”过程,来区分该差值是由运动车辆造成,或由噪声引起;并为图像的每一个像素设置一个记录其像素值变化的变量<img file="201210226419X100001DEST_PATH_IMAGE014.GIF" wi="70" he="25" />,由此形成一个差异深度矩阵<img file="201210226419X100001DEST_PATH_IMAGE016.GIF" wi="359" he="49" />(2)其中,<img file="608689DEST_PATH_IMAGE014.GIF" wi="70" he="25" />为第<img file="201210226419X100001DEST_PATH_IMAGE018.GIF" wi="15" he="18" />帧图像中<img file="136622DEST_PATH_IMAGE010.GIF" wi="41" he="22" />处像素值变化的变量,<img file="201210226419X100001DEST_PATH_IMAGE020.GIF" wi="20" he="24" />是差异深度,<img file="457882DEST_PATH_IMAGE020.GIF" wi="20" he="24" />为正整数,一般可取<img file="201210226419X100001DEST_PATH_IMAGE022.GIF" wi="38" he="20" />;若<img file="201210226419X100001DEST_PATH_IMAGE024.GIF" wi="96" he="25" />,则说明在<img file="201210226419X100001DEST_PATH_IMAGE026.GIF" wi="16" he="20" />帧内,该像素值变化不大,此时将此像素动态更新至如下背景模型:<img file="201210226419X100001DEST_PATH_IMAGE028.GIF" wi="294" he="25" />(3)其中<img file="201210226419X100001DEST_PATH_IMAGE030.GIF" wi="68" he="25" />为前<img file="201210226419X100001DEST_PATH_IMAGE032.GIF" wi="14" he="20" />帧图像建立的背景模型,<img file="201210226419X100001DEST_PATH_IMAGE034.GIF" wi="69" he="25" />为第<img file="773063DEST_PATH_IMAGE032.GIF" wi="14" he="20" />帧图像,<img file="201210226419X100001DEST_PATH_IMAGE036.GIF" wi="17" he="16" />为更新速度,其取值范围为[0,1],根据经验,<img file="447758DEST_PATH_IMAGE036.GIF" wi="17" he="16" />取值在[0.05,0.1]区间时背景更新效果较好;1-3.运动目标提取根据步骤1-2建立好的背景模型,将当前帧图像<img file="175672DEST_PATH_IMAGE034.GIF" wi="69" he="25" />与背景模型<img file="543200DEST_PATH_IMAGE030.GIF" wi="68" he="25" />做差得出差值图像<img file="201210226419X100001DEST_PATH_IMAGE038.GIF" wi="74" he="25" />:<img file="201210226419X100001DEST_PATH_IMAGE040.GIF" wi="230" he="28" />(4)根据Otsu算法求得差值图像<img file="768514DEST_PATH_IMAGE038.GIF" wi="74" he="25" />的最佳阈值,提取运动目标,建立背前景二值化图像,具体如下:若差值图像<img file="309216DEST_PATH_IMAGE038.GIF" wi="74" he="25" />大于最佳阈值,则将该像素点置为1,代表目标车辆;若差值图像<img file="139638DEST_PATH_IMAGE038.GIF" wi="74" he="25" />小于最佳阈值,则将该像素点置为0,代表路面背景;1-4.后处理通过数学形态学中的开操作和闭操作来进行后处理,消除运动目标提取阶段留下的空洞和噪声点,改善前景二值图的空域连通性;步骤(2).基于分水岭算法的运动车辆定位采用分水岭分割算法来对运动目标进行定位,具体如下:2-1.输入步骤1-3建立的背前景二值化图像;2-2.对输入的背前景二值化图像进行V-S分水岭算法,具体步骤如下:2-2-1.排序 计算视频帧图像中各点的像素值的梯度,得梯度值图像<i>G</i>;根据图像<i>G</i>中各梯度值的概率密度计算出该像素点的排序位置,并将各梯度值存入相应的排序数组中,得到一个梯度层级集合<img file="201210226419X100001DEST_PATH_IMAGE042.GIF" wi="22" he="25" />,h为梯度值,<img file="412488DEST_PATH_IMAGE042.GIF" wi="22" he="25" />表示梯度为<i>h</i>的像素集合;2-2-2.浸没按梯度值<i>h</i>值从低到高,对每一级梯度层级集合<img file="328360DEST_PATH_IMAGE042.GIF" wi="22" he="25" />进行浸没处理,具体步骤如下:(1)模拟浸没过程,处理一个梯度层级<i>h,</i>首先将该梯度层级中所有领域已被标识的点加入到一个先进先出的队列FIFO中;(2)若FIFO非空,则弹出队列的首元素,如果该像素点的邻域点已被标记,则将其标签值赋给该像素点,若领点尚未被标识则将该邻点加入到FIFO队列中,循环执行该步骤,直到FIFO队列为空;(3)再次扫描<img file="469491DEST_PATH_IMAGE042.GIF" wi="22" he="25" />层级的每个像素点,如还有未被标识的邻域点,即表示发现了新的极小区;此时,将该区域的标识值加1,并将该标识值赋给未标识的邻域点,作为其标签值;接着,从该像素点出发重新执行步骤2-2-2的浸没过程,以标识该极小区的所有像素点;(4)梯度值<i>h</i>加1,处理下一层级,直到<img file="967469DEST_PATH_IMAGE042.GIF" wi="22" he="25" />中所有层级处理完毕;2-3.开辟内存以存放统计信息,并根据V-S算法处理得到的标记图像初始化内存空间,建立领域链表;2-4.合并极小区和相似区域采用区域合并方法来解决过分割问题,即基于区域合并的方法,将像素个数过小的区域和RGB均值相似的区域合并到邻域中;2-5.输出运动目标的区域统计信息,包括目标中心位置、大小信息,根据区域的最小和最大坐标得到运动目标的最小外接矩形框,并在原图像上将其框出;步骤(3).基于二级特征匹配的卡尔曼滤波跟踪基于卡尔曼滤波的运动目标跟踪关键在于对时间轴上各帧检测出的运动目标区域建立对应关系,即确定运动目标的运动轨迹,具体步骤如下:3-1.目标特征提取:对检测出的运动目标,用一个矩形框标定该区域,并提取每个区域的中心坐标及长宽特征;3-2.建立链表:为每一个运动目标建立一个链表,存放步骤(2)提取的特征;3-3.状态向量建模:根据步骤3-1提取的目标特征,建立状态向量模型;3-4.卡尔曼预测:根据步骤3-3建立的状态向量建模,用卡尔曼滤波的时间更新方程预测下一帧运动目标可能出现的位置,位置预测如下:<img file="201210226419X100001DEST_PATH_IMAGE044.GIF" wi="135" he="40" />其中<img file="201210226419X100001DEST_PATH_IMAGE046.GIF" wi="29" he="30" />和<img file="201210226419X100001DEST_PATH_IMAGE048.GIF" wi="37" he="32" />分别是<img file="201210226419X100001DEST_PATH_IMAGE050.GIF" wi="33" he="20" />帧和<img file="722804DEST_PATH_IMAGE032.GIF" wi="14" he="20" />帧的状态向量,<img file="201210226419X100001DEST_PATH_IMAGE052.GIF" wi="39" he="27" />是确定已知的矩阵;3-5.目标匹配基于步骤3-4的预测区域,搜索最佳匹配目标;在匹配过程选取目标区域的几何特征和核直方图特征作为匹配标准,基于目标区域的几何特征匹配又可分为基于中心坐标的匹配和基于区域长宽的匹配;首先对目标区域作几何特征匹配,如能找到最佳匹配则无需做下一级匹配;如果几何特征匹配结果不唯一,则继续做核直方图匹配;3-6.模型更新用卡尔曼滤波的测量更新方程进行模型更新;步骤(4).违法变道检测设H时刻车辆在车道的位置为<img file="201210226419X100001DEST_PATH_IMAGE054.GIF" wi="58" he="25" />,且车道边线的位置为<img file="201210226419X100001DEST_PATH_IMAGE056.GIF" wi="57" he="22" />,则车辆运动轨迹距车道边线的像素距离为<img file="201210226419X100001DEST_PATH_IMAGE058.GIF" wi="89" he="28" />跟踪N帧时间内,计算目标运动轨迹距道路边线平均距离E,并且求出离散程度S即:<img file="201210226419X100001DEST_PATH_IMAGE060.GIF" wi="124" he="46" />若车辆正常行驶,则离散度较小,S的值较小;若车辆变道行驶,则离散度变大,对应的S值相对较大,且当S&gt;T1时,视为变道事件,表达式为:<img file="201210226419X100001DEST_PATH_IMAGE062.GIF" wi="184" he="49" />其中:当Ch_Events的值等于1时表示变道事件,否则,为正常行驶;T1为阈值,根据不同的交通场景,T1的取值有所不同,在这里T1通常取8。
地址 310027 浙江省杭州市西湖区浙大路38号