當我們這些對擴增實境開發有興趣的孩子正苦惱 Unifeye SDK 是如何的貴,NyARToolKit 的 Marker 過於死板、程式不易改寫之時,QualComm 這家主要智慧型手機 chip provider 已悄悄地在去年十月左右公布一個完全免費的 AR SDK,名為 QualComm AR SDK (QCAR)。

此 SDK 支援 Mac/PC/Linux 跨平台的開發環境,但手機平台目前似乎只支援在 Android 2.1 以上,對硬體應該也有一定的要求。目前開放使用的硬體並不多如下表:

VendorModelOS
Google Nexus One Android 2.1 update 1, Android 2.2
HTC Desire Android 2.1 update 1, Android 2.2
HTC Incredible Android 2.1 update 1, Android 2.2
HTC EVO 4G Android 2.1 update 1, Android 2.2
HTC G2 (T-Mobile) / Desire Z Android 2.2
HTC Desire HD Android 2.2
HTC T-Mobile MyTouch 4G Android 2.2
Dell Streak Android 2.2
Motorola Droid 2 Android 2.2
Motorola Droid X Android 2.2
Sony Ericsson Xperia X10 Android 2.1 update 1
Other Snapdragon devices N/A Android 2.1 update 1, Android 2.2

(from QualComm AR SDK website

 

Lab 學弟與在下也順便把玩了一下該SDK,

2device.png 

與其他一般 AR SDK 相比,我們大概簡單地描述一下:

傳統Marker-based AR System的Marker大致可分為:Template與ID-encoded兩種,前者如同ARToolKit、FLARToolKit的方式,而後者如同ARTag、ARToolKitPlus、Unifeye、NyARToolKit與我們的myID+AR系統。差別在哪我們就不贅述了(可參考)。而除了Webtag(ARTag的衍伸)與我們的myID+AR外,其他系統仍擁有一個共通issue,那就是無法線上即時管理欲擴增的內容 (augmented content),意思是一旦我們設定將A Marker 對應 A Model(按:使用者以camera拍攝A marker,系統會將A model 顯示於A marker上方),B Marker對應 B content後,build project以產生執行檔,然後發布出去給使用者使用。接著就會碰到一個問題,那便是若今天想將A Marker對應B content,抑或是對應的是全新的 C 3D animation,那該怎麼處理?要求使用者更新軟體嗎?這未必是最佳解答。因此這也是當M. Fiala的Webtag發現此問題後,我們著手使用二維條碼作為AR ID-encoded marker的原因。

隨著擴增實境的發展,這套QCAR SDK,便以一套新的solution 解決了上述問題,他同時支援ID-encoded(QCAR稱 frame markers)與Template,甚至是無標記(markerless,其實還是一個marker,只是無明顯的frame border,在QCAR中,Template與markerless合併稱為image target)的marker類型,並同時透過雲端的比對得知該marker對應何種augmented content(*需再次確認)。這個做法與SDK的規劃顯然醞釀了許久,整個SDK是免費開放與完善的,有興趣以此開發 Mobile AR的朋友可以考慮使用。唯一缺憾是需要線上的管理marker對應的augmented content,且仍然是屬於particular design 的marker,對於流通性與公眾使用仍有一定瓶頸。

不過這個SDK很聰明的一點,是支援Unity 3D Game Development Tool,這樣對於3D遊戲開發者port至手機平台非常有幫助,算是極為聰明的一點。

PS. 猶記得之前 ARToolKit 教學中有許多網友想追求的功能,便是當使用者遮住某個 marker 時,系統是否可在動畫上或是模型上給予一個 feedback。沒錯,此功能被收錄於 QCAR SDK 的內建功能 Vision-based 的互動方式 -- 虛擬按鈕 (Virtual button),詳情可參考這邊

---

但此 SDK 是否能用來開發商業案件,各位玩家則需自行注意了。為保不會吃上國際官司,還是先做點功課比較好 :-)

當然,學生拿來開發"期末作業"、"AR遊戲"或研究用途自然不受限制 XD


2011.08.05 更新

Qualcomm AR SDK for iOS (FREE) 已經釋出一周,實際使用狀況大概回報一下:

1. 支援 iOS4/iOS5 on iPod Touch 4, iPhone 4, iPad2

2. 辨識速度快、穩。

3. 用到 OpenGLES(廢話 XD), Shader

4. 與 Unity 整合佳

創作者介紹

DKBLOG

DK 發表在 痞客邦 PIXNET 留言(17) 人氣()


留言列表 (17)

發表留言
  • 程正弘
  • 需要此軟體幫忙
  • 哈囉 上面有SDK的下載網址喔

    DK 於 2011/03/03 18:58 回覆

  • Shane
  • 請問這個只能run在mobile device上嗎? 有辦法在android模擬器上執行嗎? 謝謝
  • 話說 Android 模擬器速度實在不敢領教...
    我不確定QCAR 能否在 emulator 上跑,我們之前嘗試是在 在 Nexus one 上跑。

    DK 於 2011/03/21 17:58 回覆

  • 李冠德
  • 您好!最近有再研究AR 想請問一下有什麼方式可以讓使用者在網站更改資料然後可以即時更改AR內模型顯現出來的內容嗎?也就是說增加一般使用者修改的功能
  • 有相關類似研究,歡迎交流 : )

    DK 於 2011/03/21 18:04 回覆

  • 李冠德
  • 可以用BUILDAR下去實現外部更新嗎?
  • BuildAR比較像是把本來ARToolKit的command-line interface 執行方式給全面視窗化(或介面視覺化),並未改變它的本質,仍然是單機使用,只是對於[新增marker][改變model]變得比較方便,減少demo時的困擾。

    而您提到外部更新,我想就是想改變現狀(ARToolKit永遠單機使用),希望擴增內容走向可以是在線上修改或即時更新的一途。事實上QCAR與Webtag系統,與我碩論研究方向皆是朝公眾使用與網路外部更新方向努力。您可以參考以上套件,或是自行改ARToolKit亦可。

    我對BuildAR不太熟悉,不過大致看一下應該無法達成您的需求。

    DK 於 2011/03/22 16:59 回覆

  • lei TIAN
  • 您好,我是聖艾蒂安美院4年級設計系的學生,打算用QCAR SDK和Unity 3D做一個虛擬城市互動模型,剛去官網下載了新版本在Mac book pro 13(系統為10.6 Snow Leopard)上安裝,在設置完Android SDK, NDK環境後,我嘗試打開Android.mk文件以便修改QCAR_LOCAL_PATH數值,並在Terminal裡輸入:
    MacBook-Pro-de-lei:~ lei$ cd $QCAR_SDK_R​​OOT
    MacBook-Pro-de-lei:qcar-sdk-1-0-0 lei$ cd samples/ImageTargets/
    MacBook-Pro-de-lei:ImageTargets lei$ ndk-build

    結果出現:
    Invalid attribute name:
    package
    Install : libImageTargets.so =>​​ libs/armeabi/libImageTargets.so
    Install : libQCAR.so =>​​ libs/armeabi/libQCAR.so
    Install : libImageTargets.so =>​​ libs/armeabi-v7a/libImageTargets.so
    Install : libQCAR.so =>​​ libs/armeabi-v7a/libQCAR.so
    MacBook-Pro-de-lei:ImageTargets lei$ cd

    請問該如何打開Android.mk文件呢?謝謝!
  • ventai
  • 請問一下 我在QCAR的網站下載sample code用Eclipse import卻無法run
    他上面有錯誤import com.qualcomm.QCAR.QCAR那邊 請問是哪個步驟錯誤了嗎?
  • Berry
  • 哈囉~我前幾個月注意到這個很棒的部落格!

    想請問站主相關技術,當key frame 被遮住部分區域時

    QCAR SDK 是如何利用剩下可見的特徵點去建立

    3D虛擬物件呢?

    謝謝:)
  • 謝謝!

    至於您的問題,我沒有仔細研究。但我個人揣測是同 QR Code 一樣,那個 Frame marker 有容錯程度,無論是被遮蔽或汙損部分 marker,依然能透過他的 decode 方式得知該 marker 之編號。

    DK 於 2011/09/20 09:01 回覆

  • none
  • 我想請問一下 , 是否有辦法將sample的茶壺3D 替換成我要的 model
    它似乎是用 c++寫完後再進行 link的樣子 , unity 3D也不太會用
    不曉得怎麼塞進去 , 懇請賜教 , 感謝
  • 從國外網站看來,似乎是用一般 3D 建模工具將模型轉為 .obj,最後用一些tool將.obj轉為.h,這樣QCAR便能正常讀取。

    http://www.evilcodingmonkey.com/2011/08/30/render-your-own-3d-model-in-qcar/

    DK 於 2011/11/03 23:44 回覆

  • 小天
  • 大大~請教
    Project→Builders,這裡不會設定,可否告知小妹如何設定??
    Please
  • v7777567
  • 請問一下~,用QCAR的插件在UNITY開發時,它所支援的攝影機規格是支援到多少呢,我在開發者文件中,並沒有發現在這點,想請問一下大哥有沒有在那看到相關的規格
    例如其它的AR引擊攝影機大多調整在640X480
  • bubble701502
  • 哈囉 最近不少朋友都跟我分享推薦這個部落格
    沒想到我最近在嘗試的AR ADK板主也有分享
    除了博學多聞也不知道該怎麼形容了...

    這邊請教一下 除了官方的安裝教學外
    還有其他地方有相關的中文或是圖片安裝教學嗎?
    卡在某些地方 一直無法正常的執行...

    另外想請教個基本的問題
    如果我的執行結果不要輸出在模擬器而是要在手機上
    需要哪設定呢?
  • bubble701502
  • 剛剛試驗出來 已經可以將輸出結果傳到手機上了
    (其實只要電腦有抓到 就會出現選單@_@)
    不過他會一直出現應用程式ImageTargets未正常終止的訊息...

    不知道板主還是板上其他大大知道這可能會是什麼情況嗎?
  • abinwang1
  • 安裝時
    找不到有效的java虛擬機是什麼意思阿
    求板主解答︿︿
  • ARlearner
  • 可以請問一下 目前是大學生 專題在於研究AR 剛接觸不到一個月
    希望可以問一下問題
    1.這可以在Eclipse Android上執行和更改嗎?
    2.製作3D軟體可以用Blender?
    3.連接marker和3D影像該如何更改?
    希望大大能幫忙!!!!
  • Chien
  • 請問要怎麼把obj轉成h檔?
    我有去看了你連結的國外網站
    可是有些都無法顯示網頁了…
    或是還有哪些圖檔能轉成h檔呢?

    謝謝:>
  • 訪客
  • 請問qcar範例中的ImageTargets-2-0-6程式碼要如何改,才能使兩張不同的底圖A和B顯示不同的3d圖C和D,而不是顯示不同顏色的相同3D圖,可以大略告訴我嗎,若有詳細步驟更好 謝謝
  • Cloud
  • 請問大大~
    這套SDK是否可以將原來的3D模型部份更改成平面的圖片?
    如果可以的話我應該要怎麼把圖片給塞進去呢