发明名称 一种基于深度图像或深度视频序列的实时跟踪目标的计算方法
摘要 本发明涉及一种基于深度图像或深度视频序列的实时跟踪目标的计算方法,本发明包括预处理深度图像、搜索跟踪目标、实时更新跟踪模板;搜索跟踪目标过程分为粗略搜索和精细搜索两个阶段,减少了样本的数目,进而提高算法的运行速度。本发明使用深度图像进行目标跟踪,能在保护跟踪目标隐私的同时,实时跟踪目标,对光照、遮挡及复杂背景等因素具有较强的鲁棒性。本发明实时更新跟踪模板提高了跟踪的准确性,在跟踪目标的匹配值较低时,本发明不更新跟踪模板并对下一帧图像扩大搜索范围,避免了跟踪目标移动过快或变化过大造成的目标丢失。
申请公布号 CN105261033A 申请公布日期 2016.01.20
申请号 CN201510585955.2 申请日期 2015.09.15
申请人 山东大学 发明人 杨阳;杨智婷;刘云霞
分类号 G06T7/20(2006.01)I 主分类号 G06T7/20(2006.01)I
代理机构 济南金迪知识产权代理有限公司 37219 代理人 杨树云
主权项 一种基于深度图像或深度视频序列的实时跟踪目标的计算方法,其特征在于,具体步骤包括:(1)采集深度图像,并对采集的深度图像进行预处理,所述预处理包括依次进行求补、腐蚀、膨胀、填充、重构、边缘提取、距离变换、归一化;(2)在第1帧深度图像中,手动标记初始跟踪目标A<sub>1</sub>;在初始跟踪目标A<sub>1</sub>附近取若干个训练样本X<sub>1t</sub>,训练样本X<sub>1t</sub>中心点的选取方法为:在以初始跟踪目标A<sub>1</sub>为圆心、(1‑20)个像素点为半径的圆内随机取若干个像素点;在远离初始跟踪目标A<sub>1</sub>处取若干个训练样本Y<sub>1j</sub>,训练样本Y<sub>1j</sub>中心点的选取方法为:在以初始跟踪目标A<sub>1</sub>为圆心、(20‑100)像素点为内半径、(40‑150)个像素点为外半径的圆环内随机取若干个像素点;任一训练样本X<sub>1t</sub>、任一训练样本Y<sub>1j</sub>均与初始跟踪目标A<sub>1</sub>大小相同;训练样本B<sub>1i</sub>包括所有的训练样本X<sub>1t</sub>及所有的训练样本Y<sub>1j,</sub>i=t+j,将每一个训练样本B<sub>1i</sub>分别与初始跟踪目标A<sub>1</sub>进行模板匹配并分类,模式匹配并分类公式如式(Ⅰ)所示:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>C</mi><mrow><mn>1</mn><mi>i</mi></mrow></msub><mo>=</mo><mfrac><mrow><msub><mi>&Sigma;</mi><mi>m</mi></msub><msub><mi>&Sigma;</mi><mi>n</mi></msub><mrow><mo>(</mo><msub><mi>B</mi><mrow><mn>1</mn><msub><mi>i</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow></msub><mo>-</mo><msub><mover><mi>B</mi><mo>&OverBar;</mo></mover><mrow><mn>1</mn><mi>i</mi></mrow></msub><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>A</mi><msub><mn>1</mn><mrow><mi>m</mi><mi>n</mi></mrow></msub></msub><mo>-</mo><msub><mover><mi>A</mi><mo>&OverBar;</mo></mover><mn>1</mn></msub><mo>)</mo></mrow></mrow><msqrt><mrow><mo>(</mo><msub><mi>&Sigma;</mi><mi>m</mi></msub><msub><mi>&Sigma;</mi><mi>n</mi></msub><msup><mrow><mo>(</mo><msub><mi>B</mi><mrow><mn>1</mn><msub><mi>i</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow></msub><mo>-</mo><msub><mover><mi>B</mi><mo>&OverBar;</mo></mover><mrow><mn>1</mn><mi>i</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo><mo>(</mo><msub><mi>&Sigma;</mi><mi>m</mi></msub><msub><mi>&Sigma;</mi><mi>n</mi></msub><msup><mrow><mo>(</mo><msub><mi>A</mi><msub><mn>1</mn><mrow><mi>m</mi><mi>n</mi></mrow></msub></msub><mo>-</mo><msub><mover><mi>A</mi><mo>&OverBar;</mo></mover><mn>1</mn></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow></msqrt></mfrac></mrow>]]></math><img file="FDA0000803317110000011.GIF" wi="1370" he="230" /></maths>     (I)式(Ⅰ)中,C<sub>1i</sub>为第一帧深度图像中初始跟踪目标A<sub>1</sub>与训练样本B<sub>1i</sub>的匹配值,<img file="FDA0000803317110000012.GIF" wi="55" he="75" />为A<sub>1</sub>的均值,<img file="FDA0000803317110000013.GIF" wi="69" he="76" />为B<sub>1i</sub>的均值,<img file="FDA0000803317110000014.GIF" wi="119" he="89" />为B<sub>1i</sub>的矩阵,m为<img file="FDA0000803317110000015.GIF" wi="119" he="89" />的行,n为<img file="FDA0000803317110000016.GIF" wi="122" he="89" />的列;<img file="FDA0000803317110000017.GIF" wi="107" he="93" />为A<sub>1</sub>的矩阵,m为<img file="FDA0000803317110000018.GIF" wi="107" he="98" />的行,n为<img file="FDA0000803317110000019.GIF" wi="107" he="88" />的列;当C<sub>1i</sub>的值大于阈值S时,训练样本B<sub>1i</sub>属于正样本,S的取值范围为(0.4‑0.8),否则,属于负样本;分类完毕后,将获取的所有正样本加权平均,得到S<sub>1</sub>,并与初始跟踪目标A<sub>1</sub>加权,加权公式如式(Ⅱ)所示,得到第1帧图像的跟踪模板;T<sub>1</sub>=α<sub>1</sub>×S<sub>1</sub>+α<sub>2</sub>×A<sub>1</sub>     (Ⅱ)式(Ⅱ)中,T<sub>1</sub>为第1帧图像的跟踪模板;α<sub>1</sub>+α<sub>2</sub>=1,α<sub>1</sub>的取值范围为(0.5‑0.8);(3)设定步骤(1)获取o帧深度图像,p=2,2≤p≤o,执行以下步骤:A、在第p帧深度图像中,对应第p‑1帧图像中A<sub>p‑1</sub>的相同位置为中心、(30‑100)个像素点为半径、(5‑10)个像素点为步长的圆内获取测试样本D<sub>pl</sub>的中心,测试样本D<sub>pl</sub>与跟踪模板T<sub>p‑1</sub>大小相同;将测试样本D<sub>pl</sub>与T<sub>p‑1</sub>进行模板匹配,模板匹配公式如式(Ⅲ)所示:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msubsup><mi>C</mi><mrow><mi>p</mi><mi>l</mi></mrow><mo>&prime;</mo></msubsup><mo>=</mo><mfrac><mrow><msub><mi>&Sigma;</mi><mi>m</mi></msub><msub><mi>&Sigma;</mi><mi>n</mi></msub><mrow><mo>(</mo><msub><mi>D</mi><mrow><msub><mi>pl</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow></msub><mo>-</mo><msub><mover><mi>D</mi><mo>&OverBar;</mo></mover><mrow><mi>p</mi><mi>l</mi></mrow></msub><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>T</mi><mrow><mi>p</mi><mo>-</mo><msub><mn>1</mn><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow></msub><mo>-</mo><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mrow><msqrt><mrow><mo>(</mo><msub><mi>&Sigma;</mi><mi>m</mi></msub><msub><mi>&Sigma;</mi><mi>n</mi></msub><msup><mrow><mo>(</mo><msub><mi>D</mi><mrow><msub><mi>pl</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow></msub><mo>-</mo><msub><mover><mi>D</mi><mo>&OverBar;</mo></mover><mrow><mi>p</mi><mi>l</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo><mo>(</mo><msub><mi>&Sigma;</mi><mi>m</mi></msub><msub><mi>&Sigma;</mi><mi>n</mi></msub><msup><mrow><mo>(</mo><msub><mi>T</mi><mrow><mi>p</mi><mo>-</mo><msub><mn>1</mn><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow></msub><mo>-</mo><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow></msqrt></mfrac></mrow>]]></math><img file="FDA0000803317110000021.GIF" wi="1390" he="215" /></maths>     (Ⅲ)式(Ⅲ)中,<img file="FDA00008033171100000215.GIF" wi="69" he="66" />为第p帧深度图像中测试样本D<sub>pl</sub>与跟踪模板T<sub>p‑1</sub>的匹配值,<img file="FDA0000803317110000022.GIF" wi="114" he="109" />为T<sub>p‑1</sub>的均值,<img file="FDA0000803317110000023.GIF" wi="110" he="110" />为D<sub>pl</sub>的均值,<img file="FDA00008033171100000216.GIF" wi="133" he="95" />为矩阵,m为<img file="FDA00008033171100000217.GIF" wi="135" he="94" />的行,n为<img file="FDA00008033171100000218.GIF" wi="135" he="95" />的列;<img file="FDA00008033171100000219.GIF" wi="150" he="94" />为矩阵,m为<img file="FDA00008033171100000220.GIF" wi="149" he="93" />的行,n为<img file="FDA00008033171100000221.GIF" wi="143" he="93" />的列;l为正整数;选出通过公式(Ⅲ)求取的最大的匹配值对应的测试样本,以最大的匹配值对应的测试样本位置为中心、(5‑10)个像素点为半径、1个像素点为步长的圆内取测试样本<img file="FDA0000803317110000024.GIF" wi="108" he="99" />的中心,将测试样本<img file="FDA0000803317110000025.GIF" wi="103" he="102" />与T<sub>p‑1</sub>进行模板匹配,模板匹配公式如式(Ⅳ)所示:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msubsup><mi>C</mi><mrow><mi>p</mi><mi>l</mi></mrow><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msubsup><mo>=</mo><mfrac><mrow><msub><mi>&Sigma;</mi><mi>m</mi></msub><msub><mi>&Sigma;</mi><mi>n</mi></msub><mrow><mo>(</mo><msubsup><mi>D</mi><mrow><msub><mi>pl</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow><mo>&prime;</mo></msubsup><mo>-</mo><msubsup><mover><mi>D</mi><mo>&OverBar;</mo></mover><mrow><mi>p</mi><mi>l</mi></mrow><mo>&prime;</mo></msubsup><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>T</mi><mrow><mi>p</mi><mo>-</mo><msub><mn>1</mn><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow></msub><mo>-</mo><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mrow><msqrt><mrow><mo>(</mo><msub><mi>&Sigma;</mi><mi>m</mi></msub><msub><mi>&Sigma;</mi><mi>n</mi></msub><msup><mrow><mo>(</mo><msubsup><mi>D</mi><mrow><msub><mi>pl</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow><mo>&prime;</mo></msubsup><mo>-</mo><msubsup><mover><mi>D</mi><mo>&OverBar;</mo></mover><mrow><mi>p</mi><mi>l</mi></mrow><mo>&prime;</mo></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo><mo>(</mo><msub><mi>&Sigma;</mi><mi>m</mi></msub><msub><mi>&Sigma;</mi><mi>n</mi></msub><msup><mrow><mo>(</mo><msub><mi>T</mi><mrow><mi>p</mi><mo>-</mo><msub><mn>1</mn><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow></msub><mo>-</mo><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow></msqrt></mfrac></mrow>]]></math><img file="FDA0000803317110000026.GIF" wi="1387" he="213" /></maths>     (Ⅳ)式(Ⅳ)中,<img file="FDA0000803317110000027.GIF" wi="77" he="74" />为第p帧深度图像中测试样本<img file="FDA0000803317110000028.GIF" wi="102" he="99" />与跟踪模板T<sub>p‑1</sub>的匹配值,<img file="FDA0000803317110000029.GIF" wi="115" he="103" />为T<sub>p‑1</sub>的均值,<img file="FDA00008033171100000210.GIF" wi="109" he="119" />为<img file="FDA00008033171100000211.GIF" wi="103" he="95" />的均值,<img file="FDA00008033171100000212.GIF" wi="125" he="95" />为矩阵,m为<img file="FDA00008033171100000213.GIF" wi="131" he="95" />的行,n为<img file="FDA00008033171100000214.GIF" wi="126" he="95" />的列;T<sub>p‑1mn</sub>为矩阵,m为<img file="FDA00008033171100000222.GIF" wi="143" he="94" />的行,n为<img file="FDA00008033171100000223.GIF" wi="148" he="94" />的列;选出通过公式(Ⅳ)求取的最大的匹配值对应的测试样本即第p帧深度图像的跟踪目标A<sub>p</sub>;判断通过公式(Ⅳ)求取的最大的匹配值是否大于阈值S,S的取值范围为(0.4‑0.8),如果大于,则进入步骤B,否则,T<sub>p</sub>=T<sub>p‑1</sub>;T<sub>p</sub>为第p帧图像的跟踪模板,进入步骤C;B、在跟踪目标A<sub>p</sub>附近取若干个训练样本X<sub>pt</sub>,训练样本X<sub>pt</sub>中心点的选取方法为:在以跟踪目标A<sub>p</sub>为圆心、(1‑20)个像素点为半径的圆内随机取若干个像素点;在远离跟踪目标A<sub>p</sub>处取若干个训练样本Y<sub>pj</sub>,训练样本Y<sub>nj</sub>中心点的选取方法为:在以跟踪目标A<sub>p</sub>为圆心、(20‑100)像素点为内半径、(40‑150)个像素点为外半径的圆环内随机取若干个像素点;任一训练样本X<sub>pt</sub>、任一训练样本Y<sub>pj</sub>均与跟踪目标A<sub>p</sub>大小相同;训练样本B<sub>pi</sub>包括所有的训练样本X<sub>pt</sub>及所有的训练样本Y<sub>pj</sub>,i=t+j,将每一个训练样本B<sub>pi</sub>分别与跟踪模板T<sub>p‑1</sub>进行模板匹配并分类,模式匹配并分类公式如式(Ⅴ)所示:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>C</mi><mrow><mi>p</mi><mi>i</mi></mrow></msub><mo>=</mo><mfrac><mrow><msub><mi>&Sigma;</mi><mi>m</mi></msub><msub><mi>&Sigma;</mi><mi>n</mi></msub><mrow><mo>(</mo><msub><mi>B</mi><mrow><msub><mi>pi</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow></msub><mo>-</mo><msub><mover><mi>B</mi><mo>&OverBar;</mo></mover><mrow><mi>p</mi><mi>i</mi></mrow></msub><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>T</mi><mrow><mi>p</mi><mo>-</mo><msub><mn>1</mn><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow></msub><mo>-</mo><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mrow><msqrt><mrow><mo>(</mo><msub><mi>&Sigma;</mi><mi>m</mi></msub><msub><mi>&Sigma;</mi><mi>n</mi></msub><msup><mrow><mo>(</mo><msub><mi>B</mi><mrow><msub><mi>pi</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow></msub><mo>-</mo><msub><mover><mi>B</mi><mo>&OverBar;</mo></mover><mrow><mi>p</mi><mi>i</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo><mo>(</mo><msub><mi>&Sigma;</mi><mi>m</mi></msub><msub><mi>&Sigma;</mi><mi>n</mi></msub><msup><mrow><mo>(</mo><msub><mi>T</mi><mrow><mi>p</mi><mo>-</mo><msub><mn>1</mn><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow></msub><mo>-</mo><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow></msqrt></mfrac></mrow>]]></math><img file="FDA0000803317110000031.GIF" wi="1477" he="237" /></maths>     (Ⅴ)式(Ⅴ)中,C<sub>pi</sub>为第p帧深度图像中每一个训练样本B<sub>pi</sub>与跟踪模板T<sub>p‑1</sub>的匹配值,<img file="FDA0000803317110000032.GIF" wi="82" he="84" />为T<sub>p‑1</sub>的均值,<img file="FDA0000803317110000033.GIF" wi="86" he="100" />为B<sub>pi</sub>的均值,<img file="FDA0000803317110000035.GIF" wi="111" he="83" />为矩阵,m为<img file="FDA0000803317110000036.GIF" wi="111" he="83" />的行,n为<img file="FDA0000803317110000037.GIF" wi="111" he="83" />的列;<img file="FDA0000803317110000038.GIF" wi="132" he="85" />为矩阵,m为<img file="FDA0000803317110000039.GIF" wi="131" he="86" />的行,n为<img file="FDA00008033171100000310.GIF" wi="132" he="86" />的列;当C<sub>pi</sub>的值大于阈值S时,训练样本B<sub>pi</sub>属于正样本,S的取值范围为(0.4‑0.8),否则,属于负样本;分类完毕后,将获取的所有正样本加权平均,得到S<sub>p</sub>,并与初始跟踪目标A<sub>1</sub>加权,加权公式如式(Ⅵ)所示,得到第p帧图像的跟踪模板;T<sub>p</sub>=α<sub>1</sub>×S<sub>p</sub>+α<sub>2</sub>×A<sub>1</sub>     (Ⅵ)式(Ⅵ)中,T<sub>p</sub>为第p帧图像的跟踪模板;C、判断p是否等于o,如果是,结束,否则,p加1,进入步骤A。
地址 250199 山东省济南市历城区山大南路27号