algorithm - 如何改进HOG目标探测器在不同照明下的图像?

标签 algorithm opencv computer-vision

我有一些不同照明下的行人图像,其中一些非常暗且难以检测。所以我试图找到一种方法来预处理这些图像以提高检测率。到目前为止我在想:

1)色彩校正算法,如http://www.ipol.im/pub/art/2011/llmps-scb/http://www.ipol.im/pub/art/2011/gl_lcc/

2)OpenCV的CLAHE

但 HOG 特征是“梯度”,是一种“相对差异”。那么这些方法在使用HOG作为特征时真的有助于提高检测率吗?

如有任何建议,我们将不胜感激!

最佳答案

根据我在对象检测方面的经验,当您使用正确的 HoG 描述符标准化时,您所描述的问题就不再那么令人担忧。 我不知道您正在使用哪种实现,因此我无法判断使用了哪种标准化。

如果您计算检测窗口的 HoG 单元并全局标准化整个描述符(例如 L2 范数),那么您将遭受所描述的照明变化,因为具有大对比度的对象区域将主导具有低对比度的区域。对比。 相反,如果您按照 Dalal-Triggs 的建议对每个单元格进行标准化以及Felzenszwalb et al ,那么你就得到了局部对比度归一化,这意味着半在阴影中、一半在光亮中的行人在 HoG 眼中仍然“看起来”像行人,每个 block 都由更强的梯度(轮廓)主导。

如果这没有帮助,您可能需要使用更现代的刚体检测器,它利用额外的特征 channel (例如颜色、纹理)。他们将 HoG 与这些 channel 结合起来,并使用级联范例来选择最适合您的数据集的特征。 Benenson et al. 的工作就是这种方法的一个很好的例子。

关于algorithm - 如何改进HOG目标探测器在不同照明下的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29457638/

相关文章:

algorithm - 使用图表建模家庭关系

python - 这种递归二分搜索算法可以更有效吗?

c++ - OpenCV - 冲浪算法 - 给出大量误报

c++ - 如何使用 opencv 查找手动定义地标的描述符

opencv - 深度图像中的Canny线(CFD)

python - 解析 LINEMOD 6d 姿态估计数据集

algorithm - 关于散列的问题

algorithm - 实现软件许可机制

java - 在 OpenCV 中从回调方法获取图像而不阻塞

python - 使用 Python 在 OpenCV3 中编写视频时出错