孟向臻,姜春英,丁美杰,徐永利,徐志剛
(1.沈陽航空航天大學,遼寧 沈陽 110136;2.中國科學院 沈陽自動化研究所,遼寧 沈陽 110016)
分體式大口徑后膛炮的彈體主要采用螺紋連接,螺紋連接的扣數(shù)對于炮彈的發(fā)射質(zhì)量至關重要[1]。分體式炮彈縫寬大小是檢測螺紋連接情況的重要指標之一。傳統(tǒng)的縫寬檢測方法是進行人工手動測量。因手動對帶藥的彈丸進行檢測,具有一定的危險性;且由于縫寬細小,使得操作者不易觀察,導致測量結(jié)果一致性差、效率低。為了提高縫隙測量的精度與效率,保障操作人員的生命安全,非常有必要利用機器視覺的智能檢測方法取代傳統(tǒng)的人工操作環(huán)節(jié),從而實現(xiàn)自動化、智能化的生產(chǎn)流程。筆者基于承擔的相關項目,開展了分體式炮彈縫寬測量的應用研究。
關于彈藥測量的研究,國內(nèi)盧艷萍團隊提出了一種基于工業(yè)CT成像的彈藥縫隙測量方法[2]。胡備等基于激光位移傳感器提出了一種水平臺校準測量的方法,實現(xiàn)了對火炮身管內(nèi)徑測量的優(yōu)化計算[3]。在機器視覺領域,縫寬測量即為邊緣檢測,劉天時等提出了一種自適應閾值的改進Prewitt算子[4],提高了巖石邊緣的檢測率,但該方法對噪聲異常敏感,在邊緣線較粗的情況下會出現(xiàn)偽邊緣。李軍成構(gòu)造了一種 0~1階的分數(shù)階Sobel算子[5],分數(shù)階微分能夠檢測出詳細的邊緣特征,對噪聲有一定的抑制作用,但會出現(xiàn)邊緣斷裂的情況。雒濤提出一種改進的自適應閾值Canny檢測算法[6],高低雙閾值的選取解決了人為因素導致的斷邊和偽邊緣檢測。梁肇峻等提出了一種基于Otsu的自適應Canny算法[7],有效提高了Canny算法的定位精度與魯棒性。
針對分體式炮彈縫寬高精度穩(wěn)定測量這一特定研究問題,國內(nèi)并未見相關文獻報道。為了保證測量的相對誤差小于0.02 mm,筆者提出了一種基于改進Otsu-Sobel的分體式炮彈縫寬視覺測量方法。
炮彈表面如圖1所示。圖1(a)中間深色區(qū)域為縫寬間隙。因為炮彈在螺紋擰緊后留下的縫隙寬度不同,所以在擰緊后需要對縫隙寬度進行精確測量。為提高縫隙圖像的對比度以及抵消表面涂層顏色對縫隙測量結(jié)果的影響,采用兩個LED條形光源照射圓柱體表面,如圖1(b)所示。
因為縫隙邊緣存在毛刺等缺陷,對打光后圖像進行濾波降噪處理,通過Otsu閾值分割算法確定縫隙邊緣的感興趣區(qū)域,并在感興趣區(qū)域內(nèi)進行單調(diào)化處理。然后,利用Sobel算子確定閾值區(qū)間,以便對縫隙進行粗定位。最后,在所確定的梯度閾值區(qū)間內(nèi)利用離散度獲得精確的縫隙邊緣。改進的Otsu-Sobel邊緣檢測算法流程圖如圖2所示。
為了弱化外界因素對縫隙測量的干擾,選用高斯函數(shù)對圖像進行濾波處理。圖3為0.16 mm縫隙圖像灰度圖,圖像像素尺寸為64×64,縫寬長度為0.32 mm。圖4為圖像像素值的三維表示,其中高度信息代表像素值大小,從圖4可看出濾波后的圖片相比濾波前趨于平滑,有利于后續(xù)的圖像處理。
閾值分割通過設置一個閾值K,將圖像分為兩部分:
(1)
式中:f(x,y)表示像素坐標系下(x,y)處閾值分割后的像素值;K為選定的閾值。
基于最大類間方差的Otsu法因分割效果良好被廣泛應用于圖像的閾值分割[8-9],故選用Otsu閾值分割的方法自適應選取閾值K:
K=Po(μ-μ′o)2+Pb(μ-μ′b)2,
(2)
式中:μ為圖像的灰度均值;μ′o和μ′b分別為目標O和背景B的均值;Po、Pb分別表示前景與背景占全圖的比例;當K取最大值時即為最佳閾值。
圖5為縫隙圖像原圖,縫隙Otsu閾值分割效果圖如圖6所示。
在Otsu閾值分割中,閾值K容易受到光照強度變化、縫隙周圍倒角、涂層破損和毛刺等外界因素影響而發(fā)生變化。閾值K選取過大會造成過度分割,閾值K選取過小會達不到分割效果,影響縫隙測量的精度。為了解決這一問題,筆者將閾值分割確定的感興趣區(qū)域擴展20%,再利用后續(xù)邊緣檢測方法確定縫隙邊緣。
1.3.1 單調(diào)化處理
在Otsu算法確定的感興趣區(qū)域內(nèi),圖像灰度值曲線凹凸不平。為了保證Sobel微分的統(tǒng)一性以及提高邊緣檢測的效率,采用如式(3)所示的單調(diào)化處理方法。具體為:在感興趣區(qū)域內(nèi)以最小灰度值位置為起點,向兩邊判斷下一個位置的灰度值是否小于目前的值,如果判斷條件成立,則使得下一個位置的灰度值等于當前位置的灰度值。
(3)
式中:N(xi,yi)是坐標為(xi,yi)處的圖像灰度值;(xT,yi)是灰度曲線中灰度值最小處的坐標值。單調(diào)化前后灰度曲線如圖7所示。
由圖7可以看出,單調(diào)化之后的灰度曲線,沒有了灰度值跳動的現(xiàn)象,具有了穩(wěn)定的趨勢。
1.3.2 Sobel邊緣檢測
當感興趣區(qū)域內(nèi)的灰度曲線完成單調(diào)化處理后,選取Otsu算法中小閾值峰頂處的灰度值作為第2個感興趣區(qū)域的界限,在界限內(nèi)將所有灰度值設置為界限內(nèi)灰度值的最大值:
M(xi,yi)=max{M(xo,yi),M(xi,yi)},xn (4) 式中:M(xi,yi)是坐標為xi處的圖像灰度值;xo是第2個感興趣區(qū)域內(nèi)中灰度值最大處的坐標值;xn是第2個感興趣區(qū)域的左邊界坐標值;xm是第2個感興趣區(qū)域的右邊界坐標值。 將圖像中的灰度信息單調(diào)化后,變化的灰度值將灰度值曲線分成若干區(qū)域,然后建立一個1*3的卷積模板,將卷積模板從灰度值最低點依次向兩邊移動并對灰度值曲線進行卷積依次計算梯度值: (5) 通過多次實驗分析,像素的梯度值如圖8所示,梯度值分布從像素值最低點向兩邊逐漸變大。當梯度值大于5時,梯度值開始劇烈變化;當梯度值小于2時,梯度值會在0~1之間變化。因此選擇[2,5]作為一階微分算子計算縫寬邊緣的粗定位區(qū)間。 1.3.3 局部精定位邊緣 在改進的Sobel邊緣檢測算子確定的縫隙粗定位區(qū)間內(nèi),依次計算灰度值的均值μ和離散度δ,最后選取離散度最大的像素坐標作為縫隙的精定位邊緣點。 (6) 式中,μ、δ、M×N分別表示像素值的均值、像素值的離散度、粗定位區(qū)域的大小。 由于硬件安裝誤差使得圖像產(chǎn)生畸變,如圖9所示,結(jié)果導致人工與視覺計算的縫隙寬度存在一定的誤差。為了實現(xiàn)目標測量精度,筆者采用最小二乘擬合方法進行縫寬數(shù)據(jù)修正。 在計算出圖像中每行像素的縫寬后,一階微分算子會出現(xiàn)3種未找到邊緣點的情況。此時,邊緣點坐標為0,即斷邊現(xiàn)象: (7) 當左邊緣a與右邊緣b,都未找到時,縫隙寬度為0;當左邊緣a找到而右邊緣b未找到時,縫隙寬度為負;當左邊緣a未找到而右邊緣b找到,縫隙寬度遠大于0。當出現(xiàn)斷邊現(xiàn)象時,為了防止壞點對擬合精度帶來影響,需在擬合前對測量數(shù)據(jù)進行帶通濾波處理。由于測量的縫寬為0.1~0.7 mm,所以設置縫寬上限與下限分別為1.2 mm和0 mm。 基于最小二乘的縫寬修正方法分為以下步驟: 1)先得到圖像中經(jīng)過帶通濾波后的每行像素的縫寬,然后統(tǒng)計出相同像素縫寬的數(shù)量占所有像素縫隙寬度數(shù)量的權(quán)重,再將所有像素縫隙寬度乘以對應權(quán)重求和得到計算值: (8) 式中:di為第i行的縫寬值的數(shù)量占全部縫寬值數(shù)量N的權(quán)重;ni為第i行縫隙值的數(shù)量;h為所有縫隙加權(quán)后計算的視覺縫隙值;βi為第i行的視覺縫隙值。 2)利用最小二乘法[10]擬合出視覺計算與人工測量縫寬之間的關系。擬合目標為給定縫寬的人工測量值集合{gi},i=1,2,3,…,與視覺檢測值的誤差平方和E2最?。?/p> (9) 式中:gi為樣本的實際測量值;Hi為樣本的平均視覺計算值;k為修正系數(shù)(包括縫隙倒角等影響);α為縫隙與垂直線的夾角;E2為實際測量值與平均計算值之間誤差的平方。最后,可得ω和b的最優(yōu)解的閉式解: (10) 被測炮彈直徑為120 mm,系統(tǒng)通過連續(xù)采集多張小樣本圖像,樣本圖像尺寸為0.76 mm×5 mm,降低了炮彈曲率對縫寬測量帶來的非線性誤差。 圖像采集設備由高分辨率CCD黑白相機,型號為MER-1070-10GM,條形光源型號為JT-LSP150-W,鏡頭選用千萬像素級別25 mm定焦鏡頭,型號為LM25JC10M組成。經(jīng)過多次試驗,測得最佳相機參數(shù)為:鏡頭工作距離為110~130 mm;光圈F為6~8;相機曝光時間為7 000 μs;圖像采集幀率為14 Hz。圖像的處理與分析在VC++(Microsoft Visual C++)環(huán)境下完成,如圖10所示。 為了驗證本方法的有效性,分別針對0.12,0.22,0.35,0.57 mm縫寬圖像進行分析,圖像分辨率為1 520×1 000??p隙原始灰度值分布與感興趣區(qū)域內(nèi)像素的梯度值分布如圖11~14所示。 根據(jù)感興趣區(qū)域內(nèi)像素的梯度值分布圖得出,縫隙圖像經(jīng)過Otsu閾值分割、單調(diào)化處理后,在區(qū)間[2,5]之間像素的梯度值變化較穩(wěn)定。在確定區(qū)間[2,5]之間像素的梯度值后,通過計算區(qū)間內(nèi)梯度的均值方差,將方差最大的像素坐標作為縫隙的精定位邊緣。 專業(yè)檢測人員利用塞尺得到22組不同縫寬值與視覺計算值的標定數(shù)據(jù)如表1所示,塞尺精度為0.01 mm,縫隙長度為0.76 mm。根據(jù)表1中的數(shù)據(jù)及式(8)~(10),采用最小二乘擬合的方法,獲得縫隙視覺計算測量值與人工測量值的擬合結(jié)果,如圖15所示,得到視覺測量值修正公式: 表1 標定縫隙寬度表 mm Y=1.817 5X+0.06, (11) 式中,X、Y分別為標定前、后的縫寬值。 為了驗證本文方法的有效性、魯棒性。選取了多組不同寬度的縫隙進行測試,將視覺計算值代入式(11)得到最終的縫隙寬度值,與專業(yè)檢測人員利用塞尺測量的縫寬值及單個工件檢測時間(約為30 s)結(jié)果進行對比,計算誤差ε: ε=R-Y, (12) 式中:R為專業(yè)檢測人員的測量值;Y為視覺修正值。 本次實驗采集的縫隙樣本長度為0.76 mm,故本系統(tǒng)利用縫隙樣本的平均縫寬值作為本樣本的縫寬值。本次實驗采集了13組縫隙數(shù)據(jù),測量結(jié)果如表2所示。結(jié)果顯示,專業(yè)檢測人員利用塞尺測量值與視覺修正值的最大測量誤差均小于0.02 mm,說明本文算法可以滿足縫寬質(zhì)量檢測的需要。 表2 縫隙測量結(jié)果 mm 筆者利用機器視覺的方法,提出了一種基于Otsu-Sobel的分體式彈藥螺紋縫寬視覺測量方法。通過Otsu閾值分割方法確定縫寬的感興趣區(qū)域,利用改進Sobel算子確定縫寬邊緣位置,再利用最小二乘法計算出縫隙的實際寬度。對0.1~0.7 mm的縫隙進行測量實驗,結(jié)果表明,該方法的最大測量誤差為0.02 mm;系統(tǒng)完成單次測量的時間為7.2 s,相比于人工檢測時間(約為30 s),系統(tǒng)在提高縫隙測量精度的同時效率提高了4倍,且測量精度可以滿足其生產(chǎn)要求,為產(chǎn)品的質(zhì)量與可靠性提供了重要保障。2 基于最小二乘擬合的縫寬修正
2.1 帶通濾波消除斷邊影響
2.2 最小二乘擬合修正
3 實驗
3.1 彈藥螺紋連接處縫隙視覺測量系統(tǒng)
3.2 縫寬測量實驗
4 結(jié)束語