TW007 彈指神通

排名 得獎作品 獲獎學生 學校 指導教授
季軍 彈指神通 廖元功 南台科技大學

許毅然

1. 設計介紹

  簡報是報告者在有限的時間內將所要表達的內容,清楚而簡潔的傳達給與會者的重要利器。要引導演講者及與會者之間的契合,雷射筆是基本的配備工具。藉著光點的移動,清楚的引領目前講者所敘述的內容。然而一個好的簡報內容常常是圖文並茂,甚至透過動態圖表、文字,與影像聲音,以更活潑、清楚,容易明白的方式,將講者的意見與思想,傳遞給所有的與會者,以便凝聚所有與會者的注意力。而這需要進一步的使用滑鼠,透過滑鼠的移動、點選,達成所要的目的。然而一般做簡報時如演講者離電腦比較遠的時候,常常需要額外的操作者,如此易造成搭配上的問題。較先進者有採用簡報筆,可由演講者自行操作,如此流程比較順暢。較簡單的簡報筆只有上一頁、下一頁的功能再加上雷射指示功能,更進一步者有加入滑鼠的功能。但簡報筆上的滑鼠功能,因使用習慣不同,並不如預期的效果。

另有採用雷射光點當作滑鼠的游標點來操作者,然而現今的作法是其使用CMOS感測器,經由簡報用電腦解析出滑鼠游標的功能,將佔用系統資源,將使得簡報的流暢性大打折扣。而其透過特殊的雷射筆機構解決Click的問題,將限制其使用的用途。另外其校正相當繁瑣,且遠距離的操控引發手震動而無法進行精確定位的問題更限制該產品的發展。 

本研究將採用以雷射光點作為滑鼠游標的操作點,並以FPGA做影像分析解出雷射光點座標,以作為滑鼠游標的依據,解析過程完全不經過電腦,不佔用電腦資源。且以硬體的方式分析將可以在每個Frame解析出一組座標點,效率遠比用軟體分析來得高,因此將可以增加簡報的流暢度。而本研究將利用自然法則解決手震動的問題,使得吾人使用一般的雷射筆功能就可以做到精確的ClickDouble Click的功能。另外本研究也將提出自動校正的方法,以達更實用的目的。

 

2. 功能描述

1.功能介紹 

    1. Quartus® II 7.1完成彈指神通之影像處理核心計算。(Verilog設計)

    2. 透過CMOS完成色彩與亮度辨識,並加以計算目標物之質心。

    3. 特殊防手震機制解決使用雷射筆控制之抖動問題。

    4. 因使用環境不同時 , 座標位標需重新校正 , 本研究之自動校正系統可

       解決校正之程序 , 並精準捉取校正時所需之參數。 

 

2.數位影像處理

   數位影像處理(digital image processing)簡單的意思就是說透過數位電腦處理數位影像,但這次本系統不同在於無需使用個人電腦來處理影像結構,而是由Altera公司所製作的晶片來完成,而數位影像處理技術有幾個主要的環節: ()CCM Color Image Processing()影像傳輸同步化;()影像顯示的解析度。

 

在進行影像處理時,很少只用到某一種方法就能解決問題,大部分都是需要幾種方法配合使用才行。例如:要依據某種特徵要從影像中擷取特定的區域影像時,可能要經由影像二值化、求得區域的特徵參數、影像時,可能要經由影像二值化、求得區域的特徵參數、影像分割等流程順序處理,經過此處理過程,僅能提取出所要的影像,而且是以影像沒有雜訊且品質十分良好為前提的,然而一般很少見到沒有雜訊的影像,因此可能還必須加上去除雜訊的處理,以使得影像更清晰。另外對各種處理所選用的參數值,也需要經過反覆實驗,確認結果影像符合要求後,再確定適當值。以本作品來說,當從硬體得到影像資開始由FPGA進行一連串的影像動態處理,這其中的流程包括臨界值的選取、影像二值化以及最後目標物質心的計算。

結合以上所有的條件,我們就可以將物件的位置取出。下列將說明數位影像處理幾個基本的處理方式:首先輸入一張影像,經過本系統對這張輸入的影像取出特徵而得到一張輸出的影像,完成整個數位影像處理的動作,如下圖所示。

 

 

3.影像資訊

  下圖說明當CMOS Image Senser取得資料後,將會傳送畫面的DATA(10Bit)

Pixel ClockFrame ValidLine ValidDE2板裡,然後由(圖-像素格式的描素)是CMOS原廠的Pixel格式圖,得知此CMOS最大解析可到SXGA(1280*1024),但SXGAFrame Rate只有15fps,此速率當我們用眼球觀看時,會有嚴重的視覺暫留,所以我們將會調整速率,使之成為VGA(640*480)之格式。

 

 

 4. 色彩排列   

CMOS所感知每一點資料陣列是使用color filter array(CFA)and microlens(ML)所組成,CFA 的排列規則是RGB Mosoc Bayer’s pattern,第一列的有效資料為RGRGRGRG…,第二列有效資料為GBGBGBGB…,如(圖-Color 形態)   所示。

然後透過『bayer geometry』可將影像還原成RGB,其Color coding

如下,因此可透過運自取出RGB

 

 5. 色彩辨別

  經過色彩排列後分別完成 10bit-R10bit-G10bit-B,其值為0~1023,但在一般的色彩編輯器裡,從暗至亮的數值為0~255(8bit),所以我們要尋找色彩時,可由線性方程組去得知色彩比率的線性關係,如下表的判斷式,(圖-色彩判斷)代表(左)未偵測(右)偵測到後的顏色在填入其它色素。

 

 6. 質心計算(雷射光點之中心)   

在實際的程式運算裡,如下圖從影像中攫取單張圖片,計算它所包含的光源像素,以及光源中心點,持續的擷取影像與計算,就可以達到持續的即時的追蹤目的。同時比照顯現光源像素的方法,當找到中心點座標之後,繪上一個紅色的十字標,讓使用者可以清楚看見目前鎖定的目標點位置。

  找到了光源的所在位置之後,並不ㄧ定只有一點,有可能是一整片,而環境背景、光線的強弱、目標物的數量都會影響追蹤的過程,較特殊的情況在後面也會做探討,現在針對較單純的環境與單一目標物來做追蹤鎖定的方法說明。

  光源存在的形式複雜繁多,若我們取的光源亮度不高,日常生活中就有為數不少的光源存在一般環境裡,像開機的螢幕、日光燈、易反光的物體、Frame Rate等,都是相較於易感測的物質。如果我們所追蹤的是一個整體的物質,例如雷射筆,將筆光投射至布幕後,也有可能將其它區塊標為紅色的區域。

  為了找出光源的中心點,我們必須掌握所有被標為光源的像素座標,當我們在比對光源標準,判斷每個像素是否為光源的同時,若找到屬於光源的像素,除了把它的座標繪上紅色單位像素供人眼辨識觀察。等到一張影像畫面的所有像素比對完之後,就可以得到所有屬於光源的像素座標和像素值。

  

7.  防手震處理

  一般使用滑鼠我們都可以知道看見鼠標的位置,但是使用雷射光筆控制滑鼠時,我們必需依靠光點來控制滑鼠,但誰也無法知道雷射光筆按下啟動鍵後,光點會從何出現,當按下雷射筆按鈕時,都會造成些微的震動,而我們離布幕有一段距離,所以些微的抖動就會照成相當的角度,因為角度和距離的關係,我們投射出去的點位,就很容易偏移掉。

就市面上我們做了所多調查,發現有件商品和我們所做的作品有同工異曲之妙,怎麼說呢?此商品稱之ViewTouch,而主要用途用於簡報指示、書寫、點選,當我們得知有如此商品之後,買回來一看究竟,發現此商品所說的功能一樣不缺,但是卻忽略了很重要的操作因素,就是沒有做出防手震的控制方式,這樣會有什麼問題出現呢?在點選物件時,會很辛苦,而且光筆指到那,滑鼠就會跑到那,但他們有特製一支光亮點強弱不同的雷射筆,解決了滑鼠亂跑的問題,但此筆為特製的,就一般市面上不容易取得,而我們卻是用大賣場賣的雷射筆就可以達到比它還要更好的效果。

我們是如何做出防手震的功能呢?假設一般投影布幕上顯示著Power Point的投影片或是桌面上的資料夾,而當我們將雷射光打至布幕後選擇所要點取的物件後,放開按鈕,在亮點熄滅處會展開一30x30Pixel範圍的判斷選擇區,假使下一次亮點出現在範圍內時,則會點選熄滅處的點位,若不是出現在範圍內,則不會有點選的動作,並且會將原先之範圍Cancel(此段流程,若使用動畫說明會更加一目瞭然)

8.  自動校正處理

  對於一些商務人士或是展覽會場,會因每次所在的使用場所不同,相對的 CMOS所抓取到的影像(範圍)也會不一樣,所以必需做校正的動作,才能使我們系統的線性轉換正常動作。以往校正的方式必需透過手動的方式完成,如調整攝影機和布幕的遠近或是使用校點程式來完成。如今我們的另一大創新設計,則是透過九個或是25個點位,做出線性轉換的公式,達到點位校正。

  如下圖,我們會在透過FPGA繪出色彩方塊,並且將色彩方塊輸出至投影布幕上,然後在由CMOS來接收布幕上的影像,而我們在此將影像資料在一次透過二值化的處理,並計算出重心,然後將座標記錄為(Dx1,Dy1),當資料記錄後,FPGA會在輸出第二個色彩方塊圖,依然透過CMOS來接收影像,而這次有如以上做法將座標記錄為(Dx2,Dy2),將以上的動作重複的做九次,就可得到九個重心座標。

  

 

    我們從這九個重心座標可看出有四個象限,如下圖,分別是由(Dx1,Dy1)(Dx2,Dy2)…(Dx9,Dy9)所組成的,為何要取出九點座標呢?因我們需要使用線性轉換才能準確的讓Mouse到達定位,所以現在先單看第一象限,由(Dx2,Dy2)(Dx3,Dy3) (Dx5,Dy5)(Dx6,Dy6)所組成,而CMOS攝影機的解析度為640x480CMOS攝影機的第一象限卻是在(320,0) (640,0) (320,240) (640,240),就以上兩者之間的關係式,我們推導出一套線性轉換式為

 
由以上的敘述,我們在將第二、三和四的象限公式推導出來,方可完成點位校正;有了點位校正後,我們只需要將點位送至電腦內方可完成全系統,但傳送時還需做轉碼的動作,在往後的章節將會在提到。

 

3. 效能參數

本研究主要針對由Buffer出來後的影像做處理,其成像可馬上由VGA得知。也因此產生必要的同步信號,並將處理後的影像訊號傳送至DE2發展版上面的VGA DAC,輸出640 × 480的影像。每一次水平訊號所需求的時間 -- 3 .77us低電位的同步時間,1.89us的後置準備時間,及0.94us的前置準備時間,而25.17us則是影像顯示期,此時間之外,RGB3條訊號線保持為低電位。在一次水平同步信號的時間內可以根據clock顯示不同的個數的像素,例如在垂直更新率為60Hz時,若一列要顯示640個像素,則clock需為25.175MHz。若垂直更新率為72Hz800個像素顯示時,則clock需為50MHz。在每一個垂直同步周期內,總共包含了480個水平同步信號,64us的垂直同步信號時間(低電位)1.02ms的後置準備時間,及0.35ms的前置準備時間,15.24ms時間供影像顯示。每一次的垂直同步訊號,開啟一次新的frame。下圖為影像輸出模組之模擬波形。

 

4. 設計架構





系統電路圖


 

5. 設計方法

透過CMOS擷取影像後,將影像資料排列至輸出可見圖(一),當有雷射筆照入時影像則會顯示如同圖(二),在藍圈虛線框內的紅光點就是雷射光。

a. 設計之實景拍攝        b. CMOS拍攝實景之影像

                    (一)、取實景場地的畫面

圖(二)雷射光投射至場地時的畫面

   為了使CMOS能清楚觀察到目標物(光源),所以將目標物做二值化,透過亮度高低之門檻值在用綠色的數值取代,上圖(三)為原雷射光之影像,經過二值化將目標物標成綠色的情形。



圖(三) CMOS找到的個體目標

然後我們就將二值化後的區塊面積算出,並在由前面製作原理的說明求出質心,求出質心後我們在將質心點用(紅)十字座標表示,如圖(四)可見在綠色面積的上層出現十字座標。



                      圖(四)質心以紅十字表示

  之後將質心轉成滑鼠的鼠標透過藍芽的傳送機制,將鼠標的位置送至電腦裡。然後我們使用投影機將電腦的影像射至投影布幕上,然後使用雷射光筆打上至投影布幕如圖(五),其可見滑鼠會移動至雷射光點的位置。


圖(五)雷射光筆射至投影布幕上

但使用雷射光點直接操控鼠標的方式還面臨另一個重要的問題,那就是演講者操作雷射筆時,雷射筆與螢幕有一段距離。人的手不是固定不動的點,在操作的過程中,如果是游標的移動或許還可以隨時修正誤差,移動到所要的位置。但當要產生Click或是Double Click時,由於手輕輕按下產生輕微的晃動,雖然角度很小,但雷射筆與螢幕距離大,S = rθ,如此產生的誤差是相當大的,因此要產生精確的定位變得相當困難。遠距離的操控引發手震動而無法進行精確定位的問題,將限制該作品的發展。

  然而採用雷射光點作為滑鼠游標的方式,有其特有的優點,首先是雷射筆一般都細長好握,非常人性化。另外如果能採用一般雷射筆就可以完成具有滑鼠功能的簡報筆,如此架構簡單,演講時將更為順暢而自然無負擔。本研究彈指神通便是基於此理念,希望研製一低價位的簡報筆,以雷射光點作為滑鼠游標的依據。本研究以FPGA做硬體式的影像分析,解出雷射光點座標,解析過程完全不經過電腦,因此不佔用電腦資源。而且以硬體的方式分析將可以在每個Frame解析出一組座標點,效率遠比用軟體分析來得高,因此將可以增加簡報的流暢度。解析後的座標以滑鼠的格式輸出至電腦,此種方式不會受制於作業系統,因此不會如View Touch之類的產品必須在Windows作業環境下使用。另外本研究將利用自然法則的觀察解決手震動的問題,使得吾人使用一般的雷射筆(不需要如view touch使用特殊的雷射筆)就可以做到精確的ClickDouble Click的功能。

6. 設計特點


彈指神通是以一般的雷射筆的光點作為簡報的指引以及監做滑鼠功能的使用,可以讓流程更為順暢。整個系統猶如從遠方控制一觸控面板,當初始化後就可使用雷射筆來控制並使用,當演講者將雷射光(Laser Light)投射至布幕時,除了講解自己的報告外,還可控制PowerPoint 的上一頁、下一頁、超連結等,因此演講者可打破以往的操控方式,單單使用一支紅外線筆就可以完成會議報告。除此之外,彈指神通還可以搖控滑鼠,和我們原本的操控方式有些許不同,我們手握控制滑鼠的方式是相對位置的位移,而彈指神通搖控滑鼠是可以使用『絕對位置』來位移。本系統直接以硬體做影像處理,速度快,不佔電腦的資源,價位低,而具有底下的的特色:

1. 滑鼠功能

透過影像處理的技巧將雷射點的移動當作滑鼠座標的移動,並產生滑鼠Click,Double Click的功能。當演講者將雷射光投射至布幕時,CMOS會將所抓取到的影像畫面傳回至Quartus II的程式中,讓程式開始判斷光源投射所在的位置,並算出中心點位置,所有的動作將在一個Frame以內完成。

2.自動校正

電腦的『解析度』與 CMOS-Array Format 間的座標轉換常具有嚴重的非線性現象。因此,若未使用參數校正 來校正畫面的影像(Uncalibrated Vision),會因參數的誤差直接影響虛擬系統的準確度。也因此,校正型影像(Calibrated Vision)則因具有修正參數的優點,因此透過校正的方式,電腦的『解析度』與 CMOS-Array Format 間的座標將會有完善的連結。

   在初始化後,進入OS開始作業,此時會因每次所在的使用場所不同,相對的 CMOS所抓取到的影像(範圍)也會不一樣,所以必需做校正的動作。以往所作校正的動作大多是限定機器的放置距離、或是記錄四方的範圍值,在做線性位準。而我們創新系統則跳脫舊有的校正方式,改用新式的圖像法則,做出自動校正,不但使位準更為精準,並且無需自行手動調整。

3.防手震

   一般使用滑鼠我們都可以知道看見鼠標的位置,但是使用雷射光筆控制時,我們無法知道光點會從何出現,當按下雷射筆按鈕時,都會造成些微的震動,而我們離布幕有一段距離,所以些微的抖動就會照成相當的角度,因為角度和距離的關係,我們投射出去的點位,就很容易偏移掉。為了解決這個問題,我們在本系統內加裝防手震的功能,使得整個系統在使用上更為人性化,使用上既簡單也容易上手。

4. 觸控式螢幕

  觸控式螢幕(touch-panel)有非常好的人機介面效果,但大尺寸的touch-panel價位非常高,並非一般人負擔得起。本研究彈指神通可以將雷射光點模擬成觸控式螢幕,如此就可以以低價位的裝置達到大尺寸的touch-panel功能。


7. 總結

本研究彈指神通以雷射光點作為滑鼠游標的依據,以FPGA做硬體式的影像分析,解析過程完全不佔用電腦資源,而且可以在每個Frame解析出一組座標點,效率遠比用軟體分析來得高。另外本研究將利用自然法則的觀察解決手震動的問題,可以做到的ClickDouble Click的功能。

目前投影機技術發展趨近於成熟階段,不僅亮度較以往大幅提升,且體積更小、色彩更豐富豔麗,安裝、使用方式也越來越簡便,已儼然成為電腦螢幕般隨插即用的顯示設備。然而價格也逐年下降,利潤受到壓縮。但如能內建特殊功能,將使得投影機的價值大幅度的提高。本研究採用Altera DE2發展板做為驗證的環境,CMOS sensor經由FPGA擷取分析,由於採用硬體式的影像分析,方便作成ASIC,可以有效的降低價格,如果與投影機做整合,將能有效的增加其價值。

觸控式螢幕有非常好的人機介面效果,但大尺寸的touch-panel價位非常高,並非一般人負擔得起。本研究已經完成將雷射光點模擬成觸控式螢幕的觸控點的功能,因此可以以低價位的裝置達到大尺寸的觸控式螢幕功能。