发明名称 基于运动信息和轨迹关联的视频行人检测和跟踪方法
摘要 本发明提供一种基于运动信息和轨迹关联的视频行人检测和跟踪方法。行人检测:用帧差法检测运动,并结合数字图像处理中的形态学方法,先检测出视频中的运动区域,然后在运动区域中采取滑窗搜索的方式提取特征,并用预先训练好的行人检测分类器,分类最终得到分类结果。跟踪方法:利用上一步骤得到的行人检测结果作为本步骤的输入,开始时为每一个检测到的行人初始化一个跟踪器,每个跟踪器包含目标的历史运动信息和外观信息。处理当前帧时,对输入的每一个检测结果,提取位置信息和外观信息,并以此为依据建立关联矩阵,来关联之前帧的跟踪目标,最终得到行人的跟踪轨迹。本发明具有良好的实时性,在较复杂的场景中也有良好的鲁棒性。
申请公布号 CN105224912A 申请公布日期 2016.01.06
申请号 CN201510548633.0 申请日期 2015.08.31
申请人 电子科技大学 发明人 解梅;罗招材;陈熊;于国辉
分类号 G06K9/00(2006.01)I;G06K9/62(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 电子科技大学专利中心 51203 代理人 邹裕蓉
主权项 基于运动信息和轨迹关联的视频行人检测和跟踪方法,其特征在于,包括以下步骤:步骤1:行人检测分类器训练在带检测与跟踪的应用场景中截取包含行人的各种姿态的行人作为正样本,把场景背景当作负样本,对每一个正负样本提取积分通道特征作为样本的训练特征输入分类器进行训练得到训练好的行人检测分类器;积分通道特征为LUV颜色空间上的L、U、V三个颜色通道加上7个梯度方向通道组成的特征;步骤2:行人检测步骤2‑1对连续三帧图片,当前帧I(k)分别与前一帧I(k‑1)和后一帧I(k+1)分别相减,对2个相减结果进行与操作,再对与操作结果进行连通域填充和闭操作得到运动区域图片;步骤2‑2利用运动区域图片对当前帧进行掩模操作得到运动分割后的图像I;步骤2‑3在图像I上用矩形窗来滑动搜索提取特征输入训练好的行人检测分类器中判断是否存在行人,若存在,则记录矩形框位置,滑动搜索完毕后对记录的矩形框进行融合得到当前帧的行人检测结果;基于轨迹关联的视频行人跟踪方法流程,如附图2所示,包括以下步骤:步骤3:行人跟踪步骤3‑1对于当前帧行人检测结果中每一个行人进行判断,是否为首次跟踪行人,如是,则进行轨迹初始化后进入步骤3‑2,如否,则直接进入步骤3‑2;第t帧时的第i个行人表示为x<sup>i</sup>=(p<sup>i</sup>,s<sup>i</sup>,v<sup>i</sup>),其中p,s,v分别表示目标的位置坐标、长宽大小、运动速度,轨迹<img file="FDA0000793144550000011.GIF" wi="551" he="80" />为从第1帧到第t帧的轨迹集合,t<sub>s</sub>表示最早出现的行人的轨迹起始帧号为第s帧,t<sub>e</sub>表示最晚出现的行人的轨迹起始帧号为第e帧;步骤3‑2求相似度投影矩阵:取当前帧的置信度高的轨迹为训练样本,提取样本的HSV颜色空间的三个颜色通道的颜色直方图作为特征向量,若行人x<sup>i</sup>提取到的特征向量为<img file="FDA0000793144550000014.GIF" wi="90" he="75" />轨迹T<sup>i</sup>是包含N帧中行人x<sup>i</sup>的集合,则其特征向量提取公式为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>f</mi><msup><mi>T</mi><mi>i</mi></msup></msub><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><msub><mi>&Sigma;f</mi><msup><mi>x</mi><mi>i</mi></msup></msub><mo>,</mo><msup><mi>x</mi><mi>i</mi></msup><mo>&Element;</mo><msup><mi>T</mi><mi>i</mi></msup></mrow>]]></math><img file="FDA0000793144550000012.GIF" wi="472" he="131" /></maths>选取训练样本集为S={f<sub>i</sub>,y<sub>i</sub>},其中f<sub>i</sub>为第i个样本的特征向量,y<sub>i</sub>为样本i所属类别;根据训练样本计算类间离散矩阵S<sub>b</sub>和类内离散矩阵S<sub>t</sub>:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>S</mi><mi>b</mi></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>C</mi></munderover><mrow><mo>(</mo><msub><mi>m</mi><mi>i</mi></msub><mo>-</mo><mi>&mu;</mi><mo>)</mo></mrow><msup><mrow><mo>(</mo><msub><mi>m</mi><mi>i</mi></msub><mo>-</mo><mi>&mu;</mi><mo>)</mo></mrow><mi>T</mi></msup><mo>,</mo><msub><mi>S</mi><mi>t</mi></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>C</mi></munderover><mrow><mo>(</mo><msub><mi>f</mi><mi>i</mi></msub><mo>-</mo><mi>&mu;</mi><mo>)</mo></mrow><msup><mrow><mo>(</mo><msub><mi>f</mi><mi>i</mi></msub><mo>-</mo><mi>&mu;</mi><mo>)</mo></mrow><mi>T</mi></msup></mrow>]]></math><img file="FDA0000793144550000013.GIF" wi="1015" he="148" /></maths>其中,C代表样本类别总数,m<sub>i</sub>为第i类特征值均值,μ为全局特征值均值,(·)<sup>T</sup>表示矩阵转置;(f<sub>i</sub>‑μ)<sup>T</sup>利用类间离散矩阵S<sub>b</sub>和类内离散矩阵S<sub>t</sub>得到投影矩阵U:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>U</mi><mo>=</mo><munder><mi>argmax</mi><mi>U</mi></munder><mo>|</mo><mfrac><mrow><msup><mi>U</mi><mi>T</mi></msup><msub><mi>S</mi><mi>b</mi></msub><mi>U</mi></mrow><mrow><msup><mi>U</mi><mi>T</mi></msup><msub><mi>S</mi><mi>t</mi></msub><mi>U</mi></mrow></mfrac><mo>|</mo></mrow>]]></math><img file="FDA0000793144550000021.GIF" wi="461" he="150" /></maths>步骤3‑3根据投影矩阵U计算行人和轨迹的相似度:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>&Lambda;</mi><mrow><mo>(</mo><msub><mi>f</mi><msup><mi>T</mi><mi>i</mi></msup></msub><mo>,</mo><msub><mi>f</mi><msup><mi>x</mi><mi>i</mi></msup></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mo>(</mo><msup><mi>U</mi><mi>T</mi></msup><msub><mi>f</mi><msup><mi>T</mi><mi>i</mi></msup></msub><mo>&CenterDot;</mo><msup><mi>U</mi><mi>T</mi></msup><msub><mi>f</mi><msup><mi>x</mi><mi>i</mi></msup></msub><mo>)</mo></mrow><mrow><mo>|</mo><mo>|</mo><msup><mi>U</mi><mi>T</mi></msup><msub><mi>f</mi><msup><mi>T</mi><mi>i</mi></msup></msub><mo>|</mo><mo>|</mo><mo>|</mo><mo>|</mo><msup><mi>U</mi><mi>T</mi></msup><msub><mi>f</mi><msup><mi>x</mi><mi>i</mi></msup></msub><mo>|</mo><mo>|</mo></mrow></mfrac></mrow>]]></math><img file="FDA0000793144550000022.GIF" wi="656" he="173" /></maths>其中Λ(T<sup>i</sup>,x<sup>i</sup>)就是第i轨迹T<sup>i</sup>和第i行人x<sup>i</sup>之间的相似度值,<img file="FDA0000793144550000026.GIF" wi="63" he="65" />和<img file="FDA0000793144550000027.GIF" wi="58" he="75" />分别为第i个轨迹的特征向量和第i个行人的特征向量,U为投影矩阵,||·||为二范数。步骤3‑4对检测到的行人进行局部关联,局部轨迹关联代价矩阵S:S=[s<sub>ij</sub>]<sub>h×n</sub>,s<sub>ij</sub>=‑log(Λ(T<sup>i</sup>,x<sup>j</sup>))i∈[0..h],j∈[0..n]其中,当前帧为第t帧时,h为第t帧的轨迹数,n为第t帧的检测的行人数,T<sup>i</sup>代表第i条轨迹,x<sup>j</sup>表示第j个检测到行人,s<sub>ij</sub>表示代价矩阵S在第i行第j列的值,即轨迹T<sup>i</sup>和行人x<sup>j</sup>的关联代价值;步骤3‑5计算轨迹置信值conf(T<sup>i</sup>):根据轨迹的历史信息,包括轨迹的长度、遮挡程度、相似度计算轨迹的置信值conf(T<sup>i</sup>):<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>c</mi><mi>o</mi><mi>n</mi><mi>f</mi><mrow><mo>(</mo><msup><mi>T</mi><mi>i</mi></msup><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mfrac><mn>1</mn><mi>L</mi></mfrac><mi>&Sigma;</mi><mi>&Lambda;</mi><mo>(</mo><mrow><msup><mi>T</mi><mi>i</mi></msup><mo>,</mo><msup><mi>x</mi><mi>i</mi></msup></mrow><mo>)</mo><mo>)</mo></mrow><mo>&times;</mo><mi>m</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><mo>(</mo><mrow><mn>1</mn><mo>+</mo><mi>&beta;</mi><mo>&CenterDot;</mo><mi>l</mi><mi>o</mi><mi>g</mi><mrow><mo>(</mo><mrow><mi>L</mi><mo>-</mo><mi>w</mi></mrow><mo>)</mo></mrow><mo>/</mo><mi>L</mi></mrow><mo>)</mo><mo>,</mo><mn>0</mn><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000793144550000023.GIF" wi="1474" he="132" /></maths>其中L为轨迹T<sup>i</sup>的长度,Λ(T<sup>i</sup>,x<sup>i</sup>)为行人x<sup>i</sup>和轨迹T<sup>i</sup>的相似度,w为该轨迹目标未检测到的帧数,β为调节参数,conf(T<sup>i</sup>)得到的值越大代表置信度越高。步骤3‑6对小轨迹进行全局关联,我们定义关联代价矩阵G为:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>G</mi><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mo>-</mo><mi>log</mi><mrow><mo>(</mo><mi>&Lambda;</mi><mo>(</mo><mrow><msub><mi>f</mi><msup><mi>T</mi><mi>i</mi></msup></msub><mo>,</mo><msub><mi>f</mi><msup><mi>T</mi><mi>j</mi></msup></msub></mrow><mo>)</mo><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mo>-</mo><mi>log</mi><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>c</mi><mi>o</mi><mi>n</mi><mi>f</mi><mo>(</mo><msup><mi>T</mi><mi>i</mi></msup><mo>)</mo><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mi>l</mi><mi>o</mi><mi>g</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mo>-</mo><mi>log</mi><mrow><mo>(</mo><mi>&Lambda;</mi><mo>(</mo><mrow><msub><mi>f</mi><msup><mi>T</mi><mi>i</mi></msup></msub><mo>,</mo><msub><mi>f</mi><msup><mi>x</mi><mi>i</mi></msup></msub></mrow><mo>)</mo><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000793144550000024.GIF" wi="1420" he="182" /></maths><img file="FDA00007931445500000210.GIF" wi="225" he="81" />表示两条小轨迹T<sup>i</sup>和T<sup>j</sup>之间的相似度值;<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>&Lambda;</mi><mrow><mo>(</mo><msub><mi>f</mi><msup><mi>T</mi><mi>i</mi></msup></msub><mo>,</mo><msub><mi>f</mi><msup><mi>T</mi><mi>j</mi></msup></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mo>(</mo><msup><mi>U</mi><mi>T</mi></msup><msub><mi>f</mi><msup><mi>T</mi><mi>i</mi></msup></msub><mo>&CenterDot;</mo><msup><mi>U</mi><mi>T</mi></msup><msub><mi>f</mi><msup><mi>T</mi><mi>j</mi></msup></msub><mo>)</mo></mrow><mrow><mo>|</mo><mo>|</mo><msup><mi>U</mi><mi>T</mi></msup><msub><mi>f</mi><msup><mi>T</mi><mi>i</mi></msup></msub><mo>|</mo><mo>|</mo><mo>|</mo><mo>|</mo><msup><mi>U</mi><mi>T</mi></msup><msub><mi>f</mi><msup><mi>T</mi><mi>j</mi></msup></msub><mo>|</mo><mo>|</mo></mrow></mfrac></mrow>]]></math><img file="FDA0000793144550000025.GIF" wi="669" he="165" /></maths>conf(T<sup>i</sup>)为轨迹T<sup>i</sup>置信值;步骤3‑7返回步骤2进行下一帧的检测与跟踪。
地址 611731 四川省成都市高新区(西区)西源大道2006号