薛倩 羅其俊 王岳
摘 要:為實現(xiàn)飛機蒙皮裂紋的自動檢測,在通過云臺搭載長焦成像系統(tǒng)進行掃描成像的基礎上,研究蒙皮圖像處理與裂紋參數(shù)提取算法。針對飛機蒙皮圖像的特點,首先通過光照一致化、自適應灰度拉伸、分區(qū)大津(OTSU)法閾值分割等處理得到裂紋的二值化圖像;然后利用連通域的面積、矩形度等特征剔除塊噪聲;在去噪的基礎上,對二值化圖像中的裂紋部分進行細化、去毛刺等操作,并通過去節(jié)點獲取各條裂紋枝干;最后以枝干像素為索引,逐點跟蹤獲取各條裂紋枝干的長度、平均寬度、最大寬度、起點坐標、終點坐標、中心坐標、裂紋走向及數(shù)目等信息并由檢測軟件輸出裂紋檢測報告。實驗結果表明,所提方法可有效檢測寬度大于1mm的蒙皮表面裂紋,為飛機機身和機翼蒙皮表面裂紋的自動檢測提供了一種可行手段。
關鍵詞:飛機蒙皮;表面缺陷;圖像處理;裂紋測量
Abstract:To realize automatic crack detection for aircraft skin, skin image processing and parameter estimation methods were studied based on scanning images obtained by pan-and-tilt long-focus camera. Firstly, considering the characteristics of aircraft skin images, light compensation, adaptive grayscale stretching, and local OTSU segmentation were carried out to obtain the binary images of cracks. Then, the characteristics like area and rectangularity of the connected domains were calculated to remove block noises in the images. After that, thinning and deburring were operated on cracks presented in the denoised binary images, and all branches of crack were separated by deleting the nodes of cracks. Finally, using the branch pixels as indexes, information of each crack branch such as the length, average width, maximum width, starting point, end point, midpoint, orientation, and number of branches were calculated by tracing pixels and the report was output by the crack detection software. The experimental results demonstrate that cracks wider than 1mm can be detected effectively by the proposed method, which provides a feasible means for automatic detection of aircraft skin cracks in fuselage and wings.
Key words: aircraft skin; surface defect; image processing; crack measurement
0 引言
飛機蒙皮是包圍在骨架結構外的部件,除了長時間暴露在外界惡劣的環(huán)境下,還經(jīng)常承受著一個交變的應力,導致飛機蒙皮結構出現(xiàn)損傷。蒙皮損傷如果沒有及時被維修人員檢測到,會給飛行安全帶來重大隱患。目前國內(nèi)航空公司的機外檢查主要以人工檢查方式為主,存在勞動強度大、檢測周期長、漏檢率高等問題[1-2]。基于機器視覺的檢測方法[3-4]為蒙皮表面缺陷的智能化檢測提供了一種可行途徑,可在一定程度上避免目視檢查過程中的漏檢和疲勞等問題。
目前,基于機器視覺的缺陷檢測技術多用于工業(yè)產(chǎn)品質量監(jiān)測和混凝土、路面裂縫檢測等[5-8]。飛機蒙皮檢測方面,美國的Bahr等[9]研發(fā)了爬壁機器人系列,用于搭載傳感器和視覺系統(tǒng),實現(xiàn)飛機蒙皮的自動監(jiān)測,其后,其他單位和國家也紛紛開展了飛機蒙皮檢測爬壁機器人的研究。國內(nèi),中國民航大學也針對蒙皮表面爬壁機器人系統(tǒng)展開研究,提出了對蒙皮磁光圖像裂紋的自動檢測方法[10]。
圖像處理算法是蒙皮視覺檢測系統(tǒng)的重要組成部分,由于不同的檢測對象具有不同的圖像特征,檢測目標也各不相同,圖像處理方法應針對特定檢測對象進行具體設計。本文針對飛機蒙皮裂紋圖像特點設計圖像處理方法:首先對圖像進行光照一致化處理以排除光照不均對圖像分割的影響;然后利用自適應窗口進行灰度拉伸,在此基礎上分區(qū)進行OTSU閾值分割獲得裂紋二值化圖像,根據(jù)噪聲特點進行去噪,提取裂紋參數(shù)(包括裂紋數(shù)目、長度、平均寬度、最大寬度、起點、中點、終點和走向)。利用自動掃描系統(tǒng)拍攝蒙皮裂紋圖像進行裂紋自動檢測實驗,以驗證本文方法的有效性。
1 蒙皮圖像預處理
1.1 光照一致化
為降低計算量,首先用加權平均法對CCD(Charge Coupled Device)相機采集的蒙皮圖像進行灰度化處理:
其中: f(i, j)為圖像坐標(i, j)處像素灰度值,R、G、B分別為彩色圖像的R、G、B三個通道分量的值。
由于光源條件有限,采集到的蒙皮圖像存在光照不均、對比度低、存在大量無規(guī)則噪聲等問題,嚴重影響常規(guī)圖像分割的效果[11],為此,對灰度圖進行光照一致化處理,光照一致化的流程如圖1,效果如圖2??梢钥闯?,經(jīng)過光照補償,原圖中光線的不均衡、裂紋處蒙皮凸起產(chǎn)生的陰影都得到了改善,同時較好地保留了裂紋紋理細節(jié)。
1.2 自適應窗口灰度拉伸
一般情況下,蒙皮裂紋圖像中大部分面積為正常蒙皮,裂紋只占少量像素,且不可避免地存在灰塵、雨漬等干擾。分析蒙皮裂紋圖像直方圖可知,其灰度分布較集中,峰值附近灰度值應對應圖像中的正常蒙皮區(qū)域,而裂紋像素在灰度值上應小于蒙皮像素,且在數(shù)目上遠少于蒙皮像素。針對上述特點,為改善圖像分割效果,宜采用窗口灰度拉伸算法進行圖像增強處理[12],方法如下:
1,r(i, j)≥T2(2)三個條件存在交叉情形,在=T1和=T2時,分別屬于哪個約束條件,需明確。回復:原公式并無矛盾,在=T1或T2時不管用哪個公式都會得到相同結果。若感覺不妥,可將第二行公式中兩個≤都改成<
其中:T1為窗底,T2為窗頂,r(i, j)和s(i, j)分別灰度拉伸前后圖像坐標(i, j)處的像素灰度值。為保證圖像增強的效果,不同的裂紋圖像應設置不同的窗底和窗頂值。根據(jù)蒙皮裂紋圖像的特點,數(shù)目過少的像素灰度值一般對應散點噪聲,而像素數(shù)目處于峰值附近的灰度值對應正常蒙皮區(qū)域,因此,為自動根據(jù)圖像選取合適的T1和T2,本文在圖像直方圖計算的基礎上,取像素數(shù)目大于一定閾值的灰度值作為窗底,取像素數(shù)目比峰值略少的灰度值作為窗頂,進行自適應的窗口灰度拉伸。
1.3 分區(qū)OTSU閾值分割
由于蒙皮裂紋圖像中大部分區(qū)域為灰度分布較均勻的正常蒙皮,為減少計算量,同時進一步改善閾值分割效果,將灰度拉伸后的圖像分成K個大小為h×w的子塊,取方差大于整圖方差的子塊為感興趣區(qū)域(認為方差小于整圖方差的區(qū)域為正常蒙皮),進行分區(qū)OTSU閾值分割[13]。具體步驟如下:
1)令k=1,計算灰度拉伸后的圖像矩陣S的方差T0。
2)取S中的第k個h×w的子矩陣Sc,計算子矩陣方差t0。
3)若t0>T0,則對Sc用大津(OTSU)法[14-15]進行分割(即用遍歷法選取使前景與背景圖像的類間方差最大的閾值進行圖像分割);否則將Sc置零。
4)若k=N,則停止;否則k=k+1,回到步驟2)。
圖3對比了直接對灰度一致化后的蒙皮圖像進行OTSU閾值分割,和基于窗口灰度拉伸的分區(qū)OTSU閾值分割的效果。由于裂紋在圖像中所占像素遠小于背景蒙皮,直接使用OTSU閾值分割效果很差,在窗口灰度拉伸的基礎上進行分區(qū)OTSU閾值分割,可有效分離出裂紋與背景,同時由于算法只對個別感興趣區(qū)域計算OTSU閾值,對于大像素圖像可顯著提高圖像處理速度,從而縮短大面積蒙皮檢測的周期。
1.4 二值化裂紋圖像去噪
圖像分割后的二值化裂紋圖像仍不可避免地包含噪聲,影響裂紋的識別與測量[16](如圖3(c))。噪聲來源復雜(CCD器件噪聲、蒙皮表面影響或其他信號干擾),且灰度值與裂紋相近,但從形態(tài)上看多為散點噪聲和塊狀噪聲,因此可取連通域面積和矩形度為特征參數(shù),將噪聲與裂紋相區(qū)分。
首先,利用形態(tài)學膨脹彌合裂紋中的個別斷點,使鄰近的小區(qū)域連通,防止被當成散點噪聲消除;然后依次計算二值化圖像B中各連通域面積和矩形度,面積定義為連通域的像素總和,矩形度定義為:
其中:A代表連通域面積,rmax、rmin分別為連通域的所有像素行標的最大、最小值,cmax、cmin分別為連通域的所有像素列標的最大、最小值。若連通域面積小于閾值(本文取500,若裂紋尺寸偏小應相應減小此閾值)或矩形度高于閾值(本文取0.2)則視為噪聲,將該連通域像素置零。最后對去噪后的圖像進行形態(tài)學腐蝕,以修正形態(tài)學膨脹改變的裂縫尺寸。
2 裂紋參數(shù)測量
2.1 獲取裂紋骨架分支
由于實際裂紋形態(tài)各異,要計算二值化圖像中裂紋的長度、寬度、特征點等參數(shù),首先要通過細化獲得裂紋骨架(細化或骨架化,是將圖像的線條從多像素寬度減少到單位像素寬度的過程)。對于含有多條分支的復雜裂紋(如圖2),需分離出各條分支依次計算。獲取裂紋骨架分支的流程如圖4,首先利用區(qū)域標記法標記出二值圖中的連通區(qū)域,然后依次對各連通區(qū)域進行細化操作,Matlab中輪流使用8個方向的模板,先算出所有要削去的像素,再削去一層像素,迭代執(zhí)行,直到獲得骨架[11]。這樣得到的骨架枝干上存在多處毛刺,嚴重影響裂紋參數(shù)計算精度。本文通過跟蹤端點去除毛刺,設毛刺長度閾值為Nth,將骨架上小于該閾值的分支去除,具體做法如下:
1)為減少計算量,先取出二值圖中所有值為1的K個像素。
2)從上述K個像素中取一點pk判斷是否為端點:先將該像素置零,然后求其8鄰域像素之和N8,若N8(k)=0則說明此點為孤立點,應擦除;若N8(k)>1則重新取點;若N8(k)=1則說明此點為端點,將其坐標(xk,yk)存入Nth×2維的矩陣P,再將該點置零,令該點所在分支長度N=N+1,取出與其唯一相連的點pk+1。
3)求pk+1的鄰域像素和,若N8(k+1)=1則說明pk+1為消除pk后產(chǎn)生的新端點,將其坐標(xk+2,yk+2)存入矩陣P,再將該點置零,令N=N+1,取出與其唯一相連的點pk+2,依此循環(huán)直至N>Nth;若N8(k+1)≠1則回步驟2),找下一個端點進行跟蹤。
4)若N>Nth則說明該分支不是毛刺,將矩陣P中保存的坐標點像素值復原為1。循環(huán)至K個值為1的像素處理完畢,即處理完所有毛刺。
為方便測量含有多條分支的復雜裂紋,本文通過刪除骨架中的節(jié)點來實現(xiàn)各分支的分離。節(jié)點的主要特征是與其相連的像素超過兩個,即其8鄰域像素之和大于2,而滿足這一條件的除節(jié)點外,還有骨架圖中個別直角結構中的點,如圖5中的點p。為準確識別節(jié)點,應首先找出骨架圖中的直角,并刪除其頂點;否則p點被誤判為節(jié)點而刪除,將導致裂紋分支被截斷。直角頂點p0應滿足:
其中,(x1,y1)、(x2,y2)分別為p0的8鄰域中與其相連的兩個點p1、p2的坐標,若滿足上式則p0、p1、p2三點構成直角。從骨架圖中所有值為1的像素中搜索滿足式(4)的點,將其置零,即去掉了所有直角結構的頂點,然后搜索鄰域像素之和大于2的點,即為節(jié)點,刪除節(jié)點即可獲得裂紋骨架的各條分支。注意上述處理方法可能會產(chǎn)生個別新的孤立點,即鄰域像素為零的點,應刪除。
2.2 測量裂紋參數(shù)
在獲取裂紋骨架分支的基礎上,可通過跟蹤各分支上的像素來測量裂紋的各幾何參數(shù)。本文采用裂紋數(shù)目、長度、平均寬度、最大寬度、起點、終點、中點和走向共8個字段描述裂紋特征并輸出裂紋檢測報告。
1)數(shù)目N。上一步獲得的裂紋骨架分支圖中,連通域的個數(shù)即裂紋或裂紋分支數(shù)目。
2)長度L。從端點開始跟蹤骨架分支,取8鄰域像素和為1的為端點,先保存端點坐標至矩陣Q,令L=L+1,將端點置零,再找到8鄰域中與其相連的點,作為新的端點,執(zhí)行上述步驟,依此循環(huán)直至8鄰域像素和不為1,即累計完了一條分支。為了進一步消除噪聲,若分支長度小于一定閾值(本文取為5),則刪除,取下一端點依此計算下一條分支長度。
3)起點。矩陣Q中存儲的第一行的像素坐標。
4)中點。矩陣Q中存儲的中間行的像素坐標。
5)終點。矩陣Q中存儲的最后一行的像素坐標。
6)平均寬度Wav。依次計算裂紋骨架各分支點處的寬度,再求平均值。要計算第k點(xk,yk)的寬度,取第k+t和第k-t點(本文取t=2)之間的連線的垂線為第k點處的法線斜率,在(xk,yk)處按此斜率作直線(設直線方程為y=nkx+bk此處是否遺漏了公式?),與裂紋的二值化圖像邊緣交于兩點(xu,yu)、(xd,yd),則第k點處的裂紋寬度為:
按式(6)和(7)追蹤直至下一點的像素值為0,則當前點坐標即(xu,yu),同理可得另一方向的交點坐標(xd,yd)。
7)最大寬度WM。依次計算裂紋骨架各分支點處的寬度,求其中的最大值。
8)走向θ。用裂紋枝干分支上的各點擬合一條直線,由擬合直線的斜率計算裂紋方向。
3 蒙皮裂紋檢測實驗
3.1 實驗設置
利用掃描成像系統(tǒng)(如圖6)拍攝飛機蒙皮表面裂紋圖像進行檢測實驗。掃描成像系統(tǒng)包括轉臺、轉臺控制器以及長焦鏡頭和CCD相機組成的成像系統(tǒng)。二維轉臺在轉臺控制器的驅動和控制下,搭載成像系統(tǒng),通過設定掃描路徑,獲取檢查區(qū)域內(nèi)各子區(qū)域蒙皮表面的高分辨率圖像,然后通過USB接口傳送給上位機,由裂紋檢測軟件進行檢測并輸出裂紋報表。CCD透鏡口徑17.5mm,拍攝距離8m時,可計算理論物理分辨極限為0.31mm,考慮相機鏡頭鏡片加工和裝配誤差,最終物理分辨率可控制在1mm??紤]光照條件限制和噪聲影響,將實驗目標確定為長度大于10mm、寬度大于1mm的蒙皮表面裂紋。
3.2 實驗結果
對不同尺寸和形狀的5幅蒙皮裂紋圖像(如圖7),用第2章所述方法進行處理和測量,得到裂紋的二值化圖像(如圖8)及其8項幾何參數(shù)(如表1)。
為便于觀察結果,在圖7中,根據(jù)算法結果,用黑色矩形框標出了各圖中檢測到的裂紋的編號;在圖8中,將計算的裂紋起點和終點用圓圈標記,將中點用菱形標記。對比圖7和圖8可知,對于圖7的蒙皮圖像中肉眼可見的裂紋a1-e5,在蒙皮表面灰塵、雨漬、輕微劃痕等影響下,圖8的二值化檢測結果中,均在相應位置對裂紋形態(tài)和尺寸有較準確的顯示:圖7(a)中可見單條橫向裂紋a1,圖8(a)檢出裂紋數(shù)為1條,走向接近水平,由檢測結果估算的角度為0.29°(如表1),尺寸、特征點均與目測相符;圖7(b)中可見單條曲線形裂紋b1,圖8(b)中檢出裂紋數(shù)為1條,起點、終點和中間的拐點與目測相符,由檢測結果估算的走向角度為-50.25°(如表1);圖7(c)可見兩條斜線形裂紋,其中斜率為負者標為c1,斜率為正者標為c2,圖8(c)中檢出裂紋數(shù)為2條,起點、終點和中點與目測相符,由檢測結果估算的c1和c2裂紋走向角度分別為-75.26°和77.63°(如表1);圖7(d)為包含多條分支的復雜裂紋,圖8(d)中通過跟蹤節(jié)點將其分割為d1-d6共6條分支,分別標記其特征點并計算其特征參數(shù),d1-d6裂紋長度依次為195、88、468、428、729和500像素,走向依次為-22.57°、57.06°、-2.37°、-68.50°、85.67°和-1.26°(如表1),除裂紋d4較彎曲難以用一個角度描述外,其他裂紋參數(shù)均與目測相符;圖7(e)粗看之下有兩條裂紋,放大圖像仔細辨識可見上方裂紋中間位置附近存在一處斷點,下方裂紋中間和末端附近各存在一處斷點,且在接近末端時出現(xiàn)一條較短分支,共計6條裂紋分支,但由于其中兩條分支分離處間距較小,算法未能將其分開,而合為一條裂紋進行計算,故本文算法將此圖判斷為e1-e5共5條裂紋,分別計算了各段裂紋或裂紋分支的幾何參數(shù)(如表1)。由此可知,對于不同尺寸和形狀的裂紋圖像,本文方法檢測到的裂紋數(shù)目和特征點均較為準確。
表1列出了圖7中各裂紋的幾何參數(shù),包括裂紋長度、平均寬度、最大寬度和走向(特征點已標記在圖8中)。表中的長度和寬度均以像素為單位,可根據(jù)鏡頭參數(shù)與拍攝距離折算成毫米單位。由于裂紋形狀不規(guī)則,難以用直尺準確測量,但由前述計算過程可知,只要算法對裂紋特征點定位準確,算法檢測結果將優(yōu)于人工直尺測量結果,基于圖像進行自動裂紋檢測可輔助飛機蒙皮表面缺陷檢查。由于每像素約對應實際尺寸0.3mm,在裂紋圖像正確分割的前提下,理論上本文方法計算的參數(shù)誤差可控制在1mm以內(nèi)。
4 結語
民用航空器維修中對飛機蒙皮檢測提出的要求是能夠及時發(fā)現(xiàn)使用過程產(chǎn)生的缺陷,疲勞裂紋是其中的典型缺陷。針對人工檢查勞動強度大、漏檢率高等問題,本文設計基于圖像的飛機蒙皮裂紋檢測算法,為蒙皮裂紋的自動檢測提供參考思路和理論依據(jù)。實驗結果表明,本文方法可有效識別寬度大于1mm的、不同數(shù)目與形態(tài)的蒙皮表面裂紋,估算的裂紋數(shù)目、長度、寬度、走向和特征點等參數(shù)與目視檢查結果相符??湛虯320一般目視檢查可見裂紋尺寸最小為8mm,因此本文方法在日常繞機目視檢查與定期的無損檢測之間,可用于輔助飛機蒙皮表面缺陷檢查,從而降低機務人員疲勞度,提高飛機結構的可靠性。
參考文獻 (References)
[1] WANG C Q, WANG X F, ZHOU X, et al. The aircraft skin crack inspection based on different-source sensors and support vector machines[J]. Journal of Nondestructive Evaluation, 2016, 35(3):46.
[2] MUMTAZ R, MUMTAZ M, MANSOOR A B, et al. Computer aided visual inspection of aircraft surfaces[J]. International Journal of Image Processing.2012, 6(1): 38-53.
[3] LIU M B, LI B B, LI J T, et al. Smart coating sensor applied in crack detection for aircraft[J]. Applied Mechanics and Materials, 2013, 330(6): 383-388.
[4] DENG Y, LIU X, UDPA L. Magneto-optic imaging for aircraft skins inspection: a probability of detection study of simulated and experimental image data[J]. IEEE Transactions on Reliability, 2012, 61(4): 901-908.
[5] HASNI H, ALAVI A H, JIAO P C, et al. Detection of fatigue cracking in steel bridge girders: a support vector machine approach[J]. Archives of Civil and Mechanical Engineering, 2017(17): 609-622.
[6] CHA Y J, CHOI W, BYKZTRK O. Deep learning-based crack damage detection using convolutional neural networks[J]. Computer-Aided Civil and Infrastructure Engineering, 2017, 32(5): 361-378.
[7] 陳瑤.基于圖像分析的橋梁裂縫檢測方法研究[D].合肥:中國科學技術大學,2016:1-8.(CHEN Y. Research on the bridge crack detection method based on image analysis[D]. Hefei: University of Science and Technology of China, 2016: 1-8.)
[8] 姜吉榮.基于圖像分析的路面裂縫檢測方法與識別研究[D].南京:南京郵電大學,2016:1-10.(JIANG J R. Research on pavement crack detection and recognition methods based on image analysis[D]. Nanjing: Nanjing University of Posts and Telecommunications, 2016: 1-10.)
[9] BAHR B, MAARI S. Robotic-aided system for inspection of aging aircraft: national institute for aviation research[J]. NDT and E International,1992, 25(1): 41-42.
[10] 高慶吉,胡丹丹,牛國臣,等.基于磁光圖像的飛機鉚釘缺陷識別[J].中國圖象圖形學報,2007,12(12):2179-2183.(GAO Q J, HU D D, NIU G C, et al. Defect recognition of aircraft rivet based on magento-optic image[J]. Journal of Image and Graphics, 2007, 12(12): 2179-2183.)
[11] 王耀東,余祖俊,白彪,等.基于圖像處理的地鐵隧道裂縫識別算法研究[J].儀器儀表學報,2014,35(7):1489-1496.(WANG Y D, YU Z J, BAI B, et al. Research on image processing based subway tunnel crack identification algorithm[J]. Chinese Journal of Scientific Instrument, 2014, 35(7): 1489-1496.)
[12] 吳秀永,徐科,徐金梧.基于Gabor小波和核保局投影算法的表面缺陷自動識別方法[J].自動化學報,2010,36(3):438-441.(WU X Y, XU K, XU J W. Automatic recognition method of surface defects based on Gabor wavelet and kernel locality preserving projections[J]. Acta Automatica Sinica, 2010, 36(3): 438-441.)
[13] JIN L S, TIAN L, WANG R B, et al. An improved Otsu image segmentation algorithm for path mark detection under variable illumination[C]// IV2005: Proceedings of the 2005 IEEE Intelligent Vehicles Symposium. Piscataway, NJ: IEEE, 2005: 840-844.
[14] MOHAMED H M, MAHMOUD E. Efficient solution of Otsu multilevel image thresholding: a comparative study[J]. Expert Systems with Applications, 2019, 116: 299-309.
[15] GOH T Y, BASAH S N, YAZID H, et al. Performance analysis of image thresholding: Otsu technique[J]. Measurement, 2018, 114: 298-307.
[16] 薛倩,楊程屹,王化祥.去除椒鹽噪聲的交替方向法[J].自動化學報,2013,39(12):2071-2076.(XUE Q, YANG C Y, WANG H X. Alternating direction method for salt-and-pepper denoising[J]. Acta Automatica Sinica, 2013, 39(12): 2071-2076.)