【作 者】王恩,馬煜,汪源源
1 復(fù)旦大學(xué)專用集成電路與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,上海,200433
2 復(fù)旦大學(xué)電子工程系,上海,200433
嵌入式色盲圖像處理系統(tǒng)設(shè)計(jì)
【作 者】王恩1,馬煜1,汪源源2
1 復(fù)旦大學(xué)專用集成電路與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,上海,200433
2 復(fù)旦大學(xué)電子工程系,上海,200433
以色盲圖像處理系統(tǒng)為應(yīng)用背景,提出了基于ARM的嵌入式系統(tǒng)設(shè)計(jì)方案。通過(guò)選型核心處理器ARM,完成了嵌入式色盲圖像處理系統(tǒng)的硬件和軟件設(shè)計(jì),并實(shí)現(xiàn)了簡(jiǎn)單易用的系統(tǒng)界面。本系統(tǒng)為色盲圖像處理算法的應(yīng)用提供了一個(gè)通用的硬件平臺(tái),有望給色盲的測(cè)試與輔助矯正帶來(lái)便利。
色盲;圖像處理;嵌入式系統(tǒng)
色盲及色弱是常見(jiàn)的伴性遺傳病,主要是由視網(wǎng)膜錐細(xì)胞的變異或者缺失引起的,患者不能分辯自然光譜中的某些顏色。據(jù)統(tǒng)計(jì),全球男性人口約8%患有色盲或色弱,女性人口約0.5%。色盲又分為全色盲和二色盲。二色盲按照視錐細(xì)胞異常的不同又分為紅二色盲、綠二色盲和藍(lán)二色盲,其中紅二色盲和綠二色盲占的比例最多。本文以紅二色盲為例進(jìn)行研究。
在色盲模型方面,根據(jù)三種錐細(xì)胞的視覺(jué)原理,提出了視覺(jué)的三通道模型[1],很多學(xué)者據(jù)此相應(yīng)地建立了對(duì)色盲患者視覺(jué)進(jìn)行研究的各種模型[1-3]。這些模型都是從視覺(jué)的三通道入手建立的,具有一定的相通性。
現(xiàn)階段利用這些模型研究色盲、色弱治療或矯正的方法有很多,如文獻(xiàn)[4-12]中所報(bào)道的,但尚缺乏切實(shí)可行的治療或矯正方法。通過(guò)對(duì)被眼睛感知之前的圖像進(jìn)行處理的技術(shù),對(duì)色盲進(jìn)行矯正,以提高色盲患者獲取顏色信息的能力,更符合實(shí)際應(yīng)用的需要。本文以色盲圖像處理系統(tǒng)為應(yīng)用背景,研究了嵌入式色盲圖像處理系統(tǒng)的設(shè)計(jì)方案,希望為色盲圖像處理算法的應(yīng)用提供一個(gè)通用的硬件平臺(tái),從而為色盲的測(cè)試與矯正帶來(lái)便利。
1.1 色盲圖像處理的基本原理
1.1.1 二色盲與色弱的仿真模型
正常人的眼睛有三種錐體感光細(xì)胞,分別為L(zhǎng)、M、S錐細(xì)胞,它們構(gòu)成了人眼觀察顏色的LMS空間模型[1]。常用的RGB圖像可轉(zhuǎn)變到LMS空間:
其中U為從RGB空間到LMS空間的變換矩陣。
圖1 RGB空間顏色沿L軸方向投影圖。Fig.1 Colors in RGB cube are projected on the color plane of protanopes along axis L.
本文采用一種簡(jiǎn)化的二色盲模型[11],對(duì)于紅二色盲進(jìn)行研究。如圖1所示,當(dāng)顏色從RGB空間轉(zhuǎn)變?yōu)長(zhǎng)MS空間時(shí),RGB立方體空間的顏色沿L軸方向映射到R=G的平面上[13-14]。沿著L軸方向的顏色都被投影到了同一點(diǎn),這樣就造成了沿L軸方向顏色的混淆,而紅色和綠色正好在此方向上,所以紅綠不能區(qū)分。類似地,對(duì)于綠二色盲,它把RGB空間的顏色沿著M軸方向投影到R=G的平面上,同樣使得紅綠不能區(qū)分。對(duì)于藍(lán)色盲,它把RGB立方體的顏色沿S軸方向投影到B=G的平面上,使得藍(lán)綠無(wú)法區(qū)分。
對(duì)L、M、S三路信號(hào)乘以一個(gè)變換矩陣T式(2),可以模擬人眼視覺(jué)的一些情況。當(dāng)T為單位陣時(shí),所模擬的是正常視覺(jué);當(dāng)T取其他矩陣時(shí)還可以模擬二色盲、色弱。和二色盲從彩色中提取色彩信息的能力。鄧寅暉等[10]提出了一種二色盲顏色固定映射的方法,基于相似矩陣建立了一種從三維空間到二維平面的固定映射關(guān)系,幫助訓(xùn)練二色盲患者識(shí)別顏色。鮑吉斌等[11-12]提出了基于自適應(yīng)映射的二色盲矯正方法和基于旋轉(zhuǎn)H分量的色盲矯正方法。
總的來(lái)說(shuō),各方法根據(jù)適用范圍的不同,各有其特點(diǎn)。
1.2 系統(tǒng)結(jié)構(gòu)及工作原理
本系統(tǒng)的結(jié)構(gòu)模型如圖2所示。圖像采集模塊負(fù)責(zé)采集原始圖像,并將原始圖像數(shù)據(jù)通過(guò)DMA方式發(fā)送給ARM,存儲(chǔ)到SDRAM中。一幀圖像采集完成后,ARM將圖像數(shù)據(jù)從SDRAM中取出,進(jìn)行相關(guān)的處理,然后輸出數(shù)據(jù)并顯示到帶觸摸功能的3.5”LCD上。在圖像顯示過(guò)程中,還可以通過(guò)集成于系統(tǒng)中的按鍵輸入模塊對(duì)顯示的圖像進(jìn)行切換、復(fù)位等控制。
LMS空間是人眼內(nèi)部的顏色感知空間,不利于直觀地理解。為觀察紅二色盲分辨顏色的效果,可將顏色從LMS空間轉(zhuǎn)換到RGB空間,得到色盲的感知仿真模型,其中紅二色盲的感知仿真模型為:
圖2 系統(tǒng)結(jié)構(gòu)框圖Fig.2 System block diagram
類似地,綠二色盲和藍(lán)二色盲也有相應(yīng)的感知仿真模型。
在二色盲模型的基礎(chǔ)上,文獻(xiàn)[15]通過(guò)對(duì)(3)式的修正提出了色弱的仿真模型:
其中:λ為反映色盲嚴(yán)重程度的系數(shù),取值范圍為0到1,當(dāng)λ=0時(shí)。為二色盲;λ=1時(shí)為正常視覺(jué)。
2.1.2 圖像處理的色盲矯正方法
以色盲仿真模型為基礎(chǔ),針對(duì)不同類型和程度的色盲,提出了多種矯正方法。
Yong Man Ro[4-5]提出的色弱矯正方法,將色弱模型看成是一個(gè)可逆系統(tǒng),圖像經(jīng)過(guò)它的逆系統(tǒng)即可得到矯正圖像。Seungi Yang[6]提出了用飽和度差異區(qū)分顏色的方法矯正二色盲。Amy Gooch[7]將彩色圖像變換成灰度圖像,并保留了彩色圖像中的有用信息,用于全色盲的矯正。Karl Rasche[8-9]提出了一種方法提高全色盲整個(gè)系統(tǒng)的存儲(chǔ)模塊還包括NOR Flash和NANDFlash。它們提供了兩種不同系統(tǒng)的啟動(dòng)方式。NOR Flash適合做代碼存儲(chǔ),用于存儲(chǔ)引導(dǎo)系統(tǒng)燒寫(xiě)的程序;NANDFlash適合用來(lái)做大量數(shù)據(jù)存儲(chǔ),用于存儲(chǔ)系統(tǒng)程序。
系統(tǒng)通電后,ARM首先通過(guò)SCCB總線對(duì)圖像采集模塊(OV9650)進(jìn)行初始化,以確定其工作模式。初始化結(jié)束后,等待圖像采集命令,同時(shí)LCD完成初始化,顯示初始?xì)g迎界面。用戶通過(guò)觸摸LCD選擇進(jìn)入系統(tǒng)后,可以設(shè)置參數(shù)(包括動(dòng)態(tài)、靜態(tài)圖像、色弱系數(shù)等)以及選擇需要顯示的圖像。選擇完畢后,圖像采集模塊將開(kāi)始工作,ARM依靠像素時(shí)鐘和行場(chǎng)同步信號(hào)來(lái)采集原始圖像,存入SDRAM中。當(dāng)一幅圖像采集完成后,ARM將數(shù)據(jù)從SDRAM中讀出進(jìn)行處理,進(jìn)而送給LCD進(jìn)行顯示。
1.3 系統(tǒng)硬件設(shè)計(jì)
1.3.1 圖像采集模塊
圖像采集模塊采用Omni Vision公司的OV9650芯片,負(fù)責(zé)采集原始圖像。該圖像采集芯片內(nèi)部集成了強(qiáng)大圖像色度、亮度處理功能以及多種輸出模式。在本系統(tǒng)中我們采用RGB565格式輸出圖像信息,圖像輸出為VGA格式,有效分辨率為640*512。OV9650具有SCCB總線(弱化的IIC總線),在系統(tǒng)復(fù)位時(shí)必須通過(guò)該總線對(duì)其進(jìn)行初始化。
ARM 與0V9650接口電路包括控制線、信號(hào)線以及數(shù)據(jù)線的連接??刂凭€有SCCB總線、RST(復(fù)位)以及PWDN(休眠)。當(dāng)采用連續(xù)掃描方式時(shí),OV9650有3個(gè)同步信號(hào),分別為VSYNC(垂直同步信號(hào))、HREF(水平同步信號(hào))和PCLK(像素同步信號(hào)),CLK為ARM提供外部時(shí)鐘信號(hào)。OV9650與ARM之間的有效數(shù)據(jù)線為CD2-CD9,共8位,采用RGB565格式輸出像素值,每個(gè)像素點(diǎn)輸出信號(hào)共包含兩個(gè)字節(jié)。
1.3.2 ARM模塊
圖像采集模塊將采集到的原始圖像數(shù)據(jù)傳送給ARM處理器。我們?cè)诔绦蛑性O(shè)定一大塊位于SDRAM中的內(nèi)存區(qū),并把這個(gè)數(shù)組的地址傳給ARM處理器的相應(yīng)寄存器。這樣ARM會(huì)自動(dòng)把從SDRAM中取出圖像原始數(shù)據(jù)經(jīng)過(guò)必要的處理存入該內(nèi)存區(qū),然后再把這個(gè)地址給LCD顯示模塊的寄存器,LCD就可以顯示了。
本系統(tǒng)選用Samsung 半導(dǎo)體公司推出的S3C2440A作為ARM處理器。它是一款基于ATM920T內(nèi)核的16/32位RISC嵌入式微處理器,主頻400 MHz,最高可達(dá)533 MHz。作為一款專用的以手持設(shè)備為主而設(shè)計(jì)的芯片,其特點(diǎn)在于低功耗和高速的處理計(jì)算能力。
1.3.3 存儲(chǔ)模塊
本系統(tǒng)使用了兩片外接的32M bytes (總共64M bytes)的SDRAM 芯片,它們并接在一起形成32-bit 的總線數(shù)據(jù)寬度。這樣可以增加訪問(wèn)的速度。因?yàn)樗鼈兪遣⒔?,所以它們共用同一路片選信號(hào)。
本系統(tǒng)具備兩種Flash,一種是NOR Flash,大小為2Mbyte;另一種是NAND Flash,大小為256 M。S3C2440 支持這兩種Flash 啟動(dòng)系統(tǒng),通過(guò)撥動(dòng)電路上的開(kāi)關(guān),可以選擇從NOR 還是從NAND 啟動(dòng)系統(tǒng)。NOR Flash適合做代碼存儲(chǔ),用于存儲(chǔ)引導(dǎo)系統(tǒng)燒寫(xiě)的程序;NAND適合用來(lái)做大量數(shù)據(jù)存儲(chǔ)的,用于存儲(chǔ)系統(tǒng)程序。當(dāng)前系統(tǒng)中只用到了NAND Flash,而NORFlash是為了系統(tǒng)的功能升級(jí)及后續(xù)開(kāi)發(fā)預(yù)留的。
NAND Flash不具有地址線,它有專門的控制接口與CPU 相連,數(shù)據(jù)總線為8-bit。NOR Flash 采用了A1-A22 總共22 條地址總線和16 條數(shù)據(jù)總線與CPU 連接,每次最小的讀寫(xiě)單位是2-byte。
1.3.4 顯示模塊
圖像經(jīng)過(guò)ARM采集和處理完畢后,需要在LCD上顯示。本系統(tǒng)采用的是一個(gè)最高可支持1600萬(wàn)色的3.5”LCD顯示模塊,顯示分辨率為320*240。ARM與LCD接口電路包含了LCD 所用的控制信號(hào)(行場(chǎng)掃描、時(shí)鐘和使能等)。
LCD 與0V9650接口電路包括完整的RGB 數(shù)據(jù)信號(hào),數(shù)據(jù)位共24位,VD0-VD23??刂菩盘?hào)包括VFRAME(幀同步信號(hào))、VLINE(行同步信號(hào))、VCLK (像數(shù)時(shí)鐘信號(hào))、VDEN(數(shù)據(jù)有效標(biāo)志信號(hào))以及nRESET(復(fù)位信號(hào))。此外,LCD顯示模塊還集成了4線電阻觸摸屏,接口為TSXM、TSYM、TSXP、TSYP。
1.3.5 外圍電路
本系統(tǒng)通過(guò)按鍵來(lái)實(shí)現(xiàn)顯示圖像的切換以及復(fù)位等操作,共有6個(gè)按鍵。具體功能在軟件部分將進(jìn)行詳細(xì)介紹。
系統(tǒng)具有一個(gè)簡(jiǎn)單的串口功能,即通常所說(shuō)的發(fā)送(TXD)和接收(RXD),它們是從ARM直接引出的,是TTL 電平。為了方便使用,我們使用電平轉(zhuǎn)換芯片進(jìn)行匹配RS232 電平的轉(zhuǎn)換,故可以通過(guò)附帶的直連線與PC 機(jī)互相通訊。
此外,系統(tǒng)還具有兩種USB 接口,一個(gè)是USB Host,它和普通PC 的USB 接口是一樣的,可以掛載USB攝像頭、USB 鍵盤、USB 鼠標(biāo)和優(yōu)盤等常見(jiàn)的USB 外設(shè);另一種是USB Slave,用來(lái)下載程序到系統(tǒng)板。
1.3.6 電源模塊
本系統(tǒng)的電源系統(tǒng)比較簡(jiǎn)單,直接使用外接的5 V電源,通過(guò)降壓芯片產(chǎn)生整個(gè)系統(tǒng)所需要的3種電壓:3.3 V、1.8 V和1.25 V。
1.4 嵌入式系統(tǒng)軟件開(kāi)發(fā)
采集到的原始圖像(ImageA1)經(jīng)過(guò)色盲圖像矯正算法處理后可以得到色盲矯正圖像(ImageA2)。為了便于系統(tǒng)測(cè)試,可以通過(guò)仿真算法將原始圖像以及色盲矯正圖像分別處理成仿真的色盲感知圖像(ImageB1)和仿真的矯正后色盲感知圖像(ImageB2)。圖像顯示與算法的關(guān)系如圖3所示。
實(shí)際使用中,為了便于操作者使用LCD顯示相關(guān)的圖像數(shù)據(jù),總共有4種顯示模式:
圖3 圖像轉(zhuǎn)換與算法關(guān)系示意圖Fig.3 the relationship between images and algorithms
State1 分屏顯示原始圖像(ImageA1)和色盲矯正圖像(ImageA2)。
State2 全屏顯示色盲矯正圖像(ImageA2)。
State3 分屏顯示仿真的色盲感知圖像(ImageB1)和仿真的矯正后色盲感知圖像(ImageB2)。
State4 全屏顯示仿真的矯正后色盲感知圖像(ImageB2)。
幾種顯示模式之間的切換采用按鍵的方式,其中KEY4用于State1和State2的切換,KEY5用于State1和State3的切換,KEY6用于State2和State4的切換。此外,KEY1用于返回色盲參數(shù)選擇界面,KEY2用于切換選擇凍結(jié)圖像/恢復(fù)動(dòng)態(tài)顯示,KEY3用于靜態(tài)模式下的圖像刷新。
整個(gè)程序包含3個(gè)進(jìn)程,分別是圖像采集、圖像處理和按鍵判斷。程序采用多進(jìn)程的方式使得程序簡(jiǎn)潔高效,且有利于充分發(fā)揮ARM的性能。
1.5 GUI界面設(shè)計(jì)
圖4 嵌入式GUI圖形界面設(shè)計(jì)Fig.4 Embedded GUI graphic interface design
圖4 顯示的是嵌入式GUI圖形界面。系統(tǒng)開(kāi)機(jī)后,將首先進(jìn)入歡迎界面,LCD顯示“歡迎進(jìn)入嵌入式色盲圖像處理系統(tǒng)”,用戶點(diǎn)擊按鍵進(jìn)入“色盲圖像參數(shù)選擇”菜單。參數(shù)包含顯示模式選擇(連續(xù)/靜態(tài))、算法選擇、去噪?yún)?shù)選擇、色弱系數(shù)選擇。然后通過(guò)點(diǎn)擊紅二色盲、綠二色盲或藍(lán)二色盲按鈕后,LCD上將顯示相應(yīng)的圖像。點(diǎn)擊“返回”按鈕回到上一級(jí)菜單。在圖像顯示過(guò)程中,通過(guò)按鍵可以選擇切換圖像或回到參數(shù)選擇界面。
顯示模式選擇是通過(guò)點(diǎn)擊“連續(xù)/靜態(tài)”按鈕來(lái)選擇顯示連續(xù)圖像或者靜態(tài)圖像(靜態(tài)模式下圖像可以通過(guò)按鍵進(jìn)行更新)。算法選擇框用來(lái)選擇內(nèi)置系統(tǒng)中的幾種色盲矯正算法;去噪?yún)?shù)選擇對(duì)應(yīng)于色盲圖像處理算法中的去噪系數(shù),范圍從0-20,用于改善顯示圖像質(zhì)量和去除噪聲,數(shù)值越高去噪效果越好,但色盲矯正效果越差,需要根據(jù)系統(tǒng)實(shí)際應(yīng)用的環(huán)境相應(yīng)地進(jìn)行調(diào)整。色弱系數(shù)代表色盲程度,色弱系數(shù)為0代表色盲,為1代表正常,中間數(shù)值大小對(duì)應(yīng)相應(yīng)的色盲程度。
本系統(tǒng)在連續(xù)圖像模式下,紅二色盲圖像顯示幀率為10幀/秒,基本上能達(dá)到視頻連續(xù)動(dòng)態(tài)顯示的要求。圖5顯示了紅二色盲選項(xiàng)下幾種圖像顯示模式,對(duì)應(yīng)關(guān)系如圖3所示。色盲圖像矯正和仿真算法采用的是文獻(xiàn)[11]提出的基于自適應(yīng)映射的二色盲矯正方法,按照所觀察的圖像的顏色分布來(lái)劃分顏色面和建立顏色映射關(guān)系,并按顏色映射關(guān)系對(duì)圖像就行矯正。該算法具有失真較小和處理速度快等優(yōu)點(diǎn),適用于實(shí)時(shí)圖像處理應(yīng)用。
圖5 系統(tǒng)實(shí)驗(yàn)效果圖。原始圖像顯示“823”。Fig.5 Experimental figures of the system. The original figure shows‘823’..
本文以Samsung 半導(dǎo)體公司的S3C2440A處理器為核心,完成了基于ARM的嵌入式色盲圖像處理系統(tǒng)的軟、硬件設(shè)計(jì),經(jīng)過(guò)系統(tǒng)調(diào)試和整體測(cè)試,目前已能實(shí)現(xiàn)基本功能,證明了系統(tǒng)設(shè)計(jì)的可行性。同時(shí),本系統(tǒng)可以作為嵌入式色盲圖像處理的一個(gè)通用平臺(tái),可以在不修改硬件的基礎(chǔ)上應(yīng)用于較為廣泛的場(chǎng)合,只需對(duì)算法模塊進(jìn)行修改和補(bǔ)充即可。
目前系統(tǒng)的實(shí)用化、完善化還需要進(jìn)一步改進(jìn),可從系統(tǒng)便攜性、電源智能管理、傳感器集成等方面進(jìn)一步優(yōu)化。同時(shí),需要編寫(xiě)更好的優(yōu)化處理算法,使系統(tǒng)具有更高的運(yùn)行效率和更好的人機(jī)交互感受。
本研究課題受復(fù)旦大學(xué)專用集成電路與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室自主項(xiàng)目資助,在此表示感謝。
[1] Martin CE, Keller JG, Rogers SK, et al. Color blindness and a color human visual system model[J].IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans, 2000,30: 494-500.
[2] Nakauchi S, Usui S. Multilayered neural network models for color blindness[C], IEEE International Joint Conference on Neural Networks, 1991,1: 473-478.
[3] WachtlerT, DohrmannU, HertelR. Modeling color percepts of dichromats[J], Vision Research, 2004, 44: 2843–2855.
[4] Ro YM, Yang S. Color adaptation for anomalous trichromats[J]. International Journal of Imaging Systems and Technology, 2004, 14: 16-20.
[5] Ro YM, Huh Y, Kim M. Visual content adaptation according to user perception characteristics[J]. IEEE Transactions onMultimedia, 2005, 7(3): 435- 445.
[6] Yang S and Ro YM. Visual contents adaptation for color vision deficiency[C].IEEE International Conference onImage Processing, 2003, 1:453-456.
[7] Gooch A, Olsen S, Tumbiln J, Gooh B. Color2gray: saliencepreserving color removal[J]. ACM Transactions on graphics, 2005, 24:634-639.
[8] Rasche K, Geist R, Westall J. Detail preserving reproduction of color images for monochromats and dichromats[J]. IEEE Computer Graphics and Applications, 2005, 25(3): 22-30.
[9] Rasche K, Geist R, Westall J. Re-coloring images for gamuts of lower dimension[J].EuroGraphics, 2005, 24: 423-432.
[10] Deng Y, Wang Y, Ma Y, Bao J, Gu X. A fixed transformation of color images for dichromats based on similarity matrices[J]. Lecture Notes in Computer Science, 2007, 4681:1018-1028.
[11] Bao J, Wang Y, Ma Y,Gu X. Re-coloring images for dichromatsbased on an improved adaptive mapping algorithm[C]. International Conference onAudio, Language and Image Processing, 2008, 152-156.
[12] 鮑吉斌, 汪源源, 馬煜, 等. 基于H分量旋轉(zhuǎn)的色盲矯正方法[J]. 上海生物醫(yī)學(xué)工程, 2008, 29(3):125-130.
[13] BrettelH, VienotF, MollonJD. Computerized simulation of color appearance for dichromats[J]. Journal of Optical Society of America, 1997, 14: 2647-2655.
[14] Vienot F, Brettel H, Mollon JD. Digital video colourmaps for checking the legibility of displays by dichromats[J]. Color Reseach and Application, 1999, 24: 243-252.
[15] Ma Y, Gu X, Wang Y. A new color blindness cure model based on bp neural network[J]. Lecture Notes in Computer Science, 2006, 3973: 740-745.
Embedded System Design of Color-blind lmage Processing
【 Writers 】Wang Eric1, Ma Yu1, Wang YuanYuan2
1 State Key Laboratory of ASIC & System, Fudan University, Shanghai, 200433
2 Department of Electronic Engineering, Fudan University, Shanghai, 200433
color blindness, image processing, embedded system
R318.18
A
10.3969/j.isnn.1671-7104.2011.01.011
1671-7104(2011)01-0045-05
2010-10-10
王恩,E-mail: wangenzk@gmail.com
【 Abstract 】An ARM-based embedded system design schemes is proposed for the color-blind image processing system. The hardware and software of the embedded color-blind image processing system are designed using ARM core processor. Besides, a simple and convenient interface is implemented. This system supplies a general hardware platform for the applications of color-blind image processing algorithms, so that it may bring convenience for the test and rectification of color blindness.