【问题标题】:Image registration techniques for relatively featureless objects相对无特征对象的图像配准技术
【发布时间】:2016-03-15 21:04:46
【问题描述】:

我正在尝试执行图像注册,但运气不佳。

下面的图片是我的“参考”图片。我使用网络摄像头获取同一对象在不同方向的图像,然后需要对这些图像执行转换,以使它们看起来尽可能接近参考图像。

我一直在使用Aforge.NETAccord.NET 库来解决这个问题。

特征检测/提取

到目前为止,我已经尝试过this文章中使用的图像拼接方法。它适用于某些类型的图像,但不幸的是它似乎不适用于我的示例图像。对象本身相当平淡,没有太多特征,因此算法找不到很多相关点。我尝试了上述方法的两种版本,一种使用 Harris 角点检测器,另一种使用 SURF,但都没有提供我需要的结果。

一种选择可能是“人为地”为对象添加更多功能(即贴纸、标记),但如果可能的话,我想避免这种情况。

形状检测

我还尝试了this 文章中使用的形状检测方法的几种变体。理想情况下,我想检测物体上四个定义明确的圆圈/孔。然后我可以使用这些坐标来创建一个转换矩阵(单应性?),我可以用它来转换图像。

很遗憾,我无法可靠地检测到所有四个圆圈。我已经尝试了无数不同的方法来预处理图像以获得更好的圆形检测,但无法找到完美的序列。我的正常操作是:

  • 将图像灰度化
  • 应用过滤器(均值、中值、保守平滑、自适应平滑等)
  • 应用边缘检测(同质性、Sobel、差异性、Canny 等)
  • 应用颜色过滤
  • 运行形状/圆形检测器

我只是找不到合适的过滤器系列来可靠地检测四个圆圈。

图像/模板匹配

再次,我想检测对象中的四个圆圈/孔,所以我尝试了一种图像/模板匹配技术,但收效甚微。我创建了一个模板(其中一个圆圈的小图像)并运行Exhaustive Template Matching 算法,但没有取得多大成功。通常它只检测其中一个孔,通常是创建模板的那个孔!

总结

我觉得我正在使用正确的技术来解决这个问题,我只是不确定我哪里出错了,或者我应该进一步关注哪里。

任何帮助或指点将不胜感激。

【问题讨论】:

  • 你能提供一个动态图像的例子吗?您正在处理哪些类型的转换?死板的?仿射?投影?

标签: c# feature-detection aforge accord.net image-registration


【解决方案1】:

我知道这已经有一段时间了,但只是一个简短的潜在解决方案:

我会在原始图像(比如 16x16)上生成一个点网格,然后使用 Lucas-Kanade(或其他一些)特征检测器在第二张图像上找到这些点。当然,您可能不会找到所有点,但您可以排序并选择最佳相关性。比方说,最好的四个?然后你可以很容易地计算出一个变换矩阵。

此外,如果您在第一个网格上没有获得良好的相关性,那么您可以制作其他网格(移位等),直到找到好的匹配。

希望对任何人都有帮助。

【讨论】:

    【解决方案2】:

    如果您添加了您试图保持不变的转换示例 - 我们可以更具体。但一般来说,你可以尝试使用HOG 来检测这种结构,因为它的梯度相当丰富。

    HOG 主要用于检测行人,此外它也适用于检测不同的标志。

    我不确定 HOG 对旋转的不变性,但它在不同的光照和适度的透视失真下相当稳健。如果旋转不变性很重要,您可以尝试在对象的旋转版本上训练分类器,尽管您的检测器可能会变得不那么有辨别力。

    在您大致检测到结构的比例和位置后 - 您可以尝试通过检测其边界的椭圆来对其进行细化。之后,您将对孔洞进行粗略估计,您可以使用该邻域中的最大 normalized cross correlation 之类的东西进一步细化。

    【讨论】:

      猜你喜欢
      • 2018-07-03
      • 2019-04-03
      • 2020-08-15
      • 2022-11-09
      • 2017-11-07
      • 1970-01-01
      • 2012-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多