使用OpenCV进行特征检测的正确方法

7

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

我希望获得与https://www.youtube.com/watch?v=nzrqH类似的结果...

在尝试使用文档中的检测示例(非常好),我遇到了几个问题:

  • 对象分辨率:已知对象与场景的分辨率之间的大小差异有时会破坏检测算法 - 在低分辨率的图像中,即使图像质量对于人眼来说仍然是可以的,对象也无法被识别。
  • 与背景的颜色对比度:看起来,检测可以很容易地被不同的背景对比度所干扰(例如:物体是黑白背景上的标志,场景中的标志是白色在黑色的背景)。如何使检测对不同的光线和背景对比更加强韧?
  • 预处理:应该对对象/场景进行任何形式的预处理吗?例如将场景放大到特定的大小?是否有任何指导方针来逐步处理特征检测以获得最佳结果?

请查看这个链接的最后一部分。 - Miki
1个回答

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 我认为最新的(模式匹配)是检查算法最简单的方法。
希望这些参考资料有所帮助。
祝好。 Unai。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接