Profile - TW066


TW066

以視覺辨識為基礎之觸碰螢幕設計



Semi-Finals


[print]


Project Paper - view as Preliminary(2010/07/21), Final(2010/11/01), Draft, Latest

1. 設計介紹 (Preliminary Paper)

        近年來,由於美商蘋果電腦公司所熱賣的iPhoneiPad商品,可以直接在螢幕上操作資料,讓眾多消費者有了直覺化的使用經驗,使得多點式觸控技術成為顯示科技的發展趨勢。

本作品擬設計實現一個以雙攝影機為基礎來偵測雙點式觸控螢幕架構與觸碰物偵測和定位的演算法,利用影像中環境的變化(例如:指間),來進行偵測與演算,此方法無須藉助特製的觸控面板,只需要有兩個CMOS攝影機、Altera DE2多媒體平台構成的模組,再外掛到一般的液晶螢幕上即可具有反應速度快的雙點式觸控功能。

為了實現上述的構想,我們將兩個CMOS攝影機當作觸控螢幕的感測器,利用Altera DE2多媒體平台負責做影像擷取、處理與分析。其中,由於影像處理需要花費大量的CPU計算時間,為減少CPU的消耗,讓影像處理可以達到即時,本作品擬用Altera DE2多媒體平台的平行處理能力來作大量的影像資料,以達到即時辨識處理,是此設計最大的特點,另外,電腦的演算法也是關鍵,他影響到系統的精確度、靈敏度、和適應環境變化能力的效能因子。

應用領域:

救護車的車內醫療儀器(medical equipment inside the car)、家庭智慧系統eHome)、電子看板Singnage、資訊查詢機(Kiosk)或是大型遊戲機(Game box)領域上。

 

目標的使用者:

目標的使用者可以是公司(電子看板)、醫院(資訊查詢機、車內醫療儀器)、建商(家庭智慧系統)或是一般的消費者(大型遊戲機),另外,大型企業也能夠購買少量的外掛模組,就能夠應用在所有螢幕上,節省採購硬體的支出。

 

本作品欲使用Altera DE2-70多媒體平台來進行設計。由於DE2開發板整合相當多的硬體資源,如SDRAMSD CardEthermatFlashSRAM與文字型LED,而且穩定性相當高,更可以發揮想像力激發更多的創意,所以強烈希望由DE2-70多媒體平台來設計本產品。

(Revision: 6 / 2010-09-18 00:04:37)

2. 功能描述 (Final Project Paper)

此程式與機構所搭配出的產品,功能為在色紙上操作,利用影像經過處理後傳輸出資訊,再以這些資訊去觸發特定的功能在LTM螢幕上顯示,這樣就如同將一般色紙賦予如同觸控面板般的效果。

使用的器材有:CMOS攝影機*2Altera DE2-70開發板、一般液晶顯示器、矩形色紙。

此模組可大致分為三個部分:

1.經由水平放置之CMOS攝影機所記錄的圖片,進而判斷觸控物是否有觸碰到色紙上。

2.假使經過水平放置之CMOS取得之圖片資訊經過影像前處理,與觸碰判斷模組運算過後輸出的結果是有觸碰到色紙上,則繼續利用斜向俯視之CMOS(螢色紙之四角全景入鏡)所攝影取得之圖片,進行觸碰物之觸碰點的座標加以定位。

3.如果前面兩個部分都有經過判斷與演算之後,確定出觸碰物有碰觸到色紙上且也已經定位出其觸碰點,而回傳出觸碰點的(X,Y)座標值,再以這些觸碰點的座標,當其碰觸在特定有賦予功能的區域時,觸發所撰寫之功能。

 

 

 

(Revision: 3 / 2010-09-17 23:21:42)

3. 效能參數 (Final Project Paper)

本作品的效能參數主要是看影像辨識的效果與每秒處理的張數。原本只使用Nios CPU來處理影像,其辨識效果大概5秒一張的速度。而本作品使用兩個攝影機來擷取影像並顯示在螢幕上,照道理其速度應該更慢。但我們改用SOPC技術來設計影像硬體加速器電路來處理時,DE2-70在擷取雙攝影機的影像的同時,並做影像的sobel邊緣偵測、侵蝕與膨脹等影像處理後,可達到每秒處理30張以上的處理速度。而在VGA螢幕上顯示處理,也可以達到每秒60張的即時顯示速度。由於本作品在電路模組的設計上都採用管線式設計,所以可以達到這麼快的即時處理速度,並且簡化NIOS II處理影像的時間,加快辨識的結果。所以利用SOPC來設計電路後,整個系統效能提升是非常的高。

(Revision: 5 / 2010-09-18 10:25:24)

4. 設計架構 (Preliminary Paper)

 

本作品的設計架構共分為軟體與硬體設計兩部分:

在軟體設計部分又可以分成三個子小題,分別是:(a) 觸控偵測和定位演算法,(b) 影像前處理與(c) 觸控物偵測。

各個子小題分別描述如下:

      (a)    觸控偵測和定位演算法

       首先進行影像的前處理,接著透過觸碰物體偵測的演算法來判斷是否有物體觸碰到螢幕,若無偵測到觸碰物,則繼續接收兩台攝影機所傳來的下一組影像,持續偵測是否有物體,當有偵測到觸控物時,找出觸控物體所指的X.Y座標,然後輸出座標,並且記錄此座標到SDRAM。圖1為本作品的觸控設計流程圖。 

 

                   圖1.觸控偵測和定位演算法流程圖
(b)    影像前處理
圖2為本作品的影像前處理流程圖,在影像處理時需要進行大量的運算,本作品擬使用FPGA平行處理的方式,在影像進到Nios II處理器之前就先作過處理,以降低Nios II處理器的負擔。

圖2.影像前處理之流程圖

(c)    觸碰物偵測

接下來從影像前處理過後所得到的直方圖,來判斷是否有觸碰物並且找出觸碰物於影像中的X座標,直方圖中的的最大元素(peak)位置是最可能觸碰的位置,拿最大元素和一個門檻值做比較,此門檻值為一常數,若此最大值元素大於此門檻值,表示在此位置對應的影像有很大的變化,便將此位置視為有觸碰物。然後和一個門檻值做比較,此門檻值為一常數,若此最大值元素大於此門檻值,表示在此位置對應的影像有很大的變化,便將此位置視為有觸碰物。接著搜尋是否有第二個觸碰物,先將直方圖上第一個觸碰物的位置左右元素值遞減,然後從剩餘的直方圖中,找出有最大值的元素,並和門檻值做比較,若此元素值大於門檻值,則系統判斷此元素為第二個觸碰物,若此元素值小於門檻值,則系統認為只有一個觸控物。觸碰物偵測流程圖,如圖3所示。

                                                                       圖3.觸控物偵測之流程圖

 

 

在硬體設計架構上:

    本作品的系統架構如圖4所示,本作品欲使用SOPC系統設計的優點來強化與加強影像判斷之速度與準確性。並設計多個影像加速器來輔助Nios II處理影像分析。並把分析結果顯示在螢幕上。

                                                   圖4. 雙眼系統架構圖

 

 

 

 

 

 

 

 

(Revision: 6 / 2010-09-17 22:57:30)

5. 設計方法 (Final Project Paper)

 

 

Part I : 在水平CMOS攝影機之畫面的部分 (水平CMOS之影像前處理與觸控判斷模組) 我們主要進行2個步驟以順利達成目標1 :

水平CMOS之影像前處理

               

   圖5.平拍處理前                   圖6.平拍處理後

為了減輕NIOS II處理器影像計算的負擔,先把 CMOS攝影機所拍攝到的影像轉成灰階,再做Sobel 邊緣偵測,Sobel 邊緣偵測可以把影像中梯度變化大的部分凸顯出來,進而顯示出觸碰物,並達到影像二值化的效果,達成目標1-1

觸控判斷模組

                          

       圖7.水平背景                 圖8.水平懸空                 圖9.水平觸控

我們拍攝了三張圖,分別是水平背景、水平懸空、水平觸控來做基本的演練,操作介面(色紙)最遠端的邊界固定在x=256的線上,若經過影像前處理過後的圖,他的觸控物端點(手指尖)超過x=256,則會要求斜拍CMOS回傳座標值(part II),進而去做操控界面所定義的觸控功能(相片前後瀏覽等等之功能--part III--) 達成目標1-2

Part II :在斜拍CMOS攝影機之畫面的部分(觸碰物座標之定位) 我們主要進行3個步驟以順利達成以下4個目標:

1.區分操作介面(色紙)跟背景的不同並訂定色紙的四角在整張640*480像素中的座標點。

    圖10.斜拍處理前

2.判斷好色紙四角座標之後,可算出長寬,再制定色紙為另一座標系(以長寬為 XY)

3.進而判斷觸碰物在紙這個座標系中所對應的點。

4.將此座標點轉換成LTM上的平面座標點後(因為LTM螢幕長寬是240*180 照片640*480不同,所以需做標準化座標轉換),回傳給電腦。

步驟:

1.NIOS II LTM介面下撰寫抓出RGB數值之程式。首先,在LTM上依比例在紙內取一點做為標準點,在其上下左右各+-30(座標點的範圍)各取出RGB數值。接著以RGB最大、最小值做為一個範圍去篩選。都落在範圍內的設為顯示紅色,在範圍之外的顯示黑色,即可達成目標1.2

2.同理,在LTM上依比例在觸碰物內取一點做為標準點,在其上下左右各+-30(座標點的範圍)各取出RGB數值。接著以RGB最大、最小值做為一個範圍去篩選。都落在範圍內的設為顯示紅色,在範圍之外的顯示黑色,即可達成目標3

3.將此點與其餘兩邊(可形成一矩形),與LTM做相似形運算,即可標準化座標,達成目標4

     

     圖11.斜拍處理後

 Part III : 觸控介面的部分(接收前兩步驟整合所回傳之資訊進而觸發功能) 在這一個部分,主要是使普通介面與程式功能互相連結搭配,為了與前面的視覺圖片影像的資料判定,進而導引成指令投射在螢幕上,根據這些圖片影像的判斷與處理後之資訊,化為有如實體物觸碰在介面上進而讓程式產生功能,為了達到這項功能,本作品初步先做了一些樣品設計。利用的器材:DE2-70LTM觸控螢幕。

步驟: 1.首先先用PC將數張圖片燒錄入DE2-70SDRAM裡面。

2.開始撰寫程式碼,並在介面上設計兩個特定區域,當成左右兩顆按鈕,當觸碰到右邊的按鈕,就會跳往下一張圖片,按下左邊的按鈕,就會跳回上一張圖片。 3.利用座標讀取程式讓電腦上顯示目前觸碰點的(XY)值,取得預定設計為按鈕的區域座標,之後設定一個flag變數,再對每一張圖片設定它們各自的flag值,而副程式就撰寫在介面左右兩邊設計成按鈕的特定區域如果有偵測到觸碰,則進行flag+1flag-1的指令,藉此來達到跳轉上下張圖片的效果。

 

 

如何使用SOPC概念來實現本作品:

本作品充分利用Altera所提供Sopc builder工具來設計多主從(Master-Slave)系統加速器,來加速影像的擷取與顯示功能,所設計的系統架構圖如圖4所示。除了設計兩個CMOS加速器來擷取影像,還有一個VGA顯示加速器來顯示影像到螢幕上。此設計皆是利用Sopc builder的客制化元件設計的功能來設計,並掛載到Avalon Bus系統上。此種設計方式可以讓我們實現軟硬體共同設計的目標,減少設計的複雜度,並提高作品的性能。另外本作品設計多個影像前處理硬體電路,利用管線式(Pipeline)設計的方法來即時處理影像,例如有影像的soble硬體電路處理模組、影像侵蝕與膨脹硬體處理模組。透過這些影像處理硬體電路與avalon bus的硬體加速器電路,讓原本只能處理一秒一張的影像,變成可以處理到30張的影像,大幅提升辨識速度。此種設計方法,讓我們設計者覺得非常方便。

 

(Revision: 3 / 2010-09-17 23:50:06)

6. 設計特點 (Preliminary Paper)

1為本作品的設計特點與目前市面上的產品之間的比較。

 

1.多點式觸控技術的比較

觸控方式

投影電容式多點觸控技術

感測器陣列式多點觸控技術

由單點式觸控螢幕改良

電腦視覺式多點觸控技術

觸控原理

其面板結構類似於電阻式觸控面板,都有X軸和Y軸方向的兩層導電板,經由量測流經電極的電流變化來計算觸控點位置,因有兩層結構,可分別對X軸和Y軸的觸控位置偵測,故可達成多點觸控的功能。

其主要運作原理是在螢幕內嵌入一層天線式感測陣列,每個天線會發射不同頻率的訊號,當使用者的手指碰觸螢幕時,碰觸到的天線訊號會透過觸碰者的手指經由身體,透過椅子將訊號傳送至連接的電腦,經電腦分析訊號的頻率可得出觸控點的座標,並可經由訊號來源去分辨是哪位使用者觸碰螢幕。

 

有研究者提出改良單點式觸控螢幕技術,使之達到多點或「類似多點」觸控,使用一般單點式觸控螢幕,當兩隻手指碰到螢幕時,兩指中點的位置會被誤認為觸控點,藉由軟體估測兩指的觸控位置。

這類的多點觸控技術是透過2個攝影機拍攝螢幕表面影像,然後透過影像處理判斷觸控事件的發生和觸控點的位置,用演算法對兩個攝影鏡頭所拍攝之影像進行校準去除誤差值,輸出整理出之資訊,控制螢幕上動作物。

優點

螢幕準確度高和反應速度快

ㄧ次可提供多個使用者,方便進行多點觸控

設計簡易,觀念直觀易懂,適合初步實驗

使一般螢幕外掛此模組即具有雙點式觸控功能,無須藉助特製的面板

缺點

不適合用於大尺寸螢幕上,因為距離過長,電容感應的變化微弱。

使用者必須坐在可以導電的椅子上,椅子必須和電腦連接。

這個方法無法允許兩根手指同時移動,且不適用兩點以上的觸控。

系統必須限制攝影機和螢幕之間不能被觸控物體以外的其他物體遮蔽

 1.直接操作顯示於螢幕上的資料能為使用者帶來直接且方便的使用經驗,因此近年來觸控螢幕已成為顯示科技的一個發展趨勢,其中多點式觸控技術更是受到相當大的關注。此方法可使一般市售之液晶螢幕外掛此模組即可具有雙點式觸控的功能,而無須藉助特製的面板。相較於目前的多點式觸控技術,本方法有著成本低、體積小、擴充性高的優點。

2.電腦視覺式的觸控技術,體積小、擴充性高,讓觸控的功能不侷限於特製的觸控螢幕上,器材可以隨著使用者的需求,架設到另一部電腦上,讓ㄧ組產品能夠有不同的搭配與運用,因此有利於公司、企業開會簡報,學校上課時移動使用。

3.成本低廉,只需要兩個CMOS攝影機和Altera DE2多媒體平台,就可以輕鬆擁有觸控的功能。若能到達商業化的地步,把CMOSDE2部分必須的功能整合在一起,必定可以使售價降低,更增加產品的競爭力。

4.和投影電容式多點觸控技術做比較,電腦視覺式觸控技術也適用在大尺吋的螢幕上,不會因為距離過長而受到影響。

5.Altera DE2 多媒體開發平台提供豐富的產品功能,從簡易的電路設計,到多樣化的多媒體作品都能輕易完成。Altera DE2多媒體平台的系統支援能力和快速平行運算功能,可以減少CPU效能的耗費,讓我們所設計的程式軟硬體,達到預期的性能。

6. 本作品要擷取影像又要顯示影像,再設計硬體加速器時,常會有SDRAM速度不夠快之問題。因此為加速SDRAM的存取速度,本作品利用avalon-MM的burst傳輸方式,來做大量的影像資料傳遞。果真讓影像擷取與顯示達到即時的處理速度。

 

(Revision: 4 / 2010-09-18 10:33:19)

7. 總結 (Final Project Paper)

友晶科技為提供 FPGA/ASIC雛型、多媒體和影像市場等高端軟硬體解決方案的領導廠商,其所開發的DE2多媒體平台是一個非常適合學習Nios II處理器與FPGA硬體描述語言的開發平台,透過這個平台能讓我們有很大的空間來發揮想法與創意。這次很榮幸有機會參加「2010 Altera亞洲創新設計大賽」。藉著這次參賽的機會提出一個必須整合影像處理與嵌入式系統概念才能實現的作品,在整個設計實現過程中,學習到更多的技術和知識以及軟硬體共同設計的技巧。

本作品已完成智慧型觸控對應控制游標系統的基本雛型,主要有人體膚色的辨識、瀏覽資料及小畫家的功能。未來可以加強改善的地方整理列舉如下:

1. 在影像處理上,可以提高人體膚色的辨識速度。

2. 在觸控界面中,可以提高觸碰點位置變化偵測靈敏度。

3. 在影像處理上,可以提升濾除干擾物的效率。

4. 在加值開發上,可以增加設計其他的影像處理硬體IP來進行加值開發。例如,瀏覽系統、位置變化量偵測系統,並且提供簡易的整合介面。具觸控功能的智慧型產品已經成為未來的趨勢,從智慧型產品的銷售數字、企業界爭相投入研發的狀況來看,相信本作品使用軟硬體共同設計的觀念,並且以較低成本開發較高畫質及較高效能的方式,可以提升台灣整體相關產業的應用。

 

(Revision: 2 / 2010-09-17 22:58:39)