發布日期:2022-05-18 點擊率:55
2.1 軟件編程導論
多點觸摸輸?編程和其他任何形式的編程?樣,不過在多點觸摸編程?,有?套??的某些協議,?法和標準。通過NUI Group 與其他組織和社團的?作,多點觸摸編程已經有了針對多種編程語?的開發框架, 這些語?包括Actionscript 3,Python,C,C++,C#以及Java。
多點觸摸編程分為兩步:?先,從攝像頭或者其他輸?設備讀取和轉化輸?的觸點信息,傳遞這些原始的觸點信息通過之前制定的協議組合成?勢,然后?級編程語?就可以使??勢來讓?個應?程序配合。TUIO(Tangible UserInterface Protocol,可觸摸的?戶界?協議)已經成為追蹤觸點信息的?業標準協
議。
以下章節將討論多點觸摸軟件的兩個??:觸點追蹤和應?程序運?框架。
2.2 觸點追蹤
對象追蹤?直是計算機視覺基礎研究領域的?個??。它的?作是跟蹤包括能夠準確的反復識別包含特定對象的?系列視頻幀(估算)。?般來說,這是?個?常困難的問題,因為?先要在所有的幀中發現對象(?且往往是在雜亂,封閉,或者是不斷變換的照明條件下),以及讓數據能夠和幀之間以某種?式聯系起來以便識別我們所需要的對象。
現在很多的問題已經被解決,在追蹤這個問題上最普遍的模式就是“?成模式”(Generative Model),這是?些諸如Kalman 粒?過濾器等流?解決?案的基礎。
在?多數的系統中,?個完善的背景相減算法需要對每幀進?預處理,這確保靜態或者背景圖像能夠被忽略掉。對于?些光照不穩定的視頻流,像“?斯混合模型”(Gaussian Mixture Model)這樣的?適應模型已經能夠?較智能的識別出不均勻的動態背景。
把背景過濾掉之后,剩下就是我們需要的前景對象了。我們往往確定這些對象的質?,?且這些點會被?幀?幀被追蹤。追蹤算法會根據這些萃取的質?估算在下?幀觸點的位置。
稍稍說?下這個追蹤,例如,?個基于Kalman 過濾器的簡單模式可能是?個線性恒定速度模型。?個Kalman 過濾器有兩個動?學?程,?個是STATE?程(“狀態?程”),另?個是OBSERVATION ?程(“觀察?程”),在這個例?中,
這套?程分別是
該狀態?程描述了在有噪聲的情況下狀態變量‘xk’的變化情況。如果我們說‘xk-1’表?物體在‘k-1’時刻的真實位置,那么這個模型就可以基于?定的速度、‘Vuk’和噪?因素,根據線性組合的?式,推測出‘k’時刻物體的位置。到?前為?,根據這個模型,我們還不能直接的通過觀察預測物體的位置Xk,我們需要觀察?程。觀察?程?來描述實際觀察變量‘yk’,在這?,‘yk’被定義為真正位置‘xk’的?個噪?觀察值。噪?的值也假定是均值為零的?斯?噪聲。運?這兩個?程,卡爾曼濾波器就能根據物體的上?個位置,通過遞歸的?式預測出物體的位置。
每個狀態的預測,數據追蹤模塊都會去按照事先的預測和觀測數據去追蹤對象。如果沒有找到符合預想的對象,那么這個對象就會被視為?個新的對象?被追蹤。
2.2.1 多點觸摸的追蹤
追蹤是多點觸摸?常重要的技術。它允許多個?指同時進?控制。我們也可以識別出?勢,因為每個?指的軌跡都可以被記錄并輸出。沒有追蹤技術,這是不可能的。
值得慶幸的是,今天的多點觸摸硬件??地簡化了追蹤對象的流程,因此,即使是最簡單的Kalman 濾波器實際上也成為不必要的了。現在的追蹤系統性能瓶頸趨向于怎么產?并維持?個背景模型。?量的計算會使CPU 嚴重超負,除?出現更加智能的?案。然?現在的基于紅外線(IR)的硬件?案,?如FTIR 或DI,?適應背景模型(adaptive background model)會被扼殺掉。由于?紅外光?乎都會被過濾掉,所以?部分的背景就被硬件給刪除了。為了這些紅外圖像,捕捉?個靜態的背景圖往往會刪除?乎所有的環境光。這個背景圖像會減去其后所有的幀,剩下的這些幀將作為閾值應?給系統,然后我們就只剩下了那些突起的點,這些點也就是我們想要捕捉的?指或者表?對象,稱之為“觸點”。[譯者注:這個可能?較難理解,我給?家舉個例?吧,?如我們在PS 中的“閾值”命令,可以將灰度或彩?圖像轉換為?對?度的??圖像。“閾值”命令可以確定圖像的最亮和最暗區域。想想我們的在CCV 或者tbeta 中看到的捕捉后的圖像,不就是??對??常明顯的圖像么?背景是純?,?指尖是純?。]
此外,只要給出范圍,那么追蹤問題就?較簡單了。我們知道,從?幀到下?幀,以標準的30Hz 計算的話為33ms,?個?的?指在這段時間?移動的距離?常有限。根據這種預測,我們不?研究物體的動?學,只需要找兩幀之間最近的匹配物就是了。近鄰?較的?式是?較相應的數據,?般是?較歐??德?何距離。通過這種?式,?個數據點和?系列靠近它的‘k’點進??較,得到該點的新位置。通過這種?式,我們可以?較可靠的追蹤某個具體的觸點。試誤法是經常采?的?法,當情況不確定的時候,我們總是試探著處理這些情況,?如,當?個物體擋住另外?個物體的時候。
在Touchlib 和CCV 框架中都有追蹤器的實例。使?OpenCV,?個開源的計算機視覺庫,可以直接處理圖像和視頻流,能夠?常準確地實時追蹤到觸點。當?個觸點被發現,消失或者移動的時候,這些觸點的相關信息(位置,ID,區域等)都會以事件的形式發送出去。開發者就可以利?這些信息去監聽這些觸點開發出應?程序。
下一篇: PLC、DCS、FCS三大控
上一篇: 軟件和應用程序2