使用opencv进行功能检测的正确方法

时间:2016-06-15 09:02:22

标签: opencv feature-detection sift surf

我的目标是在静态图片和视频中找到已知的徽标。我希望通过使用KAZE或AKAZE和RanSac进行特征检测来实现这一目标。

我的目标是:https://www.youtube.com/watch?v=nzrqH ...

在尝试使用detection example from the docs这很棒的时候,我遇到了几个问题:

  • 对象分辨率:已知对象与之间的大小差异 对象应该位于的场景的分辨率 有时打破检测算法 - 对象不会成功 虽然图像质量很好,但在低分辨率图像中识别 对于人类来说仍然是好的。
  • 与背景颜色对比:看来,检测可以 很容易被不同的背景对比分散注意力(例如:对象是 在白色背景的商标黑色,在场面的商标是在黑色的白色 背景)。如何使检测更加强大 不同的发光和背景对比?
  • 预处理:是否应该进行任何类型的预处理 对象/场景?例如,将场景放大到特定大小? 是否有任何指南如何处理特征检测 几个步骤,以获得最佳结果?

1 个答案:

答案 0 :(得分:4)

我认为你的问题比特征描述符匹配单应性过程更复杂。 它更可能面向模式识别或分类。

您可以查看形状匹配的扩展论文评论:

http://www.staff.science.uu.nl/~kreve101/asci/vir2001.pdf

首先,图像的分辨率非常重要, 因为通常匹配操作会使像素强度互相关  在您的样本图像(徽标)和过程图像之间,您将获得最佳交叉相关区域。

以同样的方式,背景颜色强度 非常重要,因为背景照明可能会影响您的最终结果。

基于特征的方法得到了广泛的研究:

http://docs.opencv.org/2.4/modules/features2d/doc/feature_detection_and_description.html

http://docs.opencv.org/2.4/modules/features2d/doc/common_interfaces_of_descriptor_extractors.html

例如,您可以尝试其他方法,例如:

Hog descritors:直方图定向渐变: https://en.wikipedia.org/wiki/Histogram_of_oriented_gradients

模式匹配或模板匹配 http://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/template_matching/template_matching.html

我认为最新的(模式匹配)是最容易检查算法的。

希望这些参考资料有所帮助。

干杯。

垂发。