1.1 硬件導論
多點觸摸指的是允許計算機⽤戶同時通過多個⼿指來控制圖形應⽤的⼀種表達⽅式,⽽多點觸摸設備是由可觸摸⽰設備(例如:計算機顯⽰器、桌⼦、墻壁)或者觸摸板組成,通過軟件識別同時發(fā)⽣觸摸⾏為的點。這與市場上常見的觸摸顯⽰屏(例如:計算機觸摸板、銀⾏的ATM 柜員機)不同,市場上常見的觸摸顯⽰屏只能夠識別單或者雙點。
⾃然⽤戶界⾯⼩組(NUI)和多點觸摸硬件設計以及多點觸摸⼿勢設計,特別是在搭建⼀個真正的多點觸摸硬件設備(例如:⽀持多于兩個點的輸⼊)上帶來了關鍵性的變⾰。NUI Group 的⽬標在于提供⼀個開放式的平臺,在這個平臺上⼤家可以⾃由的交流多點觸摸硬件和軟件的知識,推動著整個多點觸摸技術的快速發(fā)展。
作為硬件上的先鋒,NUI Group 希望能夠為在搭建低成本、⾼分辨率、開源式的多點觸摸設備感興趣的⼈提供⼀個多點觸摸技術的信息資源中⼼。通過這個平臺不斷發(fā)展和壯⼤,多點觸摸技術帶來了許多驚⼈的開創(chuàng),這不僅僅局限在多點觸摸設備,還引發(fā)了更多相關的設備出現。到⽬前為⽌,已經有五項可以幫助愛好者搭建穩(wěn)定的多點觸摸平臺的技術出現,它們分別是:由Jeff Han 教授開創(chuàng)的受抑全內反射多點觸摸技術(FTIR);微軟Surface 桌⼦的背⾯散射光多點觸摸技術(Rear-DI);由Alex Popovich 提出的激光平⾯多點觸摸技術(LLP); 由Nima Motamedi 提出發(fā)光⼆極管平⾯多點觸摸技術(LED-LP);由Tim Roth 提出的散射光平⾯多點觸摸技術(DSI)。
這五項技術主要是基于計算機視覺和光學為主的,除了這五項在NUI Group⾥占絕⼤多數之外還有⼀些其它的技術同樣可以搭建多點觸摸設備,它們包括聲波器、電容、電阻、動作捕捉器、定位器、壓⼒感應條等。通常情況下,這各種感應器結合起來,就可以搭建⼀個特別的多點觸摸設備。在本章節(jié)中,我們將會和⼤家探索這些提及到的五項多點觸摸技術。
1.2 基于光學的多點觸摸技術導論
基于光學(例如:攝像頭)的多點觸摸技術搭建起來的設備體積⽐例相對要⼤,但它的可拓展性、低成本以及容易搭建是其受到歡迎的原因。受抑全內反射多點觸摸技術(FTIR)、正⾯和背⾯散射光多點觸摸技術(Front and Rear DI)、激光平⾯多點觸摸技術(LLP)、發(fā)光⼆極管平⾯多點觸摸技術(LED-LP)、散射光平⾯多點觸摸技術(DSI),這些都是基于光學多點觸摸技術的例⼦。
上述的每個基于光學的多點觸摸技術都包含著光學感應器(通常為攝像頭)、紅外光源以及通過投影儀或者顯⽰器為顯⽰的屏幕,因為有這三個相同點,所以在系統(tǒng)的學習各項技術前,需要對這三部分有⼀定的認識和了解。
1.2.1紅外光源
紅外線(英⽂簡稱:IR)是光譜上的⼀部分,剛好越界于⼈類眼睛可以看到的可見光,其范圍長于可見光但短于微波,“近紅外”(英⽂簡稱:NIR)處于紅外光譜上的最低處,⼀般被認可的波長為700nm(納⽶)到1000nm 之間。⼤多數數碼攝像頭的傳感器對紅外很敏感,所以我們通常看到的攝像頭都加裝⼀塊可以濾除紅外線的鏡⽚,以便于攝像頭只捕捉可見光,但這于我們所需要的相反,因此我們需要將⼀塊可以濾除其它波長光只接收相對應紅外線波長光的鏡⽚替換原先的就可以達到我們所需要的⽬的。
在多點觸摸技術中,紅外光源主要作⽤于區(qū)別觸摸表⾯的可視界⾯和物體或者⼿指痕跡。鑒于很多系統(tǒng)都以投影儀或者顯⽰器作為顯⽰的設備,因此如何讓攝像頭僅讀取物體或者⼿指反饋的信息點是我們需要關注的,正如上⾯所說的,通過改裝攝像頭然后僅讓其讀取我們在觸摸表⾯上所需要反饋的信息點即可。
⼤大多數壓克⼒⽣⼚商在⽣產壓克⼒時已經加強了可以削弱900nm 以上的紅外線能⼒,這樣可以幫助在作為窗戶使⽤時是減少太陽的加熱。很多攝像頭在這⽅⾯上也做了修正,減少對940nm 的敏感以及對減低太陽光的⼲擾。
紅外發(fā)光⼆極管并不是我們真正需要的,但它的紅外光是我們要的。在多數基于光學多點觸摸技術中(特別是LED-LP 以及FTIR),紅外發(fā)光⼆極管被運⽤的原因在于它們具有⾼效性地提供紅外光源的優(yōu)點。例如散射光多點觸摸技術(DI)卻不⼀定需要紅外發(fā)光⼆極管,但這不排除具有紅外發(fā)光⼆極管的紅外光源組,⽽激光平⾯多點觸摸技術(LLP)利⽤紅外激光器作為紅外光源。
通常情況下,發(fā)光⼆極管能夠以“單紅外發(fā)光⼆極管”或者“紅外發(fā)光⼆極管帶”購買:
單紅外發(fā)光⼆極管:單紅外發(fā)光⼆極管價格相對便宜⽽且可以很容易為利⽤FTIR、DSI 以及LED-LP 作為多點觸摸技術的設備制作發(fā)光⼆極管框,⽽需要我們具備的知識是如何去焊接我們所需要的電路。⽬前最常⽤的型號是歐司朗的SFH 485P,如果你想利⽤LCD 作為顯⽰屏的話,那么你則需要亮度更⼤的紅外發(fā)光⼆極管。
紅外發(fā)光⼆極管帶:這是⽤柔性扁平電纜結合紅外發(fā)光貼⽚結合起來的條帶,⼗分便利,購買的時候已經是組裝好的,只需要我們貼在壓克⼒四邊則可(公認質量最好的是美國的environmentallights.com 提供的紅外發(fā)光⼆極管帶)。
紅外發(fā)射器:這是⽤于Rear DI 或者Front DI 裝置中的,這種⽅式的裝置⽐其它的都要簡易,只需要我們通過紅外發(fā)射器將箱⼦內部照亮則可,但需要我們注意的是如何消除因為紅外發(fā)射器引起的區(qū)域過亮問題。
在購買紅外發(fā)光⼆極管前,需要⼗分注意的是看清楚發(fā)光⼆極管的參數表,波長、⾓度、功率,這些都是整個技術的重點。
波長:780-940nm,紅外發(fā)光⼆極管在這個范圍內最容易被⼤多數攝像頭讀取。波長越低,敏感度就越⾼等同于更容易分析壓感。
功率:最低為80mw。
適⽤在FTIR 的⾓度:⾓度低于正負48 度的不能夠產⽣全內反射,⽽⾓度⾼于正負48 度的則會產⽣紅外線溢出壓克⼒。為了確保其范圍,可以利⽤⾼于正負48 度的,但⾼于正負60 度則會造成浪費(60-48=+/-12 度),這樣⼦就會溢出壓克⼒了。
適⽤在DI 的⾓度:通常來講⾓度越⼴越好,更⼴的⾓度產⽣的效果會更容易。
對于DI 裝置⾥⾯,很多⼈會有遇到區(qū)域過亮的問題。為了解決這個問題,我們建議將發(fā)光器反轉照射,避免對著顯⽰區(qū)域,同時我們需要為攝像頭加上過濾⽚,簡易的軟盤過濾⽚可以產⽣效果,但效果并不好,我們建議⽤專業(yè)的過濾鏡⽚來解決問題。
1.2.2紅外攝像頭
簡單的⽹絡攝像頭可以⽤于多點觸摸設備上,但是我們需要對其進⾏改裝。⼀般的⽹絡攝像頭或者攝像頭將紅外光過濾了,只讓其讀取可見光,所以我們需要做的是相反的⼯作,我們需要對其進⾏改裝成只需要紅外光可以被讀取。通常情況下,我們只需要打開攝像頭的蓋⼦,然后將過濾紅外光線的鏡⼦去掉,換上可以過濾可見光的鏡⽚即可,但有些可以很容易去除,⽽有些價格⽐較貴的攝像頭會將這個具有過濾紅外線功能的鏡⼦整合在攝像頭⾥⾯,我們⽆法去除。
不排除有些攝像頭可以直接讀取紅外光線,但進⾏改裝的攝像頭運⽤起來的效果會更加好。
多點觸摸設備的性能好壞取決于其運⽤的部件,因此你需要⼗分謹慎地去選擇你所需要的部件。在購買攝像頭之前,你需要明確的是⾃⼰的⽬的是什么?如果你僅需要搭建⼀個⼩的⽤來測試的多點觸摸設備,那么⼀個簡單的攝像頭就⾜夠了,但相反如果你需要搭建⼀個⽤來演⽰的多點觸摸設備,你則需要考慮購買更好的攝像頭了。
分辨率:攝像頭的分辨率⼗分重要,分辨率越⾼的攝像頭在讀取物體或者⼿指的時候能夠更加的清晰和容易,這對于需要做到⼗分精確的設備來說⼗分重要。對于⼀個⼩的多點觸摸設備來說⼀個低分辨率的⽹絡攝像頭(320*240 像素)就可以勝任了,⽽⼤的設備則需要⼀個分辨率⾼的攝像頭(640*480 像素)來達到其精確度。
幀率:幀率是指攝像頭在⼀秒中內讀取到的幀的數⽬,更多的快照意味著在定義的時間內我們具有更多的數據。為了讓設備能夠更好的讀取我們移動產⽣信息點以及反應更加靈敏,我們⾄少需要30 幀數每秒(FPS)。更⾼的幀數可以提供更好的流暢度和更好的⽤戶體驗。
接⼝:通常情況下,我們可以通過兩個類型的接⼝來將攝像頭和電腦連接。根據項⽬的不同,可以選擇常⽤的USB 接⼝或者專業(yè)的IEEE1394 接⼝(常說的“⽕⼝”)。IEEE1394 攝像頭因為對讀取信息的衰減少⽽能夠更好地將信息傳送給計算機處理,⼀個對信息衰減越少的攝像頭能夠給設備提供更好的效率。
鏡頭類型:⼤多數⽹絡攝像頭都具有阻擋紅外線的綠鏡⽚,也具有避免圖形變形的。但對于我們的⽬標,我們需要捕捉以及利⽤紅外線。很多⽹絡攝像頭可以很容易去除濾除紅外的鏡⽚,這個鏡⽚被放置在鏡⽚的后⾯,具有紅⾊反光的特性。但當有些攝像頭⽆法拆除紅外濾鏡的時候,就需要將整個鏡頭進⾏更換。⽹絡攝像頭⼀般都會⽤到M12 型號的底座,⼯業(yè)攝像頭系列(IEEE1394)通常需要另外購買鏡頭,另外不同型號的攝像頭,也有不同的底座,例如:M12、C或者CS。
要選擇⼀個好的攝像頭不是⼀件容易的事情,幸運的是很多攝像頭⽣產商會提供⼀個在線的鏡頭計算⼯具,這個⼯具通過輸⼊兩個參數便能夠幫我們測量出在鏡頭與物體以及顯⽰區(qū)域的長度和寬度的焦點長度,但要注意的是要注意選擇好相對的型號。⼀個焦點長度⽐較低的鏡頭往往會產⽣很多不好的效果(例如:圖像變形),這樣⼦會⼲擾我們定位信息點,使得⼯作難以進⾏。
攝像頭傳感器和紅外線過濾鏡:鑒于我們的多點觸摸技術是基于紅外線的,因此我們需要知道的是我們選擇的攝像頭是否具有讀取紅外線的功能。⼀般情況下,⽣產商都會提及所⽤的攝像頭傳感器類型,通過這個類型我們可以找到相對應的參數表,這個參數表會告訴我們這個攝像頭傳感器在不同波長光下的敏感度特性,例如:SONY ICX098BQ CCD 傳感器的參數表(圖1.2.2)。
圖1.2.2 SONY ICX098BQ CCD 傳感器
在我們利⽤攝像頭作為我們的多點觸摸設備部件前,仍需要為攝像頭添加過濾⼲擾光的濾鏡。盡管我們使⽤的是已經能夠感應紅外線的攝像頭,但它仍然會對其它光敏感,為了解決這個問題,我們需要在鏡頭前添加⼀個裁剪的濾⽚(軟盤、三⾊膠⽚)或者鏡頭濾鏡。裁剪的濾⽚能夠為我們消去⼀些可見光,但沒有特定的范圍,⽽鏡頭濾鏡具有波長唯⼀性,具有只允許⼀個特定波長通過的特點。
推薦的攝像頭
如果是購買USB ⼝的攝像頭,我們建議您購買以下的⼀種:
PlayStation 3(PS3eye)攝像頭,能夠容易地除去紅外鏡⽚⽽且具有⽐較⾼的幀率(640*480 30 FPS)。
Philips SPC 900NC,不能夠除去紅外鏡⽚,需要更換鏡頭但具有⽐較⾼幀率(640*480 30 FPS)。
如果是購買IEEE 1394(⽕⼝)的攝像頭,我們建議您購買⼀下的⼀種:
Unibrain Fire-(i 640*480 30 FPS),⽤的傳感器和 Philips SPC 900NC 的⼀樣 。
Point Grey Firefly(640*480 60 FPS)。
IEEE 1394 攝像頭相對于USB 攝像頭具有以下的優(yōu)點:
⾼幀率
⼤分辨率
圖像壓縮率低