王玉璽 陳健美
(江蘇大學計算機科學與通信工程學院 鎮江 212013)
虹膜邊緣檢測是虹膜區域分割的關鍵環節,而虹膜區域分割又是虹膜識別中的重要步驟,虹膜識別過程首先必須將虹膜區域從人眼圖像中分割出來,而虹膜區域就是瞳孔和鞏膜之間的類似圓環區域,虹膜邊緣檢測實際上就是根據虹膜區域與周圍區域的灰度差異來確定虹膜的內外邊界。虹膜區域邊緣檢測的精度會影響虹膜分割的準確性,進而影響虹膜識別的準確率[1~2]。
邊緣是不同物體之間或者同一物體不同區域之間的分界線,邊緣對應于圖像的灰度變化或者灰度較高或者較低的區域,是細節信息,為了獲得邊緣位置,需要采用邊緣檢測方法增強圖像邊緣,以便將感興趣區域分割出來。傳統的邊緣檢測算子有Sobel,Prewitt,Roberts,Laplacian 和Kirsch 等[3~4]。這些邊緣檢測算子根據灰度圖中相鄰區域之間灰度值的變化,采用差分近似微分數學方法進行邊緣檢測。這些算子結構簡單,邊緣檢測速度較快,但容易受到噪聲的影響,抗噪聲能力較弱[5~6],若在虹膜邊緣檢測中應用這些算子,將會出現干擾邊緣,邊緣不連續或者虹膜圖像細節丟失等缺點,邊緣檢測效果不理想。
Canny J F 在1986 年提出了邊緣性能評估的三準則,并在其基礎上設計了Canny 算子。Canny 算子是目前為止在圖像領域中最有效的邊緣檢測方法之一,該算子對圖像進行濾波和梯度運算之外的邊緣細化和連接處理,邊緣定位精度高,但自適應性和靈活性相對較差[7~8]。近些年來許多學者對傳統Canny 算子的缺點進行了改進。文獻[9]Hao G等提出在獲取圖像的梯度圖像時,用3×3 模板代替傳統的2×2 模板,梯度圖像的質量得到提升。文獻[10]趙巖等用半像素插值方法將已改進的3×3 模板擴展為5×5 模板,并利用歸一化自相關最大值的方法判斷邊緣方向,緩解了在檢測邊緣過程中出現假邊緣的現象。文獻[11]M.Nikolic 等根據醫學超聲圖像的特征,提出用中值濾波器代替傳統Canny算子中的高斯濾波器,被證明在內臟器官邊緣檢測上是成功的。文獻[12]李健等將Canny 算子中的高斯濾波器改為均值濾波器,在核磁共振圖像邊緣檢測中取得了較好的結果。文獻[13]L.Yuan 等提出根據局部圖像像素值變化的程度自適應地改變高斯濾波器中的空間尺度系數σ。文獻[14]石桂名等用Canny 算子檢測遙感圖像時,用Ostu 方法自適應地指定閾值,檢測到的邊緣更連續,并且可以減少假邊緣。文獻[15]Chikmurge D 等用Canny 算子檢測醫學數字圖像的邊緣時,引入Ostu方法自適應確定閾值。
本文針對虹膜圖像的多樣性、復雜性以及注重邊緣細節等特點,在分析和研究傳統Canny 算子以及各種改進算法的基礎上,首先采用中值濾波對虹膜圖像進行預處理,消除明顯的光斑和睫毛等椒鹽顆粒噪聲。其次,根據虹膜圖像的噪聲分布情況,進行自適應地高斯平滑濾波。然后根據虹膜圖像的幾何結構特征,引入四個方向的Sobel 算子得到虹膜的梯度圖像圖,最后根據Ostu方法自適應地確定圖像的分割閾值。實驗結果表明,本文算法針對虹膜圖像邊緣的檢測取得了較好的檢測效果。
Canny 算子在邊緣檢測中基于以下的最優準則:
1)低失誤概率,既要少將真正的邊緣丟失也要少將非邊緣判為邊緣;2)高位置精度,檢測出的邊緣應在真正的邊界上;3)對每個邊緣有唯一的響應,得到的邊界為單像素寬[16~17]。
Canny 邊緣檢測器是一種多級算法,用于識別圖像中的各種邊緣。它的性能非常好,因此它也被稱為最佳邊緣檢測器。
1)高斯濾波平滑圖像。
傳統Canny 算子使用高斯濾波器減輕噪聲影響,通過與圖像進行卷積處理,濾除圖像中的噪聲,對圖像進行平滑處理。
2)計算圖像的梯度幅值和方向。
傳統Canny 算子在獲取梯度圖像時,采用2×2大小的模板計算灰度圖像的梯度幅值和梯度方向。其中,點(i,j)處的灰度值為I(i,j),則水平和垂直兩個方向上的梯度值為

此時,點( i,j )處的梯度幅值為G( i,j ),梯度方向θ(i,j)分別為

3)對梯度幅值進行非極大值抑制操作。對梯度幅度圖G( )i,j 中的小鄰域,使用3×3 大小的模板窗口,并在其中比較中心像素與其梯度方向上的相鄰像素。如果中心像素值不大于沿梯度方向的相鄰像素值,就將其置為零。否則,這就是一個局部最大,將其保留下來。
4)雙閾值方法檢測和連接邊緣。
對經過非極大值抑制處理后的圖像用高閾值Th和低閾值Tl進行雙閾值提取處理,消除虛假邊緣并連接斷續邊緣。如果經過非極大值抑制后的邊緣點梯度值大于高閾值則被當作邊緣點保留;梯度值小于低閾值的點則刪除;梯度值介于兩閾值之間且與邊緣點相鄰的點要判斷其8 鄰域內是否存在大于高閾值的邊緣像素,存在則保留為邊緣點,否則刪除。
1)傳統Canny 算子在對圖像進行平滑濾波時采用高斯濾波器,高斯濾波器中的平滑參數和模板窗口大小需要人工預先設定,然而在實際應用中找到適合的高斯濾波器參數是一件很困難的工作,所以在圖像邊緣檢測中自適應較差,具有很大的局限性[18]。
2)傳統Canny算子采用2×2大小的模板計算圖像的梯度幅值,使得對噪聲比較敏感。并且該模板只能計算水平和垂直方向的梯度,在檢測虹膜圖像邊緣時,容易檢測出很多虛假邊緣和丟失重要的虹膜邊緣信息,從而降低邊緣的定位精度[19]。
3)傳統Canny 算子在用雙閾值方法檢測和連接邊緣時,其中高、低閾值的設置,不能根據圖像自身的特點來確定,需要根據經驗人為預先設定,而且閾值設置不合理將導致虛假邊緣的出現和邊緣細節信息丟失等現象,無法避免人為因素對圖像分割造成的干擾[20]。
虹膜圖像存在著孤立噪聲、連續噪聲等特點,其中孤立噪聲是由于成像傳感器、相片顆粒、光照不均衡、圖像傳輸過程中的誤差等因素產生,連續噪聲由于睫毛等因素造成。因此本文在高斯平滑處理之前加入一步,采用中值濾波,對虹膜圖像中明顯的光斑和睫毛等其它椒鹽顆粒噪聲進行處理。

高斯濾波器中的空間尺度系數σ,決定著平滑程度。σ取值較大,權重矩陣中心系數較小,其周圍權重系數與中心系數的比值趨近于1,類似均值模板,平滑效果明顯。相反,σ取值較小,權重矩陣中心系數較大,其周圍權重系數與中心系數的比值遠小于1,圖像平滑效果不是很明顯。根據研究對象虹膜圖像的特點,由于虹膜邊緣點信息占整張圖像的比例較小,經中值濾波后圖像灰度值的分布情況,可近似作為噪聲灰度值的分布情況。若圖像灰度值分布離散程度較高,加強對圖像的平滑效果。相反,若圖像灰度值的離散程度較低,減弱對圖像的平滑效果。
這里用包含標準差的四階矩來統計虹膜圖片灰度值分布情況,根據分布情況確定空間尺度系數σ 的取值。公式如下:

其中σ 代表高斯濾波器中空間尺度系數的取值,X代表虹膜圖像中每個像素點的灰度值,μ 代表該張圖片所有像素點灰度值的均值,σ1代表該張圖片所有像素點灰度值的標準差。
高斯濾波器中的模板窗口大小M ,可以根據一維的正態分布3σ 原則取值,由于正態分布在(μ-3σ,μ+3σ)范圍內的數據占99.7%,一般3σ 之外的數值已接近于0。由此推廣到二維中,高斯核的模板窗口大小可以取半徑為3σ ,通常取最近的奇數,即模板窗口大小M=6σ+1。
在對虹膜圖像進行高斯平滑濾波時,若模板窗口過大,易造成圖像平滑過度和計算量大等影響,本文根據虹膜圖像的特征,模板窗口具體的取值如下:

其中,σ 代表高斯濾波器的空間尺度系數,floor 代表向下取整操作,cell代表向上取整操作。
根據虹膜圖像的特征,虹膜內外邊界可看作圓,所以虹膜邊界具有不同方向的梯度變化,為了有效檢測虹膜邊界,這里選擇3×3 大小的模板,結合Sobel算子,計算四個方向的梯度變化,增加兩個對角線方向。

并將這四個方向梯度加權獲得整個圖像的梯度圖像。公式如下:

其中h( x,y )為水平方向的邊緣,v( x,y )為垂直方向的邊緣,d1( x,y )為135°方向的邊緣,d2( x,y )為45°方向的邊緣。 X( x,y )為水平方向上的梯度,Y( x,y )為垂直方向的梯度,α 和β 為梯度加權系數。
在傳統Canny 算子中高、低閾值需要預先人工設定,不能很好地結合圖像自身的特征進行自適應的確定。針對這個缺陷,本文采用最大類間方差法即Ostu算法,它可以自動根據圖像灰度特征獲取最佳分割閾值。將它應用于經非最大值抑制處理后的虹膜梯度圖像中確定圖像的次要閾值。將主要閾值調整為次要閾值的1.6 倍。使用兩個閾值時,將抑制指定的邊緣或將邊緣標識為突出邊緣。如果像素的梯度值大于次要閾值并且小于主要閾值,則邊緣被認為是弱邊緣。如果像素的梯度值大于主要閾值,則該邊緣是突出邊緣。如果像素梯度值小于次要閾值,則抑制或移除該邊緣。
為了驗證本文改進Canny 算法的有效性和優越 性,在Windows 10,64 位,CPU 為Core(TM)i7-8700,內存為8G 的計算機上運用Matlab R2018a進行仿真實驗。隨機選取中科院CASIA 虹膜標準數據集和馬來西亞多媒體大學MMU虹膜數據集各一幅圖片。采用傳統邊緣檢測算子(Sobel,Canny)和本文改進的Canny 算法在虹膜邊緣檢測效果上進行對比分析。
1)中科院CASIA虹膜數據庫樣本

圖1 CASIA原始圖

圖2 Sobel算子

圖3 傳統Canny算子

圖4 改進的Canny算法

圖5 MMU原始圖

圖6 Sobel算子

圖7 傳統Canny算子
2)馬來西亞多媒體大學MMU虹膜數據庫樣本

圖8 改進的Canny算法
圖2和圖6所示是Sobel算子邊緣檢測的結果,從檢測的效果圖中可以看出,該算子在檢測虹膜圖像邊緣時,虹膜外邊界信息嚴重丟失,并且包含噪聲較多,因此Sobel 算子不適合應用虹膜圖像的邊緣檢測。圖3 和圖7 所示是傳統Canny 算子邊緣檢測的結果,其中傳統Canny 算子中的空間尺度系數σ人工選取1.0,高低閾值分別取0.13 和0.08,從檢測的效果圖中可以看出,該算子只是檢測出了虹膜的主要輪廓信息,丟失了部分邊緣細節信息,并且較多的無用邊緣信息也被包含。圖4和圖8所示是本文改進Canny 算子邊緣檢測的結果,先對原圖進行中值濾波。根據前述提出的改進方法,CASIA 虹膜樣本和MMU虹膜樣本的空間尺度系數計算值為3.7686 和2。模板窗口大小計算值為19*19 和13*13。經實驗驗證,當梯度加權系數α 和β 分別取值為1.0 和0.9 時,能較好地獲取虹膜圖像的梯度圖像。CASIA 數據庫虹膜樣本高低閾值為0.0824 和0.1318。MMU 數據庫虹膜樣本高低閾值分別為0.0745 和0.1192。從檢測效果圖看,本文中提出的改進的Canny 算法與傳統Canny 算子相比,能更有效地降低噪聲的影響,不僅能準確地檢測到邊緣,而且檢測到的邊緣輪廓明顯、清晰,連續性好,在準確檢測到圖像邊緣的同時又很好地抑制了虛假邊緣,有利于對虹膜圖像進一步地進行分析及處理,從而體現了本文改進后Canny算法的優勢。
首先根據虹膜圖像存在孤立噪聲和連續噪聲的特點,采用中值濾波對虹膜圖像進行預處理。然后,針對傳統Canny 算子中自適應能力差,圖像梯度信息提取不全面等問題,在分析和結合虹膜圖像特征的基礎上,提出了基于自適應Canny 算子和多方向Sobel算子的虹膜邊緣檢測方法。實驗結果表明,提出的改進算法,在檢測虹膜邊緣信息時,對噪聲起到一定的抑制作用。不僅能準確地檢測到虹膜邊緣信息,而且檢測到的虹膜內外邊緣輪廓有著清晰、明顯和連續性好等優點,在準確檢測到圖像邊緣的同時又很好地抑制了虛假邊緣,有利于對虹膜圖像進一步地分析及處理,在虹膜識別應用領域具有較高的實用價值。但是,由于本文只是將虹膜圖像作為研究對象,如何將本文提出的算法合理地應用到其他領域還有待研究