我还没有发现使用OpenCV的培训新的潜在的SVM模型检测的任何方法。我目前正在使用xml文件中给出的现有模型,但我想训练自己的模型。OpenCV的 - 培训新模式LatentSVMDetector
是否有这样做的任何方法?
谢谢,
Gil。
我还没有发现使用OpenCV的培训新的潜在的SVM模型检测的任何方法。我目前正在使用xml文件中给出的现有模型,但我想训练自己的模型。OpenCV的 - 培训新模式LatentSVMDetector
是否有这样做的任何方法?
谢谢,
Gil。
到目前为止,在OpenCV中只实现了DPM检测,而不是培训。 如果你想训练自己的模型,最可靠的方法是使用Felzenszwalb的和Girshick的MATLAB代码(最重的东西是用C语言实现)
(
http://www.cs.berkeley.edu/~rbg/latent/)
(http://www.rossgirshick.info/latent/)它是可靠的,效果相当快
如果你想要做它在C-只,这里有个执行(http://libccv.org/doc/doc-dpm/),我没有尝试过自己。
您是否在说我可以使用“Discriminatively trained deformable part models”来训练潜伏的SVM,然后在OpenCV中加载文件并使用它来检测我的对象? – definera
@ Crash-ID,作者的代码只能用于训练一个matlab模型。您不能在OpenCV中使用该模型。我还在寻找一个将matlab模型转换为opencv中的xml格式的代码。 – killogre
@killogre你'可能'能够使用mat2opencvxml.m在这里找到︰https://github.com/Itseez/opencv_extra/tree/master/testdata/cv/dpm做转换(我没有尝试过,所以我不知道) – Scott
我认为这里作者的代码的八度版本中有一个函数 (Octave Version of DPM)。在步骤#5,
mat2opencvxml('./INRIA/inriaperson_final.mat', 'inriaperson_cascade_cv.xml');
我会尝试,让你知道结果。
编辑
我试图.mat
文件从之前.xml
文件我提到的倍频版本转换,并与内置的OpenCV的.xml
模型和建设的结果2 xmls是不同的(标签,#组件,..),似乎这个版本的八度dpm生成后来opencv版本(我使用2.4)的xml文件。
VOC-release3.1是与opencv2.4.14相匹配的一个。我试图使用opencv中提供的mat2xml函数将已经过训练的模型转换为此版本,并且结果xml文件已成功加载并使用opencv。下面是一些有用的链接:
你找到一个解决办法? – Misaki