秦浩楠,于 鯤,盧朝茜
(昆明理工大學,云南 昆明 650500)
面部是身體的一部分。每個人的面部具有獨特的特征。相像的兩個人的面部特征也存在一定的差異,因此面部特征識別成為使用最廣泛的生物特征識別方式之一[1-2]。面部識別一直是近年來研究的重點方向,為非接觸式交互提供了研究平臺。如今,基于人工智能的面部識別技術為面部表情的相關研究提供了技術基礎。Pilarczyk等人[3]提出一種基于CNN/MMOD人臉檢測器的計算機算法,通過網絡攝像機獲取人的面部特征信息并進行識別,其中CNN為卷積神經網絡(Convolutional Neural Networks)。Jinhyuk等人[4]提出了免提自然用戶界面,是一種基于頭戴式顯示器(Head Mounted Display,HMD)傳感器的面部表情研究,實驗時用戶需要佩戴HMD設備。Zhang等人[5]提出了一種注視峰值應用程序,可以實時識別眼睛手勢。程序把這些手勢解碼為預測性動作,并為用戶提供一個非否認界面,可方便用戶交流。Sun等人[6]提出了一種時空融合模型和多模式分層融合策略。Li等人[7]提出了一種基于手勢和身體運動識別算法的機器人手臂的HRI模型。Anja和Marion[8]進行了一項可用性研究,采用頭部運動和頭部姿勢來幫助無法使用上肢的殘疾人。
面部識別相關的研究極大地豐富了多通道人機交互的研究方向,然而暫時沒有對于面部表情和手部移動相結合的研究示例[9-11]。之前的大多數研究都需要用戶佩戴識別設備,不僅增加了用戶操作的難度,而且降低了用戶操作的舒適度。本研究提出的基于“面部表情+手”的混合手勢交互技術不需要用戶佩戴任何設備,極大地簡化了操作流程,實現了非接觸式交互。
基于“面部表情+手”的混合手勢交互技術基于外接攝像頭和Leap Motion傳感器[12-14],構建了一個交互式操作界面。通過接收面部和手部的輸入數據,實現了以面部表情和手部移動方式進行目標選擇和點擊的操作[15]。該技術具有手部移動和面部表情兩種輸入方式,是一種全新的非接觸式交互技術。
實驗使用了第二代Leap Motion傳感器用于識別手部移動。Leap Motion傳感器放置在距離顯示器底座中心邊緣15 cm處。外部攝像頭是Core ANC HD 1080p網絡攝像頭,位于顯示器頂部,離顯示器的左邊緣8 cm,用于實時獲取用戶面部特征連續圖像流。設定實驗設備的距離僅是為了保持實驗條件的一致性,減少距離不同導致的偏差。計算機顯示器為三星SyncMaster SA350(分辨率為1 920×1 080像素),操作系統為Windows 10。實驗設備的安裝示例和混合手勢交互技術的操作方式如圖1所示。

圖1 設備安裝圖
所有面部表情動作都是基于眼睛和嘴巴的張開與閉合兩種狀態的不同定義的。根據張開和閉合兩種狀態,共設定8種不同的面部表情。雙眼張開、嘴巴閉合是人們正常放松時的面部表情。為了確保數據的可靠性和準確性,實驗中這種面部表情被刪除。剩余的7種表情是實驗定義的面部表情,如表1所示。

表1 面部表情
面部表情識別通過調用攝像頭拍攝用戶的靜態面部特征圖片,并調用Face++平臺URL接口將靜態面部特征圖片上傳到Face++面部識別系統,對圖片的面部特征點進行特征信息提取,最終根據提取的面部特征數據進行面部識別。
基于“面部表情+手”的混合手勢交互技術對手部的識別主要是基于Leap Motion傳感器。Leap Motion傳感器是一種專門用于手部識別的設備。用戶在操作時只需啟動程序,將手部放到Leap Motion傳感器的正上方,即可通過手部移動來操控鼠標光標的移動。如果用戶的手或手指處于Leap Motion的交互區域,Leap Motion可以對其進行跟蹤識別。在對界面進行編程時,Interaction-Box類有助于映射Leap Motion坐標。為了模擬虛擬手,實驗使用了java.awt.Robot庫,可以使鼠標光標隨著手部的移動而移動。Leap Motion傳感器的交互區域如圖2所示。

圖2 Leap Motion傳感器識別交互區域
為了更加精準地識別用戶的面部表情動作,識別時用戶的面部表情動作要保持靜止狀態,并利用程序通過檢測左眼和右眼的基線值區分左眼和右眼。識別過程中,通過Face++提取到的面部特征數據并不能直接反映眼睛和嘴巴的開閉狀態,因此在程序中對眼睛和嘴巴的張開閉合狀態定義了相應閾值。其中,設置左、右眼在張開狀態時的閾值為30,設置左、右眼在閉合狀態時的閾值為10,設置嘴巴閉合狀態時的閾值為0,設置嘴巴張開狀態時的閾值為70。
實驗設置了6組不同半徑的圓形按鈕作為被選擇的目標。6組按鈕的半徑分別為10像素、15像素、20像素、25像素、30像素及35像素。設定3種高度(指目標按鈕界面頂部距離計算機屏幕底部的高度),分別為6.5 cm、16 cm及26.5 cm。結合6組半徑和3種高度,設計出18組目標選擇測試實驗。
參與測試的所有實驗者均身體健康,且具有一定的面部手勢識別交互的經驗。由于眼鏡片會引起光反射,因此參與測試的所有實驗者在實驗中都沒有佩戴眼鏡。每名實驗者均對18組目標選擇實驗進行測試。實驗開始前,工作人員向每名實驗者詳細說明實驗的具體流程,允許實驗者進行10次練習。實驗過程中,實驗者對每個目標按鈕的識別順序依次從左到右、從上到下執行。共設定7個目標按鈕,每個目標按鈕對應一組面部表情動作,順序為LORC-MC、LC-RO-MC、LO-RC-MO、LO-RO-MO、LC-RC-MC、LC-RC-MO及LC-RO-MO。
實驗開始后,用戶需要通過手部的移動控制鼠標光標移動到目標按鈕上,選中按鈕后做出與該按鈕對應的面部表情并保持靜止狀態。面部表情識別成功后,該按鈕會消失,下一個待識別的目標按鈕外圈將會變成綠色,以此來提示實驗者。當用戶選中目標按鈕時,按鈕的外圈會變為紅色,內圈為藍色,此時實驗者需要盡快通過手部移動控制光標選中內圈的藍色區域。程序將外圈紅色區域定義為錯誤識別區域,將內圈藍色區域定義為正確識別區域。光標選中兩個區域后都能進行面部識別,但只有在內圈藍色區域內識別成功的操作才會被記錄為正確識別,而在外圈紅色區域識別成功的操作會被記錄為錯誤識別。目標按鈕選擇的具體變化情況如圖3所示。
實驗測試過程中,手部識別系統和面部表情識別系統是并行關系。手部識別系統程序啟動后,激活Leap Motion傳感器,只需將手放到傳感器上方便可通過手部移動控制鼠標光標的移動。面部表情識別系統程序啟動后,電腦攝像頭首先被激活,程序后臺自動調用Face++的URL識別接口。當實驗者通過手部移動控制鼠標光標選中目標按鈕時,攝像頭開始實時獲取實驗者的面部表情特征數據。面部表情識別成功后,該目標按鈕消失,下一個目標按鈕繼續開始識別。如果識別沒有成功,攝像頭將不斷更新所獲取的面部表情特征數據,直到識別成功。整個識別流程如圖4所示。

圖3 目標按鈕選擇的具體變化

圖4 混合手勢控制識別流程圖
測試完成后獲得的數據主要包括識別時間和識別正確或錯誤的次數。經過SPSS軟件雙向重復測量方差分析,得出了不同目標半徑(10像素、15像素、20像素、25像素、30像素及35像素)和不同目標高度(低6.5 cm、中16 cm、高26.5 cm)的變化對混合手勢交互技術的平均識別時間和識別錯誤次數的影響。其中,目標半徑和目標高度為自變量,而識別時間和識別錯誤次數為因變量。
3.3.1 平均識別時間
目標半徑和目標高度的變化對混合手勢交互技術的識別時間的影響如圖5所示。其中,橫坐標代表3種目標高度,6種顏色代表6組目標半徑;縱坐標代表平均識別時間。

圖5 不同目標高度和目標半徑的平均識別時間
不同任務下的平均識別時間如圖6所示。其中,圖6(a)是不同的目標高度對平均識別時間的影響;圖6(b)是不同的目標半徑對平均識別時間的影響。
3.3.2 識別錯誤率
實驗將實驗者進行目標按鈕選擇識別時的識別錯誤次數百分比定義為混合手勢交互技術的識別錯誤率。經過SPSS分析,得出了不同的目標半徑和目標高度對混合手勢交互技術的識別錯誤率的影響,如圖7所示。


圖6 不同任務下的平均識別時間

圖7 不同目標高度和目標半徑的識別錯誤率
根據SPSS數據分析結果,整理出不同任務下的平均識別錯誤率。圖8(a)是不同目標高度對識別錯誤率的影響,圖8(b)是不同目標半徑對識別錯誤率的影響。
本實驗共進行18組測試,通過SPSS數據分析后得出了不同任務條件下混合手勢交互技術識別的差異。通過實驗數據得出結論:
(1)目標半徑為35像素、目標高度為中16 cm時,混合手勢的平均識別時間最短;
(2)目標半徑為10像素、目標高度為低6.5 cm時,平均識別時間最長;
(3)目標半徑為10像素、目標高度為中16 cm時,識別錯誤率最高;
(4)目標半徑為30像素、目標高度為高26.5 cm時,識別錯誤率最低。
可見,目標高度和目標半徑的變化對混合手勢的平均識別時間有顯著的影響。測試數據標明,在最佳任務條件下,混合手勢交互技術的整體平均識別時間為2 921 ms,整體識別錯誤率為6.19%(即識別準確率為93.81%)。

圖8 不同任務下的識別錯誤率
提出基于“面部表情+手”的混合手勢交互技術,通過手部移動控制鼠標光標移動,通過面部表情識別目標按鈕替代鼠標的點擊操作。研究結果表明,基于“面部表情+手”的混合手勢交互技術的識別性能優良,可以滿足日常的人機交互需求,實現了非接觸式交互操作。由于面部表情的識別容易受到光線強弱和相機分辨率的影響,下一步將針對這兩個因素對該技術進行進一步的優化。