2

假设我的数据库中有所有这些商业产品的标志(它们只是图像),并且我在现实世界中拍摄这些标志的照片,我怎样才能使我的程序能够在我的照片中检测到这样的标志?约束是:

例如,一名足球运动员可能穿着一件印有可口可乐标志的衬衫,而他的衬衫上到处都是皱纹,从而使标志变形。以下是它的外观示例。左边是原版,右边是变形版:

标志测试 C

另一个例子是我拍了一张正前方街道的照片,在照片中,人行道上有一个麦当劳标志,从照片的角度来看,人行道上的这个麦当劳标志可能看起来像右边的“M”,而左侧的“M”是原始图像:

标志测试 M

因此,鉴于这些限制,徽标在现实世界中可能会以任何方式变形,但当然,如果照片中的徽标变形到我们无法想象的程度,那就超出了范围。但是,如果有标志的原始“气味”,那应该是可能的,不是吗?

在这种情况下,如何检测照片中的徽标?我应该寻找哪些算法或方法?

4

1 回答 1

2

这更像是一项机器学习任务。在尽可能多的扭曲视图中获取一些徽标示例图像。然后训练一些物体检测器来为你找到标志。

您可能需要考虑的事项

  • 你需要大量的训练数据来做到这一点。您可能希望生成合成(镜像)失真以获得足够的训练数据

  • 关于目标检测的文献有很多不同的算法。没有开箱即用的解决方案。尝试几种算法,我会从一袋词开始,或 SVM

  • 您可能必须执行“滑动窗口”检测样式才能在图像中找到徽标。将徽标视为要在一堆数据中检测的 2D 模式

祝你好运!

于 2012-09-01T23:02:54.530 回答