国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ARKit的博物館室內(nèi)定位系統(tǒng)研究

2021-06-05 06:34:44夏延哲
關(guān)鍵詞:藝術(shù)品攝像頭程序

夏延哲

(廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣州510006)

0 引 言

隨著中國經(jīng)濟(jì)的快速增長,人們不僅僅只滿足于物質(zhì)上的富足,而對精神充實(shí)的追求也越來越高。從2006年起,中國文物機(jī)構(gòu)和博物館觀覽人數(shù)持續(xù)上升。博物館已經(jīng)不僅是收藏、保護(hù)、研究、展示文化遺產(chǎn)的機(jī)構(gòu),還將成為面向未來的文化服務(wù)和教育機(jī)構(gòu)。而當(dāng)游客難以找到參觀的藝術(shù)品時(shí),就會(huì)造成無序的人流流動(dòng),導(dǎo)致游客的參觀過程非?;靵y。

本文提出通過ARKit技術(shù),解決傳統(tǒng)的博物館參觀中尋找目標(biāo)藝術(shù)品的途徑。針對現(xiàn)有室內(nèi)導(dǎo)航過程中存在的設(shè)備運(yùn)動(dòng)跟蹤不準(zhǔn)確、攝像頭圖像采集、圖像視覺處理、場景渲染等技術(shù)問題,提出了采用ARKit結(jié)合Unity 3D平臺(tái)進(jìn)行室內(nèi)場景導(dǎo)航的方法;通過整合設(shè)備攝像頭圖像信息與設(shè)備運(yùn)動(dòng)傳感器(包括LiDAR)信息,在AR跟蹤穩(wěn)定性、渲染真實(shí)度、人機(jī)交互自然度上達(dá)到較好的效果。創(chuàng)建前端頁面與后端程序的交互,開發(fā)室內(nèi)三維場景導(dǎo)航程序,完成定位場景中坐標(biāo)點(diǎn)、路徑規(guī)劃、地圖信息保存及自動(dòng)尋路等主要功能。結(jié)果證明,該方法可以實(shí)現(xiàn)室內(nèi)自動(dòng)導(dǎo)航,減少了游客尋找目標(biāo)展品的時(shí)間,提升改善了博物館的參觀游覽情況,符合現(xiàn)代化博物館建設(shè)的需求。

1 ARKit導(dǎo)航技術(shù)

2017年,蘋果公司正式推出了增強(qiáng)現(xiàn)實(shí)的開發(fā)框架ARKit。從本質(zhì)上,AR是將2D/3D元素(文字、圖片、模型、音視頻等)放置于設(shè)備攝像頭所采集的圖像中,營造一種虛擬元素真實(shí)存在于現(xiàn)實(shí)世界中的假象。ARKit通過移動(dòng)設(shè)備(包括手機(jī)、平板電腦等)單目攝像頭采集的圖像信息(包括LiDAR采集的信息),實(shí)現(xiàn)了平面檢測識(shí)別、場景幾何、環(huán)境光估計(jì)、環(huán)境光反射、圖像識(shí)別、3D物體識(shí)別等功能。但一個(gè)完備的室內(nèi)導(dǎo)航系統(tǒng)還應(yīng)該包含前端頁面的操作,用戶操作流程等。因此,本文提出了將ARKit與三維集成平臺(tái)結(jié)合,設(shè)計(jì)出相應(yīng)的前端頁面,利用ARKit的強(qiáng)大功能,通過用戶選定目標(biāo)點(diǎn),采用合適的算法進(jìn)行路徑規(guī)劃,最終實(shí)現(xiàn)導(dǎo)航的功能。創(chuàng)建一個(gè)現(xiàn)實(shí)和虛擬空間之間的對應(yīng)關(guān)系,ARKit使用的技術(shù)稱為視覺慣性測距。這個(gè)過程結(jié)合了從iOS設(shè)備的運(yùn)動(dòng)傳感硬件與設(shè)備的攝像頭獲取到的圖像[1]。ARKit識(shí)別具有顯著特征的場景圖像,跟蹤視頻幀之間的特征差異的位置,將該信息與運(yùn)動(dòng)傳感數(shù)據(jù)比較,從而得到一個(gè)高精度的設(shè)備位置和運(yùn)動(dòng)模型,其中包含世界跟蹤還分析和理解場景的內(nèi)容。使用命中測試方法找到對應(yīng)于相機(jī)圖像中某個(gè)點(diǎn)的真實(shí)世界的表面。

ARKit官方提供了Xcode開發(fā)包,這也提高了利用其它工具進(jìn)行開發(fā)的學(xué)習(xí)成本。在這種情況下,Unity構(gòu)建了一個(gè)AR開發(fā)平臺(tái)-ARFoundation,該平臺(tái)架構(gòu)于ARKit和ARCore之上,其目的是利用Unity的跨平臺(tái)能力,構(gòu)建一種與平臺(tái)無關(guān)的AR開發(fā)環(huán)境。即,ARFoundation對ARKit與ARCore進(jìn)行了再次封裝,并按照用戶的發(fā)布平臺(tái),自動(dòng)選擇合適的底層SDK版本。ARFoundation提供了一個(gè)獨(dú)立于平臺(tái)的腳本API和MonoBehaviour。因此,開發(fā)者可以通過ARFoundation使用ARCore和ARKit共有的核心功能構(gòu)建,同時(shí)適用于iOS和Android兩個(gè)平臺(tái)的AR應(yīng)用程序。這可以讓開發(fā)者只需開發(fā)一次應(yīng)用,就可以部署到兩個(gè)平臺(tái)的設(shè)備上,不必做任何改動(dòng)[2]。

2 定位系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

程序定位導(dǎo)航原理的大致流程為:首先進(jìn)行地圖信息的采集;然后對目標(biāo)特征點(diǎn)信息進(jìn)行識(shí)別和保存;選用合適的路徑規(guī)劃算法,生成導(dǎo)航路徑。

2.1 地圖信息的采集模塊

對真實(shí)環(huán)境中的掃描和測量,并且保存到后臺(tái)系統(tǒng)中是該模塊重點(diǎn)實(shí)現(xiàn)的問題。本程序?qū)τ谌S環(huán)境動(dòng)態(tài)的實(shí)時(shí)理解,主要依賴于單目SLAM技術(shù)來實(shí)現(xiàn)。在游客移動(dòng)過程中,一方面要把攝像頭所拍到的圖像連接成地圖,另一方面將地圖的信息存儲(chǔ)到后方的數(shù)據(jù)庫中。同時(shí),針對如何識(shí)別攝像頭中的平面問題,采取通過光學(xué)系統(tǒng)檢測到的特征計(jì)算生成。通常稱這些點(diǎn)為“點(diǎn)云(Point cloud)”。形成稀疏點(diǎn)云之后,在少量的內(nèi)存和CPU的支持,輔以慣性系統(tǒng)的配合下可以定義成平面,即使在只有少量追蹤點(diǎn)的情況下,仍然可以有效地運(yùn)作[3]。具體操作流程如圖1所示。

2.2 藝術(shù)品位置信息的采集

此模塊的功能主要是對藝術(shù)品具體位置進(jìn)行定位,將藝術(shù)品的位置信息傳輸?shù)椒?wù)器。此時(shí)需將攝像頭中藝術(shù)品的位置創(chuàng)建三維物體對象,并且生成該對象在導(dǎo)航程序中全局坐標(biāo)系數(shù)據(jù)。只要選定設(shè)置好不同藝術(shù)品的位置,就可以實(shí)現(xiàn)相互之間的路徑生成和線路導(dǎo)航。三維物體在場景中的生成如圖2所示。

產(chǎn)生位置信息具體封裝代碼如下:

圖1 空間信息識(shí)別流程Fig.1 Spatial information identification process

圖2 位置信息采集Fig.2 Location information collection

2.3 導(dǎo)航線段的生成

導(dǎo)航路線規(guī)劃系統(tǒng)是通過兩個(gè)目標(biāo)點(diǎn)在地圖中的位置信息,來進(jìn)行規(guī)劃和確定的。如圖2所示,首先判斷兩點(diǎn)是否在同一聯(lián)通分量上。通過一次完整的dfs,可以得到一個(gè)聯(lián)通分量,只要兩點(diǎn)都被同一次dfs訪問過,則就存在路徑。產(chǎn)生路徑的核心算法負(fù)責(zé)從未被訪問到的節(jié)點(diǎn)列表(from表)中提取節(jié)點(diǎn)的序列號,從終節(jié)點(diǎn)的序列號開始一直調(diào)用from[終節(jié)點(diǎn)]往前推,直到推出某個(gè)節(jié)點(diǎn)i的from[i]=-1,表示節(jié)點(diǎn)i沒有前節(jié)點(diǎn),即節(jié)點(diǎn)i就是起始源節(jié)點(diǎn)。雖然推出來的序列號順序是反向的路徑,但可以把這個(gè)反向的節(jié)點(diǎn)序列壓入一個(gè)棧中,然后一個(gè)一個(gè)出棧放入一個(gè)向量vec中保存,這個(gè)向量中保存的序列就是正確的順序。showPath主要調(diào)用p at h函數(shù)來準(zhǔn)備路徑數(shù)據(jù),并傳入一個(gè)向量vect o r給p at h函數(shù),用來存儲(chǔ)路徑信息。之后再控制輸出格式把節(jié)點(diǎn)一個(gè)一個(gè)輸出來,就形成了一條路徑,如圖3所示。

圖3 路徑規(guī)劃示意圖Fig.3 Schematic diagram of path planning

路徑規(guī)劃中的關(guān)鍵代碼如下:

3 導(dǎo)航系統(tǒng)程序開發(fā)與發(fā)布

3.1 開發(fā)平臺(tái)與開發(fā)環(huán)境

程序開發(fā)語言為.NET C#,其版本為Visual Studio 2019,本程序支持在IOS平臺(tái)上進(jìn)行,兼容IOS12及以上的操作系統(tǒng)。

3.2 導(dǎo)航系統(tǒng)的開發(fā)流程

本程序的開發(fā)是以Unity3D為主要開發(fā)平臺(tái),對于程序中需要使用到的腳本文件,則利用Visual Studio 2019進(jìn)行腳本的編輯與測試,在完成腳本的編寫與ARKit的控制器成功引入之后,將程序發(fā)布到IOS設(shè)備中,并可以正常使用。其具體實(shí)現(xiàn)步驟如下:

(1)ARKit中控制器導(dǎo)入。將ARKit提供的一些關(guān)鍵的控制器導(dǎo)入到程序的工程中。ARWorldMap控制器用來添加環(huán)境掃描,用于掃描攝像頭中的空間信息,并且將當(dāng)前環(huán)境數(shù)據(jù)保存在本地。AR Session Origin為創(chuàng)建的地圖設(shè)置本地坐標(biāo)信息。

(2)場景內(nèi)物體生成。通過Anchor Prefab腳本,使得用戶點(diǎn)擊攝像頭中某個(gè)已經(jīng)掃描出來的錨點(diǎn)時(shí),會(huì)在本地生成一個(gè)3D物體,并且記錄其當(dāng)前的位置信息。該3D物體的形狀和外形可以自定義。

(3)導(dǎo)航路徑規(guī)劃。在場景中設(shè)置Path Finder腳本,實(shí)現(xiàn)各個(gè)目標(biāo)點(diǎn)之間路徑的規(guī)劃。場景中的任意物體,需要去添加每個(gè)節(jié)點(diǎn)的坐標(biāo),并且在Paths中設(shè)置每條線路的規(guī)劃。如:A->B;A->C;B->C;C->D;D->A。

(4)導(dǎo)航線段的生成與渲染。該部分需要搭配Unity中的LineRenderer組件來實(shí)現(xiàn)。在線段的材質(zhì)和貼圖方面,需要調(diào)整幾項(xiàng)參數(shù):動(dòng)態(tài)修改Tiling參數(shù)的信息。當(dāng)路程較長時(shí),則X軸的信息為總路程:MyPoint+for(int i=0;i<Each Coordinate Information)。將每個(gè)坐標(biāo)的間隔距離相加,就可以得到最終的總路程信息。

(5)程序UI界面的實(shí)現(xiàn)。在UI設(shè)計(jì)中,考慮到不同設(shè)備的機(jī)型,通過微調(diào)UI面板的寬度與高度信息,來達(dá)到系統(tǒng)的自動(dòng)適配。當(dāng)設(shè)計(jì)分辨率與設(shè)備分辨率不同時(shí),需要將UI界面經(jīng)過一定縮放投射到屏幕上。

(6)程序的調(diào)試以及bug的修改。

(7)撰寫程序的使用說明以及開發(fā)文檔。

3.3 程序UI及窗體設(shè)計(jì)、發(fā)布設(shè)置

一個(gè)優(yōu)秀的導(dǎo)航程序,離不開友好、人性化的使用界面。程序的界面和窗體設(shè)計(jì)是用戶是否能快速上手使用的重要因素。本文導(dǎo)航程序使用FairyGUI來設(shè)計(jì)前端操作頁面,通過前端清晰的操作按鈕與后臺(tái)控制器的綁定,實(shí)現(xiàn)了程序操作的簡化,同時(shí)提高了易用性。程序的主要功能以及定位導(dǎo)航過程示意如圖4所示。

圖4 定位導(dǎo)航過程示意圖Fig.4 Schematic diagram of positioning and navigation process

4 結(jié)束語

本文根據(jù)目前博物館參覽的實(shí)際情況,在對相關(guān)技術(shù)進(jìn)行選型以及研究后,采用ARKit技術(shù)來設(shè)計(jì)導(dǎo)航系統(tǒng)。針對游客在游覽時(shí)存在的尋找藝術(shù)品位置不便的問題,提供了線路和路徑導(dǎo)航的解決方案。系統(tǒng)的應(yīng)用,將在很大程度上解決了館內(nèi)人流無序的問題,更有利于維護(hù)館內(nèi)的秩序,以及更好地利用藝術(shù)品被欣賞的文化價(jià)值。

猜你喜歡
藝術(shù)品攝像頭程序
浙江首試公路非現(xiàn)場執(zhí)法新型攝像頭
攝像頭連接器可提供360°視角圖像
藝術(shù)品鑒,2021年征訂中…
《藝術(shù)品鑒》常年征訂中…
藝術(shù)品鑒,2020年征訂中…
藝術(shù)品鑒,2020年征訂中……
試論我國未決羈押程序的立法完善
“程序猿”的生活什么樣
英國與歐盟正式啟動(dòng)“離婚”程序程序
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
丰镇市| 尼勒克县| 鄂托克前旗| 阳高县| 丰镇市| 大荔县| 正蓝旗| 筠连县| 呼图壁县| 扬中市| 阿克| 龙江县| 芦山县| 巴楚县| 寻甸| 乐东| 玛多县| 法库县| 山东| 三河市| 鞍山市| 棋牌| 加查县| 垦利县| 晋城| 修文县| 昆明市| 淮阳县| 山丹县| 德令哈市| 沁阳市| 巴林右旗| 潼关县| 怀柔区| 长春市| 丘北县| 三门峡市| 科技| 赞皇县| 彝良县| 新闻|