文章主要介绍了一下TMD-tracing model detection的跟踪系统。
其中主要介绍的应该是Online learning的算法,或者是系统。个人感觉这个是Zdenek PN-learning算法的雏形。
这个online learning算法主要由两个部分组成。
1 Growing events 挑选正样本添加到训练集中。
2 Pruning events 修剪负样本,让模型更加鲁邦。
其实这篇文章中的所谓的模型,仅仅是一系列的目标检测窗。(有点类似于EigenFace的模型)。
作者是这么假设的:
我们假设有一个集合L*,L*表示所有目标可能存在的坐标地区,L*中间都是正确的目标(理性状况下)
而我们的检测模型这里假设为Lt,Lt仅仅是一个假设的模型,我们希望的是Lt可以无限的接近于L*。
那么Growing events就是不停的想Lt中加入目标的证样本。
而Pruning events就是不段的把Lt中的负样本挑出来。
最终的目标是让Lt=L*。
这个就是TMD训练原理了。那么如何增加和修剪正负样本呢?
Growing events遵从三个原理去增加正样本:
1 ABS(absolute distance from first patch)其实就是让检查到可能的样本与Lt中的第一个,也就是初始目标特征比较距离。
2 DIFF(difference between consecutive patches) 这个就是可能的目标与最新的一个Xt-1的特征去比较距离。
3 LOOP 一个循环的过程,最终的意思是把与Lt相差很大的但却是正样本的目标添加进Lt中,增加模型的鲁棒性。
Pruning events意思是修剪Lt中的负样本,就是说先前判断为了正样本,而随着Lt的鲁棒性增加,现在判断为了负样本,这个时候我们剔除这些负样本。
其实在实施的时候,作者规定了一个负样本的比例,只要超出这个比例的,我们都当做负样本,剔除。
其他实施细节:
跟踪:采用的是光流的方法。选择特征点去跟踪。
Online model:类似于Eigenface的一种方法。
Features:2bit Biary Patterns,一种类似LBP和Haar的特征。
参考资料:
http://info.ee.surrey.ac.uk/Personal/Z.Kalal/tld.html
原文地址:
http://info.ee.surrey.ac.uk/Personal/Z.Kalal/Publications/2009_olcv.pdf