王昆侖,王春德,郭玲玲,張思奇
(1. 哈爾濱飛機(jī)工業(yè)集團(tuán)有限責(zé)任公司,黑龍江 哈爾濱 150060;2. 陸軍裝備部航空軍事代表局駐哈爾濱地區(qū)軍事代表室,黑龍江 哈爾濱 150066)
由于疲勞負(fù)荷、環(huán)境腐蝕、運(yùn)行磨損等原因,直升機(jī)金屬結(jié)構(gòu)在服役過程中極有可能出現(xiàn)損傷、裂紋等情況。隨著損傷和裂紋的不斷發(fā)展,部件承載能力逐漸下降,最終導(dǎo)致部件失效甚至斷裂的問題,造成無法挽回的飛行事故。防扭接頭是直升機(jī)關(guān)鍵金屬部件之一,其安全性直接關(guān)乎直升機(jī)的飛行安全。
機(jī)器視覺技術(shù)的不斷發(fā)展加快了數(shù)字圖像處理技術(shù)應(yīng)用于自動監(jiān)測的步伐[1]。圖像監(jiān)測技術(shù)經(jīng)過眾多科研院校及機(jī)構(gòu)的深入探索,得到大量圖像監(jiān)測理論和相關(guān)產(chǎn)品,被廣泛應(yīng)用于機(jī)械、醫(yī)學(xué)、物理等眾多領(lǐng)域,但目前還需投入大量人力、物力與財(cái)力對其持續(xù)研究。采用數(shù)字圖像處理技術(shù)自動監(jiān)測結(jié)構(gòu)裂紋具有非接觸、效率高、可靠性高、操作簡便等優(yōu)點(diǎn),目前已成為結(jié)構(gòu)裂紋自動監(jiān)測的主要方法之一。張玉婷等[2]采用高斯函數(shù)匹配濾波器提取裂紋圖像的空間特征算子,通過微分匹配均值濾波器判斷背景紋理和金屬結(jié)構(gòu)裂紋,依據(jù)閾值確定裂紋結(jié)構(gòu),引入Hough變換去除柵線并利用形態(tài)學(xué)算法實(shí)現(xiàn)裂紋自動監(jiān)測。李濤濤等[3]提取裂紋圖像輪廓以緩解外圍輪廓干擾,采用次大值濾波均勻圖像,通過邊緣檢測算法獲取金屬結(jié)構(gòu)裂紋邊緣后,將裂紋特征輸入支持向量機(jī),實(shí)現(xiàn)直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋自動監(jiān)測。郁文璽等[4]通過直線擬合方法擬合圖像待檢區(qū)域下邊界,粗提取裂紋區(qū)域,利用自適應(yīng)閾值分割算法進(jìn)一步分割提取到的裂紋區(qū)域,基于Blob分析判定裂紋真?zhèn)?實(shí)現(xiàn)裂紋自動監(jiān)測。雖然上述方法取得一定進(jìn)展,但存在較大誤差。
為了解決上述方法中存在的問題,本文設(shè)計(jì)一種針對直升機(jī)防扭接頭的金屬結(jié)構(gòu)裂紋自動監(jiān)測方法。
構(gòu)建直升機(jī)防扭接頭圖像采集系統(tǒng)。該系統(tǒng)主要包括圖像采集與測量設(shè)備、攝像頭安裝設(shè)備、運(yùn)動控制設(shè)備以及計(jì)算機(jī)等,如圖1所示。
圖1 直升機(jī)防扭接頭圖像采集系統(tǒng)框圖
圖1中,攝像頭安裝設(shè)備連接攝像頭運(yùn)動機(jī)構(gòu),后者分為x軸位置調(diào)整機(jī)構(gòu)、y軸位置調(diào)整機(jī)構(gòu)和z軸位置調(diào)整機(jī)構(gòu),攝像頭運(yùn)動控制模塊能夠操控?cái)z像頭沿x軸、y軸和z軸方向執(zhí)行直線運(yùn)動,進(jìn)而精準(zhǔn)調(diào)控?cái)z像頭與待識別直升機(jī)防扭接頭之間位置,實(shí)現(xiàn)直升機(jī)防扭接頭圖像實(shí)時采集。
構(gòu)建圖像采集系統(tǒng)采集直升機(jī)防扭接頭金屬結(jié)構(gòu)圖像后,需要對采集到的圖像預(yù)處理。采集直升機(jī)防扭接頭圖像時會受到光線強(qiáng)度、攝像機(jī)角度等因素的影響,最終輸出圖像與原始圖像之間存在一種非線性關(guān)系。同時,圖像傳輸至計(jì)算機(jī)過程中受設(shè)備等因素影響也會造成原始圖像與最終輸出圖像之間的非線性關(guān)系,導(dǎo)致最終輸出的數(shù)字圖像質(zhì)量下降甚至畸變的情況。因此,在分析直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋前需要對采集到的圖像預(yù)處理。
1)裂紋圖像灰度拉伸
由于采集直升機(jī)防扭接頭圖像時光線強(qiáng)度往往不夠理想且金屬結(jié)構(gòu)裂紋顏色較暗,最終輸出數(shù)字圖像呈現(xiàn)效果較暗,整幅圖像對比度較低,無法突出顯示裂紋區(qū)域。因此本文方法采用灰度拉伸提升圖像整體清晰度[5]。
假設(shè)采集到的直升機(jī)防扭接頭圖像中存在任意像素點(diǎn)(x,y),該點(diǎn)對應(yīng)灰度值為f(x,y),用a表示灰度拉伸系數(shù),b表示相應(yīng)調(diào)整值,通過下式可得到調(diào)整后灰度值g(x,y):
g(x,y)=a×f(x,y)+b
(1)
在圖像處理時,通常只需要突出一幅圖像的重點(diǎn)關(guān)注部分,因此在實(shí)際應(yīng)用中無需拉伸圖像中的全部灰度值,只需要將重點(diǎn)關(guān)注的部分線性拉伸,即劃分圖像灰度圖為多個部分后拉伸重點(diǎn)部分,壓縮不重要部分,對圖像實(shí)行分段拉伸或壓縮,用(x1,y1)和(x2,y2)表示劃分圖像灰度圖的兩個像素點(diǎn)坐標(biāo),經(jīng)過分段拉伸或壓縮后得到的g(x,y)′如下:
g(x,y)′=f(x,y)×g(x,y)
(2)
采用改進(jìn)后灰度拉伸能夠有效消除直升機(jī)防扭接頭圖像灰度值兩端噪聲點(diǎn),增強(qiáng)圖像對比度和層次感,在使重點(diǎn)關(guān)注細(xì)節(jié)即裂紋信息更加明顯的同時削弱不重要部分,保持圖像整體特征,然后對裂紋圖像去噪。
2)裂紋圖像去噪
采集到的直升機(jī)防扭接頭圖像不可避免會存在部分噪聲污染。這不但會造成圖像模糊,而且會掩蓋部分圖像特征,影響后續(xù)裂紋自動監(jiān)測效果,因此需要對裂紋圖像去噪處理。
本文方法采用中值濾波法濾除圖像噪聲[6],用(x,y)表示直升機(jī)防扭接頭圖像中任意像素點(diǎn),假設(shè)Med(·)表示取中值運(yùn)算,則經(jīng)過中值濾波處理后該點(diǎn)灰度值G(x,y)如下:
G(x,y)=Med[g(x,y)]×g(x,y)′
(3)
常用的中值濾波模板及對應(yīng)矩陣模板如圖2所示。
圖2 中值濾波模板及對應(yīng)矩陣模板
在實(shí)現(xiàn)圖像采集與處理后,需提取裂紋片段特征,該特征提取是以對圖像進(jìn)行分割為依據(jù)的,因此在裂紋片段特征提取時,圖像分割質(zhì)量會對特征提取的精度和效果產(chǎn)生直接的影響。本文方法首先通過OTSU算法定位直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋圖像的裂紋片段,再采用Canny算子分割裂紋片段邊緣,實(shí)現(xiàn)裂紋片段特征提取[7]。
(4)
滿足下式的閾值T即為圖像最佳分割閾值:
(5)
標(biāo)準(zhǔn)OTSU算法又稱最大類間方差法,該算法較為復(fù)雜,效率較低,因此本文方法采用下式的σ2替代式(4)中的方差,改進(jìn)OTSU算法,減少算法運(yùn)算量,提高運(yùn)算效率。
σ2=η0×η1×(v1-v0)2×T
(6)
本文方法將通過改進(jìn)后OTSU算法得到的閾值設(shè)置為最高閾值,同時利用Canny多尺度空間邊緣檢測算法確定最低閾值,提出雙閾值Canny算子邊緣檢測算法,實(shí)現(xiàn)圖像分割與裂紋片段特征自適應(yīng)提取,這樣可以降低提取誤差。采用雙閾值Canny算子提取直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋圖像邊緣片段主要流程如下。
步驟一,將采集到的直升機(jī)防扭接頭圖像預(yù)處理,得到質(zhì)量提升的直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋圖像。
步驟二,采用Prewitt算子和Sobel算子計(jì)算預(yù)處理后圖像x和y灰度方向上的偏導(dǎo)數(shù),記作Gx和Gy,并計(jì)算梯度大小|Gxy和方向α如下:
(7)
步驟三,定義0°、45°、90°和135° 4種邊緣梯度方向,將4個方向上相鄰的像素進(jìn)行比較,從而判斷出一個區(qū)域的最大值點(diǎn),如果一個像素點(diǎn)在其梯度方向前后兩個像素點(diǎn)的灰度值比較相近,那么這個像素點(diǎn)就是一個無邊緣的點(diǎn)。
步驟四,由經(jīng)過改進(jìn)后OTSU算法來決定最大閾值,由Canny多尺度空間邊緣檢測來決定最低閾值,通過兩者判定像素點(diǎn)是否為邊緣,判定規(guī)則如下所示:
1)若像素點(diǎn)灰度值高于最高閾值,則該點(diǎn)一定是邊緣;
2)若像素點(diǎn)灰度值低于最低閾值,則該點(diǎn)一定不是邊緣;
3)若像素點(diǎn)灰度值處于最高閾值和最低閾值之間,則需要依據(jù)像素點(diǎn)鄰近像素中是否存在高于最高閾值的像素點(diǎn)對該點(diǎn)進(jìn)一步判定。
對于直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋圖像來說,其裂紋長度和面積僅與裂紋邊緣相關(guān)而不取決于其內(nèi)部變化。因此,通過得到的直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋邊緣信息即可實(shí)現(xiàn)裂紋片段特征提取,然后獲取完整直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋圖像。
1)核心裂紋特征的張量投票
(8)
式中λ1和λ2表示圖像特征值,滿足λ2<λ1。
張量投票的主要流程如下。
步驟一,轉(zhuǎn)化圖像像素點(diǎn)為球張量并投票。
步驟二,通過對像素點(diǎn)的選票進(jìn)行統(tǒng)計(jì)和分析,獲得像素點(diǎn)的初值。
步驟三,執(zhí)行張量投票。假設(shè)在坐標(biāo)系Oxy的O點(diǎn)和Q點(diǎn)處存在兩個張量,O點(diǎn)和Q點(diǎn)分別為投票點(diǎn)和受票點(diǎn),l表示弧長,k表示曲率,γ表示尺度因子,W(Q)表示Q點(diǎn)張量接收到O點(diǎn)投票,計(jì)算方式如下:
W(Q)=DF(l,k,γ)×NQ×NQ×T
(9)
式中:DF(l,k,γ)表示顯著性衰減函數(shù);NO和NQ表示兩者對應(yīng)法向量。
步驟四,統(tǒng)計(jì)每個像素點(diǎn)鄰域內(nèi)全部張量投票并融合為一個新張量,獲取圖像特征值,生成圖像中每個像素點(diǎn)為裂紋概率的顯著性圖譜。
2)裂紋特征判斷
在獲得一個完整的直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋特征時,首先將從其中抽取到的候選裂紋片段特征中的離散點(diǎn)刪除掉,之后將裂縫碎片進(jìn)行連接,完成識別。這兩個步驟均通過張量投票完成,主要流程如下:
步驟一,經(jīng)張量投票可獲取到裂紋曲線,對該曲線膨脹處理,生成大于實(shí)際裂紋的區(qū)域;
步驟二,獲取候選裂紋片段特征和步驟一所得區(qū)域的交集,去除離散點(diǎn),得到只包含直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋片段的圖像;
步驟三,獲取步驟二得到的圖像與裂紋曲線圖像的并集,通過裂紋曲線連接裂紋片段,生成完整直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋圖像,完成識別。
為了驗(yàn)證直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋自動監(jiān)測方法的整體有效性,需要測試研究。實(shí)驗(yàn)所用數(shù)據(jù)集中共包含2 000幅直升機(jī)防扭接頭金屬結(jié)構(gòu)圖像,其中1 000幅為裂紋圖像,1 000幅為非裂紋圖像,圖像存在噪聲較大、光線分布不均、模糊、曝光、亮度過暗、背景干擾等多種問題。
實(shí)驗(yàn)以文獻(xiàn)[3] 方法和文獻(xiàn)[4] 方法為對比,分別檢測3種方法的圖像預(yù)處理能力和直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋自動監(jiān)測能力,評估3種方法的整體性能。
引入峰值信噪比評價(jià)本文方法、文獻(xiàn)[3] 方法和文獻(xiàn)[4]方法預(yù)處理后的圖像質(zhì)量,其值與圖像質(zhì)量呈正相關(guān)。在數(shù)據(jù)集中隨機(jī)選取1幅直升機(jī)防扭接頭的原始金屬圖像,如圖3所示。通過3種方法預(yù)處理后圖像及對應(yīng)峰值信噪比如圖4所示。
圖3 原始圖像
圖4 不同方法處理后圖像及峰值信噪比
根據(jù)圖4可知,對比本文方法、文獻(xiàn)[3]方法和文獻(xiàn)[4]方法處理后圖像,本文方法處理后圖像質(zhì)量更好,明暗度更均勻,細(xì)節(jié)更豐富,且峰值信噪比更高,文獻(xiàn)[3]方法和文獻(xiàn)[4]方法處理后圖像仍存在一定程度的明暗不均、模糊或噪聲問題,峰值信噪比較低,說明本文方法具有更強(qiáng)的圖像預(yù)處理能力。原因是本文方法采用改進(jìn)后灰度拉伸能夠有效消除直升機(jī)防扭接頭圖像灰度值兩端噪聲點(diǎn),增強(qiáng)圖像對比度和層次感,使重點(diǎn)關(guān)注細(xì)節(jié)即裂紋信息更加明顯,同時削弱不重要部分,保持圖像整體特征,對裂紋圖像去噪,改變圖像整體灰度值分布情況,提升圖像整體清晰度。
對比本文方法、文獻(xiàn)[3]方法和文獻(xiàn)[4]方法對全部裂紋監(jiān)測結(jié)果與實(shí)際值之間的誤差平均值,結(jié)果如表1所示。
表1 3種方法提取到的裂紋誤差 單位:μm
由表1可以看出,本文方法的監(jiān)測誤差平均值始終小于文獻(xiàn)[3]方法和文獻(xiàn)[4]方法,平均長度誤差比文獻(xiàn)[3]方法小522.754μm,比文獻(xiàn)[4]方法小208.443μm,平均寬度誤差比文獻(xiàn)[3]方法小3.713μm,比文獻(xiàn)[4]方法小4.472μm。這說明本文方法具有更優(yōu)異的裂紋自動監(jiān)測性能。原因是本文方法將通過改進(jìn)后OTSU算法得到的閾值設(shè)置為最高閾值,利用Canny多尺度空間邊緣檢測算法確定最低閾值,提出雙閾值Canny算子邊緣檢測算法,實(shí)現(xiàn)圖像分割與裂紋片段特征自適應(yīng)提取,可以降低提取誤差。
為了進(jìn)一步評估本文方法、文獻(xiàn)[3]方法和文獻(xiàn)[4]方法在直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋自動監(jiān)測中的性能,引入秒幀率衡量3種算法的運(yùn)行效率,秒幀率越大,則對應(yīng)算法運(yùn)行效率越高,統(tǒng)計(jì)3種方法的秒幀率,如圖5所示。
圖5 3種方法秒幀率檢測結(jié)果
由圖5可以看出,本文方法的秒幀率高于文獻(xiàn)[3]方法和文獻(xiàn)[4]方法,即本文方法的運(yùn)行效率高于另外兩種方法,在直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋自動監(jiān)測中的實(shí)時性更強(qiáng),更適合用于實(shí)際裂紋自動監(jiān)測,其原因是本文方法重點(diǎn)關(guān)注部分圖像的線性拉伸,即劃分圖像灰度圖為多個部分后拉伸重點(diǎn)部分,壓縮不重要部分,一定程度上有利于提高裂紋的自動監(jiān)測效率。
直升機(jī)結(jié)構(gòu)安全是保障其飛行安全可靠的前提和基礎(chǔ),若直升機(jī)部件出現(xiàn)裂紋問題且未被及時發(fā)現(xiàn)和修理,極有可能破壞直升機(jī)結(jié)構(gòu),對直升機(jī)飛行安全產(chǎn)生嚴(yán)重威脅。防扭接頭是直升機(jī)的重要金屬部件,傳統(tǒng)直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋監(jiān)測通常由人工通過顯微鏡來完成識別,工作效率較低且監(jiān)測過程中易受到主觀因素影響,造成監(jiān)測結(jié)果不理想的問題,無法滿足監(jiān)測精度要求。因此數(shù)字圖像處理技術(shù)被引入直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋自動監(jiān)測中。為了解決目前存在的圖像預(yù)處理效果不佳、提取到的直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋誤差較大、秒幀率較低等問題,提出直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋自動監(jiān)測方法,采用構(gòu)建的圖像采集系統(tǒng)采集直升機(jī)防扭接頭圖像,通過灰度拉伸和中值濾波預(yù)處理圖像,結(jié)合OTSU算法和Canny多尺度空間邊緣檢測算法,提出雙閾值Canny算子邊緣提取算法獲取候選裂紋片段特征,利用張量投票實(shí)現(xiàn)直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋自動監(jiān)測。該方法能夠有效地提升圖像預(yù)處理效果,減小提取到的直升機(jī)防扭接頭金屬結(jié)構(gòu)裂紋誤差,提升秒幀率,為直升機(jī)的安全平穩(wěn)飛行奠定基礎(chǔ)。