发明名称 基于动态形状码本学的水平集跟踪方法
摘要 本发明公开了一种基于动态形状码本学的水平集跟踪方法,建立基于非负矩阵分解的形状先验模型,得到基矩阵,基矩阵中的每个列向量作为一个形状码字;对测试图像根据底层特征得到底层轮廓,计算底层轮廓和基矩阵之间的残差,如果残差小于预设阈值,则将底层轮廓作为轮廓跟踪结果;残差大于等于预设阈值,则对底层轮廓进行形状约束下的轮廓进化,从而得到更为准确的轮廓跟踪结果;将轮廓跟踪结果作为新的形状训练样本加入形状先验模型,对基矩阵进行动态在线更新。本发明应用于序列图像的目标跟踪,对采用底层特征得到的底层轮廓引入形状先验,使底层轮廓进一步在形状约束下进化,可减少噪音、遮挡等因素的影响,提高跟踪结果的准确度和鲁棒性。
申请公布号 CN103400158B 申请公布日期 2016.04.06
申请号 CN201310322646.7 申请日期 2013.07.29
申请人 电子科技大学 发明人 周雪;邹见效;徐红兵
分类号 G06K9/66(2006.01)I 主分类号 G06K9/66(2006.01)I
代理机构 成都行之专利代理事务所(普通合伙) 51220 代理人 温利平
主权项 一种基于动态形状码本学习的水平集跟踪方法,其特征在于,包括以下步骤:S1:根据若干个形状训练样本构建形状m×n训练样本矩阵X,其中n为形状训练样本的个数,形状训练样本矩阵X的每一列为形状训练样本向量化得到的归一化的m×1的列向量,采用非负矩阵分解方法对形状训练样本矩阵X分解得到m×p的基矩阵W,p是预设的分解得到的基向量个数;将基矩阵W作为形状码本,其中每个列向量为一个形状码字,形状码字的个数为p;S2:根据测试图像的底层特征采用水平集方法对测试图像进行轮廓进化,得到底层轮廓Φ<sub>a</sub>;S3:采用非负最小二乘法计算步骤S2得到的底层轮廓Φ<sub>a</sub>与步骤S1得到的基矩阵W之间的残差<img file="FDA0000904946580000011.GIF" wi="359" he="103" />其中<img file="FDA0000904946580000012.GIF" wi="65" he="78" />是将底层轮廓Φ<sub>a</sub>进行向量化得到的列向量,c是非负系数,通过求解最小化下述问题得到:<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open = '' close = ''><mtable><mtr><mtd><mrow><munder><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow><mi>c</mi></munder><mo>|</mo><mo>|</mo><msub><mi>V</mi><msub><mi>&Phi;</mi><mi>a</mi></msub></msub><mo>-</mo><mi>W</mi><mo>&CenterDot;</mo><mi>c</mi><mo>|</mo><msub><mo>|</mo><mn>2</mn></msub></mrow></mtd><mtd><mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo></mrow></mtd><mtd><mrow><mi>c</mi><mo>&GreaterEqual;</mo><mn>0</mn></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000904946580000013.GIF" wi="630" he="95" /></maths>S4:预设残差阈值T,如果r≥T,进入步骤S5,如果r<T,将测试图像的底层轮廓Φ<sub>a</sub>作为轮廓跟踪结果Φ<sub>f</sub>,进入步骤S6;S5:重构形状模板<img file="FDA0000904946580000014.GIF" wi="271" he="85" />将<img file="FDA0000904946580000015.GIF" wi="76" he="79" />转换成矩阵形式,计算其水平集函数,并和Φ<sub>a</sub>进行配准生成形状速度场Φ<sub>m</sub>,根据形状速度场Φ<sub>m</sub>采用水平集方法进行轮廓进化,得到测试图像的轮廓跟踪结果Φ<sub>f</sub>,轮廓进化方程为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mfrac><mrow><msub><mi>&Phi;</mi><mi>t</mi></msub><mo>-</mo><msub><mi>&Phi;</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msub></mrow><mrow><mi>&Delta;</mi><mi>t</mi></mrow></mfrac><mo>=</mo><msub><mi>F</mi><mrow><mi>s</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub><mo>&CenterDot;</mo><mo>|</mo><mo>&dtri;</mo><msub><mi>&Phi;</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>|</mo></mrow>]]></math><img file="FDA0000904946580000016.GIF" wi="541" he="125" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>F</mi><mrow><mi>s</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub><mo>=</mo><mo>-</mo><mn>2</mn><mrow><mo>(</mo><msub><mi>&Phi;</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>&Phi;</mi><mi>m</mi></msub><mo>)</mo></mrow><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msup><mi>e</mi><mfrac><mrow><mo>-</mo><msup><mrow><mo>(</mo><msub><mi>&Phi;</mi><mi>a</mi></msub><mo>-</mo><msub><mi>&Phi;</mi><mi>m</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><mn>2</mn><msup><mi>&sigma;</mi><mn>2</mn></msup></mrow></mfrac></msup><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000904946580000017.GIF" wi="798" he="134" /></maths>其中,Φ<sub>t</sub>是第t次迭代的水平集函数,Φ<sub>t‑1</sub>是第t‑1次迭代的水平集函数,水平集函数的初始值Φ<sub>0</sub>是底层轮廓Φ<sub>a</sub>;<img file="FDA0000904946580000018.GIF" wi="145" he="79" />是Φ<sub>t‑1</sub>的梯度范数;σ是控制指数函数收敛速度的参数;S6:将测试图像的轮廓跟踪结果作为新增形状训练样本对形状码本进行更新,当新增形状训练样本积累至q个时更新一次;将q个新增形状训练样本列向量化后构建新增形状训练样本矩阵U,构建矩阵<img file="FDA0000904946580000019.GIF" wi="263" he="78" />对矩阵<img file="FDA00009049465800000110.GIF" wi="237" he="79" />进行非负矩阵分解,分解得到的基向量个数p与步骤S1相同,得到:<img file="FDA0000904946580000021.GIF" wi="798" he="91" />新的基矩阵<img file="FDA0000904946580000022.GIF" wi="54" he="70" />的更新公式为<img file="FDA0000904946580000023.GIF" wi="367" he="95" />其中Λ<sub>p</sub>为预设的p×p的权重矩阵,<img file="FDA0000904946580000024.GIF" wi="75" he="71" />由矩阵H<sup>*</sup>的前p个列向量组成,<img file="FDA0000904946580000025.GIF" wi="73" he="71" />由矩阵H<sup>*</sup>的后q个列向量组成;将更新得到的<img file="FDA0000904946580000026.GIF" wi="55" he="72" />用于后续测试图像的形状重构。
地址 611731 四川省成都市高新区(西区)西源大道2006号