SVM 训练 C++ OpenCV
Posted
技术标签:
【中文标题】SVM 训练 C++ OpenCV【英文标题】:SVM training C++ OpenCV 【发布时间】:2015-04-18 10:38:57 【问题描述】:我的印象是,用于训练SVM
的training data
包含图像特征,但在再次reading this post 之后,示例中的SVM
的training_mat
只是@ 987654326@ 扁平化为一维。
所以我的问题是,在训练 SVM
时,你是给它完整的图像,逐行,还是你 detect
和 extract
的特征,然后将 Mat
的特征压平变成一维?
【问题讨论】:
【参考方案1】:您可以提取特征,也可以使用像素强度值作为特征。在这个例子中,他们做了后者。在这种情况下,您最终会得到大量功能,其中许多功能可能无用。这使得 SVM 训练的收敛更加困难,但仍然是可能的。根据我的个人经验,如果您提取较少数量的最能描述您的数据的“好”特征,则 SVM 效果会更好。然而,近年来,已经表明,像深度神经网络这样的最先进的估计器(当使用而不是 SVM 时)可以在仅使用像素强度值作为特征的情况下表现得非常好。这消除了在公共数据集(如ImageNet)上产生最先进结果的方法中对特征提取的需求
【讨论】:
以上是关于SVM 训练 C++ OpenCV的主要内容,如果未能解决你的问题,请参考以下文章
将经过训练的 SVM 从 scikit-learn 导入到 OpenCV