发明名称 一种自助发卡机违章行为自动检测方法
摘要 本发明公开了一种自助发卡机违章行为自动检测方法,采用视频监控手段,对于自助发卡机区域的车辆和行人的行为进行自动识别,所述自动检测方法包括3个主步骤,分别是目标分割、违章行为识别和违章行为检测,所述自动检测方法中的处理步骤均是针对自助发卡机区域监控视频图像的按照先后顺序处理。
申请公布号 CN105574502A 申请公布日期 2016.05.11
申请号 CN201510941325.4 申请日期 2015.12.15
申请人 中海网络科技股份有限公司 发明人 袁彬;于艳玲;谭中慧
分类号 G06K9/00(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 上海伯瑞杰知识产权代理有限公司 31227 代理人 孟旭彤
主权项 一种自助发卡机违章行为自动检测方法,采用视频监控手段,对于自助发卡机区域的车辆和行人的行为进行自动识别,其特征在于,所述自动检测方法包括3个主步骤,分别是目标分割、违章行为识别和违章行为检测,所述自动检测方法中的处理步骤均是针对自助发卡机区域监控视频图像的按照先后顺序处理,所述目标分割,包括分步骤始背景提取、帧差分割目标和形态学滤波,所述的初始背景提取的实现步骤为:a1)统计连续N帧视频变化情况,记录像素中个点灰度出现情况<maths num="0001"><math><![CDATA[<mrow><mi>P</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = '{' close = ''><mtable><mtr><mtd><mrow><mi>p</mi><mo>+</mo><mn>1</mn><mo>,</mo></mrow></mtd><mtd><mtable><mtr><mtd><mrow><mi>i</mi><mi>f</mi></mrow></mtd><mtd><mrow><msub><mi>image</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>m</mi><mo>)</mo></mrow><mo>=</mo><mi>k</mi></mrow></mtd></mtr></mtable></mtd></mtr><mtr><mtd><mrow><mi>p</mi><mo>,</mo></mrow></mtd><mtd><mtable><mtr><mtd><mrow><mi>i</mi><mi>f</mi></mrow></mtd><mtd><mrow><msub><mi>image</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>m</mi><mo>)</mo></mrow><mo>&NotEqual;</mo><mi>k</mi></mrow></mtd></mtr></mtable></mtd></mtr></mtable></mfenced><mo>,</mo><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2...</mn><mi>N</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1.1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000878851870000011.GIF" wi="1596" he="157" /></maths>其中,P(x,y,k)表示像素点(x,y)处亮度值为k出现的次数,image<sub>i</sub>(x,y,m)表示某一帧图像像素点(x,y)处亮度值为m,a2)将连续N帧某点灰度出现频率最大值,作为该点的灰度值,即初始背景灰度值。Background(x,y)=max(P(x,y,k)) k=0,1,2…255   (1.2)所述的帧差分割目标的具体实现步骤为:b1)为方便后续计算,首先将抽样后的结果进行块化,设原始图像宽度及高度为W、H,块的大小为w、h,则块化后的图像大小为<maths num="0002"><math><![CDATA[<mrow><mfenced open = '{' close = ''><mtable><mtr><mtd><mrow><mi>w</mi><mi>i</mi><mi>d</mi><mo>=</mo><mi>W</mi><mo>/</mo><mi>w</mi></mrow></mtd></mtr><mtr><mtd><mrow><mi>h</mi><mi>e</mi><mi>i</mi><mo>=</mo><mi>H</mi><mo>/</mo><mi>h</mi></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1.3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000878851870000012.GIF" wi="1301" he="207" /></maths>b2)使用当前图像与背景图像进行差分,以获得运动目标,其中DifGray<sub>i</sub>为背景差分后某块的灰度值,Gray<sub>n</sub>为当前帧某块内像素灰度值,Background<sub>n</sub>为背景中对应块内像素灰度值<maths num="0003"><math><![CDATA[<mrow><msub><mi>DifGray</mi><mi>i</mi></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>w</mi><mo>*</mo><mi>h</mi></mrow></munderover><msub><mi>Gray</mi><mi>n</mi></msub><mo>-</mo><munderover><mo>&Sigma;</mo><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>w</mi><mo>*</mo><mi>h</mi></mrow></munderover><msub><mi>Background</mi><mi>n</mi></msub><mo>,</mo><mn>0</mn><mo>&lt;</mo><mi>i</mi><mo>&lt;</mo><mi>w</mi><mi>i</mi><mi>d</mi><mo>*</mo><mi>h</mi><mi>e</mi><mi>i</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1.4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000878851870000013.GIF" wi="1652" he="134" /></maths>b3)二值化阈值的选择使用迭代式阈值选择法,A)选择视频图像中的灰度的中值作为首先的估计阈值T<sub>0</sub>;B)利用开始估计的阈值T<sub>0</sub>把图像的灰度值分成两个不同的区域:R<sub>1</sub>、R<sub>2</sub>,根据式(1.5)计算区域R<sub>1</sub>和R<sub>2</sub>的灰度的均值u<sub>1</sub>和u<sub>2</sub>:<maths num="0004"><math><![CDATA[<mrow><msub><mi>u</mi><mn>1</mn></msub><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><msub><mi>T</mi><mi>i</mi></msub></munderover><msub><mi>in</mi><mi>i</mi></msub></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><msub><mi>T</mi><mi>i</mi></msub></munderover><msub><mi>n</mi><mi>i</mi></msub></mrow></mfrac><mo>,</mo><msub><mi>u</mi><mn>2</mn></msub><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><msub><mi>T</mi><mi>i</mi></msub></mrow><mrow><mi>L</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>in</mi><mi>i</mi></msub></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><msub><mi>T</mi><mi>i</mi></msub></mrow><mrow><mi>L</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>n</mi><mi>i</mi></msub></mrow></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000878851870000024.GIF" wi="470" he="276" /></maths>n为个数   (1.5)C)计算出u<sub>1</sub>和u<sub>2</sub>后,计算出新的阈值T<sub>i+1</sub>:<maths num="0005"><math><![CDATA[<mrow><msub><mi>T</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo>(</mo><msub><mi>u</mi><mn>1</mn></msub><mo>+</mo><msub><mi>u</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1.6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000878851870000022.GIF" wi="1220" he="125" /></maths>D)重复步骤B)、C),直到T<sub>i+1</sub>和T<sub>i</sub>无限接近时,其值即为二值化阈值T,b4)当差分结果大于阈值T时,则将该块结果置为255,否则置为0,实现目标的二值化,<maths num="0006"><math><![CDATA[<mrow><mi>T</mi><mi>w</mi><mi>o</mi><mi>V</mi><mi>a</mi><mi>l</mi><mo>=</mo><mfenced open = '{' close = ''><mtable><mtr><mtd><mrow><mn>255</mn><mo>,</mo><mi>D</mi><mi>i</mi><mi>f</mi><mi>G</mi><mi>r</mi><mi>a</mi><mi>y</mi><mo>&gt;</mo><mi>T</mi></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo><mi>D</mi><mi>i</mi><mi>f</mi><mi>G</mi><mi>r</mi><mi>a</mi><mi>y</mi><mo>&lt;</mo><mi>T</mi></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1.7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000878851870000023.GIF" wi="1213" he="151" /></maths>所述的形态学滤波实现的步骤为:c1)对二值化分割结果进行横向扫描,当相邻两白块间间隔小于2个块时,则将中间区域的黑块置为255,否则保留原值;c2)对二值化分割结果进行纵向扫描,当相邻两白块间间隔小于2个块时,则将中间区域的黑块置为255,否则保留原值;所述的违章行为识别,包括分步骤车辆定位和车型识别,所述的车辆定位的实现步骤为:d1)统计图像范围内各行不为0的像素点,记录其个数,获得该行图像的宽度,d2)统计图像范围内各列不为0的像素点,记录其个数,获得该列图像的高度,根据d1)和d2)的统计结果,即可获得目标的位置信息和目标的宽度高度信息,根据目标的位置信息判断其是否在违章行为抓拍区域,如在检测区域内则对车型进行识别,反之,不对其进行检测;所述的车型识别实现步骤为:针对检测目标机动车、摩托车和行人,对摩托车和行人不做区分,确定机动车和摩托车目标模型,即在图像显示区域内,设置机动车和摩托车的模版大小,以方便后续检测,机动车:<img file="FDA0000878851870000035.GIF" wi="334" he="143" />|S<sub>机</sub>‑S<sub>机模</sub>|<20   (1.8)摩托车:<img file="FDA0000878851870000036.GIF" wi="362" he="142" />|S<sub>摩</sub>‑S<sub>摩模</sub>|<20   (1.9)其中,η为目标区域宽度高度之比,对于机动车、摩托车η取值范围根据多次实验获得,S=width*height为目标区域面积,根据其与模版面积大小比对,判断目标所属类型;所述的违章行为检测,包括对机动车辆逆行行为检测和摩托车及行人在检测区域内偷卡行为检测,机动车辆逆行行为检测,通过对车辆目标轨迹进行跟踪,根据其轨迹方向判断是否有逆行行为发生,具体实现步骤为:e1)采用角点跟踪算法,目标运行过程中,用变模板正向最小差值匹配跟踪算法,同步寻找角点在每帧图像中出现的位置,每当找到新的目标位置,则用当前位置信息更新模版数据;e2)对每行像素进行车辆正确行驶方向的标定,由于采样频率及车辆速度的限制,设定在相邻三个像素范围内其运动轨迹呈均匀变化,此时计算误差较小;e3)从图像下边沿第0行像素开始分别对各行像素进行方向标定,对于远离摄像机方向为行驶正方向的路段,其第k行方向矢量分别为:<maths num="0007"><math><![CDATA[<mrow><mfenced open = '{' close = ''><mtable><mtr><mtd><mrow><mo>(</mo><mi>L</mi><mi>a</mi><mi>n</mi><mi>e</mi><mo>&lsqb;</mo><mn>1</mn><mo>&rsqb;</mo><mo>.</mo><mi>x</mi><mo>-</mo><mi>L</mi><mi>a</mi><mi>n</mi><mi>e</mi><mo>&lsqb;</mo><mn>0</mn><mo>&rsqb;</mo><mo>.</mo><mi>x</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></mtd><mtd><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><mo>(</mo><mi>L</mi><mi>a</mi><mi>n</mi><mi>e</mi><mo>&lsqb;</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>&rsqb;</mo><mo>.</mo><mi>x</mi><mo>-</mo><mi>L</mi><mi>a</mi><mi>n</mi><mi>e</mi><mo>&lsqb;</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>&rsqb;</mo><mo>.</mo><mi>x</mi><mo>,</mo><mn>2</mn><mo>)</mo></mrow></mtd><mtd><mrow><mn>0</mn><mo>&lt;</mo><mi>k</mi><mo>&lt;</mo><mi>h</mi><mi>e</mi><mi>i</mi><mo>-</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><mrow><mo>(</mo><mi>L</mi><mi>a</mi><mi>n</mi><mi>e</mi><mo>&lsqb;</mo><mi>h</mi><mi>e</mi><mi>i</mi><mo>-</mo><mn>1</mn><mo>&rsqb;</mo><mo>.</mo><mi>x</mi><mo>-</mo><mi>L</mi><mi>a</mi><mi>n</mi><mi>e</mi><mo>&lsqb;</mo><mi>h</mi><mi>e</mi><mi>i</mi><mo>-</mo><mn>2</mn><mo>&rsqb;</mo><mo>.</mo><mi>x</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></mtd><mtd><mrow><mi>k</mi><mo>=</mo><mi>h</mi><mi>e</mi><mi>i</mi><mo>-</mo><mn>1</mn></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1.10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000878851870000033.GIF" wi="1453" he="227" /></maths>对于驶向摄像机方向为行驶正方向的路段,其第k行方向矢量分别为:<maths num="0008"><math><![CDATA[<mrow><mfenced open = '{' close = ''><mtable><mtr><mtd><mrow><mo>(</mo><mi>L</mi><mi>a</mi><mi>n</mi><mi>e</mi><mo>&lsqb;</mo><mn>0</mn><mo>&rsqb;</mo><mo>.</mo><mi>x</mi><mo>-</mo><mi>L</mi><mi>a</mi><mi>n</mi><mi>e</mi><mo>&lsqb;</mo><mn>1</mn><mo>&rsqb;</mo><mo>.</mo><mi>x</mi><mo>,</mo><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mtd><mtd><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><mo>(</mo><mi>L</mi><mi>a</mi><mi>n</mi><mi>e</mi><mo>&lsqb;</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>&rsqb;</mo><mo>.</mo><mi>x</mi><mo>-</mo><mi>L</mi><mi>a</mi><mi>n</mi><mi>e</mi><mo>&lsqb;</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>&rsqb;</mo><mo>.</mo><mi>x</mi><mo>,</mo><mo>-</mo><mn>2</mn><mo>)</mo></mrow></mtd><mtd><mrow><mn>0</mn><mo>&lt;</mo><mi>k</mi><mo>&lt;</mo><mi>h</mi><mi>e</mi><mi>i</mi><mo>-</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><mrow><mo>(</mo><mi>L</mi><mi>a</mi><mi>n</mi><mi>e</mi><mo>&lsqb;</mo><mi>h</mi><mi>e</mi><mi>i</mi><mo>-</mo><mn>2</mn><mo>&rsqb;</mo><mo>.</mo><mi>x</mi><mo>-</mo><mi>L</mi><mi>a</mi><mi>n</mi><mi>e</mi><mo>&lsqb;</mo><mi>h</mi><mi>e</mi><mi>i</mi><mo>-</mo><mn>1</mn><mo>&rsqb;</mo><mo>.</mo><mi>x</mi><mo>,</mo><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mtd><mtd><mrow><mi>k</mi><mo>=</mo><mi>h</mi><mi>e</mi><mi>i</mi><mo>-</mo><mn>1</mn></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1.11</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000878851870000034.GIF" wi="1508" he="229" /></maths>e4)根据对于逆行车辆,其轨迹方向与车辆正确行驶方向的夹角具有一定特征,将车辆发生逆行时跟踪轨迹与标定车道线正确行驶方向的夹角定义为120°,规定对于每条目标运动轨迹,当其与车道正常行驶方向夹角超过120°的数量大于设定的阈值时,则判定该条运动轨迹为逆行轨迹,即被跟踪车辆出现逆行行为;e5)<img file="FDA0000878851870000041.GIF" wi="44" he="53" />为标定车道线的车辆正确行驶矢量,<img file="FDA0000878851870000042.GIF" wi="44" he="68" />为轨迹实际运动矢量,其中,<img file="FDA0000878851870000043.GIF" wi="540" he="93" />则车辆实际行驶方向与规定的车辆正确行驶方向的夹角θ可表示为:<maths num="0009"><math><![CDATA[<mrow><mi>&theta;</mi><mo>=</mo><mo>|</mo><mi>arccos</mi><mrow><mo>(</mo><mfrac><mrow><msub><mi>x</mi><mn>1</mn></msub><msub><mi>x</mi><mn>2</mn></msub><mo>+</mo><msub><mi>y</mi><mn>1</mn></msub><msub><mi>y</mi><mn>2</mn></msub></mrow><mrow><msqrt><mrow><msubsup><mi>x</mi><mn>1</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>y</mi><mn>1</mn><mn>2</mn></msubsup></mrow></msqrt><msqrt><mrow><msubsup><mi>x</mi><mn>2</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>y</mi><mn>2</mn><mn>2</mn></msubsup></mrow></msqrt></mrow></mfrac><mo>)</mo></mrow><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1.12</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000878851870000044.GIF" wi="1332" he="199" /></maths>e6)在实际检测过程中,当θ>120°时,则将相应计数器加1,当满足逆行条件数量大于设定阈值时,则可判定当前跟踪车辆逆行;所述的偷卡行为检测是指,对于在监控视频图像检测区域内已经确定为摩托车和行人的目标,则直接对其进行报警,记录其车牌信息;对于确定的机动车车辆,如果其有逆行行为则认为其有偷卡行为,则对其进行报警。
地址 200135 上海市浦东新区民生路600号