Deformable Part Model和LatentSVM结合用于目标检测由大牛P.Felzenszwalb提出,代表作是以下3篇paper:
[1] P. Felzenszwalb, D. McAllester, D.Ramaman. A Discriminatively Trained, Multiscale, Deformable Part Model. Proceedingsof the IEEE CVPR 2008.pdf 中文译文
[2] P. Felzenszwalb, R. Girshick, D.McAllester, D. Ramanan. Object Detection with Discriminatively Trained PartBased Models. IEEE Transactions on Pattern Analysis and Machine Intelligence,Vol. 32, No. 9, September 2010.pdf 中文译文
[3] P. Felzenszwalb, R. Girshick, D.McAllester. Cascade Object Detection with Deformable Part Models. Proceedingsof the IEEE CVPR 2010. pdf
其中[2]阐述了如何利用DPM来做检测(特征处理+分类阶段),[3]阐述了如何利用cascade思想来加速检测。综合来说,作者的思想是Hog Features+Deformable Part Model+Latent SVM的结合:
1、通过Hog特征模板来刻画每一部分,然后进行匹配。并且采用了金字塔,即在不同的分辨率上提取Hog特征。
2、利用提出的Deformable PartModel,在进行object detection时,detect window的得分等于part的匹配得分减去模型变化的花费。
3、在训练模型时,需要训练得到每一个part的Hog模板,以及衡量part位置分布cost的参数。文章中提出了LatentSVM方法,将deformable part model的学习问题转换为一个分类问题:利用SVM学习,将part的位置分布作为latent values,模型的参数转化为SVM的分割超平面。具体实现中,作者采用了迭代计算的方法,不断地更新模型。
具体内容参考以下文章:
1、目标检测(Object Detection)原理与实现(六) - 基于形变部件模型(DeformablePart Models)的目标检测
2、有关可变形部件模型(Deformable Part Model)的一些说明 - Why So Serious? - 博客频道 - CSDN.NET
1、作者提供了旧版本代码:voc-release4.01,以及基于cascade思想的优化版本:star-cascade,在几乎不损失精度的情况下效率大大提高(14倍),在损失一点recall的情况下效率提升40倍。
2、新版本的代码:voc-release5,包含了star-cascade,但是对于硬件要求较高。
3、以上代码均为linux或者Mac OS X版本,DanielRodríguez Molina依此实现了C++版本的代码:LibPaBOD:a LIBrary for PArt-Based Object Detection in C++。
更多参考:http://blog.csdn.net/holybin/article/details/28292991
LatentSVM官网: http://docs.opencv.org/2.4/modules/objdetect/doc/latent_svm.html
三、DPM程序在windows下调试步骤:运行demo
附:windows下DPM经验2