專利名稱:多維感官人機交互系統及交互方法
技術領域:
本發明涉及ー種用于用戶和計算機之間交互的多維感官人機交互系統及交互方法,確切地說是涉及ー種結合頭部姿勢控制、語音控制和鍵盤鼠標操作等交互方式的人機交互系統,屬于人機交互技術領域。
背景技術:
隨著人們對計算機的使用范圍逐漸擴大,基于傳統単一的鼠標鍵盤的人機交互方式已不能滿足于人們日益增長的需求。例如辦公人員往往苦于多種程序之間的切換不夠靈便,可是受限于只能運用雙手對計算機進行操作而無法顯著地工作效率。另外,對于某些特殊用戶群體,如老年人、殘疾人,鼠標鍵盤操作不便于或難于學習,他們急需一種新的人機交互方式解決他們的煩惱。造成這些問題的原因在于傳統的人機交互方式過于單一,僅僅依靠雙手來對電腦進行操作。因此在人與機器的關系中,人們不得不去適應電腦,順從于電腦。然而,人的感官是非常豐富的,不僅有視覺、聽覺、嗅覺等,還有面部表情、頭部和身體動作、平衡等運動感官。這些豐富的感官一旦廣泛地應用到人與計算機之間的交流,將會給人機交互領域帶來巨大的變革。而這正是新一代人機交互方式重要特征多通道(Multimodality)。多通道旨在充分利用人的感覺通道和運動通道的互補特性來捕捉用戶的意向,從而增進人機交互中的自然性。采用多通道、以自然方式交互,可以實現高效人機通信,也可以由人或機器選擇最佳反應通道,從而不會使某一通道負擔過重。目前,國外正在進行研究的有關多通道人機交互技術的項目主要有美國MIT媒體實驗室的多通道自然對話項目,歐洲信息技術研究戰略規劃(ESPRITII)的Amodeus項目中,以及法國 IMAG 的 Coutaz 和 Nigay 設計的系統 MATIS(Multimodal Airline TravelInformation System)中,用戶可以利用鍵盤、鼠標、話筒或者它們的組合方式查詢航班信息。而在我國,杭州大學エ業心理學國家點實驗室、中國科學院軟件研究所共同承擔了國家自然科學基金重點項目“多通道用戶界面的研究”,探索了多通道界面的軟件結構,并使用三維鼠標器、漢字手寫體識別工具及語音輸入軟件等,研究了多通道界面的關鍵問題。針對多通道的人機交互方式,國內外的研究者所取得的大多為理論研究成果,為日常生活場景開發的應用較少。同時,人機交互方式主要限于手勢、語音等幾個方面,頭部動作跟蹤在多通道人機交互組合方式中尚未見到。
發明內容
本發明的技術解決問題克服現有技術的不足,提供一種多維感官人機交互系統及交互方法,使用戶可同時利用多種交互方式對計算機進行豐富簡單快捷的交互操作。本發明是通過以下技術方案實現的多維感官人機交互系統,如圖I所示,包括用戶信息采集模塊需要計算機有視頻輸入設備和音頻輸入設備作為硬件支持,用于向計算機分別輸入用戶頭部姿態信息和語音信息,這兩類信息通過不同的硬件輸入計算機,因此采集信息的過程可同時進行而互不干擾。該模塊從操作系統默認的視頻輸入設備和音頻輸入設備獲取視頻流和音頻流,并將視頻流和音頻流送至用戶信息識別分析模塊中;如果該模塊找不到視頻輸入設備或音頻輸入設備,則交由程序控制模塊阻塞用戶信息識別分析模塊、頭部姿態控制功能模塊、語音控制功能模塊中與頭部姿態或語音有關的程序流程。
用戶信息識別分析模塊對從用戶信息采集模塊中得到的視頻流和音頻流進行處理,得到能夠直接處理的信息對象。對于視頻流的處理,該模塊從視頻流中提取到彩色幀,經過顏色空間轉換、均值化處理、圖像縮放、邊緣處理、計算積分圖像和使用分類器搜索目標后,檢測出每ー幀中的頭部圖像,得到每ー幀所識別出的頭部圖像的數組,并將每ー幀所識別出的頭部圖像的數組送至頭部姿態控制功能模塊;對于音頻流的處理,該模塊調用相關的語音應用程序接ロ(SAPI),通過語音識別引擎將語音轉換成語音信息文本,交給語音控制功能模塊使用;此外,該模塊為不同種類的語音命令編寫了不同的語法,由于每ー種語法都是基于小詞匯量的且都設置了識別的置信度下限,從而提高了語音識別的準確度。頭部姿態控制功能模塊從得到的每ー幀頭部圖像的數組中檢測出最大的頭部作為識別的用戶的頭部,根據識別出的用戶頭部,確定用戶頭部的中心位置,并計算出連續N幀的頭部中心位置的平均值作為標定值;當某ー幀用戶頭部的中心位置的超出平均值達到模塊設定的閾值時,則判定用戶頭部處于運動狀態;否則,判定用戶頭部處于靜止狀態。用戶頭部處于運動狀態吋,該模塊提供兩種模式供用戶選擇普通模式和游戲模式。用戶可通過程序控制模塊對這兩種模式進行選擇。若用戶選擇普通模式,該模塊可根據頭部動作方向控制鼠標的移動方向,即將頭部動作方向映射為鼠標的移動方向;若用戶選擇游戲模式,該模塊可根據頭部動作方向模擬游戲的方向按鍵,即頭部向上運動時自動按下“ w”鍵,向下運動時自動按下“ s”鍵,向左運動時自動“a”鍵為左方向,向右運動時自動按下“ d”鍵。同吋,該模塊將識別出的頭部區域、頭部動作方向傳給界面交互模塊。語音控制功能模塊該模塊接受用戶信息識別分析模塊輸出的語音信息文本,由程序控制模塊判斷系統聽寫狀態是否開啟。用戶可通過程序控制模塊選擇聽寫狀態的開啟與關閉。若聽寫狀態開啟,則該模塊接受語音信息文本后,調用存儲模塊中的快捷鍵語音命令,進行查找匹配。如果匹配成功,則觸發對應的鍵盤按鍵事件,完成語音命令所代表的windows操作系統的快捷鍵操作。如果匹配失敗,則將接受的語音信息文以文字的形式發送到剪切板中,再粘貼到鼠標光標所在處,完成聽寫功能。若聽寫狀態關閉,首先將接收到的語音信息文本與存儲模塊中存儲的語音命令進行查找匹配,找到相應的語音命令;根據語音命令的內容,完成不同的操作。若語音命令屬于語音控制鼠標命令,則根據語音命令的內容觸發語音命令所映射的鼠標動作(如單擊、雙擊等);若語音命令屬于語音啟動程序命令,則啟動語音命令中程序路徑下的應用程序;若語音命令屬于語音模擬快捷鍵命令,則根據語音命令中的按鍵方式觸發相應的按鍵操作;若語音命令屬于語音打開網頁標簽命令,則在瀏覽器中打開語音命令的網址對應的網頁。同吋,該模塊將識別出的語音命令內容傳給界面交互模塊。存儲模塊利用哈希表和XML文件存儲了語音信息文本對應的語音命令。哈希表存儲了系統有限的常用基本語音命令,即語音控制鼠標命令,其內容為鼠標的各種事件。當語音控制功能模塊調用該部分命令,則將其鼠標的各種事件作為參數傳遞給語音控制功能模塊中的鼠標動作函數。XML文 件則存儲了可擴展的語音命令,包括語音模擬快捷鍵命令,語音啟動應用程序命令、語音打開網頁標簽命令。當語音控制功能模塊調語音模擬快捷鍵命令,則將其中存儲的快捷鍵組合方式作為參數傳遞給語音控制功能模塊中的模擬快捷鍵按鍵函數。當語音控制功能模塊調語音啟動快捷鍵命令,則將其中存儲的應用程序名作為參數傳遞給語音控制功能模塊中的啟動程序函數。當語音控制功能模塊調語音打開網頁標簽命令,則將其中存儲的網址作為參數傳遞給語音控制功能模塊中的網頁打開函數。該模塊允許對XML中存儲的命令進行增加、修改、刪除和查詢操作;界面交互模塊界面交互模塊接收程序控制模塊傳來的各功能流程的運行情況,在主窗體界面上顯示各功能的激活狀態,并提示用戶可進行的操作。界面交互模塊接收頭部姿態控制功能模塊傳來的頭部區域和頭部動作方向情況,在主窗體上繪制的視頻窗口上繪制人臉區域,并在鼠標附近繪制了上下左右四個方向的可變色的半透明箭頭用以標明頭部動作的移動方向。界面交互模塊接收語音命令模塊傳來的語音命令內容,在主窗體上以文字形式顯示語音命令的內容,以便用戶查看。程序控制模塊程序控制模塊接受頭部姿態控制功能模塊傳遞的數據,包括頭部姿態控制功能模塊是否開啟,頭部姿態控制功能模塊處于哪種模(普通模式或者游戲模式)。該模塊允許用戶切換頭部姿態控制功能模塊的啟用與關閉,允許用戶切換頭部姿態控制功能模塊兩種模式的切換。程序控制模塊接收語音控制功能模塊傳遞的數據,包括語音控制功能模塊是否開啟,語音控制功能模塊是否處于聽寫狀態下。該模塊允許用戶切換語音控制功能模塊的啟用與關閉,允許用戶切換語音控制模塊聽寫狀態的開啟與關閉。程序控制功能接收用戶信息采集模塊傳遞的信息,即視頻輸入設備和語音輸入設備是否存在。程序控制功能根據信息,決定是否開啟頭部姿態控制功能模塊或者語音控制功能模塊。自定制模塊該模塊允許用戶對語音命令進行修改,修改的數據通過界面交互模塊從用戶出獲取,修改后的語音命令傳遞給存儲模塊重新存儲。用戶可自定制的內容包括識別頭部動作的閾值(即頭部動作靈敏度),語音控制功能使用的語音命令。多維感官人機交互方法,步驟如下(I)采集用戶信息用戶信息采集模塊從操作系統默認的視頻輸入設備和音頻輸入設備獲取視頻流和音頻流,并傳給用戶信息識別分析模塊;如果操作系統沒有默認的視頻輸入設備或音頻輸入設備,程序控制模塊阻塞用戶信息識別分析模塊、頭部姿態控制功能模塊、語音控制功能模塊中與頭部姿態或語音有關的程序流程。(2)識別分析用戶信息用戶信息識別分析模塊對從用戶信息采集模塊得到的視頻流和音頻流進行處理,得到系統能夠直接處理的信息對象。對于視頻流,用戶信息識別分析模塊從中提取到彩色幀,經過顔色空間轉換、均值化處理、圖像縮放、邊緣處理、計算積分圖像和使用分類器搜索目標后,檢測出每ー幀中的頭部圖像,得到每ー幀所識別出的頭部圖像的數組送至頭部姿態控制功能模塊。對于音頻流的處理,用戶信息識別分析模塊會調用相關的語音應用程序接ロ(SAPI),通過語音識別引擎將語音轉換成語音信息文本,傳送給語音控制功能模塊。(3)頭部姿態控制或語音控制功能實現頭部姿態控制功能模塊從得到的每ー幀頭部圖像的數組中檢測出最大的頭部作為識別的用戶的頭部,根據識別出的用戶頭部,確定用戶頭部的中心位置,并計算出連續N幀的頭部中心位置的平均值作為標定值;當某一幀用戶頭部的中心位置的超出平均值達到模塊設定的閾值時,則判定用戶頭部處于運動狀態;否則,判定用戶頭部處于靜止狀態。用戶頭部處于運動狀態時,頭部姿態控制功能模塊提供兩種模式供用戶選擇普通模式和游戲模式。用戶可通過程序控制模塊對這兩種模式進行選擇。若用戶選擇普通模式,頭部姿態控制功能模塊可根據頭部動作方向控制鼠標的移動方向,即將頭部動作方向映射為鼠標的移動方向;若用戶選擇游戲模式,頭部姿態控制功能模塊可根據頭部動作方向模擬游戲的方向按鍵,即頭部向上運動時自動按下“ W”鍵,向下運動時自動按下“ S”鍵,向左運動時自動“a”鍵為左方向,向右運動時自動按下“d”鍵。同時,頭部姿態控制功能模塊將識別出的頭部區域、頭部動作方向傳給界面交互模塊。語音控制功能模塊接受用戶信息識別分析模塊輸出的語音信息文本,由程序控制模塊判斷系統聽寫狀態是否開啟。用戶可通過程序控制模塊選擇聽寫狀態的開啟與關閉。若聽寫狀態開 啟,則該模塊接受語音信息文本后,調用存儲模塊中的快捷鍵語音命令,進行查找匹配。如果匹配成功,則觸發對應的鍵盤按鍵事件,完成語音命令所代表的windows操作系統的快捷鍵操作。如果匹配失敗,則將接受的語音信息文以文字的形式發送到剪切板中,再粘貼到鼠標光標所在處,完成聽寫功能。若聽寫狀態關閉,首先將接收到的語音信息文本與存儲模塊中存儲的語音命令進行查找匹配,找到相應的語音命令;根據語音命令的內容,完成不同的操作。若語音命令屬于語音控制鼠標命令,則根據語音命令的內容觸發語音命令所映射的鼠標動作(如單擊、雙擊等);若語音命令屬于語音啟動程序命令,則啟動語音命令中程序路徑下的應用程序;若語音命令屬于語音模擬快捷鍵命令,則根據語音命令中的按鍵方式觸發相應的按鍵操作;若語音命令屬于語音打開網頁標簽命令,則在瀏覽器中打開語音命令的網址對應的網頁。同吋,該模塊將識別出的語音命令內容傳給界面交互模塊。(4)用戶界面輸出界面交互模塊接收程序控制模塊傳來的各功能流程的運行情況,在主窗體界面上顯示各功能的激活狀態,并提示用戶可進行的操作。界面交互模塊接收頭部姿態控制功能模塊傳來的頭部區域和頭部動作方向情況,在主窗體上繪制的視頻窗ロ上繪制人臉區域,并在鼠標附近繪制了上下左右四個方向的可變色的半透明箭頭用以標明頭部動作的移動方向。界面交互模塊接收語音命令模塊傳來的語音命令內容,在主窗體上以文字形式顯示語音命令的內容,以便用戶查看。同時,用戶也可以通過界面交互模塊輸入自定制信息修改頭部動作靈敏度和語音命令內容。本發明與現有技術相比的優點在于(I)本發明通過頭部姿態控制、語音控制、鍵盤鼠標操作等方式有機結合的多通道人機交互系統,使用戶可同時利用多種交互方式對計算機進行豐富簡單快捷的交互操作。(2)本可讓用戶采用多通道的交互方式快速編輯和撰寫文檔,很大程度上提高了辦公效率,為用戶節約了大量時間。例如,用戶在用鍵盤輸入文檔內容時,可以通過語音命令進行復制、粘貼、刪除等快捷操作,而無需將雙手在鼠標和鍵盤之間頻繁的切換。此外,用戶還可以通過語音命令快速啟動QQ、播放器、瀏覽器等程序,既快捷又簡單,減少了查找、點擊運行等繁瑣的操作。(3)本發明的頭部運動交互方式還可以讓用戶在休閑娛樂的同時達到頸部健身的目的。例如,用戶長時間用鼠標鍵盤坐著玩游戲會引起頸部酸痛,但是采用頭部動作操作游戲則會讓用戶在娛樂的同時鍛煉頸部,以減輕疲勞,這對于長時間操作計算機的人群是十分有益。
(4)本發明更加貼近日常生活,實用性較強,可用于辦公、玩游戲、飛行訓練、頸部健身等諸多應用場景,也可以讓學習鼠標鍵盤有困難的老年人、殘疾人也能輕松地操作計算機,讓更多的人享受到計算機的帶給人們的便利。
圖I為本發明交互系統總體設計圖;圖2為本發明中頭部識別流程圖;圖3為本發明中語音識別流程圖;圖4為本發明中頭部動作識別流程圖;圖5為本發明中頭部姿態控制功能流程圖;圖6為本發明中語音聽寫流程圖;圖7為本發明中語音控制鼠標流程圖;圖8為本發明中語音模擬快捷鍵流程圖;圖9為本發明中語音啟動應用程序流程圖;圖10為本發明中語音打開網頁標簽流程圖;圖11為本發明中XML文件設計圖;圖12為本發明中操作XML文件流程圖;圖13為本發明中交互界面設計圖;圖14為本發明中自定義流程圖;圖15為本發明中程序控制流程圖。
具體實施例方式下面結合附圖對本發明進行詳細說明。如圖I所示,本發明多維感知人機交互系統由8個模塊組成用戶信息采集模塊、用戶信息識別分析模塊、頭部姿態控制功能模塊、語音控制功能模塊、存儲模塊、界面交互模塊、自定制模塊和程序控制模塊。整體實現過程如下
(I)采集用戶信息。用戶信息采集模塊從操作系統默認的視頻輸入設備和音頻輸入設備獲取視頻流和音頻流。如果操作系統沒有默認的視頻輸入設備或音頻輸入設備,用戶信息采集模塊自動關閉頭部姿態控制或語音控制。(2)識別分析用戶信息。用戶信息識別分析模塊對從視頻輸入設備和音頻輸入設備獲得的視頻流和音頻流進行進ー步的處理,得到系統能夠直接處理的信息對象。對于視頻流,用戶信息識別分析模塊從中提取到彩色幀,經過顔色空間轉換、均值化處理、圖像縮放、邊緣處理、計算積分圖像和使用分類器搜索目標后,檢測出每ー幀中的頭部圖像,得到每ー幀所識別出的頭部圖像的數組。對于音頻流的處理,用戶信息識別分析模塊會調用相關的語音應用程序接ロ(SAPI),通過語音識別引擎將語音轉換成語音信息文本,交給系統直接處理使用。為提高識別的準確度,用戶信息識別分析模塊采用基于小詞匯量的命令識別模式和對不同語法設置不同置信度的方法。(3)頭部姿態控制或語音控制功能實現。
頭部姿態控制功能模塊從得到的每ー幀頭部圖像的數組中檢測出最大的頭部作為識別的用戶的頭部。根據識別出的頭部,確定頭部的中心位置,并計算出連續N幀的頭部中心位置的平均值作為標定值。當某一幀頭部的中心位置的超出平均值達到模塊設定的閾值時,頭部姿態控制功能模塊會判定頭部處于運動狀態。否則,判定頭部處于靜止狀態。在普通ネ旲式下,頭部姿態控制功能I旲塊根據頭部中心位直移動方向判定頭部動作方向,并映射為鼠標的移動方向,調用系統調用,轉換成相應的鼠標操作。在游戲模式下,頭部姿態控制功能I旲塊根據頭部中心位直移動方向判定頭部動作方向,并映射為游戲方向按鍵(上為“W”,下為“s”,左為“a”,右為“d” ),在驅動級模擬鍵盤動作。語音控制功能模塊接受用戶信息識別分析模塊輸出的語音信息文本,由程序控制模塊判斷系統聽寫狀態是否開啟。用戶可通過程序控制模塊選擇聽寫狀態的開啟與關閉。若聽寫狀態開啟,則該模塊接受語音信息文本后,調用存儲模塊中的快捷鍵語音命令,進行 查找匹配。如果匹配成功,則觸發對應的鍵盤按鍵事件,完成語音命令所代表的windows操作系統的快捷鍵操作。如果匹配失敗,則將接受的語音信息文以文字的形式發送到剪切板中,再粘貼到鼠標光標所在處,完成聽寫功能。若聽寫狀態關閉,首先將接收到的語音信息文本與存儲模塊中存儲的語音命令進行查找匹配,找到相應的語音命令;根據語音命令的內容,完成不同的操作。若語音命令屬于語音控制鼠標命令,則根據語音命令的內容觸發語音命令所映射的鼠標動作(如單擊、雙擊等);若語音命令屬于語音啟動程序命令,則啟動語音命令中程序路徑下的應用程序;若語音命令屬于語音模擬快捷鍵命令,則根據語音命令中的按鍵方式觸發相應的按鍵操作;若語音命令屬于語音打開網頁標簽命令,則在瀏覽器中打開語音命令的網址對應的網頁。同吋,該模塊將識別出的語音命令內容傳給界面交互模塊。(4)用戶界面輸出。界面交互模塊在主窗體界面上顯示各功能的激活狀態。根據系統的當前狀態,在主窗體界面上提示用戶接下來可以進行的操作。主窗體設有視頻窗ロ,在視頻窗口中繪出人臉區域,便于用戶標定調整。在鼠標附近,界面交互模塊繪制了上下左右四個方向的可變色的透明箭頭,用以顯示頭部動作的移動方向。上述各模塊的具體實現過程如下I.用戶信息采集模塊。該模塊的實現過程如下所示(I)檢查計算機是否有視頻輸入設備和音頻輸入設備。(2)若存在作多個視頻輸入設備或音頻輸入設備,該模塊會默認采集來自Windows操作系統默認的視頻輸入設備和音頻輸入設備的視頻流和音頻流。(3)若不存在視頻輸入設備或音頻輸入設備,Windows操作系統沒有默認的視頻輸入設備或音頻輸入設備,該模塊會自動關閉頭部姿態控制功能或語音控制功能。2.用戶信息識別分析模塊該模塊對于視頻流的實現過程如圖2所示(I)顏色空間的轉換在頭部識別中,處理的圖片是從視頻輸入設備獲取的,由于環境因素受光照影響非常大,因此要把彩色圖像轉換為灰度圖像(即黑白圖像)來減少光照影響,同時也能加快圖像的處理速度。
(2)均值化處理對輸入圖像進行直方圖均衡化,用來歸ー化圖像亮度和增強對比度。(3)圖像縮放采用等比例圖像縮放,在精度允許范圍內提高圖片處理速度,節省cpu和內存資源。(4)邊緣處理用canny算子實現邊緣檢測,所謂邊緣就是指圖像局部亮度變化最顯著的部分,它是檢測圖像局部顯著變化的最基本的運算。對于數字圖像,圖像灰度值的顯著變化可以用梯度來表示,用canny算子來實現邊緣檢測。
用高斯函數對圖像f (x,y)進行濾波得到f(x,y) XG(x,y, o ),然后計算其梯度矢量的模和方向M=| f (x, y)*G(x,y, o ) |
_ I : V) Gi v. . T ;ン圖像邊緣點即為在方向A上使模M取得局部極大值的點。其中G(x,y,o)是高斯函數,作為平滑濾波器;x,y代表濾波器窗ロ的大小。邊緣檢測在頭部檢測中的意義主要是它對檢測速度的優化,在沒有邊緣的地方,必定不會存在人臉,邊緣非常多的地方也不會存在人臉,通過邊緣檢測可以快速確定感興趣的區域,減少計算量,這樣就能夠對檢測速度做了很大的優化。該模塊對于音頻流的實現過程如圖3所示(I)從用戶信息采集模塊獲取語音。(2)運用識別引擎(Recognition Engine),從語音中識別出漢字。(3)輸出語音信息文本。3.頭部姿態控制功能模塊該模塊的實現過程如下所示(I)從用戶信息識別分析模塊獲取ー幀頭部圖像數組。(2)最大頭部選擇。對檢測出每幀N個頭部的位置和大小的信息,整理后掃描得到最大頭部的位置和大小信息,如圖4所示。(3)中心標定。系統初始化完成后的N幀圖像檢測出的最大頭部的位置求平均值所得到標定值,如圖4所示。(4)頭部移動方向檢測。系統會在圖像X軸和Y軸上設定閾值,當某一幀圖像最大頭部的中心位置在X軸或Y軸上偏離標定值的距離超過設定的閾值時,模塊會判斷用戶的頭部處于非靜止狀態,如圖4所示。(5)狀態標定。頭部動作映射ー個狀態標量,并為利用頭部移動方向的檢測結果為;如圖5所示。(6)頭部姿態控制鼠標移動和按鍵操作用戶通過程序控制模塊選擇普通模式或者游戲模式。如果頭部姿態控制處于普通模式下,如仰頭時狀態標量為UP,UP又可以映射為上移鼠標命令,再對標量狀態檢測并調用系統調用觸發相應的鼠標事件相應。如果頭部姿態控制處于游戲模式下,如仰頭時狀態標量為UP,UP又可以映射為游戲中的上方向鍵(即“W”鍵),再對標量狀態檢測并在驅動級模擬鍵盤按鍵操作。如圖5所
/Jn o4.語音控制功能模塊語音控制模塊的流程如下
(I)判斷系統所處的語音控制狀態。若聽寫狀態開啟,進行步驟(2),否則進行步驟⑶。(2)加載語音聽寫語法,將接受的語音信息文本先與存XML文件中的語音快捷鍵命令進行查找匹配。若匹配成功,則使用語音模擬快捷鍵命令。若匹配失敗,將語音文本與XML文件中的常用網址匹配。若常用網址匹配失敗,在光標處顯示語音信息文本。否則,由用戶選擇輸入的內容。如圖6所示。(3)若與語音控制鼠標動作命令匹配成功,進行步驟(4);若與語音模擬快捷鍵命令匹配成功,進行步驟(5);若與語音啟動應用程序命令匹配成功,進行步驟¢);若與語音網頁標簽命令匹配成功,進行步驟(7)。(4),模塊會查詢哈希表中的命令進行匹配,根據匹配結果,使用系統調用觸發鼠標的單擊、雙擊、單擊右鍵、單擊中鍵、向上滾動,向下滾動、定位到屏幕左(或右)上(或下)角、加快、減慢、拖動、結束拖動事件,如圖7。(5)若與語音模擬快捷鍵命令匹配成功,則存儲模塊中對應快捷鍵的命令內容(即快捷鍵的組合鍵方式)傳遞給語音控制模塊,語音控制模塊調用系統調用模擬鍵盤按下和抬起操作,實現快捷鍵語音模擬快捷鍵功能,如圖8所示。。(6)若與語音模擬快捷鍵命令匹配成功,則存儲模塊中對應的語音啟動程序命令內容(即啟動程序路徑)傳遞給語音控制模塊,語音控制模塊啟動命令內容中路徑下的程序,實現語音啟動應用程序功能,如圖9所示。(7)若與語音打開網頁標簽的命令匹配成功,則存儲模塊將對應的語音打開網頁標簽命令的內容(即網頁標簽的網址)傳遞給語音控制模塊,語音控制模塊調用系統調用開啟瀏覽器,并將網址作為參數傳給瀏覽器,實現語音打開網頁標簽功能,如圖10所示。此外,該模塊為了提高語音命令識別的準確度,采取了下列措施該模塊使用SAPI為各種語音命令編寫了不同的語法,每種語法包含了所要識別的語音命令內容的數組,如語音模擬快捷鍵語法包含了“復制”,“粘貼”,“全選”等語音模擬快捷鍵命令。由于每種語法涉及的詞匯量很小,因此識別效果較好。同吋,該模塊在每種語法中都設置了語音識別的置信度的下限值,當識別的語音低于這個下限值時,接受的語音不做處理。只有當超過置信度下限值時,接受的語音才會進行下一歩處理。5.存儲模塊該模塊采用兩種存儲技術哈希表和XML文件。哈希表主要用于存儲少量的語音控制系統的常用固定命令,因為該部分命令是系統內置的基本語音命令,數目較少(僅幾十條命令)且需要快速查找匹配,因此本發明采用哈希表存儲該部分數據。該模塊系統的常用基本命令建立一張哈希表,每ー種命令與其對應的識別語言構成ー組鍵值對,對應的識別語言從本發明保存的文件中讀取。哈希表一旦建立,就一直存在于程序內存當中。這樣的做法使得語音識別成功時,可立即查找到哈希表中對應的常用命令,查詢的時間幾乎為常數級。哈希表的缺點是一直占用內存,但是本發明僅僅存儲較少的常用基本命令,這ー缺點就可以忽略。
對于語音控制的可變自定制命令,考慮到其數據量大且需要頻繁篩選搜索,插入刪除修改動作,而哈希表占用內存較大,因此本發明采用XML存儲這部分數據。在XML文件中定義四類數據,即常用網址信息,語音啟動應用程序命令,語音模擬快捷鍵命令和語音打開網頁標簽命令。本發明將四類信息所需的數據存儲在ー個XML文件中,而不是分別存在四個XML文件中,原因是四類數據具有類似的結構,可以使用相似的查詢操作方法,而存儲在不同文件中,會増加無謂的加載時間,如圖11所示。。對于每個節點,本發明定義了兩個標簽作為子節點,分別使用來表示自然語言的內容和在程序代碼中使用的數據內容。這種類似哈希表的結構便于程序根據自然語言的內容查找到相應的內容。操作XML文件的流程,如圖12所示。6.界面交互模塊界面顯示信息包括視頻窗ロ顯示區、各類功能狀態顯示區、用戶操作提示區、自定義等,如圖13所不。界面交互模塊接收程序控制模塊傳來的各功能流程的運行情況,在主窗體界面上顯示各功能的激活狀態,并提示用戶可進行的操作。如頭部姿態控制功能模塊激活時,主界面現實“頭控開啟”,并提示用戶需要使用語音命令“中心定位”來進行初始化操作。用戶還可以進行“主菜単” “語音聽寫” “快捷操作” “頭控鼠標” “聲控鼠標”語音命令操作來查看各自對應的語音命令。如“快捷操作”下,主界面切換到快捷操作界面下,并提示用戶可進行“復制” “粘貼” “全選等操作”。界面交互模塊接收頭部姿態控制功能模塊傳來的頭部區域和頭部動作方向情況,在主窗體上繪制的視頻窗口上,用紅顏色的矩形區域圈出人臉的區域范圍,并在鼠標附近繪制了上下左右四個方向的可變色的半透明箭頭用以標明頭部動作的移動方向。如,當識別出用戶頭部動作為向上時,鼠標附近的向上箭頭會變為紅色,表示此刻鼠標正在向上運動。界面交互模塊接收語音命令模塊傳來的語音命令內容,在主窗體上以文字形式顯示語音命令的內容,以便用戶查看。如用戶使用語音命令“單擊鼠標”,主窗體上會顯示“單擊鼠標”。用戶在執行一條命令后,主界面區域會顯示出當前命令可能相關的其他命令。所有可操控界面分為四類頭控鼠標、聲控鼠標、語音讀寫、快捷操作,而快捷操作中又包括快捷應用、快捷網頁、快捷編輯和常用操作。用戶使用相應的分類語音命令即可查看相關命令和使用方式。7.自定義模塊該模塊為從界面交互模塊得到用戶的自定義信息,自定義的內容主要包括頭部動作靈敏度的定制和語音控制功能所需的語音命令(包括自定制常用網址,自定制快捷程序,自定制快捷操作命令和網頁標簽)。自定制實現的原理是將用戶自定義信息根據各自所屬的類別,分別在XML文件中找到相應的位置,并對XML文件進行增加,刪除或修改等操作。然后自動加載所有修改的語音命令所在的語法,使修改后的命令即時生效。其主要流程如圖14所示。 8.程序控制模塊該過程如圖15所示。(I)系統初始化完成后,可選擇頭部姿態控制功能模塊和語音控制功能模塊的開啟或關閉。(2)可對頭部姿態控制模塊的普通模式和游戲模式進行切換,分別進行系統預設的功能。(3)系統的語音控制選擇是否開啟聽寫狀態關閉。若關閉,系統允許用戶使用語音控制鼠標命令、語音模擬快捷鍵命令、語音啟動應用程序命令和語音打開網頁標簽命令。若開啟,此時,除語音模擬快捷鍵命令外,其他語音控制命令屏蔽,用戶可以使用聽寫功能。用戶可使用語音命令退出聽寫狀態。用戶也可以使用語音命令關閉語音控制。(4)系統的自定義界面開啟后,系統自動屏蔽語音控制,以便用戶修改語音命令。總之,本發明具有適用范圍廣、可維護性好、擴展性好等優點。此外,該系統為計算機用戶提供了一種新穎的人機交互的處理方法,對于普通用戶提高操作效率、頸部健身,以及老年人學習計算機,都有很大的幫助。本發明未詳細闡述部分屬于本領域公知技木。
權利要求
1.多維感官人機交互系統,其特征在于包括用戶信息采集模塊、用戶信息識別分析模塊、頭部姿態控制功能模塊、語音控制功能模塊、存儲模塊、界面交互模塊和程序控制模塊;其中: 用戶信息采集模塊從操作系統默認的視頻輸入設備和音頻輸入設備獲取視頻流和音頻流,并將視頻流和音頻流送至用戶信息識別分析模塊中;如果找不到視頻輸入設備或音頻輸入設備,則交由程序控制模塊阻塞用戶信息識別分析模塊、頭部姿態控制功能模塊、語音控制功能模塊中與頭部姿態或語音有關的程序流程; 用戶信息識別分析模塊對從用戶信息采集模塊中得到的視頻流和音頻流進行處理,得到能夠直接處理的信息對象;對于視頻流的處理,從視頻流中提取到彩色幀,經過顏色空間轉換、均值化處理、圖像縮放、邊緣處理、計算積分圖像和使用分類器搜索目標后,檢測出每ー幀中的頭部圖像,得到每ー幀所識別出的頭部圖像的數組,并將每ー幀所識別出的頭部圖像的數組送至頭部姿態控制功能模塊;對于音頻流的處理,調用相關的語音應用程序接ロ(SAPI),通過語音識別引擎將語音轉換成語音信息文本,交給語音控制功能模塊使用; 頭部姿態控制功能模塊從得到的每ー幀頭部圖像的數組中檢測出最大的頭部作為識別的用戶的頭部,根據識別出的用戶頭部,確定用戶頭部的中心位置,并計算出連續N幀的頭部中心位置的平均值作為標定值;當某ー幀用戶頭部的中心位置的超出平均值達到模塊設定的閾值時,則判定用戶頭部處于運動狀態;否則,判定用戶頭部處于靜止狀態;用戶頭部處于運動狀態吋,該模塊提供兩種模式供用戶選擇普通模式和游戲模式,用戶可通過程序控制模塊對這兩種模式進行選擇;若用戶選擇普通模式,該模塊可根據頭部動作方向控制鼠標的移動方向,即將頭部動作方向映射為鼠標的移動方向;若用戶選擇游戲模式,該模塊可根據頭部動作方向模擬游戲的方向按鍵;同吋,該模塊將識別出的頭部區域、頭部動作方向傳給界面交互模塊; 語音控制功能模塊接受用戶信息識別分析模塊輸出的語音信息文本,由程序控制模塊判斷系統聽寫狀態是否開啟,用戶可通過程序控制模塊選擇聽寫狀態的開啟與關閉;若聽寫狀態開啟,則接受語音信息文本后,調用存儲模塊中的快捷鍵語音命令,進行查找匹配,如果匹配成功,則觸發對應的鍵盤按鍵事件,完成語音命令所代表的windows操作系統的快捷鍵操作;如果匹配失敗,則將接受的語音信息文以文字的形式發送到剪切板中,再粘貼到鼠標光標所在處,完成聽寫功能;若聽寫狀態關閉,首先將接收到的語音信息文本與存儲模塊中存儲的語音命令進行查找匹配,找到相應的語音命令;根據語音命令的內容,完成不同的操作;若語音命令屬于語音控制鼠標命令,則根據語音命令的內容觸發語音命令所映射的鼠標動作;若語音命令屬于語音啟動程序命令,則啟動語音命令中程序路徑下的應用程序;若語音命令屬于語音模擬快捷鍵命令,則根據語音命令中的按鍵方式觸發相應的按鍵操作;若語音命令屬于語音打開網頁標簽命令,則在瀏覽器中打開語音命令的網址對應的網頁;同吋,該模塊將識別出的語音命令內容傳給界面交互模塊; 存儲模塊利用哈希表和XML文件存儲了語音信息文本對應的語音命令;哈希表存儲了系統有限的常用基本語音命令,即語音控制鼠標命令,其內容為鼠標的各種事件;當語音控制功能模塊調用該部分命令,則將其鼠標的各種事件作為參數傳遞給語音控制功能模塊中的鼠標動作函數。XML文件則存儲了可擴展的語音命令,包括語音模擬快捷鍵命令,語音啟動應用程序命令、語音打開網頁標簽命令;當語音控制功能模塊調語音模擬快捷鍵命令,則將其中存儲的快捷鍵組合方式作為參數傳遞給語音控制功能模塊中的模擬快捷鍵按鍵函數;當語音控制功能模塊調語音啟動快捷鍵命令,則將其中存儲的應用程序名作為參數傳遞給語音控制功能模塊中的啟動程序函數;當語音控制功能模塊調語音打開網頁標簽命令,則將其中存儲的網址作為參數傳遞給語音控制功能模塊中的網頁打開函數;該模塊還允許對XML中存儲的命令進行增加、修改、刪除和查詢操作;界面交互模塊接收程序控制模塊傳來的各功能流程的運行情況,在主窗體界面上顯示各功能的激活狀態,并提示用戶可進行的操作;接收頭部姿態控制功能模塊傳來的頭部區域和頭部動作方向情況,在主窗體上繪制的視頻窗口上繪制人臉區域,并在鼠標附近繪制了上下左右四個方向的可變色的半透明箭頭用以標明頭部動作的移動方向;接收語音命令模塊傳來的語音命令內容,在主窗體上以文字形式顯示語音命令的內容,以便用戶查看; 程序控制模塊接受頭部姿態控制功能模塊傳遞的數據,包括頭部姿態控制功能模塊是否開啟,頭部姿態控制功能模塊處于哪種模式,即普通模式或者游戲模式;該模塊還允許用戶切換頭部姿態控制功能模塊的啟用與關閉,允許用戶切換頭部姿態控制功能模塊兩種模式的切換;接收語音控制功能模塊傳遞的數據,包括語音控制功能模塊是否開啟,語音控制功能模塊是否處于聽寫狀態下;允許用戶切換語音控制功能模塊的啟用與關閉,允許用戶切換語音控制模塊聽寫狀態的開啟與關閉;接收用戶信息采集模塊傳遞的信息,即視頻輸入設備和語音輸入設備是否存在,程序控制功能根據信息,決定是否開啟頭部姿態控制功能模塊或者語音控制功能模塊; 自定制模塊允許用戶對語音命令進行修改,修改的數據通過界面交互模塊從用戶出獲取,修改后的語音命令傳遞給存儲模塊重新存儲;用戶可自定制的內容包括識別頭部動作的閾值,即頭部動作靈敏度,語音控制功能使用的語音命令。
2.根據權利要求所述的多維感官人機交互系統,其特征在于所述用戶信息識別分析模塊還為不同種類的語音命令編寫了不同的語法,由于每ー種語法都是基于小詞匯量的且都設置了識別的置信度下限,從而提高了語音識別的準確度。
3.多維感官人機交互方法,其特征在于實現步驟如下 (1)采集用戶信息用戶信息采集模塊從操作系統默認的視頻輸入設備和音頻輸入設備獲取視頻流和音頻流,并傳給用戶信息識別分析模塊;如果操作系統沒有默認的視頻輸入設備或音頻輸入設備,程序控制模塊阻塞用戶信息識別分析模塊、頭部姿態控制功能模塊、語音控制功能模塊中與頭部姿態或語音有關的程序流程; (2)識別分析用戶信息用戶信息識別分析模塊對從用戶信息采集模塊得到的視頻流和音頻流進行處理,得到系統能夠直接處理的信息對象;對于視頻流,用戶信息識別分析模塊從中提取到彩色幀,經過顏色空間轉換、均值化處理、圖像縮放、邊緣處理、計算積分圖像和使用分類器搜索目標后,檢測出每ー幀中的頭部圖像,得到每ー幀所識別出的頭部圖像的數組送至頭部姿態控制功能模塊;對于音頻流的處理,用戶信息識別分析模塊會調用相關的語音應用程序接ロ(SAPI),通過語音識別引擎將語音轉換成語音信息文本,傳送給語首控制功能I旲塊; (3)頭部姿態控制或語音控制功能實現頭部姿態控制功能模塊從得到的每ー幀頭部圖像的數組中檢測出最大的頭部作為識別的用戶的頭部,根據識別出的用戶頭部,確定用戶頭部的中心位置,并計算出連續N幀的頭部中心位置的平均值作為標定值;當某ー幀用戶頭部的中心位置的超出平均值達到模塊設定的閾值時,則判定用戶頭部處于運動狀態;否則,判定用戶頭部處于靜止狀態;用戶頭部處于運動狀態時,頭部姿態控制功能模塊提供兩種模式供用戶選擇普通模式和游戲模式,用戶可通過程序控制模塊對這兩種模式進行選擇,若用戶選擇普通模式,頭部姿態控制功能模塊可根據頭部動作方向控制鼠標的移動方向,即將頭部動作方向映射為鼠標的移動方向;若用戶選擇游戲模式,頭部姿態控制功能模塊可根據頭部動作方向模擬游戲的方向按鍵;同時,頭部姿態控制功能模塊將識別出的頭部區域、頭部動作方向傳給界面交互模塊;語音控制功能模塊接受用戶信息識別分析模塊輸出的語音信息文本,由程序控制模塊判斷系統聽寫狀態是否開啟;用戶可通過程序控制模塊選擇聽寫狀態的開啟與關閉;若聽寫狀態開啟,則該模塊接受語音信息文本后,調用存儲模塊中的快捷鍵語音命令,進行查找匹配,如果匹配成功,則觸發對應的鍵盤按鍵事件,完成語音命令所代表的windows操作系統的快捷鍵操作;如果匹配失敗,則將接受的語 音信息文以文字的形式發送到剪切板中,再粘貼到鼠標光標所在處,完成聽寫功能;若聽寫狀態關閉,首先將接收到的語音信息文本與存儲模塊中存儲的語音命令進行查找匹配,找到相應的語音命令;根據語音命令的內容,完成不同的操作;若語音命令屬于語音控制鼠標命令,則根據語音命令的內容觸發語音命令所映射的鼠標動作;若語音命令屬于語音啟動程序命令,則啟動語音命令中程序路徑下的應用程序;若語音命令屬于語音模擬快捷鍵命令,則根據語音命令中的按鍵方式觸發相應的按鍵操作;若語音命令屬于語音打開網頁標簽命令,則在瀏覽器中打開語音命令的網址對應的網頁;同吋,將識別出的語音命令內容傳給界面交互模塊; (4)用戶界面輸出界面交互模塊接收程序控制模塊傳來的各功能流程的運行情況,在主窗體界面上顯示各功能的激活狀態,并提示用戶可進行的操作;界面交互模塊接收頭部姿態控制功能模塊傳來的頭部區域和頭部動作方向情況,在主窗體上繪制的視頻窗口上繪制人臉區域,并在鼠標附近繪制了上下左右四個方向的可變色的半透明箭頭用以標明頭部動作的移動方向;界面交互模塊接收語音命令模塊傳來的語音命令內容,在主窗體上以文字形式顯示語音命令的內容,以便用戶查看;同時,用戶也可以通過界面交互模塊輸入自定制信息修改頭部動作靈敏度和語音命令內容。
全文摘要
多維感官人機交互系統及交互方法,是一種基于頭部姿態控制、語音控制和鍵盤鼠標操作等交互方式相結合的多維感知人機交互系統及方法,由8個模塊組成用戶信息采集模塊、用戶信息識別分析模塊、頭部姿態控制功能模塊、語音控制功能模塊、存儲模塊、界面交互模塊、自定制模塊和程序控制模塊。該方法通過采集用戶信息、識別分析用戶信息、頭部姿態控制或語音控制功能實現、用戶界面輸出4個過程實現。本發明具有適用范圍廣、可維護性好、擴展性好等優點。此外,該系統為計算機用戶提供了一種新穎的人機交互的處理方法,對于普通用戶提高操作效率、頸部健身,以及老年人學習計算機,都有很大的幫助。
文檔編號G06F17/30GK102622085SQ20121010534
公開日2012年8月1日 申請日期2012年4月11日 優先權日2012年4月11日
發明者宋友, 張野, 王澤強, 王洪磊, 羅云峰, 欽恩強 申請人:北京航空航天大學