劉金環(huán),賈世杰,王平,霍丹
(大連交通大學(xué) 電氣信息學(xué)院,遼寧 大連 116028)*
?
基于Leap Motion的3D商品展示技術(shù)研究
劉金環(huán),賈世杰,王平,霍丹
(大連交通大學(xué) 電氣信息學(xué)院,遼寧 大連 116028)*
提出了基于Leap Motion的3D商品展示技術(shù),通過3ds Max和OGRE建立商品3D模型,運(yùn)用Leap Motion完成對手指手勢的捕獲、追蹤和識(shí)別,最后將手勢識(shí)別技術(shù)和3D技術(shù)相結(jié)合,實(shí)現(xiàn)實(shí)時(shí)3D商品展示.實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)方法能夠以無接觸交互方式對商品進(jìn)行全方位360度立體展示,能夠大大提升用戶體驗(yàn)效果.
3D商品展示;Leap Motion;手勢識(shí)別
商品在線展示是電子商務(wù)中的一個(gè)關(guān)鍵環(huán)節(jié),全面真實(shí)的商品展示能有效促進(jìn)電子商務(wù)的發(fā)展.當(dāng)前的商品在線展示主要包括二維平面展示和360°產(chǎn)品展示[1],二維平面展示不能真實(shí)全面的展示商品特點(diǎn),目前最新的三維產(chǎn)品展示,如飛利浦、淘寶、亞馬遜等部分商品以動(dòng)畫和360°全景視頻的方式展示,但是缺少與消費(fèi)者的互動(dòng).本文研究基于Leap Motion手勢識(shí)別的3D商品展示技術(shù),有效解決商品在線展示不真實(shí)、不全面以及與用戶缺乏互動(dòng)等問題.
Leap Motion[2]通過紅外LED和攝像頭完成目標(biāo)捕捉,可以追蹤10根手指,精度高達(dá)0.01 mm,并以200幀/s追蹤手部移動(dòng),使得追蹤信息與手部移動(dòng)同時(shí)進(jìn)行,在設(shè)備體積、靈敏度、交互速度和精度上都要優(yōu)于微軟的Kinect[3].文獻(xiàn)[4]通過mMap在二維平面建立光場可視化3D地圖模型,基于Leap Motion定義三種手勢實(shí)現(xiàn)與3D地圖的實(shí)時(shí)交互.本文借鑒其交互方法基于Leap Motion將手勢識(shí)別技術(shù)[5]和3D商品展示技術(shù)相結(jié)合,通過手勢去控制3D商品,以交互的方式實(shí)現(xiàn)商品展示,有效解決了與用戶缺乏互動(dòng)的問題.
3D產(chǎn)品展示技術(shù)作為3D范疇的一個(gè)新興技術(shù),可以彌補(bǔ)普通產(chǎn)品展示的不足,具有較大的發(fā)展前景和發(fā)展空間.目前,應(yīng)用較多的3D建模軟件有三種:Autodesk Maya[6]、3D Studio Max[7]和Unity3D[8].文獻(xiàn)[9]中使用3ds Max設(shè)計(jì)商品三維模型,通過Cult3D模擬三維產(chǎn)品,實(shí)現(xiàn)網(wǎng)頁版的三維產(chǎn)品展示;文獻(xiàn)[10]中研究實(shí)現(xiàn)了基于Unity3D的虛擬顯示系統(tǒng),最終在網(wǎng)頁上展示出來;文獻(xiàn)[11]中利用Java 3D技術(shù)實(shí)現(xiàn)了產(chǎn)品網(wǎng)絡(luò)虛擬展示系統(tǒng).本文通過3ds Max和OGRE圖像渲染引擎完成3D產(chǎn)品的建模和展示,與傳統(tǒng)的二維靜態(tài)圖片展示相比更真實(shí)全面,更能突出商品細(xì)節(jié).
本文研究工作包括手勢定義、3D模型建立和控制三個(gè)部分.通過研究Leap Motion控制器工作原理,根據(jù)Leap Motion捕捉到的目標(biāo)信息提取手勢相關(guān)的有用信息,定義三種常用手勢.通過3ds Max進(jìn)行建模,然后通過OGRE圖形渲染引擎使模型脫離3ds Max軟件,生成獨(dú)立操作的可執(zhí)行文件.最后通過窗口消息的圖形視圖軟件Spy++獲得模型接口,通過手勢完成3D模型的控制,其主要工作流程如下圖1所示.
圖1 基于Leap Motion的3D商品展示示意圖
1.1 手勢定義
Leap Motion控制器采用立體視覺原理,根據(jù)內(nèi)置的兩個(gè)攝像頭從不同角度同時(shí)捕捉目標(biāo),通過建立三維空間的右手笛卡爾直角坐標(biāo)系,重建出手掌在真實(shí)世界三維空間的運(yùn)動(dòng)信息.如圖2所示:坐標(biāo)原點(diǎn)是控制器的中心,坐標(biāo)X軸平行于控制器指向屏幕右方,坐標(biāo)Y軸垂直指向上方,
坐標(biāo)Z軸指向背離屏幕的方向.
圖2 Leap Motion三維空間直角坐標(biāo)系
Leap Motion控制器可以在其視野范圍內(nèi)定期的發(fā)送關(guān)于手的運(yùn)動(dòng)信息,本文根據(jù)檢測到的數(shù)據(jù)進(jìn)行手勢的定義,手掌法向量、手指方向和位置示意圖如圖3~4所示.
圖3 手掌法向量和 方向示意圖 圖4 手指方向和位置示意圖
根據(jù)Leap Motion捕捉到的目標(biāo)信息,本文通過判斷手掌法向量,計(jì)算手的移動(dòng)方向、速度、位移以及俯仰角、翻滾角等變化情況定義了上移和下移、前移和后移和左移和右移三種手勢,具體內(nèi)容如下表1所示.
表1 上移和下移、前移和后移、左移和右移手勢定義
1.2 3D建模
本文通過3ds Max9對商品進(jìn)行建模,建立好的模型可以通過鼠標(biāo)進(jìn)行放大、縮小以及旋轉(zhuǎn)等操作,但是模型依附于3ds Max9軟件,不方便用戶操作.自2001年以來,OGRE[12]已經(jīng)成為最受歡迎的開源圖形渲染引擎之一,并已廣泛應(yīng)用于游戲、仿真器、教育軟件、科學(xué)可視化等領(lǐng)域.本文通過3ds Max9對物體進(jìn)行建模后,通過oFusion導(dǎo)出場景模型文件,通過OGRE對場景圖形進(jìn)行渲染,用VS2008編程得到脫離3ds Max的商品模型可執(zhí)行文件,以青花瓷盤為例,具體操作過程如下:
(1)通過3ds Max9對青花瓷盤進(jìn)行建模,并給模型貼圖,賦予材質(zhì),建好后的模型如圖5所示;
(2)安裝oFusion場景插件,導(dǎo)出場景模型文件,即*.osm文件;
(3)安裝并配置Ogre1.9.0圖像渲染引擎;
(4)通過VS2008創(chuàng)建Ogre Root并加載該資源文件;
(5)創(chuàng)建渲染窗口和場景管理器;
(6)創(chuàng)建相機(jī),生成3D商品模型的可執(zhí)行文件,如圖6所示.
圖5 3ds Max9建模示意圖 圖6 可執(zhí)行模型示意圖
實(shí)驗(yàn)所應(yīng)用的操作系統(tǒng)為windows 7、處理器為Intel(R) Core(TM) i3、主頻為2.27 GHz、內(nèi)存為8.0 GB的計(jì)算機(jī).手勢信息采集和3D商品模型控制平臺(tái)為Python2.7.6,Python是一種開源免費(fèi)、面向?qū)ο蟮哪_本語言,它簡單、易學(xué)、可擴(kuò)展性強(qiáng),并且為程序開發(fā)人員提供了豐富的模塊庫,同C、C++和Java等常見語言相比,Python語言更加簡潔易懂.通過Python進(jìn)行手勢識(shí)別,從而控制3D商品的縮放以及多角度旋轉(zhuǎn)等,下面分別為上移和下移、前移和后移和左移和右移三種手勢對3D商品的控制效果.
手平放,向靠近(遠(yuǎn)離)Leap Motion的方向移動(dòng)時(shí),3D商品放大(縮小)稱為縮放.圖7為上移和下移手勢控制3D商品縮放的實(shí)驗(yàn)結(jié)果圖,其中(a)為初始狀態(tài),(b)為手平放后靠近設(shè)備時(shí)3D商品縮小的結(jié)果圖,(c)為手遠(yuǎn)離設(shè)備時(shí)3D商品放大的結(jié)果圖.
(a)初始狀態(tài)(b)縮小圖示(c)放大圖示
圖7 3D物體縮放實(shí)驗(yàn)結(jié)果圖
手平放,指尖慢慢高(低)于手腕方向時(shí),3D商品向正前(后)方旋轉(zhuǎn)稱為前(后)轉(zhuǎn).圖8為
(a)初始狀態(tài) (b)前轉(zhuǎn)180度(c)后轉(zhuǎn)90度
圖8 3D物體前向和后向旋轉(zhuǎn)實(shí)驗(yàn)結(jié)果圖
前移和后移手勢控制3D物體前后旋轉(zhuǎn)的實(shí)驗(yàn)結(jié)果圖.其中(a)為手平放時(shí)的初始狀態(tài),(b)為手平放后做指尖高于手腕運(yùn)動(dòng)時(shí)3D商品前向旋轉(zhuǎn)180度的結(jié)果圖,(c)為手平放后做手腕高于指尖運(yùn)動(dòng)時(shí)3D商品后向旋轉(zhuǎn)90度的結(jié)果圖.
手平放,手的右邊慢慢高(低)于左邊時(shí),3D商品順(逆)時(shí)針旋轉(zhuǎn)稱為順(逆)轉(zhuǎn).圖9為初始狀態(tài)下,左移和右移手勢控制3D物體順時(shí)針和逆時(shí)針旋轉(zhuǎn)的實(shí)驗(yàn)結(jié)果圖.其中(a)為初始狀態(tài),(b)為手平放后右邊慢慢抬起時(shí)3D商品順時(shí)針旋轉(zhuǎn)180度的結(jié)果圖,(c)為左邊抬起時(shí)3D商品逆時(shí)針旋轉(zhuǎn)90度的結(jié)果圖.
(a)初始狀態(tài) (b)順轉(zhuǎn)180度(c)逆轉(zhuǎn)90度
圖9 3D物體順時(shí)針和逆時(shí)針旋轉(zhuǎn)實(shí)驗(yàn)結(jié)果圖
三種手勢控制3D商品由(a)狀態(tài)變?yōu)?b)狀態(tài)以及由(b)狀態(tài)變?yōu)?c)狀態(tài)的時(shí)間如表2所示,能夠滿足實(shí)時(shí)性的要求.
表2 三種手勢控制3D商品的狀態(tài)變化時(shí)間ms
本文主要研究了基于Leap Motion的3D商品展示技術(shù),通過直觀的三種手勢,以交互的方式實(shí)時(shí)地從各個(gè)角度進(jìn)行展示,解決物品在平面全方位在線展示的問題,將復(fù)雜的設(shè)備操作變得輕松自如,提高主講人與參與者的交互性,比傳統(tǒng)二維的圖片和動(dòng)畫展示更具有吸引力.但是,還存在一些不足,還可以進(jìn)一步完善,主要有以下兩個(gè)方面:
(1)定義三種手勢,不能滿足所有用戶的需求.針對不同用戶,可以定義更精確、更適合用戶使用的手勢;
(2)通過3ds Max和OGRE進(jìn)行3D商品建模,對其他建模方法還有待進(jìn)一步研究.
[1]李哲.3D展示:不一樣的視覺盛宴[J].今日工程機(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]田茵.基于虛擬現(xiàn)實(shí)的三維產(chǎn)品展示[J].計(jì)算機(jī)教育,2009(6):119-123.
[10]倪樂波,戚鵬,遇麗娜,等.Unity3d產(chǎn)品虛擬展示技術(shù)的研究與應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2010(9):54-55.
[11]俞璋凌,張萍,鐘華.基于Java 3D技術(shù)的產(chǎn)品網(wǎng)絡(luò)虛擬展示研究[J].湖北工業(yè)大學(xué)學(xué)報(bào),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
遼寧省教育廳高等學(xué)??茖W(xué)研究計(jì)劃資助項(xiàng)目(L2014174)
劉金環(huán)(1989-),女,碩士,主要從事圖像處理與模式識(shí)別的研究E-mail:jiashijie@dl.cn.
A