陳 鳳,羅 山
(攀枝花學(xué)院交通與汽車工程學(xué)院,四川 攀枝花 617000)
色盲分為全色盲和半色盲,全色盲的生活中只能看到灰白兩色,而半色盲則可以看到部分顏色。色盲人不僅不能看到五顏六色的大千世界,而且在平時的生活中有諸多不便,甚至存在安全隱患,比如色盲人過有信號燈的人行橫道、看一些紅綠色的緊急燈等場合。特別是紅綠色盲不能分清此時紅綠燈的顏色狀態(tài),不能正確地判斷能否通過人行橫道,從而可能造成交通安全事故。盡管現(xiàn)有許多解決紅綠色盲過人行橫道的辦法,但也存在一些不足[1]。本文采用數(shù)字圖像處理技術(shù)實現(xiàn)適合于紅綠色盲的仿真導(dǎo)視系統(tǒng),使色盲人直觀地把看到紅綠燈顏色,為其安全出行、生活帶來方便,為色盲導(dǎo)視系統(tǒng)的硬件實現(xiàn)提供支撐。
本系統(tǒng)主要由圖像采集、圖像預(yù)處理、紅綠燈定位、顏色判斷及轉(zhuǎn)換四個部分組成。系統(tǒng)工作流程如圖1所示。
圖1 系統(tǒng)工作流程
圖像在采集、傳輸過程中會引入各種噪聲,如椒鹽噪聲、高斯噪聲等,將造成圖像質(zhì)量的下降。對這類噪聲我們一般用空域濾波器進行平滑處理,最常用的平滑濾波器有均值濾波和中值濾波[2],由于中值濾波可以克服均值濾波平滑噪聲的同時會帶來邊緣模糊的問題,具有保護圖像邊緣不被模糊等優(yōu)勢,因此采用中值濾波進行去噪處理。
由于采集到的圖像亮度會隨著時間、地點、光照強度、背景的不同而不同,即使是同一地點、同一時刻采集到的圖像也會隨著天氣的變化,導(dǎo)致拍出圖像的亮度不同。由于亮度太低或者對比度低,造成圖像內(nèi)容模糊或者對后續(xù)處理帶來困難,會引起紅綠燈定位及顏色判斷誤差。圖像增強可以解決圖像亮度太低及對比度低的問題,它主要是增強圖像中感興趣區(qū)域的像數(shù)值,減弱背景區(qū)域的灰度值,從而提高對比度,使圖像更加清晰。圖像增強分為真彩色增強和假彩色增強,本文采用直方圖修正進行真彩色增強,并且是直接在RGB空間中增強。
數(shù)學(xué)形態(tài)學(xué)主要包括腐蝕和膨脹兩種運算,通過腐蝕和膨脹的組合可以組合出開運算和閉運算[3],其基本原理是通過集合論的方法簡化數(shù)據(jù),使用結(jié)構(gòu)元素在圖像中不斷移動,對圖像的形狀和結(jié)構(gòu)進行分析及處理。經(jīng)過數(shù)學(xué)形態(tài)學(xué)處理的圖像,可以去掉圖像中的許多干擾信息,改變目標(biāo)大小,提高圖像在處理過程中的運算速度。
針對交通信號燈的顏色或形狀特征,采用方差閾值分割實現(xiàn)交通信號燈的檢測。首先利用原圖像的R、G、B值求顏色方差s,根據(jù)一定的方差閾值T對原圖像進行分割,然后根據(jù)分割出的候選區(qū)域與信號燈外殼長寬比、圓形檢測等進行對比、篩選,最后確定信號燈的位置。方差閾值分割的公式[4]如下:
(1)
(2)
(3)
式中,s為顏色方差,T為方差閾值,Bi為圖像被分割后的像數(shù)值。
圖2所示為紅色信號燈和綠色信號燈的定位結(jié)果。
圖2 紅燈和綠燈定位結(jié)果
根據(jù)HSV顏色模型的基本理論知識:H、S、V三個分量之間相互獨立,即三個分量之間有明顯的閾值范圍。因此將定位后的信號燈圖像轉(zhuǎn)換到HSV顏色空間中,對圖像進行歸一化處理后,再根據(jù)紅燈和綠燈的閾值范圍判斷出此刻處于紅燈亮還是綠燈亮的情況。紅燈、綠燈和黃燈在HSV顏色空間中的閾值分布如表1所示[5]。
表1 HSV顏色閾值分布
從表1可知,若信號燈圖像色調(diào)H的值在[0,20°]U[345°,360°]范圍內(nèi)、飽和度S的值在[60,200]范圍內(nèi)、亮度V的值在[100,255]范圍內(nèi),則系統(tǒng)將自動判斷出此時為紅燈狀態(tài);若色調(diào)H的值在[160°,190°]范圍內(nèi)、飽和度S的值在[65,255]范圍內(nèi)、亮度V的值在[100,255]范圍內(nèi),則系統(tǒng)將自動判斷出此時為綠燈狀態(tài);若色調(diào)H的值在[30°,65°]范圍內(nèi)、飽和度S的值在[75,255]范圍內(nèi)、亮度V的值在[100,255]范圍內(nèi),則系統(tǒng)將自動判斷出此時為黃燈狀態(tài)。
我們所觀察到的都是RGB空間模型下的色彩,若要讓信號燈此刻的狀態(tài)能被紅綠色盲人觀察到,須將此刻信號燈的顏色轉(zhuǎn)換為紅綠色盲人能夠辨別的顏色。經(jīng)過多次試驗分析,紅綠色盲人能夠辨別的顏色為藍色和藍紫色。
首先將紅燈、綠燈在RGB空間中的顏色分量直方圖提取出來,再根據(jù)顏色分量定義出紅燈和綠燈的取值范圍,最后將紅燈和綠燈在此范圍內(nèi)的所有像數(shù)點的顏色分別轉(zhuǎn)換為藍色和藍紫色。在RGB空間中藍色的分量值為(51,51,255),在RGB空間中藍紫色的分量值為(102,0,204)。信號燈由紅色轉(zhuǎn)換為藍色、由綠色轉(zhuǎn)為藍紫色的結(jié)果分別如圖3和圖4所示。
圖3 顏色轉(zhuǎn)換示例
針對現(xiàn)有色盲導(dǎo)視技術(shù)的一些不足,本文采用數(shù)字圖像處理技術(shù)實現(xiàn)適合于紅綠色盲的仿真導(dǎo)視系統(tǒng)。仿真系統(tǒng)主要包括信號燈圖像預(yù)處理、交通信號燈定位、信號燈顏色判斷及轉(zhuǎn)換四個部分。通過圖像分割、數(shù)學(xué)形態(tài)學(xué)處理等方法確定出候選區(qū)域,篩選出都滿足條件的候選區(qū)域為信號燈位置。然后將定位后的交通信號燈圖像由RGB空間轉(zhuǎn)換到HSV空間,根據(jù)H、S、V顏色分量的閾值范圍判斷此時交通信號燈的顏色狀態(tài)。最后在RGB空間中將信號燈的顏色進行轉(zhuǎn)換,若此時為紅燈狀態(tài),則將紅燈顏色轉(zhuǎn)換為藍色;若此時為綠燈狀態(tài),則將綠燈顏色轉(zhuǎn)換為藍紫色。為此實現(xiàn)了軟件仿真系統(tǒng),為硬件系統(tǒng)的實現(xiàn)提供支撐。