亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ARKit技術的文物交互式相機App設計與實現(xiàn)

        2020-11-06 09:03:16
        湖南工業(yè)大學學報 2020年5期
        關鍵詞:用戶檢測模型

        (湖南工業(yè)大學 計算機學院,湖南 株洲 412007)

        0 前言

        據(jù)視+AR網(wǎng)站統(tǒng)計,如今國內從事AR 應用開發(fā)的企業(yè)有200多家[1]。國內誕生了視辰信息、亮風臺、奧圖科技等研發(fā)和生產AR的軟硬件公司,同時也誕生了EasyAR、靈犀AR 等致力于某細分領域的技術解決方案的服務商家[2]。但是在諸多國內AR 軟硬件公司之中,致力于將AR 相機技術與實際的物品進行互動交流的產品較少,致力于將AR 相機技術與中國傳統(tǒng)文物相結合的產品更是屈指可數(shù)[3]。

        目前海量的文物需要在互聯(lián)網(wǎng)上展示,特殊化、個性化、真實化文物展示便顯得尤為重要[4]。由于如今的3D模型制作成本的制約,這些需求只能暫時以二維照片予以滿足,從而造成傳遞給用戶的文物信息不夠全面、詳實和逼真[5]。

        通過對國內外文獻的分析以及市場AR 相機類軟件的應用,目前基于AR技術類的相機App 主要存在以下問題:

        1)在傳統(tǒng)文化方面的應用較少;

        2)與實際的物品基本無交互;

        3)絕大多數(shù)未使用3D模型展示。

        針對上述問題,本研究擬設計一款能與文物進行互動的AR 交互式相機App。系統(tǒng)將采用ARKit、Core ML、SwiftUI 技術為用戶提供友好的交互界面和身臨其境般的增強現(xiàn)實體驗,相對于目前市場上的AR類App的優(yōu)勢明顯。系統(tǒng)專注于文物交互,通過對文物進行三維建模,通過ARKit 增強現(xiàn)實技術的方式將文物展示給用戶,并且將文物的信息呈現(xiàn)給用戶,讓用戶能夠更清楚地了解文物,通過Core ML機器學習技術,識別、檢測、渲染真實的文物,讓用戶能夠及時地了解到文物的相關信息。

        1 系統(tǒng)架構

        如圖1所示,系統(tǒng)架構主要分為3層,從上向下依次為業(yè)務層、組件層和SDK層。業(yè)務層包含業(yè)務模塊與業(yè)務數(shù)據(jù),主要負責對業(yè)務模塊和業(yè)務數(shù)據(jù)的封裝;組件層包含通用工具和領域工具,主要負責對系統(tǒng)組件的封裝;SDK層則負責管理系統(tǒng)API。層級之間皆使用接口通信,各層級之間單向依賴,拒絕跨層訪問,如此便實現(xiàn)了層與層之間的隔離[6]。

        業(yè)務層內各模塊之間的通信是基于消息總線和路由總線的,因此實現(xiàn)了模塊內隔離。業(yè)務層內各模塊內部分別定義自己的消息代理、路由代理、實現(xiàn)內部和外部的消息通信處理[7]。業(yè)務層的業(yè)務模塊主要包括主模塊、文物三維模型模塊、文物識別與檢測模塊、文物交互模塊、設置模塊和用戶中心模塊。業(yè)務層的業(yè)務數(shù)據(jù)主要包括用戶數(shù)據(jù)、文物數(shù)據(jù)、文物三維模型數(shù)據(jù)、機器學習模型數(shù)據(jù)、App 配置數(shù)據(jù)、分享數(shù)據(jù)和日志數(shù)據(jù)。業(yè)務層子模塊內部職責劃分為M(Model數(shù)據(jù),Manager 業(yè)務邏輯)、V(View,展示與視圖邏輯處理)、C(Controller,調度M層,加載V層,刷新View層)、A(ApiManager,消息轉發(fā)與控制)、消息代理(模塊間消息交互代理)和路由代理(模塊間路由交互代理)[8]。

        APIManager為系統(tǒng)的API 管理模塊,主要管控App 各模塊共享的API 服務,使用協(xié)議便可調用;HookManager 主要用于模塊的攔截、橫切和解耦[9];模塊管理器主要管控App所有模塊的加載順序、加載狀態(tài)和生命周期;UI 管理器封裝了App的通用UI組件,可動態(tài)配置和攔截橫切;消息總線負責App業(yè)務層內部模塊間的通信;路由總線負責App 業(yè)務模塊層路由跳轉[10]。

        圖1 系統(tǒng)架構圖Fig.1 System architecture

        2 關鍵技術

        2.1 SwiftUI 全新UI 框架

        SwiftUI是一種創(chuàng)新、簡潔的編程方式,通過 Swift的強大功能,在所有Apple 平臺上構建用戶界面。借助它,開發(fā)者只需一套工具和 API,即可創(chuàng)建面向任何Apple 設備的用戶界面。系統(tǒng)使用SwiftUI+UIKit 完成整個UI 界面的實現(xiàn),由于SwiftUI 使用聲明式語法,系統(tǒng)的開發(fā)變得更為高效和可靠。

        2.2 Core ML 機器學習

        Core ML可將眾多機器學習模型類別整合到開發(fā)者的App中。Core ML 3支持高級神經網(wǎng)絡,并且能夠無縫地使用CPU、GPU和神經網(wǎng)絡引擎,提供出色的性能和效率。除此之外,開發(fā)者可以直接在設備上運行機器學習模型。

        系統(tǒng)在文物目標檢測中使用了目標檢測技術,開發(fā)者通過爬蟲技術獲取文物的數(shù)據(jù)集,而后通過軟件或開發(fā)者編寫的腳本將文物圖片中的文物框選出來,獲取文物框相對圖片的位置,并以文物框左上角的頂點為原點。另外還需獲取文物框的長度和寬度屬性,便得到了文物在圖片中所處的位置和大小信息。利用軟件或開發(fā)者開發(fā)的腳本生成對應的JSON 文件,將數(shù)據(jù)集和JSON 文件投入Create ML 目標檢測機器模型訓練,具體的訓練情況如圖2所示。由圖可知在目標檢測機器模型訓練過程中,文物目標檢測的損失值從8.00 降到了0.94,這表明文物目標檢測的準確率得到了很大的提高。

        圖2 目標檢測模型訓練圖Fig.2 Training chart of the object detection model

        目標檢測的原理和相關算法較多,常見的目標檢測方法有光流法、背景差分法和時間差分法,特別的目標檢測方法有基于回歸的目標檢測法、高斯模型提取背景檢測目標法、基于霍夫變換和廣義霍夫變換的目標檢測法、基于霍夫森林的目標檢測法、基于ASM(active shape model)的目標檢測法、基于Cascade 分類器的目標檢測法等。目標提取及后續(xù)處理的方法主要有圖像平滑濾波、閾值選取算法和目標形態(tài)學處理算法等,下面簡要講解閾值選取算法中的最大類間方差法。

        最大類間方差法的主要原理是計算直方圖和歸一化直方圖,通過直方圖的零階矩ω(k)和一階矩μ(k)得到最大方差的灰度值,該灰度值即為閾值。對于給定的一幅圖像,圖像有M個灰度值[1,2,…,M],灰度值為i的像素點個數(shù)為ni,則有總像素點N=n1+n2+…+nM,k為灰度值門限,灰度值為[1,2,…,k]的像素點為背景像素點,用CB表示背景像素點;灰度值為[k+1,…,M]的像素點為目標像素點,用CO表示目標像素點。故可使用歸一化的灰度值直方圖,將灰度值為i的像素點在圖像中出現(xiàn)的概率記為Pi,即視這幅圖像的概率分布如式(1)所示:

        則出現(xiàn)背景像素點CB的概率ωB的計算式如式(2)所示:

        出現(xiàn)目標像素點CO的概率ωO的計算如式(3)所示:

        其中零階矩ω(k)的計算式如式(4)所示:

        另外背景像素點CB的平均灰度值μA的計算如式(5)所示:

        目標像素點CO的平均灰度值μO的計算如式(6)所示:

        其中一階矩μ(k)的計算式如式(7)所示:

        灰度值的均值μ的計算式如式(8)所示:

        容易驗證,對任意選定的k,式(9)皆成立。

        最大類間方差法的優(yōu)點在于算法較簡單,當目標與背景的面積相差不大時,能夠有效地將圖像進行分割。值得注意的是,當圖像中的目標與背景的面積相差很大時,直方圖沒有明顯的雙峰或雙峰相差很大,這便會導致分割效果不佳,其原因在于忽略了圖像的空間信息。另外,此方法以圖像的灰度為分割圖像的依據(jù),對噪聲非常敏感,故在實際應用中,一般將此方法同其他方法結合使用。

        2.3 ARKit 增強現(xiàn)實技術

        ARKit 3 能夠通過People Occlusion 功能在人物前后自然地呈現(xiàn)AR 內容,該技術最多一次可跟蹤3個面孔,并且支持協(xié)作會話等功能?,F(xiàn)在,開發(fā)者可以利用ARKit 全新的人物感知能力,將人物動作整合到App中。

        系統(tǒng)在文物交互、文物識別與檢測、文物3D模型中均使用了ARKit技術,系統(tǒng)利用ARKit為用戶提供增強現(xiàn)實技術,為用戶帶來身臨其境的體驗感。在文物3D模型中,開發(fā)者使用Maya 三維建模技術,建立了文物的三維模型,模型的尺寸、樣貌、紋理等都按照現(xiàn)實的文物進行設計。系統(tǒng)使用ARKit技術將文物的三維模型展示給用戶,ARKit技術使得用戶能夠同文物的三維模型進行各種互動,如360°欣賞、移動、旋轉等。系統(tǒng)利用ARKit技術讓用戶在博物館之外欣賞文物,為用戶欣賞文物帶來極大的便利。與此同時,系統(tǒng)還利用ARKit技術為用戶提供增強現(xiàn)實文字、信息、繪畫、渲染等功能,幫助用戶同真實的文物進行互動。

        在增強現(xiàn)實環(huán)境下可使用微積分計算規(guī)則三維文物的表面積和體積,以保證虛擬的三維模型盡可能高地還原真實文物。

        如圖3a所示,給出了瓶狀文物縱截面的函數(shù)圖像,依照此圖像,不僅能夠計算虛擬三維文物的體積,還能夠近似計算真實文物的體積。如圖3b所示,由連續(xù)曲線y=f(x)、直線x=a、x=b及x軸所圍成的曲邊梯形繞x軸旋轉一周后的立體圖像即為瓶狀的物體,只要y=f(x)足夠準確,瓶狀的物體即可視為與文物具有相同的物理特征。

        圖3 瓶狀文物函數(shù)圖像Fig.3 Images of the function of bottle shaped cultural relics

        接下來計算文物的體積,取積分變量為x,x∈[a,b],在[a,b]上任取一小區(qū)間[x,x+dx],取以dx為底的窄邊梯形繞x軸旋轉而成的薄片的體積為體積元素,則可得薄片的體積dV的計算式如式(11)所示:

        故可以得出旋轉體即文物的體積V的計算式如式(12)所示:

        除瓶狀文物外,橢球或球狀文物也較為常見,諸如寶石類文物的物理特征都可以用函數(shù)表達,下面就橢圓所圍成的平面圖形繞x軸旋轉一周所成的旋轉體(旋轉橢球體)的體積進行討論。這個旋轉體可被看成是由半個橢圓及x軸所圍成的平面圖形繞x軸旋轉而成的立體結構。則可得橢球狀文物的體積V1的計算式如式(13)所示:

        特別當a=b時,即文物的形狀是球狀時,可得球狀文物的體積V2的計算如式(14)所示:

        在增強現(xiàn)實環(huán)境下需計算三維文物的速度、速率、位移等,以保證用戶移動虛擬文物時,文物擁有適宜的速度,畫質擁有足夠的清晰度。

        如圖4所示選取的是空間直角坐標系,i、j、k分別是與x軸、y軸、z軸的正方向同向的單位向量,r為文物的位置矢量,分別將x、y、z記為時間的函數(shù),即x=x(t);y=y(t);z=z(t),則有r=xi+yj+zk,因此文物的運動方程如式(15)所示,該公式可以反映任意t時刻文物的位置。

        圖4 文物位置空間直角坐標系Fig.4 Spatial rectangular coordinate system for location of cultural relics

        在如圖5所示的平面直角坐標系中,文物由時刻t1,起始位置A處,經過Δt=(t1-t2)時間后,文物運動到了位置B處,文物的位矢由rA變化到rB處。由始點A指向終點B的有向線段稱為點A到點B的位移矢量,簡稱位移??捎胷AB或Δr表示。矢量rA、rB、Δr剛好為三角形的三邊,由三角形法則可以得出文物的位移計算如式(16)所示:

        圖5 文物位移平面直角坐標系Fig.5 Plane rectangular coordinate system for displacement of cultural relics

        以上述內容為基礎,可計算文物的速度,在Δt時間內,文物的位移為Δr,則文物在Δt時間內的平均速度v如式(17)所示:

        用戶移動文物時,只用平均速度來描述文物的運動顯然是不夠的,用戶若只在某些時刻移動文物過快,靠文物的平均速度并不能發(fā)現(xiàn)問題,系統(tǒng)也就不能及時做出處理,故需要知道文物的瞬時速度。

        瞬時速度vi即為平均速度v的極限值,有即瞬時速度(速度)為位置矢量對時間的一階導數(shù),取則瞬時速度在直角坐標系下的表達式如式(18)所示:

        系統(tǒng)對文物的加速度也頗為重視,將該加速度記為a,則a應該為位置矢量對時間的二階導數(shù),速度對時間的一階導數(shù),即其直系分解形式如式(19)所示:

        另外,若文物從某定點開始作直線運動,在t時內文物所經過的路程為S(t),速度為v(t)=S′(t),其中v(t)≥0,則在時間間隔[T1,T2]內文物所經過的路程S可表示為故可得式(20):

        式(20)表明,速度函數(shù)v(t)在區(qū)間[T1,T2]上的定積分等于v(t)的原函數(shù)S(t)在區(qū)間[T1,T2]上的增量。

        在文物的速度、速率或加速度等物理特征不正常時,系統(tǒng)便會及時進行處理。例如,用戶以非??斓乃俣纫苿游奈飼r,為防止畫質變得模糊,系統(tǒng)便會及時調整文物的速度,使文物的移動過程依舊清晰,這樣便能很好地提高用戶體驗。

        3 系統(tǒng)實現(xiàn)及測試

        3.1 文物目標檢測功能

        文物目標檢測使用了ARKit和Core ML 來完成對文物方位的檢測,使用Create ML 訓練出目標檢測模型,利用Core ML 機器學習使用該模型對屏幕下文物的方位進行檢測,并將所檢測出的文物的名稱、位置、故事和其他相關信息以文字的方式呈現(xiàn)給用戶,圖6a、6b和6c分別展示了對青玉云龍紋爐、乾隆款金甌永固杯和彩漆描金樓閣式自開門群仙祝壽御制鐘進行檢測的結果界面。

        圖6 文物目標檢測界面Fig.6 Object detection interface of cultural relics

        開發(fā)人員對文物目標檢測功能進行了測試,由于不方便使用真實文物來進行測試,且該功能對文物的圖片同樣適用,故使用文物的圖片代替真實文物來進行測試,測試的數(shù)據(jù)如表1所示。

        表1 文物目標檢測功能測試表Table1 Function test table for object detection of cultural relics

        表1中的數(shù)據(jù)表明,檢測時間與圖片像素成反比,置信度與圖片像素成正比,即圖片越清晰,檢測的時間越短,檢測的準確率越高。這里的置信度指的是檢測結果同所檢測對象的實際情況一致的概率。

        3.2 文物三維模型功能

        文物三維模型主要使用了ARKit技術和三維建模技術,使用Maya 建立文物的三維模型,利用相關的插件導出dae格式,再使用Xcode 將dae格式轉換成scn格式,投入工程使用。利用ARKit 掃描出用戶周圍的平面,待用戶選擇完所要放置的文物后,使用ARKit技術將三維虛擬文物放置到平面之上,并提供各種手勢供用戶交互使用。實際效果如圖7a、7b和7c所示,展示了王蜀宮妓圖、多文物(包括郎窯紅釉穿帶直口瓶、張成造款雕漆云紋盒和平復帖)和紫檀百寶嵌花果紋長方盒的三維模型。

        圖7 文物三維模型界面Fig.7 Three-dimensional model interface of cultural relics

        開發(fā)人員根據(jù)真實文物的情況,獲取文物近似的縱截面函數(shù)圖像和高度等信息,通過本文2.3節(jié)所介紹的規(guī)則三維文物的體積計算等相關方法,來計算文物的表面積和體積等能夠對文物進行描述的重要信息。憑借這些信息,開發(fā)人員便能建立較好的文物三維模型,并且能夠對三維模型進行修改和完善,從而保證虛擬的三維模型盡可能高地還原真實文物。

        用戶使用文物三維模型功能時,在增強現(xiàn)實的環(huán)境下,可以進行互動,能夠完成移動文物、旋轉文物、放大或縮小文物、擺放多個文物等各種交互動作。交互過程中,系統(tǒng)所顯示的交互畫面越清晰,用戶的體驗越好??紤]到用戶可能會非??焖俚赝瓿山换幼鳎阈枰獙Ω鞣N交互動作所產生的效果進行限制,以保證交互過程中畫質清晰。

        通過2.3節(jié)所介紹的文物位置、位移、平均速度、瞬時速度、加速度和路程等信息的計算方法,系統(tǒng)可以實時獲取上述信息,而當其中某些信息即將出現(xiàn)異常時,系統(tǒng)便會采取相關限制措施,使各信息保持正常。下面舉例說明,一般情況下,用戶用手指移動文物的速率越快,在增強現(xiàn)實環(huán)境下的虛擬文物的移動速率越快。但是若用戶移動虛擬文物的速率過快,便容易出現(xiàn)移動文物時畫質不佳、虛擬文物位置信息出錯、系統(tǒng)卡頓等問題,這時就需要對虛擬文物的速率進行限制(限制措施可以是設置虛擬文物的速率上限等)以保證系統(tǒng)正常運行,從而確保用戶有好的交互體驗。

        課題組對文物三維模型功能進行了測試,由于手指移動文物的速率不易測量,故使用觸控筆代替用戶手指進行測試,測試的數(shù)據(jù)如表2所示。

        表2 文物三維模型功能測試表Table2 Function test table for three-dimensional model of cultural relics

        表2中數(shù)據(jù)表明,文物三維模型在增強現(xiàn)實環(huán)境下移動的速度與模型大小無關。若觸控筆的移動速率小于13.9 cm/s,文物的移動速率與觸控筆移動文物的速率成正比,即觸控筆移動得越快,文物移動得越快;若觸控筆的移動速率大于13.9 cm/s,文物移動速率會被系統(tǒng)限制在1.00 m/s,以確保文物的移動畫面足夠清晰。

        4 結語

        本研究以幫助人們欣賞文物和對文物進行數(shù)字化管理為出發(fā)點,針對人們在博物館或其他地方欣賞文物時對文物缺乏了解的問題,設計并實現(xiàn)了一個基于iOS系統(tǒng)的AR 文物交互式相機App,系統(tǒng)設計目標明確。在系統(tǒng)編碼實現(xiàn)階段,不僅使用了iOS原生開發(fā)技術,還運用了目前最新的技術,如在文物識別與檢測中使用了神經網(wǎng)絡,通過coremltools 將相關模型轉換成mlmodel,配合Core ML 使用。最后系統(tǒng)使用TestFlight 進行測試,檢測系統(tǒng)在功能上是否符合預期目標,經過大量的測試以及驗證,完成了一定的修正以及優(yōu)化,目前系統(tǒng)已上架Apple App Store,為用戶提供體驗服務。

        猜你喜歡
        用戶檢測模型
        一半模型
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權M-估計的漸近分布
        關注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        3D打印中的模型分割與打包
        關注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        小波變換在PCB缺陷檢測中的應用
        亚洲国产精品国自产拍性色 | 亚洲成人欧美| 一本大道久久香蕉成人网| 中文在线√天堂| 成人精品免费av不卡在线观看| 亚洲精品中文字幕91| 日本精品视频二区三区| 中国丰满人妻videoshd| 久久久久99精品成人片试看| 亚洲AV色欲色欲WWW| 国产精品老女人亚洲av无| 狠狠躁夜夜躁av网站中文字幕 | 国产成人精品男人的天堂网站| 亚洲熟女熟妇另类中文| 日出白浆视频在线播放| 激情影院内射美女| 久久91综合国产91久久精品| 日韩精品有码中文字幕| 久久一区二区国产精品| 欧美人与善在线com| www国产精品内射熟女| 免费看国产成年无码av| 亚洲一区二区三区在线观看蜜桃| av在线高清观看亚洲| 人人妻人人狠人人爽| 欧美日韩综合网在线观看| 久久亚洲aⅴ精品网站婷婷| 久久精品国产亚洲综合av | 久久99热久久99精品| 永久免费看免费无码视频 | 亚洲国产日韩一区二区三区四区 | 国产在热线精品视频| 婷婷四房色播| 亚洲 暴爽 AV人人爽日日碰| 免费观看日本一区二区三区| 久热re这里精品视频在线6| 亚洲国产av导航第一福利网| 久久精品国产屋| 国产精品老熟女乱一区二区| 亚洲妇女无套内射精| 亚洲午夜成人片|