孫延鵬,常占友,陳新禹,王 鵬
(1.沈陽航空航天大學(xué),沈陽 110136;2.中國航發(fā)四川燃?xì)鉁u輪研究院,成都 610500)
在光學(xué)測(cè)量中,能夠穩(wěn)定、高精度地提取尾噴口的噴口邊界、可調(diào)鱗片等特征邊緣,可以減少數(shù)據(jù)的復(fù)雜度以及保留重要細(xì)節(jié),這對(duì)于提高標(biāo)定精度和測(cè)量精度具有非常重要的意義。但在尾噴口特征邊緣提取過程中,存在以下幾個(gè)難點(diǎn):第一,發(fā)動(dòng)機(jī)尾噴口測(cè)量是軍工科研的重要部分[1],基于保密等原因,世界各國都不公開相關(guān)研究成果和資料,可利用的尾噴口測(cè)試圖像很少;第二,圖像易受到光照不均勻、環(huán)境光干擾等問題的影響,使得圖像存在灰度信息丟失、部分信息被遮擋、圖像亮斑等問題,對(duì)發(fā)動(dòng)機(jī)尾噴口圖像邊緣檢測(cè)造成影響;第三,尾噴口特征對(duì)象的噴口邊界、可調(diào)鱗片等特征細(xì)節(jié)較多,容易受到噪聲的干擾。為此,非常有必要對(duì)發(fā)動(dòng)機(jī)尾噴口圖像的邊緣進(jìn)行檢測(cè)。
傳統(tǒng)邊緣檢測(cè)算子有Sobel、Roberts、Canny、LOG 等,但這些算子存在對(duì)噪聲敏感、邊緣不連續(xù)等現(xiàn)象[2]。相比較而言,Canny算子具有良好的信噪比和檢測(cè)精度而被廣泛應(yīng)用。但Canny算子存在高斯不加區(qū)分的模糊圖像,閾值選擇具有不適應(yīng)性,為此眾多學(xué)者對(duì)Canny 算子進(jìn)行了改進(jìn)。Bustacara-Medina 等[3]提出了對(duì)傳統(tǒng)Canny 算子的優(yōu)化,在非最大抑制步驟(NMS)中添加曲率信息以獲得準(zhǔn)確的邊緣。張洪等[4]針對(duì)密封圈尺寸規(guī)格繁多、微弱毛刺較難檢測(cè)的特點(diǎn),提出一種改進(jìn)的Canny 邊緣檢測(cè)來提高輪廓檢測(cè)定位精度。任貴粉等[5]利用剪切波與Canny 算子相結(jié)合的改進(jìn)新算法,對(duì)紅外故障圖像進(jìn)行邊緣提取,消除了傳統(tǒng)Canny 算子在檢測(cè)時(shí)出現(xiàn)的偽邊緣現(xiàn)象。Bugarinovi?等[6]通過消除Canny算子處理的數(shù)據(jù)中不必要的邊緣像素來加快過程,以使這些數(shù)據(jù)通過檢測(cè)算法,有效地提高了計(jì)算效率。Xu 等[7]經(jīng)過Canny 算子處理后,使用形態(tài)學(xué)開口對(duì)二值圖像進(jìn)行腐蝕和擴(kuò)張,并去除多余的邊緣信息獲得了完整的圖像。Lin等[8]提出了一種使用改進(jìn)的最小生成樹算法和改進(jìn)的Canny算子邊緣檢測(cè)器的算法,來分割包含大量噪聲的圖像。
為了穩(wěn)定、高精度地提取尾噴口可調(diào)部件的邊緣,以提高標(biāo)定精度和測(cè)量精度,本文提出了一種改進(jìn)Canny 算子的發(fā)動(dòng)機(jī)尾噴口圖像邊緣檢測(cè)算法。該方法對(duì)傳統(tǒng)Canny算子邊緣檢測(cè)中高斯濾波不加區(qū)分的模糊進(jìn)行改進(jìn),在保留圖像邊緣的同時(shí)還可對(duì)噪聲進(jìn)行模糊;對(duì)傳統(tǒng)需要人為設(shè)定Canny 算子閾值進(jìn)行改進(jìn),通過Otsu(最大類間方差法)自適應(yīng)閾值算法獲取圖像低閾值,采用迭代最優(yōu)算法求取圖像高閾值;對(duì)圖像采用八方向的Sobel算子進(jìn)行圖像增強(qiáng),以提高圖像的可視性。
圖像的邊緣檢測(cè)一般包括濾波、增強(qiáng)、檢測(cè)和定位4 個(gè)步驟,其設(shè)計(jì)流程見圖1。Canny 算子也遵循這一流程。對(duì)Canny算子進(jìn)行評(píng)估應(yīng)把握三個(gè)基本準(zhǔn)則,即信噪比準(zhǔn)則、定位精度準(zhǔn)則和單邊緣響應(yīng)準(zhǔn)則[9]。
圖1 圖像一般邊緣檢測(cè)設(shè)計(jì)流程圖Fig.1 The flow chart of general image edge detection design
(1) 信噪比準(zhǔn)則。圖像的信噪比越高代表平滑處理效果越好,表達(dá)式為:
式中:f(x)為邊界[-ω,+ω]的濾波器脈沖響應(yīng),G(-x)為圖像邊緣函數(shù),n0為高斯噪聲的均方根。
(2) 定位精度準(zhǔn)則。定位精度用Lo cal ization表示,其值越大表示定位精度越高,表達(dá)式為:
式中:G′(-x)和f′(x)分別為G(-x)、f(x)的一階導(dǎo)數(shù)。
(3) 單邊緣響應(yīng)準(zhǔn)則。單邊緣只有一個(gè)響應(yīng),表達(dá)式為:
Canny算子是一個(gè)多步驟的處理過程,具體為:
(1) 圖像平滑,使用高斯平滑濾波器對(duì)圖像進(jìn)行處理。高斯平滑函數(shù)選擇為:
(2) 確定邊緣點(diǎn),計(jì)算平滑后圖像在x、y方向的梯度值Gx和Gy。梯度方向角可表示為:
梯度幅度值表示為:
(3) 對(duì)梯度幅度值進(jìn)行非極大值抑制,細(xì)化邊緣點(diǎn)。
(4) 用雙閾值算法檢測(cè)和連接邊緣。對(duì)檢測(cè)到的初始邊緣點(diǎn),利用雙閾值法進(jìn)行處理,高閾值實(shí)現(xiàn)進(jìn)一步篩選邊緣點(diǎn),低閾值實(shí)現(xiàn)連接邊緣點(diǎn)。
傳統(tǒng)Canny算子邊緣檢測(cè)設(shè)計(jì)流程見圖2。
圖2 傳統(tǒng)Canny算子邊緣檢測(cè)設(shè)計(jì)流程Fig.2 The flow chart of traditional Canny operator edge detection design
針對(duì)傳統(tǒng)Canny 算子存在的不足,結(jié)合尾噴口特征,對(duì)傳統(tǒng)Canny算子進(jìn)行改進(jìn)。改進(jìn)Canny算子設(shè)計(jì)流程如圖3所示。
圖3 改進(jìn)Canny算子設(shè)計(jì)流程Fig.3 The flow chart of proposed algorithm design
基于局部均方差的方法既能有效去除加性噪聲,同時(shí)還具有保留邊緣的功能,且運(yùn)算簡(jiǎn)單[10],能夠很好地解決高斯濾波進(jìn)行模糊存在的問題(容易丟失邊緣信息,且檢測(cè)過程易出現(xiàn)誤檢和漏檢)。
基于局部均方差的算法描述如下。對(duì)于一幅N×M大小灰度圖像,用xij表示(i,j)位置的像素值,則(2n+1) ×(2m+1) 窗口內(nèi)部的局部平均值mij及局部均方差νij可表示為:
加性去噪后的結(jié)果可表示為:
式中:σ為用戶輸入的參數(shù)。
傳統(tǒng)Canny 算子邊緣檢測(cè)過程中,幅值和方向采用水平垂直方向的Sobel 算子求解。為使得Canny算子最終能夠更準(zhǔn)確定位,以及更加平滑連貫邊緣,本文選用八方向Sobel 算子求解幅值和方向,具體原理參考文獻(xiàn)[11]。采用3×3的八方向模板,卷積模板算子如圖4所示。圖中,H1、H2、H3、H4、H5、H6、H7和H8分別對(duì)應(yīng)0°、45°、90°、135°、180°、225°、270°和315°模板。計(jì)算8 個(gè)鄰域的灰度變化,并將灰度變化最大的元素轉(zhuǎn)化為灰度變化矩陣;將灰度變化矩陣轉(zhuǎn)化為灰度圖像,求解灰度閾值。
圖4 八方向Sobel卷積模板Fig.4 Eight-direction Sobel convolution template
基于直方圖的最小二乘法演變而來的Otsu,是確定圖像二值化分割閾值的一種算法,具有統(tǒng)計(jì)意義上的最佳閾值分割。Otsu算法的實(shí)現(xiàn)步驟如下:
設(shè)圖像的灰度值為M,灰度級(jí)為L(zhǎng),灰度范圍為[0,L-1],閾值T分割為背景部分C0、目標(biāo)部分C1,灰度級(jí)個(gè)數(shù)為fi,則第i級(jí)灰度出現(xiàn)的概率為:
C0的平均灰度為:
C1的平均灰度為:
圖像全局灰度均值為:
最大類方差可表示為:
簡(jiǎn)化式(15),則:
求解出使得式(16)最大的值為高閾值TH。
迭代閾值分割法具有較強(qiáng)的自適應(yīng)性,可通過迭代求出最佳分割閾值。迭代閾值分割法選取閾值的步驟如下:
第一步,初始化閾值。
式中:Tmin代表圖像最小灰度值,Tmax代表圖像最大灰度值。
第二步,用閾值T1分割圖像。將圖像分成A和B兩個(gè)部分,A 部分由灰度值大于T1的像素組成,B 部分由灰度值小于等于T1的像素組成。
第三步,計(jì)算A、B兩部分的平均灰度值μA和μB,并在此基礎(chǔ)上利用公式(17)求得新的閾值。
第四步,閾值判斷。判斷ΔT=T2-T1是否大于0,如果滿足ΔT>0,則結(jié)束迭代過程,并視為Canny算子中的低閾值TL;否則,重復(fù)第三步和第四步,繼續(xù)執(zhí)行迭代過程,直至滿足ΔT>0。
模型設(shè)計(jì)的原因:第一,發(fā)動(dòng)機(jī)尾噴口測(cè)量是軍工科研的重要部分,基于保密等原因,可利用的尾噴口測(cè)試圖像很少;第二,由于無真實(shí)尾噴口圖像,利用SolidWorks軟件完成了發(fā)動(dòng)機(jī)尾噴口模型1的仿真設(shè)計(jì),見圖5。因模型1結(jié)構(gòu)較復(fù)雜,目前3D打印技術(shù)難以加工出實(shí)物模型,為此簡(jiǎn)化了設(shè)計(jì)的模型,利用SolidWorks軟件完成了發(fā)動(dòng)機(jī)尾噴口模型2的仿真設(shè)計(jì)(圖6),并加工出實(shí)物模型。
圖5 發(fā)動(dòng)機(jī)尾噴口模型1仿真設(shè)計(jì)Fig.5 Engine nozzle model 1 simulation design
圖6 發(fā)動(dòng)機(jī)尾噴口模型2仿真設(shè)計(jì)Fig.6 Engine nozzle model 2 simulation design
選取的測(cè)試圖片為仿真設(shè)計(jì)的尾噴口模型。通過改進(jìn)傳統(tǒng)Canny算子進(jìn)行邊緣檢測(cè)。利用局部均方差法代替高斯濾波,用八方向Sobel算子求解幅值和方向,并采用迭代最優(yōu)算法和Otsu自適應(yīng)算法求解高低閾值。尾噴口仿真設(shè)計(jì)模型的邊緣檢測(cè)結(jié)果見圖7??梢?,傳統(tǒng)Canny算子圖像邊緣有許多噪聲干擾,同時(shí)出現(xiàn)較多偽邊緣,不能很好地提取反映尾噴口圖像的特征。本文提出的改進(jìn)Canny 算子,不僅能很好地濾除噪聲干擾、有效保留邊緣,還可提取尾噴口的噴口邊界和周圍鱗片輪廓的特征。
圖7 尾噴口仿真模型邊緣檢測(cè)結(jié)果Fig.7 The nozzle simulation model edge detection results
利用3D打印技術(shù)將仿真模型進(jìn)行打印,打印出的實(shí)物模型邊緣檢測(cè)結(jié)果如圖8所示。
圖8 尾噴口實(shí)物模型邊緣檢測(cè)結(jié)果Fig.8 The nozzle physical model edge detection results
為了客觀評(píng)價(jià)圖像質(zhì)量,采用最常用的峰值信噪比(PSNR)和均方誤差(MSE)兩個(gè)指標(biāo)進(jìn)行衡量。峰值信噪比和均方誤差的定義式分別如公式(19)、(20)所示。表1 給出了尾噴口實(shí)物模型圖像邊緣檢測(cè)的PSNR、MSE測(cè)量值。由表可知,改進(jìn)Canny 算子的PSNR值比傳統(tǒng)Canny 算子的大,MSE值比傳統(tǒng)Canny 算子的小。這表明改進(jìn)Canny 算子具有更好的去噪效果和更高的準(zhǔn)確度。
表1 邊緣檢測(cè)的峰值信噪比和均方誤差測(cè)量值Table 1 PSNR,MSE results values
為了實(shí)現(xiàn)穩(wěn)定、高精度地提取發(fā)動(dòng)機(jī)尾噴口周圍鱗片、噴口邊界特征,以提高標(biāo)定的精度和測(cè)量精度。針對(duì)傳統(tǒng)Canny 算子存在的不足進(jìn)行了改進(jìn)。利用局部均方差方法代替高斯濾波進(jìn)行去噪處理,通過八方向Sobel 算子求解幅值和方向,并在閾值選擇方面進(jìn)行優(yōu)化設(shè)計(jì)。實(shí)驗(yàn)對(duì)比驗(yàn)證表明,改進(jìn)的Canny 算子能有效去除噪聲,很好地保留圖像邊緣,更準(zhǔn)確地定位邊緣,可自適應(yīng)地代替人工進(jìn)行閾值設(shè)置,使得到的圖像邊緣更突出,高質(zhì)量地實(shí)現(xiàn)了尾噴口圖像邊緣檢測(cè)效果。