高文婷,劉 越,2
(1.北京理工大學(xué)光電學(xué)院,北京 100081;2.北京電影學(xué)院未來影像高精尖創(chuàng)新中心,北京 100088)
增強現(xiàn)實(augmented reality,AR)是一種將真實世界與虛擬信息融合的技術(shù),通過實時計算攝像機的位姿并融入計算機生成的文字、圖像、三維模型、視頻等虛擬信息實現(xiàn)對現(xiàn)實世界的增強。近年來,AR 技術(shù)發(fā)展迅猛,吸引了大量國內(nèi)外科研人員的目光。移動AR 借助移動設(shè)備實現(xiàn)AR 技術(shù)應(yīng)用,具有不限制用戶移動的優(yōu)點。近年來隨著便攜、智能的移動設(shè)備快速發(fā)展,特別是谷歌眼鏡、微軟HoloLens,愛普生Moverio BT-300,Magic Leap 等專用 AR 設(shè)備的出現(xiàn),強大的開發(fā)工具包(如ARCore 和ARKit 等)、移動設(shè)備和傳感器集成性能的改善以及計算機視覺技術(shù)的進(jìn)步和網(wǎng)絡(luò)技術(shù)的發(fā)展,AR 技術(shù)與網(wǎng)絡(luò)和各種移動設(shè)備的結(jié)合使得移動AR 在旅游和導(dǎo)覽、娛樂和商業(yè)、培訓(xùn)和教育[1]、裝配和維修[2-3]等領(lǐng)域獲得了廣泛地應(yīng)用。
構(gòu)建成功移動AR 應(yīng)用的關(guān)鍵技術(shù)之一是實時準(zhǔn)確的環(huán)境感知。通過環(huán)境感知可以識別用戶附近需要增強的對象和事件,帶來更好的交互體驗。環(huán)境感知可通過基于深度學(xué)習(xí)的目標(biāo)檢測方法實現(xiàn),算法是否能在復(fù)雜的場景中穩(wěn)定并準(zhǔn)確地對環(huán)境中的物體進(jìn)行識別直接決定了移動AR 系統(tǒng)的性能。將目標(biāo)檢測與移動AR 結(jié)合,不僅給用戶帶來更方便高效的交互場景體驗,也是一種對技術(shù)整合的探索和創(chuàng)新。但由于移動AR 設(shè)備的計算能力有限、能耗大、模型尺寸大以及卸載任務(wù)到邊緣云端的網(wǎng)絡(luò)延遲嚴(yán)重等問題,很難將深度學(xué)習(xí)目標(biāo)檢測應(yīng)用在移動AR 中。
本文就面向移動AR 的目標(biāo)檢測方法進(jìn)行綜述。
目標(biāo)檢測(object detection)是計算機視覺領(lǐng)域的核心問題之一,其任務(wù)是找出圖像中的感興趣對象,即以標(biāo)簽和包圍盒(bounding box)的形式給出類別以及具體位置。目標(biāo)數(shù)量、目標(biāo)外觀、形狀和姿態(tài)以及目標(biāo)成像時的光照條件、遮擋、視角差異等因素都會給目標(biāo)檢測帶來一定難度。
傳統(tǒng)的目標(biāo)檢測算法都是基于人工設(shè)計的特征構(gòu)建的,由于缺乏對圖像的有效表示方法,因而提出了各種復(fù)雜的特征表示,采用不同加速方法來利用有限的計算資源。傳統(tǒng)的目標(biāo)檢測算法主要分為4 個階段對輸入圖像進(jìn)行目標(biāo)檢測,其流程如圖1 所示:
(1) 候選區(qū)域選取。采用滑動窗口的方法以不同的大小和寬高比進(jìn)行遍歷,并對目標(biāo)可能所在的區(qū)域進(jìn)行特征檢測。這種枚舉的區(qū)域選取策略沒有針對性,時間復(fù)雜度高,使得窗口冗余問題嚴(yán)重,其嚴(yán)重影響了后續(xù)特征提取和分類的速度與性能。
(2) 特征提取。由于目標(biāo)的外觀、形狀和姿態(tài)各異,同時存在目標(biāo)成像時的光照條件、遮擋、視角差異等影響因素,使得難以設(shè)計出一種魯棒性很強的特征提取策略。常用的特征提取包括哈爾特征(Haar-like features)、尺度不變特征變換(scale-invariant feature transform,SIFT)以及方向梯度直方圖 (histogram of oriented gradient,HOG)等。
(3) 分類器。對特征進(jìn)行分類通常采用Cascade (級聯(lián))、支持向量機(support vector machine,SVM)和Adaboost 分類器等。
(4) 非極大值抑制(non-maximum suppression,NMS)。為了消除檢測得到的多余框,找到目標(biāo)物體的最佳位置,選取臨近框中分?jǐn)?shù)最高的框,同時抑制分?jǐn)?shù)低的框。
由于基于滑動窗口的區(qū)域選擇策略沒有針對性,導(dǎo)致傳統(tǒng)目標(biāo)檢測算法的時間復(fù)雜度高、效率低;同時手工設(shè)計的特征對于多樣性的變化魯棒性較弱,整個檢測過程效率和精度都較低。
隨著深度學(xué)習(xí)技術(shù)和目標(biāo)檢測算法的快速發(fā)展,其檢測速度和精度有了大幅提升。深度學(xué)習(xí)目標(biāo)檢測的方法主要分為Two Stage和One Stage目標(biāo)檢測算法。以下對2 類目標(biāo)檢測算法進(jìn)行綜述。
Two Stage目標(biāo)檢測算法亦稱為基于候選區(qū)域的目標(biāo)檢測算法,該算法首先對輸入圖像生成一系列候選框,然后對其進(jìn)行分類和位置回歸,進(jìn)而得到最終的檢測結(jié)果。
2014 年,GIRSHICK 等[4]提出區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(region-based convolutional neural networks,R-CNN),首先采用選擇搜索(Selective Search)算法[5]提取出2 000 個左右候選區(qū)域,然后,將其調(diào)整為一個固定大小的圖像(227×227 像素),并輸入到訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)中進(jìn)行特征提取,最后利用SVM分類器和全連接網(wǎng)絡(luò)回歸操作對每個區(qū)域內(nèi)的目標(biāo)進(jìn)行預(yù)測,進(jìn)而得到目標(biāo)類別和位置。R-CNN 的提出為目標(biāo)檢測問題的解決提供了新的可能性,同時也奠定了Two Stage目標(biāo)檢測算法的基礎(chǔ)。但其缺點是在候選區(qū)域需進(jìn)行大量冗余的特征計算使得檢測速度很慢。隨后,GIRSHICK[6]將R-CNN 與空間金字塔池化網(wǎng)絡(luò)(spatial pyramid pooling network,SPPNet)[7]的優(yōu)點進(jìn)行融合,提出的Fast R-CNN[6]只需對整張圖像進(jìn)行一次卷積層特征提取,再將所有的候選區(qū)域在網(wǎng)絡(luò)中某層進(jìn)行映射,使得目標(biāo)檢測速度和精度大幅提升。2015 年,REN 等[8]提出Faster R-CNN 檢測器,引入?yún)^(qū)域建議網(wǎng)絡(luò)(region proposal network,RPN)代替Selective Search 算法產(chǎn)生候選區(qū)域,將原有的2 000 個左右的候選區(qū)域減少到300 個,在精度和速度上有了進(jìn)一步地提升。但其在ROI Pooling 層之后的檢測階段存在計算冗余,仍然難以滿足實時性的要求。
Faster R-CNN 成為Two Stage目標(biāo)檢測算法的一個里程碑,之后的諸多算法都是在Faster R-CNN的基礎(chǔ)上進(jìn)行改進(jìn)得到的。2016 年DAI 等[9]提出了R-FCN,針對分類網(wǎng)絡(luò)的位置不敏感性和檢測網(wǎng)絡(luò)的位置敏感性之間的矛盾進(jìn)行改進(jìn),分類網(wǎng)絡(luò)的位置不敏感性指的是在分類任務(wù)中,隨著目標(biāo)在圖片中的位置移動,檢測器都能準(zhǔn)確識別目標(biāo)類別;檢測網(wǎng)絡(luò)的位置敏感性指的是在檢測位置任務(wù)中,隨著目標(biāo)在圖片中的位置移動,檢測器可以準(zhǔn)確地輸出目標(biāo)所在的位置,即對目標(biāo)位置的移動很敏感。R-FCN 通過提出位置敏感的分地圖(position-sensitive score maps)來權(quán)衡分類和定位之間的矛盾。2018年,CAI 和 VASCONCELOS[10]提出的 Cascade R-CNN 可看作是級聯(lián)的Faster R-CNN,每個階段的輸入邊界框是前一階段邊界框的輸出,不斷提高候選框的質(zhì)量,可解決目標(biāo)檢測任務(wù)中產(chǎn)生大量噪聲的假陽性(將錯誤樣本誤歸為正確目標(biāo))問題,有效提高模型的檢測精度。
在不斷提升Two Stage目標(biāo)檢測精度的過程中,模型的規(guī)模逐漸增大、但檢測速度的有效提升始終未解決,為了滿足實際應(yīng)用輕量級和實時性的要求,One Stage目標(biāo)檢測算法應(yīng)運而生,該算法舍去了候選區(qū)域提取過程,通過直接回歸的策略有效提升了檢測速度。
One Stage目標(biāo)檢測算法是基于回歸的目標(biāo)檢測算法,該算法省略了候選框生成階段,通過直接回歸的策略得到目標(biāo)的分類結(jié)果和位置。
2.2.1 YOLO 系列算法
2015 年REDMON 等[11]提出的YOLO (You only look once)系列算法屬于One Stage 檢測器的范疇。YOLOv1 把目標(biāo)檢測變成一個回歸問題,將整張圖作為網(wǎng)絡(luò)的輸入,僅經(jīng)過一個神經(jīng)網(wǎng)絡(luò)直接得到位置和所屬類別的概率。YOLOv1 將輸入圖像劃分為s×s個網(wǎng)格,每個網(wǎng)格只負(fù)責(zé)檢測中心落在該網(wǎng)格的目標(biāo),通過設(shè)定閾值過濾掉置信度較低的包圍盒,最后通過NMS 確定最終的檢測結(jié)果。YOLOv1 的檢測速度較Two Stage目標(biāo)檢測器大幅提升,但由于每個網(wǎng)格至多預(yù)測一個物體,導(dǎo)致其對小目標(biāo)和鄰近目標(biāo)的檢測效果不佳。針對該問題,REDMON 和FARHADI[12]提出YOLOv2,網(wǎng)絡(luò)通過WordTree 混合檢測數(shù)據(jù)集和識別數(shù)據(jù)集中的數(shù)據(jù),采用一種新的聯(lián)合訓(xùn)練算法(joint training algorithm)同時在ImageNet 和MS COCO 數(shù)據(jù)集上進(jìn)行訓(xùn)練,用巨量的分類數(shù)據(jù)集將檢測種類擴充到9 000 種。YOLOv3[13]在YOLOv2 的基礎(chǔ)上使用DarkNet-53 殘差網(wǎng)絡(luò)并結(jié)合特征金字塔網(wǎng)絡(luò)(feature pyramid networks,F(xiàn)PN)[14]對3 個不同尺度的特征圖進(jìn)行目標(biāo)檢測,有效提高了目標(biāo)檢測、特別是小目標(biāo)檢測的精確度和檢測速度。
2.2.2 SSD 系列算法
2016 年,LIU 等[15]提出的單階段多框目標(biāo)檢測器(single shot multiBox detector,SSD)目標(biāo)檢測器沿用了YOLO 中將目標(biāo)檢測問題轉(zhuǎn)化為回歸問題的思路。SSD 的核心是設(shè)置不同尺度和長寬比的先驗框,提取多尺度特征圖進(jìn)行檢測,最后幾層卷積對不同尺度的特征圖進(jìn)行先驗框提取,得到分類和位置結(jié)果。由于低層的特征非線性程度不夠,無法訓(xùn)練到足夠的精確度,對于小目標(biāo)的檢測效果仍然較差,達(dá)不到Faster R-CNN 的水平。之后有學(xué)者相繼提出R-SSD[16]和F-SSD[17]對傳統(tǒng)SSD 進(jìn)行了改進(jìn)。
近年來,基于深度學(xué)習(xí)的目標(biāo)檢測算法飛速發(fā)展,并針對已有算法的缺陷進(jìn)行改進(jìn),通過將更好的基礎(chǔ)網(wǎng)絡(luò)或融合不同特征的卷積層疊加在經(jīng)典的方法(如,F(xiàn)aster R-CNN,YOLO,SSD 等)上,同時使用優(yōu)化技巧來產(chǎn)生有效的變體,以提高改進(jìn)算法的檢測結(jié)果。
移動AR 中目標(biāo)檢測問題的關(guān)鍵在于要求系統(tǒng)能夠準(zhǔn)確、實時地檢測出需要增強的目標(biāo)類別和位置,以確保虛擬物體能夠準(zhǔn)確地疊加到真實場景中的正確位置,達(dá)到環(huán)境感知的效果,這使得移動AR 中的目標(biāo)檢測任務(wù)與通用目標(biāo)檢測任務(wù)相比,對實時性、準(zhǔn)確性有著更高的要求。另一方面,移動AR 的高移動性要求其提供的服務(wù)不限制用戶在有限空間內(nèi)移動,即在各種環(huán)境條件下都能作為移動AR 的功能模塊,準(zhǔn)確實時地完成目標(biāo)檢測任務(wù),為后續(xù)AR 主要任務(wù)的完成提供支持。因此,移動AR 中的目標(biāo)檢測任務(wù)會受到本地端計算資源、電源性能以及網(wǎng)絡(luò)帶寬等的限制。此外,移動AR 應(yīng)用中除目標(biāo)檢測任務(wù)需要占用大量計算資源外,跟蹤注冊、渲染等任務(wù)也屬于計算密集型任務(wù)。移動AR 設(shè)備的電源性能、計算性能,網(wǎng)絡(luò)性能和目標(biāo)檢測算法性能都是影響移動AR 中目標(biāo)檢測性能的重要因素。
深度學(xué)習(xí)目標(biāo)檢測算法在目標(biāo)檢測任務(wù)中表現(xiàn)出優(yōu)越的性能,但其模型規(guī)模龐大,對存儲空間和計算能力要求很高。由于現(xiàn)有的商用移動AR 設(shè)備的計算能力不能滿足運行復(fù)雜深度學(xué)習(xí)目標(biāo)檢測算法時準(zhǔn)確性和實時性的要求,因此需要借助移動計算平臺或依靠云端、邊緣端計算。為使深度學(xué)習(xí)目標(biāo)檢測算法能夠和移動AR 有效結(jié)合,近年來國內(nèi)外研究人員提出了許多不同的方法和相應(yīng)的架構(gòu),主要可以分為基于本地端、基于云端或邊緣端和基于協(xié)作式的移動AR目標(biāo)檢測系統(tǒng)3 類。
無需網(wǎng)絡(luò)通訊,所有目標(biāo)檢測計算操作全部在本地平臺的移動AR 系統(tǒng)即為基于本地端的移動AR目標(biāo)檢測系統(tǒng)進(jìn)行。自從2004 年MOHRING等[18]提出基于手機的AR 應(yīng)用至今,手機在嵌入式攝像頭、內(nèi)置傳感器以及強大的處理器等方面都取得了巨大的進(jìn)步,憑借其便攜、社會接受度高的優(yōu)點已成為移動AR 系統(tǒng)的主要平臺[19-20]。
TANG 等[21]提出一種戶外詞匯學(xué)習(xí)移動AR 應(yīng)用,利用深度學(xué)習(xí)目標(biāo)檢測算法識別生活環(huán)境中的日常物品,用戶通過按下對應(yīng)按鈕,則相應(yīng)物品的名稱會被系統(tǒng)讀出,用于幫助自閉癥兒童在家庭環(huán)境中學(xué)習(xí)詞匯以達(dá)到早期干預(yù)和治療的目的。由于該應(yīng)用可面向農(nóng)村以及戶外環(huán)境使用,采用離線執(zhí)行任務(wù)的方式進(jìn)行,因此使得其算法的實時性無法得到保證。
已有研究者通過將深度卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行輕量級化操作來保證其目標(biāo)檢測的實時性。RAO等[22]將SSD 算法進(jìn)行輕量化操作以便其在移動設(shè)備或嵌入式設(shè)備上直接運行,結(jié)合GPU 和慣性測量單元提出了一種面向地理實體目標(biāo)檢測的戶外移動AR 系統(tǒng)(圖2)。該系統(tǒng)可對校園內(nèi)的建筑進(jìn)行識別,實時計算出邊框和類別信息,為新生或游客提供導(dǎo)覽。通過將原始SSD 網(wǎng)絡(luò)結(jié)構(gòu)的前置網(wǎng)絡(luò)VGG-16 替換成SqueezeNet[23],并結(jié)合一系列附加特征層,模型尺寸減小到約為17.8 MB 左右,有效地減少了計算量。
圖2 面向地理實體目標(biāo)檢測的增強現(xiàn)實系統(tǒng)[22] Fig.2 Object detection of geographical entity based on outdoor augmented reality[22]
該方法所有的計算任務(wù)都由用戶的移動設(shè)備離線執(zhí)行,因而消除了網(wǎng)絡(luò)延遲的影響,并且可以應(yīng)用在信號條件不受控制的戶外環(huán)境中。但由于該方法提出的輕量級SSD 對原始模型進(jìn)行了簡化操作以實現(xiàn)輕量化,簡化后的模型在VOC2007 數(shù)據(jù)集上的MAP 僅有53.7%,精確度較低。此外,這種基于應(yīng)用程序的方法依賴于設(shè)備平臺(IPhone 和Android),存在著無法跨平臺運行的限制。盡管以移動手機作為計算平臺的發(fā)展非常迅速,但由于其計算能力十分有限,無法達(dá)到實時性和準(zhǔn)確性的統(tǒng)一。
早期有學(xué)者提出使用筆記本電腦[19-20,24]作為背包計算平臺,然而其尺寸和重量仍是大多數(shù)用戶接受的障礙。由于筆記本電腦只用于計算分析和調(diào)試,因此需要如頭戴顯示器等(head mount display,HMD)額外的顯示設(shè)備來進(jìn)行顯示。
張少博[25]提出一種基于頭戴式顯示設(shè)備和計算機的移動AR系統(tǒng),設(shè)計并實現(xiàn)了基于HTC VIVE與魚眼攝像頭的AR 博物館游覽系統(tǒng)(圖3),該系統(tǒng)利用HMD 設(shè)備HTC VIVE 和魚眼攝像頭全方位采集用戶所看到的現(xiàn)實環(huán)境并傳給計算機,通過計算機運行基于深度學(xué)習(xí)的目標(biāo)檢測算法對收集到的攝像頭畫面進(jìn)行識別,實時地將對應(yīng)的虛擬物體疊加至攝像頭所捕捉到的現(xiàn)實環(huán)境中,最后在HMD設(shè)備中渲染相應(yīng)的模型。為實現(xiàn)實時目標(biāo)檢測,將SSD 與二值神經(jīng)網(wǎng)絡(luò)相結(jié)合,將SSD模型中的參數(shù)二值化,在保證精度的前提下提升檢測速度并減少內(nèi)存占用量和模型尺寸。
圖3 HMD 和計算機的增強現(xiàn)實系統(tǒng)架構(gòu)[25] Fig.3 The architecture of augmented reality based on HMD and computer[25]
這種基于HMD 和計算機的AR 系統(tǒng)基本滿足了實時目標(biāo)檢測,但需要附加一臺計算機以利用其強大的運算能力運行目標(biāo)檢測算法和渲染場景,不符合移動AR 的要求,給用戶帶來了極大的不便,降低了用戶的體驗感。
近年來出現(xiàn)了多個利用云端服務(wù)器進(jìn)行云圖像識別的案例[26-28]?;谠贫说腁R 系統(tǒng)能夠彌補移動設(shè)備計算能力不足的缺點,然而,使用移動云計算架構(gòu)會導(dǎo)致核心網(wǎng)絡(luò)擁塞和網(wǎng)絡(luò)傳輸延遲?;谠贫说腁R 系統(tǒng)會受到任務(wù)卸載(將目標(biāo)檢測任務(wù)卸載傳輸至云端或邊緣端執(zhí)行并返回結(jié)果)延遲的困擾,包括網(wǎng)絡(luò)傳輸延遲和服務(wù)器處理時間延遲。由于目標(biāo)檢測請求的結(jié)果需要在短暫的等待后返回,在此期間用戶的視野可能會發(fā)生移動,使得云檢測延遲結(jié)果與當(dāng)前的視圖不匹配,且會由于用戶視圖變化而顯著降低檢測精度,嚴(yán)重?fù)p害用戶體驗和渲染質(zhì)量。
對于這種無法避免的任務(wù)卸載延遲,一種思路是移動AR 程序應(yīng)該正確地處理“過時”的結(jié)果;另一種思路是盡量將任務(wù)卸載延遲減少到最小。對于第一種思路,要求用戶保持穩(wěn)定,對當(dāng)前視圖和結(jié)果進(jìn)行粗略匹配,或在延時匹配方案上進(jìn)行改進(jìn)。對于第二種思路,寄希望于5G 技術(shù),結(jié)合網(wǎng)絡(luò)切片[29]、移動邊緣計算[30]等技術(shù)解決上述問題。
ECKERT 等[31]構(gòu)建了一種用于視力損傷人群的實時目標(biāo)檢測移動AR 系統(tǒng)(圖4),通過掃描周圍環(huán)境進(jìn)行環(huán)境感知,以幫助盲人尋找日常生活中的基本物品。該系統(tǒng)通過Hololens 捕捉圖像并將其發(fā)送至獨立服務(wù)器中,在服務(wù)器端運行YOLOv2 深度學(xué)習(xí)模型,最后將結(jié)果返回Hololens 中。由于系統(tǒng)基于Client/Server 結(jié)構(gòu)構(gòu)建,需要搭載消費級的GPUs (如NVIDIA Titan X),系統(tǒng)進(jìn)行目標(biāo)檢測的響應(yīng)時間大約為1 s,包括平均網(wǎng)絡(luò)傳輸時間627 ms、平均目標(biāo)檢測時間312 ms 以及平均客戶端處理時間101 ms。
圖4 用于視力損傷人群的增強現(xiàn)實目標(biāo)檢測系統(tǒng)架構(gòu)[31] Fig.4 The architecture of augmented reality for people with visual impairment[31]
由于該系統(tǒng)基于客戶端/服務(wù)器結(jié)構(gòu)搭建,主要的計算任務(wù)是在服務(wù)器上實現(xiàn)的,因而網(wǎng)絡(luò)傳輸延遲時間占總時間成本的60%,同時網(wǎng)絡(luò)信號的穩(wěn)定性也會對系統(tǒng)性能造成影響。
DASGUPTA 等[32]提出一種利用基于深度學(xué)習(xí)目標(biāo)檢測算法、AR 設(shè)備(如HoloLens)和便攜式物聯(lián)網(wǎng)(Internet of Things,IoT)邊緣計算設(shè)備來實現(xiàn)場景理解的框架和方法(圖5),將目標(biāo)檢測和渲染的任務(wù)在硬件層面上分離,以實時實現(xiàn)目標(biāo)檢測任務(wù),并提出一種應(yīng)用于裝配維修的場景。系統(tǒng)通過在當(dāng)前視圖上疊加虛擬箭頭、標(biāo)簽和對齊虛線等輔助信息并結(jié)合目標(biāo)檢測環(huán)境感知的能力來加快整個裝配過程,方便維護(hù)。該方法使用IoT 邊緣攝像機獲取圖像,使用單獨的邊緣設(shè)備(如NVIDIA Jetson 邊緣設(shè)備或Intel GPU)運行YOLOv3 或GoogleNet 算法用于目標(biāo)檢測任務(wù),AR 設(shè)備(如HoloLens)用于渲染計算。最后將檢測結(jié)果即對應(yīng)標(biāo)簽通過網(wǎng)絡(luò)通信返回AR 組件。使用該方法進(jìn)行目標(biāo)檢測任務(wù)的總響應(yīng)時間為0.427 s,其中用于目標(biāo)檢測的時間為0.347 s。由于目前的AR 設(shè)備并不能滿足同時處理渲染和運行深度學(xué)習(xí)算法的要求,在該系統(tǒng)中單獨的邊緣計算設(shè)備負(fù)責(zé)目標(biāo)檢測,AR設(shè)備只需要根據(jù)檢測標(biāo)簽接收和顯示必要的反饋即可。
圖5 基于IoT 設(shè)備的增強現(xiàn)實系統(tǒng)架構(gòu)[32] Fig.5 The architecture of augmented reality based on IoT devices[32]
上述系統(tǒng)采用IoT 邊緣計算設(shè)備來提供計算能力的支持,且網(wǎng)絡(luò)延遲較短,但系統(tǒng)的搭建需要額外的IoT 計算設(shè)備和攝像機,使得其搭建不夠簡便。
QIAO 等[33]設(shè)計部署了一種5G 網(wǎng)絡(luò)環(huán)境下由本地端、邊緣服務(wù)器和公共云服務(wù)器組成面向Web AR 的移動邊緣計算框架(圖6),旨通過使用標(biāo)準(zhǔn)Web技術(shù)結(jié)合移動邊緣計算(mobile edge computing,MEC)提供實時、靈活且易于部署的移動AR 服務(wù)?;赪eb 的移動現(xiàn)實系統(tǒng)解決方案與基于可穿戴設(shè)備和移動設(shè)備相比,具有無需預(yù)先安裝下載應(yīng)用程序包、使用更加簡便及不受平臺限制的優(yōu)點??紤]到本地端設(shè)備計算能力和存儲能力較弱,本地端主要負(fù)責(zé)Web 服務(wù)調(diào)度和基礎(chǔ)處理;邊緣服務(wù)器承擔(dān)大部分的計算任務(wù),并將當(dāng)前性能參數(shù)(包括CPU、內(nèi)存和存儲使用情況等)發(fā)送至公共云服務(wù)器,以便Web AR 應(yīng)用程序進(jìn)行部署的決策制定。與3G 和4G 網(wǎng)絡(luò)相比,5G 網(wǎng)絡(luò)的延遲和帶寬占用問題得到緩解,邊緣服務(wù)器較云端服務(wù)器離用戶端更近,且計算能力更強,因此MEC 技術(shù)的引入有望進(jìn)一步優(yōu)化網(wǎng)絡(luò)資源的利用,大幅降低網(wǎng)絡(luò)延遲,提高移動AR 等應(yīng)用程序的性能。
圖6 Web AR 的移動邊緣計算框架[33] Fig.6 Mobile edge computing framework for Web AR[33]
雖然MEC 技術(shù)的引入使得網(wǎng)絡(luò)延遲不再是移動AR 的瓶頸,然而完全將計算密集型任務(wù)卸載給邊緣服務(wù)器會浪費本地端上空閑的計算資源,且邊緣服務(wù)器的計算成本比較昂貴,網(wǎng)絡(luò)環(huán)境的不穩(wěn)定以及不可避免的數(shù)據(jù)傳輸延遲也會影響用戶體驗。針對上述問題,有學(xué)者提出基于協(xié)作式的移動AR目標(biāo)檢測系統(tǒng)。
基于協(xié)作式的AR目標(biāo)檢測系統(tǒng)指的是通過劃分深度學(xué)習(xí)模型實現(xiàn)分布式計算,本地端、邊緣端或云端均承擔(dān)部分計算任務(wù)的系統(tǒng)。
分區(qū)卸載是進(jìn)行協(xié)作式任務(wù)中比較經(jīng)典的方法。Neurosurgeon[34]針對移動設(shè)備,通過自動選取分區(qū)點提前在移動設(shè)備上部署分區(qū)深度神經(jīng)網(wǎng)絡(luò)(deep neural networks,DNN)模型,使得延遲和能耗最小。Edgent[35]自適應(yīng)地將DNN 計算劃分在設(shè)備和邊緣服務(wù)器之間的DNN 分區(qū),利用相鄰的混合計算資源進(jìn)行實時的DNN 推理,同時利用提前退出機制[36]來加速DNN 推理,從而進(jìn)一步降低計算延遲。McDNN[37]通過生成性能和能耗的替代DNN模型,研究在云或在移動設(shè)備上執(zhí)行的智能協(xié)作。
LIU等[38]提出了一種邊緣協(xié)作式實時目標(biāo)檢測AR方案,將渲染流程從任務(wù)卸載流程中分離出來,通過無線網(wǎng)絡(luò)將用于本地跟蹤和渲染的移動設(shè)備和用于目標(biāo)檢測的邊緣云進(jìn)行連接。為了隱藏目標(biāo)檢測任務(wù)卸載造成的延遲,該方案將渲染過程和CNN 卸載過程分開為2 個獨立的流程,在等待目標(biāo)檢測結(jié)果的同時本地開始對上一幀的結(jié)果進(jìn)行跟蹤和渲染,然后在得到檢測結(jié)果后將其合并到下一幀圖像中。此外,該系統(tǒng)還通過采用動態(tài)ROI 編碼技術(shù)降低幀內(nèi)背景區(qū)域的編碼質(zhì)量以降低帶寬消耗,減少了卸載延遲(圖7,8)。實現(xiàn)結(jié)果表明,該系統(tǒng)在AR 設(shè)備上跟蹤目標(biāo)僅需2.24 ms 的延遲時間,總延遲在20 ms 以下,因此可留下更多的時間和計算資源來為下一幀渲染虛擬元素,從而獲得更高質(zhì)量的AR 體驗。
圖7 邊緣計算延遲分析[38] Fig.7 Latency analysis off mobile edge computing[38]
圖8 邊緣協(xié)作式實時目標(biāo)檢測增強現(xiàn)實系統(tǒng)架構(gòu)[38] Fig.8 Architecture of edge assisted real-time object detection for augmented reality[38]
HUANG 等[39]提出了面向Web AR 的輕量級協(xié)作式識別系統(tǒng),并設(shè)計了一個復(fù)合神經(jīng)網(wǎng)絡(luò),通過引入二值神經(jīng)網(wǎng)絡(luò)[40]和提前退出機制[36]來減小模型大小,減少內(nèi)存使用,以便在本地端上運行,若本地端的運行結(jié)果可滿足要求,則直接輸出結(jié)果;否則,將特征圖傳遞至邊緣服務(wù)器,運行完整的目標(biāo)檢測模型來彌補二值分支的不足,并返回結(jié)果(圖9)。該系統(tǒng)通過這種本地端與邊緣端協(xié)作的方式提高了檢測的速度和準(zhǔn)確度,減少了延遲帶來的影響。
圖9 Web AR 協(xié)作式增強現(xiàn)實目標(biāo)檢測系統(tǒng)架構(gòu)[39] Fig.9 Architecture of edge-assisted object detection for Web AR[39]
REN 等[41]針對公共云端、邊緣端和移動Web瀏覽器之間協(xié)作的細(xì)粒度進(jìn)行自適應(yīng)DNN 劃分,通過基于深度強化學(xué)習(xí)的分布式DNN 協(xié)作算法實現(xiàn)將密集型計算分配至邊緣服務(wù)器,提出了一種針對邊緣服務(wù)器的DNN 計算調(diào)度方法(圖10)。
圖10 分布式DNN 協(xié)作式增強現(xiàn)實目標(biāo)檢測系統(tǒng)架構(gòu)[41] Fig.10 Architecture of edge-assisted distributed DNN collaborative computing approach for mobile Web AR[41]
總之,由于硬件的限制,少有商用移動AR設(shè)備(穿戴式AR 設(shè)備或智能手機等)直接應(yīng)用深度學(xué)習(xí)方法進(jìn)行目標(biāo)檢測。計算能力不足、能耗大、網(wǎng)絡(luò)延遲高、DNN模型尺寸大以及跨平臺限制等問題是影響移動 AR 實時目標(biāo)檢測系統(tǒng)廣泛應(yīng)用的重要因素,距離達(dá)到實時性和準(zhǔn)確性統(tǒng)一的真實需求有很大差距。因此,將深度學(xué)習(xí)目標(biāo)檢測算法應(yīng)用到移動AR 中還需要進(jìn)一步研究與發(fā)展。表1 為移動AR目標(biāo)檢測系統(tǒng)性能對比。
表1 移動增強現(xiàn)實目標(biāo)檢測系統(tǒng)性能對比 Table 1 Performance comparison of representative object detection for mobile augmented reality
移動AR 可將虛擬模型實時地渲染到真實環(huán)境中實現(xiàn)對現(xiàn)實的增強。目標(biāo)檢測承擔(dān)了對環(huán)境中需要增強的物體進(jìn)行檢測和識別的功能,為移動AR在各個領(lǐng)域的應(yīng)用提供了新的可能性。本文分析了移動AR 實時目標(biāo)檢測中的核心問題和關(guān)鍵技術(shù),從Two Stage 和One Stage 的2 個方面對目前深度學(xué)習(xí)目標(biāo)檢測算法進(jìn)行綜述,分析了基于本地端、基于云端或邊緣端和基于協(xié)作式的移動AR目標(biāo)檢測系統(tǒng)并總結(jié)了各自的優(yōu)勢和局限性。
深度學(xué)習(xí)的應(yīng)用使得目標(biāo)檢測效果實現(xiàn)了極大地提升,深度學(xué)習(xí)模型中復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)包含著大量的參數(shù),需要極大的存儲空間、運行空間和高級的硬件配置才能完成檢測任務(wù),距離達(dá)到實時性和準(zhǔn)確性統(tǒng)一的要求有很大差距。為了使移動AR 系統(tǒng)能夠?qū)崿F(xiàn)準(zhǔn)確、實時的目標(biāo)檢測,迫切需要優(yōu)化深度學(xué)習(xí)目標(biāo)檢測算法,將其進(jìn)行輕量化處理,提高目標(biāo)檢測算法的精度和速度,在實時性和準(zhǔn)確性之間得到最優(yōu)的權(quán)衡。近年來國內(nèi)外研究者人員陸續(xù)提出許多輕量級模型算法,文獻(xiàn)[42-44]提出了MobileNet 系列目標(biāo)檢測算法,通過深度可分離卷積來有效減少計算量。ZHANG等[45]提出 ShuffleNet,通過通道交換(channel shuffle)將分組卷積的結(jié)果重新排序,在保證準(zhǔn)確率的同時減少計算量。除此之外,研究人員還提出SqueezeNet[23],ThunderNet[46],YOLO Nano[47],Gaussian YOLOv3[48]等輕量級模型,以及模型剪枝、網(wǎng)絡(luò)量化和知識蒸餾等模型壓縮的方法。如何進(jìn)一步改進(jìn)和優(yōu)化輕量級模型,對網(wǎng)絡(luò)進(jìn)行高效地壓縮和加速,推動其落地應(yīng)用并使其能夠在移動設(shè)備上穩(wěn)定運行,以滿足移動AR 實際應(yīng)用需求是下一步亟待解決的問題。
穿戴式計算設(shè)備的移動AR 系統(tǒng)昂貴且笨重,應(yīng)用程序的移動AR 需要提前下載和安裝,且具有跨平臺的限制,這些局限性使得移動AR 的普及和廣泛應(yīng)用受到限制。移動Web AR方案不失為一種輕量級、跨平臺且低成本的方案。然而如何解決Web 瀏覽器存在的計算效率低、交互延遲大等問題是應(yīng)用移動Web AR 的關(guān)鍵。
雖然在計算卸載、協(xié)作計算等技術(shù)方面有了快速進(jìn)展,但為減少網(wǎng)絡(luò)環(huán)境的影響、提高用戶體驗,很多移動增強設(shè)備都被設(shè)計成在本地端運行。5G時代將帶來更快的數(shù)據(jù)傳輸速度和更低的通信延遲。邊緣計算是5G 的核心技術(shù)之一,在靠近接入側(cè)的邊緣機房部署網(wǎng)關(guān)、服務(wù)器等設(shè)備,增加計算能力,降低時延業(yè)務(wù)和局域性數(shù)據(jù)等在邊緣端進(jìn)行處理和傳輸,無需通過傳輸網(wǎng)返回核心網(wǎng),進(jìn)而降低時延、減少回傳壓力、提升用戶體驗。然而完全將計算密集型任務(wù)卸載至邊緣服務(wù)器會浪費本地空閑的計算資源,且網(wǎng)絡(luò)環(huán)境不穩(wěn)定等不可控因素也會使得系統(tǒng)性能下降。通過采用協(xié)作式目標(biāo)檢測方案,如本地端+邊緣端或本地端+邊緣端+公共云等協(xié)作式工作模式,根據(jù)本地端計算能力、電量使用以及網(wǎng)絡(luò)環(huán)境等因素動態(tài)做出最優(yōu)調(diào)度決策,在減輕本地端計算壓力的同時使得其計算資源得以利用,在實時性和準(zhǔn)確性之間達(dá)到最優(yōu)權(quán)衡。因此,如何在動態(tài)環(huán)境下做出協(xié)作式?jīng)Q策方案,滿足移動AR 的實際需求是未來非常關(guān)鍵的研究方向。