发明名称 一种抗遮挡目标轨迹预测跟踪方法
摘要 本发明涉及计算机视觉和模式识别技术领域,提出了一种抗遮挡目标轨迹预测跟踪方法。本发明包括选定目标,Kalman参数初始化,计算量化直方图;读取图像,计算跟踪窗口的位置和大小,校正目标的中心位置,设置下一帧图像搜索窗口中心位置;轨迹预报程序进行目标位置预报;求遮挡因子;根据被遮挡情况选择Kalman滤波器工作或转换为基于最小二乘支持向量机的轨迹预报:预报过程中若超过已定帧数仍未发现目标则认定跟踪失败;若发现目标,继续启用MeanShif目标跟踪算法和Kalman滤波器进行跟踪等。该方法能准确跟踪经过大面积遮挡后重新出现的目标,具有良好的实时性和抗干扰能力。
申请公布号 CN101853511B 申请公布日期 2012.07.11
申请号 CN201010172896.3 申请日期 2010.05.17
申请人 哈尔滨工程大学 发明人 傅荟璇;刘胜;孙枫;李冰
分类号 G06T7/20(2006.01)I;G06K9/66(2006.01)I 主分类号 G06T7/20(2006.01)I
代理机构 代理人
主权项 1.一种抗遮挡目标轨迹预测跟踪方法,其特征是具体步骤如下:(1).初始选定跟踪目标,Kalman参数初始化,计算目标的量化直方图;(2).读取图像,用MeanShift算法计算跟踪窗口的位置和大小,并将窗口的中心位置作为Kalman滤波的测量值,校正目标的中心位置,同时更新目标的状态及方差阵,Kalman滤波器的预测结果用于设置下一帧图像搜索窗口的中心位置;(3).将目标位置输出给轨迹预报程序,与跟踪程序并行做下一帧目标位置的预报;(4).根据方程<maths num="0001"><![CDATA[<math><mrow><mi>&alpha;</mi><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><mrow><mo>(</mo><msub><mi>q</mi><mi>u</mi></msub><mo>-</mo><msub><mi>p</mi><mi>u</mi></msub><mrow><mo>(</mo><msub><mi>y</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>,</mo></mtd><mtd><msqrt><mfrac><msub><mi>q</mi><mi>u</mi></msub><mrow><msub><mi>p</mi><mi>u</mi></msub><mrow><mo>(</mo><msub><mi>y</mi><mn>0</mn></msub><mo>)</mo></mrow></mrow></mfrac></msqrt><mo>></mo><mi>&xi;and</mi><msub><mi>p</mi><mi>u</mi></msub><mrow><mo>(</mo><msub><mi>y</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>&NotEqual;</mo><mn>0</mn></mtd></mtr><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>q</mi><mi>u</mi></msub><mo>,</mo></mtd><mtd><msub><mi>p</mi><mi>u</mi></msub><mrow><mo>(</mo><msub><mi>y</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>=</mo><mn>0</mn><mi>and</mi><msub><mi>q</mi><mi>u</mi></msub><mo>&NotEqual;</mo><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><mi>otherwise</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>求遮挡因子α,其中<maths num="0002"><![CDATA[<math><mrow><msub><mi>q</mi><mi>u</mi></msub><mo>=</mo><mover><mi>C</mi><mo>^</mo></mover><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><mi>k</mi><mrow><mo>(</mo><msup><mrow><mo>|</mo><mo>|</mo><mfrac><mrow><mover><mi>y</mi><mo>^</mo></mover><mo>-</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub></mrow><mover><mi>h</mi><mo>^</mo></mover></mfrac><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow><mi>&delta;</mi><mo>[</mo><mi>b</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mi>u</mi><mo>]</mo><mo>,</mo></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msub><mi>p</mi><mi>u</mi></msub><mo>=</mo><mover><mi>C</mi><mo>^</mo></mover><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><mi>k</mi><mrow><mo>(</mo><msup><mrow><mo>|</mo><mo>|</mo><mfrac><mrow><mi>y</mi><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub></mrow><mi>h</mi></mfrac><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow><mi>&delta;</mi><mo>[</mo><mi>b</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mi>u</mi><mo>]</mo><mo>,</mo></mrow></math>]]></maths>ξ为遮挡程度参量,y<sub>0</sub>为目标区域的中心位置,m为目标区域或候选区域内像素点个数,其中<img file="FSB00000768155000014.GIF" wi="34" he="51" />为<img file="FSB00000768155000015.GIF" wi="111" he="52" />的归一化系数,<img file="FSB00000768155000016.GIF" wi="422" he="232" />k(x)是核函数,<img file="FSB00000768155000017.GIF" wi="170" he="69" />为目标区域的模板中各个像素点,<img file="FSB00000768155000018.GIF" wi="28" he="50" />为模板中心,<img file="FSB00000768155000019.GIF" wi="100" he="53" />为<img file="FSB000007681550000110.GIF" wi="32" he="53" />处的像素值,b为定义函数,b:h<sup>2</sup>→{1,...,m},<img file="FSB000007681550000111.GIF" wi="24" he="54" />为模板半径,δ(x)是离散冲击函数,<maths num="0004"><![CDATA[<math><mrow><mi>&delta;</mi><mo>[</mo><mi>b</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mi>u</mi><mo>]</mo><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mi>b</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>u</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>b</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>&NotEqual;</mo><mi>u</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>u为直方图中像素值,C为p<sub>u</sub>(y)的归一化系数,<img file="FSB000007681550000113.GIF" wi="449" he="218" />x为候选区域的匹配对象中各个像素点,y为对象的中心,<maths num="0005"><![CDATA[<math><mrow><mi>&delta;</mi><mo>[</mo><mi>b</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mi>u</mi><mo>]</mo><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mi>b</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>u</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>b</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&NotEqual;</mo><mi>u</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>h为对象的半径;(5).根据设定的阈值判断目标被遮挡情况:若α小于此阈值,返回步骤2继续下一帧计算;若α大于此阈值,Kalman滤波器停止工作,跟踪转换为基于最小二乘支持向量机的轨迹预报,利用前一段时间MeanShift收敛点的位置用最小二乘支持向量机预测下一帧可能起始点的值,然后在该起始点邻域内利用MeanShift目标预测算法对当前帧目标的位置进行搜索:(a)若未发现目标,继续进行基于最小二乘支持向量机的轨迹预报,若搜索超过已设定的帧数仍未发现目标则认定跟踪失败;(b)若发现目标,继续启用MeanShif目标跟踪算法和Kalman滤波器进行跟踪,并更新Kalman滤波器状态,返回步骤(2)开始下一帧计算;其中基于最小二乘支持向量机的轨迹预报方法包括:A、对于时间序列{x<sub>1</sub>,x<sub>2</sub>,x<sub>3</sub>,...,x<sub>n</sub>},i=1,2,...,n,{x<sub>n</sub>}为预报的目标值,将{x<sub>n-1</sub>,x<sub>n-2</sub>,x<sub>n-3</sub>,...,x<sub>n-l</sub>}作为相关量,建立输入x={x<sub>n-1</sub>,x<sub>n-2</sub>,x<sub>n-3</sub>,...,x<sub>n-l</sub>}与输出y={x<sub>n</sub>}之间的映射关系:R<sup>l</sup>→R,l为嵌入维数;B、在训练回归模型中,组成如下的训练样本对:输入为x<sub>1</sub>,x<sub>2</sub>.....x<sub>l</sub>,输出为x<sub>l+l</sub>;输入为x<sub>2</sub>,x<sub>3</sub>.....x<sub>l+l</sub>,输出为x<sub>l+2</sub>,以此类推,由n个训练样本可以构建n-l个训练样本对,建立初始训练模型,当模型训练完成后,对未来第一步的预报形式为:<maths num="0006"><![CDATA[<math><mrow><msub><mover><mi>x</mi><mo>^</mo></mover><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>n</mi></msub><mo>,</mo><msub><mi>x</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><msub><mi>x</mi><mrow><mi>n</mi><mo>-</mo><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mrow></math>]]></maths>对未来第二步的预报形式为:<maths num="0007"><![CDATA[<math><mrow><msub><mover><mi>x</mi><mo>^</mo></mover><mrow><mi>n</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>=</mo><mi>f</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>x</mi><mi>n</mi></msub><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><msub><mi>x</mi><mrow><mi>n</mi><mo>-</mo><mi>l</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>)</mo></mrow></mrow></math>]]></maths>C、后续各步以此类推,对未来第p步的预报形式为:<maths num="0008"><![CDATA[<math><mrow><msub><mover><mi>x</mi><mo>^</mo></mover><mrow><mi>n</mi><mo>+</mo><mi>p</mi></mrow></msub><mo>=</mo><mi>f</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mrow><mi>n</mi><mo>+</mo><mi>p</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mover><mi>x</mi><mo>^</mo></mover><mrow><mi>n</mi><mo>+</mo><mi>p</mi><mo>-</mo><mn>2</mn></mrow></msub><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><msub><mi>x</mi><mrow><mi>n</mi><mo>+</mo><mi>p</mi><mo>-</mo><mi>m</mi></mrow></msub><mo>)</mo></mrow></mrow></math>]]></maths>式中,x<sub>n</sub>表示第n个数据的实际值,<img file="FSB00000768155000024.GIF" wi="40" he="52" />表示第n个数据的预报值。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室