DIY Surface Table (II): 瞭解紅外光 & DI (Diffused Illumination)

本文轉載自 <UIUI>

Posted by Mr. Monday

前面的文章中, 我們談到了許多不同種的實作方式,最後由於整體考量我們選擇了 DI (Diffuse Illumination) 以及 FTIR (Frustrated Total Internal Reflection) 的方式來製作我們的多點觸控 (Multitouch) 桌面。而這兩種方式其實背後的原理都是相同的,它們都利用紅外線反射的原理來實作出來的。而瞭解紅外線的特性對於互動設計是有很大的幫助的,因為紅外線的 一些特性的關係,許多互動設計都會利用到紅外光 (IR)。像是之前在 Blog 上面介紹的棒球互動設計,就是利用紅外光投射到人身上,並偵測反射的變動量來達成。

紅外線是什麼?

(圖片來源: 金龍俊科技股份有限公司)

我們知道太陽打出來的能量是以電磁波的形式所存在,而對於人類眼睛可見的能量範圍我們稱之為可見光。根據Wikipedia 上面的解釋:

「光域」通常指的是肉眼可 見的光波域,即是從400nm(紫)到700nm(紅)可以被人類眼睛感覺得到的範圍,一般稱為「可見光域」(Visible)。由於近代科技的發達,人 類利用各種「介質」(特殊材質的感應器),把感覺範圍從「可見光」部份向兩端擴充,最低可達到0.08~0.1nm(X-RAY, 0.8~1A),最高可達10,000nm(遠紅外線)

因此,我們知道,如果我們不是天賦異稟的人,我們所能感知到光的範圍應該不會超出「光域」的範圍太多。而瞭解了這個特性之後,我們就可以設計一種機 制,讓機器 “只” 可以看到紅外光,而藉由感知到紅外光的變化量來做出改變。當然,你也可以說,我們不一定要用紅外光啊! 是這樣子沒錯,但是因為紅外光對於人類來說是看不到的,但是機器卻可以感知的到,有了這一層特性之後利用紅外光來建立互動桌面會方便的多。

當然,你也可以利用環境光源來建立互動桌面,但是環境光源由於並不穩定,因此你所製作出來的互動桌面也就無法穩定了。然而,用紅外光真的只有好處沒有壞處嗎? 其實不是,其實還是有副作用的。我在研究人眼追蹤 (Eye-Tracking) 儀器時,偶然發現,原來紅外光看久了會導致白內障。所以,在各位動手實驗之前,請勿將紅外光直射到自己的眼睛上頭。在後面我會一再強調這件事情,希望各位不要為了研究搞砸了身體,那我會感到非常愧疚的。

瞭解了紅外線是怎麼一回事之後,我們就可以解釋一下 DI (Diffuse Illumination) 以及 FTIR (Frustrated Total Internal Reflection) 的背後原理。當然,暸解背後原理到實際做出來還是有一段距離,說的跟做的還是會有一段差距的。這就是為什麼讀萬卷書要行萬里路的原因啊。

DI (Diffused Illumination) 的背後原理

我們先一步一步來拆解背後的原理,現在我們知道要做一個多點觸控 (Multitouch) 的桌面需要一個 “桌面”,這點毫無疑問是吧? 而我們又知道要利用紅外光 (IR) 反射的原理,因此,這個桌面好歹要是透光的。因此,我們已經知道需要兩個物件了,一個是透光的桌面,一個是紅外線投光器。關於透光的桌面,可以用玻璃或是 壓克力都可以;而紅外線投光器的話,我在之後再介紹。

di.jpg

而手一接近桌子這個介面後,由於紅外線 (IR) 受阻,因此就會反射回來。

di2.jpg

聰明的你就會知到,要在下面裝一個接受器,藉由這個可以感知紅外光線的接受器之後,我們就可以抓到手究竟是觸碰到桌子哪一個位置。而紅外線的接受器 是什麼呢? 最普通也是最容易取的的就是紅外線攝影機 (IR Camera)。這時你會開始抱怨到,最好是紅外線攝影機 (IR Camera) 很容易取得,又很便宜! 的確,你自己買一個紅外線攝影機 (IR Camera) 價格的確不便宜,但是如果你自己做一個,價格就很便宜了。我在後面會告訴你該如何製作你自己的紅外線攝影機 (IR Camera)。這邊就讓我們把這些條件當成已知。所以,我們現在知道,我們要利用 DI 的方式製作多點觸控桌面需要一個透明的介質、紅外線投光器 (IR Illuminator) 以及紅外線攝影機 (IR Camera/Webcam)。

ir.jpg

不過,既然是互動桌面,應該是要有影像啊! 沒錯,所以,我們還需要一個投影機 (Projector),而既然需要投影機,就需要投影的螢幕 (Diffuser),投影的螢幕的材質不同會有差別這是必然的。在初期的試驗,你可以用描圖紙 (Tracing Paper) 來當成你的投影螢幕。我買了一大捲,用都用不完,也才 60 塊台幣。關於投影紙比較進階的資訊,我們在實作的章節裡再來談它。現在我們只要瞭解原理就好了。

di3.jpg

所以,整個設置就會如上圖所示,我們先用紅外線光 (IR Illuminator) 往上打,紅外光碰到阻礙物後,反射回來,經過紅外線攝影機 (IR Camera/Webcam) 接收之後,經過一陣程式分析,就會瞭解手指觸碰到桌面那個位置。而投影機 (Projector) 所打出的畫面,就會隨著你手的移動來做應該要有的反應,這就要看你最終程式是怎麼寫。當然,投影機是接在個人電腦 (PC) 上面的。

在上圖的設置中,我們可以看到投影布幕 (Diffuser) 是放在桌面下,這是有原因的。實際上你也是可以把投影布幕 (Diffuser) 放到桌面上,不過設置就有些不同。讓我來解釋一下。因為紅外線投光器 (IR Illuminator) 直接往上打時會在桌子的表面上面產生熱點 (Hot Spot),這點應該是很容易理解,你把手電筒往玻璃上面一照,可以看到中間的點特別亮,那就是熱點 (Hot Spot)。

ir1.jpg

而我們不希望有熱點 (Hot Spot) 產生,因此投影布幕 (Diffuser) 在此就扮演了兩個腳色,一個是把影像投影出來,另外一個是把光源散射開來。因為,一但產生熱點,產生熱點的位置,手接近的時候是不會有反應的。因為熱點所 反射的紅外光已經太強了,以致於你手移過去時所反射的紅外光不會大於熱點 (Hot Spot),因此紅外線攝影機 (IR Camera/Webcam) 就無法判別。

此外,投影機直射也會產生熱點 (Hot Spot),為什麼呢? 這是因為投影機打出來的光不僅僅只包含可見光的光域,還包含了紅外線 (IR)。所以,更好的作法就是在投影機前面加一個 IR Cut,這個東西會把紅外線的波段全部濾掉,但是對你所投影出來的東西沒什麼影響 (因為人只見到可見光)。不過,如果不想這麼麻煩,你就把投影布幕 (Diffuser) 弄在桌面下面就是了。

因此,從 DI (Diffused Illumination) 的名字來看,我們從實作的細節來回顧,大概就很清楚瞭解這個名字的意思。它就是要讓紅外光能夠 “均勻” 在表面上面散色,然後利用紅外光反射的原理來達成互動桌面的原理。因此,”均勻” 地讓光在表面散射是個關鍵,因為不均勻的光會造成程式難以處理。不過,如果堅持是用紅外線往上打的方式,基本上是很難均勻,還是要靠電腦視覺的方式來做後 處理,這個 TouchLib 已經幫我們處理好了,就不用擔心了。

但是,均勻光相對於不均勻光還是有很多好處的,像是桌面角角的地方,如果不是均勻光的話,在桌面角角的地方獲得不到紅外線光源,或是獲得的光源較為 稀少,這時手即使案上去,反射回去的紅外光 (IR) 也是非常地稀少,因此電腦將無法判別。不過在後面我會介紹幾個方式來把它弄均勻,如果你不是要生產一個產品,而只是要拿來玩,拿來做研究,螢幕中間的部分 應該就很夠玩了。

所以,當我們瞭解 DI (Diffused Illumination) 的方式之後,我們也就會瞭解 Microsoft Surface Table 的實作原理,兩個其實是一樣的。我們來看一下 Surface Table 的設計圖 (上圖)。同樣的,Surface Table 需要一個紅外線投光器 (Diffused Illuminator),這就是圖中的 2 號的那個圓圓的東西。然後需要紅外線攝影機 (IR Camera/Webcam) 來抓取反射回來的紅外線光,就是 3 號的那個東西。

不過我們會發現,3號的東西似乎有四個,沒錯,Surface Table 利用了四個紅外線攝影機 (IR Camera/Webcam)。這是有原因的,原因有兩個,一個是精準度問題,一個是桌面高低的問題。我們想想一個攝影機所能看到的範圍是有限的,因此, 你要讓攝影機能夠看到更多只有兩個方式,一個是裝廣角鏡,一個是把桌子拉高。而把桌子拉高絕對是 Microsoft 所不能接受的,因為它的桌子是要像一般的餐桌一般,太高就像是吧檯桌了,在使用上的行為跟感覺就不太一樣了。因此,在這層考量下麵,它們選用了四個紅外線 攝影機 (IR Camera/Webcam)。選用四個紅外線攝影機 (IR Camera/Webcam) 也可以增加精準度,想想看,一個攝影機只負責一個區域,而一個攝影機的像素也是有限的,對於個別手的接觸,各個區塊的參數可以自己調校,而不是所有的攝影 機全都用一樣的參數設定之類的。

最後,投影機是 4 號那個東西,打在 1 號的投影布上面。所以,這就是 Microsoft Surface Table 所有的設置,你以後看到這類東西也可以跟你的朋友解釋了。而我最後介紹的實作方式也會是 DI (Diffused Illumination),但是不會像 Microsoft Surface Table 這麼麻煩就是了,我們只需要一個紅外線攝影機 (IR Camera/Webcam),當然,桌子就要拉高一點。

我想文章到這邊已經有點長了,這邊我們就先休息一下,我們在明天會再繼續介紹另外一個實作方式 FTIR (Frustrated Total Internal Reflection),雖然我們已經知道了 DI (Diffused Illumination) 的方式來實作 Table,然而多了解一種實作的方式,會讓你有多一種選擇。而 FTIR (Frustrated Total Internal Reflection) 的實作方式跟 DI (Diffused Illumination) 是有點類似的。

喜歡這篇文章嗎? 分享出去給作者一點鼓勵吧!
  • StevenLin

    哈,門外漢如我也可學到東西。請繼續加油。

    (小聲問,能不能哪天來個簡單電路和電子學教學,我還是不太懂電容和電阻的差異性和應用性。)

  • StevenLin

    哈,門外漢如我也可學到東西。請繼續加油。

    (小聲問,能不能哪天來個簡單電路和電子學教學,我還是不太懂電容和電阻的差異性和應用性。)

  • Hi,
    我也不懂, 不過 DI/FTIR 是用光學/電腦視覺, 軟體就可以辦到了 🙂

  • Hi,
    我也不懂, 不過 DI/FTIR 是用光學/電腦視覺, 軟體就可以辦到了 🙂

  • 好的文章就是要吊胃口嗎?

    Good Job!!!

  • 好的文章就是要吊胃口嗎?

    Good Job!!!

  • Hi, 昆蟲,
    不好意思, 這一兩天實在是有點太忙@@”
    寫一篇文章也要花上幾個小時, 還多請見諒.

  • Hi, 昆蟲,
    不好意思, 這一兩天實在是有點太忙@@”
    寫一篇文章也要花上幾個小時, 還多請見諒.

  • Understood, not need to apologize. I just teased you.

    They are good, REALLY GOOD.

  • Understood, not need to apologize. I just teased you.

    They are good, REALLY GOOD.