用于 HOG 训练的 LibLinear + grid.py (LibSVM)

Posted

技术标签:

【中文标题】用于 HOG 训练的 LibLinear + grid.py (LibSVM)【英文标题】:LibLinear + grid.py (LibSVM) for HOG training 【发布时间】:2015-04-12 13:13:24 【问题描述】:

到目前为止,我一直在训练 HOG 使用 LibLinear 检测对象,结果非常好。当我看到 LibSVM 包中包含的 grid.py python-script 时,我通过使用不同的 C 值进行交叉验证来重新创建它。

然而,这个脚本尝试不同的 C 和 gamma 值,但 liblinear 没有 gamma 参数,偏差参数是否类似于 LibSVM 的 gamma?

谢谢!

【问题讨论】:

【参考方案1】:

Gamma 是 RBF 内核的一个参数。 LibLinear 是 C-SVM 的替代(通常更快)公式,使用线性内核代替。因此,没有使用 gamma 参数,而使用 C 参数,因为它来自 C-SVM。

LibSVM 附带的 grid.py 脚本使用 C-SVM 公式和 RBF 内核。因此,要将其与 LibLinear 一起使用,您应该通过传递“-log2g null”来禁用 gamma,并将 grid.py 上 LibSVM 的训练/预测二进制文件的路径更新为 LibLinear 文件。

为了更好地理解,我建议你阅读这个由 LibSVM/LibLinear 的作者写的quick practical tutorial。

【讨论】:

谢谢!我不知道 gamma 参数仅由 RBF 内核使用。我不会使用 grid,py 脚本,这个脚本以及所有这些培训工具都使用文本文件进行输入,这比读取二进制文件要慢 70 倍。我在我的主程序中编写了 C 发现,当从训练数据中删除不一致的否定时,它似乎不再需要。

以上是关于用于 HOG 训练的 LibLinear + grid.py (LibSVM)的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV - 使用 SVM 和 HOG 进行人员检测

liblinear 的 50% 准确率问题

Libsvm / Liblinear 中的实例称重

为啥 liblinear 不能预测多数派?

HOG检测方法

使用可变大小的训练图像 hog 描述符训练 SVM (MATLAB)