VR環(huán)境下圖書(shū)閱讀手勢交互系統設計*
摘 要:為了解決讀者在圖書(shū)館閱讀過(guò)程中受限于時(shí)間和空間的問(wèn)題,本文提出對虛擬現實(shí)閱讀手勢交互系統進(jìn)行設計,針對虛擬現實(shí)環(huán)境下圖書(shū)閱讀手勢中存在交互效率和識別誤差率問(wèn)題,采用深度神經(jīng)網(wǎng)絡(luò )算法對手勢識別算法進(jìn)行設計,采集手勢識別數據進(jìn)行測試,實(shí)驗結果表明,手勢識別準確率可以達到91.75%,交互耗時(shí)平均約為0.28?s。VR環(huán)境下圖書(shū)閱讀手勢交互系統有利于改變傳統學(xué)習方式,營(yíng)造良好學(xué)習氛圍,激發(fā)學(xué)生學(xué)習興趣。同時(shí),基于自然手勢的用戶(hù)交互研究為VR閱讀中的用戶(hù)服務(wù)創(chuàng )新提供了新的視角。
本文引用地址:http://dyxdggzs.com/article/202211/440713.htm關(guān)鍵詞:虛擬現實(shí);圖書(shū)閱讀;三維建模;手勢交互
*基金項目:湖南科技職業(yè)學(xué)院校級科研立項課題“VR環(huán)境下圖書(shū)閱讀手勢交互系統研究”(KJ21227)
0 引言
為了解決讀者在圖書(shū)館閱讀書(shū)籍過(guò)程中受限于時(shí)間和空間的問(wèn)題,可通過(guò)虛擬現實(shí)(Virtual Reality, VR)技術(shù)試圖讓喜歡閱讀的學(xué)生在任何時(shí)間任何地點(diǎn)都能沉浸于閱讀之中,VR閱讀可提供與真實(shí)世界一樣的視覺(jué)、聽(tīng)覺(jué)和觸覺(jué)等感知功能,能夠給讀者營(yíng)造身臨其境的感覺(jué) [1],激發(fā)學(xué)生的學(xué)習興趣。然而,市場(chǎng)上大部分 VR 閱讀應用場(chǎng)景界面仍使用傳統的 GUI 交互,需要通過(guò)傳統的鼠標、鍵盤(pán)或手柄等交互設備進(jìn)行操作,且僅適用于二維交互,無(wú)法滿(mǎn)足 VR 環(huán)境中人機交互的新要求, 缺少多維度、多模態(tài)、高效性特點(diǎn),影響了 VR 閱讀的體驗感。
當前,使用者在 VR 交互中更加熱衷于使用自然手勢與虛擬對象進(jìn)行交互,手勢交互具有自然性、多維性和高效性等特點(diǎn) [2]。手勢識別技術(shù)也是作為人機交互的重要組成部分,它以更自然、更符合人類(lèi)習慣的交互形式 [3],能夠滿(mǎn)足 VR 交互體驗的需求,但手勢交互在虛擬場(chǎng)景中存在輸入序列缺失、識別誤差高、交互效率低等問(wèn)題 [4]。本文對虛擬現實(shí)閱讀手勢交互系統進(jìn)行設計,基于深度神經(jīng)網(wǎng)絡(luò )算法設計手勢識別算法。
1 相關(guān)工作研究
VR 閱讀的研究主要集中在圖書(shū)館相關(guān)情境的應用研究、用戶(hù)體驗分析、發(fā)展分析等問(wèn)題。劉念 [5] 提出構建基于 VR 技術(shù)的特色館藏建設方案。李瑞 [6] 闡述了 VR 技術(shù)在當前實(shí)體書(shū)店中發(fā)展的意義 , 首先分析了 VR 場(chǎng)景在實(shí)體書(shū)店中應用的情況分析 , 然后對 VR 場(chǎng)景在 實(shí)體店的應用可行性分析,并提出了應用對策。呂明明 [7] 等人指出 VR 技術(shù)利用其沉浸感、構想性、交互性的三大優(yōu)勢 , 同時(shí)提出 "VR+ 圖書(shū) " 的未來(lái)出版策略 , 給 "VR+ 圖書(shū) " 模式的構建和發(fā)展提供了新的思路與新的方法。
國內外研究學(xué)者對手勢交互進(jìn)行了深入的研究,龍江騰等 [8] 人設計了一種 VR 游戲手勢動(dòng)作識別裝置,首先對手勢分類(lèi)識別,然后優(yōu)化手勢數據特征的提取方法 , 最后在 VR 游戲中優(yōu)化了人機交互過(guò)程。黃東晉等 [9] 人提出一種新的面向電影場(chǎng)景搭建的手勢交互方法,首先根據電影的虛擬預演特性和手勢理論 , 設計了一組手勢集合,然后搭建了徒手的手勢用戶(hù)界面。王文鋒 [10] 提出了基于手勢交互的汽車(chē)虛擬拆裝實(shí)驗系統,并且構建了車(chē)輛拆裝的虛擬仿真實(shí)驗平臺。馬少斌 [11] 通過(guò)搭建 手勢交互課件應用系統,為基于 AR 交互課件的播控奠定了技術(shù)基礎。
2 系統總體方案設計
2.1 開(kāi)發(fā)流程
VR 環(huán)境下圖書(shū)閱讀手勢交互系統的開(kāi)發(fā)流程主要包括需求調研與需求分析、基于 3DMax 軟件制作對象模型、基于 Unity 搭建場(chǎng)景與交互邏輯實(shí)現、深度神經(jīng)網(wǎng)絡(luò )手勢識別算法開(kāi)發(fā)和測試與評價(jià) 5 個(gè)部分。
2.1.1 需求調研與需求分析
首先通過(guò)對學(xué)校圖書(shū)館進(jìn)行實(shí)地測量和資料調研,對圖書(shū)館的內部結構,圖書(shū)館中物體的比例尺寸數據和室內內飾輪廓進(jìn)行拍照、測量與記錄,通過(guò)問(wèn)卷調查收集讀者的閱讀習慣和行為操作,然后對真實(shí)圖書(shū)館的建模數據和閱讀的功能數據進(jìn)行需求分析,形成相關(guān)的文檔記錄。
2.1.2 基于3DMax軟件制作對象模型
基于 3DMax 軟件制作對象模型主要完成圖書(shū)館及相關(guān)對象的 3D 模型制作,并對模型的細節進(jìn)行優(yōu)化處理,這一任務(wù)依賴(lài)于需求調研與需求分析形成的文檔信息,根據比例尺寸制作圖書(shū)館的模型,并對構建好的模型完成展 UV 操作、材質(zhì)貼圖和導出處理等任務(wù),導出為 fbx 格式文件。
2.1.3 基于Unity搭建場(chǎng)景與交互邏輯實(shí)現
基于 Unity 搭建場(chǎng)景主要需要完成 3D 模型的導入,模型材質(zhì)的處理和 3D 場(chǎng)景搭建。首先需要將制作好的模型相關(guān)資源導入到 Unity 引擎中,材質(zhì)球使得模型接近真實(shí)的外形和材質(zhì)感,3D 場(chǎng)景搭建主要是在場(chǎng)景中按需求調研數據搭建圖書(shū)館。交互邏輯的實(shí)現主要包含 UI 菜單導航以及閱讀過(guò)程中人機交互相關(guān)邏輯實(shí)現等。
2.1.4 深度神經(jīng)網(wǎng)絡(luò )手勢識別算法開(kāi)發(fā)
深度神經(jīng)網(wǎng)絡(luò )手勢識別算法開(kāi)發(fā)主要包括手勢數據的處理、手勢識別模型的訓練、測試與應用。
2.1.5 VR圖書(shū)閱讀手勢交互系統的測試與評價(jià)
測試與評價(jià)部分是通過(guò)選擇以手勢和鼠標點(diǎn)擊兩種人機交互方式分別進(jìn)行實(shí)驗,測試的內容包括 UI 菜單選擇、手勢和鼠標點(diǎn)擊交互、閱讀反饋等功能。
2.2 功能設計
VR 圖書(shū)閱讀系統的功能設計主要包含場(chǎng)景、UI 菜單、鼠標點(diǎn)擊交互和手勢交互閱讀四個(gè)方面。
2.2.1 場(chǎng)景
逼真的閱讀場(chǎng)景設計是系統不可或缺的關(guān)鍵因素,影響了讀者對于 VR 世界的直觀(guān)感受。本系統采用 3Dmax 模型實(shí)時(shí)渲染圖書(shū)館場(chǎng)景,給讀者營(yíng)造了一種身臨其境的閱讀氛圍。
2.2.2 UI菜單
UI 菜單的作用主要給讀者進(jìn)行一些相關(guān)的選擇操作的提示。本系統提供了開(kāi)始場(chǎng)景 UI 菜單和閱讀過(guò)程中需要的 UI 菜單兩種。
2.2.3 鼠標點(diǎn)擊按鈕交互
在鼠標游戲對象上擴展腳本,在初始化 Start 方法中通過(guò) GetComponent 方法獲取到 Button 組件,然后給按鈕注冊監聽(tīng)事件 btn.onClick.AddListener (OnClick),再在 OnClick 回調方法中編寫(xiě)邏輯代碼。
2.2.4 手勢交互
手勢交互的作用主要涉及兩個(gè)方面:一方面提供手勢交互功能,如手勢翻閱圖書(shū);另一方面提供手勢輔助操作功能,如手勢打開(kāi) / 關(guān)閉 UI 菜單等。
2.3 模型設計
基于 3DMax 軟件構建 VR 圖書(shū)閱讀系統的相關(guān)模型資源,包括圖書(shū)館模型、圖書(shū)館書(shū)架模型和圖書(shū)模型,并完成相關(guān)的細節化處理。
2.3.1 在建模過(guò)程中,可以將一個(gè)復雜的對象模型拆分為很多個(gè)簡(jiǎn)單的小模型,首先可以創(chuàng )建簡(jiǎn)單的小模型,然后在由很多的小模型合并生成一個(gè)復雜的整體模型,從而實(shí)現由簡(jiǎn)單到復雜。
2.3.2 在使用 3Dmax 建模過(guò)程中,需要注意的就是要控制模型的面數。如果模型面數過(guò)多,這樣會(huì )影響到渲染速度,嚴重的時(shí)候,VR 設備會(huì )出現卡機的現象。因此,在確保物體保真的前提下,盡可能的讓面數越少,我們可以通過(guò)減少模型的曲面細分,或者減少倒角的使用等來(lái)解決。
2.4 場(chǎng)景設計
在從 3DMax 軟件中完成模型制作后,導出模型時(shí),選擇為 FBX 格式,再通過(guò)復制粘貼到工程項目下的文件中,完成模型的導入。在場(chǎng)景中導入模型,調整書(shū)架和書(shū)的布局位置,再給模型設置好材質(zhì)貼圖。
3 手勢識別算法設計
基于深度神經(jīng)網(wǎng)絡(luò )的手勢識別算法開(kāi)發(fā),首先對 Leap Motion 手部體感數據的進(jìn)行提取與處理,然后對深度神經(jīng)網(wǎng)絡(luò )的函數與算法選擇,最后對手勢識別模型進(jìn)行訓練與應用。
3.1 手勢數據處理
本文采用 Leap Motion 設備進(jìn)行手勢數據采集,通過(guò) USB 接口可以建立 Leap Motion 與 PC 之間的連接,采集數據的追蹤頻率可達到每秒 120 幀,通過(guò)手勢數據采集程序就可以獲取手模型數據,模型數據通常包含標簽數據、掌心位置數據、手掌姿態(tài)數據、手臂相關(guān)數據、大拇指相關(guān)數據、食指相關(guān)數據、中指相關(guān)數據、無(wú)名指相關(guān)數據、小拇指相關(guān)數據等 [12]。在編寫(xiě)手勢數據讀取程序時(shí)需要對數據位數進(jìn)行解析,再將獲取到的手勢特征數據,存入文本文件。
3.2 深度神經(jīng)網(wǎng)絡(luò )的函數與算法選擇
激活函數對神經(jīng)網(wǎng)絡(luò )的深層和非線(xiàn)性能力提供了幫助,通常來(lái)說(shuō),離開(kāi)激活函數,加深網(wǎng)絡(luò )算法就失去了意義,目前,常用的激活函數有 tanh 函數、sigmoid 函數和 relu 函數 [13]。激活函數 relu 也稱(chēng)為帶泄露線(xiàn)性整流函數,主要運行在神經(jīng)元上的函數。其表達式為:
其中: δ 為 relu 的參數;t 為神經(jīng)元輸入;f (t) 為神經(jīng)元輸出。
損失函數的作用主要用于評估模型的性能,損失函數越小表明模型的性能越好。常用的損失函數有平方損失函數、絕對值損失函數和 Focal loss 損失函數等。Focal loss 損失函數表達式為:
優(yōu)化算法主要用于優(yōu)化權重和偏移量,降低損失。常用的優(yōu)化算法有梯度下降、隨機梯度下降和 Adam 等,Adam 算法在模型訓練優(yōu)化的過(guò)程中,可以使每個(gè)參數獲得自適應的學(xué)習率,從而優(yōu)化質(zhì)量和速度。
3.3 手勢識別模型訓練與應用
首先,導入手勢數據集,通過(guò)提取自然手勢的 8 組手勢:①右手單手向前;②右手單手向后;③右手單手向左;④右手單手向右;⑤左手單手向前,映射為拿書(shū);⑥左手單手向后,映射為;⑦左手單手向左;⑧左手單手向右。其中:①、④、⑤和⑧,映射為閱讀交互中的翻下一頁(yè)的功能;⑥、⑦、②和③,映射為閱讀交互中的翻上一頁(yè)的功能。然后,將 8 種手勢數據集平均劃分為訓練集、驗證集和測試集,最后,通過(guò)調用訓練好的手勢識別模型數據,實(shí)時(shí)計算采集到的手勢數據。
4 實(shí)驗分析
4.1 實(shí)驗數據集
為評估本文提出的深度神經(jīng)網(wǎng)絡(luò )手勢識別算法,本次實(shí)驗選取 30 名同學(xué)進(jìn)行測試。
4.2 實(shí)驗結果
采集了 30 名同學(xué)的手勢數據,8 種手勢數據集,總共采集 800 組,100 組右手單手向前;100 組右手單手向后;100 組右手單手向左;100 組右手單手向右;100 組左手單手向前;100 組左手單手向后;100 組左手單手向左;100 組左手單手向右,測試實(shí)驗結果如表 1。
表1 實(shí)驗結果表
由表 1 可見(jiàn),對手勢交互的動(dòng)作進(jìn)行樣本測試,總樣本數為 800 次,誤檢數 66 次,準確率達到 91.75%,平均耗時(shí) 0.28 s。
5 結束語(yǔ)
本文對虛擬現實(shí)閱讀手勢交互系統總體方案進(jìn)行了設計,從開(kāi)發(fā)流程、功能設計、模型設計和場(chǎng)景設計進(jìn)行了描述。選擇深度神經(jīng)網(wǎng)絡(luò )算法設計手勢識別算法,可以降低識別誤差率,提高交互效率,有利于改變傳統閱讀方式,有利于在教育中營(yíng)造良好的學(xué)習氛圍。
參考文獻:
[1] YONGCAI H, WEI S, XIGANG L, et al. Tourism demonstration system for large-scale museums based on 3D virtual simulation technology[J]. The Electronic Library, 2020,38(2): 367-381.
[2] 胡中旭.虛擬場(chǎng)景人機交互中手勢識別技術(shù)研究[D].武漢:華中科技大學(xué),2018.
[3] XIA SH, GAO L, LAI YK, et al. A survey on human performance capture and animation[J]. Journal of Computer Science and Technology, 2017,32(3):536-554.
[4] 張維,林澤一,程堅,等.動(dòng)態(tài)手勢理解與交互綜述[J].軟件學(xué)報,2021,32(10):3051-3067.
[5] 劉念.VR技術(shù)在高校圖書(shū)館特色館藏建設中的應用及發(fā)展研究[J].大學(xué)圖書(shū)情報學(xué)刊,2020,38(04):125-129.
[6] 李瑞.VR場(chǎng)景在實(shí)體書(shū)店的前景研究[J].企業(yè)科技與發(fā)展,2019(04):79-80.
[7] 呂明明.沉浸、互動(dòng)與構想:“VR+圖書(shū)”出版的契機與策略[J].長(cháng)江師范學(xué)院學(xué)報,2021,37(01):40-46.
[8] 龍江騰,高永平.一種VR游戲手勢運動(dòng)識別裝置[J].現代電子技術(shù),2021,44(12):173-176.
[9] 黃東晉,陳燕敏,李金遙,等.一種新的面向電影場(chǎng)景搭建的自然手勢交互方法[J].計算機應用與軟件,2021,38(06):46-51.
[10] 王文鋒,楊韜.基于Unity 3D與自然手勢交互的車(chē)輛虛擬拆裝實(shí)驗系統[J].高技術(shù)通訊,2021,31(06):646-652.
[11] 馬少斌,張成文,梁虎金.基于Kinect的手勢交互課件應用系統的設計[J].蘭州文理學(xué)院學(xué)報(自然科學(xué)版),2021,35(03):77-81.
[12] 章彬.基于Leap Motion手勢識別的VR電工實(shí)驗系統設計[D].大連:大連理工大學(xué),2021.
[13] 賴(lài)策.卷積神經(jīng)網(wǎng)絡(luò )中的激活函數分析[J].科學(xué)技術(shù)創(chuàng )新,2019.
(注:本文轉載自《電子產(chǎn)品世界》雜志2022年11月期)
評論