做增強現實AR,高通sdk與opencv有什麼區別。各有什麼利弊?

做增強現實AR,高通sdk和opencv有什麼區別。各有什麼利弊?


高通 SDK 可以直接做 AR,如果你想創業做 AR 相關的應用,那麼推薦用高通 SDK。

OpenCV 沒有直接能用的 AR 功能,包含一些組件,可用來構建 AR 功能。如果你想創業做 AR SDK,那麼 OpenCV 是繞不過去的。


差距是非常大的。

從技術角度和其他:

  1. 基於高通sdk,直接調用現有的API就可以完成識別和跟蹤。只需要獲取識別跟蹤後的POSE矩陣用於繪製即可。繪製的話,可以使用Unity3D,或者可以直接使用OpenGLES進行模型渲染以及模型動畫解析。當然用Unity3D的好處是可以簡化很多學習成本,使用OpenGLES的話還需要耗費不少功夫,而且現有的好用的渲染,動畫開源代碼的不多,很多要自己寫,初學者不推薦。所以優點是可以迅速上手的解決方案。基於高通sdk開發的應用會有水印,如果想去掉水印,或者想用雲識別版本是要付費的。
  2. 基於OpenCV。Markless的識別和跟蹤都沒有現成的比較能用的開源代碼,能找到的開源代碼大多是基於Marker的,而且效率都很低。做AR識別和跟蹤部分都需要自己開發。而此部分學習成本,開發成本都比較高。想達到高通的效率/準確度/robust 非常難。雖然這部分論文能找到還不少。但是實現起來會發現各種各樣問題。優點的話,就是提高了自學能力。但想達到商用的程度,難度很高。


汽車和發動機引擎的關係!

高通Vuforia SDK是一個完整的AR解決方案,如果你檢索Vuforia+Unity3D這樣的關鍵字會發現做一個AR簡直就是分分鐘的事情,你可以直接使用它的預製件或者是API介面進行開發。

OpenCV是一個較為底層的計算機視覺處理的庫,利用這個庫你可以在掌握了AR的核心演算法以後自己去實現類似的功能,但是這條路會走得很艱難。


產品與半成品,收費與不收費


OpenCV是計算機視覺的基礎語言架構,所有的功能實現都要自己擼代碼,如果你不需要識別圖案,比如果你想識別一個物體從攝像頭裡飄過這麼簡單的東西,那你就可以直接擼代碼實現。高通的SDK是針對攝像頭的視覺的基礎上寫好了識別演算法,預製了基礎功能給你圖形化操作,所以演算法是高通SDK的核心,當你掃讓攝像頭識別一個圖案並且要跟蹤這個圖案,那這種複雜計算就可以這麼處理,你把這段演算法載入到3D引擎後還能進行跟多的3D、動畫處理,那麼這個載入的工具就叫SDK就是vuforia。不過還現在還是挺貴的,一個應用要499美元。現在我國內幾家內容的用下來easyAR 太虛 HiAR之後我選了HiAR,感覺效率非常高並且還是免費的。


難度挺大


推薦閱讀:

有什麼好的機器視覺相關網站推薦呢?
opencv Mat類型的轉換問題?
在圖像處理中用Mat比IplImage 除了不用自己管理內存,Mat有其他的優勢沒?請熟悉OpenCV和圖像處理的大牛指點
opencv和pcl的區別?
OpenCV 與 OpenGL 的關係是什麼?

TAG:視覺 | 增強現實AR | Unity遊戲引擎 | OpenCV | 圖形識別 |