Profile - TW017


TW017

虛擬觸碰控制音樂播放



Semi-Finals


[print]


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

1. 設計介紹 (Preliminary Paper)

         隨著時代的進步,各種電子產品控制的設計均朝向增加便利性的方向發展,使用固定式按鍵控制面板以方便操控。但這些是非常平凡的事,若能創造出一個人性化的人機介面,讓原本呆板的控制器,可以理解使用者的行為,並執行特定的動作,以手代替控制器,增加人與機器的互動性,將是非常有趣的題目。
本次要設計一個人機介面,使機器能理解使用者的行為,使用者可以用非常有趣的方式控制電子產品,如電腦,手機,遊戲機,音樂播放器等等。
由於指導老師黃炳森教授在去年帶領三位國際學院學長使用DE2-70多媒體發展平台設計「手勢辨識音樂播放器」,使用紅色偵測的方式來尋找手部位置,利用DE2-70平台的數位相機套件擷取手部影像,檢測手勢方向以達到音樂的播放控制,並將儲存在SD記憶卡中的音樂播放出來。第二種模式則可單純使用觸控面板,以手指按下觸控面板上所顯示的按鈕來控制音樂的播放。
這次的設計主題將延續並改良學長們的研究,使用DE2-70多媒體發平台,改良影像識別的方法。

這次靈感來自youtube上分享的影片"第六感驚人的潛力",影片內容為一位美國MIT Media Lab(麻省理工學院媒體實驗室)的天才學生普拉納夫- (Prarnav Mistry)的演講,所以才想到使用相機來當作訊息來源,達到控制的目標。

研究設備:

本研究使用DE2-70多媒體發展平台、SD卡、喇叭、桌上型電腦。

圖一、研究設備圖

由於這次研究目標是手上不使用任何標記,達到控制音樂播放。所以我們使用膚色偵測來識別手指位置,擷取手部影像,辨識手指觸控虛擬面板以達到控制,擷取的影像將取代原有的觸控面板,並用影像識別技術將手指選擇的按鈕控制音樂播放等功能,之後可延伸控制其他電子產品。


我們應用的領域有影像處理,感測器,色彩學,機器識別。
 
目標使用者:
家庭電子設備控制
商業多媒體中心
現場表演

(Revision: 9 / 2010-09-09 14:17:28)

2. 功能描述 (Final Project Paper)

次的作品,將延續去年比賽的設計,改良判斷式,降低亮度變化對影像的影像。我們使用不同的色彩空間去判斷,並使用影像處理濾除因CMOS相機產生的雜訊,接著找出手指觸碰虛擬觸控面板的位置,即可知道使用者的需求,並執行動作。
經判斷後的指令會顯示於綠色LED上,簡單明瞭。在LCD上會顯示音樂的曲目和音量,音樂播放時間會顯示於LED 7段顯示器。紅色LED顯示音樂的節奏,非常有臨場感。
DE2-70光碟的範例無法隨意控制音樂撥放、暫停以及停止,我們已增加這三個指令控制音樂播放。
 
 
實現方法:
 
一、將原本使用RGB判斷的方法,改成將RGB影像空間轉換到YCbCr色彩空間之中,減少顏色對於光線強弱的影響。
 
二、使用高穩定的膚色判斷式,可以準確擷取到膚色的部分。
 
三、使用影像處理的Erosion來去除CMOS相機產生的雜訊,保留手部膚色區域,增加系統穩定性。
 
四、將手指指尖的位置用方塊框出,並算出指尖的座標。
 
五、指尖辨識是利用手指自然向上的特點,即膚色最高的位置,找出對應的控制按鈕後將指令傳至NIOS II CPU 執行音樂控制的動作。 
 
六、音樂控制指令顯示於綠LED,LEDG7->PLAY,LEDG6->PAUSE,LEDG5->STOP,LEDG4->NEXT SONG,LEDG3->PREVIOUS SONG,LEDG2->VOLUM UP ,LEDG1->VOLUM DOWN
 
七、增加音樂的控制權,可以播放、暫停以及停止:
我們增加了程式控制使得音樂能馬上暫停或停止,暫停後按播放鍵可繼續音樂播放,並非重頭播放。停止後按播放鍵可重新播放音樂。
 
 
 
 
 
(Revision: 8 / 2010-09-12 13:47:12)

3. 效能參數 (Final Project Paper)

本研究使用硬體電路來完成即時的影像處理,若使用NIOS CPU處理,效率較差。

膚色偵測是將RGB轉到YCbCr,在用訂定膚色的範圍去判斷,其範圍是經過實驗統計後得知Cb值介於77到127且Cr值介於137到177,只要在訂定的範圍內視為膚色。

圖二可看出紅色區域為膚色範圍。

圖二、CbCr膚色範圍統計圖

 圖三為晶片設計資訊

圖三、編譯結果

 

(Revision: 7 / 2010-09-17 19:48:18)

4. 設計架構 (Preliminary Paper)

圖四為硬體設計方塊圖,為了達到即時影像處理,我們將影像處理這部分寫在硬體電路中,能不斷處理新進入的資訊,處理後也能同時不斷顯示結果於顯示面板上,CPU負責讀取SD卡控制音樂並播放音樂。 

圖四、硬體設計模擬方塊圖

圖五為影像處理的齡成圖,分先將原始影像經過轉換到YCbCr色彩空間,在依設定範圍過濾並二值化影像,以利後續處理,接者使用影像處理技術,作侵蝕的效果,使影像更為清晰,之後判斷指尖的位置,找到指尖後再判斷使用者的要求控制音樂,影像會儲存在SDRAM讓顯示面板播放影像。

 

圖五、影像處理流程

圖六為SOPC架構圖,大致上跟範例相同,唯有CPU工作區的記憶體改成使用SSRAM,因為在處理影像時已使用掉兩個SDRAM。

圖六、SOPC架構

圖七為軟體架構圖,7段顯示器顯示播放時間,WAVE Lib 負責音頻解碼的功能,FAT16讀取在SD卡的音樂檔,I2C負責與音樂晶片的通訊協定。

圖七、軟體架構圖(源自DE2-70 manual)

圖八為軟體流程圖,軟體流程是將原範例提供的程式作修改,在音樂流程中加入開始播放、暫停與停止的判斷控制。

圖八、軟體流程圖

(Revision: 12 / 2010-09-14 14:53:08)

5. 設計方法 (Final Project Paper)

一、顏色轉換:

先將原本相機得到的RGB轉到YCbCr色彩空間如圖九的公式,就可減少光源影響判斷結果,Y為亮度,Cb為藍色分量,Cr為紅色分量。

圖九、RGB轉YCbCr公式(源自Wikipedia)

二、膚色偵測-二值化

根據Hiremath發表的論文結果,在YCbCr色彩空間下,依據膚色分布範圍過濾影像,保留膚色區域如圖十一。因相機構造和外在環境因素,導致一些誤判的像素產生,但是手部膚色較亮或較暗的部分皆被保留下來。 圖十二為自訂義膚色判斷模組。

       

圖十、相機輸入影像                                                                       圖十一、經膚色辨識結果

圖十二、膚色偵測模組

三、影像處理:侵蝕(EROSION)

原理:假設A和B兩集合,A是被侵蝕的集合,B是結構元素,將B元素在A集合的每個點上,可視為B是個空間遮罩,滑動中侵蝕A集合,侵蝕程度視B結構元素的形狀控制如圖十三。簡單的說,保留A集合中符合B形狀的所有點。公式如下圖:

圖十三、侵蝕示意圖

圖十四為膚色偵測後經過EROSION的顯示結果。 圖十五為自訂義侵蝕模組

   

圖十四、經影像處理結果                                                     圖十五、影像侵蝕模組

四、指尖偵測

由圖十六可看到,指尖的部分被框出來,框的大小會隨手指大小而變,因經過膚色過濾與影像處理,使得指尖的判斷非常穩定。圖十七為自訂義指尖偵測模組

   

圖十六、顯示指尖偵測結果                                                                      圖十七、指尖偵測模組

五、音樂指令判斷:

圖十八是當手指觸控虛擬觸控面板的PLAY時,LEDG7會顯示並開始播放音樂如圖十九。

    

 圖十八、虛擬觸控面板                                                                                        圖十九、顯示面板與LEDG                

圖十八為一張A4紙張為虛擬觸控面板,可讓使用者快速了解各個位置的功能,也可像電影關鍵報告般,直接在空中按下按鈕如圖二十。圖二十一為自訂義指令判斷模組,可以將使用者的命令辨識後傳至SOPC。

     

            圖二十、完成控制                                                                             圖二十一、指令判斷模組

六、SOPC接收指令:

經由辨識指令後將指令傳至SOPC如圖二十二,達到控制音樂的目的。

 

 圖二十二、SOPC方塊圖

七、音樂播放

 下圖為音樂播放時的截圖,可以看到LCD面板顯示音樂名稱以及音量大小,綠LED7表示開使播放的的按鈕,紅LED表示音樂的節奏,7段LED顯示播放時間。

圖二十三、音樂開始播放

(Revision: 15 / 2010-09-17 14:18:05)

6. 設計特點 (Preliminary Paper)

        今年比賽主題承接去年學長所作的主題Hand Gesture-controlled Music Player,不同於去年利用CMOS相機偵測紅色部分以及辨識手部動作與觸控式面板兩方面做為音樂播放的控制,而是結合相機與觸控面板,利用CMOS相機偵測膚色及指尖部分達到虛擬觸控控制音樂播放等動作。
        利用程式部分提供一虛擬介面觸控;並非使用一個I/O裝置來當作介面觸控使用,虛擬介面可以增加使用的方便性又可以縮小裝置的大小以及成本的運用,以低成本的虛擬觸控取代高成本的觸控面板,達到降低產品價格及提升其普遍率。
 
觸控式產品因為使用方便且較容易上手,因此觸控式產品越來越廣泛,但是由於觸控螢幕成本較高,所以觸控式產品價格比一般非觸控式的產品高。因此我們希望藉由虛擬觸控來取代觸控式面板的輸入部分。若觸控式面板損傷時必須回廠送修,但虛擬觸控的媒介則只需利用紙張及設定的符號即可重複使用,也較容易取得,即使損壞也不用維修。
 
手指辨識部分:

一、我們使用顏色空間轉換將彩色的影像RGB影像空間轉換到YCbCr色彩空間之中。
二、數學演算法,在硬體上實現,可達到即時(Real Time)的快速運算。
三、使用膚色判斷可以準確擷取到手部膚色的部分。
四、使用影像處理來去除雜訊,保留手的影像部份。
五、找出手指指尖的位置。
六、辨識指令後執行控制音樂的動作。
七、增加音樂的控制能力,我們加入了播放、停止和暫停的功能
 
有了這個技術,控制音樂的權利將轉移到使用者的手指上,只須將手舉起,停留在空中1秒,就能控制音樂的播放,
非常方便。
此方法不不需要較貴觸控面板,使用的是現在很普遍的手機鏡頭即可執行。
 
 
(Revision: 6 / 2010-09-12 15:05:51)

7. 總結 (Final Project Paper)

由於是接續學長的主題,因此在研究的過程中,了解學長程式內容及改良是最為重要也是最消耗時間的。尤其在膚色偵測的部分,為改良其穩定性及精確性,做了多次的嘗試;如起先使用的HSV模式,卻發現由於計算過於繁複而影響計算結果的精確性,而改用YCbCr的模式解決此問題。

此作品最為困難的部分是膚色的偵測及判斷。在未來若想要更為精確的偵測膚色,作品還需考量到CMOS相機因素;CMOS相機的元件特性容易在物體邊緣也就是在色彩模糊的地方混色成膚色,造成判斷錯誤,尤其在環境中有唯黃的牆面,因此在未來若想要更精確的判斷膚色,YCbCr的膚色判斷範圍就需要再更加精確,如到小數點之後數個位數。

參加友晶科技公司舉辦的「2010 Altera 亞洲創新設計大賽」,除了使我們了解並學習相關的知識及技術外,更增進了我們對遇到問題的處理及思考能力,使我們在未來能夠更有競爭力。最後,非常榮幸的能夠參與此次大賽,感謝友晶科技公司及所有相關單位的付出,謝謝。

(Revision: 5 / 2010-09-17 14:06:50)