周 圍,肖 鑫*,汪 芮,劉志博,伊紀祿
(1.河北工業大學 機械工程學院,天津 300130;2.中國電子科技集團公司第十八研究所,天津 300381)
熱電池作為現代化武器的一種理想電源,在航空航天、軍事領域占有重要位置[1]。因此,對于熱電池的安全性、可靠性有較高的要求[2]。熱電池的裝配采用人工操作,不可避免會出現裝配失誤,這將導致熱電池存在極大的安全隱患,因此,必須對裝配后的熱電池進行缺陷檢測。由于熱電池是一次性儲備電池,傳統的電化學性能檢測與內部物質形態檢測并不適用。無損檢測(nondestructive testing,NDT)作為一種有效的電磁檢測技術[3],在熱電池內部缺陷檢測中的得到了廣泛地應用。適用于熱電池的無損檢測技術包括X射線成像、計算機層析成像(CT)和空氣耦合超聲檢測[4],X射線成像因具有對內部體積性缺陷靈敏度比超聲檢測高且檢測周期比CT短的優勢,結合圖像處理分析成為熱電池缺陷檢測系統的重要手段。
近年來,研究者們提出了許多應用于熱電池缺陷的圖像分析方法和檢測方法。秦琴[5]提出了一種單體熱電池多參數自動化檢測方法,可以有效檢測生產過程中熱電池質量;鄧士梅[6]設計了一個熱電池性能測試系統,并對電池X圖像內部結構進行分析;張思祥[7]等人通過模板匹配對單體熱電池進行分割,在此基礎上對單體電池缺陷特征進行研究。雖然不同的方法在特定的應用場景取得了一定的研究成果,但仍有許多不足之處。對于單體電池數目較多的熱電池,單體電池厚度、系統光照條件和拍攝位置等因素均易引起圖像匹配精度的降低。本文針對上述問題,提出一種基于改進灰度標準化和自適應模板匹配的熱電池裝配缺陷檢測方法,能夠對熱電池裝配缺陷進行準確和有效地檢測識別。
熱電池主要由多層單體電池裝配而成,利用X射線對熱電池內部不同材料結構穿透量存在差異的原理,在成像板上形成不同灰度的熱電池X圖像,如圖1(a)所示。

圖1 熱電池X圖像與單體結構
熱電池在裝配時是按四片層單體電池、集流片、四片層單體電池循環順序進行裝配,正確的裝配次序如圖1(b)所示。四片層單體電池是不可分的整體,每層的厚度按順序為0.2mm、0.3mm、0.2mm、0.5mm,負極位于單體電池的頂部,在X圖像中可以比較清晰的看到一條白線。集流片是一層0.1mm的鋼片,作用是將負極與加熱藥劑隔離,在X圖像中通過放大可以看到一條細小的黑線。
裝配失誤導致的裝配缺陷主要有漏裝集流片或單體電池、單體電池整體倒裝和裝配次序錯誤,裝配缺陷主要集中在由單體電池構成的電池堆區域,如圖1(a)所示的虛線框區域。該區域形狀是比較規則的矩形,但是由于背景圖像的干擾加上單體電池的輪廓比較復雜,對電池堆區域輪廓進行提取較為困難,因此使用模板匹配可以相對簡單地提取出電池堆所在矩形區域。
熱電池裝配缺陷檢測方法流程如圖2所示。利用改進的灰度標準化方法對輸入的待檢測熱電池圖像和電池堆區域模板庫圖像進行預處理,通過模板庫粗匹配得到最相似的模板,并利用自適應模板匹配法對模板尺寸大小、旋轉角度進行自適應調整,對電池堆區域進行精準提取。

圖2 熱電池圖像缺陷檢測流程
提取的電池堆區域可能存在小角度旋轉的情況,通過角點檢測計算出旋轉角度,利用仿射變換對電池堆區域角度進行矯正,再對電池堆缺陷特征進行提取,與電池缺陷庫的缺陷特征進行匹配,結合單體特征自對比,將計算結果輸入到CART(classification and regression tree)分類器實現熱電池裝配缺陷的檢測。
熱電池X圖像受光照環境、射線源聚焦位置和功率等影響,在灰度分布上可能存在著很大的差異,對于X射線聚焦的區域,單體電池結構紋理特征較為清晰,而其它區域則相對模糊,這對后續的缺陷特征提取和識別有很大的影響,因此需要對電池X圖像進行灰度標準化處理[8]。
傳統的灰度標準化是將圖像的灰度均值和方差轉化為統一的設定值,該方法適用性較差,不適合灰度范圍較廣的熱電池圖像。為此,本文提出一種改進的灰度標準化方法。先對輸入的待檢測熱電池圖像進行灰度標準化,對于的點,有:

式(1)中:I1(i,j)、M1分別為標準化前待檢圖像的灰度值和灰度均值,為標準化后待檢圖像的灰度值。
對于輸入的灰度值在(M1/50,M1)區間的像素點,則:

對于I1(i,j)≤M1/50的低灰度級像素點,灰度值輸出為0。利用上述方法對待檢熱電池圖像進行處理,效果如圖3所示。

圖3 待檢圖像灰度標準化處理
可以看出,使用本文方法對熱電池圖像進行灰度標準化后,電池堆區域與上下相連的鋼片區域的對比度有了明顯的改善,并且由于是線性灰度變換,電池堆區域的紋理變化不會受影響。
對模板圖像使用與待檢圖像相同的標準化處理方法,并不斷調整相關參數,再利用模板匹配的最小歸一化平方差作為判斷依據,得到待檢圖像標準化后灰度均值和方差與模板標準化相關參數的10組數據,如圖4所示。

圖4 灰度標準化互相關參數
通過圖4數據可以看出,同一模板標準化參數下均值和方差在以y=100橫軸處呈對稱關系。因此,本文針對模板標準化參數與待檢圖像灰度均值的互相關性建立一個線性回歸模型。
采用一元線性回歸模型,計算得到經驗線性回歸方程為:

式(3)中:α為模板圖像標準化參數,m1為待檢圖像標準化后灰度均值。
同樣,利用相關性灰度標準化對模板圖像進行處理,對于I2(i,j)≥M2的像素點,有:

式(4)中:I2(i,j)、M2分別為標準化前模板圖像的灰度值和灰度均值,N2(i,j)為標準化后模板圖像的灰度值。
對于輸入的灰度值(M1/50,M1)在區間的像素點,則如式(5)所示:

對于I2(i,j)≤M2/50的低灰度級像素點,灰度值輸出為0。利用上述方法對模板圖像進行處理,效果如圖5所示。

圖5 模板圖像灰度標準化處理
比較圖3與圖5的電池堆區域灰度分布可以發現,本文提出的方法得到的灰度標準化結果中電池堆區域特征更加突出,且與模板標準化后的灰度更加接近,從而更有利于模板的準確匹配。
根據對熱電池X圖像的分析,裝配缺陷主要集中在形狀較為規則的電池堆區域,因此采用了基于灰度的模板匹配法。模板匹配法將事先建立好的模板放在待搜索圖像中作平移,在平移過程中不斷計算模板和待搜索圖像的相似程度來檢測目標圖像。
常用的模板匹配方法[9,10]有平方差匹配、相關性匹配和相關系數匹配,通過實驗可知,歸一化平方差法可以相對精準地提取電池堆區域,并減少光照引起的匹配誤差。該算法過程為:

式(6)中:T為輸入的模板圖像,I為輸入的待匹配圖像,R為輸出的結果,區間在[0,1]內,當模板與匹配的子圖完全不相關時R(x,y)為1,完全匹配時R(x,y)為0。
模板匹配法對于模板的要求較高,選取的模板質量會直接影響到匹配的結果。一般模板的制作都只是簡單地從樣本圖像中截取出目標模板,若原圖中匹配目標的灰度、形狀或位置發生變化,匹配容易出現偏差。因此本文在制作標準模板時,對不同型號的熱電池樣本圖像根據灰度、形狀和位置進行分類,選取質量較好的樣本模板并對其取平均值和濾波處理。將制作的標準模板存入模板庫中,分別對應熱電池的不同型號,模板庫匹配流程如圖6所示。

圖6 模板庫匹配流程圖
熱電池X圖像的拍攝受角度、環境與設備狀況等因素影響較大,因此每張熱電池圖像中電池堆區域部分的灰度分布、尺寸大小、旋轉角度和位置等都存在差異,待檢圖像與模板圖像不可能完全一致。使用傳統模板匹配法進行匹配會有一定的匹配誤差,這將直接影響熱電池缺陷檢測的準確率。
本文提出的改進灰度標準化可以改善灰度分布的差異,但無法解決匹配目標尺寸和旋轉角度有變化的問題。為了有效解決上述問題,并提升電池堆區域分割的精準度,在傳統模板匹配方法的基礎上,提出一種基于模板尺寸與角度自適應的改進模板匹配方法[11,12],算法流程如圖7所示。

圖7 自適應模板匹配流程圖
為確保自適應模板匹配時模板尺寸能夠適用,需要對模板尺寸進行預縮放。通過實驗發現,模板預放大匹配精度一般比模板預縮小高,模板尺寸放大倍數在1.05~1.20較為合適,匹配過程中模板縮放因子為0.01~1.03,縮放因子過高會使匹配出現偏差。因為電池堆區域旋轉角度一般不大,旋轉角度步長為1o左右。設置預放大倍數為1.20,縮放因子為0.01,每次旋轉角度為1o,最大循環次數為30,自適應模板匹配結果如圖8(b)所示。

圖8 模板匹配結果對比
圖8(a)中使用的是歸一化平方差模板匹配方法,由于模板大小固定,匹配結果中包含了電池堆下面的鋼片部分區域,頂部則缺少一部分單體電池,匹配得誤差較大,對后續的缺陷特征提取有較大影響。在改進灰度標準化的基礎上,使用自適應模板匹配可以比較精準的提取電池堆區域,匹配結果中可以明顯看出匹配的位置及匹配誤差都優于傳統的模板匹配方法。
提取的電池堆區域如果存在傾斜的情況,需要調整電池堆邊角。對電池堆進行二值化、平滑處理后,可以檢測到電池堆區域的輪廓,如圖9(b)所示。

圖9 電池堆調整
通過Shi-Tomasi角點檢測算法對電池堆區域左邊緣上角點坐標和下角點坐標進行提取,并對兩點連線左側區域進行分割,如圖9(c)所示。最后利用仿射變換以為旋轉中心,旋轉角度計算公式為:

電池堆區域經過調整后,對電池堆進行豎直方向的灰度掃描,如圖10(a)和圖10(c)所示。
實驗所用熱電池的單體個數為24,由于數量較多加上射線源聚焦區域有限,因此部分電池堆區域單體結構特征不明顯。若電池堆區域圖像大小為,為了提取有效的特征,需要多個方向進行灰度垂直掃描,即:

式(8)中:為像素點位置的橫坐標,為掃描方向系數。
為了避免重影問題,在實驗時取0.2、0.6和0.9提取的特征較為準確。圖10(b)和圖10(d)為方向同一橫坐標的相鄰5個像素的灰度均值分布。從圖中可以看出,每個單體電池從負極到集流片,灰度值逐漸下降。其中峰值表示單體電池頂部位置的灰度值,谷值表示單體電池底部位置集流片灰度值,因為集流片厚度比較小,峰谷值間的像素距離大約是單體電池的厚度。

圖10 電池堆豎直方向灰度掃描
對每段曲線的局部波峰和波谷進行計算,通過橫坐標的距離和灰度值進行篩選,將得到的每個單體電池波峰和波谷的橫坐標分別存入數組和,n為單體電池個數,計算波峰和波谷之間的像素距離:

單體電池縱向自對比得到數組d[i],計算公式為:

標準電池相鄰單體電池之間的值變化不大,而從圖10(d)中虛線框中可以看出缺陷電池值變化較為明顯,該處存在單體倒裝缺陷。通過對每段灰度曲線的曲率、波峰和波谷坐標等進行提取[13,14],計算得到單體電池厚度、個數、集流片位置和頂部位置等特征數據,將數據通過特征自對比結合特征匹配計算歐式距離,利用分類器對結果進行分類。
實驗采用的熱電池X圖像由德國phoenix公司生產的s240D工業射線儀進行實物拍攝,如圖11所示。射線源焦點最小為500μm,最大電壓可達240kV,可以達到10μm的識別精度。使用高電壓和高電流可以使所成X圖像更加清晰,但是長時間的使用會加劇設備的損耗。所以實際圖像采集時,電壓為140kV,電流為35μA,工作臺的位置坐標設置為。

圖11 熱電池樣品與X射線儀
熱電池無損檢測系統的設計基于VC++6.0開發環境、Open CV計算機視覺庫和SQL Server數據庫。為了驗證本文提出的熱電池裝配缺陷檢測方法的實際效果,采用標準熱電池圖像200個,具有漏裝單體電池、漏裝集流片、裝配次序錯誤和單體電池倒裝缺陷的電池圖像樣本各50個,對總計400個熱電池樣本進行實驗驗證,得到得檢測結果如表1所示。

表1 熱電池裝配缺陷檢測結果
從表1數據結果可知,本文檢測方法對標準電池、漏裝單體電池、次序錯誤和單體電池倒裝缺陷的檢測準確率均能達到97.5%以上,而對漏裝集流片缺陷的誤檢率較高。經過分析發現,集流片與X射線源聚集位置和裝配時產生的形變有關,這對特征的提取產生較大影響,進而降低了檢測的正確率。
為了提高熱電池圖像缺陷檢測的效率和準確率,提出了一種基于改進灰度標準化和自適應模板匹配的缺陷檢測方法。通過實驗證明,該方法能夠有效識別出常見的3種裝配缺陷,對于熱電池樣本總數為400的檢測準確率能夠達到96%,平均每個電池圖像的檢測時間為2.1s,相比于文獻[7],檢測效率提高了30%,由于檢測所用熱電池單體個數的增加和單體厚度的減小,檢測的難度也隨之升高。該檢測方法具有較高的實用性,可以應用于其它型號熱電池的缺陷檢測。