我还没有找到任何使用openCV训练新的潜伏svm探测器模型的方法。我目前正在使用xml文件中给出的现有模型,但我想自己训练。
有没有这样做的方法?
谢谢,
吉尔。
答案 0 :(得分:8)
截至目前,只有DPM检测在OpenCV中实现,而不是训练。
如果你想训练自己的模型,最可靠的方法是使用Felzenszwalb和Girshick的matlab代码(大多数重要的东西用C实现)(http://www.cs.berkeley.edu/~rbg/latent/)({{3它是可靠的,并且工作得相当快
如果你想在仅限C语言中进行,那么这里有一个实现(http://www.rossgirshick.info/latent/)我没有尝试过。
答案 1 :(得分:0)
我认为这里的作者代码的八度版本中有一个函数 (Octave Version of DPM)。它在步骤#5,
mat2opencvxml('./INRIA/inriaperson_final.mat', 'inriaperson_cascade_cv.xml');
我会尝试并让你知道结果。
修改强>
我尝试将.mat
文件从前面提到的八度版本转换为.xml
文件,并将结果与内置的opencv .xml
模型和构造进行比较2 xmls的不同之处(标签,#component,..),似乎这个版本的octave dpm会为以后的opencv版本生成xml文件(我使用的是2.4)。
VOC-release3.1与opencv2.4.14匹配。我尝试使用opencv中提供的mat2xml函数从此版本转换已经训练过的模型,并且结果xml文件已成功加载并使用opencv。以下是一些有用的链接: