发明名称 基于扫描线聚类的安防视频道路自动识别算法
摘要 本发明公开了基于扫描线聚类的安防视频道路自动识别算法,包括两个模块:获取汽车行驶区域和方向模块和道路区域自动识别模块;其中道路区域自动识别模块主要是对背景图做扫描线聚类处理。通过1)获取汽车行驶区域和行驶方向模块、2)道路区域自动识别模块和3)扫描线聚类算法SCL(Scan Line Cluster)的具体操作完成基于扫描线聚类的安防视频道路自动识别算法,获得安防视频中道路布防区域。本发明能够克服现有的基于像素阈值的道路分割算法需要手工采集种子点、不能有效去除道路裂纹、垃圾等噪声的不足,提高道路自动识别的效率、准确性和智能程度。
申请公布号 CN105184240A 申请公布日期 2015.12.23
申请号 CN201510534330.3 申请日期 2015.08.27
申请人 广西师范学院 发明人 覃晓;梁秋媛;元昌安
分类号 G06K9/00(2006.01)I;G06T7/20(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 广西南宁公平专利事务所有限责任公司 45104 代理人 王素娥
主权项 基于扫描线聚类的安防视频道路自动识别算法,其特征在于,包括两个模块:获取汽车行驶区域和方向模块(1)和道路区域自动识别模块(2);其中道路区域自动识别模块(2)主要是对背景图做扫描线聚类处理,各模块具体说明如下:1)获取汽车行驶区域和行驶方向模块(1)具体操作如下:步骤一.标识运动目标:由于校园或居民住宅生活小区里行人、车辆移动速度不快,因此选用传统的背景差算法来进行视频中移动目标的有效检测;步骤二.提取运动目标边缘特征:校园或居民住宅生活小区内的移动目标包括行人、车辆等,由于行人的活动区域比较大,往往超过道路区域,因此以车辆的活动区域作为道路自动检测的依据,从视频中提取活动目标之后,用现有的小波分析方法对活动目标进行边缘检测;步骤三.检查运动目标边缘特征是否与车辆边缘特征匹配:将目标的边缘特征与数据库中的车辆边缘特征进行相似度计算,若相似度超过预先给定的阈值,则执行步骤四计算运动目标的移动速度v,否则,跳转至步骤一标识运动目标,重新标识新的运动目标;步骤四.计算运动目标的移动速度v:校园或居民住宅生活小区内在道路区域有可能出现人员搬运大型板报或大型家具的情况,大型板报或大型家具的边缘特征类似于车辆轮廓,为进一步精确提取车辆目标,需要计算移动目标的运动速度;假设目标检测获得当前帧F<sub>t</sub>中运动目标的坐标为p<sub>1</sub>(x<sub>t</sub>,y<sub>t</sub>),经过<img file="FDA0000790853240000011.GIF" wi="68" he="58" />时间后第<img file="FDA0000790853240000012.GIF" wi="103" he="70" />帧中运动物体的坐标为<img file="FDA0000790853240000013.GIF" wi="333" he="85" />此刻的运动目标的移动速度v根据相应的坐标计算获得:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>v</mi><mo>=</mo><mfrac><mrow><mi>d</mi><mi>i</mi><mi>s</mi><mi>t</mi><mrow><mo>(</mo><msub><mi>p</mi><mn>1</mn></msub><mo>(</mo><mrow><msub><mi>x</mi><mi>t</mi></msub><mo>,</mo><msub><mi>y</mi><mi>t</mi></msub></mrow><mo>)</mo><mo>,</mo><msub><mi>p</mi><mn>2</mn></msub><mo>(</mo><mrow><msub><mi>x</mi><mrow><mi>t</mi><mo>+</mo><mo>&dtri;</mo><mi>t</mi></mrow></msub><mo>,</mo><msub><mi>y</mi><mrow><mi>t</mi><mo>+</mo><mo>&dtri;</mo><mi>t</mi></mrow></msub></mrow><mo>)</mo><mo>)</mo></mrow></mrow><mrow><mo>&dtri;</mo><mi>t</mi></mrow></mfrac></mrow>]]></math><img file="FDA0000790853240000021.GIF" wi="701" he="133" /></maths>式中,<img file="FDA0000790853240000022.GIF" wi="614" he="76" />表示p<sub>1</sub>,p<sub>2</sub>两点间的欧式距离;步骤五.判断运动目标的移动速度是否在车辆移动速度预设的范围内:行人和车辆的移动速度有明显的差异,若某运动物体的v值大于或等于预设的车辆速度值,继续执行步骤六;否则,移动目标不能确认为车辆,跳转至步骤一,重新标识新的运动目标;步骤六.记录车辆在图像中的坐标:标识该运动目标为车辆,记录车辆在图像中的坐标(x<sub>t</sub>,y<sub>t</sub>)和<img file="FDA0000790853240000023.GIF" wi="264" he="77" />并记<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mo>(</mo><msub><mi>x</mi><mn>0</mn></msub><mo>,</mo><msub><mi>y</mi><mn>0</mn></msub><mo>)</mo><mo>=</mo><mo>(</mo><msub><mi>x</mi><mi>t</mi></msub><mo>,</mo><msub><mi>y</mi><mi>t</mi></msub><mo>)</mo><mo>,</mo><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><msub><mi>y</mi><mn>1</mn></msub><mo>)</mo><mo>=</mo><mo>(</mo><msub><mi>x</mi><mrow><mi>t</mi><mo>+</mo><mo>&dtri;</mo><mi>t</mi></mrow></msub><mo>,</mo><msub><mi>y</mi><mrow><mi>t</mi><mo>+</mo><mo>&dtri;</mo><mi>t</mi></mrow></msub><mo>)</mo><mo>;</mo></mrow>]]></math><img file="FDA0000790853240000024.GIF" wi="827" he="77" /></maths>步骤七.计算车辆的行驶方向:仅考虑监控区域的道路是直线型,车辆在行驶过程中其方向不会发生突然变化,根据车辆目标在当前帧F<sub>t</sub>中的坐标(x<sub>t</sub>,y<sub>t</sub>),和经过<img file="FDA0000790853240000025.GIF" wi="62" he="56" />时间后在第<img file="FDA0000790853240000026.GIF" wi="104" he="71" />帧中运动的坐标<img file="FDA0000790853240000027.GIF" wi="276" he="85" />计算车辆行驶方向与水平方向的夹角为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>&theta;</mi><mo>=</mo><mi>arctan</mi><mrow><mo>(</mo><mfrac><mrow><msub><mi>y</mi><mrow><mi>t</mi><mo>+</mo><mo>&dtri;</mo><mi>t</mi></mrow></msub><mo>-</mo><msub><mi>y</mi><mi>t</mi></msub></mrow><mrow><msub><mi>x</mi><mrow><mi>t</mi><mo>+</mo><mo>&dtri;</mo><mi>t</mi></mrow></msub><mo>-</mo><msub><mi>x</mi><mi>t</mi></msub></mrow></mfrac><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000790853240000028.GIF" wi="441" he="129" /></maths>步骤八.输出(x<sub>0</sub>,y<sub>0</sub>)、(x<sub>1</sub>,y<sub>1</sub>)和θ;2)道路区域自动识别模块(2)具体操作步骤如下:步骤一.输入干净的背景图G;步骤二.将背景图G进行镜头矫正、去噪处理;步骤三.以(x<sub>0</sub>,y<sub>0</sub>)为坐标原点,将背景图G按(x<sub>1</sub>,y<sub>1</sub>)到水平线的方向旋转θ度,得到水平道路的背景图G’;步骤四.计算背景图G’的大小尺寸,记图背景图G’的总行数为M,G’的总列数为N,即size(G’)=M*N;步骤五.获取(x<sub>0</sub>,y<sub>0</sub>)的灰度值g<sub>0</sub>,g<sub>0</sub>=gray((x<sub>0</sub>,y<sub>0</sub>));步骤六.设置扫描线初始值:i=0;步骤七.i&lt;M:判断第i条扫描线还在背景图G’中,若是,则执行步骤八,否则,扫描完毕,转而执行步骤十;步骤八.调用扫描线聚类算法SCL(s,t,σ,Δ<sub>1</sub>,Δ<sub>2</sub>):其中参数s,t为扫描线起点和终点值,σ,Δ<sub>1</sub>,Δ<sub>2</sub>为阈值,σ为像素灰度聚类的最小距离,Δ<sub>1</sub>为扫描线上前景线段聚类的最小长度,Δ<sub>2</sub>为扫描线上背景线段聚类的最小长度;步骤九i=i+1:准备处理下一条扫描线。重复执行步骤七‑步骤九,直到i≥M;步骤十输出道路识别结果;3)扫描线聚类算法SCL(Scan Line Cluster):在上述道路区域自动检测算法模块的步骤八中,调用了扫描线聚类算法SCL,具体执行步骤如下:步骤一j=0:开始处理第i条扫描线上的第一个像素点;步骤二获取第i条扫描线上第j个像素点的灰度值g<sub>j</sub>,g<sub>j</sub>=gray(x<sub>i</sub>,x<sub>j</sub>);步骤三若|(g<sub>j</sub>‑g<sub>0</sub>)|&lt;=σ,说明像素(x<sub>i</sub>,x<sub>j</sub>)的灰度值与(x<sub>0</sub>,y<sub>0</sub>)的灰度值非常接近,则执行步骤四,否则转而执行七;步骤四初始化像素个数统计变量n<sub>1</sub>=1,记录当前像素点的位置p=j;步骤五统计灰度值|(g<sub>j</sub>‑g<sub>0</sub>)|&lt;=σ的像素个数n<sub>1</sub>;步骤六若n<sub>1</sub>&gt;=Δ<sub>1</sub>,则标记该n<sub>1</sub>个像素为前景,即置该n<sub>1</sub>个像素点的灰度为1(流程图中的gray(i,p:p+n<sub>1</sub>‑1)=1;表示将第i行,第p到p+n<sub>1</sub>‑1列的像素点的灰度值置为1),否则,标记该n<sub>1</sub>个像素为背景,即置该n<sub>1</sub>个像素点为灰度为0。转而执行步骤十;步骤七初始化像素个数统计变量n<sub>2</sub>=1,记录当前像素点的位置p=j;步骤八统计灰度值|(g<sub>j</sub>‑g<sub>0</sub>)|&gt;σ的像素个数n<sub>2</sub>;步骤九若n<sub>2</sub>&gt;=Δ<sub>2</sub>,则标记该n<sub>2</sub>个像素为背景,即置该n<sub>2</sub>个像素点为灰度为0,否则,标记该n<sub>2</sub>个像素为前景,即置该n<sub>2</sub>个像素点为灰度为1;步骤十j=j+1:准备处理下一个像素;步骤十一若j&lt;N,表示还有像素点需要处理,转而执行步骤二,否则,表示扫描线处理完毕,执行步骤十二;步骤十二输出扫描线聚类结果。
地址 530001 广西壮族自治区南宁市兴宁区燕子岭路4号