專利名稱:一種基于人臉表情的游戲角色控制方法
技術領域:
本發明涉及圖像分析與識別技術領域,特別是基于人臉表情的交互方法。
背景技術:
近年來,隨著計算機技術的革新,以計算機游戲為代表的數字娛樂產業飛速發展。作為一類特殊的應用軟件,計算機游戲通過向游戲用戶提供一系列的菜單選項和操作指令,實現用戶與游戲之間的交互操作。用于游戲的傳統人機交互方式有鼠標鍵盤、游戲桿及專用游戲設備等,以手動和有線連接為主。伴隨計算機游戲種類與內容的不斷擴展豐富,其操作復雜性劇增,仍然僅采用傳統交互方式,越來越難于控制。
鼠標和鍵盤是最常用的設備,它們將用戶手的敲擊、移動轉化成電信號并最終成為一種供系統響應的事件。專用游戲設備是鼠標和鍵盤在功能上的擴展,但其原理大致相同。前者相比于后者的優越性體現在操作性上,如可玩性和方便性。
傳統的交互方式基本上是以事件來驅動的,這是一種低層次的交互,因為它并不能理解游戲的內容,所以用戶要實現一種有語義的控制往往需要一系列的低層次操作。
發明內容
為了解決傳統交互方式,缺乏語義理解的能力,本發明的目的是要用玩家的人臉表情來與游戲交互,作為一種針對傳統的鍵盤鼠標所代表的交互方式的補充,為此,本發明提供了一種基于人臉表情的游戲角色控制方法。
為了實現上述目的,本發明提出的技術方案是一種基于玩家人臉表情的游戲角色控制方法其方法步驟如下 步驟1通過統計的方法對人臉目標樣本進行學習,得到待檢測玩家人臉目標的模式; 步驟2通過圖像輸入設備采集待檢測玩家視頻圖像; 步驟3對待檢測玩家視頻圖像進行預處理,生成預處理圖像; 步驟4利用學習到的目標模式,在預處理圖像上進行人臉檢測和跟蹤,生成人臉區閾; 步驟5利用人臉特征點定位算法,在人臉區域上進行人臉對齊,得到人臉特征點位置; 步驟6在獲得人臉特征點位置的基礎上,進行表情分析,包括眼睛、嘴唇和眉毛的運動信息; 步驟7將人臉表情信息用于控制游戲角色。
根據本發明的實施例,所述圖像預處理步驟采用像素的均值和方差算法來進行光線矯正。
根據本發明的實施例,所述人臉檢測和跟蹤的步驟包括 步驟41通過學習到的人臉模式,在預處理圖像上搜索人臉目標; 步驟42通過模板匹配,對人臉局部進行跟蹤,來實現整個人臉的跟蹤。
根據本發明的實施例,所述人臉對齊步驟包括 步驟51通過主動外觀模型,對預處理圖像進行人臉特征點定位; 步驟52對人臉特征點的位置進行平滑處理。
根據本發明的實施例,所述人臉表情分析包括 步驟61通過主動外觀模型,對人臉表情姿態進行判別; 步驟62通過歷史運動圖,對眉毛運動進行判別; 步驟63通過動態閥值法,對嘴唇狀態進行判別; 步驟64通過神經網絡的方法,對眼睛狀態進行判別。
根據本發明的實施例,所述游戲角色的驅動包括 步驟71將人臉的姿態參數,用于控制動畫角色的頭部姿態; 步驟72將眉毛運動的位移信息,用于控制動畫角色眉毛的運動; 步驟73將嘴唇的張開程度信息,用于控制動畫角色嘴唇的張開程度; 步驟74將眼睛的睜開程度信息,用于控制動畫角色眼睛的睜開程度。
本發明的有益效果采用玩家臉部的表情控制游戲角色,就是用玩家的表情信息作為傳統的鍵盤鼠標交互方式的補充,來豐富人機交互的方式。它僅通過攝像頭拍攝玩家人臉,在計算機中進行表情分析和識別,并將結果轉化為游戲的控制指令,實現對游戲中角色表情的直接控制,以擴展傳統的游戲交互方式。由于游戲對實時性要求高,因此視頻檢測方法必需實時、魯棒。為便于用戶使用,這種控制方法還必需易于實現和操作。本發明能使游戲用戶期望能以更自然、更智能的新方式進行交互操作,如采用頭部的運動、人臉五官的運動等表情運動,由此可使游戲更具交互性和沉浸感。隨著計算機視覺技術的發展,應用視覺進行自然的人機交互已經成為可能,由于攝像頭已經成為計算機常用的配置,這種技術的應用也就具有廣闊的前景。
圖1為本發明的基于玩家表情的游戲角色控制方法流程圖。
圖2為采用本發明方法的游戲角色控制示意圖。
圖3為本發明實施例Haar特征結構。
圖4為本發明實施例人臉上一個顯著的Haar特征。
圖5為本發明實施例嘴唇狀態的判別流程圖。
具體實施例方式 下面將結合附圖對本發明加以詳細說明,應指出的是,所描述的實施例僅旨在便于對本發明的理解,而對其不起任何限定作用。
根據本發明的圖1所示,為本發明的基于玩家表情的游戲角色控制方法流程圖,圖2為采用本發明方法的游戲角色控制示意圖,圖中窗口右上角顯示的是玩家的視頻圖像,窗口右下角是供玩家選擇的用于貼到人臉上的虛擬人物和道具,窗口右邊顯示的是被驅動的動畫人物,玩家可以做出睜閉眼、張閉嘴、擠眉毛等動作來驅動動畫人物做相應的表情運動。
圖1中所示具體實施步驟如下 步驟1離線學習通過統計的方法對人臉目標樣本進行學習,得到待檢測玩家人臉目標的模式; 步驟2一步驟3獲取圖像通過高速圖像捕獲模塊從圖象輸入設備實時獲取待檢測玩家視頻圖像;對待檢測玩家視頻圖像進行預處理,生成預處理圖像; 步驟4基于統計的人臉檢測和跟蹤考慮到算法的簡便性與魯棒性的要求,設計了基于統計學習的檢測方法,另外通過對亮度的分析補償,在預處理圖像上搜索人臉目標;從而盡可能地消除光照變化的影響;當用人臉檢測初始化后,在后續幀用模板匹配的方法進行人臉跟蹤; 步驟5人臉特征點對齊在得到人臉區域后,就可以用主動外觀模型進行人臉特征點的定位算法,在人臉區域上進行人臉對齊,得到各個人臉特征點位置; 步驟6人臉表情分析這里指的表情分析是指人五官的相對運動和狀態。人頭部的姿態可以用主動外觀模型的參數來線性估計;眉毛的運動采用歷史運動圖來計算;人眼睛的運動采用基于Gabor特征的神經網絡方法來判別;人臉的嘴唇狀態采用動態閥值和矩估計的方法來得到。
步驟7動畫角色驅動可以用由步驟6得到的表情數據來驅動動畫角色。
本發明實現方法需要的硬件為計算機及圖像采集設備。
所述的角色即游戲中玩家控制的人物或動畫等有表情動作的對象;人臉特征點對齊,即用算法自動找到人臉五官和輪廓的準確位置;頭部的姿態指頭部在空間中的三個方向的角度;表情信息指臉部五官的運動信息和狀態信息;其它計算圖像算法如Adaboost、歷史運動圖、Gabor特征、神經網絡等,將會在后面詳細介紹。
關鍵技術的實現過程 一、本發明所述的人臉檢測是通過基于Adaboost的統計學習方法來實現,它包括兩個步驟(1)獲取人臉樣本;(2)統計學習人臉模式。
(1)人臉樣本庫的制作。人臉樣本庫包含正樣本庫和負樣本庫。用圖像采集設備采集多個人分別在不同的光線,不同的背景下的多個姿態的人臉圖片若干,然后手工剪裁出只包含一個人臉的區域,放縮到同一個尺寸下,再用進行預處理。這樣就獲得了可直接用于統計學習的人臉正樣本庫。負樣本庫的單個樣本不包含人臉或包括人臉但不只一個。正樣本庫是事先制作好的,是固定的,而負樣本是的統計學習過程中生成的,是變化的。
(2)用于學習人臉模式的統計學習方法是Adaboost算法。
Adaboost意為Adaptive Boost,是AT&T實驗室提出的一種自提升Boosting算法。它通過調用弱學習器不斷學習訓練樣本中的難學習的樣本,從而達到較高的泛化精度。
基于Adaboost的人臉檢測算法是一種統計學習算法,它通過對Haar特征的統計來判別是不是人臉。Haar特征是Haar小波變化而來,其通過相鄰區域的灰度差,也就是亮度關系來描述目標。圖3所示的是四種非常簡單的Haar特征,其中每一個框代表了圖像子窗口,分別計算子窗口內所有灰色矩形區域內像素灰度值的和與所有白色矩形區域內像素灰度值的和,兩者的差即為對應特征的值。人臉可以通過若干這樣的Haar特征來描述。其物理意義是十分明確的,如圖4,對人臉樣本來說中間區域的應該比兩側區域亮,而非人臉樣本不具有這樣的特征,只要能找到足夠多這樣的特征,就能將人臉和非人臉分開。
Adaboost算法的主要過程是首先給樣本集合,然后對該樣本集合進行循環操作,每次循環首先得到一個弱分類器,然后計算該假設的錯誤率,根據該錯誤率改變每個例子的權重進入下一個循環,若干個弱分類級聯組成一個強分類器。其具體過程如下 Adaboost算法流程 給定樣本(x1,y1),…,(xn,yn),對m個負樣本,y1=0;對l個正樣本y1=1,n=m+l。
分別對負樣本正樣本初始化權 t=1,…,T 1.歸一化權 2.對于每一特征j,訓練出一個弱分類器hj,計算出與之對應的錯誤率
3.選擇錯誤率
最小的
。
4.更新權, 其中,
若分類正確,ej=1,否則ej=0。
最終T個弱分類器組成一個強分類器
其中, 二、本發明所述的圖像預處理步驟包括采用像素的均值和方差算法來進行光線矯正。
具體地,圖像的預處理方法 對一幅圖像,求取整幅圖像灰度值的均值和方差。然后對于圖像中每一個像素,將其灰度值減去均值然后除以方差得到的值作為新的灰度值,這樣處理后的圖像就是進行光線矯正好的圖像。
三、本發明所述檢測與跟蹤的步驟包括 步驟41通過學習到的人臉模式,在經過預處理的圖像上搜索人臉目標; 步驟42通過對檢測到的人臉進行特征分析,并建立人臉模板,對于后繼圖像幀用模板匹配算法來搜索當前的人臉區域。具體方法是 步驟41由人臉模式檢測人臉,過程如下 在人臉可能出現的區域(由上一次檢測的結果預測到)內,在不同尺度下取候選人臉圖片的一系列有用Haar特征(由Adaboost算法得取)送入學習到的分類器,分類器輸出其是否為人臉的判斷結果。
步驟42用步驟41得到的結果,建立人臉模板。針對后繼圖像幀,以上一幀中人臉的位置為初始點,獲得人臉區域,將此區域與模板作差,然后通過牛頓梯度下降算法最小化這個差值來更新人臉區域的相似變換參數,最后得到當前圖像幀中人臉的位置。
四、本發明所述的人臉特征點對齊是用主動外觀模型來實現。
步驟51通過主動外觀模型,對預處理圖像進行人臉特征點定位; 步驟52對人臉特征點的位置進行平滑處理。
主動外觀模型是一種基于統計的形狀對齊方法。為了便于描述,這里先介紹一種與之相關的算法,即主動形狀模型。
主動形狀模板是一種參數變形模板基于點分布模型的方法,它從訓練集中學習到形狀的一個統計模式,。這就是點分布模式,點分布模式然后用于將已經模板其通過變形匹配得到未變知的形狀上。作為一種統計模型,它也分為訓練和搜索兩個階段 主動形狀模板基本思想是主成分分析,即目標形狀可以表達為一系列的基本形狀的線性組合。訓練的目的是找到這些基本形狀。訓練地過程很簡單,即將訓練集中的形狀規范化后,進行特征值和特征向量分解,特征向量即為基本形狀,特征值反映了樣本形狀在這個基本形狀上的分布情況。形狀模板的訓練過程還需要對形狀上每個特征點附近的梯度信息進行主成分分析,建立局部紋理模型,用于搜索過程中點的更新。
主動形狀模板的搜索過程為先初始化平均形狀,然后每個點利用其附近的梯度信息與訓練得到的梯度信息求明氏距離。在一點范圍內,用明氏距離最小的點來更新這個點。最終平均形狀被更新,投影到模型空間中(即投影到基本形狀上),就得到了模型空間中的一個形狀實例。再將這個形狀作為初始化形狀重復以上過程,直至找到最終形狀。
主動外觀模板是主動形狀模板的改進模型,主動形狀模板只利用了形狀信息和點局部的梯度信息,容易在匹配時失敗。主動外觀模型在統計形狀模型的基礎上,進一步對對象紋理(將人臉圖像變形到平均形狀得到的形狀無關圖像)進行統計建模,將對象的形狀和紋理信息綜合到了一個框架下。
搜索過程采用基于紋理預測參數變化的啟發式搜索策略。假設模型參數變化及相似變換參數的變化與輸入圖像和模型紋理之間存在一定程度的線性關系,然后通過線性回歸進行參數預測進而得到模型參數和相似變換參數。
五、本發明所述的表情分析主要包括以下幾個部分 所述人臉表情分析包括 步驟61通過主動外觀模型,對人臉表情姿態進行判別; 步驟62通過歷史運動圖,對眉毛運動進行判別; 步驟63通過動態閥值法,對嘴唇狀態進行判別; 步驟64通過神經網絡的方法,對眼睛狀態進行判別。
頭部姿態的獲取 主動外觀模型中的形狀模型包括了形狀的姿態信息,試驗表明,一個方向的姿態與某個形狀參數存在近似的線性關系,因為游戲控制并不需要絕對精確的數據,所以這種近似是可取的。其計算公式如下 αyaw=3.3b4 αalt=5.7b5 其中,b1,b2,b3,b4,b5為形狀模型的前6個參數。
眉毛運動信息的獲取 眉毛的運動可以從兩幀之間的差來感知。在應用中,可以假定眉毛不會長時間偏離原來的位置。這樣其運動的趨勢就可以用歷史運動信息圖來得到。歷史運動圖是一種很實用的運動分析方法。基本思想是求每幀的差分圖,如果像素有運動就將其標定為一個值,同時將前若干幀的差分值減小一定量。這樣,就可以得到一幅由明到暗的圖像,亮的部分是最新的運動的位置,暗的部分是若干時間前運動留下的痕跡。這個由暗到明的方向正是運動的方向。
眼睛狀態的判別 實施例是采用基于Gabor特征的神經網絡來判別眼睛狀態的。Gabor特征是一種方便的局部特征,它可以看作一個對方向和尺度敏感的有方向性的顯微鏡,能夠檢測(響應)圖像中一些具有相應的方向頻率信息的、局部的顯著特征,從而可以形成亮度圖像的局部特征圖譜,這些局部特征形成了原始輸入圖像的一種魯棒、緊湊的特征表示。
它的表達式為 其中,μ和v定義了Gabor核的方向和尺度, z=(x,y),kv=kmax/fv,kmax=π/2,φμ=2πμ/8. 實施中選擇了五個尺度(v∈{0,1,2,3,4,5})八個方向(μ∈{0,1,2,3,4,5,6,7})的Gabor特征。
神經網絡是一種簡單的分類器,本發明采取的是三層BP神經網絡。輸入層、隱藏層和輸出層的神經元個數分別為120,15和2。
嘴唇狀態的判別 圖5說明了嘴唇狀態分析的整個流程 (1)人臉關鍵點定位算法可以定位到嘴唇的區域; (2)在嘴唇區域進行光線矯正后,用動態閥值法對其進行二值化; (3)利用嘴唇張開時,其內部的灰度應該比周圍的暗來確定嘴唇內部的區域; (4)計算出包圍嘴唇的橢圓的大小和方向。其計算公式如下 其中, Mij=∑x∑yxiyjI(x,y), 其兩個軸的長度可由下面的兩個式子得到 其中, 短軸與長軸的比值表明了嘴唇張開的程度。
六、本發明所述游戲角色控制是指用提取的表情信息控制游戲角色做相應的動作。所述游戲角色的控制驅動包括 步驟71將人臉的姿態參數,用于控制動畫角色的頭部姿態; 步驟72將眉毛運動的位移信息,用于控制動畫角色眉毛的運動; 步驟73將嘴唇的張開程度信息,用于控制動畫角色嘴唇的張開程度; 步驟74將眼睛的睜開程度信息,用于控制動畫角色眼睛的睜開程度。
在具體實現的過程中,提取到的表情信息要經過適當處理,這是從游戲穩定性的角度考慮,主要是為了抗噪聲。可用的方法有平均法,卡爾曼濾波法等。
上面的描述是用于實現本發明及其實施例,因此,本發明的范圍不應由該描述來限定。本領域的技術人員應該理解,在不脫離本發明的范圍的任何修改或局部替換,均屬于本發明權利要求來限定的范圍。
權利要求
1.一種基于人臉表情的游戲角色控制方法,其特征在于,包括如下步驟
步驟1通過統計的方法對人臉目標樣本進行學習,得到待檢測玩家人臉目標的模式;
步驟2通過圖像輸入設備采集待檢測玩家視頻圖像;
步驟3對待檢測玩家視頻圖像進行預處理,生成預處理圖像;
步驟4利用學習到的目標模式,在預處理圖像上進行人臉檢測和跟蹤,生成人臉區域;
步驟5利用人臉特征點定位算法,在人臉區域上進行人臉對齊,得到人臉特征點位置;
步驟6在獲得人臉特征點位置的基礎上,進行表情分析,包括眼睛、嘴唇和眉毛的運動信息;
步驟7將人臉表情信息用于控制游戲角色。
2.根據權利要求1所述的基于人臉表情的游戲角色控制方法,其特征在于所述圖像預處理采用像素的均值和方差算法來進行光線矯正。
3.根據權利要求1所述的基于人臉表情的游戲角色控制方法,其特征在于所述人臉檢測和跟蹤的步驟包括
步驟41通過學習到的人臉模式,在預處理圖像上搜索人臉目標;
步驟42通過模板匹配,對人臉局部進行跟蹤,來實現整個人臉的跟蹤。
4.根據權利要求1所述的基于人臉表情的游戲角色控制方法,其特征在于所述人臉對齊步驟包括
步驟51通過主動外觀模型,對預處理圖像進行人臉特征點定位;
步驟52對人臉特征點的位置進行平滑處理。
5.根據權利要求1所述的基于人臉表情的游戲角色控制方法,其特征在于所述人臉表情分析包括
步驟61通過主動外觀模型,對人臉表情姿態進行判別;
步驟62通過歷史運動圖,對眉毛運動進行判別;
步驟63通過動態閥值法,對嘴唇狀態進行判別;
步驟64通過神經網絡的方法,對眼睛狀態進行判別。
6.根據權利要求1所述的基于人臉表情的游戲角色控制方法,其特征在于所述游戲角色的驅動包括
步驟71將人臉的姿態參數,用于控制動畫角色的頭部姿態;
步驟72將眉毛運動的位移信息,用于控制動畫角色眉毛的運動;
步驟73將嘴唇的張開程度信息,用于控制動畫角色嘴唇的張開程度;
步驟74將眼睛的睜開程度信息,用于控制動畫角色眼睛的睜開程度。
全文摘要
本發明公開一種基于人臉分析技術的游戲角色控制方法,包括對從圖像輸入設備獲得的圖像進行簡單有效的預處理;通過統計學習方法進行人臉的檢測和關鍵點定位;通過對定位的結果進行分析,得到人臉的姿態和表情信息,并將這些信息映射成對應的游戲控制指令,實現游戲中角色面部的實時控制功能。用玩家的人臉信息控制游戲角色,僅通過攝像頭拍攝玩家的人臉,然后分析其在空間中的狀態和表情信息,并將結果轉化為游戲角色的控制指令,擴展了傳統游戲的互動方式。本發明視頻檢測方法實時、魯棒、易于實現和操作。本發明能使游戲用戶以更自然、更智能的新方式進行交互操作,如采用自身頭部姿態、臉部表情等,由此可使游戲更具交互性和沉浸感。
文檔編號G06K9/00GK101393599SQ200710121978
公開日2009年3月25日 申請日期2007年9月19日 優先權日2007年9月19日
發明者王陽生, 王書昌, 馮雪濤, 汪曉妍, 健 姚 申請人:中國科學院自動化研究所, 北京盛開交互娛樂科技有限公司