欧美大胆a级视频免费,国产精品日韩经典中文字幕,熟女av一区二区高清区,粉嫩一区二区三区色综合

當(dāng)前位置:首頁 > 觸控技術(shù) > 多點(diǎn)觸摸技術(shù)
多點(diǎn)觸摸技術(shù)

軟件和應(yīng)用程序2

       2.3 ⼿勢識別
       NUI 的挑戰(zhàn):“Simple is hard.Easy is harder.Invisible is hardest.”——Jean-LouisGassée
       2.3.1 ⼿勢的圖形⽤戶界⾯
       未來的⼈機(jī)交互將是⾃然⽤戶界⾯(Natural User Interface),當(dāng)然這個界⾯還很模糊。隨著便宜⼜可靠的多點(diǎn)觸摸硬件的不斷發(fā)展,我們相信,在不久的未來,多點(diǎn)觸摸設(shè)備不僅僅是在實(shí)驗(yàn)室⾥了,⽽是遍布在學(xué)習(xí)室,繪圖室甚⾄是廚房⾥,⽆限可能。
       ⿏標(biāo)和圖形⽤戶界⾯⼀直是電腦可以在社會上⼤規(guī)模普及的重要原因。然⽽,傳統(tǒng)的⼈機(jī)交互是間接的和需要識別的⼀種⽅法。建⽴在多點(diǎn)觸摸上的⼈機(jī)⾃然交互是直觀的,流暢的和令⼈回味的?;?#12095;勢的GUI 界⾯將進(jìn)⼀步使計算機(jī)成為我們⽣活中的不可或缺的⼀部分。
       從⼴義上說,“⼿勢的概念涵蓋很⼴泛,只要是為了讓交流的⽬的更明確,更引⼊矚⽬⽽采⽤的⼀切⾝體動作,都可以稱作⼿勢。”通過⼿勢交流是⼈類發(fā)展歷程中最古⽼的形式,當(dāng)然,這超出了我們的討論范圍。GUI 系統(tǒng)是利⽤⼈們以往的閱歷和認(rèn)知來熟悉應(yīng)⽤程序,⽽NUI 的界⾯充分利⽤了⼈們的設(shè)想和合乎情理的結(jié)論從⽽提出了⼀個直觀的、基于⼿勢的內(nèi)容界⾯。這樣⼀個基于⼿勢的界⾯是社會化,任務(wù)協(xié)作,以及藝術(shù)性觸摸的最佳候選⽅案。這個界⾯是符合⾃然規(guī)律的、更直觀的⽤戶界⾯。
       然⽽,現(xiàn)在多點(diǎn)觸摸硬件上所使⽤的⼿勢是很少的,仍然存在很⼤的發(fā)展空間,當(dāng)然也少不了繼續(xù)探尋⼀些⼿勢的可應(yīng)⽤性。多點(diǎn)觸摸界⾯需要⼀個全新的⽅案,⽽不是⽤GUI 或者WIMP 的⽅法來實(shí)現(xiàn)它。⼿勢的類型決定了不管是多觸摸⽤戶還是單觸摸多⽤戶都能進(jìn)⾏互動。我們將討論需要的新⼿勢,發(fā)展⼿勢識別模塊和⽀持框架能夠充分利⽤多點(diǎn)觸摸設(shè)備的潛⼒,⽀持可定制開發(fā)和易于使⽤的復(fù)雜的多點(diǎn)觸摸應(yīng)⽤。
       2.3.2 ⼿勢Widgets
       NUI 的多點(diǎn)觸摸⽅案提供了⼀套強(qiáng)⼤的⼿勢界⾯平臺,⽽且是基于對象的(⽽不是WIMP),從⽽消除了現(xiàn)實(shí)世界與應(yīng)⽤程序之間的抽象化。界⾯的⽬的在于讓⼈們能夠直接操縱、更好的沉浸式體驗(yàn)和容納界⾯上的低精度操作。流⾏的⼿勢諸如⽤兩個⼿指將圖⽚縮放、旋轉(zhuǎn),這被稱之為“操控⼿勢”,也是⾃然⼿勢的⼀個很好的例⼦。

圖1:多點(diǎn)觸摸程序中的⼿勢范例
圖1:多點(diǎn)觸摸程序中的⼿勢范例
 

       新類型的⼿勢widgets[圖2]對對象的直接操控要有⼀個全⾯的概念(在NUI的概念中,⼀切都是對象),有⼀個流暢且具有喚起性(evocative)的環(huán)境,不僅僅是模擬⿏標(biāo)。

圖2
圖2
 

       Gesture Widgets 應(yīng)該具有創(chuàng)造性思維,能夠存儲⽤戶的反饋并進(jìn)⾏處理。那么這些Gesture Widgets 就可以被擴(kuò)展來設(shè)計開發(fā)更復(fù)雜的應(yīng)⽤,它們還應(yīng)該⽀持⾃定義⼿勢。
       2.3.3 ⼿勢識別
       ⼿勢識別研究的主要⽬的是建⽴⼀個能夠識別⼈的特定的⼿勢然后發(fā)送這些信息或者直接控制設(shè)備的系統(tǒng)。為了確保能夠⽐較準(zhǔn)確的識別⼿勢和呈現(xiàn)⼀個直觀的界⾯,在這個系統(tǒng)模型上會做⼀些限制。多點(diǎn)觸摸設(shè)備應(yīng)該提供⼀個以上的⽤戶獨(dú)⽴⼯作或者協(xié)同⼯作的能⼒,然后讓多點(diǎn)觸摸應(yīng)⽤和多種多點(diǎn)觸摸設(shè)置模式在⼀起⼯作。

圖3:⼿勢⽰例
圖3:⼿勢⽰例
 

       ⼿勢(Gesture)⼀詞被定義為起點(diǎn)和終點(diǎn)在⼀個范圍內(nèi),⽽且在兩點(diǎn)之間有動作。在多點(diǎn)觸摸輸⼊的時候,系統(tǒng)應(yīng)該能夠識別在空間和時間內(nèi)有意義的⼿勢。⼿勢識別程序可分為三個漸進(jìn)的過程。
       檢測意圖:⼿勢僅需要在⽤戶操控應(yīng)⽤程序窗⼝的時候解析,X 延展輸⼊協(xié)議以及即將到來的X12 會通過X 服務(wù)器來擔(dān)當(dāng)繼續(xù)地轉(zhuǎn)述觸摸事件的責(zé)任,通過軟件的執(zhí)⾏正確地反饋給應(yīng)⽤界⾯。
       ⼿勢區(qū)分:在同⼀個應(yīng)⽤程序操作觸摸事件的時候會有同樣的⼀套動作,因此,觸摸事件需要基于對象意向情況下被重新定義,這些被重新定義的數(shù)據(jù)會被發(fā)送給⼿勢識別模塊。
       ⼿勢分類:⼿勢識別模塊會將被定義的數(shù)據(jù)映射到相對應(yīng)的命令中,這會有各種⼿勢識別能夠⽤到,可以是單獨(dú)的或者像Markov Models, Artifcial NeuralNetworks, Finite State Machine 等那樣整合起來的。
       其中最重要的技術(shù)是隱形馬爾科夫模型(Hidden Markov Models,HMM)。它是根據(jù)歷史數(shù)據(jù),預(yù)測等時間間隔點(diǎn)上的各類對象分布狀況。此⽅法的基本思想是根據(jù)過去對象變動的規(guī)律,推測未來對象變動的趨勢。
       ⼀個仿真的神經(jīng)⽹絡(luò)(artificial neural network,ANN),通常只叫做NN(neuralnetwork),它是⼀個建⽴在⽣物神經(jīng)⽹絡(luò)理論上的計算機(jī)模型[圖4],它在多變的環(huán)境中⾮常靈活。新的⽅法可以同時使⽤HMM 和較為常見的ANN 來識別對象。
       ⼿勢識別模塊還應(yīng)提供聯(lián)機(jī)和脫機(jī)識別功能,以及shot 和progressive 的⼿勢。依照現(xiàn)在的觀點(diǎn),可以表⽰為:

圖4:在離線模式下,觸點(diǎn)追蹤和⼿勢識別的框架
圖4:在離線模式下,觸點(diǎn)追蹤和⼿勢識別的框架
 

       從客戶端架構(gòu)分離的⼿勢識別模塊本⾝就可以構(gòu)成MVC 架構(gòu),這樣有助于稍后講到的語⾳識別模塊和其它的⼿勢識別模塊以適當(dāng)?shù)男问接成涞浇?#12207;控制器,然后更新視圖和模型,使之成為更強(qiáng)⼤的界⾯。
       2.3.4 開發(fā)框架
       現(xiàn)在有⼀些框架已經(jīng)發(fā)布了,它們正在制定幫助多點(diǎn)觸摸應(yīng)⽤發(fā)展的觸摸事件界⾯管理⽅式。然⽽,現(xiàn)在設(shè)備輸⼊管理的⽅式仍然是抽象的,觸摸事件通過TUIO 發(fā)送(TUIO 是不考慮底層硬件的)。⽽⼿勢識別能真正地挖掘多點(diǎn)觸摸界⾯的潛⼒,這也是客戶端的任務(wù)?,F(xiàn)在⼀些通常的⼿勢,特別是那些操控圖⽚的⼿勢已經(jīng)出現(xiàn)了。這些框架不是側(cè)重于⼿勢界⾯,它們更側(cè)重于發(fā)展多點(diǎn)觸摸環(huán)境的GUI 和WIMP 的標(biāo)準(zhǔn)接⼝。
       ⼿勢和⼿勢識別模塊隨著NUI 界⾯的推出已經(jīng)有了長⾜的發(fā)展。⼀些重要的框架有:
       Sparsh-UI
       Sparsh-UI 是⼀個發(fā)布在LGPL 許可證下的多點(diǎn)觸摸⼿勢識別框架,貌似也是第⼀個關(guān)于⼿勢識別的框架。它可以連接各種硬件設(shè)備,并且可以跨平臺使⽤,同時⽀持不同的編程語⾔和UI 框架。觸摸信息從連接裝置捕獲之后會進(jìn)⾏⼿勢的處理和識別,每⼀個在客戶端的可視化組件都可以被“聯(lián)想”成⼀組特定的⼿勢,然后試圖去識別它。新的⼿勢和識別算法可以添加到包中設(shè)為默認(rèn)。
       Gesture Definition Markup Language
       GDML 是基于XML 的⼀種⽤來說明在輸⼊界⾯上如何建⽴清晰的⼿勢事件的標(biāo)記語⾔。通過XML 來描述⼿勢的狀態(tài),同時⽀持在指定的基礎(chǔ)上創(chuàng)造新的⼿勢,這也就是說,⼿勢引擎⽀持⾃定義的⼿勢。
       這個項(xiàng)⽬設(shè)想成兩部分:
       描述⼀個標(biāo)準(zhǔn)的⼿勢庫(Gesturelib)來滿⾜⼤部分應(yīng)⽤的需要。
       類庫代碼⽀持已經(jīng)既定的⼿勢,并且可以將⼿勢事件發(fā)送給應(yīng)⽤層。
       Grafiti
       Grafiti 是⼀個建⽴在TUIO 客戶端上的C#框架,可以⽤來管理桌上界⾯多點(diǎn)觸摸的交互⾏為,也⽀持⼀些既定的有形物體的觸摸。這個項(xiàng)⽬的⽬的是⽀持使⽤第三⽅模塊來加強(qiáng)(專業(yè))⼿勢識別算法。當(dāng)然,⼀些基本的⼿勢已經(jīng)包含在⾥⾯了。
       NUIFrame
       NUIFrame 是⼀個基于上述討論模式的C++框架(⽬前正在開發(fā)中)。它提供了⼀個單獨(dú)的⼿勢識別模塊,除了處理⼀連串觸摸事件之外,NUIFrame 也提供了客戶端程序。這就可以確保不同的對象在使⽤相同⼿勢的時候,可以根據(jù)背景做出不同的運(yùn)算。它還將⽀持基于⽤戶特定的規(guī)格來⾃定義⼿勢。這套⼿勢⼯具⽀持圖形化的⾃動調(diào)試所⽣成的⼿勢。
       AME Patterns Library
       AME Patterns Library 是⼀個新的C++模式識別庫,⽬前的重點(diǎn)是實(shí)時⼿勢識別(real-time gesture recognition)。它使⽤基于概念的程序設(shè)計來表達(dá)通⽤的⼿勢識別算法。這個庫最近作為AMELiA (the Arts, Media and Engineering LibraryAssortment,⼀個開源的庫集)的⼀部分發(fā)布在了GNU 通⽤公共許可證下。它同時實(shí)現(xiàn)了兩個多點(diǎn)觸摸識別的隱形馬爾科夫模型,同時減少了⼀些參數(shù)模型,簡化需求條件,改進(jìn)了運(yùn)⾏時間性能,同時保持了良好的識別效果。
       這⾥也有⼿勢識別軟件在準(zhǔn)確性和實(shí)⽤性上存在的挑戰(zhàn):
       ⼿勢識別中的圖形噪聲
       不同的⼈在同⼀⼿勢上存在差異
       在給定的區(qū)域⾥找到普遍性的⼿勢⽽不是去繪制難以記憶的⼿勢
       包容⼿勢的可變性和復(fù)制性
       慎重考慮與GUI 系統(tǒng)相⽐有沖突的地⽅
       Distinguishing intentional gestures from unintentional postural adjustmentsknown as the gesture saliency problem.
       懸空⼿臂式操作(gorilla arm):⼈類并不習(xí)慣于在操控⾏為的時候?qū)?#12095;舉在前⾯,在通過⼀段時間的操控后,⼿臂回變得酸痛、局促、浮腫等,就像⼀只⼤猩猩⼀樣在觸摸屏上操作著。盡管短時間的操控沒有什么問題,但從1980 年早期開始將垂直式觸摸屏作為主流輸⼊技術(shù),卻阻礙了發(fā)展。
       可以進(jìn)⼀步改善NUI 界⾯,⽐如在⼿勢識別模塊上加⼊壓⼒感應(yīng),語⾳輸⼊,⾯部識別等。


相關(guān)文章
精彩評論:
0  相關(guān)評論
耿马| 阳新县| 锦州市| 沅陵县| 茌平县| 泸西县| 海宁市| 正定县| 潍坊市| 九龙城区| 常山县| 清水县| 玛纳斯县| 庆云县| 东兰县| 潞西市| 潢川县| 美姑县| 淅川县| 新蔡县| 明溪县| 扬州市| 平谷区| 陆良县| 随州市| 崇义县| 元江| 新化县| 榆树市| 曲水县| 突泉县| 呈贡县| 富阳市| 望都县| 宜春市| 宜宾市| 永胜县| 阿鲁科尔沁旗| 基隆市| 尚志市| 罗源县|