霍鵬飛
(南陽師范學(xué)院 珠寶玉雕學(xué)院,河南 南陽 473061)
基于計算機視覺的3D手勢交互系統(tǒng)
霍鵬飛
(南陽師范學(xué)院 珠寶玉雕學(xué)院,河南 南陽473061)
隨著計算機的廣泛發(fā)展,鍵盤、鼠標等傳統(tǒng)的人機交互方式很難滿足用戶自然、便捷的交互需求。研究手勢建模、人手跟蹤和手勢交互系統(tǒng)的應(yīng)用成為熱點趨勢。提出了一種簡化的2D人手模型,該模型將人手建模為掌心點和5根手指,同時設(shè)計了一種基于粒子群優(yōu)化(PSO)算法的人手跟蹤方法,通過建模人手的生理和運動學(xué)約束關(guān)系,實現(xiàn)了基于2D/3D人手模型的PSO人手跟蹤,該手勢交互系統(tǒng)框架更具適用性和擴展性,融合了語義和反饋信息,提高了人手跟蹤的魯棒性和手勢識別的準確度。
人手跟蹤;人機交互;手勢識別;粒子群優(yōu)化;計算機視覺
手勢是人們?nèi)粘I钪凶畛S玫慕涣鞣绞街唬哂泻軓姷谋硪夤δ?,與鍵盤、鼠標等傳統(tǒng)交互設(shè)備相比,具有自然、直觀、友好、便捷等特點,更符合人們的交流習(xí)慣[1]。但是,由于手勢本身具有多樣性、多義性、多變性和時空差異性等特點,背景環(huán)境復(fù)雜多變、不可預(yù)知,加之人手自由度高而靈活,使得基于視覺的手勢交互成為一個極富挑戰(zhàn)性的多學(xué)科交叉的研究課題。基于視覺的手勢交互技術(shù)和方法的研究,不僅在人工智能、模式識別、機器學(xué)習(xí)等學(xué)科中具有重要的理論意義,在智能化的學(xué)習(xí)、工作以及生活中也具有非常廣泛的應(yīng)用前景[2]?;谝曈X的手勢交互技術(shù)是實現(xiàn)新一代人機交互不可缺少的一項關(guān)鍵技術(shù)。
1.12D人手建模
3D人手模型雖然能夠更加完備地建模人手參數(shù)空間,且有利于恢復(fù)3D人手信息,但由于3D人手模型維度高、參數(shù)空間復(fù)雜,且人手模型參數(shù)的渲染過程及模型投影過程都很復(fù)雜,故很難達到實時。而簡化的2D人手模型,自由度相對較低,參數(shù)空間小,且省略了復(fù)雜的渲染、投影過程,在執(zhí)行時間和效率上更具優(yōu)勢,且2D人手模型在一般情況下能夠滿足應(yīng)用需要,達到實時性要求,所以更具有實際應(yīng)用性。
在二維空間中對人手進行建模,該人手模型由一個手掌和5根手指組成,如圖1(a)所示,其中每根手指用其英文單詞的大寫首字母表示,則5根手指的集合可以表示為F={T,I,M,R,L}。將整個人手表示成32維的向量是手掌矩形框的中心點坐標,用來表示人手的全局運動;是5根手指的參數(shù)集合,每根手指用3個直線段表示,分別表示手指 f中第i段指節(jié)的斜率和截距,如圖1(b)所示。目前,嘗試使用手指間的夾角作為參數(shù),這樣幾乎可將人手參數(shù)空間減半,還可避免斜率為無窮時的復(fù)雜計算[3]。
圖1 人手模型
參考3D人手骨架模型的約束關(guān)系,同樣為2D人手模型引入約束[4]。假設(shè)已知各個手指指節(jié)的長度和寬度,每個手指即可用2個角度表示,一個角度表示根指節(jié)與圖像平面的夾角,另一個角度表示中指節(jié)與圖像平面的夾角,根據(jù)根指節(jié)、中指節(jié)夾角與中指節(jié)、端指節(jié)夾角之間的線性約束關(guān)系,即可由中指節(jié)與圖像平面夾角推導(dǎo)得到端指節(jié)與圖像平面的夾角。
1.2基于PSO的二維人手跟蹤
1.2.1預(yù)處理
采用從RGB-D傳感器獲得的彩色圖I和與之對應(yīng)的深度圖D作為原始輸入數(shù)據(jù)。其中,I和D都是640×480的矩陣,且D中的每個深度值對應(yīng)彩色圖I中的一個像素值[5]。對深度圖D進行閾值操作,得到目標人手區(qū)域,并進行平滑、去噪,得到新產(chǎn)生的深度圖Od;然后,對彩色圖I進行預(yù)處理,獲得膚色圖Os;將Os和Od進行融合并二值化作為評價假設(shè)人手參數(shù)的真實觀測數(shù)據(jù)O。
1.2.3目標函數(shù)
為了度量人手假設(shè)參數(shù)h與真實觀測幀O之間的差異,從而尋找出與真實觀測幀O最為接近的人手參數(shù)h,需要建立一個適應(yīng)度評測函數(shù)E(·),即PSO優(yōu)化求解中的目標函數(shù)。將目標函數(shù)E(·)定義為:
式中:λk是歸一化因子;C表示攝像機的校準參數(shù);P(·)用于懲罰無效的人手假設(shè);D(·)用于度量真實觀測幀O與人手假設(shè)h之間的不一致性。在本文中只考慮D(·),首先將假設(shè)人手參數(shù)h模型化,然后以表示手指指節(jié)的直線段為中軸線,以固定寬度為指長,通過渲染生成人手剪影,最后將其與真實觀測得到的人手目標區(qū)域進行異或操作,從而得到兩者之間的差值,并使其最小化。
1.2.4PSO優(yōu)化
假設(shè)粒子群的粒子個數(shù)為N,迭代次數(shù)為M。在原始PSO方法中,隨機產(chǎn)生N個粒子,或是采用搜索空間的均勻分布作為粒子群的初始位置,其初始速度均為0;利用時序關(guān)系約束并減小有效搜索空間,即將上一幀的人手跟蹤結(jié)果及其隨機擾動產(chǎn)生的鄰近位置作為當(dāng)前幀粒子群的初始位置信息[7]。每一幀真實觀測O對應(yīng)一個優(yōu)化求解問題。在人手參數(shù)搜索空間S中,通過最小化PSO方法的目標函數(shù)E(·)進行求解,并將最優(yōu)人手假設(shè)hmax作為當(dāng)前觀測幀的輸出,其中:
對于視頻序列中的每一幀O,在第k+1次迭代中,第i個粒子的速度更新公式為:
式中:ω為收縮因子;c1和c2為加速系數(shù)(又稱為學(xué)習(xí)因子),分別調(diào)節(jié)向個體最優(yōu)粒子和全局最優(yōu)粒子方向運動的最大步長;r1和r2是服從[0,1]均勻分布的隨機數(shù);hk.i表示第k次迭代時第i個粒子的當(dāng)前位置,也即人手參數(shù)空間中的某個點(對應(yīng)一個人手假設(shè));vk,i表示第k次迭代時第i個粒子的速度矢量,且每一維度d都限定在某個速度變化范圍表示至目前的前k次迭代中第i個粒子的自身局部最優(yōu)位置;Gk表示至目前的前k次迭代中所有粒子的全局最優(yōu)位置。粒子當(dāng)前位置的更新公式為:
即粒子的當(dāng)前位置是粒子在上次迭代中的位置矢量與當(dāng)前粒子速度矢量之和。第i個粒子的自身局部最優(yōu)位置Pk+1,i的更新公式為:
所有粒子的全局最優(yōu)位置Gk + 1 的更新公式為:
在經(jīng)過M次迭代后,所有粒子的全局最優(yōu)位置Gk(k=M)就是當(dāng)前觀測幀O的最優(yōu)人手假設(shè)hmax。將hmax及其N-1個隨機擾動產(chǎn)生的鄰近位置作為下一觀測幀對應(yīng)粒子群的初始位置信息h0,i,從而進行下一幀的PSO優(yōu)化人手估計。
2.1基于PSO的三維人手跟蹤
2.1.1搜索空間
人手模型參數(shù)空間即構(gòu)成搜索空間。根據(jù)27個自由度的人手骨架模型,加之各手指運動角度范圍的靜態(tài)約束和手指運動指節(jié)之間的動態(tài)約束,人手模型參數(shù)向量從27維降至15維:其中,拇指自由度由5降為2,中指自由度由4降為1,其他三根手指自由度均由4降為2,人手的全局位置信息表示有3個自由度,人手的旋轉(zhuǎn)角度表示有3個自由度[8]。所以,搜索空間是15維的模型參數(shù)空間,每個參數(shù)服從線性約束關(guān)系。
2.1.2目標函數(shù)
在得到3D人手模型的參數(shù)表示后,即對模型參數(shù)進行評估,以獲得與真實觀測最為匹配的人手模型參數(shù)。已知人手假設(shè)參數(shù)h和攝像機校準參數(shù)C,通過渲染技術(shù)得到h的渲染深度圖rd(h,C),并將其與對應(yīng)觀測幀的深度圖Od匹配,得到二值匹配深度圖rm(h,C)。也就是說,當(dāng)渲染深度圖rd與觀測深度圖Od相同像素位置的深度值之差小于預(yù)定義深度閾值dm或觀測深度圖Od相應(yīng)位置的深度丟失(深度值為零)時,rm相應(yīng)像素位置的深度值設(shè)為1,否則設(shè)為0。然后,將rm與真實觀測的膚色圖Os進行比較。
定義一個目標函數(shù)E(h,O)用來度量當(dāng)前觀測幀對應(yīng)的膚色和深度圖O與給定假設(shè)人手配置h渲染生成的二值匹配深度圖rm之間的差異,如式(7)所示:
式中:λk=2是歸一化因子;函數(shù)D(·)被定義為:
式中:第一項表示建模真實觀測O與人手假設(shè)配置h之間增強深度差異的絕對值;第二項表示建模假設(shè)人手配置與真實觀測之間的膚色像素差異;λ是歸一化常數(shù),需在整幅特征圖像上求和。
式(7)中,函數(shù)kc表示對運動學(xué)和生理學(xué)上難以實現(xiàn)的人手配置的懲罰項:
式中:Q表示拇指除外的三個相鄰手指對;φ表示給定假設(shè)人手配置h中手指之間外伸-內(nèi)收的角度差;取常量λ=20,λk=10,預(yù)定義深度閾值dm=1cm,dM=4 cm。
2.1.3優(yōu)化處理
(1)PCA主要步驟
假設(shè)給定N個D維的樣本h,由于存在噪音和數(shù)據(jù)冗余,它們并不分布在整個RD空間,而只分布在RD的某個子空間中。首先,通過子空間方法尋找符合某種準則的d個基向量wi∈RD,i=1,2,…,d;然后,將高維數(shù)據(jù)投影到這d個基向量確定的子空間中,即 zi=Whi且W=(w1,w2,…,wd)T。經(jīng)變換zi下降到d維,在保持絕大部分原始高維數(shù)據(jù)信息的同時,達到了降維的目的,具體步驟如下所述:
(1)計算h=(h1,h2,…,hN)T的協(xié)方差矩陣,計算公式如下:
(2)對矩陣S進行特征值分解:SW=WΛ,其中W 和Λ如式(11)所示,將特征值λ按從大到小降序排列:
(3)使用前d個特征值作為子空間的基底,設(shè)為矩陣L=(l1,l2,…,ld)T,L中的單位基向量之間彼此正交;
(4)原始數(shù)據(jù)h=(h1,h2,…,hN)T通過線性轉(zhuǎn)換Z=Lh得到新的數(shù)據(jù)表示Z,此時每個樣本維度為d,從而達到了降維的目的。
2.2實驗
在實驗室光照條件下,使用微軟的Kinect傳感器采集無標記人手運動的彩色圖像序列和與之對應(yīng)的深度圖像序列作為實驗室數(shù)據(jù),圖像大小為640×480。實驗是在CPU為Interl CoreTM2 Quad Q9550,內(nèi)存為4 GB的普通PC機上完成的。當(dāng)粒子個數(shù)N=60,最大迭代次數(shù)M=40時,人手跟蹤結(jié)果及其性能達到最優(yōu)。實驗結(jié)果表明,基于3D人手骨架模型的PSO人手跟蹤方法在復(fù)雜背景下能獲得較精確、魯棒性較好的人手跟蹤結(jié)果。
3.1手勢交互系統(tǒng)框架
在現(xiàn)有手勢交互系統(tǒng)的基礎(chǔ)上,構(gòu)建了一種具有可擴展性的基于視覺的手勢交互系統(tǒng)框架,如圖2所示,以適應(yīng)不同的應(yīng)用環(huán)境和操作需求。同時,由于基于視覺的手勢識別方法具有參數(shù)獲取不夠準確、識別率不夠高等特點,本框架通過引入多通道反饋機制,以便實時地在線修正參數(shù)誤差以提高識別率,從而提供更好的用戶體驗。
圖2 基于手勢識別的手勢交互系統(tǒng)流程
3.1.1模塊劃分
基于視覺的手勢交互系統(tǒng)框架包括上、下兩層:頂層交互界面反饋層和底層數(shù)據(jù)處理層。其中,底層數(shù)據(jù)處理層又可分為三大模塊:感知模塊,手勢識別模塊和交互模塊。其中,感知模塊由N個攝像頭組成,負責(zé)交互手勢動作的圖像序列采集工作;手勢識別模塊將手勢識別過程劃分為數(shù)據(jù)預(yù)處理、人手定位、人手跟蹤、連續(xù)手勢分割、手勢識別五個階段;交互模塊的功能是根據(jù)手勢識別結(jié)果語義信息,在預(yù)先定義好的手勢任務(wù)邏輯和底層操作庫的指導(dǎo)下,給出系統(tǒng)響應(yīng)或提示。
3.1.2反饋機制
在手勢交互系統(tǒng)框架中加入顯式和隱式兩層反饋機制,在保證系統(tǒng)時效性的基礎(chǔ)上,又能及時反饋系統(tǒng)信息,從而讓操作用戶擁有良好的操作體驗和真實的沉浸感。為給用戶提供良好的操作體驗和真實沉浸感,本文針對視覺數(shù)據(jù)流的3個不同處理階段,采用3種不同的界面反饋形式:手勢自反饋、識別結(jié)果反饋、系統(tǒng)響應(yīng)反饋。
基于語義反饋的手勢識別系統(tǒng),如圖3所示。首先,在預(yù)定義交互手勢基元庫的指導(dǎo)下,根據(jù)預(yù)定義手勢組合規(guī)則,對連續(xù)手勢分割的結(jié)果——手勢基元序列進行分析,輸出識別結(jié)果。當(dāng)結(jié)果不滿意時,則根據(jù)交互手勢語義信息,對前面各模塊的參數(shù)進行調(diào)整:如調(diào)整圖像序列采集所使用的Camera個數(shù)及其所占權(quán)重,調(diào)整連續(xù)手勢的分割規(guī)則權(quán)值,以最大化可能的分割決策等。在各模塊參數(shù)得到更新后,重新進行手勢識別過程,如此循環(huán),直到得到滿意的識別結(jié)果為止。
圖3 交互模塊
3.2基于視覺手勢的影像交互系統(tǒng)
3.2.1系統(tǒng)流程
以交互影像系統(tǒng)為應(yīng)用背景,以基于視覺的手勢交互技術(shù)為支撐,實現(xiàn)了基于視覺手勢的影像交互系統(tǒng),系統(tǒng)的框架和操作流程如圖4所示,分為輸入、交互、輸出三個階段。
圖4 影像交互系統(tǒng)流程圖
3.2.2系統(tǒng)演示
(1)手勢控制場景圖片
在手勢控制場景圖片實驗中,系統(tǒng)控制命令由右手手勢表達。其中,五指并攏表示標定初始幀,表示手勢交互的開始;使用手指之間張角的大小控制虛擬場景圖片(本實驗采用虛擬圓球)的縮放尺度,即圓球隨著手指之間張角變大/變小進行相應(yīng)的放大/縮??;使用手勢與圖像平面之間的夾角控制圓球的旋轉(zhuǎn)角度,從而讓圓球球心與中指一直保持在同一條直線上;握拳手勢表示退出交互系統(tǒng)。手勢控制場景圖片的演示截圖如圖5所示。
圖5 手勢控制場景圖片
(2)手勢控制影像交互
在手勢控制影像交互實驗中,同樣用右手手勢控制系統(tǒng)命令。首先,按照舞臺劇或情景劇的模式設(shè)計并拍攝各節(jié)視頻段,以及中間過程需要的道具圖片,并定義手勢與系統(tǒng)命令的映射關(guān)系。在沒有用戶參與交互的情況下,各段視頻按照預(yù)先設(shè)定的順序播放,當(dāng)播放至選擇階段,系統(tǒng)彈出提示界面,并定位在當(dāng)前幀,當(dāng)用戶根據(jù)提示信息和自己的意愿進行選擇,做出相應(yīng)的動作和手勢。手勢捕捉系統(tǒng)實時對當(dāng)前手勢進行預(yù)處理、分析和識別,當(dāng)手勢被識別后,直接調(diào)用或觸發(fā)系統(tǒng)命令,實時反饋或響應(yīng),獲得預(yù)期的視覺效果或視頻播放序列。
人手建模、手勢跟蹤以及手勢交互系統(tǒng)框架在基于手勢識別的交互應(yīng)用中是非常重要的三個方面。本文首先提出了一種簡化的2D人手模型,并通過添加各個手指之間以及手指指節(jié)之間的運動約束,從而將整個人手表示為12維向量的形式;然后提出了一種基于粒子群優(yōu)化(PSO)的人手跟蹤方法,并分別實現(xiàn)了基于2D簡化人手模型和3D骨架模型的PSO人手跟蹤方法,采用PSO方法在人手模型參數(shù)空間尋找與真實觀測最為匹配的假設(shè)人手配置作為跟蹤結(jié)果輸出;最終,完成了一種具有可擴展性的融合語義和反饋信息的手勢交互系統(tǒng)框架,實現(xiàn)了一種基于視覺手勢的影像交互系統(tǒng)。
[1]REKIMOTO J.GestureWrist and GesturePad:unobtrusive wearable interaction devices[C]//Proceedings of the Fifth IEEE InternationalSymposiumonWearableComputers.Zurich: IEEE,2001:21-27.
[2]武匯岳,張鳳軍,劉玉進,等.UIDT:基于視覺的手勢界面關(guān)鍵技術(shù)研究[J].計算機學(xué)報,2009(10):2030-2041.
[3]李清水,方慮剛,沈模衛(wèi).手勢識別技術(shù)及其在人機交互中的應(yīng)用[J].人類工效學(xué),2002,8(1):27-33.
[4]任海兵,祝遠新,徐光佑,等.基于視覺手勢識別的研究綜述[J].電子學(xué)報,2000,28(2):118-121.
[5]王西穎,張習(xí)文,戴國忠.一種面向?qū)崟r交互的變形手勢跟蹤方法[J].軟件學(xué)報,2007,18(10):2423-2433.
[6]陳守滿,朱偉,王慶春.圖片操作的手勢動態(tài)識別系統(tǒng)[J].現(xiàn)代電子技術(shù),2012,35(22):4-6.
[7]ZHOU H,LIN D J,HUANG T S.Static hand gesture recognition based on local orientation histogram feature distribution model[C]//Proceedings of 2004 IEEE Conference on Computer Vision and Pattern Recognition Workshop.Washington,D.C.:IEEE,2004:161-167.
[8]朱衛(wèi)華,劉國穩(wěn),肖沛,等.基于SoC的數(shù)據(jù)采集與交互系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2014,37(2):127-130.
3D gesture interactive system based on computer vision
HUO Pengfei
(Institute of Jewelry and Jade Carving,Nanyang Normal University,Nanyang 473061,China)
With the wide development of the computer,the keyboard,mouse and other traditional human-computer interaction modes are difficult to meet the users′natural and convenient interaction needs.The study on the applications of gesture modeling,hand tracking and gesture interactive system has become a hotspot.A simplified 2D hand model is proposed in this paper,in which the hand is modeled as the palm point and 5 fingers.A hand tracking method based on particle swarm optimization(PSO)algorithm was designed,and the PSO hand tracking based on 2D/3D hand model was realized by modeling the physiology and kinematics constraint relation of the hand.The framework of this gesture interactive system has applicability and scalability.It fused the semantics and feedback information,and improved the robustness of hand tracking and accuracy of gesture recognition.
hand tracking;human-computer interaction;gesture recognition;particle swarm optimization;computer vision
TN911.73-34;TM417
A
1004-373X(2016)17-0026-04
10.16652/j.issn.1004-373x.2016.17.007
2015-11-06
霍鵬飛(1982—),男,吉林白城人,碩士研究生,講師。研究方向為美術(shù)學(xué)。