【问题标题】:How to detect similar objects in this picture?如何检测这张图片中的相似物体?
【发布时间】:2018-12-06 15:27:35
【问题描述】:

我想在图像中找到模式。说“寻找模式”我的意思是“检测相似的对象”,因此这些模式不应该是一些像噪音这样的高频信息。 例如,在这张图片上,我想获得带有每个对象的 ROI/椭圆的图案“窗口”:

我已阅读有关使用自相关、FFT、DCT 解决此问题的建议。据我了解,自相关和 FFT 是可选的,而不是互补的。

首先,我不知道是否有可能在频域中获得如此高级别的信息?

因为我已经实现了 FFT,所以我尝试使用它。这是频谱图:

  1. 您能否建议如何进一步分析此频谱图以检测对象“窗口”及其空间位置?
  2. 是否需要在频谱图上找到最亮的点/线?
  3. 是否应该对图像块而不是整个图像进行 FFT?
  4. 如果使用这种方法无法找到此类对象,您有什么建议?

提前致谢。 附言抱歉图片太大了。

【问题讨论】:

  • DFT(FFT 算法计算的内容)会告诉您模式重复的频率,但使用它来查找这些模式的位置并不容易。自相关只是将 DFT 与其自身的共轭相乘,然后进行逆变换。同样,它会向您展示重复的模式,但不会勾勒出任何重复的对象。 DCT 不会在此组合中添加任何内容。
  • @CrisLuengo“会告诉你模式重复的频率” - 可以提取找到的频率以及结果图像(仅该频率的逆变换)会是什么样子?
  • 单个频率的逆变换看起来像一个正弦波。您可以使用此频率来了解重复发生的方向,以及重复框的大小。所以你可以剪一个那个大小的盒子,然后朝那个方向重复。但该框不会完全是一个窗口,它可能会显示两个相邻窗口的一部分。
  • 从自相关中,找到原点附近的峰(但不是原点处的峰)。它与原点的距离和方向给出了重复的方向和长度。但是你会发现,因为图像中的图案发生了变化(三列窗口的方向不同,并且距离向顶部减小,它们离相机更远),你在这里得到的是一个平均值.您还将看到自相关函数的峰值非常宽,证明了这一点。抱歉,我不能提供更多帮助!
  • @Olia_Pavliuk 我添加了答案并删除了过时的 cmets ...

标签: algorithm image-processing fft object-detection dct


【解决方案1】:

请注意,这不是我喜欢的茶,因此请带着极大的偏见阅读。 IIRC 此类任务通常使用 SIFT/SURF + RANSAC 方法。

  1. 识别图像 SIFT/SURF 的关键兴趣点

    这将为您提供图像中具有特定功能的 2D 位置列表(您可以将其作为整数哈希码处理)。我认为SIFT (Scale Invariant Feature transform) 非常适合这个。它们的工作方式与我们的人类视觉工作类似(识别某些特征的特定变化并“忽略”图像的其余部分)。因此,我们不是匹配图像的所有像素,而是只匹配其中的几个。

  2. 按出现排序

    每个找到的 SIFT 点都有一些特征列表。如果我们对这些特征进行直方图(计算有多少相似或相同的特征点),那么我们可以对出现相同的点进行分组。这个想法是,如果我们在图像中放置n 对象,则其每个关键点都应该在最终图像中重复n 次。

    因此,如果我们有很多点出现n 次,则暗示我们在图像中得到了n 类似的对象。从中我们只选择这些关键点进行下一步。

  3. 查找对象放置

    每个对象可以有不同的比例、位置和方向。假设它们具有相同的纵横比。所以每个对象中对应的关键点在对象之间应该具有相同的相对属性(如关键点之间的相对角度、归一化距离等)。

    所以任务是将我们的关键点重新组合到每个对象中,以便所有对象都具有相同的关键点和相同的相对属性。

    这可以通过蛮力(测试所有组合并检查属性)或通过 RANSAC 或任何其他方法来完成。

    通常我们选择一个第一个关键点(无论哪个)并找到其他两个形成相同角度和相对距离比(在所有对象中)

    所以角度相同,|p1-p0| / |p2-p0| 也相同或接近。虽然分组意识到对象内的关键点更可能彼此靠近......所以我们可以通过与第一个选定关键点的距离来增加搜索......以确定关键点到哪个对象点可能属于(如果先尝试那些,我们很有可能很快找到我们的组合)。所有其他点pi 我们可以一一添加(使用p0,p1,pi

    所以我会从最接近的 2 个关键点开始...(这有时会因重叠或触摸镜像图像而被破坏),因为来自相邻对象的关键点有时可能更接近自己的关键点...

    经过这样的重组后,只需检查所有找到的对象是否具有相同的属性(纵横比)......为了可视化它们,您可以找到关键点的OBB (Oriented Bounding Box)(也可以用于检查)

【讨论】:

    猜你喜欢
    • 2020-12-23
    • 2015-11-20
    • 2017-10-09
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多