姚娜 ,楊波 ,李桐 ,郭濱 ,馬海濤
(1.長春理工大學 電子信息工程學院,長春 130022;2.吉林大學 通信工程學院,長春 130012;3.長春國科醫工科技發展有限公司,長春 130102)
在當今時代,健康已經是人們最為關注的話題之一,而血型檢測作為最基本的醫療輔助工作,也獲得越來越多的關注。但是在發展中國家的農村地區,那里根本沒有實驗室和訓練有素的技術人員。雖然有來自密克羅尼西亞、埃爾登生物制劑等公司的應用護理點的解決方案,但對于發展中國家的大規模使用來說,這些方案的價格高得讓人望而卻步(每次測試10~20美元不等)[1]。所以,便攜式血型檢測裝置的出現是必然的,但是便攜式的血液檢測裝置也會面對很多技術問題,其中在沒有專業的醫療條件情況下獲取到的數字圖像背景光不均勻就是其中一個,如若不能很好的解決背景光的問題,那么就會影響邊緣檢測進而影響血型判讀結果。
針對圖像背景不均勻的問題,很多學者提出了解決辦法,其中同態濾波是常用的方法之一。但是同態濾波增強是從整體的角度對圖像進行光照不均修正,雖然可以在不丟失信息的情況下去除背景影響,卻沒有充分考慮圖像的空間局部特性,這樣就會出現在增強一部分時,其余部分出現過增強的現象。2013年,張亞飛、謝明鴻[2]提出局部同態濾波算法,即對圖像的各個子圖像分別進行同態濾波,然后對局部同態濾波產生的塊效應采用相鄰子圖像邊界平均的方法進行去除。但是,實現復雜且塊效應去除不明顯,很容易產生新的邊緣。2018年,李開偉、張立亭等人[3]基于同態濾波原理,設計新的濾波函數從而達到細節增強,影像清晰的目的。但是其對新濾波函數的構造較復雜,且之后對高頻和低頻分量的處理效果不夠明顯。當然也有從邊緣檢測算法方面做優化的,例如2015年,秦雪、王歡等人[4]提出基于圖像邊緣檢測的圖像識別算法用來改善得到的邊緣信息,但是在光源影響較大時還是會出現檢測結果亮度不均勻的現象。針對以上問題,本文提出在進行同態濾波后使用數學形態學中的高低帽變換來減少部分像素過增強的影響。
同態濾波(Homomorphic filter)是信號與圖像處理中的一種常用技術,它采用了一種線性濾波在不同域中的非線性映射,也是一種在頻域中進行的圖像對比度增強和壓縮圖像亮度范圍的特殊方法。同態濾波器不但能夠減少低頻并且增加高頻,還能減少光照變化并銳化邊緣細節。圖像的同態濾波技術的依據是圖像獲取過程中的照明反射成像原理,如圖1所示。

圖1 圖像獲取原理圖
其中,L(x,y)表示入射光源產生的亮度圖像;R(x,y)代表物體本身產生的反射圖像;S(x,y)是觀察到的圖像。根據蘭德提出的理論,對于給定圖像S(x,y)中的每個點都可以用公式表示為:

一般來說,亮度圖像L(x,y)變化緩慢,主要是低頻成分,反射圖像R(x,y)反應物體細節,體現為高頻成分。當想要去除背景光不均勻時也就是在給定圖像S(x,y)中分離亮度圖像L(x,y)和反射圖像R(x,y),并分別采取壓縮低頻、提升高頻的方法,就可以達到減弱照度分量、增強反射分量從而使圖像清晰的目的。由于亮度圖像相當于乘性噪聲,直接運算不方便,所以先對待增強圖像取對數,然后進行傅立葉變換,在頻域中利用同態濾波器H(u,v)進行濾波,最后通過逆傅立葉變換及指數變換得到增強后的圖像,過程如圖2所示。其中G(x,y)是同態濾波后圖像。在同態濾波中,濾波效果的好壞取決于濾波函數H(u,v),為了壓制低頻的亮度分量,增強高頻的反射分量,濾波器H(u,v)應是一個高通濾波器,但又不能完全清除低頻分量,僅作適當壓制。因此,同態濾波器一般采用如下形式,即:

式中,γL<1和γH>1控制濾波器幅度的范圍;Hhp(u,v)通常為高通濾波器,如高斯高通濾波器、巴特沃茲高通濾波器、Laplacian濾波器等。由于高斯函數的傅立葉變換仍是高斯函數,所以此次同態濾波使用高斯高通濾波器。

圖2 同態濾波過程
由于同態濾波是全局性濾波,所以就會在對一部分進行濾波增強時,另一部分過增強。為避免出現上述現象,本文提出使用數學形態學中的高低帽變換來去除過增強的影響。
1.2.1 圖像膨脹、腐蝕
膨脹和腐蝕這兩種操作是形態學處理的基礎,許多形態學算法都是以這兩種運算為基礎的[5]。在灰度形態學方法中,膨脹是一種對圖像的擴張變換。通過膨脹變換,對圖像的外部進行濾波處理,可以填充圖像中的小孔及在圖像邊緣處的小凹陷部分,并使整幅圖像的灰度值提高[6]。腐蝕算法是一種收縮變換,對圖像內部做濾波處理,可以消除小且無意義的物體,通過腐蝕變換能降低整幅圖像的灰度值[7]。
設f(s,t)是輸入圖像,b(x,y)是結構元素,其中Df和Db分別是f和b的定義域,用b對f進行灰度膨脹,表示為f⊕b,膨脹后的灰度圖像像素為:

式中,(s-x)和(t-y)必須在f的定義域內以及x和y必須在b的定義域內。
用b對f進行灰度腐蝕,表示為f-b,并定義腐蝕后的灰度圖像素值為:

式中,(s+x)和(t+y)必須在f的定義域內以及x和y必須在b的定義域內。
1.2.2 高、低帽變換
對圖像先進行腐蝕操作,再進行膨脹操作,即圖像的開運算。結構元素b對f的開運算記為f°b,定義為f°b=(f-b)⊕b。開運算能夠除去孤立的小點、毛刺和小橋,而總的位置和形狀不變。并且開運算是一個基于幾何運算的濾波器,結構元素大小的不同將導致濾波效果的不同,而不同的結構元素也會導致不同的分割,即提取出不同的特征[8]。
對圖像先進行膨脹操作,再進行腐蝕操作,即圖像的閉運算。結構元素b對f的閉運算記為f·b,定義為f?b=(f⊕b)-b。閉運算能夠填平小孔,彌合小裂縫,而總的位置和形狀不變。并且閉運算是通過填充圖像的凹角來濾波圖像的,結構元素大小的不同將導致濾波效果的不同,而不同結構元素同樣會導致不同的分割。
從原圖像中減去開運算的圖像稱為頂帽變換,也稱為高帽變換。設g(x,y)為輸出圖像,頂帽變換即為g=f-(f°b),高帽變換可以求出圖像中的峰值。用閉運算的圖像減去原圖像稱為底帽變換,也稱為低帽變換。若h(x,y)為輸出圖像,頂帽變換即為h=(f?b)-f,而低帽變換可以求出圖像中的谷值。這兩個變換都是用一個結構元素通過開操作或閉操作從一副圖像中刪除物體,而不是擬合被刪除的物體[9]。然后,差操作得到一副僅保留已刪除分量的圖像。所以經過高低帽變換可以對原圖像進行增強,使邊界更加鮮明。高帽變換用于暗背景上的亮物體,而低帽變換則用于亮背景上的暗物體[10]。由于這一原因,當談到這兩個變換時,常常分別稱為白頂帽變換和黑底帽變換。由于本實驗獲得的原灰度圖像是亮背景、暗物體,而低帽變換的結果是暗背景、亮物體,高帽變換得到的結果是暗物體、亮背景。所以,為得到和原灰度圖像相同的處理效果,本實驗采用在原圖的基礎上疊加頂帽變換后減去低帽變換后的圖像(若z(x,y)為輸出圖像,即z=(f+h)-g)的辦法來去除過增強的影響。
由于本次的實驗目的是得到血型判讀結果,所以得到正確的邊緣信息是必要的。本實驗使用微流卡作為血液樣本載體,其檢測血型原理和其他試管或者試紙檢測原理相同。其中數字圖像結果是通過普通的智能手機拍照獲得的,如圖3所示。其血型結果判讀過程如圖4所示。

圖3 原圖

圖4 圖像處理過程流程圖
根據上述處理過程得到待檢測血液樣本有哪幾種(抗A、抗B和抗D)發生凝集反應,在圖像上表現為邊緣是否連續,進而判斷出對應的血型。由于Canny算子屬于先平滑后求導數的方法,且根據對信噪比與定位乘積進行測度,相對其他檢測方法可以得到最優化逼近算子,所以本次邊緣檢測使用Canny算子。為驗證高低帽變換確實去除了過增強的影響,本次實驗在MATLAB仿真實驗平臺上進行。實驗過程:首先對獲得的數字圖像灰度化,然后在相同的條件下進行同態濾波和同態濾波后進行數學形態學高低帽變換的圖像進行對比,進而得出結論。
首先對得到的數字圖像進行灰度化,結果如圖5所示。從圖6原圖的二值化圖像中可見,如果此時對其進行邊緣檢測是得不到完整的邊緣信息的,所以此時采用同態濾波的方法進行背景消除,圖7是同態濾波后的灰度圖像,圖8是同態濾波后的二值圖像。此時,同態濾波后二值化的閾值為187,此時無論增加或減小閾值的值都不會得到更好的二值化效果,即閾值可選范圍較小,不利于得到準確的二值圖像,也就是說同態濾波后很難得到較好的二值化圖像。其次,從邊緣檢測的結果(圖9)中可以看出,同態濾波確實使右下角光線較暗的部分得到了改善,也能檢測出邊緣,即右下角亮度相對較暗的部分確實可以檢測出來,但是卻出現了其他部分的過增強現象,丟失部分信息。并且,對能夠去除背景影響的部分的邊緣也沒能得到正確的邊緣檢測效果,這個時候是沒有辦法區分是否有凝集反應的,進而無法進行血型判讀。在此基礎上本文提出使用高低帽變換的方法來改善過增強的影響。

圖5 原圖的灰度圖

圖6 原圖的二值化圖像

圖7 同態濾波后的灰度圖像

圖8 同態濾波后的二值圖像

圖9 同態濾波后的邊緣檢測圖像
針對同態濾波后出現的過增強現象,提出使用數學形態學中的高低帽變換進行改善。圖10是使用本文方法后的灰度圖像,圖11和圖12分別是對應的二值圖像和邊緣檢測圖像。對比圖10和圖7,從圖像增強的角度可以看到高低帽變換使同態濾波后的灰度對比度增強,使得邊緣信息更加明顯,也使得二值化時可選的閾值范圍增大,進而可以得到較完整的二值化圖像,如圖11所示。同時從圖12中可以看出圖像經過高低帽變換后確實可以保證在去除背景影響的同時也使得過增強的部分得到改善,即可以得到較完整且相對準確的邊緣檢測效果。因為只有保證檢測邊緣的完整性,才能正確識別是否有凝集反應為得到準確的判讀結果提供技術支持。

圖10 本文算法后的灰度圖像

圖11 本文算法后的二值圖像

圖12 本文算法后的邊緣檢測圖像
本文采用灰度直方圖和三維立體圖兩種方式進行數據對比。
灰度直方圖是灰度值的統計圖形,以圖形的方式反映圖像灰度分布情況,灰度直方圖分為兩個類型。一是標準灰度直方圖,表示像素個數和灰度值大小的關系;二是歸一化的直方圖,表示同一灰度值大小的像素所占百分比和灰度值的關系。由于本文不討論占比,所以使用標準直方圖做對比說明,圖13是同態濾波后的灰度直方圖,圖14是本文算法后的灰度直方圖,比較二者可以看出,經過高低帽變換后使得150以下的灰度像素點增多,200到255之間像素點相對減少,也就是說高低帽變換使過增強的部分得到了改善。相對于只用同態濾波進行背景影響消除,本文方法解決了同態濾波過增強的問題,得到了更好的圖像邊緣,為之后的血型判讀工作中圖像識別等工作提供技術基礎。

圖13 同態濾波后的灰度直方圖

圖14 本文算法后的灰度直方圖

圖15 同態濾波后的三維立體圖

圖16 本文算法后的三維立體圖
由于直方圖只是顯示灰度值的總數,不夠具體。所以本文又使用三維立體圖來進行對比說明,它既顯示了整幅圖片的灰度值,又顯示了詳細的位置信息。圖15和圖16分別是同態濾波后和本文算法后的三維立體圖。首先,從圖中可以更明顯的看出經高低帽變換后圖像對比度明顯增強,即拉伸了灰度圖像使灰度值使150以下的像素點增多。其次,從提供的位置信息上可以看出,不僅同態濾波后過增強的部分的灰度值對比明顯變大,整幅圖像的背景亮度也都基于一個平面,也就是說去處理背景影響的同時很好的降低了過增強的影響,也就使得有用信息和背景充分區別開來,為二值化圖像提供較大閾值空間,進而得到更準確的邊緣信息。另外,從提高血型判讀準確率的角度來講,經高低帽變換后圖像較只通過同態濾波的圖像更能提供精準的邊緣信息,也就是說提高了圖像識別的準確率。
綜上所述,由于對圖像的處理部分在血型判讀系統中起著對判讀結果的關鍵作用,所以對圖像邊緣的準確獲取是必不可少的一個環節。經實驗表明,對同態濾波后的圖像進行高低帽變換可以在去除背景影響的同時防止出現過增強現象,進而得到完整且準確的邊緣檢測效果,為后期圖像識別的工作提供準確的數據,提高血型判讀的準確率。
隨著人們健康意識的逐漸增強,血型檢測的重要性也越來越被大家關注,所以基于圖像處理的便攜式血型檢測方法也被大家逐漸地接受,可是便攜式血型檢測器件在獲取數字圖像的時候,光源等干擾因素會使得背景亮度不均勻進而得不到理想的邊緣檢測效果,從而影響檢測結果。去除背景影響常用的方法之一就是同態濾波,但是由于同態濾波是全局性濾波方法,就會使一部分圖像得到濾波,另一部分出現過增強的現象。所以本文針對在同態濾波時出現的過增強現象提出使用數學形態學中的高低帽變換的方法來改善。經實驗表明:在相同濾波條件下提出的辦法能獲得較好的二值圖像和邊緣檢測圖像,即能在很大程度上去除背景影響的同時改善過增強的影響,達到實驗目的,為之后的血型判讀中的圖像識別等其他過程提供技術基礎。