沈陽工業(yè)大學視覺檢測技術研究所 苑瑋琦 王 英
鋁合金氣瓶是鋁合金無縫氣瓶的主體,鋁合金氣瓶經(jīng)過后續(xù)處理成鋁合金無縫氣瓶后,可用于重復充裝各種氣體,在鋁合金氣瓶質(zhì)量檢測過程中,因內(nèi)壁要與充裝的氣體直接接觸,如果內(nèi)壁缺陷較大則會產(chǎn)生嚴重腐蝕等影響從而造成較大經(jīng)濟損失,因此內(nèi)壁質(zhì)量的檢測至關重要。
據(jù)在知網(wǎng)上搜索相關中英文關鍵詞“鋁合金氣瓶”、“氣瓶內(nèi)壁”“內(nèi)壁缺陷”“氣瓶檢測”“氣瓶缺陷”等,和相關篇名“鋁合金氣瓶內(nèi)壁缺陷檢測”及“鋁合金氣瓶”等,均未檢索到有關鋁合金氣瓶內(nèi)壁缺陷自動檢測的相關文獻。在專利檢索及分析網(wǎng)站上檢索國內(nèi)外專利發(fā)明的中英文相關關鍵詞,亦未檢索到相關專利發(fā)明。搜索到的相關資料大部分為內(nèi)壁工藝處理或內(nèi)壁缺陷分析、或內(nèi)壁防腐蝕噴涂等處理辦法,如中國計量科學研究院吳海等人于2012年發(fā)明申請的《鋁合金壓力氣瓶的內(nèi)壁處理工藝及處理裝置》等。目前國內(nèi)外對于鋁合金氣瓶內(nèi)壁缺陷的檢測仍是人工檢測,人工檢測不僅效率十分低下,而且由于人眼觀測長期易疲勞且受心理等因素影響,漏檢誤檢難以避免。
國內(nèi)判定標準是依據(jù)國家技術監(jiān)督局關于鋁合金無縫氣瓶的檢驗GB 11640—89標準,[2]-[3]其中附錄F鋁制制造缺陷的描述和判定中第2條一般要求里的內(nèi)外表面目測檢查提到鋁瓶內(nèi)外表面應清潔,干燥,無氧化物、腐蝕和銹跡,國標中列出了常見缺陷及判定標準。[2]在本文內(nèi)壁缺陷質(zhì)量檢測中,重點放在凹坑、橫向劃痕和縱向拉傷三種常見缺陷的檢測上,對于凹坑缺陷大小的判定標準為凹坑直徑大于等于2mm,橫向劃痕缺陷的判定標準為所有有此缺陷的圖像,縱向拉傷缺陷大小的判定標準為縱貫整張圖像的拉傷。本文重點研究三種缺陷的檢測方法。首先設計和搭建硬件平臺(對于硬件選型和設計另有其它論文說明),采集內(nèi)壁圖像,然后利用本文提出的方法對氣瓶內(nèi)壁缺陷進行檢測。
對拍攝的圖像進行灰度閾值處理,拍攝圖像按空間灰度值,中間和上側(cè)偏大,兩側(cè)和下側(cè)偏小,呈不規(guī)則的倒拱形,這是因為光源光線沿著氣瓶軸向方向。由于圖像灰度閾值得到的形狀不規(guī)則即灰度分布不均勻,灰度直方圖的波谷并不十分明顯,用一般的灰度分割等方法檢測缺陷的效果不佳,而用邊緣檢測時,效果明顯較好,這里選擇的邊緣檢測算子是Canny算子。
Canny 邊緣檢測算子是 Canny[4]在1986年提出的,是當前被普遍認可的一種較理想的邊緣檢測算法[5]。其基本步驟如下:
(1)使用一個環(huán)形二維高斯函數(shù)G(x, y)對圖像 f(x, y)進行平滑,得到平滑圖像 fs(x, y)。
(2)計算平滑圖像 fs(x, y)中每個像元點的梯度幅度M(x, y)和方向α(x, y),使用梯度幅度和方向來估計每一點處的邊緣強度和方向。
(3)為確定邊緣,對所得梯度進行非極大值抑制來細化邊緣。具體做法是尋找圖像中的局部極大值點,并將非局部極大值點設為零。
(4)進行滯后閾值,減少偽邊緣點,過程為設置低閾值TL和高閾值TH,用連接分析來連接邊緣。若像元點是大于TL的集合,則邊緣信息一般是真正的信息,但可能會丟失邊緣的部分細節(jié);若像元點梯度值在TH和TL之間,則邊緣信息會較好,但可能會保留部分不是邊緣點的信息。可先找出像元點梯度值大于TL的集合,再計算其值在TH和TL之間的集合以補充邊緣,二者綜合得到圖像的邊緣信息[5]。
圖2 內(nèi)壁缺陷檢測流程
按照流程圖中的步驟進行處理。首先通過Canny邊緣檢測算子對圖像進行邊緣檢測,即流程圖1中的邊緣點、線提?。辉俑鶕?jù)邊緣線基本特征篩選和判定邊緣線,若符合篩選條件則保留,若不符合則刪除。由于邊緣點、線基本隔離開來,所以需要連接相近的邊緣;再根據(jù)新連接的邊緣線的基本特征來篩選和判定是否為內(nèi)壁缺陷,若符合則提取缺陷,若不符合則刪除非新邊緣線。
由于三種缺陷各有其獨特的特征,因此篩選過程將按照缺陷的基本特征來分別進行獨立篩選。
3.2.1 凹坑缺陷提取
在幾何形態(tài)上,凹坑多呈圓形或橢圓形且較為扁平,邊緣不規(guī)則,外形或大或小,顏色根據(jù)深度或深或淺。凹坑缺陷的檢測步驟如下:
步驟1:獲取可能的輪廓。對圖像進行Canny算子邊緣檢測,得到灰度值變化較大的缺陷輪廓,主要是凹坑和橫向劃痕等較亮的邊緣。Canny算子參數(shù)選擇中第一個參數(shù)為前文中提到的濾波器參數(shù)σ,選取的值較小時濾波器寬度越小,平滑程度較小,因此保留的細節(jié)也越多,執(zhí)行時間越少,因此在能檢測到缺陷邊緣的情況下應盡量選取較小的σ以減少運行時間;第二個和第三個參數(shù)分別表示低閾值TL和高閾值TH。
當σ、TL和TH分別選擇為4、5和20時,凹坑和橫向劃痕的邊緣都能夠被很好地檢測出來;而當σ、TL保持不變,TH增大至兩倍左右時,只檢測出個別凹坑邊緣,部分小凹坑邊緣沒有被檢測出來,且檢測出的個別凹坑邊緣的細節(jié)也較少,不便于后續(xù)的進一步篩選。分析其原因是凹坑和橫向劃痕都較亮,灰度值明顯比周圍的大,而且兩種缺陷的梯度接近,在用滯后閾值進行實驗時發(fā)現(xiàn)若對這兩種缺陷強行單獨進行提取,效果并不理想,于是決定兩種缺陷邊緣同時進行檢測,只是在后續(xù)篩選時根據(jù)各自獨特特征分開篩選并判斷缺陷類型。
步驟2:篩選可能的輪廓。根據(jù)凹坑本身較扁較圓,高度不高,其輪廓長度比一般的線要復雜,一般是多圈的曲線,近似交疊,由于精度要求較高,所以需要在亞像素中進行相應輪廓高度、輪廓長度的篩選;為了排除水平長線的干擾,則根據(jù)橢圓的短半軸來進一步篩選,去除面積較小的區(qū)域。此步驟中最重要的是計算合并終點接近的輪廓。其計算參考值主要有兩個:輪廓終點間最大距離(Max Absolute Distance)labs;更長輪廓終點間的最大距離(Max Relative Distance)lrel。兩輪廓終點間的距離l都不超過這兩個最大值就將兩邊緣輪廓連接起來。后續(xù)進行膨脹、合并、連通區(qū)域、形狀轉(zhuǎn)換等操作。在膨脹時注意,由于要提取的缺陷是凹坑,根據(jù)前面提到的凹坑基本特征,要用圓來膨脹。圖2為凹坑缺陷檢測結果。
圖2 凹坑缺陷檢測結果
3.2.2 橫向劃痕缺陷提取
橫向劃痕缺陷多為水平劃痕,也有斜著稍偏其它方向和其它不規(guī)則形狀,顏色較淺較亮。橫向劃痕缺陷的檢測步驟如下:
步驟1:獲取可能的輪廓(見凹坑缺陷)
步驟2:篩選可能的輪廓。再根據(jù)劃痕本身較長較亮,高度較低,其輪廓長度不像凹坑那樣比一般的線復雜,而一般是偏水平的直線,稍彎曲,所以需要在亞像素精度中就進行相應的篩選。合并鄰近直線輪廓、鄰近輪廓,根據(jù)高度、輪廓長度、寬度等篩選。為了排除氣瓶內(nèi)壁中黑線的干擾,則根據(jù)平均灰度值來進一步篩選,之后去除太寬、太圓和不是偏水平方向的區(qū)域,再進行一系列膨脹、合并、連通、轉(zhuǎn)換形狀等操作,再根據(jù)寬度、圓度、方向來篩選可能的劃痕缺陷,最后一步判斷有無劃痕并計算劃痕個數(shù)。此步驟中最重要的是連接近似共線的輪廓,根據(jù)前文提到劃痕的基本特征,連接時應多為偏向于橫向的直線,所以要按照水平近似共線程度來連接兩個邊緣輪廓,涉及的理論參數(shù):兩個輪廓間隙的最大長度d(distance)(根據(jù)測量參考輪廓的回歸線),不超過labs;兩個輪廓間隙的最大長度d/l(根據(jù)測量參考輪廓長度和測量參考輪廓的回歸線),不超過lrel;第二條輪廓線距參考輪廓回歸線的最大位移s(shift),不超過最大設定位移(Max Shift)Smax;兩條輪廓的回歸線間的最大角度a(angle),不超過最大設定角度(Max Angle)Amax。連接近似共線的輪廓參數(shù)d、d/l、s和a的示意圖分別見圖3(a)、(b)、(c)、(d)其中左下方和右上方的實粗曲線代表兩個邊緣輪廓,細實線為兩邊緣輪廓的回歸線。圖4為橫向劃痕缺陷檢測結果。
圖3 連接近似共線的輪廓參數(shù)示意圖
圖4 橫向劃痕缺陷檢測結果
3.2.3 縱向拉傷缺陷提取
縱向拉傷是多條相連的縱向豎條,縱向從瓶口一直貫穿至瓶底,深淺豎線相隔,豎條部分用手指觸摸有凹凸不平感。
最后是縱向拉傷缺陷提取??v向拉傷缺陷的檢測步驟如下:
步驟1:獲取可能的輪廓。由于縱向拉傷缺陷的灰度變化較凹坑和橫向劃痕不是很明顯,若用相同的參數(shù)值,縱向拉傷缺陷的提取效果不太理想。所以需要重新選擇參數(shù),平滑度應該小些,保留更多的細節(jié)部分,才能提取出縱向拉傷缺陷。
對于圖5(a)中含有縱向拉傷的內(nèi)壁圖像,當σ、TL和TH分別選擇為4、5和20時,縱向拉傷邊緣并不能被檢測出來;而當σ、TL保持不變,TH增大至兩倍左右時,縱向拉傷缺陷邊緣也沒有被檢測出來。根據(jù)縱向拉傷缺陷的特征,重新調(diào)整三個參數(shù)的選擇,由于該缺陷程較淺的豎直窄條狀,灰度值明顯不如凹坑和橫向劃痕大,但還是比周圍的灰度值稍高一些,可根據(jù)這點來檢測窄條兩側(cè)梯度變化較為明顯的邊緣。三個參數(shù)重新分別選擇為5、1和6,此時縱向拉傷兩側(cè)的邊緣就比較明顯了,如圖5(b)所示。圖5(c)為按高度篩選后,參數(shù)選擇為邊緣高度大于等于60個像素值,主要剔除非縱向拉傷的邊緣。
步驟2:篩選可能的輪廓。根據(jù)拉傷本身較長,高度較高,有間接的明暗線,其橫向距離較近,其輪廓一般是偏豎直的直線,稍彎曲,合并鄰近直線輪廓,根據(jù)高度、寬度。和前面一樣,因為亞像素精度沒有膨脹及合并連通算子,所以要轉(zhuǎn)換到區(qū)域進行處理,轉(zhuǎn)換到區(qū)域后,進行一系列膨脹、合并、連通、轉(zhuǎn)換形狀、按高度篩選等操作,來篩選可能的拉傷缺陷,這需要進行兩次來較為精確的篩選,為了排除氣瓶內(nèi)壁中其它較長缺陷的干擾,最后一步判斷有無拉傷并計算拉傷個數(shù)及最大拉傷的長度。此步驟中最重要的是連接近似共線的輪廓。根據(jù)前文所提到拉伸的基本特征,連接時應多為偏向于縱向的直線,所以要按照垂直近似共線程度來連接兩個邊緣輪廓。涉及的理論參數(shù)參考橫向劃痕缺陷提取的步驟。
圖5 縱向拉傷缺陷檢測
本文算法測試實驗的圖像采集裝置如圖6所示,采集設備為USB2.0接口的攝像模組,型號為RER-USBFHD01M-LS36。根據(jù)實際內(nèi)壁厚度調(diào)節(jié)好攝像模組的焦距,工作距離定為36mm,攝像模組和光源裝在一根碳纖維桿上,碳纖維桿固定在升降臺上。以便于調(diào)節(jié)工作距離。平移臺電機轉(zhuǎn)速為0.2r/s,根據(jù)實際情況,設定每秒采集一幅圖像,整幅圖像的分辨率為1920*1080。
本文算法測試實驗所使用的計算機處理器為Intel Core i5,主頻為2.2GHz,內(nèi)存為4G,操作系統(tǒng)為Windows8.1,軟件平臺為Visual Studio 2012。
圖6 圖像采集裝置
選取圖庫中包含三種缺陷的圖像217張和不包含缺陷的圖像167張進行缺陷類型識別實驗。首先將包含缺陷圖像類別進行人工標定,再對每處標定的缺陷進行類型識別。三種缺陷實驗結果比較見表1,其中最后一行測試無缺陷內(nèi)壁圖像檢測結果,便于分析檢測性能,分析不是缺陷卻檢測判斷為缺陷的原因。
本文方法對于包含缺陷的圖像凹坑、橫向劃痕、縱向拉傷三種缺陷的無漏檢,三種缺陷都能完全檢測出來,誤檢率1.8%。分析此處誤檢的原因:誤檢是因為內(nèi)壁有較短橫向間隔的豎直黑線,如圖7(a)、(b)所示,黑線并不屬于任何缺陷,但是其特征也符合縱向拉傷的一些基本特征,導致了誤檢。
表1 三種缺陷實驗結果比較
圖7 誤檢示例
由以上實驗結果,以Canny算子為基礎選取兩種參數(shù)來檢測鋁合金內(nèi)壁三種缺陷,對于本文方法三種缺陷凹坑、橫向劃痕、縱向拉傷無漏檢,誤檢率為1.8%。說明本文方法對以上缺陷檢測的有效性;本文方法在檢測時間上,Canny邊緣檢測算子由于本身計算的復雜性運行時間較長,運行一次的平均時間約為150ms,平均不到1秒即可將一幅圖像中的缺陷檢測出來,說明本文方法對以上缺陷檢測的高效性。
[1]郝延平.鋁合金無縫氣瓶的設計與制造[J].低溫與特氣,2017,35(2):19-24.
[2]全國氣瓶標準化技術委員會.鋁合金無縫氣瓶:GB 11640-2011[S].北京:中國標準出版社,2012.
[3]周海成.鋁合金無縫氣瓶標準的進展[J].中國特種設備安全,1994(6):29-32.
[4]Canny J.A computational approach to edge detection.IEEETransaction on pattern Analysis and Machine Intelligence,1986,8(6):679-698.
[5]曾發(fā)明,楊波,吳德文,等.基于Canny邊緣檢測算子的礦區(qū)道路提取[J].國土資源遙感,2013,25(4):72-78.
[6]施超群.鋁板帶表面缺陷智能檢測技術的應用[J].科技創(chuàng)新與應用,2013(21):41.
[7]Rafael C.Gonzalez,Richard E.Woods著,阮秋琦,等譯.數(shù)字圖像處理(第3版)[M].北京:電子工業(yè)出版社,2011:463-466.