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

        ?

        基于手勢交互的三維電子沙盤系統(tǒng)設計與實現

        2016-05-04 08:48:15張玉軍孟曉軍
        指揮控制與仿真 2016年2期
        關鍵詞:虛擬現實

        張玉軍,孟曉軍,王 剛

        (1.解放軍69079部隊,新疆烏魯木齊 830013;2.解放軍69240部隊,新疆烏魯木齊 830011)

        ?

        基于手勢交互的三維電子沙盤系統(tǒng)設計與實現

        張玉軍1,孟曉軍1,王剛2

        (1.解放軍69079部隊,新疆烏魯木齊830013;2.解放軍69240部隊,新疆烏魯木齊830011)

        摘要:基于手勢的人機交互方式可大大提高人對計算機系統(tǒng)的控制能力,實現人機自然融合。首先,簡要分析了Leap Motion設備進行手勢識別的特點,詳細闡述了利用Unity3D構建三維電子沙盤的方法和流程,在此基礎上提出了基于手勢交互的三維電子沙盤系統(tǒng)集成技術框架;然后,設計了基于Leap Motion的手勢識別方案和控制腳本的基本流程,最后搭建系統(tǒng)實例并進行測試。測試結果表明,通過Leap Motion可實現人手對沙盤系統(tǒng)的預定操作,為這種新型手勢識別技術的應用提供了一定借鑒。

        關鍵詞:Leap Motion;手勢控制;Unity3D;虛擬現實;電子沙盤

        三維電子沙盤是利用虛擬現實、地理信息等技術構建的三維地理信息系統(tǒng),具有真實、立體、快速、簡便、精確、動態(tài)等特點,在城市規(guī)劃、特種作戰(zhàn)、反恐處突、消防搶險等任務的指揮決策中,具有很高的應用價值。目前,這種系統(tǒng)多以鼠標、鍵盤或觸摸屏等方式進行交互。隨著虛擬現實技術的發(fā)展,用戶可通過手勢直接與計算機系統(tǒng)進行交互。這種手勢交互的方式與觸摸屏不同,它不需要直接接觸設備,應用范圍更加廣泛,無論是個人PC、投影,還是電視墻,都可以直接通過手勢控制。

        手勢是人手或者手和手臂結合所產生的各種姿勢和動作,對手勢進行檢測與識別是手勢交互能否實際應用的關鍵技術[1]。近年來,隨著計算機軟、硬件技術的發(fā)展,虛擬現實產業(yè)界推出了Kinect、Leap Motion 等幾款手部信息捕獲設備,這幾款產品成本低廉,非常適合作為普通虛擬現實系統(tǒng)應用中的人機交互設備。其中,Kinect主要追蹤的是中遠距(0.5m~4m)的全身運動,對于手部的動作,細節(jié)信息不夠,需要手臂配合表達[2]。Leap Motion是一個檢測手勢運動的傳感器,可識別每根手指的位置、姿態(tài)、速度等參數,動作跟蹤精度達0.01mm,體積小、成本低、擴展性強,可用于專業(yè)的手勢交互系統(tǒng)。

        本文利用Leap Motion在小范圍內精確的手勢識別能力,構建基于手勢交互的三維電子沙盤,探索這種新技術的應用方式。

        1系統(tǒng)開發(fā)技術方案

        1.1Leap Motion手勢識別特點分析

        Leap Motion采用紅外成像原理,通過內置的兩個攝像頭捕捉傳感器上方25mm~600mm之間,大致呈倒立金字塔范圍內的信息,它舍棄傳統(tǒng)傳感器單獨處理每一個像素的方式,而是一次性采集所有的像素, 對這些像素進行后續(xù)處理,通過大量數據計算和檢測基礎實現對設備功能的穩(wěn)定控制[1]。Leap Motion采用右手笛卡爾坐標系,原點坐標在Leap Motion控制器的中心,X軸和Z軸在設備的水平面,X軸和設備的長邊平行,指向屏幕右方,Y軸垂直向上,只有正半軸[3]。如圖1所示。

        圖1 Leap Motion的右手坐標系

        在使用過程中,Leap Motion控制器會以大約115fps的幀速度發(fā)送關于手的運動信息,每一幀包含的主要信息有:手掌對象列表及信息;手指對象列表及信息;手持工具對象列表及信息;指點對象列表及信息。

        對于每只手,可以檢測到如下信息:手掌的中心位置、移動速度、姿態(tài)變化;手掌的法向量、指向方向;手掌彎曲形成的虛擬球體;左右手判定、手掌伸展度、拇指與其它四指捏取力度。如圖2、3所示。

        圖2 手掌法向量

        圖3 手掌彎曲形成的虛擬球

        對于每只手指,可以檢測到如下信息:手指的中心位置、移動速度、姿態(tài)變化;指尖的位置以及速度;手指類型判定;手指伸展判定。

        此外,Leap Motion預置了4種手勢判定類型:手指畫圈(CIRCLE)、手指下敲(KEY-TAP)、手指前敲(SCREEN-TAP)、手掌刷掃(SWIPE)。

        Leap Motion會給每一幀及這些對象分配一個唯一的標識ID,ID在持續(xù)跟蹤時段內保持不變。根據這些ID,用戶可以查詢特定幀內特定對象的運動信息,而后進行手勢的識別[4]。

        1.2基于Unity3D的三維電子沙盤構建

        三維電子沙盤主要包括地形、地貌、植被、氣象、建筑、裝備等模型數據,若利用程序設計語言(如OpenGL)從基本的代碼編程實現,不僅開發(fā)難度大,而且開發(fā)效率低。應用商業(yè)三維建模軟件可有效提高開發(fā)效率,如SolidWorks、Terra Vista、Vega Prime、Skyline、Unity3D等。考慮到系統(tǒng)開發(fā)的高效、靈活性和跨平臺的需要,選中Unity3D虛擬現實引擎作為支撐平臺,開發(fā)的系統(tǒng)可發(fā)布于Windows、Web、Andriod、IOS等多種平臺[5]。

        基于Unity3D創(chuàng)建三維電子沙盤的主要工作和流程包括:數據收集與處理、地形建模、實體建模、場景集成與優(yōu)化等,如圖4所示。

        圖4 基于Unity3D的三維電子沙盤構建流程

        1)數據采集

        需要采集的數據包括:地形高程數據、地形紋理數據、地理環(huán)境特征數據、實體幾何和紋理數據[6]。其中:高程數據是地形建模的基礎,目前主要的數據格式有DEM、GeoTIFF、HGT、ArcAscii等;地理環(huán)境特征數據主要指河流、湖泊、道路、深林、草地等地物的相關數據;實體幾何數據主要指建筑、車輛、裝備等實體的結構和尺寸數據。上述數據可通過衛(wèi)星影像、航空照片、實物拍攝、查閱資料等方式獲取。

        2)數據預處理

        由于數據存在誤差、格式等方面的問題,在利用采集到的數據進行建模前,需要進行預處理。包括高程數據校對與格式轉化,紋理數據色彩與尺寸處理、地理環(huán)境數據的采樣比對等。例如,可利用Global Mapper等地理信息軟件修正誤差較大的高程數據,并將其轉化為raw文件,利用Photoshop軟件處理紋理數據。

        3)地形建模

        Unity3D使用Terrain對象進行地形建模,通過Import Raw Heightmap工具將地形高程數據導入后,利用Raise/Lower Terrain、Paint Height、Smooth Height等工具對地形進行局部調整,使用Paint Texture為地圖添加紋理。通過Place Trees、Paint Detail為地形添加樹林、草地,道路的制作可使用EasyRoad3D和RoadPathTool等插件工具,河流、湖泊可采用紋理表現,也可以使用專業(yè)的預設資源和插件,如RiverTool等。

        4)實體建模

        利用3DMAX的多邊形建模方法,按照實體尺寸數據進行實體建模,為實體添加UV修改器,添加紋理。模型完成后,利用3DMAX自帶的FBX插件導出模型。導出時為了符合Unity3D引擎的應用標準,需要設置以下三個參數:在高級選項中將單位設置為米,軸轉化為Y軸向上,勾選“嵌入的媒體”。生成文件包括Materials文件夾,.fbm文件夾和.FBX文件。

        5)場景模型集成與優(yōu)化

        將模型導入到Unity3D工程資源Assets文件夾下,根據需要在場景中添加實體對象,設置光照、霧、天空盒等參數,最后,運行場景進行瀏覽、調試。

        1.3系統(tǒng)集成技術框架

        Leap Motion為開發(fā)者提供了可進行二次開發(fā)的SDK,支持C++、Object-C、C#、Java、Python等多種編程語言進行應用程序開發(fā),同時,為Unity3D、Unreal等虛擬現實引擎提供了開發(fā)資源包[7]。將Leap Motion集成到應用程序中的本質是調用其提供的動態(tài)鏈接庫Leap.dll,C++、Object-C可將動態(tài)庫直接引用到工程中,其它語言需通過特定的庫包引用,例如C#語言需要通過引用LeapCSharp.NET.dll調用Leap.dll。

        在Unity3D中集成Leap Motion有兩種方法:1)導入CoreAssets.unitypackage資源包;2)將含有Leap.dll和LeapCSharp.NET.dll的插件包Plugins復制到Unity3D工程的資源下。系統(tǒng)集成技術框架如圖5所示。

        圖5 系統(tǒng)集成技術框架

        各模塊功能如下:

        1) Leap.dll服務通過USB從Leap Motion控制器獲取數據,將信息進行處理并發(fā)送到應用程序,默認只發(fā)送跟蹤數據。

        2) Leap Motion設置面板運行時獨立于Leap.dll服務,允許用戶對Leap.dll相關服務進行設置。

        3) 手勢判定應用根據收到的幀數據,對用戶手勢進行判定,并生成相應的場景控制信息,驅動Unity3D場景進行更新顯示。由于Leap Motion與Unity3D坐標系不同,需要對Leap數據進行轉換,成為Unity3D標準數據。

        4) 系統(tǒng)通過Application.LoadLevel方法切換不同的三維電子沙盤場景在Unity3D中顯示。

        2基于Leap motion的手勢識別

        2.1手勢識別方案設計

        對三維電子沙盤進行瀏覽操作,主要包括移動、旋轉、拉近/推遠場景等動作,為了體現出手勢操作的優(yōu)勢,本文利用單手設計上述動作的操作手勢,既方便、靈活,又減少雙手可能帶來的干擾、遮蔽影響。手勢設計應遵循以下原則:

        1) 手勢簡單,易學易記;

        2) 表達直觀,容易建立起手勢與預進行操作的聯系;

        3) 可靠有效,操作的錯誤率在可接受的范圍內;

        4) 不同手勢之間過渡平滑,有明顯的開關動作。

        為了提高系統(tǒng)的可用性,減少操作的錯誤率,設計了不同操作動作對應的提示圖標,使用戶了解目前的手勢狀態(tài)。主要的手勢設計如圖6所示,含義如下:

        旋轉:單手自然伸展,置于Leap Motion上方,根據需要旋轉的方向,向左、右、上、下進行刷掃,實現場景的順、逆時針旋轉,視點的俯仰角度的變化?;赟WIPE手勢判定。

        移動:單手自然平伸,置于Leap Motion上方,拇指彎曲后,出現移動標識,場景根據手部的運動進行平移(前后左右上下),平移的方向與手部運動速度方向一致,拇指展開后,功能取消?;谑种傅腡YPE-THUMB和IsExtended屬性判定。

        推拉:當手成握拳姿態(tài)后,出現推拉標識,場景可根據拳頭的運動對視角進行拉近或推遠,當手松開后,功能取消。基于手掌的GrabStrength屬性判定。

        重置:在任何時刻,只要是食指進行畫圈動作,場景則回到初始位置?;贑IRCLE手勢判定。

        圖6 手勢設計與標識

        2.2手勢識別基本流程

        因為Unity3D自帶實時更新方法,不需要回調Leap::Listener的OnFrame方法,只需在Update方法中實時處理Leap Motion數據,進行手勢判定。采用C#腳本控制Unity3D場景的基本流程為:

        1)在Start方法中,創(chuàng)建Controller類的實例,通過方法EnableGesture將畫圈(TYPE-CIRCLE)和刷掃(TYPE-SWIPE)兩種手勢識別設為可用,并設置相關參數。

        2)在Update方法中,實時獲取Leap Motion的幀數據Frame,而后通過Frame.Fingers、Frame.Pointables、Frame.Hands,獲取手掌、手指和指點的各種參數,判斷手勢,通過Unity3D的Transform類控制場景變化。其中,通過Hand.GrabStrength、Finger.Type、Finger.IsExtended進行手勢切換判斷。

        3)在Quitting方法中,釋放Controller類的實例。如圖7所示。

        圖7 手勢識別的基本流程

        3系統(tǒng)實現與測試

        在上述分析的基礎上,搭建系統(tǒng)實例并進行測試。三維仿真引擎采用Unity3D 5.2版本,Leap Motion SDK為LeapSDK 2.3.1,C#語言腳本編譯環(huán)境為VS2010,三維電子沙盤為某小型山地。將Leap Motion指示燈面向用戶,通過單手實現對沙盤的瀏覽操作,如圖8所示。

        圖8 實驗測試

        通過測試發(fā)現:

        1)基于Leap motion單手手勢可實現沙盤的旋轉、平移、推拉等操作;

        2)由于人體動作的隨機性,會導致某些手勢丟失,不能百分之百實現預定目標,手掌法向方向在30°以內時跟蹤狀態(tài)較好;

        3)Leap motion檢測范圍有限,容易在不經意間超出范圍,特別是Z軸方向;

        4)手勢操作時需要手懸空于Leap motion上方,容易造成手臂酸痛。

        4結束語

        本文將Leap Motion集成于Unity3D引擎,搭建了基于手勢控制的三維電子沙盤,實現了以人類自然的方式進行人機交互的初步應用。下一步,將開發(fā)更加簡潔的交互手勢,提高控制的精度。Leap Motion作為首個商業(yè)化的手勢識別產品,應用方便,必將在虛擬現實、遠程控制、計算機等領域得到應用。本文希望拋磚引玉,為Leap Motion的深度應用和后續(xù)發(fā)展提供有益參考和方向。

        參考文獻:

        [1]黃俊,景紅.基于 Leap Motion的手勢控制技術初探[J].計算機系統(tǒng)應用,2015,24(10):259-263.

        [2]潘佳佳,徐昆.基于Leap Motion的三維自由手勢操作[J].中國科技論文,2015,10(2):207-212.

        [3]胡宏,晁建剛,林萬洪,等.Leap Motion虛擬手構建方法及其在航天訓練中的應用[J].載人航天, 2015,21(3):257-262.

        [4]Mischa Spiegelmock. Leap Motion Development Essentials [M]. Birmingham, UK: Packt Publishing, 2013,10:47-61.

        [5]曾林森.基于Unity3D的跨平臺虛擬駕駛視景仿真研究[D].長沙:中南大學,2013:22-32.

        [6]鐘文武,周新力,金慧琴,等.基于Vega Prime的飛行視景仿真研究與應用[J].指揮控制與仿真,2015,37(6):90-94.

        [7]Leap Motion. Leap Motion SDK and Plugin Documentation[EB/OL].(2015-10-15). https:∥developer.leapmotion.com/documentation.

        Design and Implementation of 3D Electronic Sand Table SystemBased on Gesture Interaction

        ZHANG Yu-jun1, MENG Xiao-jun1, WANG Gang2

        (1.the Unit 69079 of PLA, Urumqi 830013; 2.the Unit 69240 of PLA, Urumqi 830011, China)

        Abstract:The human-computer interaction based on gestures will improve people’s ability to control the computer system, and achieve human-computer fusion. The characteristics of using Leap Motion to recognize gesture is analyzed. The method and process of using Unity3D to construct 3D electronic sand table is discussed. System integration technology of 3D electronic sand table based on gestures interaction is put forward. Gesture recognition scheme based on leap motion and main process of script is designed. At last, an example system is build and tested. Test results show that using Leap Motion can realize hand operation to electronic sand table, and provide some reference for the application of gesture recognizing technology.

        Key words:Leap Motion; gesture control; Unity3D; virtual reality; electronic sand table

        中圖分類號:TP311.52

        文獻標志碼:A

        DOI:10.3969/j.issn.1673-3819.2016.02.023

        作者簡介:張玉軍(1982-),男,吉林白山人,博士,工程師,研究方向為虛擬現實與模擬訓練。孟曉軍(1975-),男,高級工程師。

        收稿日期:2016-01-29

        文章編號:1673-3819(2016)02-0110-05

        修回日期: 2016-02-01

        王剛(1980-),男,工程師。

        猜你喜歡
        虛擬現實
        虛擬現實技術在中學校園中的應用
        甘肅教育(2020年4期)2020-09-11 07:41:22
        國外虛擬現實(VR)教育研究與啟示
        論虛擬現實藝術的“沉浸”
        REALITY BITES
        REALITY BITES
        漢語世界(2017年3期)2017-06-05 15:01:42
        虛擬現實產業(yè)進入高速發(fā)展期
        自動化博覽(2017年2期)2017-06-05 11:40:39
        風口上的虛擬現實
        商周刊(2017年24期)2017-02-02 01:42:55
        虛擬現實技術向科幻小說借靈感
        海外星云(2016年7期)2016-12-01 04:18:00
        虛擬現實:另一個真實世界
        HTC斥資千萬美元入股虛擬現實設備商WEVR
        IT時代周刊(2015年8期)2015-11-11 05:50:37
        亚洲偷自拍国综合第一页国模| 亚洲 欧美 国产 日韩 精品| 久久精品免费无码区| 伊人久久大香线蕉综合av| 不卡的高清av一区二区三区| 孕妇特级毛片ww无码内射| 久久国产精品国产精品日韩区 | 99re热这里只有精品最新| 欧美成人高清手机在线视频| 熟女少妇av一区二区三区| 国产午夜精品无码| 成人欧美一区二区三区a片| 人妻精品一区二区三区视频| 蜜桃视频一区视频二区| 热99re久久精品这里都是精品免费| 东方aⅴ免费观看久久av| 久久熟女五十路| 蜜臀av在线一区二区尤物| 精品久久久久久久久午夜福利| 久久亚洲精品无码gv| 人妻少妇精品一区二区三区| 免费av日韩一区二区| 99国产精品人妻噜啊噜| 2021国产最新在线视频一区| 日本一区二区啪啪视频| 国产欧美日韩一区二区加勒比| 精品无码国产自产野外拍在线| 成人综合亚洲欧美一区h| 天堂免费av在线播放| 无码字幕av一区二区三区| 99热精品成人免费观看| 久久天堂av综合合色| 一本无码中文字幕在线观| 欧美成人精品一区二区综合| 亚洲无码激情视频在线观看| 亚洲av毛片在线网站| 中文字幕+乱码+中文字幕一区| 国产激情视频在线观看首页| 日韩有码中文字幕在线视频| 色费女人18毛片a级毛片视频| 国产天堂在线观看|