2011-04-07 136 views
11

在發現了OpenCV的強大功能後,我決定使用該庫開發我現在正在開發的自然標記跟蹤引擎。但我的問題是我不知道如何實施這種跟蹤器。自然標記增強現實實現

我已經設計了以下方案:

  1. 使用對象跟蹤算法中的一個(例如SIFT,SURF等)來描述和從實況相機饋送中提取關鍵點。
  2. 根據提取的關鍵點,將它們轉換爲直方圖並將直方圖與存儲的標記的直方圖進行比較。
  3. 找到匹配項後,轉換這些位置信息並將其傳遞給負責渲染3d對象的引擎。

我嘗試了SIFT和SURF算法來描述和提取關鍵點,最終結果是兩個算法(即小於0 fps)的超低fps。我注意到SIFT和SURF在計算上相當昂貴,它是否適合在實時相機饋送上進行跟蹤?

謝謝。

+0

我還沒有和SURF的工作,但SIFT,執行情況良好,不是我想的移動設備真棒,但實際平均硬件它完美的現場跟蹤。在線搜索Leonardo Chang的在線文章。您對此非常有經驗。 – jsicary 2011-04-07 17:56:05

+1

SURF的目的是比SIFT快......爲增強現實反正實時性能是一個問題本身。即難以取決於您的數據,硬件以及您想要的準確程度。 – log0 2011-04-10 00:12:03

+1

如果有興趣,你可以參加這個新StackExchange建議:http://area51.stackexchange.com/proposals/30436/augmented-reality – 2011-05-02 15:07:48

回答

1

SIFT和SURF是成功的視覺特徵,可能是正確的方法(儘管計算速度更快)。
可以在GPU上高效地計算SIFT。見siftGPU

4

開發這樣的標記需要您對圖像處理,3D成像,跟蹤等有深入的瞭解。不像開發一個簡單的應用程序。

是更好地利用發達的國家;)

FERNS是一個非常有效的,比SIFT簡單。你可以使用它。它是由EPFL的研究開發的。如果你閱讀AR/Tracking文件,你會發現這些人是行業/領域的領導者。它也是在OpenCV中的後續版本中實現(我想在2.1或2.2?)

否則你總是可以從這裏獲取該算法的源代碼: Ferns: Planar Object Detection

編輯:

基本上像FERNS這樣的算法會告訴你位置/旋轉等(這些變化是由一個稱爲Homography的矩陣表示的),某個表面將參考另一個幀。這個同形是你需要的3D渲染的一切;)

使用OpenGL或類似的3D庫,您使用計算的Homography繪製對象。如果您爲每個框架重複此過程,您將擁有一個簡單的AR應用程序。

理論書籍上:Image Processing3D Imaging

爲了解AR讀:ARToolKit paper

更多FERNS:oezuysal'site

+1

哦,非常感謝。但我仍然沒有得到增強現實的整個過程。你有沒有關於實現增強現實的深度文章或論文? – aaronljx 2011-04-10 09:20:22

+0

增加了一些鏈接;) – nacho4d 2011-04-10 12:56:03

+0

感謝很多的信息。我會翻閱他們(: – aaronljx 2011-04-11 02:32:54

4

SIFT是一個很好的算法,但你無法從它那裏得到最好的spped。有跡象表明FAST用於檢測,然後生成所檢測的點的減小的SIFT描述符(而不是128個值,他們使用,例如,32)的方法。另外還開發了FAST的金字塔方法(你有ORB,但其描述不夠好)。

現在的OpenCV剛剛發佈FREAK和他們承諾這是最快的和強大的,所以我會盡快嘗試。你可以看看這種tutorial在OpenCV上的增強現實。