发明名称 基于轨迹约束的航拍视频目标自动检测跟踪方法
摘要 本发明涉及一种基于轨迹约束的航拍视频目标自动检测跟踪方法,首先,利用前向图像及前向图像的运动信息自动完成航拍图像上的运动目标检测;其次,利用轨迹约束的方式去除检测结果上包含的因视差造成的静止目标误检测;最后,通过运动轨迹信息的统计,分析出真实运动目标的跟踪结果并去除噪声目标的影响,从而完成航拍视频目标自动检测跟踪,检测跟踪结果准确率达到80%以上。
申请公布号 CN104200492A 申请公布日期 2014.12.10
申请号 CN201410421654.1 申请日期 2014.08.25
申请人 西北工业大学 发明人 张艳宁;杨涛;陈挺
分类号 G06T7/20(2006.01)I 主分类号 G06T7/20(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 王鲜凯
主权项 一种基于轨迹约束的航拍视频目标自动检测跟踪方法,其特征在于步骤如下:步骤1:首先通过角点检测和非极大值抑制的方法对前向图像I<sup>F</sup>中的第t帧图像<img file="FDA0000559417900000011.GIF" wi="76" he="84" />和第t‑Δ帧<img file="FDA0000559417900000012.GIF" wi="94" he="92" />图像进行特征点提取,Δ≥1,并利用RANSAC方法去除两帧图像上的外点;然后利用光流特征计算方法获取第t帧前向图像I<sup>F</sup>的运动仿射矩阵<img file="FDA0000559417900000013.GIF" wi="173" he="99" />最后由<img file="FDA0000559417900000014.GIF" wi="146" he="94" />构造图像<img file="FDA0000559417900000015.GIF" wi="91" he="91" />和<img file="FDA0000559417900000016.GIF" wi="72" he="93" />之间的仿射变化关系:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msubsup><mi>I</mi><mi>t</mi><mi>F</mi></msubsup><mo>=</mo><msubsup><mi>P</mi><mrow><mo>(</mo><mi>t</mi><mo>,</mo><mi>t</mi><mo>-</mo><mi>&Delta;</mi><mo>)</mo></mrow><mi>F</mi></msubsup><mo>&times;</mo><msubsup><mi>I</mi><mrow><mi>t</mi><mo>-</mo><mi>&Delta;</mi></mrow><mi>F</mi></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559417900000017.GIF" wi="1269" he="93" /></maths>采用增量计算的方式替代直接计算<img file="FDA0000559417900000018.GIF" wi="78" he="78" />和<img file="FDA0000559417900000019.GIF" wi="63" he="89" />的运动仿射矩阵<img file="FDA00005594179000000110.GIF" wi="171" he="94" /><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msubsup><mi>P</mi><mrow><mo>(</mo><mi>t</mi><mo>,</mo><mi>t</mi><mo>-</mo><mi>&Delta;</mi><mo>)</mo></mrow><mi>F</mi></msubsup><mo>=</mo><msubsup><mi>P</mi><mrow><mo>(</mo><mi>t</mi><mo>,</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mi>F</mi></msubsup><mo>&times;</mo><msubsup><mi>P</mi><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>t</mi><mo>-</mo><mn>2</mn><mo>)</mo></mrow><mi>F</mi></msubsup><mo>&times;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&times;</mo><msubsup><mi>P</mi><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mi>&Delta;</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>t</mi><mo>-</mo><mi>&Delta;</mi><mo>)</mo></mrow><mi>F</mi></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00005594179000000111.GIF" wi="1522" he="101" /></maths>其中,<img file="FDA00005594179000000112.GIF" wi="122" he="84" />是<img file="FDA00005594179000000113.GIF" wi="72" he="82" />和<img file="FDA00005594179000000114.GIF" wi="69" he="89" />的运动仿射矩阵,<img file="FDA00005594179000000115.GIF" wi="149" he="84" />是<img file="FDA00005594179000000116.GIF" wi="78" he="84" />和<img file="FDA00005594179000000117.GIF" wi="78" he="90" />的运动仿射矩阵,<img file="FDA00005594179000000118.GIF" wi="200" he="84" />是<img file="FDA00005594179000000119.GIF" wi="105" he="83" />和<img file="FDA00005594179000000120.GIF" wi="92" he="88" />的运动仿射矩阵;步骤2:通过两帧图像<img file="FDA00005594179000000121.GIF" wi="77" he="85" />和<img file="FDA00005594179000000122.GIF" wi="67" he="87" />获取前向图像I<sup>F</sup>在t帧的帧差运动图像:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>D</mi><msup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mi>F</mi></msup><mo>=</mo><mo>|</mo><msubsup><mi>I</mi><mi>t</mi><mi>F</mi></msubsup><mo>-</mo><msubsup><mi>I</mi><mrow><mi>t</mi><mo>-</mo><mi>&Delta;</mi></mrow><mi>F</mi></msubsup><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00005594179000000123.GIF" wi="1218" he="83" /></maths>步骤3:根据<img file="FDA00005594179000000124.GIF" wi="136" he="97" />和D(x,y,t)<sup>F</sup>构造出前向图像H(x,y,t)<sup>F</sup>并利用高斯滤波函数进行平滑处理消除噪点;采用同样的方法计算后向图像I<sup>B</sup>第t帧的运动仿射矩阵<img file="FDA00005594179000000125.GIF" wi="147" he="95" />和帧差运动图像D(x,y,t)<sup>B</sup>构造出后向图像H(x,y,t)<sup>B</sup>:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>H</mi><msup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mi>F</mi></msup><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>max</mi><msup><mrow><mo>(</mo><mn>0</mn><mo>,</mo><msubsup><mi>P</mi><mrow><mo>(</mo><mi>t</mi><mo>,</mo><mi>t</mi><mo>-</mo><mi>&Delta;</mi><mo>)</mo></mrow><mi>F</mi></msubsup><mi>H</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mi>d</mi><mo>)</mo></mrow><mi>F</mi></msup></mtd><mtd><mi>if D</mi><msup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mi>F</mi></msup><mo>&lt;</mo><msub><mi>T</mi><mi>F</mi></msub></mtd></mtr><mtr><mtd><mn>255</mn></mtd><mtd><mi>if D</mi><msup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mi>F</mi></msup><mo>&GreaterEqual;</mo><msub><mi>T</mi><mi>F</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00005594179000000126.GIF" wi="1708" he="174" /></maths><maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>H</mi><msup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mi>B</mi></msup><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>max</mi><msup><mrow><mo>(</mo><mn>0</mn><mo>,</mo><msubsup><mi>P</mi><mrow><mo>(</mo><mi>t</mi><mo>,</mo><mi>t</mi><mo>-</mo><mi>&Delta;</mi><mo>)</mo></mrow><mi>B</mi></msubsup><mi>H</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mi>d</mi><mo>)</mo></mrow><mi>B</mi></msup></mtd><mtd><mi>if D</mi><msup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mi>B</mi></msup><mo>&lt;</mo><msub><mi>T</mi><mi>B</mi></msub></mtd></mtr><mtr><mtd><mn>255</mn></mtd><mtd><mi>if D</mi><msup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow><mi>B</mi></msup><mo>&GreaterEqual;</mo><msub><mi>T</mi><mi>B</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00005594179000000127.GIF" wi="1675" he="171" /></maths>其中,x,y分别代表图像的像素坐标,d为衰减值参数,T<sub>F</sub>、T<sub>B</sub>为阈值;步骤4:将前向图像H(x,y,t)<sup>F</sup>和后向图像H(x,y,t)<sup>B</sup>进行二值融合关联:H(x,y)<sub>t</sub>=max(H(x,y,t)<sup>F</sup>,H(x,y,t)<sup>B</sup>)  (6)并记H(x,y)<sub>t</sub>图像上的所有像素值为255的待检测像素点为<img file="FDA00005594179000000129.GIF" wi="305" he="67" />步骤5:利用前向图像的运动仿射矩阵<img file="FDA00005594179000000128.GIF" wi="139" he="93" />反向计算第t帧每一个待检测点p<sub>t</sub>=(x<sub>t</sub>,y<sub>t</sub>)∈Θ<sub>t</sub>在第t‑1帧图像中对应的像素点位置p<sub>t‑1</sub>:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>p</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>=</mo><msup><mrow><mo>(</mo><msubsup><mi>P</mi><mrow><mo>(</mo><mi>t</mi><mo>,</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mi>F</mi></msubsup><mo>)</mo></mrow><mi>T</mi></msup><msub><mi>p</mi><mi>t</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559417900000021.GIF" wi="1220" he="87" /></maths>步骤6:在以p<sub>t‑1</sub>为中心、β为半径的图像范围点集Q内,利用区域范围搜索函数F(p<sub>t‑1</sub>,β)寻找与p<sub>t</sub>具有最大相似度的像素坐标点p'<sub>t‑1</sub>,作为p<sub>t</sub>在第t‑1帧的实际对应像素点,并设定向量参数ε(p'<sub>t‑1</sub>,p<sub>t</sub>)作为p<sub>t</sub>在第t‑1帧与第t帧的运动轨迹;F(p<sub>t‑1</sub>,β)=maxf(p<sub>t‑1</sub>,q)  (8)<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>f</mi><mrow><mo>(</mo><msub><mi>p</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><mi>q</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mfrac><mrow><mo>|</mo><msub><mi>&rho;</mi><mi>p</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>&rho;</mi><mi>q</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>|</mo></mrow><mrow><mi>Max</mi><mrow><mo>(</mo><msub><mi>&rho;</mi><mi>p</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>&rho;</mi><mi>q</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>)</mo></mrow></mrow></mfrac><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559417900000022.GIF" wi="1497" he="175" /></maths>其中,q∈Q={q|||l(p<sub>t‑1</sub>)‑l(q)||<β},l(p<sub>t‑1</sub>)表示以p<sub>t‑1</sub>为中心点的3×3像素大小的块图像,l(q)表示以q为中心点的3×3像素大小的块图像,ρ<sub>p</sub>(i)和ρ<sub>q</sub>(i)分别表示l(p<sub>t‑1</sub>)和l(q)的直方图统计,N固定取值255;步骤7:利用轨迹相似函数κ(ε(p'<sub>t‑1</sub>,p<sub>t</sub>))计算第t帧每一个待检测点p<sub>t</sub>的轨迹ε(p'<sub>t‑1</sub>,p<sub>t</sub>)与所有待检测点的轨迹的关联相似性,根据相似值为1或0判断运动目标像素点集<img file="FDA0000559417900000023.GIF" wi="126" he="81" />和静止场景点集<img file="FDA0000559417900000024.GIF" wi="213" he="81" /><maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mi>&kappa;</mi><mrow><mo>(</mo><msub><mi>&epsiv;</mi><mi>p</mi></msub><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo></mtd><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><mo>|</mo><mo>|</mo><msub><mi>&epsiv;</mi><mi>p</mi></msub><mo>-</mo><msub><mi>&epsiv;</mi><mi>i</mi></msub><mo>|</mo><mo>|</mo><mo>></mo><mfrac><mn>1</mn><mi>L</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><mo>|</mo><mo>|</mo><msub><mi>&epsiv;</mi><mi>i</mi></msub><mo>-</mo><msub><mi>&epsiv;</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><mo>|</mo><mo>|</mo><msub><mi>&epsiv;</mi><mi>p</mi></msub><mo>-</mo><msub><mi>&epsiv;</mi><mi>i</mi></msub><mo>|</mo><mo>|</mo><mo>&le;</mo><mfrac><mn>1</mn><mi>L</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><mo>|</mo><mo>|</mo><msub><mi>&epsiv;</mi><mi>i</mi></msub><mo>-</mo><msub><mi>&epsiv;</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000559417900000025.GIF" wi="1556" he="310" /></maths>其中,ε<sub>p</sub>表示待检测点p<sub>t</sub>的轨迹ε(p'<sub>t‑1</sub>,p<sub>t</sub>),ε<sub>i</sub>、ε<sub>j</sub>分别表示第t帧所有待检测点中每一个待检测点的轨迹,当κ(ε<sub>p</sub>)=1时,<img file="FDA0000559417900000026.GIF" wi="264" he="84" />当κ(ε<sub>p</sub>)=0时,<img file="FDA0000559417900000027.GIF" wi="318" he="84" />步骤8:采用最近临聚类的方式,将运动目标像素点集<img file="FDA0000559417900000028.GIF" wi="138" he="86" />中每一个像素点的运动轨迹ε(p'<sub>t‑1</sub>,p<sub>t</sub>)进行聚类合并生成图像运动目标<img file="FDA0000559417900000029.GIF" wi="72" he="97" />轨迹ε(o<sub>t‑1</sub>,o<sub>t</sub>);步骤9:对运动目标<img file="FDA00005594179000000210.GIF" wi="69" he="99" />的运动轨迹ε(o<sub>t‑1</sub>,o<sub>t</sub>)进行判断;如果运动目标<img file="FDA00005594179000000211.GIF" wi="59" he="93" />的运动轨迹是非线性的,则该运动目标为虚假运动目标;如果运动目标<img file="FDA00005594179000000212.GIF" wi="68" he="93" />的运动轨迹ε(o<sub>t‑1</sub>,o<sub>t</sub>)是线性的,则该运动目标为真实运动目标;根据真实运动目标的连续轨迹,完成航拍视频目标自动检测跟踪。
地址 710072 陕西省西安市友谊西路127号