?

基于Intel Realsense技術的感知展示系統的設計與開發

2016-05-19 14:03董春俠司占軍高祥
電腦知識與技術 2016年7期
關鍵詞:人機交互

董春俠++司占軍++高祥

摘要:該文對Intel Realsense的感知和交互技術進行了研究和實現。通過3Ds Max制作所需的3D模型,利用Unity3D創建感知展示系統的基本場景,并在Unity3D中將3D模型和場景進行融合,借助Unity3D提供的GUI界面元素進行系統的交互性UI制作,最后通過Intel Realsense SDK完成Unity下感知設備的數據接入,實現Intel Realsense 3D Camera 感知手勢動作或面部表情,進而和場景發生交互行為。

關鍵詞:感知計算;Intel Realsense技術;人機交互;展示系統

中圖分類號:TP399 文獻標識碼:A 文章編號:1009-3044(2016)07-0207-02

The Design and Development of Perception Demonstration Syrtem Based on Intel Realsystem Technology

DONG Chun-xia, SI Zhan-jun, GAO Xiang

(College of Packaging Printing Engineering,Tianjin University of Science Technology, Tianjin 300222, China)

Abstract: In this paper, the Intel Realsense perception and interaction technology were studied and implemented.Required 3D model were made by 3Ds Max,the basic scene of this perceptual display system were created by Unity3D.And in Unity3D,the 3D model and basic scene were mix together.With the Unity3D provides GUI interface elements,we made the systems interactive UI.At last we imported the Realsense Unity SDK in Unity project to realize Intel Realsense 3D Camera could Perceiving our gestures or facial expressions,in order to interact with the scene.

Key words: Perceptual Computing; Intel Realsense technology ;human-computer interaction; display system

隨著便攜式智能設備的爆發式增長,人們已經不再滿足于繁瑣的人機交互輸入方式。人機交互的方式由傳統的圖形用戶界面、鍵盤鼠標等輸入輸出設備的交互形式,逐漸發展到屏幕觸摸、語音識別控制、姿勢追蹤、生物及動作的識別等更加直觀、人性化的交互形式。Intel Realsense技術的出現,大大縮短了人與電腦間的距離,讓用戶對人機互動的渴望得到滿足[1-2]。

本設計基于Intel Realsense技術開發出一款太空感知展示系統,該感知展示系統主要展示了太陽系及其所處的宇宙空間場景,通過該系統可以直觀的展示宇宙天體的運行,實現鏡頭的拉近拉遠、視角切換等功能。利用Intel Realsense技術實現太空場游歷場景,該場景的視角聚焦在飛行器上,視角隨著飛行器的移動而變化,其效果如同人親自在太空中漫游一樣。

1 Intel Realsense技術介紹

感知功能需要借助感知計算技術來實現,感知計算就是計算機通過不同的傳感器,感知用戶的動作行為或者生物性的特征,通過將這些數據數字化并進行計算,得出計算的結果并做出相應的響應。Intel Realsense技術就是感知計算的集大成者,它包含了Intel Realsense 3D攝像頭、Intel Realscence SDK以及基于此構建的弓箭生態系統和應用[2]。Intel公司通過開發加入紅外傳感組件以及實感圖像處理芯片等搭載其它傳感器的智能設備實現精確識別人的手勢動作、面部特征、前景和背景等功能,讓智能設備理解人的動作和情感進而實現人機的完美交互[3]。

Unity中感知控制模塊是基于Intel Realscence SDK實現的,是一系列行為和觸發器、規則的設定,其中所有的行為是作用于MonoBehavior類下的游戲執行對象。Realsense Unity Toolkit菜單命令下主要有以下內容:1)Actions,包括Tracking Action、Translation Action、Rotation Action等,每個操作定義一個游戲物體上的某種行為,并且每個操作都有一整套的觸發器,當其觸發器之一被觸發,將執行該操作。2)Triggers and Rules它定義了一系列可以實現在幾個方面的交互作用。每個交互組件作為一條規則來實現,因此每個觸發器具有其自己的規則集,只有觸發了某個規則,行為才會發生。比如檢測到了你的雙手或者面部行為就可以啟動了,失去了雙手和面部這個事件就停止了,雙手的移動或者手掌的張開和閉合會實現行為的控制。

2感知展示系統的設計思路與整體框架

構建本展示系統首先利用3DsMax構建基本天體即八大行星的3D模型和太空游歷所需要的飛行器;再利用Unity3D創建展示系統的基本場景即天體運行時所處的場景、飛行器游歷所在的場景。然后把天體和飛行器的3D模型導入到相應的場景中,實現天體的自轉和公轉以及飛行器能夠在場景中飛行。接下來利用Unity3D自帶的GUI進行展示系統UI的設計與制作,實現各個場景的自由切換和音視頻的播放。最后接入Intel Realsense SDK進行后續的開發,實現感知交互。感知展示系統的結構框架如圖1所示。

3基礎開發環境概述

3.1硬件及系統需求

硬件需求:配備第四代(或以上)智能英特爾酷睿處理器的計算機,USB 3.0 接口,Intel Realsense 3D Camera (F200)。

系統需求:Windows 8.1 with Update x64 Pro、 Microsoft.NET 4.0 或更高的統一游戲開發處理框架。

3.2軟件要求

本設計主要用到了三維動畫渲染和制作軟件3DsMax、用于創建多平臺游戲和互動體驗的開發平臺Unity3D以及Intel RealSense SDK。其中Intel RealSense SDK 是一個通過標準化的公開接口實現庫的模式檢測與識別算法。庫的目的是降低使用這些算法和應用程序的開發人員的開發難度,編碼算法細節到可以掃除開發者常見的障礙[4]。SDK core,I/O module和Capability modules是組成整個SDK堆棧的基礎。兩者同時組織并管理管線的執行。I/O module捕獲設備的輸入數據,而后發送數據到輸出設備或Capability modules。Capability modules主要包括各種模式檢測和識別算法(面部跟蹤和檢測、手部跟蹤、手勢識別、語音識別及合成等)。

4感知展示系統的制作

4.1構建系統所需內容的3D模型

4.1.1行星主體建模

啟動3DMax新建一個工程,選擇真實視圖放大,在放大后的視圖中對所需內容進行建模的操作。在命令板的基本標準體中選擇球體輸入相對參數,選擇事先處理好的圖片賦予球體的材質,調節好貼圖的自發光,光澤度等光學屬性。帶有光環(暈)的星體需要再制作它的光環(暈),其貼圖需要用到UVW貼圖命令,光環(暈)制作完成之后把它和球體放在一起調節它們的相對位置即可。全部制作完畢之后分別導出,并將它們放在同一個文件夾下。

4.1.2飛行器的建模

啟動3DsMax2013新建一個工程,選擇真實視圖放大,在命令板的基本標準體中選擇所需的基本幾何體,把他們堆砌成一個大概的機身模樣,運用命令板的修改器列表,選擇需要的命令,比如擠壓、拉伸、平滑、曲面變形、UVW展開等,使機身曲線更加平滑優美,棱角分明,富有美感。最后對飛行器模型進行分區域貼圖。

4.2創建基本場景

4.2.1創建太陽系場景

啟動Unity3D,新建Scene,利用多邊形和紋理定義了場景的外表;然后添加腳本定義星星的數量和大小,來自動計算生成大小不同、亮度不同的星空粒子。另外還要給場景加上燈光來定義了場景的顏色和基調。場景制作完畢后,還要通過腳本控制Main Camera來實現的鼠標滾輪放大縮小場景、長按鼠標左鍵移動鼠標實現場景視角的改變,這里要將腳本拖到Main Camera上才可以運行。

4.2.2創建太空游歷場景

太空游歷場景的制作中需要使用Space for Unity插件。在Unity3D中導入插件后,新建Scene。在Main Camera面板中,把 Clear Flags 的屬性Skybox 換成 Depth Only,修改Culling Mask參數,把Far Clipping Plane 的數量控制在1000 到50000范圍內,數量的多少由后期的效果決定。在場景中實現鼠標滾輪放大縮小、長按鼠標左鍵實現場景視角改變的效果與上述太陽系相同。

4.3實現內容和場景的融合

4.3.1太陽系場景與行星融合

感知展示系統的主體場景實現之后,還要把事先制作好的3D模型導入到場景中。在Unity3D中打開新建的場景,在項目視圖的Project中選擇Import New Asset,找到模型文件存在的路徑,導入到Project中。然后把模型文件直接拖到相應的場景中即可。接下來要通過編碼實現星體圍繞太陽的公轉和星體自身的自轉。在形體公轉中給星體添加Trail Renderer屬性,用來顯示物體的移動軌跡。

4.3.2太空游歷場景與飛行器融合

太空游歷場景與內容的融合,主要用到了第一人稱視角,Camera始終跟隨主角,無論主角發生怎樣的變化,我們看到的視角始終在主角上,只是相應的場景發生了改變而已。

4.4交互性UI的制作

系統的界面包含四個部分:系統介紹、視頻、太陽系場景和太空游歷場景。在Unity3D中創建Canvas,Canvas就是本系統的UI的主界面,UI的主要設計和功能都是要在其上實現的。每個部分都是通過Button實現場景的切換的。UI的最終效果如圖2所示。

4.5接入Intel Realsense SDK實現交互

感知展示系統的制作已經完成,通過鍵盤鼠標可以實現完美的控制,接下來就是接入Intel Realsense 3D Camera,其過程如下:

1)把Intel Realsense SDK安裝到電腦上,把Intel Realsense 3D Camera接入到USB3.0的接口上;

2)檢查Intel Realsense SDK和Intel Realsense 3D Camera是否可以協同工作。

3)導入Realsense Unity SDK,找到ProgramFiles(x86)\Intel\RSSDK\framework\Unity路徑下的Unity.PCStandalone.unitypackage和RSUnityToolkit.unitypackage并分別導入。

4)點擊Unity3D菜單欄上的Realsense Unity Toolkit菜單命令,選擇Add Action下的Translate行為把它賦給需要的物體,編輯它的Start Event、Translation Trigger、Stop Event屬性。

5)點擊Unity3D菜單欄上的Realsense Unity Toolkit菜單命令,選擇Add To Scene下的Scene AR Object命令,這樣播放場景就會發現攝像頭拍攝的內容就在場景中呈現了。

感知展示系統接入Intel Realsense SDK實現交互后需要打包發布,輸出的EXE文件即為本設計的感知系統。

5結束語

Intel Realsense技術是感知計算的集成者,新技術的推廣和轉化成生產力的過程是十分漫長而復雜的,這一過程中需要付出很大的財力物力,不僅僅需要IT廠商的自我推廣,還需要的是引起開發者的興趣。本設計是利用Intel Realsense 3D攝像頭對太陽系星空進行感知操作,希望給讀者帶來啟發。

參考文獻:

[1] 英特爾發布內置3D攝像頭,引領感知計算發展[J]. 個人電腦,2013(12):97.

[2] 王韌. 讓計算機也能感知世界英特爾RealSense 3D交互技術點評[J]. 電腦迷,2014(8):32-33.

[3] 本刊編輯.CES2014英特爾感知虛擬實鏡[J].計算機與網絡,2014(1):29.

[4] 韓旭. 應用Kinect的人體行為識別方法研究與系統設計[D].濟南: 山東大學,2013.

猜你喜歡
人機交互
人機交互課程創新實驗
圖像處理耦合模板定位的答題卡識別研究與應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合