opencv - 对于大于 64 x 128 像素的图像,如何为 HoG 训练图像?

标签 opencv computer-vision svm object-detection

我正在编写自己的 HoG 以供将来修改,并尝试不同的方法。但我偶然发现了这个问题/问题。

我从 INRIA 下载了数据集,其中有 320 x 240 的图像。而 HoG 的默认训练窗口大小为 64 x 128。我应该如何解决这个问题?

对于正图像,它们大约为 96 x 160 像素,我所做的是将它们的大小调整为 64 x 128。但是对于较大的图像,我是否调整它们的大小,使用逐像素移动的滑动窗口,或者我计算该大图像中 64 x 128 block 的特征?

最佳答案

这个问题的答案完全取决于您的应用领域以及您对这些图像的了解。我以前没有玩过INRIA,但是....

1)您要查找的对象是否都大小相同,并且在所有图像中的位置都相同?那么固定大小、固定位置的 64x128 集可能就可以了。

2)您要查找的对象是否都大小相同,只是在不同图像中的不同位置?然后滑动窗口可能会起作用。

3)您是否希望对象改变大小并填充整个图像的不同百分比?然后你需要做一些事情来减轻比例和位置变化,使用图像金字塔或其他比例不变技术(你可以通过将图像调整为几个中间尺寸并运行滑动窗口版本来粗略地做到这一点每个)。

另外,这是为了训练分类器吗?如果是这样,您需要一种方法来标记适当的规模和位置,和/或解决多实例学习问题。如果你只是想跑,你需要一种方式来声明和给自己打分……

很多有趣的事情!

关于opencv - 对于大于 64 x 128 像素的图像,如何为 HoG 训练图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13011800/

相关文章:

algorithm - 监督运动检测库

image - Java或C进行图像处理

c++ - 使用 cpp 程序中的 svm-train.c 和 svm-predict.c

machine-learning - 以文本格式序列化 svm 模型

java - 如何使用java opencv对图像进行去噪

c++ - OpenCV:将标量转换为不同的颜色空间

java - 将一个矩形变成一个中心点

computer-vision - SIFT关键点方向与SIFT描述方向之间的关系

machine-learning - 机器学习 - 支持向量机

bash - 运行使用 OpenVINO 和 OpenCV 的 Go 程序 -/usr/bin/ld : cannot find -lXXX