TLD学习(3)-最近邻分类器(NN)
来源:互联网 发布:淘宝在哪里查看扣分 编辑:程序博客网 时间:2024/06/09 20:10
以下内容有大量的英文(如bb-指bouding box等),就不翻译了,如果你阅读了OpenTLD的matlab版本,便会很清楚的它们的意思。
首先要知道,TLD是通过在线对目标的不断学习以更新Detector中的特征向量的(这里的Detector主要指NN,因为Fern不更新特征向量,更新的是后验概率)。
具体来说,NN的正样本特征向量(matlab代码中叫pattern)是在tldLearning中更新的。
Pattern的获得方法是:对bb中的image进行缩放(到15*15像素),并减去均值。作者注释中说要归一化为zero mean and unit variance(ZMUV)实际上指做到了zero mean,并没有做到unit variance。zero mean是减少不同光照度的影响。
尽管tldDetector已经通过tldNN对bb的pattern进行了分类,但是由于integrator的存在,使得进入tldLearning的bb已经不是Detector的bb了,而是Tracker的bb或者是Tracker和Detector取平均的bb。因此该bb在进入tldLearning时,需要再次经过tldNN。如果该bb是被tracker或tracker+detector指定为valid的,那么若此时被判为negative,P-Expert就要把它纠正为positive,作为pEx,更新NN;如果~valid,却被判为positive,N-Expert就要把它纠正为negative,作为nEx,更新NN。
可以看出,不是每个进入到Learning的bb都可以作为更新NN的pattern的。Why?
Zdenek在phd论文中给出的解释是:
Model update: To integrate a new labeled patch to the object model, the following strategy is used.The patch is first classified by the NN classifier and added to the collection only if the classification is incorrect.
This strategy leads to a significant reduction of accepted patches [Aha 91] at the cost of coarser representation of the decision boundary.
这样做是可以理解的。如果不这样的话,NN中的样本数量(也可以理解为特征空间的维度)将会非常大,求解输入样本与特征样本之间距离的计算将会非常大(一是每个样本的维度大,pEx是1*255的向量;二是样本不断增加,特征空间的维度变大)。
个人觉得,NN中存在大量的相似的特征向量(比如说car chase那个用例),而所有的特征向量可以利用PCA降维,这样可以提高运行效率。
关于PCA,资料很多,笔者也是现学,参考了以下内容:
1. Steven Leon版的《线性代数》,看p207的应用2(相关矩阵和协方差矩阵),以及第6章的特征值分解
2. Duda的《模式分类》,有详细的理论模型
3. http://www.cnblogs.com/zhangchaoyang/articles/2222048.html 对PCA描述的很简明扼要
4. http://www.cnblogs.com/90zeng/p/PCA.html 有图
5. http://blog.csdn.net/zouxy09/article/details/45276053 以人脸识别中的特征脸为例
6. http://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html#face-recognition OpenCV官方对人脸识别的描述
7. http://guoming.me/face-recognition-with-opencv/ 对OpenCV官方版的翻译
- TLD学习(3)-最近邻分类器(NN)
- 最近邻分类器(KNN)
- 分类(2):k-最近邻、贝叶斯分类器
- 图片分类-最近邻分类(1)
- 机器学习系列-最近邻分类器
- sklearn学习笔记(二)——最近邻分类
- 02--机器学习之最近邻规则分类(KNN)
- 机器学习算法:k近邻法(k-NN)
- 应用机器学习(二):k-NN 分类器
- K最近邻分类算法(KNN)
- k最近邻(k-nn)
- kNN:最近邻分类器
- kNN最近邻分类器
- K最近邻分类器
- KNN(K-最近邻分类)分类算法
- TLD学习(3) arthurv版TLD
- k近邻法(K-NN)
- K近邻法(k-NN)
- javaIO流
- python生成格雷码
- Android 图片三级缓存之内存缓存(告别软引用(SoftRefrerence)和弱引用(WeakReference))
- Unity dll 热更新 前奏
- Git学习总结
- TLD学习(3)-最近邻分类器(NN)
- HDU 3394 Railway 点双连通分量
- 程序员为什么应该尽量避免争吵
- 【SPOJ-TSHOW1】Amusing numbers【二进制】
- 关于mysql如何添加InnoDB
- 栈stack和队列queue的常用基本函数
- 2016年全国研究生招生考试成绩
- innodb 多版本并发控制原理详解
- lua 中 . 和 : 的区别