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

        ?

        基于Kinect的虛擬鼠標(biāo)體感交互*

        2015-01-01 03:11:52朱耀麟王曉雨
        關(guān)鍵詞:按鈕界面

        朱耀麟,王曉雨,湯 汶,武 桐

        (西安工程大學(xué) 電子信息學(xué)院,西安710048)

        人機(jī)交互技術(shù)是計(jì)算機(jī)用戶界面設(shè)計(jì)中的重要內(nèi)容之一.傳統(tǒng)人機(jī)交互的交互過程多是用戶通過鍵盤、鼠標(biāo)等輸入實(shí)現(xiàn).在傳統(tǒng)的人機(jī)交互系統(tǒng)中,人被認(rèn)為是操作員,只是對(duì)機(jī)器進(jìn)行操作,缺少真正的交互活動(dòng).近年來,隨著計(jì)算機(jī)技術(shù)和人機(jī)交互技術(shù)的快速發(fā)展,人們開始注重對(duì)交互的參與性,傳統(tǒng)的人機(jī)交互方式已經(jīng)不能滿足人們參與人機(jī)交互的需求.Kinect體感攝像頭的不斷推廣,為自然人機(jī)交互提供了新方向,對(duì)未來人機(jī)交互方式發(fā)展有重要意義.

        微軟的Kinect不同于普通攝像頭,它有感知世界的CMOS紅外傳感器[1].目前將Kinect應(yīng)用到自然人機(jī)交互的研究有很多:文獻(xiàn)[2]將Kinect設(shè)備應(yīng)用到機(jī)器人控制方面,通過無線接口遙控機(jī)器人運(yùn)動(dòng);文獻(xiàn)[3]提出將Kinect體感設(shè)備應(yīng)用到小學(xué)生教育方面,刺激學(xué)生對(duì)學(xué)習(xí)的反應(yīng),用以提高學(xué)生學(xué)習(xí)效果;文獻(xiàn)[4]提出將Kinect設(shè)備應(yīng)用于相機(jī)控制的方法;文獻(xiàn)[5]提出將Kinect設(shè)備應(yīng)用于實(shí)時(shí)三維重建方面;文獻(xiàn)[6]采用Kinect深度傳感器將人物手部從背景中分割,最終實(shí)現(xiàn)使用識(shí)別到的手勢(shì)控制輪椅運(yùn)動(dòng).文獻(xiàn)[7]提出Kinect系統(tǒng)與iClone5的動(dòng)作捕捉插件結(jié)合,將所捕捉的人物動(dòng)作數(shù)據(jù)輸入到Unity3D游戲引擎中進(jìn)行游戲動(dòng)畫開發(fā)的方法;文獻(xiàn)[8]提出在Unity3D中建立avatar系統(tǒng)綁定人物骨骼各節(jié)點(diǎn),實(shí)現(xiàn)人體骨骼各關(guān)節(jié)點(diǎn)的動(dòng)作追蹤綁定,使與人體對(duì)應(yīng)的物體作出同步節(jié)奏、一致動(dòng)作的反應(yīng),將這種技術(shù)應(yīng)用到人物動(dòng)作游戲角色動(dòng)畫的制作中,極大的提高游戲制作的效率.

        本文針對(duì)傳統(tǒng)人機(jī)交互方式的不足,同時(shí)吸取新型設(shè)備和新方法的優(yōu)勢(shì),采用相對(duì)廉價(jià)的Kinect體感設(shè)備以及將Kinect和Unity3D兩大技術(shù)的強(qiáng)強(qiáng)聯(lián)合的思路,提出在Unity3D平臺(tái)上使用Kinect體感設(shè)備控制虛擬鼠標(biāo)實(shí)現(xiàn)體感人機(jī)交互的方法.

        1 系統(tǒng)框架流程

        本系統(tǒng)使用微軟公司推出的體感攝像機(jī)Kinect對(duì)人體進(jìn)行追蹤,獲取人體骨骼點(diǎn).Kinect是由微軟公司2010年6月推出應(yīng)用于Xbox 360和Xbox One主機(jī)的周邊設(shè)備.它有三個(gè)鏡頭,中間是RGB攝像頭,用來獲取彩色圖像,左側(cè)是紅外線發(fā)射器(Projector),右側(cè)是紅外線接收器(IR),紅外發(fā)射器和紅外接收器配合使用可以獲取深度信息,用來檢測(cè)玩家的相對(duì)位置,追蹤人體骨骼.兩側(cè)是一組四元麥克風(fēng)陣列,用于聲源定位和語音識(shí)別,下方還有一個(gè)帶內(nèi)置馬達(dá)的底座,可以調(diào)整設(shè)備俯仰角.Kinect系統(tǒng)[9]具有即時(shí)動(dòng)態(tài)捕捉、影像識(shí)別、麥克風(fēng)輸入、語音識(shí)別等功能,不需要使用任何道具即可實(shí)現(xiàn)人體動(dòng)作和人體骨骼的識(shí)別和捕捉,使玩家使用自己的肢體來控制應(yīng)用,擺脫傳統(tǒng)人機(jī)交互中鼠標(biāo)、鍵盤、游戲手柄等的束縛.Kinect傳感器和應(yīng)用程序之間的數(shù)據(jù)傳輸要通過專門針對(duì)于Kinect的中間件來實(shí)現(xiàn).針對(duì)于Kinect的中間件有兩個(gè),分別是不同公司發(fā)布的具有同樣功能的中間件 OpenNI和 Kinext for Windows SDK,前者支持大多數(shù)操作系統(tǒng),以C++編程語言為主,而 Kinect for Windows SDK 支 持 Windows 7/Windows 8操作系統(tǒng),另外還支持虛擬機(jī),以C#編程語言為主.兩種中間件各有優(yōu)勢(shì),可以根據(jù)個(gè)人實(shí)際情況取舍.本系統(tǒng)選用Kinect for Windows SDK,Kinect for Windows SDK 提供了非常尖端和復(fù)雜的軟件庫和工具,幫助開發(fā)者充分利用基于Kinect的自然輸入、信息捕捉以及對(duì)真實(shí)世界事件的反應(yīng)等特性進(jìn)行開發(fā)工作.

        本系統(tǒng)將Kinect體感器和Unity3D平臺(tái)結(jié)合實(shí)現(xiàn).首先Kinect體感器獲取外界深度圖像以及玩家骨骼信息,然后傳遞給Kinect for Windows SDK中間件,接著Unity3D應(yīng)用從中間件中調(diào)用人體骨骼信息,最終根據(jù)人物動(dòng)作實(shí)現(xiàn)一系列觸發(fā)事件,系統(tǒng)框架如圖1所示.

        圖1 系統(tǒng)框架圖Fig.1 System Framework

        事件觸發(fā)控制過程:Unity3D應(yīng)用讀取中間件中右手骨骼點(diǎn)的位置和移動(dòng)信息,將獲取到的右手骨骼點(diǎn)與Unity3D場(chǎng)景中作為虛擬鼠標(biāo)的GUITexture物體綁定,使虛擬鼠標(biāo)物體跟隨右手骨骼點(diǎn)的移動(dòng)而移動(dòng),控制虛擬鼠標(biāo)的按鈕選擇功能,控制過程如圖2所示.

        圖2 系統(tǒng)實(shí)現(xiàn)過程Fig.2 System implementation process

        由于Kinect系統(tǒng)中骨骼點(diǎn)的坐標(biāo)與Unity3D場(chǎng)景中虛擬鼠標(biāo)的坐標(biāo)不同,右手骨骼點(diǎn)不能控制虛擬鼠標(biāo)在整個(gè)電腦屏幕中移動(dòng),并且Unity3D引擎沒有提供GUITexture物體與界面按鈕的交互功能,因此將虛擬鼠標(biāo)的移動(dòng)范圍映射到整個(gè)電腦屏幕和實(shí)現(xiàn)虛擬鼠標(biāo)與界面按鈕是本方法的重要研究?jī)?nèi)容.

        2 系統(tǒng)實(shí)現(xiàn)

        2.1 創(chuàng)建界面

        SUnity3D游戲引擎有自帶的原生UI用于制作界面,能夠制作出豐富的界面,支持鼠標(biāo)和鍵盤按鍵的按下、松開、和懸停的函數(shù)OnMouseDown()、OnMouseUp()、OnMouseUpEnter()等.但是原生UI源代碼不可見,不易擴(kuò)展.本文中使用NGUI插件來進(jìn)行界面的制作.NGUI是嚴(yán)格遵循KISS原則并用C#編寫的Unity插件,NGUI占資源少,編輯簡(jiǎn)單,特效功能豐富,按鈕可以設(shè)計(jì)為各種形狀和圖式.本文中的UI界面有主界面和子界面.主場(chǎng)景使用Sunny1Skybox天空盒構(gòu)成場(chǎng)景環(huán)境,創(chuàng)建一個(gè)山體平面.在主界面上有Scene1、Scene2、Scene3和Quit四個(gè)按鈕主要實(shí)現(xiàn)場(chǎng)景選擇功能和退出功能如圖3所示.

        圖3 主界面Fig.3 Main interface

        子 界 面上創(chuàng)建 Forward、Backward、Left、Right、Return和Quit六個(gè)按鈕分別實(shí)現(xiàn)人物前后左右移動(dòng)、返回主界面和退出功能,如圖4所示.

        圖4 子界面Fig.4 Sub interface

        NGUI使用自己獨(dú)立的正交攝像機(jī)來渲染按鈕和鼠標(biāo)等界面元素,場(chǎng)景中還有一個(gè)透視攝像機(jī)用來渲染場(chǎng)景中的三維物體,此時(shí)有兩個(gè)攝像機(jī),為了使兩個(gè)攝像機(jī)互不影響,NGUI的位置要放置在場(chǎng)景中透視攝像機(jī)的視角范圍之外.

        2.2 創(chuàng)建模擬鼠標(biāo)

        要實(shí)現(xiàn)人體與應(yīng)用的自然交互,就不能依靠鼠標(biāo)和鍵盤觸發(fā)事件,需要?jiǎng)?chuàng)建一個(gè)物體作為虛擬鼠標(biāo).GUITexture物體屬于場(chǎng)景中的2D元素,與UI界面一樣使用的是屏幕坐標(biāo)系[10],這樣可以在按鈕觸發(fā)的過程中減少的坐標(biāo)轉(zhuǎn)換的過程.同時(shí)GUITexture物體的顯示樣式可以在通過設(shè)置物體組件中參數(shù)進(jìn)行設(shè)置,這些參數(shù)也都可以在腳本中使用語句來動(dòng)態(tài)的設(shè)置.因此選擇創(chuàng)建一個(gè)GUITexture物體作為虛擬鼠標(biāo).在場(chǎng)景中創(chuàng)建一個(gè)邊長(zhǎng)為25像素的正方形GUITexture物體,設(shè)置透明顏色作為鼠標(biāo)的正常狀態(tài),綠色表示鼠標(biāo)的觸發(fā)狀態(tài),可以明確的看出當(dāng)前鼠標(biāo)的狀態(tài).

        2.3 確定鼠標(biāo)范圍

        實(shí)際鼠標(biāo)的移動(dòng)范圍是整個(gè)屏幕,因此需要將虛擬鼠標(biāo)的移動(dòng)范圍映射到整個(gè)屏幕內(nèi),這也是文中提出的新方法的重點(diǎn)之一.確定一個(gè)控制鼠標(biāo)的骨骼點(diǎn),在本文中以右手骨骼點(diǎn)控制鼠標(biāo)為例,使用其他骨骼點(diǎn)原理一樣.Kinect追蹤到的手的骨骼點(diǎn)在Unity中移動(dòng)的范圍很小,這個(gè)范圍用手骨骼點(diǎn)綁定到模擬鼠標(biāo)上運(yùn)行場(chǎng)景得到.根據(jù)手骨骼點(diǎn)的移動(dòng)范圍建立一個(gè)虛擬的小屏(2D,屏幕坐標(biāo)),長(zhǎng)寬就是手在Unity中上下左右移動(dòng)的最大距離,換算出虛擬小屏的X/Y軸與實(shí)際屏幕的X/Y軸的比例(可以把這個(gè)比例值考慮相應(yīng)的稍微減小一些,以方便更加瘦小的人使用到全屏功能),根據(jù)虛擬屏幕與實(shí)際屏幕的比例,計(jì)算得到一個(gè)虛擬的擴(kuò)大后的手的屏幕坐標(biāo),也就是整個(gè)屏幕,完成了把虛擬鼠標(biāo)移動(dòng)范圍映射到整個(gè)電腦屏幕上的過程.在手的移動(dòng)過程中,通過Kinect取得的手的坐標(biāo)點(diǎn)是會(huì)不斷抖動(dòng),模擬鼠標(biāo)會(huì)在屏幕上不停抖動(dòng),因此要對(duì)鼠標(biāo)的移動(dòng)過程加入防抖.Unity3D腳本中的Update()函數(shù)是不斷輪詢的,在這個(gè)函數(shù)體內(nèi)不斷計(jì)算虛擬鼠標(biāo)最新位置與上一幀鼠標(biāo)位置相對(duì)值,使用Mathf.Lerp()方法使鼠標(biāo)以一定的設(shè)定速度移動(dòng)到最新位置.

        2.4 鼠標(biāo)觸發(fā)判斷

        鼠標(biāo)觸發(fā)是新方法的另一個(gè)重點(diǎn).因?yàn)槲闹械氖髽?biāo)是虛擬鼠標(biāo),所以 OnMouseDown()、On-MouseUp()、OnMouseEnter()等一些 Unity3D游戲引擎自帶的鼠標(biāo)觸發(fā)事件是沒有作用的.本文提出使用射線觸發(fā)的方式來實(shí)現(xiàn)按鈕觸發(fā)事件.虛擬鼠標(biāo)在移動(dòng)的過程中,不斷從模擬鼠標(biāo)位置向屏幕內(nèi)發(fā)射射線,檢測(cè)射線是否碰撞到物體,如果沒有則返回繼續(xù)下一輪的檢測(cè);如果有物體被碰觸到,則判斷碰撞物體是否是按鈕,接著判斷是哪個(gè)按鈕,然后執(zhí)行相應(yīng)的觸發(fā)事件,在本例中為加載場(chǎng)景,最終實(shí)現(xiàn)人體骨骼點(diǎn)控制虛擬鼠標(biāo)與UI界面交互.

        手在屏幕上運(yùn)動(dòng)過程中,可能會(huì)經(jīng)過非目標(biāo)按鈕,為了避免誤操作,在腳本程序中設(shè)置一個(gè)時(shí)間標(biāo)志,只有虛擬鼠標(biāo)在一個(gè)按鈕上的停留時(shí)間超過時(shí)間標(biāo)志規(guī)定的時(shí)間,才確定按鈕被選中,模擬鼠標(biāo)顏色才完全變?yōu)榫G色,在這個(gè)過程中鼠標(biāo)顏色從透明色到綠色漸變.

        3 測(cè)試結(jié)果及分析

        為了測(cè)試系統(tǒng)的可靠性以及響應(yīng)時(shí)間,對(duì)系統(tǒng)進(jìn)行一系列測(cè)試.軟件開發(fā)及測(cè)試環(huán)境為WIN7+unity3D4.3+Kinect for Windows SDK 1.8.測(cè)試者選擇首先主界面不同的按鈕,選擇按鈕Scene1加載場(chǎng)景1,選擇按鈕Scene2加載場(chǎng)景2,選擇按鈕Scene3加載場(chǎng)景3,如圖5~7所示,(由于黑白截圖表現(xiàn)不明顯,可以從場(chǎng)景背景紋理看出場(chǎng)景不同),在子界面選擇按鈕Forward、Backward、Left和Right可以控制游戲人物的前后左右移動(dòng),選擇按鈕Return則能成功返回主界面.經(jīng)過多個(gè)測(cè)試者測(cè)試,系統(tǒng)能夠快速準(zhǔn)確的響應(yīng)鼠標(biāo)觸發(fā)事件.測(cè)試結(jié)果表明,在Unity3D平臺(tái)下結(jié)合Kinect實(shí)現(xiàn)人體作為控制器的自然交互方式突破傳統(tǒng)的鼠標(biāo)鍵盤交互,有很強(qiáng)的實(shí)用性和娛樂性,為未來人機(jī)交互提供了新思路.

        圖5 鼠標(biāo)選擇第一個(gè)按鈕進(jìn)入場(chǎng)景1Fig.5 The first button is selected

        圖6 鼠標(biāo)選擇第二個(gè)按鈕進(jìn)入場(chǎng)景2sFig.6 The second button is selected

        圖7 鼠標(biāo)選擇第三個(gè)按鈕進(jìn)入場(chǎng)景3Fig.7 The third button is selected

        4 結(jié) 論

        文中利用Kinect傳感器的三個(gè)鏡頭獲取圖像數(shù)據(jù),根據(jù)紅外鏡頭獲取的深度數(shù)據(jù)進(jìn)行骨骼追蹤獲取特定骨骼點(diǎn)的位置,用人體具體骨骼點(diǎn)控制虛擬鼠標(biāo)在電腦屏幕中移動(dòng)并實(shí)現(xiàn)鼠標(biāo)觸發(fā)事件,進(jìn)行場(chǎng)景切換.基于Kinect和Unity3D的人體骨骼控制虛擬鼠標(biāo)的方法可適應(yīng)于各個(gè)領(lǐng)域的人機(jī)交互,該方法能夠?qū)崿F(xiàn)體感交互,值得在體感應(yīng)用開發(fā)中推廣使用,如體感游戲,虛擬漫游等.

        [1] 陳艷麗,金紀(jì)東,陳國(guó)濤,等.手部姿勢(shì)與揮動(dòng)速度識(shí)別的人機(jī)交互[J].電子測(cè)量與儀器學(xué)報(bào),2014,28(1):56.CHEN Yan-li,JIN Ji-dong,CHEN Guo-tao,et al.Human-Computer Interaction of Hand Posture and Waving Speed Recognition[J].Journal of Electronic Measurement and Instrument,2014,28(1):56.(in Chinese)

        [2] ZHANG Z.Microsoft Kinect Sensor and Its Effect[J].IEEE Transactions on Multimedia,2012,19(2):4.

        [3] lOANNIS V,ATHANASIOS M,TASSOS A.Mikropoulos.Primary School Students’Attitude Towards Gesture Based Interaction[C]//2014IEEE 14th International Conference on Advanced Learning Technologies,2014:678.

        [4] OCHI Y,TAKEDA Y.Development of a Camera Control System Using Human Gesture Recognition[C]//Proceeding of the International Multi Conference of Engineers and Computer Scientists,Hong Kong:2013.

        [5] 陳曉明,蔣樂天,應(yīng)忍冬,等.基于Kinect深度信息的實(shí)時(shí)三維重建和濾波算法研究[J].計(jì)算機(jī)應(yīng)用研究,2013,30(4):1216.CHEN Xiao-ming,JIANG Le-tian,YING Ren-dong,et al.Research on 3DReconstruction and Filtering Algorithm Based on Depth Information of Kinect[J].Application Research of Computers,2013,30(4):1216.(in Chinese)

        [6] 羅元,謝彧,張毅.基于Kinect傳感器的智能輪椅手勢(shì)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)器人,2012,34(1):110.LUO Yuan,XIE Yu,ZHANG Yi.Design and Implementation of a Gesture-Driven System for Intelligent Wheelchairs Based on the Kinect Sensor[J].Robot,2012,34(1):110.(in Chinese)

        [7] 孫佳弘.Kinect系統(tǒng)在Unity3D游戲角色動(dòng)畫制作中的應(yīng)用[J].電子技術(shù)與軟件工程,2013(24):110.SUN Jia-hong.Application of Kinect System in the Unity3DGame Character Animation[J].Electronic Technology and Software Engineering,2013(24):110.(in Chinese)

        [8] 樂小燕,代俊雅,鄭海濱,等.Kinect與Unity結(jié)合的人體骨骼控制方法[J].信息與電腦.2013(07):28.LE Xiao-yan,DAI Jun-ya,ZHENG Hai-bin,et al.The Control Method of Human Skeleton Based on Kinect and Unity[J].Information and Computer,2013(7):28.(in Chinese)

        [9] 王廣軍.基于運(yùn)動(dòng)捕捉數(shù)據(jù)的交互式智能控制與虛擬仿真[D].安慶:安慶師范學(xué)院,2013.WANG Guang-jun.Interactive Intelligent Control and Simulation Based on the Motion Capture Data[D].Anqing:Anqing Normal University,2013.(in Chinese)

        [10] 張檢閱.Unity3D3.X游戲開發(fā)經(jīng)典教程[M].北京:科學(xué)出版社,2013.ZHANG Jian-yue.Unity 3.X Game Development Essentials[M].Beijing:Science Press,2013.(in Chinese)

        猜你喜歡
        按鈕界面
        哪個(gè)是門鈴真正的按鈕
        當(dāng)你面前有個(gè)按鈕
        國(guó)企黨委前置研究的“四個(gè)界面”
        門鈴按鈕
        基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
        死循環(huán)
        空間界面
        金秋(2017年4期)2017-06-07 08:22:16
        電子顯微打開材料界面世界之門
        人機(jī)交互界面發(fā)展趨勢(shì)研究
        手機(jī)界面中圖形符號(hào)的發(fā)展趨向
        新聞傳播(2015年11期)2015-07-18 11:15:04
        强迫人妻hd中文字幕| 高清在线亚洲中文精品视频| 日韩一二三四精品免费| 中文字幕亚洲精品综合| 91九色老熟女免费资源| 四虎影视永久在线观看| 亚洲一区二区在线| 日本一区二区三区一级免费| 亚洲精品午夜久久久九九| 欧美性巨大╳╳╳╳╳高跟鞋 | 国产91吞精一区二区三区| 亚洲第一页综合av免费在线观看| 国语淫秽一区二区三区四区| а天堂中文最新一区二区三区| japanese无码中文字幕| 亚洲青涩在线不卡av| 噜噜中文字幕一区二区| 中国女人做爰视频| 亚洲免费观看网站| 久久综合老鸭窝色综合久久 | 色综合中文字幕综合网| 日本一本免费一二区| 高中生粉嫩无套第一次| 久久亚洲aⅴ精品网站婷婷| 女女同女同一区二区三区| 夜夜揉揉日日人人青青| 色综合久久天天综线观看| 午夜国产小视频在线观看黄| 日韩女同视频在线网站| 日韩成人大屁股内射喷水| 91久久国产综合精品| 男人的精品天堂一区二区在线观看| 亚洲中文字幕无码不卡电影| 精品免费在线| 久久精品av一区二区免费| 国产一级内射视频在线观看| 午夜福利92国语| A亚洲VA欧美VA国产综合| 日本午夜精品一区二区三区| 国产真实乱对白精彩| 国产美女69视频免费观看|