發布日期:2022-05-18 點擊率:59
2.3 ?勢識別
NUI 的挑戰:“Simple is hard.Easy is harder.Invisible is hardest.”——Jean-LouisGassée
2.3.1 ?勢的圖形?戶界?
未來的?機交互將是?然?戶界?(Natural User Interface),當然這個界?還很模糊。隨著便宜?可靠的多點觸摸硬件的不斷發展,我們相信,在不久的未來,多點觸摸設備不僅僅是在實驗室?了,?是遍布在學習室,繪圖室甚?是廚房?,?限可能。
?標和圖形?戶界??直是電腦可以在社會上?規模普及的重要原因。然?,傳統的?機交互是間接的和需要識別的?種?法。建?在多點觸摸上的?機?然交互是直觀的,流暢的和令?回味的。基于?勢的GUI 界?將進?步使計算機成為我們?活中的不可或缺的?部分。
從?義上說,“?勢的概念涵蓋很?泛,只要是為了讓交流的?的更明確,更引?矚??采?的?切?體動作,都可以稱作?勢。”通過?勢交流是?類發展歷程中最古?的形式,當然,這超出了我們的討論范圍。GUI 系統是利??們以往的閱歷和認知來熟悉應?程序,?NUI 的界?充分利?了?們的設想和合乎情理的結論從?提出了?個直觀的、基于?勢的內容界?。這樣?個基于?勢的界?是社會化,任務協作,以及藝術性觸摸的最佳候選?案。這個界?是符合?然規律的、更直觀的?戶界?。
然?,現在多點觸摸硬件上所使?的?勢是很少的,仍然存在很?的發展空間,當然也少不了繼續探尋?些?勢的可應?性。多點觸摸界?需要?個全新的?案,?不是?GUI 或者WIMP 的?法來實現它。?勢的類型決定了不管是多觸摸?戶還是單觸摸多?戶都能進?互動。我們將討論需要的新?勢,發展?勢識別模塊和?持框架能夠充分利?多點觸摸設備的潛?,?持可定制開發和易于使?的復雜的多點觸摸應?。
2.3.2 ?勢Widgets
NUI 的多點觸摸?案提供了?套強?的?勢界?平臺,?且是基于對象的(?不是WIMP),從?消除了現實世界與應?程序之間的抽象化。界?的?的在于讓?們能夠直接操縱、更好的沉浸式體驗和容納界?上的低精度操作。流?的?勢諸如?兩個?指將圖?縮放、旋轉,這被稱之為“操控?勢”,也是?然?勢的?個很好的例?。
圖1:多點觸摸程序中的?勢范例
新類型的?勢widgets[圖2]對對象的直接操控要有?個全?的概念(在NUI的概念中,?切都是對象),有?個流暢且具有喚起性(evocative)的環境,不僅僅是模擬?標。
圖2
Gesture Widgets 應該具有創造性思維,能夠存儲?戶的反饋并進?處理。那么這些Gesture Widgets 就可以被擴展來設計開發更復雜的應?,它們還應該?持?定義?勢。
2.3.3 ?勢識別
?勢識別研究的主要?的是建??個能夠識別?的特定的?勢然后發送這些信息或者直接控制設備的系統。為了確保能夠?較準確的識別?勢和呈現?個直觀的界?,在這個系統模型上會做?些限制。多點觸摸設備應該提供?個以上的?戶獨??作或者協同?作的能?,然后讓多點觸摸應?和多種多點觸摸設置模式在?起?作。
圖3:?勢?例
?勢(Gesture)?詞被定義為起點和終點在?個范圍內,?且在兩點之間有動作。在多點觸摸輸?的時候,系統應該能夠識別在空間和時間內有意義的?勢。?勢識別程序可分為三個漸進的過程。
檢測意圖:?勢僅需要在?戶操控應?程序窗?的時候解析,X 延展輸?協議以及即將到來的X12 會通過X 服務器來擔當繼續地轉述觸摸事件的責任,通過軟件的執?正確地反饋給應?界?。
?勢區分:在同?個應?程序操作觸摸事件的時候會有同樣的?套動作,因此,觸摸事件需要基于對象意向情況下被重新定義,這些被重新定義的數據會被發送給?勢識別模塊。
?勢分類:?勢識別模塊會將被定義的數據映射到相對應的命令中,這會有各種?勢識別能夠?到,可以是單獨的或者像Markov Models, Artifcial NeuralNetworks, Finite State Machine 等那樣整合起來的。
其中最重要的技術是隱形馬爾科夫模型(Hidden Markov Models,HMM)。它是根據歷史數據,預測等時間間隔點上的各類對象分布狀況。此?法的基本思想是根據過去對象變動的規律,推測未來對象變動的趨勢。
?個仿真的神經?絡(artificial neural network,ANN),通常只叫做NN(neuralnetwork),它是?個建?在?物神經?絡理論上的計算機模型[圖4],它在多變的環境中?常靈活。新的?法可以同時使?HMM 和較為常見的ANN 來識別對象。
?勢識別模塊還應提供聯機和脫機識別功能,以及shot 和progressive 的?勢。依照現在的觀點,可以表?為:
圖4:在離線模式下,觸點追蹤和?勢識別的框架
從客戶端架構分離的?勢識別模塊本?就可以構成MVC 架構,這樣有助于稍后講到的語?識別模塊和其它的?勢識別模塊以適當的形式映射到界?控制器,然后更新視圖和模型,使之成為更強?的界?。
2.3.4 開發框架
現在有?些框架已經發布了,它們正在制定幫助多點觸摸應?發展的觸摸事件界?管理?式。然?,現在設備輸?管理的?式仍然是抽象的,觸摸事件通過TUIO 發送(TUIO 是不考慮底層硬件的)。??勢識別能真正地挖掘多點觸摸界?的潛?,這也是客戶端的任務。現在?些通常的?勢,特別是那些操控圖?的?勢已經出現了。這些框架不是側重于?勢界?,它們更側重于發展多點觸摸環境的GUI 和WIMP 的標準接?。
?勢和?勢識別模塊隨著NUI 界?的推出已經有了長?的發展。?些重要的框架有:
Sparsh-UI
Sparsh-UI 是?個發布在LGPL 許可證下的多點觸摸?勢識別框架,貌似也是第?個關于?勢識別的框架。它可以連接各種硬件設備,并且可以跨平臺使?,同時?持不同的編程語?和UI 框架。觸摸信息從連接裝置捕獲之后會進??勢的處理和識別,每?個在客戶端的可視化組件都可以被“聯想”成?組特定的?勢,然后試圖去識別它。新的?勢和識別算法可以添加到包中設為默認。
Gesture Definition Markup Language
GDML 是基于XML 的?種?來說明在輸?界?上如何建?清晰的?勢事件的標記語?。通過XML 來描述?勢的狀態,同時?持在指定的基礎上創造新的?勢,這也就是說,?勢引擎?持?定義的?勢。
這個項?設想成兩部分:
描述?個標準的?勢庫(Gesturelib)來滿??部分應?的需要。
類庫代碼?持已經既定的?勢,并且可以將?勢事件發送給應?層。
Grafiti
Grafiti 是?個建?在TUIO 客戶端上的C#框架,可以?來管理桌上界?多點觸摸的交互?為,也?持?些既定的有形物體的觸摸。這個項?的?的是?持使?第三?模塊來加強(專業)?勢識別算法。當然,?些基本的?勢已經包含在??了。
NUIframe
NUIframe 是?個基于上述討論模式的C++框架(?前正在開發中)。它提供了?個單獨的?勢識別模塊,除了處理?連串觸摸事件之外,NUIframe 也提供了客戶端程序。這就可以確保不同的對象在使?相同?勢的時候,可以根據背景做出不同的運算。它還將?持基于?戶特定的規格來?定義?勢。這套?勢?具?持圖形化的?動調試所?成的?勢。
AME Patterns Library
AME Patterns Library 是?個新的C++模式識別庫,?前的重點是實時?勢識別(real-time gesture recognition)。它使?基于概念的程序設計來表達通?的?勢識別算法。這個庫最近作為AMELiA (the Arts, Media and Engineering LibraryAssortment,?個開源的庫集)的?部分發布在了GNU 通?公共許可證下。它同時實現了兩個多點觸摸識別的隱形馬爾科夫模型,同時減少了?些參數模型,簡化需求條件,改進了運?時間性能,同時保持了良好的識別效果。
這?也有?勢識別軟件在準確性和實?性上存在的挑戰:
?勢識別中的圖形噪聲
不同的?在同??勢上存在差異
在給定的區域?找到普遍性的?勢?不是去繪制難以記憶的?勢
包容?勢的可變性和復制性
慎重考慮與GUI 系統相?有沖突的地?
Distinguishing intentional gestures from unintentional postural adjustmentsknown as the gesture saliency problem.
懸空?臂式操作(gorilla arm):?類并不習慣于在操控?為的時候將?舉在前?,在通過?段時間的操控后,?臂回變得酸痛、局促、浮腫等,就像?只?猩猩?樣在觸摸屏上操作著。盡管短時間的操控沒有什么問題,但從1980 年早期開始將垂直式觸摸屏作為主流輸?技術,卻阻礙了發展。
可以進?步改善NUI 界?,?如在?勢識別模塊上加?壓?感應,語?輸?,?部識別等。
下一篇: PLC、DCS、FCS三大控
上一篇: 軟件和應用程序3