李寶磊 李清英 秦乾坤 劉云飛 徐恩松 王嘯偉
摘? 要: 不論制冷還是非制冷熱紅外影儀,其成像機(jī)理都會(huì)使圖像中存在大量的噪聲,導(dǎo)致邊緣提取困難,而邊緣檢測(cè)是圖像特征提取的關(guān)鍵技術(shù)?;趥鹘y(tǒng)Canny邊緣檢測(cè)算法提出了一種改進(jìn),利用數(shù)學(xué)形態(tài)學(xué)替代高斯濾波對(duì)具有隨機(jī)噪聲的熱紅外圖像進(jìn)行形態(tài)學(xué)去噪,利用Otsu算法替代雙閾值算法自主選擇閾值,最后進(jìn)行邊緣提取。Matlab仿真結(jié)果表明,與傳統(tǒng)的Canny邊緣檢測(cè)算法相比,該方法不僅有較強(qiáng)的抗噪性,而且還有較強(qiáng)的自適應(yīng)性,較好的保持了圖像細(xì)節(jié)與連續(xù)性。
關(guān)鍵詞: 邊緣檢測(cè); 熱紅外圖像; Canny; 數(shù)學(xué)形態(tài)學(xué); Otsu算法
中圖分類(lèi)號(hào):TP751.1? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ?文章編號(hào):1006-8228(2019)01-63-04
Abstract: Whether refrigerated or uncooled thermal infrared imagery, its imaging mechanism will cause a lot of noise in the image, resulting in the difficulty of edge extraction, while edge detection is the key technology of image feature extraction. Based on the traditional Canny edge detection algorithm, an improved algorithm is proposed, which uses mathematical morphology instead of Gaussian filter to denoise the thermal infrared image with random noise, and uses Otsu algorithm instead of the double threshold algorithm to select the threshold independently, and finally to extract the edge. the simulation results of MATLAB show that compared with the traditional Canny edge detection algorithm, this method not only has strong noise resistance, but also has strong self-adaptability, and better maintains the image details and continuity.
Key words: edge detection; thermal infrared image; Canny; mathematical morphology; Otsu algorithm
0 引言
紅外圖像的邊緣檢測(cè)在特征提取、目標(biāo)識(shí)別等領(lǐng)域有著廣泛的應(yīng)用,目前,針對(duì)紅外圖像的邊緣檢測(cè)方法主要有Sobel算子、Prewitt算子、Krisch算子和Canny算子等一階微分算子以及類(lèi)似LoG算子的二階微分算子[1]。但是,運(yùn)用上述檢測(cè)算子或者檢測(cè)方法在紅外熱波圖像處理時(shí)會(huì)有相應(yīng)缺陷。對(duì)此,大量的科研工作者提出一些改進(jìn)方案,夏清等人[2]針對(duì)邊緣檢測(cè)中的噪聲干擾,提出用形態(tài)學(xué)方法代替高斯濾波以解決濾波尺度無(wú)法自適應(yīng)的問(wèn)題,許宏科[3]引進(jìn)Otsu 算法自適應(yīng)地根據(jù)圖像灰度生成高低閾值,避免了人為設(shè)定高低閾值的難題。本文針對(duì)Canny算法作出一定改進(jìn),運(yùn)用Matlab仿真,取得了一定效果。
1 基本原理概述
1.1 Canny算子邊緣檢測(cè)算法
1.1.1 Canny算子基本原理
Canny邊緣檢測(cè)算子是一個(gè)多級(jí)步驟邊緣檢測(cè)算法,基于以下三個(gè)指標(biāo):低誤判率、高定位精度、抑制虛假邊緣,在此基礎(chǔ)上,Canny提出了一種很有效的邊緣檢測(cè)算法,該算法的實(shí)現(xiàn)主要有四個(gè)步驟:
⑴ 使用高斯濾波器對(duì)原圖像進(jìn)行濾波;
⑵ 對(duì)濾波后的圖像求梯度幅值以及梯度向量;
⑶ 對(duì)梯度圖像進(jìn)行非最大值抑制操作,剔除非最大值的像素點(diǎn);
⑷ 確定高、低閾值并結(jié)合連接分析方法確定圖像最終的邊緣,高、低閾值大小的選擇,對(duì)檢測(cè)得到的邊緣質(zhì)量有著關(guān)鍵性影響[3]。
Canny 算法處理流程如圖1所示。
1.1.2 Canny算子缺陷分析
圖像處理之前都要對(duì)圖像進(jìn)行降噪處理,Canny算法的第一步驟也是最影響其檢測(cè)效果的主要因素,就是高斯濾波器中開(kāi)窗寬度σ和高低閾值的選取。σ越小,頻帶越寬,可以保持較好的細(xì)節(jié)信息,但是不能得到理想的降噪效果,σ越大,頻帶越窄,圖像的降噪效果較好,但是可能會(huì)造成過(guò)度平滑,丟失圖像細(xì)節(jié)信息[4]。σ的人為設(shè)置導(dǎo)致圖像平滑、去噪和細(xì)節(jié)保持之間的矛盾。高斯濾波器對(duì)服從正態(tài)分布的噪聲有很好的抑制效果,但對(duì)紅外圖像特有的1/f噪聲的濾波效果較差。而一般閾值的稍微改動(dòng),就會(huì)引起結(jié)果的極大變化,最終得不到好的效果。
1.2 數(shù)學(xué)形態(tài)學(xué)
數(shù)學(xué)形態(tài)學(xué)誕生于1964年,也被稱(chēng)為圖像代數(shù),一般被用于表示以形態(tài)為基礎(chǔ)對(duì)圖像進(jìn)行分析,其基本思想是具有一定數(shù)學(xué)形態(tài)的結(jié)構(gòu)元素去度量和提取圖像中的對(duì)應(yīng)形狀,以達(dá)到對(duì)圖像分析和識(shí)別的目的[5]。形態(tài)學(xué)的基本運(yùn)算有以下四個(gè):腐蝕(或侵蝕)、膨脹(或擴(kuò)張)、開(kāi)啟和閉合。假設(shè)f(x,y)為灰度圖像,b(m,n)為形態(tài)學(xué)結(jié)構(gòu)元素,灰度形態(tài)學(xué)各運(yùn)算定義如下:
⑴ 膨脹運(yùn)算:
⑵ 腐蝕運(yùn)算:
⑶ 開(kāi)運(yùn)算:
⑷ 閉運(yùn)算:
在上述公式中,f(x, y)為圖像的灰度級(jí),b(m, n)為結(jié)構(gòu)元素。⊕、Θ、○、●分別為運(yùn)算符號(hào)。
1.3 Otsu算法
Otsu算法,即最大類(lèi)間方差法,可以自適應(yīng)地確定閾值。利用圖像的灰度信息,把圖像分類(lèi)成目標(biāo)和背景,目標(biāo)與背景之間的類(lèi)間方差越大,那么分類(lèi)越正確,而當(dāng)目標(biāo)和背景存在一定程度的錯(cuò)分時(shí),相應(yīng)類(lèi)間方差會(huì)變小,所以當(dāng)類(lèi)間方差最大時(shí),目標(biāo)與背景錯(cuò)分的概率就最小[6]。假設(shè)表示總像素值為N的圖像中的L個(gè)不同的灰度級(jí),ni表示灰度級(jí)為i的像素?cái)?shù),則存在以下關(guān)系:
正副圖的灰度值與方差分別為:
對(duì)于一幅圖來(lái)講,μ和σ2為常量,與t無(wú)關(guān)。C0類(lèi)和C1類(lèi)的類(lèi)間方差為:
讓t在[0,L-1]范圍依次取值,即求時(shí)的對(duì)應(yīng)t值,為最佳閾值。越大,說(shuō)明圖像分割的效果越好,即最大化分開(kāi)目標(biāo)與背景。
2 本文的改進(jìn)算法與結(jié)果分析
2.1 本文改進(jìn)的邊緣檢測(cè)算法
本文在Canny算子中剔除高斯濾波對(duì)原始圖像去噪,而是引入形態(tài)學(xué)濾波,對(duì)圖像進(jìn)行開(kāi)啟閉合運(yùn)算,對(duì)圖像進(jìn)行降噪。另采用Otsu算法根據(jù)圖像灰度自動(dòng)生成高低閾值,使算法具有一定的自適應(yīng)性,避免多次試驗(yàn)更改閾值的麻煩。改進(jìn)Canny算法處理流程如圖2所示。
算法具體步驟如下。
⑴ 首先對(duì)含有大量噪聲的熱紅外圖像進(jìn)行形態(tài)學(xué)去噪,利用開(kāi)運(yùn)算能夠消除形狀小于結(jié)構(gòu)元素的目標(biāo)點(diǎn),采用不同尺度、不同結(jié)構(gòu)元素對(duì)圖像依次進(jìn)行形態(tài)學(xué)閉運(yùn)算,連接相鄰物體以及平滑圖像邊緣。本文分別選用3×3的十字形結(jié)構(gòu)元素A1與2×3的矩形結(jié)構(gòu)元素A2,如下所示:
一般來(lái)說(shuō),結(jié)構(gòu)元素尺度過(guò)大,雖然去噪能力增強(qiáng),但是會(huì)去除掉組多細(xì)節(jié);相反尺度較小,保持了圖像邊緣細(xì)節(jié),但是降噪能力太差。但是如果將開(kāi)啟閉合結(jié)合起開(kāi),即先進(jìn)行開(kāi)啟運(yùn)算,再進(jìn)行閉合運(yùn)算,當(dāng)然,為了使效果更好,可以使用不同的結(jié)構(gòu)元素,這樣既能夠去除噪聲,又能夠保持細(xì)節(jié)信息。
⑵ 用一階偏導(dǎo)有限差分計(jì)算梯度的幅值和方向。
關(guān)于圖像灰度值的梯度可使用一階有限差分來(lái)進(jìn)行近似,這樣就可以得圖像在x和y方向上偏導(dǎo)數(shù)的兩個(gè)矩陣。本文放棄傳統(tǒng)的2×2鄰域內(nèi)有限差分來(lái)計(jì)算梯度幅值,使用3×3的卷積模板可以改善環(huán)境影響,卷積模板如下:
其中,Gx檢測(cè)水平邊緣,Gy檢測(cè)垂直邊緣。一階偏導(dǎo)數(shù)矩陣的數(shù)學(xué)表達(dá)式為:
圖像中每個(gè)像素點(diǎn)(x,y)的梯度幅值M(x,y)和梯度方向θ(x,y)為:
⑶ 對(duì)梯度幅值進(jìn)行非極大值抑制。
圖像梯度幅值矩陣中的元素值越大,說(shuō)明圖像中該點(diǎn)的梯度值越大,但這僅僅是屬于圖像增強(qiáng)的過(guò)程,還不能說(shuō)明該點(diǎn)就是邊緣點(diǎn)[4]。在Canny 算法中對(duì)梯度幅值進(jìn)行非極大值抑制,遍歷圖像,若某個(gè)像素的梯度值與其梯度方向上前后兩個(gè)像素的梯度值相比不是最大,那么這個(gè)像素就不是邊緣,設(shè)置非極大值點(diǎn)梯度為0[7]。
⑷ Otsu算法求取閾值。
利用Otsu算法對(duì)非極大值抑制圖像進(jìn)行全局閾值分割,避免人為設(shè)置閾值大小,增強(qiáng)自適應(yīng)能力。分割后劃分為二值圖像,圖像中邊緣閉合,最后得到邊緣圖像。步驟如圖3所示:
2.2 實(shí)驗(yàn)與結(jié)果分析
本文采用的是ThermPulse-S12分體式熱波成像無(wú)損檢測(cè)系統(tǒng),此系統(tǒng)搭配非制冷焦平面紅外熱像儀,熱像儀分辨率為384(H)×288(V),熱激勵(lì)源為最高能量12000焦耳的閃光燈。利用此設(shè)備檢測(cè)的是一塊ABS塑料板,其背面有多個(gè)深度,半徑不同的孔,用于對(duì)比檢測(cè)效果。同時(shí)為使本文算法仿真效果明顯,對(duì)成像增加2%椒鹽噪聲,熱紅外原始圖像,三維圖像及添加噪聲后圖像如圖4~圖6所示。
熱紅外圖像本身存在大量的噪聲,從圖7中可以看到,普通的邊緣檢測(cè)算法會(huì)呈現(xiàn)出大量的噪聲或者無(wú)法檢測(cè)出邊緣特征,對(duì)于ABS塑料板中的較淺半徑較小的孔洞的缺陷無(wú)法檢測(cè),缺陷特征全程被已加的椒鹽噪聲覆蓋,并沒(méi)有被很好的去除。圖8中,替代高斯濾波的形態(tài)學(xué)去噪算法,通過(guò)開(kāi)啟閉合操作后,不僅可以去除掉絕大部分噪聲,而且可以很好的保留邊緣信息為后續(xù)步驟提供好的檢測(cè)基礎(chǔ)。后期的檢測(cè)結(jié)果也令人滿(mǎn)意,樣件的缺陷也大多呈現(xiàn)出來(lái),改進(jìn)的算法檢測(cè)結(jié)果優(yōu)于傳統(tǒng)算法的結(jié)果。
3 結(jié)論
本文針對(duì)傳統(tǒng) Canny 邊緣檢測(cè)算法存在的缺陷,通過(guò)引入數(shù)字形態(tài)學(xué)以及Otsu最大類(lèi)間方差法,取得了良好的邊緣檢測(cè)效果。實(shí)驗(yàn)表明,改進(jìn)算法可以在去除噪聲的同時(shí),自主選擇閾值,保留了更多的邊緣細(xì)節(jié),有著較好的抗噪性,自適應(yīng)性,使邊緣特征更具連續(xù)性。
參考文獻(xiàn)(References):
[1] 葉德周,楊風(fēng)健,貌程浩等.基于Canny算子的紅外圖像邊緣檢測(cè)算法[J].激光與紅外,2015.45(9):1129-1132
[2] 夏清,胡振琪,位蓓蕾等.一種新的紅外熱像儀圖像邊緣檢測(cè)方法[J].紅外與激光工程,2014.43(1):318-322
[3] 許宏科,秦嚴(yán)嚴(yán),陳會(huì)茹.一種基于改進(jìn)Canny的邊緣檢測(cè)算法[J].紅外技術(shù),2014.36(3):210-214
[4] 郭慧鑫,牛竹云,郭會(huì)兵等.一種基于Canny算子的紅外圖像邊緣檢測(cè)算法[J].火力與指揮控制,2014.s1:95-97
[5] 陳愛(ài)軍.數(shù)學(xué)形態(tài)學(xué)及其在圖像分析中的應(yīng)用[J].紅外與激光工程,2006.35:465-468
[6] 王雪嬌,陳攀.基于FPGA的自適應(yīng)閾值邊緣提取的Canny算法的實(shí)現(xiàn)[J].電子世界,2014.11:105-106
[7] 周同,鄒麗新,尤金正等.基于改進(jìn)Canny邊緣檢測(cè)算子的電子穩(wěn)像算法研究[J].計(jì)算機(jī)應(yīng)用研究,2010.27(2):506-508