一種基于場景態勢感知的人機交互方法
【專利摘要】本發明提供了一種基于場景態勢感知的人機交互方法,屬于人機交互領域。該基于場景態勢感知的人機交互方法利用最小二乘法擬合平行線束,判斷在平行線束內的物體距離直線的距離,根據該物體與虛擬手的距離來判斷用戶的操作意圖,并且采用包圍盒大小實現控制Z變量在合適的范圍內變化,最終實現相向互動。本發明提出的基于包圍盒大小來控制Z變量變化,得到很好的效果;在用戶有目的的移動的情況下,擬合直線束預測用戶想要操作的物體的正確率達87%以上。
【專利說明】
一種基于場景態勢感知的人機交互方法
技術領域
[0001] 本發明屬于人機交互領域,具體涉及一種基于場景態勢感知的人機交互方法。
【背景技術】
[0002] 隨著計算機科學技術的不斷發展,智能化人機交互逐漸成為計算模式發展的主導 趨勢。特別是Mark Weiser在20世紀90年代提出的"Ubicomp"(無所不在的計算)的概念之 后,這一趨勢表現的更加明顯。在交互過程中,為了減輕人的操作負荷和記憶負擔,需要拓 展傳統的交互方式,在顯示人機交互的基礎上融入隱式人機交互(impl ic it human computer interaction,IHCI)〇
[0003] 目前,隱式人機交互已經成為交互領域中的重要研究前沿。澳大利亞斯威本科技 大學的Kaiyan在1996年就提出了IHCI的概念,但并未深入。從2005年開始,美國、德國、中 國、奧地利等國內外大學和研究所,對IHCI理論和應用逐步開展了深入研究。德國卡爾斯魯 厄大學的Schmidt在隱式交互的理論研究方面進行的較早,認為隱式交互的兩要素是感知 和推理,并提出上下文信息對交互過程是極為重要的,同時基于XML語言,對交互過程進行 建模,并且介紹了下文對人機交互的益處。Young-Min Jang等人根據人的眼睛運動隱含的 意圖開發了一個系統,該系統可以根據瞳孔大小變化以及位置來劃分人的隱式輸入意圖。 而BojanBla2ica等則將隱式交互用到了照片采集管理系統上。在算法上,Hamid Mcheick 則提出了一種基于上下文感知模型,能夠適應動態的環境和靈活與用戶進行互動。在互聯 網領域基于上下文信息的隱式交互也得到了應用,例如 :M.Khedr等人則利用上下文信息建 立了一個多代理的框架,用來維持本地和不同域之間的應用。
[0004]在我國,由清華大學陶霖密等人開發了自適應視覺系統,檢測與理解用戶行為,進 行隱式交互。同時,中國科學院軟件研究所的田豐[1()]也從后WMP用戶界面的角度,研究了 隱式交互的特性。王巍等人提出對于隱式人機交互過程,較多的使用用戶上下文信息,包括 用戶行為、情感狀態(例如:Irina CRISTES⑶的情感化設計方法)和生理狀態等,但也有一 些使用環境上下文信息,提供諸如基于位置的服務等在使用的傳感器種類上,則主要集中 于三類:視覺傳感器生理傳感器和物理量傳感器,其中的視覺傳感器得到較為廣泛的應用 在信號的連續性上,多為離散的檢測方式,僅在對生理信號檢測時采用連續檢測方式。高雋 在圖像語義分析與理解綜述中歸納圖像語義特征及上下文表示的基礎上,全面闡述生成 法、判別法和句法描述法3種圖像語義處理策略。岳瑋寧等人提出了一種上下文感知和調度 的策略用于智能交互系統,從而提高了系統的智能型。而馮志全等人則將上下文信息用到 手勢跟蹤中,并取得了很好地效果。
[0005]然而,根據上下文信息的人機交互,大都使用在已經有明確的操作對象之后,一般 都是有一些預先定義好的語義指令。比如:動作A完成后,若用戶做了動作B,計算機猜測用 戶可能想要達到什么目的;若用戶做了動作C,計算機則猜測用戶想要達到其他的效果。這 樣一個動作根據上下文就可以賦予不同的結果。可以大大減輕用戶的操作負荷,使操作變 得更加人性化。在實驗過程中,確定操作對象還是采用傳統的PF跟蹤和碰撞檢測 [16]的方 法。雖然碰撞檢測的精度高,但是碰撞檢測的時間復雜較高,這對于虛擬場景比較復雜的情 況是很大的弊端。
【發明內容】
[0006] 本發明的目的在于解決上述現有技術中存在的難題,提供一種基于場景態勢感知 的人機交互方法,。
[0007] 本發明是通過以下技術方案實現的:
[0008] -種基于場景態勢感知的人機交互方法,利用最小二乘法擬合平行線束,判斷在 平行線束內的物體距離直線的距離,以及該物體與虛擬手的距離來判斷用戶想要操作的意 圖,并且采用包圍盒大小實現控制Z變量在合適的范圍內變化,最終實現相向互動。
[0009]所述方法包括:
[0010]第一步:對獲取的一幀圖像進行圖像分割并將圖像進行二值化;
[0011]第二步:求二值化后的圖像的質心坐標,包圍盒大小以及左上角坐標;
[0012]第三步:計算質心坐標差值向量并根據包圍盒大小和坐標確定三維虛擬場景中人 手移動的方向和距離;
[0013] 第四步:使用opengl自帶的函數glTranslatef (dx,dy,dz)移動虛擬環境中的三維 人手,若一個方向的改變量遠大于另一個方向,那么只考慮主方向運動;
[0014]第五步:判斷幀數是否大于給定值,若小于,則返回第一步;若等于,則采用最小二 乘法擬合直線,并求出相關系數,然后返回第一步,若大于,則計算當前質心到直線的距離h
(公式3:. 7)
[0016]其中k表示直線斜率,b表示截距,(xo,yo)表示當前質心坐標點,轉入第六步;
[0017] 第六步:判斷是否連續3幀圖像獲得的距離都大于設定值C0,若不是,則表明在規 定的直線束范圍內,轉入第七步,如果是,則重新擬合直線,返回第一步;
[0018] 第七步:判斷該方向物體個數,若只有一個,則計算人手與物體的距離,然后轉入 第八步;若有多于一個的物體,則通過高光顯示提示用戶是否相對該物體操作,若用戶靜止 不動,則表示不是該物體,若用戶向前移動,則表示用戶要對該物體操作,然后計算人手與 物體的距離,轉入第八步;
[0019] 第八步:判斷人手是否能夠得到物體,若夠不到,則將物體向人手移動到合適的位 置;若能夠到,則判斷人手與物體的距離是否小于給定值ho,最后,通過手勢識別,對物體進 行其他操作。
[0020] 所述第一步中是根據膚色模型進行圖像分割。
[0021] 所述第一步中的將圖像進行二值化是這樣實現的:如果圖像中是膚色,則置為一, 否則置為零。
[0022]所述第二步是這樣實現的:
[0023]根據求質心坐標公式求得二值化后的圖像的質心坐標,包圍盒大小以及左上角坐 標:
0 R ^ 0
[0025] 其中,(Xc,y。)表示質心坐標;% = {t n ,n^為圖像的像素點的灰度,有為1, ? 1 R-255 無為〇;i表示行,j表示列;R是彩色圖像RGB中的紅色分量;Xl像素點的橫坐標,^像素點的豎 坐標;
[0026] = max{(x,_y) | /(x,j;)矣 0,x,>' g iV.十且x<400,y<300}
[0027] X隱=min'{(x,3;) | /(x,_y)式 0,x,.v g且x<400,y<300}
[0028] >隨、=max{(x,j;) | /(.x,j,)矣 0,x,_>' e iVr+且x<400,y<300} J
[0029] ^,n = min{(x, v) | f(x,y) ^ 0,x, v g A/+^x<4〇〇,y<3〇o}
[0030]其中:
[0031] Xmax表示滿足f(x,y)乒0,x,yGN+且x<400,y<300的橫坐標的最大值
[0032] Xmin表示滿足f(x,y)乒0,x,yGN+且x<400,y<300的橫坐標的最小值
[0033] Ymax表示滿足f(x,y)乒0,x,yGN+且x<400,y<300的縱坐標的最大值
[0034] Ymin表示滿足f (x,y)乒0,x,yGN+且x<400,y<300的縱坐標的最小值,
[0035 ] f (x,y)辛0表示二值化圖像中坐標點(x,y)的像素值不為0,x為像素點的橫坐標,x 為0到400的正整數;y表示像素點的縱坐標,y為0到300的正整數;max為求最大值函數,min 為求最小值函數;
[0036] 包圍盒寬度:L = Xmax-Xmin ;包圍盒高度:W = Ymax-Ymin ;左上角坐標P ( X,y) = ( Xmin, Ymin) 〇
[0037]所述第三步是這樣實現的:
[0038] 質七、坐?不差值:(5x,5y) 一 ( Xnow, y now ) - ( Xf ormer , Y former )萬向:(_3x,_5y ) V.\-,為')*.3.0 (L,W)g.S\ ' (Sx,Sy)* 2.5 (L,W)gS2
[0039] 距離:h=丨、(知,6>)=* 2.0 (L,W)eS3 > (Sx,Sy)* 1.5 (L,W)eS4 〇y.vV>>)*l_0 (LW)eS5
[0040] Sl = {(L,ff) |210<L<285,180<ff<240}
[0041 ] S2={(L,ff) 1185<L<210,145<ff<180}
[0042] S3={(L,ff) 1150<L<185,120<ff<145}
[0043] S4={(L,ff) 1110<L<150,100<ff<120}
[0044] S5={(L,W) |97<L<110,85<W<100}。
[0045] 其中,L表示包圍盒寬度;W表示包圍盒高度,31,32,33,34,35表示包圍盒大小€(1, W)是質心坐標差值的映射函數,(Sx,Sy)表示質心坐標差值所述第五步中的給定值為8。 [0046] 所述第六步中的C0 = 8。
[0047] 所述第八步中的ho = 0.4。
[0048]所述第八步中的其它操作包括:旋轉,縮放,平移。
[0049]所述第八步中的手勢識別采用基于Hausdorff距離的模板匹配算法來實現,即將 獲得的特征與庫文件分別計算Hausdorff?距離,距離越小,表示特征點匹配的越好。
[0050] 與現有技術相比,本發明的有益效果是:
[0051] 本發明提出了基于最小二乘法擬合直線束來預測用戶的運動軌跡,從而確定用戶 想要操作的物體,然后根據虛擬場景中人手與物體的距離來確定操作對象。本方法本身也 是利用基于上下文信息來實現的。實驗表明,本發明提出的基于包圍盒大小來控制Z變量變 化,得到很好的效果;在用戶有目的的移動的情況下,擬合直線束預測用戶想要操作的物體 的正確率達87%以上。
【附圖說明】
[0052] 圖1 opengl圖像顯示原理 [0053]圖2攝像捕獲圖像示意圖
[0054] 圖3 matlab擬合直線束 [0055]圖4本發明方法的步驟框圖。
【具體實施方式】
[0056]下面結合附圖對本發明作進一步詳細描述:
[0057]基于上下文信息的隱式交互,在虛擬場景中得到了廣泛的應用和研究。基于普通 攝像頭下獲得的二維平面圖像很難控制虛擬場景中的三維人手的運動。在操作過程中,人 手對物體的選擇大都采用碰撞檢測,然而碰撞檢測的時間復雜度很高,尤其是在場景較為 復雜的虛擬環境中。為了解決這個問題,本發明進行了以下創新:(1)提出了一種場景態勢 感知的新方法;(2)利用最小二乘法擬合平行線束,判斷用戶想要操作的意圖,并且采用包 圍盒大小實現控制Z變量在合適的范圍內變化。
[0058]本發明方法具體如下:
[0059] -,準備工作:
[0060] 1圖像分割
[0061] 在圖像分割之前首先要對圖像進行濾波,去除噪聲,當然也會使得原圖變得平滑 (BP:模糊)。然后再對濾波后的圖像進行分割。目前常用的圖像分割的方法可以分為:閾值 分割法(請參考:唐好魁.基于雙膚色模型的膚色分割方法的研究[D].山東大學,2009),邊 緣檢測法(請參考:路凱,李小堅,周金祥.基于膚色和邊緣輪廓檢測的手勢識別[J].北方工 業大學學報,2006,03:12-15;張春雪.圖像的邊緣檢測方法研究[D].江南大學,2011.)和區 域分割法以及結合定理工具的分割方法。此外還有屈晶晶(請參考:屈晶晶,辛云宏.連續幀 間差分與背景差分相融合的運動目標檢測方法[J].光子學報,2014,07:219-226.)等人提 出的連續幀間差分與背景差分相融合的分割方法。本發明參照采用膚色模型(請參考:唐好 魁.基于雙膚色模型的膚色分割方法的研究[D].山東大學,2009)(YCbCr)的將人手和背景 分割開來,并將圖像二值化。
[0062] 2特征提取
[0063]特征提取的方法多種多樣。陶桑彪等人(請參考:陶桑彪,焦國太.靜態手勢圖像輪 廓特征提取算法研究[J].山西電子技術,2015,02:90-91)提出一種輪廓與膚色統計融合的 靜態手勢輪廓特征提取算法,先通過膚色將手勢輪廓提取出來,然后再提取輪廓的信息。朱 繼玉等提出了一種新穎的手勢分割和整體及局部手勢特征提取算法.用模糊集合來描述視 頻流中空域和時域上的背景、顏色、運動等信息,通過對它們執行模糊運算,分割出人手;任 海兵(請參考:任海兵,徐光祐,林學阇.基于特征線條的手勢識別[J].軟件學報,2002,05: 987-993)等人通過融合顏色、運動和邊緣等多種信息以提取能夠反應人手結構特性的特征 線條,并將特征線條分割成小的曲線段,并跟蹤這些曲線段的運動。馮志全(請參考:馮志 全,楊波,鄭艷偉,徐濤,李毅,朱德良.基于特征點分布分析的手勢特征檢測方法[J].計算 機集成制造系統,2011,11:2333-2338+2340-2342)等人提出的手勢特征點分離算法,將手 勢外接圓半徑等分成不同的區域,然后再提取特征。這種方法簡單而且具有一定的旋轉和 縮放不變性。本發明就采用文獻(馮志全,楊波,鄭艷偉,徐濤,李毅,朱德良.基于特征點分 布分析的手勢特征檢測方法[J].計算機集成制造系統,2011,11:2333-2338+2340-2342)的 方法,提取手勢的特征點。
[0064] 3手勢動作識別
[0065]手勢識別的方法主要有:模板匹配法,統計識別法,模糊識別法和人工神經網絡分 類法,以及形狀匹配法。常用的形狀匹配法有不變矩法、幾何參數法、特征模表示法、邊界方 向直方圖法、小波重要系數法,以及我國學者研究發表的小波輪廓表示法等。本發明使用的 手勢識別的方法是基于Hausdorff距離(請參考:張良國,吳江琴,高文,姚鴻勛.基于 Hausdorff距離的手勢識別[J].中國圖象圖形學報,2002,11:43-49)的模板匹配算法。就是 將獲得的特征與庫文件分別計算Hausdorff?距離,距離越小,表示特征點匹配的越好。具體 算法如下:
[0066]設A,B為兩個點集分別有N個和M個元素,則A,B間的Hausdorff距離H(A,B)定義為
[0067] H(A,B)=max{h(A,B),h(B,A)} (公式 1.1)
[0068] 代碼如下: Temp-Cnt =0; I or I =0:N For J - 0:M
[0069] Temp = mi-n| |A.i-Bj'| |. Cnt=Max{temp, Cnt} 二 cnt
[0070] 同理,即可求出h(B,A),從而得到H(A,B)。
[0071] 二,場景建模
[0072] 1圖像顯示簡介
[0073] 在虛擬環境中,由于OpenGL圖像顯示的原理,如圖1所示。
[0074]不同的xy平面(Z = C的平面),移動相同的距離(D),在屏幕上顯示物體的移動卻不 同(即:離視點越近,在屏幕上移動的距離越大)。所以,對于虛擬場景中的不同物體(它們的 Z軸坐標可能并不相同),既不能采用相同的函數去移動它們。
[0075]而且,在普通攝像頭下獲得的二維圖像,很難控制虛擬場景中三維手在三維空間 的移動。所以很多研究者都采用動畫的方式來避免這么問題。本發明則利用距離攝像頭越 近,獲得的手勢的包圍盒越大這個原理如圖2所示,將這一分量,用來控制Z軸坐標的變化。 [0076] 2確定映射關系
[0077]通過大量的實驗,計算同一年齡段(20-26)每一個人的人手(區分男女)在距離攝 像頭一定距離下(D),包圍盒的大小。根據統計學中概率公式
(公式2. 1) (公式2. 2)
[0080]求出L和W。然后,統計不同距離范圍下的包圍盒的大小,得到表1:
[0082]表 1
[0083] DL = Px(包圍盒起始點的橫坐標),DR = 400-L-Px;
[0084] DU = Py(包圍盒起始點的縱坐標),DW=300-W-Py;
[0085] 其中,DL為向左移動的距離,DR為向右移動的距離;DU為向上移動的距離,DW為向 下移動的距離。從而可以得到人手在這些區域可以移動的范圍。
[0086]在已有的三維場景中,各個物體的三維坐標相對于虛擬人手初始位置的坐標都是 確定的。那么便可以根據包圍盒的大小(因為包圍盒一定的情況下,人手的可移動范圍基本 不變)確定映射關系。 '1<\ * £1,5 c A2 * K2 , S ^ S2
[0087] f(5) = \ ' 一 (公式2. 3) M * A,4,6' g 54 15 ^ K5 , S- c 55 k6 ^ K6,5 c SQ 0.05,5 c SI 0.10,5 cS2 0.LH53 i
[0088] 從=n,7 c-C/1 (公式2.4) 0.17,5 c S4 0.20,5 c ^5 0.25,5^56
[0089] 其中
cU為人手可移動的距離;i = l,2-_6,kh-k6表示系數由實驗確定, D表示虛擬人手距離物體的距離(是一個可以變化量),系統會根據包圍盒的大小S(屬于哪 個范圍)來確定z坐標的該變量如SZ函數所示,并且確定虛擬人手的移動距離如f(S)函數所 不。
[0090] 三,基于場景態勢感知的交互算法
[0091] 1基于最小二乘法擬合(請參考:武漢大學測繪學院.誤差理論與測量平差基礎 [M].武漢:武漢大學出版社,2003)運動軌跡(折線段)算法
[0092]根據一般(斜率存在情況下)直線方程:
[0093] y i = axi+b (i = l,2,...,n) (公式 3.1)
[0094]式中(Xi,yi)為測點坐標,a為直線的斜率,b為y軸的截距,a、b為待估參數,aQ、bo為 它們的近似值。令
[0095] a = ao+8a
[0096] b = bo+8b
[0097] 以y作為因變量,以x為自變量,誤差方程為
[0098] ryi. = [r^l] ~ rs) (公式3:. 2) 例
[0099]誤差方程矩陣表達式
[0100] A8x = l+V (公式 3.3)
[0101] 其中
[0103]按最小二乘法則
[0104] VTV=min (公式 3.4)
[0105] 艮p
[0106] ^ ax^b-y^ =min /:=1
[0107] 因變量殘差
[0108] V=A8X-1 (公式 3.5)
[0109] 將實驗獲取的部分質心坐標,用MATLAB進行仿真得到仿真圖,如圖3所示。并求出 直線方程與算法代碼所求的完全一致,證明了擬合直線算法的正確性。
[0110]如圖3所示:中間的一條直線是根據前幾幀的坐標點(圖中正方形)擬合出的,紅色 的點為預測后的點,根據該點距離擬合直線的距離是否小于Co來判斷人手是否在平行線 內,進而預測人手移動的具體方向。該方法在離線的情況下,人有目的的移動時取得了很好 地效果。
[0111] 2場景態勢感知與交互算法
[0112] 通過包圍盒的大小以及每幀圖像中人手的質心坐標,來控制虛擬環境中三維人手 的空間坐標。并且根據上下文(質心的位置)擬合直線,確定直線束,預測人手移動的方向, 并判斷該方向是否有物體,以及三維人手與物體的距離。然后進行其他操作,具體算法如圖 4所示,包括:
[0113] 第一步:對獲取一幀圖像,根據膚色模型進行圖像分割并將圖像進行二值化(是膚 色置為一,不是置為零)
[0114]第二步:根據求質心坐標公式(請參考:張孟忠.用數學歸納p法推導質心公式[J]. 九江師專學報,2002,05:46-47)
(公式3. 6)
[0116]求二值化后的圖像的質心坐標,包圍盒大小以及左上角坐標。
[0117]第三步:計算質心坐標差值向量(大小和方向)并根據包圍盒大小和坐標確定三維 虛擬場景中人手移動的方向(dx,dy,dz)和距離
[0118] 第四步:使用opengl自帶的函數glTranslatef (dx,dy,dz)移動虛擬環境中的三維 人手,若一個方向(假設為X軸方向)的改變量遠大于另一個方向(Y軸方向),那么可以只考 慮主方向運動。
[0119] 第五步:
[0120] 判斷幀數是否大于給定值(設為8)
[0121] 若小于,則返回第一步;
[0122] 若等于,則:采用最小二乘法擬合直線,并求出相關系數返回第一步。
[0123] 若大于,則:計算當前質心到直線的距離H
(公式3. 7)
[0125] 其中k表示直線斜率,b表示截距,(XQ,yQ)表示當前質心坐標點,執行第六步
[0126] 第六步:
[0127] 判斷是否連續3幀圖像獲得的距離都大于設定值C0,若不是則表明在規定的直線 束范圍內,執行第七步。如果是,那么重新擬合直線,返回第一步。
[0128] 第七步:
[0129] 判斷該方向物體個數
[0130] 1)若只有一個則:計算人手與物體的距離,執行第八步
[0131] 2)若有多個物體,則:通過高光顯示提示用戶是否相對該物體操作,若用戶靜止不 動,則表示不是該物體,若用戶向前移動,那么認為用戶要對該物體操作,然后計算人手與 物體的距離,執行第八步。
[0132] 第八步:判斷人手是否能夠得到物體
[0133] 1)若夠不到,則將物體想人手移動到合適的位置,方便對物體進行其他操作。
[0134] 2)若可以夠著,判斷人手與物體的距離是否小于給定值(手已在物體旁)
[0135] 最后,通過識別一系列的動作,對物體進行其他操作。例如:旋轉,縮放,平移等等。
[0136] 下面通過實驗來驗證本發明方法的技術效果:
[0137] 讓實驗者(60人)在實驗室環境光照恒定的環境下,完成抓取虛擬場景中的物體A, B,C,D,并進行其他簡單操作的實驗。首先,將實驗人員劃分為人數相等的兩部分,分別記為 A隊,B隊。其次,明確告訴A隊成員實驗內容即:先朝哪個物體運動,運動的速度等等。待A隊 成員全部熟悉實驗環境和操作步驟后,做實驗。并記錄實驗數據輸出到文本文件中。第三, 統計分析根據實驗數據(電腦獲取的質心位置以及包圍盒大小和預測的結果),調整直線束 的寬度C0,以及臨界相關系數k^ks,…,k 6。然后經過反復多次實驗,根據實驗數據(有目的 性的),確定最終的系數為:〇) = 0.39,匕=0.375,1? = 0.31,1? = 0.29,1^4 = 0.275,1? = 0.26, k6 = 0.25〇
[0138] 最后,讓B隊實驗人員在相同的實驗環境下和燈光下,進行實驗。等到實驗者能夠 比較熟練的完成一個實驗時。將參數按照實驗結果修改好,并且添加預測提示函數(根據系 統預測出想要操作的物體,在達到一定的距離時確認并彈出對話框提示給實驗者)。接下來 就是驗證算法的正確性了。
[0139] 在不告訴實驗者怎樣抓取,以及怎樣移動人手(只要求自己有目的的抓取)的前提 下,讓B組的實驗人員做實驗。每做完一次實驗,讓實驗者填寫實驗提示是否正確并記錄。每 個實驗者完成抓取動作10次。并將每次的數據,放入MATLAB中作圖,判斷數據是否符合有目 的性,并對無效數據經行刪除。
[0140]通過大量實驗得到,將算法預測的結果的正確率,如表2所示
[0142] 表2
[0143] 實驗表明:在實驗者有目的性的抓取時,用最小二乘法擬合出的直線束來預測用 戶想要操作的物體,正確率達87%。
[0144] 在實驗者有目的性的抓取想要操作的物體時,采用最小二乘法擬合直線束來預測 實驗者想要操作的物體,取得了良好的效果。大大減少了實驗者的操作負荷,節約了操作時 間,尤其是在復雜的三維場景下。其次,通過包圍盒的大小,來控制Z軸變量的在合適的范圍 內變化,進而實現平面圖像下的人手移動虛擬場景用的三維人手的目的。最終實現了更為 人性化的人機交互。
[0145] 上述技術方案只是本發明的一種實施方式,對于本領域內的技術人員而言,在本 發明公開了應用方法和原理的基礎上,很容易做出各種類型的改進或變形,而不僅限于本 發明上述【具體實施方式】所描述的方法,因此前面描述的方式只是優選的,而并不具有限制 性的意義。
【主權項】
1. 一種基于場景態勢感知的人機交互方法,其特征在于:所述方法利用最小二乘法擬 合平行線束,判斷在平行線束內的物體距離直線的距離,根據該物體與虛擬手的距離來判 斷用戶的操作意圖,并且采用包圍盒大小實現控制Z變量在合適的范圍內變化,最終實現相 向互動。2. 根據權利要求1所述的基于場景態勢感知的人機交互方法,其特征在于:所述方法包 括: 第一步:對獲取的一幀圖像進行圖像分割并將圖像進行二值化; 第二步:求二值化后的圖像的質心坐標,包圍盒大小以及左上角坐標; 第三步:計算質心坐標差值向量并根據包圍盒大小和坐標確定三維虛擬場景中人手移 動的方向和距離; 第四步:使用opengl自帶的函數glTranslatef (dx,dy,dz)移動虛擬環境中的三維人 手,若一個方向的改變量遠大于另一個方向,那么只考慮主方向運動; 第五步:判斷幀數是否大于給定值,若小于,則返回第一步;若等于,則采用最小二乘法 擬合直線,并求出相關系數,然后返回第一步,若大于,則計算當前質心到直線的距離h其中k表示直線斜率,b表示截距,(XQ,yQ)表示當前質心坐標點,轉入第六步; 第六步:判斷是否連續3幀圖像獲得的距離都大于設定值C0,若不是,則表明在規定的 直線束范圍內,轉入第七步,如果是,則重新擬合直線,返回第一步; 第七步:判斷該方向物體個數,若只有一個,則計算人手與物體的距離,然后轉入第八 步;若有多于一個的物體,則通過高光顯示提示用戶是否相對該物體操作,若用戶靜止不 動,則表示不是該物體,若用戶向前移動,則表示用戶要對該物體操作,然后計算人手與物 體的距離,轉入第八步; 第八步:判斷人手是否能夠得到物體,若夠不到,則將物體向人手移動到合適的位置; 若能夠到,則判斷人手與物體的距離是否小于給定值ho,最后,通過手勢識別,對物體進行 其他操作。3. 根據權利要求2所述的基于場景態勢感知的人機交互方法,其特征在于:所述第一步 中是根據膚色模型進行圖像分割。4. 根據權利要求3所述的基于場景態勢感知的人機交互方法,其特征在于:所述第一步 中的將圖像進行二值化是這樣實現的:如果圖像中是膚色,則置為一,否則置為零。5. 根據權利要求4所述的基于場景態勢感知的人機交互方法,其特征在于:所述第二步 是這樣實現的: 根據求質心坐標公式求得二值化后的圖像的質心坐標,包圍盒大小以及左上角坐標:其中,U,y。)表示質心坐標,mu為圖像的像素點的灰度,有為1,無為 〇;i表示行,j表示列;R是彩色圖像RGB中的紅色分量;Xl像素點的橫坐標,η像素點的豎坐 標;其中: Xmax表示滿足f(x,y)乒0,x,yeN+且x<400,y<300的橫坐標的最大值 Xmin表示滿足f (x,y)乒0,x,yeN+且x<400,y<300的橫坐標的最小值 Ymax表示滿足f(x,y)乒0,x,yeN+且x<400,y<300的縱坐標的最大值 Ymin表示滿足f (x,y)乒0,x,yeN+且x<400,y<300的縱坐標的最小值, f (X,y)辛0表示二值化圖像中坐標點(X,y)的像素值不為0,X為像素點的橫坐標,X為0 到400的正整數;y表示像素點的縱坐標,y為0到300的正整數;max為求最大值函數,min為求 最小值函數; 包圍盒寬度:L = Xmax-Xmin;包圍盒高度:W = Ymax-Ymin;左上角坐標P ( X,y ) = ( Xmin,Ymin )。 6 .根據權利要求5所述的基于場景態勢感知的人機交互方法,其特征在于:所述第三步 是這樣實現的: 質;Lj'豐不·直(δχ , 5y ) - ( Xnow , ynow) - ( Xformer , ?former )力.向:(_δχ,) ( Xnc)w,ync)w)當目|J 質心點坐標,(Xf _er,yf _er )上一幀圖像質心點坐標距離 Sl = {(L,ff) |210<L<285,180<ff<240} S2={(L,ff) 1185<L<210,145<ff<180} S3={(L,ff) 1150<L<185,120<ff<145} S4={(L,ff) 1110<L<150,100<ff<120} S5={(L,W) |97<L<110,85<W<100}。 L表示包圍盒寬度;W表示包圍盒高度,31,32,33,34,35表示包圍盒大小€(1^,1)是質心 坐標差值的映射函數,(Sxjy)表示質心坐標差值。7. 根據權利要求6所述的基于場景態勢感知的人機交互方法,其特征在于:所述方法包 括:所述第五步中的給定值為8。8. 根據權利要求7所述的基于場景態勢感知的人機交互方法,其特征在于:所述第六步 中的C0 = 8。9. 根據權利要求8所述的基于場景態勢感知的人機交互方法,其特征在于:所述第八步 中的 ho = 0.4; 所述第八步中的其它操作包括:旋轉,縮放,平移。10.根據權利要求9所述的基于場景態勢感知的人機交互方法,其特征在于:所述第八 步中的手勢識別采用基于Hausdorff距離的模板匹配算法來實現,即將獲得的特征與庫文 件分別計算Hausdorff距離,距離越小,表示特征點匹配的越好。
【文檔編號】G06F3/01GK105929947SQ201610237410
【公開日】2016年9月7日
【申請日】2016年4月15日
【發明人】馮志全, 蔡萌萌, 欒敏
【申請人】濟南大學