TW036
以FPGA實現立體視覺與即時影像處理於可攜式弱視輔具之設計

排名 得獎作品 獲獎學生 學校 指導教授
亞軍 以 FPGA 實現立體視覺與即時影像處理於可攜式弱視輔具之設計 吳信彥
賴彥良
李吉民
國立陽明大學 張寅

1. 設計介紹

背景

視覺是人類接受外界資訊最主要的管道,倘若因眼睛失明或視力欠佳,或因先天或後天因素,而導致視覺器官構造缺損,必會使其接受外界資訊的能力大受影響。根據統計,在所有的視覺障礙者中,全盲者僅佔少數部份,絕大多數(70-80 %)的視覺障礙者(弱視),還有剩餘的些微視力。

 

假若可以利用這剩餘的視力,給予適當的輔助工具以提昇其視覺功能,無論是對於視覺障礙者本身,或國家社會而言都是相當樂見的。在某些情況下,若無即時的矯正治療而導致視覺功能加速退化,未來將嚴重的影響視力矯正治療的效果。視覺障礙者也可能因為視力缺損,而造成在生活、學習及工作上的限制與困擾。

 

設計考量

目前弱視者最常使用的輔具有放大鏡、望遠系統及擴視機等,其改善方法是將物體的影像放大。雖然利用影像放大可以增加弱視者資訊辨識的能力,但相對地也會造成視野的縮小,在閱讀方面,視野縮小也可能會造成弱視者在學習速度上緩慢。在生活上,視野的縮小也會增加其不便與危險(例如:跌倒、碰撞等),並且這些弱視輔具通常只能侷限於在室內使用,如圖1-1的擴視系統。

 

1-1、影像經過擴視系統後視野縮小

 

因此若我們能利用弱視者剩餘的視力,在不需要太大的放大倍率下,就可以改善其視覺的能力,並且透過即時的影像強化處理及立體視覺的實現,可讓弱視患者藉由此可攜式的弱視輔具來來拉近與社會及人群的距離。

 

設計重心

(1)影像強化

   我們針對弱視者給予一套特定的視障輔具系統,利用影像強化方式,使得弱視者觀看的強化影像不需在太大的放大倍率下,就可以改善弱視者的視力,並提升弱視者辨識外界的資訊。得到強化的影像之後我們必須考慮可攜式弱視輔具必須要能得到即時的影像,若影像能夠做即時強化處理,弱視者必定能觀看連續即時的影像,而對外界資訊也能夠即時掌握,對於攜帶輔具之弱視者在安全性方面,如過馬路,也有大大的提升。

 

(2) 立體視覺

而配戴可攜式弱視輔具之後弱視者觀看的為二維的影像,如此一來弱視者便無法感受影像之立體感,較難判斷身邊人事物的遠近及深度,因此我們加入了立體視覺的運算,藉由對影像的擴展及平移,讓弱視者產生左右眼的視差,模擬人眼視覺之生理機制,將左右眼所接收的不同畫面,透過視覺大腦結合產生融像。

 

(3) 開發平台

考量影像處理上速度效能的問題以及輔具可攜帶性等因素,我們使用現場可規劃邏輯陣列(Field Programmable Gate Array, FPGA),並採用ALTERA公司的DE2-70DE1開發板作為影像處理平台,利用其可重覆規劃硬體及把系統實現於單一晶片裡(System on a Programmable Chip, SOPC)之特性,針對每位弱視者所做的視力評估後,快速實現及建立弱視者所需的即時影像強化系統,將影像進行專屬的強化處理後,可輸出至頭戴式螢幕或桌上型LCD,再給予弱視者觀看,並提供每秒高達64張的影像輸出以達到即時影像強化及立體視覺的效果。

 

透過ALTERA公司的開發軟體Quartus II撰寫及修改Verilog code並合成電路,能夠及時透過USB Blaster燒錄至DE2-70DE1開發板上的Cyclone II FPGA做功能驗證,迅速開發或修改屬於弱視者個人所需之功能,此為開發可攜式弱視輔具上一個強大的優勢。圖1-2為以FPGA來實現弱視輔具之示意圖。

 

 

1-2、以FPGA來實現可攜式的弱視輔具

 

  2.作品介紹

 

 

 

 

1-3、即時立體影像強化可攜式視障輔具之平台

 硬體平台

本設計主要以友晶科技公司出品的ALTERA DE2-70開發板作為影像處理平台,透過類比CCD擷取影像,經由ADC轉成數位訊號再將資料傳至FPGA做影像處理,包括影像強化及立體視覺運算…等,最後由ALTERA DE2-70DE1開發板上的VGA DAC轉成類比訊號以HMD頭戴式螢幕或LCD桌上型顯示器輸出。並且設計了HMD驅動電路及電量偵測模組,透過它能將訊號傳送到HMD上的兩個微型顯示器並能夠隨時偵測電池的電量。如圖1-3所示,實體圖則如圖1-4所示。

 

開發介面

利用ATLERA公司所發展的Quartus II軟體為開發介面,撰寫及修改Verilog code能快速開發我們所需要的架構並合成電路,再透過USB Blaster燒錄至DE2-70及DE1開發板上驗證功能,即時的修改最符合弱視者能觀看的影像架構。


1-4、即時立體影像強化可攜式視障輔具之平台實體圖

3. 應用領域及目標用戶

對於全盲者而言,已經無法使用視覺功能來獲取外界資訊,必須依賴視覺以外的感官或輔助工具來得到資訊但對於弱視者而言,仍然還有部分的殘餘視力,其弱視定義為:

l       優眼視力:  0.03以上未達0.3

l       視野: 20度內

本題目的設計是利用弱視者剩餘寶貴的視力,將影像強化,提供一個舒適、方便的可攜式弱視輔具,是我們設計的主要方向。

 

此外,本題目之設計架構,不僅僅能應用在弱視輔具上,影像強化及立體視覺等影像處理流程及效果,經過改良及開發後亦能實現在更多不同的領域上。

 

應用領域:

(1) 視障輔具

(2) 醫療用途(醫療影像)

(3) 軍事用途

(4) 家庭娛樂事業(TV GAME)

(5) 車用電子周邊

 

目標用戶:

(1) 弱視患者

(2) 輔具製造業者

(3) 醫療單位(醫院、研究中心)

(4) 軍事單位

(5) 家庭娛樂事業製造商

(6) 車用電子周邊設備製造商

  

4. 發展套件

一連串的影像強化流程與立體視覺的運算皆是數位訊號運算的過程,考量未來使用的方式,我們必須尋求一套解決這些複雜運算的處理器,以及符合可攜式輔具發展的條件,因此我們使用了FPGA作為整個影像處理的平台。在眾多的選擇及嘗試中,採用DE2-70DE1 Development and Education Board作為我們實現的工具DE2-70及DE1擁有許多強大的功能,包括大容量LEsCyclone II FPGA、支援USB BlasterTwo 32-Mbyte SDRAM、250M4K15018x18 Embedded Multipliers使我們能處理大量的資料運算…等,這些功能在我們實現弱視輔具上提供了強大的優勢。圖1-5DE2-70的實體圖,圖1-6DE1的實體圖

 

 

1-5、發展套件DE2-70發展版

DE2-70 Development and Education Board

l       Altera Cyclone II FPGA with 68416 LEs

l       USB Blaster (on board) for programming and user API control;

l       both JTAG and Active Serial (AS) programming modes are supported

l       2-Mbyte SSRAM

l       Two 32-Mbyte SDRAM

l       8-Mbyte Flash memory

l       SD Card socket

l       4 pushbutton switches

l       18 toggle switches

l       18 red user LEDs

l       9 green user LEDs

l       50-Mhz oscillator and 28.63-Mhz oscillator for clock sources

l       24-bit CD-quality audio CODEC with line-in, line-out, and microphone-in jacks

l       VGA DAC (10-bit high-speed triple DACs) with VGA-out connector

l       2 TV Decoder (NTSC/PAL) and TV-in connector

l       10/100 Ethernet Controller with a connector

l       USB Host/Slave Controller with USB type A and type B connectors

l       RS-232 transceiver and 9-pin connector

l       PS/2 mouse/keyboard connector

l       IrDA transceiver

l       1 SMA connector

l       Two 40-pin Expansion Headers with diode protection

 

               

1-6、發展套件DE1發展版

 

l       Altera Cyclone II 2C 20 FPGA with 20000 LEs

l       Altera Serial Configuration deivices (EPCS4) for Cyclone II 2C 20

l       USB Blaster built in on board for programming and user API controlling

l       JTAG Mode and AS Mode are supported

l       8Mbyte ( 1M x 4 x 16) SDRAM

l       4Mbyte Flash Memory

l       512Kbyte(256Kx16) SRAM

l       SD Card Socket

l       4 Push-button switches

l       10 DPDT switches

l       8 Green User LEDs

l       10 Red User LEDs

l       4 Seven-segment LED displays

l       50MHz oscillator ,24MHz oscillator ,27MHz oscillator and external clock sources

l       24-bit CD-Quality Audio CODEC with line-in, line-out, and microphone-in jacks

l       VGA DAC (4-bit R-2R per channel) with VGA out connector

l       RS-232 Transceiver and 9-pin connector

l       PS/2 mouse/keyboard connector

l       Two 40-pin Expansion Headers

l       DE1 Lab CD-ROM which contains many examples with source code

 

圖一 念力操控機器系統架構

2. 應用領域與目標使用者
本作品可應用的範圍為如上述所提之ALS、SCA或全身癱瘓等病患以及特殊環境工作者如太空人與潛水夫等。病患們可藉由本作品進行意念的傳輸與週邊裝置的控制,如電影與音樂播放等多媒體裝置的控制或者是其他相關醫療設備的控制,藉以提昇病患的生活品質,降低家屬或看護的負擔。另外,殊環境工作者亦可透過本作品來進行相關工業儀器的操作,如機械手臂控制。除此之外,正常人亦可使用本系統進行腦電波控制自走車、腦波打字機、腦波彈奏音樂或腦波電視遙控選台等。因此本作品即是利用現今的科學技術,讓武俠小說裡的特異功能不再遙不可及。

3. 以 Altera DE1 多媒體平台進行設計之原因

(1) 由於腦電波訊號辨識演算法含有大量的數學運算,使用 Altera DE1 實現腦電波訊號處理演算法可以有效地加速腦電波訊號辨識速度。

(2) 透過 Altera 官方網站以及 Altera DE1 附屬之大學計畫所提供的硬體矽智財(Intellectual Property, IP)來加速腦電波訊號控制多媒體周邊環境系統的開發。實現以腦電波訊號控制多媒體系統如撥放音樂、電影或上網等。

(3) Altera DE1多媒體平台具有完整的多媒體介面,如CMOS Sensor與觸控式LCD Display Panel,非常方便本作品進行相關多媒體介面的開發。

(4) 多媒體開發功能的部分,另可將以 CMOS Sensor 擷取影像資料且以 H.264 影像壓縮工業標準將影像即時以網路串流方式將之上傳於網際網路網頁上或將影像、圖片顯示於 Altera DE1 Display Panel 上,如電影或圖片等等功能,將透過腦波控制之人機介面選單下達多媒體執行功能之動作。

2. 功能描述

1.影像強化

          

2-2、立體視覺產生圖

如圖2-2,把一張影像,擷取左邊紅色虛線的部份與右邊藍色虛線的部份,分別表示左右眼所見的影像,藉由影像擴展的方式,內插補點成800*600的解析度,最後把影像輸出至頭戴式螢幕,使弱視者能夠觀看具有視差的影像,得到立體感。 

3.即時影像

   影像處理上,每秒處理愈多張影像,觀看之影像則愈連續,而人眼的視覺暫留為1/16秒,因此有許多不同的協會以此為根據,進而制定出許多不同的規範,如美國國家電視規格委員會(NTSC) 所制定的電視通訊標準,每秒要有30張影像,因此我們以每秒至少有30張影像以上為即時影像的定義。

   相較於軟體方式約每秒處理15張強化影像做為影像處理,本研究以硬體方式平行處理影像運算,在FPGA上實現數位濾波器電路,加速運算,在工作頻率 27M Hz下,每秒可處理高達每秒64張強化影像,實用上相信能夠適用攜帶弱視輔具觀看外界影像資訊即時性之所需。

   

4.Zoom In & Zoom Out功能

      雖本題目的設計特點是以影像處理方式來強化影像取代以往光學放大的輔具,但考量到弱視者在靜態環境下的使用狀況(例如:閱讀),我們還是保留傳統光學輔具的優點,設計了Zoom In & Zoom Out的功能,讓弱視者能不僅能看到強化後的影像,還能自行控制畫面的大小。

5.可攜性及人性化控制介面

(1)可攜性

      本弱視輔具在室內使用時可直接接上DE2-70開發板的電源,但 為了實現可攜式弱視輔具,使弱視者能夠不受時間地點限制的使用,我們使用了1650 mAh9.6V鎳氫電池,配合本弱視輔具約可連續使用達4小時。同時我們也設計了電量偵測及警示的功能,當低電量時,電量偵測模組上的蜂鳴器會發出聲響來警告使用者必須更換電池。

(2)人性化控制介面

透過DE2-70開發板上的SwitchesPushbuttons能夠隨時調整最舒適的強化倍率、Zoom In & Zoom Out功能以及立體視覺的微調,達到最人性化的控制介面。圖2-4HMD驅動電路及電量偵測模組的Layout設計圖。

 

 

2-3HMD驅動電路及電量偵測模組的Layout

3. 效能參數

我們以硬體描述語言設計各個數位電路模組,接著把多個模組做整合,並將數位系統電路的輸入輸出腳位做規劃,以合成器合成出實際的電路,即可燒錄到FPGA裡,實現影像強化功能的數位電路。

數位電路合成後,我們可從Quartus II中的電路報告得知,在時序上的要求皆滿足規格,而且可以得知電路設計所使用到的FPGA資源,如表3-1所示,包含邏輯單元、內部記憶體、DSP單元等項目的使用情形。

Use/ Resource

Utilization

Total LEs

8689/68416

13%

Multiplier 9-bit

273/300

91%

Total Memory Bits

192176/1152000

17%

PLLs

1/4

25%

Total Pins

177/622

28%

3-1、電路內部各項資源使用率

    並且本設計利用硬體方式平行處理影像的運算,在FPGA上實現數位高斯低通濾波器與影像強化電路,加速運算,使輸入影像能經運算後即時地輸出,數位電路在時脈 27 M Hz之下,每秒的輸出可達64640×480有效像素大小之8位元多頻段強化影像,如下式所示,相信在實用上能夠適用攜帶弱視輔具觀看外界影像資訊即時性之所需。

 

4. 設計架構


1. 系統架構

4-1 系統架構圖

如圖4-1中的系統架構,本題目採用ALTERA公司的DE2-70DE1開發板作為開發平台,以FPGA晶片為基礎做影像的處理,流程如下:

(1)影像擷取: 影像由CCD擷取進來,先傳送到DE2-70上的TV Decoder  做類比轉數位的動作,再傳送到ALTERA Cyclone® IIFPGA內部做處理。

(2)訊號解碼: 訊號進入FPGA後首先經過ITU-R 656解碼電路將輸入訊號解碼成交錯的YCbCr訊號,再進行De-interlace電路做解交錯的動作。

(3)影像強化: 接著透過Image Processing電路運用影像強化演算法將影像做即時的強化處理。

(4)立體視覺運算: 將強化過後的影像做ShiftScale及立體視覺的運算,並分別將兩筆的YCbCb的資料轉為VESA格式的RGB的訊號。

(5)影像輸出: .FPGA將訊號處理完後傳送到VGA DAC做數位轉類比的輸出,最後即時影像經HMD驅動電路模組輸出到頭戴式螢幕或LCD桌上型顯示器,供弱視者觀看,可感受具有立體深度之即時強化畫面。

(6)周邊電路控制: 利用I 2C 介面電路控制TV DecoderHMD及電量偵測器。

2.影像強化流程

                         4-2 影像強化流程演算法

4-2所示為本設計的影像強化演算法,主要分為幾個步驟:

(1)灰階值擴展模式: 弱視者可以針對不同亮度的環境下,調整適合的模式。

(2)影像分頻:   (a) 低頻: 低頻成份包含了影像中大部分的資訊,將其做非線性處理,做灰階值的壓縮。

(b) 中頻: 針對弱視者較感受最強烈的中頻影像,再細分為三個頻段做放大。

(c) 高頻: 弱視者幾乎無法感受到的高頻部份則不做處理,避免影像失真。

 (3) 影像整合: 最後將所有頻段處理後的影像相加起來,即得到強化後的影像。

3.立體視覺

 

4-4 立體影像運算架構

強化後的影像顯示在平面的螢幕上,弱視者無法感受影像之立體感,因此須將影像進一步的做立體視覺運算的處理。

      如圖4-4所示,立體視覺運算的流程如下:

(1)影像內插: 利用一個一寫二讀的3-Port RAM做為Line Buffer,將二個Output訊號傳至MAC做內插補點的加乘運算。

(2)位移控制: 弱視者可藉由DE2-70DE1開發版上的KEY1KEY2對影像的輸出做立體視覺的微調,以達到符合個人需求之立體效果。

(3)影像輸出:將內插補點與位移後之YCbCr影像,轉換成VESA格式之RGB影像,藉由HMD驅動電路輸出至頭戴式螢幕。

 

5. 設計方法

1.實現方法

5-1、實現方法

實現演算法有多種方式,各有其優點與缺點,而我們因為考量到效能與開發時間,所以最後在實作上以硬體方式來實現演算法功能。然而要將演算法以硬體方式實作所花的時間較長,若是演算法有錯誤要修正,或是想要更改演算法的功能,以硬體方式來做演算法的開發與驗證的工作所花費的時間會更長,所以在硬體方式的設計層次做演算法的開發與驗證似乎是不明智之選擇。因此為了幫助我們縮短設計開發的時間,本設計之實現方法如圖5-1:

(1)利用軟體的特點,在電腦上透過Matlab軟體快速實現演算法的開發與驗證。

(2)利用硬體的特點,實作上透過FPGA設計電路架構以實現影像強化之功能。

(3) 電路規劃完成後,燒錄至開發板上之FPGA,設計完成。

2.設計步驟

如同上述的實現方法,我們先以軟體方式做演算法的開發與驗證,然後以硬體方式做電路架構設計與驗證,最後在FPGA上實現功能,圖5-2為完整設計流程。

5-2、完整設計流程

(1)演算法開發及驗證:

首先在電腦上使用MATLAB軟體完成演算法的開發並驗證演算法是否正確。

(2)電路架構設計:

演算法開發完成之後將其轉換為實際電路上之架構,以執行演算法的功能。我們以硬體描述語言(Hardware Description LanguageHDL)透過文字語法的方式描述出電路架構,然後以Altera公司的EDA工具Quartus II對所描述的電路架構做合成,將電路合成到FPGA內部結構的邏輯單元。

(3)功能及時序驗證:

接著以ModelSim對合成後的電路做功能上的驗證,若功能無誤,則以Quartus II對使用到的邏輯單元進行連接,然後再以ModelSim對邏輯單元連接後的電路做時序上的驗證,時序驗證無誤後即完成了電路架構的設計。

6. 設計特點

1. 以影像處理方式取代光學視障輔具

本題目的設計特點是利用Altera Cyclone II FPGA能夠快速開發及驗證的優勢,以影像處理的方式來實現可攜式弱視輔具,改善以往採用光學式輔具因為純粹將影像放大造成的視野縮小,帶來危險性及笨重不便性等缺點。

2.實現可攜式輔具於動態環境

傳統上弱視患者使用之影像強化系統均在靜態的環境下使用,並且大多是由桌上型螢幕顯示,而弱視患者使用影像強化系統亦被侷限在室內,故通常不會考慮系統的可攜性,而藉由ALTERA DE2-70DE1,並配合基板型CCDHMD頭戴式螢幕,大大了降低了輔具的體積,能讓使用者更方便的攜帶,達到可攜式弱視輔具的目的。

3.實現即時影像、反應即時資訊

即時性對於可攜式輔具是一個很重要的環節,本題目也針對可攜式之視障輔具在動態環境下,所衍生出即時影像的問題以及影像強化系統所需的硬體架構與系統做最佳化,將影像即時處理且輸出,使弱視者能夠觀看連續舒適的影像,對於外界資訊能即時掌握,在安全性方面也有大大的提升。

4.實現立體視覺

配戴可攜式弱視輔具之後弱視者觀看的為二維的影像,如此一來弱視者便無法感受影像之立體感,較難判斷身邊人事物的遠近及深度,因此我們加入了立體視覺的運算,藉由對影像的擴展及平移,讓弱視者產生左右眼的視差,模擬人眼視覺之生理機制,將左右眼所接收的不同畫面,透過視覺大腦結合產生融像。

5.使用FPGA提升效能

要實現影像強化處理的方式有不同的選擇,如在電腦(PC-based)、一般微處理器(Micro-processer)或特殊應用的數位訊號處理器(Digital signal processor)等固定的硬體架構上,以軟體方式來開發程式做影像強化處理,如CC++Java或組合語言等;相較於以軟體的方式在不能改變的硬體架構上,處理高解析度影像資訊之重覆運算工作,如摺積(Convolution),佔據大部分的運算量,且耗費大量運算時間,而本題目使用ALTERA公司的Cyclone II的大容量的FPGA,以硬體方式平行處理影像運算工作,可針對效能上之需求,自行設計客製化的硬體架構,以達到即時(Real-time)影像強化處理


7. 總結

弱視者透過對比敏感函數的量測,可以使我們得知其視覺系統,並進一步分析且給予補償,以影像強化方式取代過去採用影像放大的原理並加入了立體視覺。在本設計中針對補償策略與濾波器設計加以改良,而且使用硬體方式做影像運算處理,改善速度上的效能問題,建立了一套完整的弱視輔具系統。

至目前我們還有許多待解決與改進的部分,於以下所列作為未來以FPGA發展弱視輔具之研究方向:

1.影像分頻:以更精確之分頻方式趨近弱視者VDTF曲線來做補償

2.彩色成份強化:提高弱視者對於強化後影像的接受度。

3.解交錯方式:對於影像來源為靜態或動態給予最適合的處理。

4.電路面積:改善電路架構以減少FPGA內部資源的使用。

整個設計的發展與改進,都是希望找出一個適合弱視者個別需求的方式來補償其視覺系統所不足的問題。雖然未來還有改進的空間,但本題目已提供了一個具有實際效益的方式,讓弱視者能夠觀看即時強化之影像。

最後也特別感謝ALTERA公司及友晶科技提供了這個機會與平台,透過這次的比賽,使得我們不論在演算法開發或是FPGA電路架構設計上的學習皆獲益良多。同時希望在不久的將來,我們所開發的弱視輔具能夠真正地造福弱視的朋友,提供他們更好的生活品質。