【问题标题】:How to improve HOG detector with linear SVM performance for car detection?如何改进具有线性 SVM 性能的 HOG 检测器用于汽车检测?
【发布时间】:2016-08-13 22:33:37
【问题描述】:
所以,我想从行车记录仪录制的视频中检测汽车。我读了很多书,做了很多研究,但仍然没有完全理解。我确实考虑使用带有线性 SVM 的 HOG 描述符。但是,由于这对我来说是一种研究,因此它仍然可以通过什么方式改进以使其更易于实施和更健壮?
我正在考虑将另一种技术/算法与 HOG 结合起来,但仍然有点迷失。我对此很陌生。
非常感谢任何帮助。我也愿意接受其他更好的想法。
【问题讨论】:
标签:
python
opencv
image-processing
computer-vision
【解决方案1】:
HOG(定向梯度直方图)只是一种可以从您的数据中计算出来的特征向量。您计算图像中每个像素的梯度向量,然后将可能的角度划分为离散数量的 bin。在给定的图像子区域内,将指向给定方向的梯度的总幅度添加为包含该方向的相关角度箱的条目。
这将为您留下一个向量,该向量的长度等于您为划分角度范围而选择的 bin 数量,并充当非标准化直方图。
如果您想计算同一子区域的其他图像特征,例如像素总和、锐角或线条的某些测量值、颜色分布的各个方面等等,您可以计算尽可能多的或尽可能少,也可以将它们排列成一个长向量,然后简单地将该特征向量与 HOG 向量连接起来。
您可能还希望针对几个不同的尺度级别重复计算 HOG 向量,以帮助捕捉一些尺度变化,将每个特定于尺度的 HOG 向量连接到整体特征向量上。还有其他特征概念,例如 SIFT 等,它们的创建是为了自动考虑尺度不变性。
您可能需要进行一些标准化或缩放,您可以在任何标准 SVM 指南中了解这些内容。标准 LIBSVM guide 是一个很好的起点。
您必须小心正确地组织特征向量,因为特征向量可能有大量的组件,并且您必须确保它们始终被计算并放置到相同的顺序中,并且完全经过相同的缩放或标准化处理。