林堅渤,朱允斌,董欣宇
移動終端增強現實系統
林堅渤,朱允斌,董欣宇
針對復雜多變的戶外場景,基于移動終端增強現實技術,提出結合移動終端地理信息以及物理傳感器的定位定姿方法,結合實時光源檢測等算法,實現對大型戶外場景的實時增強渲染。采用分層渲染、多層融合的方法,以保證不同虛擬素材的渲染效果。系統可以應用于大型戶外場景的增強,適應光源復雜多變的場景需求,可以實時進行增強渲染,已實現在目前主流的移動終端系統上的應用,展現了其獨特的魅力以及在應用市場上的光明前景。
移動終端增強現實;實時
隨著科技的進步,移動智能終端已經成為現實生活中必不可缺的一部分。這些功能越來越繁多,性能越來越好的移動智能終端被廣泛應用于生活的方方面面,極大地改善方便了人們的日常生活。而近年來新興的增強現實系統(AR系統)技術,即一種利用計算機產生的附加信息對真實世界的景象進行增強或者擴張,在獲取周邊真實環境景象的同時生成或者添加由計算機生成的增強信息(包括在真實環境種與真實物體共存的虛擬物體和與存在的真實物體有關的非幾何信息)后,給人一種身臨其境的感覺,形成更加完美的視覺聽覺感受的技術,是近年來虛擬現實(VR)技術發展起來的新興研究領域[1]。這種技術能徹底改變移動傳媒的展現方式,為現實生活提供更多的便利和給用戶更完美的體驗,是未來移動端用戶體驗產品研發的重點,具有巨大的商業和市場需求。
現階段AR系統已經廣泛應用于醫療、教育、科研、文化、工業、軍事國防等領域。美國波音公司的輔助接線系統[2]、美國海軍正在研制的戰場增強現實系統(BARS)[3]等均是增強現實系統應用的真實例子。隨著科學技術的發展,AR系統在移動端應用也陸續實現了突破并被廣泛應用于生活的各個領域[4]。例如在博物館里,用戶可以使用手機下載一個軟件,當用戶在博物館內進行游覽參觀的時候,通過這個軟件便可以獲得感興趣的展品的文字、圖片以及視頻等信息,以便加深增強用戶對展品的認識[5]。再如在導航方面,通過GPS在行車前方道路上疊加方向箭頭實時指引駕駛員。另外,家居裝修裝飾上也可以應用這個技術,在拍攝到房子內部圖像后,通過該類軟件選擇家具裝飾物,虛擬出裝修后效果圖,引導用戶自主裝修裝飾[6]。又如在電子商務上的虛擬購物超市[7]等。目前,移動端AR系統主要存在以下幾個問題[8-10]:
(1)固定光源:涉及物體注冊到實時圖像展現時,大多數系統采用的都是固定光源,這種方法適用于室內場景,但在戶外場景中,光源構成復雜多變,只使用固定光源則會導致虛擬效果不真實,因此需要實時光源。
(2)實時性差:大部分系統均是在進行 3D物體注冊時由于匹配定位運算量大,難以滿足實時展現的要求[11]。
(3)展現方式單一:常用展現方式一般都是三維模型展示或者二維圖片疊加獨立進行。
本系統基于當下流行的主流移動平臺之一——Android系統,利用OPENGLES對圖形圖像進行分辨融合[12],采用了多種定位方式來實現目標的準確定位,應用OPENCV對圖像進行分析識別,依靠系統整體科學合理地設計,最終完成了一個移動端上基于圖像識別的既能用于展示特殊效果也能進行一些互動游戲的增強現實系統。該系統集觀賞性和娛樂性于一身,具有實時、精確、新穎以及與用戶互動頻率高等特點,顯示了AR系統在移動端上發展的獨特魅力以及無限可能,同時AR系統廣泛的應用前景和光明的未來在該系統成果中也可見一斑。
移動端增強現實系統具有虛實結合、人機交互、三維整合三個特點,并因為其便攜性在未來增強現實發展中扮演著重要角色[13]。本文中的系統是應用于大型戶外展示的移動增強現實原型系統,在圖像分析識別和 LBS定位之后,對攝像頭獲取的真實環境和計算并繪制產生的虛擬對象進行整合渲染,以達到增強用戶觀影感知的效果
系統主要包括以下3個主要功能:基于地理信息系統的個性化展示功能,人機交互功能以及渲染展現功能。
系統是為特定地方區域的展示提供增強效果,因此,需要進行移動端定位,并根據定位信息提供個性化素材。為此,系統采用了LBS定位技術進行定位分析,并結合移動端自身擁有的物理傳感器進行了空間姿態分析,為資源管理、圖像識別以及渲染提供幫助。
為體現以用戶體驗為中心的設計原則,系統添加了人機交互功能,主要體現于系統的渲染模塊和展示模塊。系統通過事件隊列分析用戶點擊觸摸事件并根據隊列進行資源調度整合,將相應的2D圖像及3D模型根據事件分別進行渲染展現,這個功能主要通過XML文檔規范定義事件類型及相應資源輔助完成。
進行渲染前,系統需先通過圖像分析識別獲取真實環境中的光源有效信息。在對移動端攝像頭獲取的前景圖像進行濾波處理之后,通過光源檢測獲取圖像中的有效,3源并對其進行優化,提供渲染模塊進行渲染合成。系統通過三層圖像層次結構將前景、2D信息以及3D信息進行層疊添加,并進行融合計算,最后展現于終端屏幕上,該展現方法將在本文中進行詳細介紹。
此外,系統保證各個模塊按照時序依次計算運行。運行過程中,系統的瓶頸在于各個圖像處理以及渲染計算。若是計算時間過久,系統不能在人眼視覺暫留時間內完成下一幀圖像的繪制展現,將會導致卡頓或延遲現象,無法滿足系統的實時特性。因此,我們對耗時較多的功能模塊進行了優化,例如對圖像光源檢測算法的優化,繪制渲染過程中的優化等等,保障了系統的實時性。系統架構
本系統是應用于大型戶外展示場景的移動端增強現實系統。本文具體描述了基于移動平臺的增強現實系統的整體框架,業務流程以及實現方案。簡要介紹了系統的構架,包括如何獲取和管理整個系統的素材資源,如何在獲取本地及服務器資源之后進行虛實疊加的渲染以及展現。
本系統是應用于大型戶外展示場景的移動端增強現實系統。本文具體描述了基于移動平臺的增強現實系統的整體框架,業務流程以及實現方案。簡要介紹了系統的構架,包括如何獲取和管理整個系統的素材資源,如何在獲取本地及服務器資源之后進行虛實疊加的渲染以及展現。
2.1 系統概述
本系統應用戶外場景,需要解決渲染虛擬素材的匹配對應問題。用戶攜帶移動終端進入系統預設的展示秀區域,自動從遠端資源服務請求并下載必須的素材資源;使用移動終端自帶的攝像頭對展示場景進行拍攝,結合移動設備的物理傳感器數據,獲取攝像頭的實時圖像數據并經過預處理、分析、資源整合、虛實疊加渲染等階段,最終以多種方式為用戶展現出增強現實的視覺效果。系統的結構以及數據流程圖如圖1所示:
2.2 流程描述
系統的工作流程如下:
(1)當地理信息模塊進行特定區域檢測,發現移動端進入展示區域內后,地理信息模塊將位置信息向遠端資源服務請求對應的個性化資源;當移動終端在特定區域內時,將移動終端的空間狀態信息傳遞給渲染模塊。
(2)資源管理模塊對本地載入的資源以及從遠端資源服務獲取的資源進行管理,為渲染模塊提供虛擬素材。
(3)取景模塊從移動終端的攝像頭獲取圖像信息。
(4)渲染模塊得到圖像信息,通過對其進行光源檢測獲得若干光源,將地理信息模塊的位置信息、資源管理模塊的虛擬素材、取景模塊的背景做渲染整合,從而實現虛實疊加的效果,并為展現模塊提供渲染后的圖像。
(5)以多種方式展現方式將最終的虛實結合畫面呈現出來,例如移動終端屏幕直接展示,或者以高清圖片、視頻的形式存儲于移動終端等。
2.3 地理信息模塊
(1)模塊功能
地理信息模塊的功能是通過 LBS(Location Based Service)定位服務請求并獲取移動終端的位置,并對這個位置結果進行分析處理,并將地理位置信息存儲于本地,當本地資源與該位置結果不匹配時,則傳輸給服務器請求對應個性化資源,另外還通過移動端上附帶的物理傳感器獲取判斷移動端的空間姿態。該模塊主要包括了 LBS定位、特定區域檢測功能和空間狀態分析功能3個主要功能。
(2)LBS定位分析
在進行LBS定位并分析的時候,主要分為以下3個步驟:
a)向LBS運營商發出定位請求。
b)對LBS服務器定位返回的數據進行解析處理,獲取需要的移動終端位置等有用信息。不同的網絡定位請求會導致定位精度不同,同時定位也會出現誤差,存在精確度不高的問題,系統需對結果采用均值法和眾數法等方法優化提高定位結果精確性。
c)將分析得到的結果上傳到遠端資源服務器,服務器根據定位信息提供個性化資源服務。
(3)特定區域檢測
在 LBS定位分析后,根據定位結果進行特定區域檢測,以實現系統的個性化資源推送功能。其原理是計算移動終端定位結果與預先定義的區域中心之間的距離,當距離小于一定的閾值時,便可判斷移動終端進入了某個特定區域,并自動向遠端資源服務發送該區域的位置信息等,遠端資源服務則根據區域具體信息向移動端推送相應的個性化資源。
(4)定姿分析
現代移動終端大多都內置了一些例如陀螺儀、重力傳感器、加速度傳感器等等物理傳感器元件,本模塊通過陀螺儀及加速度傳感器獲取計算設備朝向、傾斜角度、翻轉角度等狀態參數信息,以確定移動終端的空間姿態,并將其交給渲染模塊對虛擬素材協助進行渲染。
2.4 資源管理模塊
資源管理模塊模塊負責系統的資源存儲和管理,并為渲染系統提供虛擬素材(包括計算機合成的三維模型和二維圖像、二維圖像序列、動態圖以及事件腳本等等)。該模塊管理的資源按其來源可分為以下2種:
本地資源,本地擁有一些渲染模塊必要的資源,在系統啟動時可預先進行加載。
遠程資源,當系統啟動而地理信息模塊提供的地理位置與本地存儲的資源不匹配時,系統需通過遠程資源服務獲取相應的個性化資源,解析得到虛擬素材并存儲于本地,在系統啟動后延遲加載所需要的資源。
2.5 取景模塊
取景模塊負責增強現實系統的圖像采集工作。該模塊通過移動設備的后置攝像頭取景,按照每隔40ms一周期的頻率獲取一張背景圖像。該背景圖像將被將被渲染模塊用于光源檢測以及圖像融合。
2.6 渲染模塊
渲染模塊位于增強現實系統的核心,負責真實背景和虛擬素材的整合,將虛擬物體無縫融合到真實背景中,給人以虛擬物體真實存在的感覺。其中,真實背景來自取景模塊,是移動終端實時拍攝到的真實場景圖像,虛擬素材則來自資源管理模塊。本模塊流程參考增強現實系統流程圖中的渲染部分,其處理流程大致可以分為識別、單層渲染和多層融合3個階段。
(1)識別:基于計算機視覺方法對真實背景圖像進行光源檢測。采用光源檢測算法對真實背景圖像提取真實背景中的光源信息,檢測得到的光源信息將用于下一階段的渲染。利用光源檢測算法動態檢測真實場景中的光源信息,能夠實時反映真實場景中的光照變化,使渲染后的虛擬素材能夠更真實地融合到真實場景中。
(2)單層渲染:根據識別階段獲取的光源信息,同時,根據地理信息模塊提供的移動終端空間姿態信息,對虛擬素材中的三維模型進行單層實時渲染。在這個過程中,先根據空間姿態信息對三維模型進行對應的旋轉縮放等操作,再利用光源信息建立光照模型,該模型可表述為環境光、散射光以及鏡面反射光的總和[14]。根據該光照模型,采用真實光學環境的模擬技術,依照虛擬素材預設置的材質設定相應的參數,實現并綜合陰影、反射、折射和色散等光學效果,對三維模型進行光照渲染,以增強虛實融合的真實感。
(3)多層融合:虛擬素材經過渲染后,根據繪圖層次架構進行依次繪制,再將其融合生成虛實融合的最終圖像。繪圖層次如圖2所示:

圖2 渲染模塊層次效果圖
多層融合階段的圖層主要由3個繪圖層組成,底層為鏡頭圖像層,來自取景模塊,是最后融合展現的圖像背景;中間層為三維模型投影層,該圖層繪制的是虛擬素材中的三維模型經過單層渲染后投影到二維平面上所得到的投影圖像;頂端層為二維圖像層,響應系統用戶的操作(例如觸摸點擊事件等),對對應的二維虛擬素材(包括靜態圖像、圖像序列以及動態圖等等)進行整合繪制。最后,渲染模塊通過圖像融合算法將這3個圖層融合成一個完整的圖像,形成單幀圖像并轉交給展現模塊。
渲染模塊采用了3個繪圖層來進行圖像融合,實現了虛擬現實融合場景三維模型實時渲染復雜計算和二維素材繪制的分離,減輕了移動設備的計算負擔,同時也使不同的虛擬素材類型分別進行渲染,保證了各自渲染的效果。
另外,渲染模塊的識別和繪制步驟中的計算部分都由算法組件完成,包括光源檢測算法、圖像融合算法等。這些算法組件具有獨立存在的、可拆卸等特點。即使在運行在低性能的設備上,當這些計算性能不足以在生成展現圖像的間隙完成所有計算工作時,也可以通過拆卸部分算法組件的方式,犧牲部分渲染效果減少計算量以保障系統的實時性以及流暢性。
2.7 展現模塊
展現模塊的功能是將渲染模塊渲染完畢的圖像展現給用戶。在獲取到渲染模塊緩沖區中的最終圖像后,通過雙緩沖技術將圖像在終端屏幕上刷新展現,屏幕刷新的時間間隙應小于人眼的視覺暫留時間,這里我們設置為40ms。另外,展現模塊還支持將渲染圖像以高清圖片或者視頻文件的方式存儲到移動終端上。
本文系統分別在目前最為流行移動終端系統之一——Android系統上進行實現,使用采集得到的視頻影像來模擬實時變化的場景,對此場景進行識別渲染。
實驗將采集到的視頻影像投影在幕布上,而我們固定移動終端對幕布進行拍攝,便實際反映移動終端攝像頭對戶外場景的采集過程。
攝像機每分鐘拍攝25幀并將彩色圖像傳送給渲染模塊,渲染模塊對圖像進行實時處理,并同時完成虛擬素材的渲染和虛實場景的融合。系統采用的硬件設備參數如表1所示:

表1 硬件設備參數
為了保證系統的實時性,系統采用了先驗知識對圖像算法組件進行了優化。實驗中各個步驟的時間測量值如表2所示:

表2 系統分步運行時間
其中優化后的圖像處理時間僅為8ms,低于每幀40ms的幀獲取時間間隔,而渲染的時間隨著渲染素材的增多而變長,對200個二維虛擬素材、1個3000片元著色器的三維虛擬素材的實時渲染時間約為16ms。
由實驗結果可知在普通性能的移動設備上對戶外場景進行渲染是完全可行的,若是在算法的性能優化和渲染的效率上進一步改進完善,增強現實的普及應用將值得我們期待。
系統效果圖如圖3所示:

圖3 系統效果圖
本文介紹了一個基于移動端的增強現實系統,該系統通過LBS定位及圖像識別戶外場景,應用改進算法進行光源檢測,最后利用這些信息對攝像頭獲取的鏡頭圖像進行虛實融合,最后形成圖像顯示輸出,具有實時、精確、新穎等特點,同時實現了幾個應用了圖像處理的小游戲,能與用戶進行充分的互動,從而體現了增強現實系統獨特的魅力。
該系統在現在主流的移動終端硬件上都能流暢運行,且能做到實時、精確、新穎、與用戶互動性良好等特點,同時引進了游戲的功能。但是在做到完美融合,給用戶帶來更好地體驗上還存在一定的差距,隨著圖像識別分析算法的不斷優化以及硬件設備性能的提高,這一瓶頸也將不再是問題。
此外,文章也對移動端增強現實系統的研究應用現狀進行了簡略介紹。雖然增強現實系統在廣泛應用于移動端上還存在硬件性能不高、算法效率不夠等不少問題,但卻擁有著廣泛的應用前景和巨大的市場潛力。當這些問題被一一解決之后,增強現實系統將是未來移動端應用的主要發展領域之一。
[1] 林倞,楊珂,王涌天,等.移動增強現實系統的關鍵技術研究[J].中國圖象圖形學報,2009,3:560-564.
[2] 王涌天,林倞,劉越等.亦真亦幻的戶外增強現實系統——圓明園的數字重建[J].中國科學基金,2006,2.
[3] 朱淼良,姚遠,蔣云良.增強現實綜述[J].中國圖象圖形學報,2004,7.
[4] 程志,金義富.基于手機的增強現實及其移動學習應用[J].電化教育研究,2013:66-70.
[5] 譚嫄嫄,彭玉元.基于AR技術的文物展示移動平臺APP開發[J].電腦編程技巧與維護,2014,(20).
[6] 陳一民,李啟明,馬德宜等.增強虛擬現實技術研究及其應用[J].上海大學學報(自然科學版),2011,4:412-428.
[7] 孫源,陳靖.智能手機的移動增強現實技術研究[J].計算機科學,2012.
[8] 石大宏.Android移動平臺上的目標識別[J].計算機與數字工程,2014,4:612-615.
[9] 楊曉.移動平臺上的增強現實系統關鍵算法研究綜述[J].進出口經理人,2014.
[10] 王萍.基于增強現實技術的移動學習研究初探[J].現代教育技術,2013,5.
[11] 黃小鳳,宋瑾鈺,俞成海.基于OpenGL ES的移動平臺的三維模型繪制[J].工業控制計算機,2013,1.
[12] 陸鋼,朱培軍,李慧云等.智能終端跨平臺應用開發技術研究[J].電信科學,2012,5.
[13] 鐘慧娟,劉肖琳,吳曉莉.增強現實系統及其關鍵技術研究[J].計算機仿真,2008, 1:252-255.
[14] 吳亞峰.Android 3D游戲開發技術寶典[M].北京:人民郵電出版社,2012.
TP3.41 文獻標志碼:A
2015.04.01)
1007-757X(2015)08-0007-03
國家科技支撐計劃項目(編號:2012BAH59F04)
林堅渤(1991-),男,復旦大學,計算機科學技術學院,上海市智能信息處理重點實驗室,碩士研究生,研究方向:圖形圖像處理,上海,201203朱允斌(1974-),男,復旦大學,計算機科學技術學院,上海市智能信息處理重點實驗室,博士研究生,上海,201203董欣宇(1981-),男,上海集成電路技術與產業促進中心,工程師,上海, 201203