快速,非常轻量级的相机运动检测算法?

我正在开发一款适用于iPhone的增强现实应用程序,其中包含一个非常强大的处理器对象识别算法(推动CPU可达到100%,每秒可能达到5帧),并努力节省电池电量并使整个事情不那么“紧张”我试图想出一种方法,当用户实际上移动相机时只运行该对象识别器。

我的第一个想法是简单地使用iPhone的加速度计/陀螺仪,但在测试中,我发现人们经常会以足够一致的态度和速度移动iPhone,以致无法告诉它它仍在运动。

这样就留下了分析实际视频馈送和检测移动的选项。 我得到了OpenCV的工作,并试图运行金字塔Lucas-Kanade光流算法,该算法运行良好,但似乎与我的对象识别器一样处理器密集型 - 如果我降低深度级别/降采样,我可以将其设置为可接受的帧率图像/跟踪点数较少,但随后准确性受到影响,并且开始丢失一些大的移动并触发小手抖动。

所以我的问题是,如果我只想检测相机移动的总体幅度,是否有另一种光流算法比Lucas-Kanade快? 我不需要跟踪单个物体,我甚至不需要知道摄像机正在移动的方向,我真正需要的是给两帧视频提供一些东西,让它告诉我它们有多远。


为什么不使用加速度计/陀螺仪运动传感的组合,以及非常低分辨率的图像跟踪器? 每种方法似乎都被完全不同的用户运动混淆。


有一个开源(免费用于私人用途)项目,该项目利用FAST角点检测:http://www.hatzlaha.co.il/150842/FAST-Corner-V2

它可能对物体检测非常有用,并且经过严格的优化以达到美丽的非紧张结果。

- 编辑 -

现在还有一个Lucas-Kanade光学流程项目 - http://www.success-ware.com/150842/Lucas-Kanade-Detection-for-the-iPhone您可以下载源代码,并有链接到AppStore也是如此,所以你可以玩弄它,看看它是否满足你的需求。

HTH,

俄德。

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

上一篇: Fast, very lightweight algorithm for camera motion detection?

下一篇: Is Nokogiri platform specific?