在存在相机抖动的情况下进行基准标记检测

当用户猛烈地移动相机(手机)时,我试图使我的基于OpenCV的基准标记检测更加健壮。 标记是ArTag风格的,在黑色边框内嵌入汉明码。 通过阈值图像检测边界,然后根据找到的轮廓寻找四边形,然后检查四边形的内部。

一般来说,如果黑色边框被识别,则标记的解码是相当稳健的。 我尝试了最明显的事情,即对图像进行两次下采样,并在这些级别上执行四次检测。 这有助于相机在极端近景标记处发生散焦,并且还可以使用非常小的图像模糊程度,但不会对相机运动模糊的一般情况有很大帮助

是否有可用的研究方法使检测更健壮? 我想知道的想法包括:

  • 你可以做一些光流跟踪来“猜测”下一帧中标记的位置,然后在这些猜测的区域中进行某种角点检测,而不是将矩形搜索当作全帧阈值处理?
  • 在个人电脑上,是否有可能导出模糊系数(可能通过注册最近检测到标记的视频帧)并在处理前对图像进行去模糊处理?
  • 在智能手机上,是否可以使用陀螺仪和/或加速度计来获得去模糊系数并对图像进行预处理? (我假设不是,只是因为如果是这样的话,市场将会被震动校正相机应用所淹没。)
  • 如果它能帮助我解决失败的想法,那么也会感激不尽。


  • 是的,您可以使用光流来估计标记的位置并将您的搜索本地化,但这只是重新定位,您的跟踪将在模糊的帧中打破。
  • 除了说这是非常计算密集型的,我不太了解去模糊,所以实时可能会很困难
  • 您可以使用这些传感器来猜测您所面临的模糊情况,但我认为去模糊对于移动设备来说实时性太强。
  • 然后一些其他方法:

    这里有一些非常聪明的东西:http://www.robots.ox.ac.uk/~gk/publications/KleinDrummond2004IVC.pdf他们在做边缘检测(可以用来找到你的标记边界,甚至尽管你现在正在寻找四边形),对来自传感器的相机运动进行建模,并使用这些值来估计帧速率下的模糊方向上的边缘应该如何出现,然后搜索该边缘。 十分优雅。

    同样在这里http://www.eecis.udel.edu/~jye/lab_research/11/BLUT_iccv_11.pdf,他们只是预先模糊跟踪目标,并尝试匹配给定模糊方向的模糊目标。 他们使用高斯过滤器来模拟模糊,这是对称的,因此您需要的模糊目标数量是您最初预期的数量的一半。

    如果您尝试实施其中的任何一项,我会非常感兴趣地听取您的意见!


    从一些相关工作(尝试使用传感器/陀螺仪预测视频中从一帧到另一帧的可能位置),我想说如果不是不可能的话,3可能是困难的。 我想充其量你可以得到大概的方向和运动角度,这可能会帮助你使用dabhaid引用的方法模拟模糊,但我认为你不可能获得足够的精度来获得更多的帮助。

    链接地址: http://www.djcxy.com/p/10483.html

    上一篇: Fiducial marker detection in the presence of camera shake

    下一篇: Issue installing the Nokogiri gem in Mac OS X 10.5.8