劉華仁,陳效華,紀明君,朱賽春 Liu Huaren,Chen Xiaohua,Ji Mingjun,Zhu Saichun
?
智能網聯汽車人機交互手勢識別設計
劉華仁,陳效華,紀明君,朱賽春 Liu Huaren,Chen Xiaohua,Ji Mingjun,Zhu Saichun
(北汽集團新技術研究院,北京 101300)
以車內駕乘人員多屏信息共享為目標,介紹人機智能交互設計中手勢交互的關鍵技術及具體應用,提出基于具體場景的手勢識別設計方法,并在試驗模擬臺架上對操控便利性及操控識別率進行驗證。試驗結果表明,該設計能大大減少界面誤操作,并提高手勢識別成功率,在未來智能網聯汽車人機交互界面上有較好的應用前景。
手勢識別;人機交互;智能網聯車
隨著汽車智能網聯功能發展日益完善,人們在車內時間越來越多,對于車內信息的需求度越來越高,分散屏幕間的信息交互獲取問題不容忽視。歐哈德·因巴爾(Ohad Inbar)等人進行一項研究,除與駕駛相關的操作控制外,乘客可以與駕駛員共享系統的控制權[1]。將智能網聯功能和多屏人機交互系統有機結合起來可以形成更好的人機交互體驗,基于手勢控制的智能人機交互設計可以使駕駛員及乘客輕松把握汽車屏幕間功能信息切換,讓駕乘人員在安全駕駛的基礎上擁有良好的交互體驗。另外,相比傳統的觸摸等物理操作方式,手勢交互被認為是一種比機器或計算機更自然的交互方式[2],通過這種方式能有效減少駕駛者的視覺分心而不影響對人機交互的體驗[3]。
手勢交互要盡量使用更多接近用戶自然行為、輕便有趣且容易記憶的手勢動作,如果手勢動作過多,人們需要花費時間學習和記憶一系列模式,以人為本,簡化交互過程[4]。人車交互盡量接近日常生活的交流形式,讓人與車之間的交流變得不易覺察。因此,手勢控制要化繁為簡,用自然流露的手勢和體態在最具優勢的方面發揮作用;同時手勢類型不宜復雜、過多,手勢動作需要有明確的差異,避免用戶混淆。
1)簡單單一的手勢控制,很容易產生誤操作,例如屏幕移動最容易想到的動作是揮手操作,通過手的左揮、右揮實現屏幕的左右移動切換,但是這個動作很容易產生誤操作,當駕駛員的手不經意劃過手勢傳感器的時候,會誤認為駕駛員的意圖是移動切換屏幕內容。
2)利用手勢移動的速度來區分正常操作還是無意識操作,速度控制的范圍越小,越能減少誤操作的影響,但是如果速度范圍過小,會增加手勢操作的難度,操作者很難把握手勢移動的速度,特別是初學者不能很快掌握控制的手勢。
3)還有一種策略是利用開始手勢開啟手勢控制,例如手勢在手勢控制器的正上方懸停3s作為手勢開始的標志,接著通過揮手動作實現屏幕移動。這種方式排除手勢誤操作,但是效率降低,用戶必須先開啟手勢控制,才能實現手勢控制。
由于手勢交互能減少駕駛員視覺分心和認知負擔,手勢交互逐漸成為汽車人機交互界面研究設計的重要方向。隨著汽車逐步成為一個集合信息獲取、傳遞、交流和娛樂的交互式空間[5],未來汽車人機設計的核心是盡量減少不必要的視覺內容,弱化視覺形式,減少駕駛員在開車過程中的信息負荷和干擾。目前來說,手勢交互運用在汽車里最大的優勢在于,動作是相對的,無需精準操作(精準操作不僅用手,還要靠眼睛尋找,很危險)。傳統的手勢控制很容易產生誤操作及干擾,利用連續的組合動作,在不影響手勢控制效率的前提下,可以消除誤操作的干擾。手勢處理模塊采集到手勢后,判斷是否為手勢控制的起始手勢,如果是起始手勢,再判斷接下來的手勢是否為預期手勢,通過組合手勢聯動有效減少手勢操作的干擾及誤操作。
同時,聯動手勢如果是比較難操作的生僻操作,那么不利于用戶記憶與操作,所以盡量創造符合用戶操作習慣的手勢組合,減少用戶學習時間,降低用戶的操作難度。在屏幕間功能交互時通過兩個手勢與一個動作的組合,過濾掉手勢操控過程中的干擾動作,不影響操作效率,防止誤操作發生,提高手勢識別準確率,提升隔空操作用戶體驗,智能化程度高。
手勢是指具有信息含義的人手姿態或動作,一般分為靜態手勢和動態手勢[6]。手勢控制分為場感應與攝像頭識別2種方式;場感應方式只能判斷手的運動趨勢,不能判斷手勢類型,目前主要是開關類型應用;攝像頭識別方式通過圖像處理可以同時識別出手勢類型以及手勢運動趨勢,用于識別駕駛員的操作意圖,所以設計采用基于攝像頭的手勢識別技術。
手勢控制采用多個攝像頭成像技術,通過將不同角度的2個或多個固定攝像頭得到的圖像或視頻流進行對比,根據攝像頭的角度偏差和圖像間差值計算出目標物體到攝像頭中心點的距離;通過內置的定制光路攝像頭采集手部圖像信息,通過算法判斷出手部不同姿態信息(Hand Posture)和不同手指的三維位置(3D Position)及運動軌跡(Motion Trail),再對應到相應的控制命令,技術原理如圖1所示。

注:Xl、Xr為目標點在左、右兩幅視圖上成像的橫坐標;d為視差;f為焦距;T為攝像頭中心距;Z為目標點到成像表面的距離。
手勢識別模塊在高精確度和高跟蹤幀率下工作,實時獲取位置、手勢和動作。手勢數據的內容主要分為手掌基礎數據和手運動關聯數據。手勢幀數據提供一些屬性反映被檢測到的手的物理特征,包括手掌坐標(Palm Position)、手掌速率(Palm Velocity)、手掌標準(Palm Normal)與手掌所形成的平面的垂直向量(向量方向指向手掌內側),手的運動通過當前幀與之前特定幀對比得到。采用2個連續手勢與一個動作的組合,不但大大提高手勢識別的準確率,而且符合用戶操作體驗,可以很快上手。手勢識別分為手掌進入、手掌變握拳及拳左右平移3個步驟。手掌變握拳動作作為移動開始的標志,可以把用戶無意識的手勢干擾過濾掉,手掌變拳動作符合用戶抓取東西的習慣,容易理解記憶。握拳移動實現屏幕區域左向、右向移動,符合日常生活中對物體拖動的習慣。
手勢識別算法流程如圖2所示,接收到手勢幀后,對手勢進行識別。當識別出手掌以后,再判斷接下來的手勢類型;當判斷為拳頭后,可以斷定手勢由手掌變為拳;然后再分析拳的移動,如果拳的移動在左右方向達到一定的距離,則判斷握拳發生位移。手勢設計與其他流程不同之處在于,每個分叉都有無數種手勢可能,以及手勢出入設備識別范圍,需要對手勢的種類、有無、停留時間等作出適當規范,以便獲得準確的反饋。

圖2 手勢識別算法流程圖
通過5根手指的Proximal與Metacarpal關節夾角判斷手指是否握拳,如圖3所示,5根手指識別處理算法具有相似性,以中指為例進行關鍵算法分析。
手勢識別關鍵算法為:
1)手指彎曲角度計算
通過中指Proximal與Metacarpal關節計算中指彎曲角度,當角度小于10°時,認為中指是伸直狀態,當角度大于80°時,認為中指是彎曲狀態。
2)握拳、手掌判斷
當全部手指的彎曲度大于80°時,判斷為握拳;當全部手指彎曲度小于10°時,判斷為手掌。
3)握拳移動
移動信息獲得是通過移動事件獲取,需要設定引起手移動事件的最小距離,當手移動到這個距離后會發生中斷。
握拳移動處理的流程為:
(1)移動事件發生;
(2)判斷是否為手掌移動事件;
(3)判斷左移還是右移。
當手勢發生所設定距離的移動時,引起手移動事件,判斷此時的手勢是否為握拳,如果是握拳,再判斷發生左向移動還是右向移動,最后針對左、右移動事件進行屏幕移動處理。
通過模擬臺架試驗,手勢操作很好地實現盲操作,提高駕駛安全性和人機交互的樂趣。試驗表明,手勢操作成功率可達95%,可以有效防止手勢控制誤操作,對于未來智能網聯車人機交互是一種切實可行的設計方案。
[1] Inbar O,Tractinsky N. Make a Trip an Experience:Sharing In-car Information with Passengers[C]// CHI’11 Extended Abstracts on Human Factors in Computing Systems.ACM,2011:1243-1248.
[2]Akyol S,Canzler U,Bengler K,et al. Gesture Control for Use in Automobiles[C]// Iapr Conference on Machine Vision Applications. DBLP,2000:349-352.
[3]Ohn-Bar E,Tran C,Trivedi M. Hand Gesture-based Visual User Interface for Infotainment[C]// International Conference on Automotive User Interfaces and Interactive Vehicular Applications,2012:111-115.
[4]馮志全,楊波. 三維自然手勢跟蹤的理論與方法[M].北京:清華大學出版社,2013.
[5]Krum D M,Faenger J,Lathrop B,et al. All Roads Lead to CHI:Interaction in the Automobile[C]// CHI '08 Extended Abstracts on Human Factors in Computing Systems. ACM,2008:2387-2390.
[6]赫文強. 動態手勢的識別及在PPT播放當中的應用研究[D]. 南寧:廣西大學,2013.
2017-05-15
1002-4581(2017)05-0016-04
U469.72
A
10.14175/j.issn.1002-4581.2017.05.005