2012-02-16 72 views
7

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

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

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

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

链接到失败的想法也将不胜感激,如果它可以节省我尝试它们。

回答

3
  1. 是的,您可以使用光流来估计标记的位置并将您的搜索本地化,但这只是重新定位,您的跟踪将针对模糊框架打破。
  2. 我不太了解deblurring,除非说这是非常计算密集型的,所以实时可能会很困难
  3. 您可以使用传感器来猜测您遇到的模糊状况,但我会猜测实时移动设备的去模糊过于计算。

然后一些其他的方法:

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

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

如果你确实尝试了其中的任何一种,我会非常感兴趣的听你如何继续!

0

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