6月,蘋果發布了面向iOS的增強現實(AR)開發工具ARKit,正式進入AR領域。近日,在Project Tango深耕三年的谷歌,同樣推出面向Android設備的增強現實(AR)應用開發工具ARCore。這一消息意味著谷歌、蘋果這兩大智慧型手機作業系統巨頭在AR領域展開了正式較量。
其實國內外早有一批優秀的AR SDK出現,在ARKit發布之前,就已經積累了大量內容和開發者。例如國外的Vuforia、ARToolkit、Wikitude,和國內的亮風臺HiAR SDK、太虛Void AR、視辰EasyAR等。
根據筆者了解,國外的AR SDK在易用性、費用、功能、甚至語言等方面,並不能滿足很多AR開發者的需求,反而國內團隊的快速響應、內容製作和技術積累,甚至會比國外更勝一籌。如HiAR SDK從底層到性能的都比較突出,服務了營銷、教育、工業等不少領域的眾多「標杆」客戶,EasyAR團隊製作了大量的AR營銷內容。這可能也和團隊基因有關係,亮風臺的首席科學家是國際知名的CV科學家凌海濱,團隊中技術大咖眾多,視辰的初創團隊多在偏內容領域有經驗,如商業展示、影樓婚慶、廣告營銷等。
不久前,筆者了解到亮風臺在CV國際頂會與期刊有較多的研究成果發布。例如亮風臺AR跟蹤算法被IEEE人工智慧頂級期刊《PAMI》收錄,可在強幹擾的場景下實現快速且準確的平面跟蹤。
所以筆者想著重關注一下亮風臺的HiAR SDK,以它為例,為大家就AR SDK的重要參數進行評測分析,以供學習參考。
AR SDK技術概述
目前來看,2D圖像識別和跟蹤技術是市場上的主流應用,包括支付寶、QQ等在內的公司推出的AR應用案例多基於2D,也就是平面圖像的識別與跟蹤技術,並與IMU數據進行融合,以保證用戶體驗。而2D之外,單目SLAM(實時定位與建圖)是去年下半年到目前AR公司的主打研發方向,蘋果ARKit的核心技術VIO,其實是SLAM的一個變種注。
註:VIO(Visual Inertial Odometry)跟SLAM的區別主要有兩點:
1 VIO在硬體上需要融合傳感器,包括相機和IMU。
2 VIO側重的是快速姿態跟蹤,不需要維護全局地圖。
然而,市場主流AR SDK主要基於2D圖像識別與跟蹤技術,僅少數公司具有基礎SLAM。
HiAR SDK主要包括2D圖像識別和跟蹤、SLAM、人臉識別與檢測(為美圖等人臉識別與檢測需求的公司提供底層技術支持)、以及3D物體識別和手勢識別。其中2D技術免費開放給開發者,其他技術和平臺方案,聯繫商務可進行定製服務。
HiAR SDK支持Android、iOS、Unity 3D的跨平臺開發,除智慧型手機之外,也支持PC、AR智能終端(如亮風臺自主研發的AR智能眼鏡HiAR Glasses)、無人機、機器人、智能家具等終端,是通用開發工具。
此外,HiAR SDK另一主打功能為雲識別,目前,支持本地識別、雲識別、以及本地和雲混合識別。前不久,亮風臺公布B輪融資,消息提到「雲+端」是重要戰略,可以預見,下一步,HiAR SDK的雲能力也會再次提升。
2D識別與跟蹤
既然大部分AR SDK還是基於2D圖像識別,故首先對HiAR SDK的2D的識別與跟蹤能力進行一個測評。
筆者使用iPhone 7 Plus,製作一個簡單的圖像跟蹤Demo,感覺跟得很穩,幾乎沒有延遲。經過詳細測試,發現HiAR SDK的跟蹤速度最高可超過120幀每秒,遠超過人眼的可識別速度25幀每秒,跟蹤精度約為0.5像素。
據了解,這一數據是在2016年里約奧運會期間,亮風臺與騰訊合作QQ-AR傳火炬,騰訊QQ對AR技術提供方亮風臺提出的要求。
那在大傾角、光照影響、遠距離識別等某些極端情況下,HiAR SDK的表現會是如何呢?
大傾角情況下的識別與跟蹤
大傾角實驗中,筆者將識別圖緩緩傾斜到極限,直到某方模型丟失。
左:市場主流AR SDK 右:HiAR SDK
目測HiAR SDK支持的識別圖最大可識別傾角在50度左右,而最大可跟蹤傾斜角度可能超過80度,接近垂直。而市場主流AR SDK在同樣的傾角下出現了目標丟失,不穩定的情況。
遠距離識別與跟蹤
我們在攝像頭位置不動的情況下,讓識別圖從遠至近緩緩靠近,效果如下:
左:市場主流AR SDK 右:HiAR SDK
可以看出,HiAR SDK遠距離識別與跟蹤能力同樣表現不俗,在攝像頭與識別圖距離不斷拉遠,識別圖片佔據屏幕的1/20左右時,同樣能做到穩定、快速的識別速度與跟蹤穩定性。比市場主流AR SDK具有更遠的識別距離閾值。但是HiAR依然要求識別目標佔攝像頭的最小面積為5%。
抗光線幹擾
再來看下光照環境變化對AR SDK性能的影響,如暗光、局部亮光、過曝等情況。HiAR SDK與市場主流SDK的表現對比結果如下:
左:市場主流AR SDK 右:HiAR SDK
在測試過程中,弱光情況下穩定識別後,再調暗光線,HiAR SDK的虛擬物體穩定地疊加在識別圖上,且幾乎無抖動,表現比較出色。
快速運動
AR的使用場景變化多端,能夠抵抗快速運動帶來的幹擾,會是AR SDK優良的重要參考參數。在攝像頭如手機快速、劇烈運動,或者識別物做相似變化時,需要穩定的識別跟蹤技術,目標快速重建等技術的支持。下面就來看一下對比效果:
左:市場主流AR SDK 右:HiAR SDK
抗遮擋能力
有時候做AR識別時候,識別圖會不小心被其他物體所遮擋,模型容易丟失,影響用戶體驗。
左:市場主流AR SDK 右:HiAR SDK
通過實驗,當識別圖被物體遮擋時,HiAR SDK可以更穩定地表現出AR顯示效果,模型不容易抖動甚至丟失:
多目標識別與跟蹤
具有多目標識別能力,廣泛應用於AR教學等需要呈現多種內容的場景中。HiAR SDK可以同時識別多張圖片,並加載不同的模型數據。
如下圖所示,HiAR SDK一次性識別9個圖片,且支持大角度、遠距離等極端條件下的多圖識別。
本地K級別圖像識別
如果需要識別的圖像很多,那麼AR SDK的表現將會如何呢?筆者特意做了一個實驗,結果如下。
本地K級別圖像識別對比參數
由上面的對比參數可以得知:
Vuforia在識別速度和精度方面做到了最好的水平;
EasyAR的識別速度也比較快,但是加載時間會比較長;
HiAR SDK的識別速度和精度一般,但是加載時間和內存消耗有顯著優勢。同等量級下加載時間為市場主流AR SDK的1/10 – 1/100。
同樣機型,HiAR SDK的可識別圖像數量為市場主流AR SDK的6-7倍,甚至在某些機型上支持10k級別的本地識別。
包體大小
很多開發者在抱怨嵌入AR的應用太大,不利於推廣,也容易讓已有客戶產生厭煩情緒。的確,對於智慧型手機來說,受限於內存等因素AR SDK 包大小是關鍵決定因素。
在筆者測試中發現,HiAR SDK最新版本包大小為2.5M,和官方宣傳的小於3M一致,這可能也是在AR營銷活動中,不少大型合作夥伴,如騰訊QQ選用HiAR SDK的原因。
SLAM
雖然SLAM技術並未在HiAR SDK中開放,但筆者注意到,在不少商業合作中,已經用到了亮風臺研發的SLAM。在CES 2017 Asia中,亮風臺開放了SLAM體驗。在CES 2017 Asia中,亮風臺展現的HiAR SLAM具有以下特點:
支持單幀、多幀、圖片、點雲多種初始化方式,毫秒級完成初始化;
穩定精準,移動背景魯棒;
運行流暢,毫秒級重定位;
優化使用單目SLAM場景,支持場景存儲,保持穩定表現,提升運算速度。
總結
經過測試,發現HiAR SDK不僅在2D識別與跟蹤方面具有自己的優勢,而且很好地控制了包的大小。經過進一步的了解,亮風臺不僅研發基於自身核心算法的AR SDK並推出商用,也發布了AR智能眼鏡HiAR Glasses等產品。
其官方人員曾表示,開發硬體的原因之一也在於優化自身的技術,2D圖像識別與跟蹤、SLAM、手勢、人臉等技術已經或正在向眼鏡端部署。
作為一枚小小的開發者,筆者看好國內自主研發的HiAR SDK,也期待HiAR Glasses能夠帶來更多驚喜。
來源:比特網