相机抖动时的基准标记检测



当用户剧烈移动相机(手机)时,我正试图使基于OpenCV的基准标记检测更加稳健。标记是ArTag风格,在黑色边框内嵌入了Hamming代码。通过对图像进行阈值处理来检测边界,然后根据找到的轮廓寻找四边形,然后检查四边形的内部。

通常,如果识别出黑色边界,则标记的解码是相当稳健的。我尝试过最明显的事情,那就是对图像进行两次下采样,并在这些级别上进行四次检测。这有助于相机在极端近地标记上散焦,也有助于非常小程度的图像模糊,但对相机运动模糊的一般情况没有太大帮助

是否有关于提高检测鲁棒性的方法的可用研究?我想知道的想法包括:

  1. 你能做一些光流跟踪来"猜测"下一帧中标记的位置,然后在这些猜测的区域进行某种角点检测,而不是将矩形搜索视为全帧阈值处理吗
  2. 在PC上,是否可以导出模糊系数(可能通过与检测到标记的最近视频帧配准)并在处理之前对图像进行去模糊处理
  3. 在智能手机上,是否可以使用陀螺仪和/或加速度计来获取去模糊系数并预处理图像?(我想不会,因为如果是这样的话,市场上就会充斥着抖动校正相机应用程序。)

如果能节省我尝试的时间,那么与失败想法的链接也将不胜感激。

  1. 是的,你可以使用光流来估计标记可能在哪里,并定位你的搜索,但这只是重新定位,你的跟踪会因为模糊的帧而中断
  2. 我对去模糊的了解还不够,只是说它计算量很大,所以实时可能很困难
  3. 你可以使用传感器来猜测你面临的模糊程度,但我认为去模糊对于移动设备来说太过计算实时

然后是其他一些方法:

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

此处类似http://www.eecis.udel.edu/~jye/lab_research/11/BLUT_iccv_11.pdf他们只是对跟踪目标进行预模糊,并尝试在给定模糊方向的情况下匹配合适的模糊目标。它们使用高斯滤波器对模糊进行建模,这是对称的,因此您需要的预模糊目标数量是最初预期的一半。

如果你真的尝试实现其中的任何一个,我真的很想听听你的进展!

根据一些相关工作(试图使用传感器/陀螺仪来预测视频中从一帧到另一帧的特征的可能位置),我认为3可能很困难,如果不是不可能的话。我认为,你最多可以得到运动的大致方向和角度的指示,这可能有助于你使用dabhaid引用的方法对模糊进行建模,但我认为你不太可能获得足够的精度来提供更多帮助。