劉金環,賈世杰,王平,霍丹
(大連交通大學 電氣信息學院,遼寧 大連 116028)*
?
基于Leap Motion的3D商品展示技術研究
劉金環,賈世杰,王平,霍丹
(大連交通大學 電氣信息學院,遼寧 大連 116028)*
提出了基于Leap Motion的3D商品展示技術,通過3ds Max和OGRE建立商品3D模型,運用Leap Motion完成對手指手勢的捕獲、追蹤和識別,最后將手勢識別技術和3D技術相結合,實現實時3D商品展示.實驗結果表明,所設計方法能夠以無接觸交互方式對商品進行全方位360度立體展示,能夠大大提升用戶體驗效果.
3D商品展示;Leap Motion;手勢識別
商品在線展示是電子商務中的一個關鍵環節,全面真實的商品展示能有效促進電子商務的發展.當前的商品在線展示主要包括二維平面展示和360°產品展示[1],二維平面展示不能真實全面的展示商品特點,目前最新的三維產品展示,如飛利浦、淘寶、亞馬遜等部分商品以動畫和360°全景視頻的方式展示,但是缺少與消費者的互動.本文研究基于Leap Motion手勢識別的3D商品展示技術,有效解決商品在線展示不真實、不全面以及與用戶缺乏互動等問題.
Leap Motion[2]通過紅外LED和攝像頭完成目標捕捉,可以追蹤10根手指,精度高達0.01 mm,并以200幀/s追蹤手部移動,使得追蹤信息與手部移動同時進行,在設備體積、靈敏度、交互速度和精度上都要優于微軟的Kinect[3].文獻[4]通過mMap在二維平面建立光場可視化3D地圖模型,基于Leap Motion定義三種手勢實現與3D地圖的實時交互.本文借鑒其交互方法基于Leap Motion將手勢識別技術[5]和3D商品展示技術相結合,通過手勢去控制3D商品,以交互的方式實現商品展示,有效解決了與用戶缺乏互動的問題.
3D產品展示技術作為3D范疇的一個新興技術,可以彌補普通產品展示的不足,具有較大的發展前景和發展空間.目前,應用較多的3D建模軟件有三種:Autodesk Maya[6]、3D Studio Max[7]和Unity3D[8].文獻[9]中使用3ds Max設計商品三維模型,通過Cult3D模擬三維產品,實現網頁版的三維產品展示;文獻[10]中研究實現了基于Unity3D的虛擬顯示系統,最終在網頁上展示出來;文獻[11]中利用Java 3D技術實現了產品網絡虛擬展示系統.本文通過3ds Max和OGRE圖像渲染引擎完成3D產品的建模和展示,與傳統的二維靜態圖片展示相比更真實全面,更能突出商品細節.
本文研究工作包括手勢定義、3D模型建立和控制三個部分.通過研究Leap Motion控制器工作原理,根據Leap Motion捕捉到的目標信息提取手勢相關的有用信息,定義三種常用手勢.通過3ds Max進行建模,然后通過OGRE圖形渲染引擎使模型脫離3ds Max軟件,生成獨立操作的可執行文件.最后通過窗口消息的圖形視圖軟件Spy++獲得模型接口,通過手勢完成3D模型的控制,其主要工作流程如下圖1所示.

圖1 基于Leap Motion的3D商品展示示意圖
1.1 手勢定義
Leap Motion控制器采用立體視覺原理,根據內置的兩個攝像頭從不同角度同時捕捉目標,通過建立三維空間的右手笛卡爾直角坐標系,重建出手掌在真實世界三維空間的運動信息.如圖2所示:坐標原點是控制器的中心,坐標X軸平行于控制器指向屏幕右方,坐標Y軸垂直指向上方,
坐標Z軸指向背離屏幕的方向.

圖2 Leap Motion三維空間直角坐標系
Leap Motion控制器可以在其視野范圍內定期的發送關于手的運動信息,本文根據檢測到的數據進行手勢的定義,手掌法向量、手指方向和位置示意圖如圖3~4所示.

圖3 手掌法向量和 方向示意圖 圖4 手指方向和位置示意圖
根據Leap Motion捕捉到的目標信息,本文通過判斷手掌法向量,計算手的移動方向、速度、位移以及俯仰角、翻滾角等變化情況定義了上移和下移、前移和后移和左移和右移三種手勢,具體內容如下表1所示.

表1 上移和下移、前移和后移、左移和右移手勢定義
1.2 3D建模
本文通過3ds Max9對商品進行建模,建立好的模型可以通過鼠標進行放大、縮小以及旋轉等操作,但是模型依附于3ds Max9軟件,不方便用戶操作.自2001年以來,OGRE[12]已經成為最受歡迎的開源圖形渲染引擎之一,并已廣泛應用于游戲、仿真器、教育軟件、科學可視化等領域.本文通過3ds Max9對物體進行建模后,通過oFusion導出場景模型文件,通過OGRE對場景圖形進行渲染,用VS2008編程得到脫離3ds Max的商品模型可執行文件,以青花瓷盤為例,具體操作過程如下:
(1)通過3ds Max9對青花瓷盤進行建模,并給模型貼圖,賦予材質,建好后的模型如圖5所示;
(2)安裝oFusion場景插件,導出場景模型文件,即*.osm文件;
(3)安裝并配置Ogre1.9.0圖像渲染引擎;
(4)通過VS2008創建Ogre Root并加載該資源文件;
(5)創建渲染窗口和場景管理器;
(6)創建相機,生成3D商品模型的可執行文件,如圖6所示.

圖5 3ds Max9建模示意圖 圖6 可執行模型示意圖
實驗所應用的操作系統為windows 7、處理器為Intel(R) Core(TM) i3、主頻為2.27 GHz、內存為8.0 GB的計算機.手勢信息采集和3D商品模型控制平臺為Python2.7.6,Python是一種開源免費、面向對象的腳本語言,它簡單、易學、可擴展性強,并且為程序開發人員提供了豐富的模塊庫,同C、C++和Java等常見語言相比,Python語言更加簡潔易懂.通過Python進行手勢識別,從而控制3D商品的縮放以及多角度旋轉等,下面分別為上移和下移、前移和后移和左移和右移三種手勢對3D商品的控制效果.
手平放,向靠近(遠離)Leap Motion的方向移動時,3D商品放大(縮小)稱為縮放.圖7為上移和下移手勢控制3D商品縮放的實驗結果圖,其中(a)為初始狀態,(b)為手平放后靠近設備時3D商品縮小的結果圖,(c)為手遠離設備時3D商品放大的結果圖.

(a)初始狀態(b)縮小圖示(c)放大圖示
圖7 3D物體縮放實驗結果圖
手平放,指尖慢慢高(低)于手腕方向時,3D商品向正前(后)方旋轉稱為前(后)轉.圖8為

(a)初始狀態 (b)前轉180度(c)后轉90度
圖8 3D物體前向和后向旋轉實驗結果圖
前移和后移手勢控制3D物體前后旋轉的實驗結果圖.其中(a)為手平放時的初始狀態,(b)為手平放后做指尖高于手腕運動時3D商品前向旋轉180度的結果圖,(c)為手平放后做手腕高于指尖運動時3D商品后向旋轉90度的結果圖.
手平放,手的右邊慢慢高(低)于左邊時,3D商品順(逆)時針旋轉稱為順(逆)轉.圖9為初始狀態下,左移和右移手勢控制3D物體順時針和逆時針旋轉的實驗結果圖.其中(a)為初始狀態,(b)為手平放后右邊慢慢抬起時3D商品順時針旋轉180度的結果圖,(c)為左邊抬起時3D商品逆時針旋轉90度的結果圖.

(a)初始狀態 (b)順轉180度(c)逆轉90度
圖9 3D物體順時針和逆時針旋轉實驗結果圖
三種手勢控制3D商品由(a)狀態變為(b)狀態以及由(b)狀態變為(c)狀態的時間如表2所示,能夠滿足實時性的要求.

表2 三種手勢控制3D商品的狀態變化時間ms
本文主要研究了基于Leap Motion的3D商品展示技術,通過直觀的三種手勢,以交互的方式實時地從各個角度進行展示,解決物品在平面全方位在線展示的問題,將復雜的設備操作變得輕松自如,提高主講人與參與者的交互性,比傳統二維的圖片和動畫展示更具有吸引力.但是,還存在一些不足,還可以進一步完善,主要有以下兩個方面:
(1)定義三種手勢,不能滿足所有用戶的需求.針對不同用戶,可以定義更精確、更適合用戶使用的手勢;
(2)通過3ds Max和OGRE進行3D商品建模,對其他建模方法還有待進一步研究.
[1]李哲.3D展示:不一樣的視覺盛宴[J].今日工程機械,2012(13):116-117.
[2]Leap[OL].https://www.leapmotion.com/.
[3]ZHENGYOU ZHANG.Microsoft Kinect Sensor and Its Effect[J].MultiMedia,IEEE,2012,19(2):4-10.
[4]ADHIKARLA V K.Freehand interaction with large-scale 3D map data[C].The True Vision-Capture,Transmission and Display of 3D Video (3DTV-CON),2014:1-4.
[5]CHENG HONG,LU YANG,ZICHENG LIU.A Survey on 3D Hand Gesture Recognition.Circuits and Systems for Video Technology[J].IEEE Transactions on,2015(99):1-1.
[6]AUTODESK[OL]http://www.autodesk.com.cn/adsk/servlet/pc/.
[7]3DSMAX[OL].http://www.autodesk.com/pro-ducts/3ds-max/overview.
[8]Unity[OL]http://unity3d.com/cn/.
[9]田茵.基于虛擬現實的三維產品展示[J].計算機教育,2009(6):119-123.
[10]倪樂波,戚鵬,遇麗娜,等.Unity3d產品虛擬展示技術的研究與應用[J].數字技術與應用,2010(9):54-55.
[11]俞璋凌,張萍,鐘華.基于Java 3D技術的產品網絡虛擬展示研究[J].湖北工業大學學報,2010(4):42-44.
[12]OGRE[OL]http://www.ogre3d.org/.
Study of 3D Product Display Technology based on Leap Motion
LIU Jinhuan,JIA Shijie,WANG Ping,HUO Dan
(School of Environmental Science and Engineering,Dalian Jiaotong University,Dalian 116028,China)
This paper proposes a method of 3D product display technology with Leap Motion.Firstly,the 3D product model is established with 3ds Max and OGRE.Secondly,the finger gestures are captured, tracked and recognized with Leap Motion.Finally,a real-time 3D product display system is implemented.The experimental results show that this method can display the product with the style of full 360-degree,stereoscopic and non-contact interaction and greatly enhance the user experience.
3D product display;Leap Motion;hand gesture recognition
1673-9590(2016)04-0110-04
2015-10-24
遼寧省教育廳高等學校科學研究計劃資助項目(L2014174)
劉金環(1989-),女,碩士,主要從事圖像處理與模式識別的研究E-mail:jiashijie@dl.cn.
A