在更大的图片中定位图片

locating a picture inside a bigger picture

我正在做一个关于计算机视觉的学校项目,该项目由两部分组成。第一部分是地面图片(小图片)的语义分割,第二部分在于能够在预加载和预分割的地图(大图片)中定位该小图片,输出为坐标和大图里面小图的方向。

第一部分已经完成并且工作正常,但我不知道如何处理项目的第二部分。当小图的方向与原图相同时,我可以很容易地用蛮力找到它,但是当小图相对于原图旋转时,问题就开始了。

我不知道如何解决这个问题,任何我可以用来在线查找更多信息的词、主题或算法将不胜感激:)

我正在使用深度学习和计算机视觉工具箱开发 Matlab,但我可以轻松更改为 Python 如果需要或者它可以更容易。

感谢大家阅读本文!

对于这样的问题,我通常使用 OpenCV 的机器学习库,其中包含数千种与计算机视觉相关的算法。如果您在图像旋转方面遇到问题,请查看此 tutorial here,它采用输入图像并旋转、扭曲等,以达到稍后可以使用的所需尺寸。在此堆栈中 post,用户能够在较大的图像中找到图像

How do I find an image contained within an image?

"brute force"这个词,我不明白你的意思。如果您提供更多详细信息,我可能会提供更多详细信息或更多算法。但是,如果您想在同一侧或另一张图像中查找搜索图像,您可以使用这些算法:
- SIFT
- SURF
- ORB
- BRISK
- FREAK
- 连体网络

这些算法中的大多数(期待最后一个)尝试 find some key points 对旋转、噪声、亮度变化、模糊...和 ​​finally match them 使用汉明等距离测量具有鲁棒性,欧几里德,曼哈顿,....

我自己在准确性方面更喜欢最后一个并且不需要玩太多超参数。对于 Siamese networks,您需要 training。意思是标签和GPU。 SIFTSURF 以图像匹配而闻名。有关详细信息,您可以阅读他们的主要文章。我在 copy-move forgery 上写了一篇论文,发现为了 fraud/forgery 目的而复制粘贴图像的一部分。您可以从该领域的论文中找到很多适合您目的的方法。