邵新杰,李曉磊,宋 彬,唐香珺
(陸軍工程大學(xué)石家莊校區(qū)車輛與電氣工程系,河北 石家莊 050003)
身管是火炮實現(xiàn)其威力的重要執(zhí)行部件,發(fā)射時在火藥氣體的作用下賦予彈丸初速、旋速和飛行方向。在發(fā)射過程中,內(nèi)膛要承受高溫、高壓、劇烈摩擦等惡劣環(huán)境,火炮身管內(nèi)膛的技術(shù)性能會逐步下降。因此,定期對火炮內(nèi)膛進行檢查,及時發(fā)現(xiàn)火炮內(nèi)膛中的潛在隱患,就顯得尤為重要。目前對火炮內(nèi)膛的檢測方法主要有測徑法,窺膛法等。這些方法雖然能夠在一定程度上對炮膛技術(shù)狀態(tài)進行檢測和判斷,但是存在檢測效率低,誤判概率大,容易造成二次損傷等不足。結(jié)構(gòu)光檢測技術(shù)是近年來興起的機器視覺檢測方法的一種,它是一種同時利用圖像和結(jié)構(gòu)光源的測量技術(shù),其主要工作原理是通過已知的照明光源中的幾何信息來分析未知的實物信息[1-5]。相比于傳統(tǒng)的檢測技術(shù),具有非接觸、高精度、高效率等優(yōu)點。對于視覺傳感器的標定,一般可以分為攝像機參數(shù)的標定和系統(tǒng)結(jié)構(gòu)參數(shù)的標定[6-7]。目前,應(yīng)用最為廣泛的CCD參數(shù)標定方法是張正友提出的基于共面參照物的標定方法[8]。而針對傳感器結(jié)構(gòu)參數(shù)的標定,主要有拉絲標定法和齒形標定法等。由于火炮身管結(jié)構(gòu)光檢測系統(tǒng)的工作環(huán)境存在視場小、光線弱等特點,導(dǎo)致傳統(tǒng)的標定方法有較大的局限性[9]。本文設(shè)計了一種適用于身管檢測系統(tǒng)的現(xiàn)場標定筒,并基于結(jié)構(gòu)光理論提出了相應(yīng)的標定方法。利用此標定筒上特征環(huán)槽具備的距離約束和角度約束,有效完成系統(tǒng)結(jié)構(gòu)參數(shù)的標定。
本文所提出的火炮身管結(jié)構(gòu)光檢測系統(tǒng)包括離線參數(shù)獲取和在線磨損量測量兩部分,如圖1所示。其中,離線參數(shù)獲取主要通過采集參數(shù)已知的標定筒圖像和光柵參數(shù)反演出整個檢測系統(tǒng)的垂軸放大率和成像物鏡的垂軸放大率,對檢測系統(tǒng)參數(shù)進行標定;在線磨損量測量是指對實際火炮身管膛線磨損量進行測量,根據(jù)離線獲取的檢測系統(tǒng)參數(shù)計算實際的火炮身管膛線磨損量。由兩部分作用不難看出,檢測系統(tǒng)參數(shù)標定的準確性直接關(guān)系到在線磨損量檢測的精度,對檢測系統(tǒng)的實際應(yīng)用效果至關(guān)重要。檢測系統(tǒng)實物連接如圖2所示,主要包括CCD相機,光學(xué)反光鏡、激光光柵等。
圖1 火炮身管膛線光學(xué)檢測方案Fig.1 Optical inspection diagram for abrasion of artillery barel rifle
2.2.1 激光三角法
激光三角法是結(jié)構(gòu)光檢測系統(tǒng)的核心工作原理,按結(jié)構(gòu)光光柵投射角度的不同,激光三角法分為直射式和斜射式兩種。在實際應(yīng)用中,尤其是針對火炮身管這一類檢測對象而言,斜射式的應(yīng)用明顯要優(yōu)于直射式。因此,本文設(shè)計的身管檢測系統(tǒng)采用斜射式激光三角法。
圖2 火炮身管膛線檢測系統(tǒng)實物圖Fig.2 Optical inspection diagram for abrasion of artillery barel rifle
斜射式就是指入射的結(jié)構(gòu)光光柵與被測物體的表面成一定的角度進行投射,其光路圖如圖3所示。在以一定的角度投射到被測物體表面后,經(jīng)過被測物體表面漫反射后的結(jié)構(gòu)光光柵再通過CCD相機的透鏡投射到CCD相機的光敏面上。由圖3分析知,入射方向投射過來的結(jié)構(gòu)光光柵與參考平面成α夾角,經(jīng)過被測物體表面幾何形狀反射過來的結(jié)構(gòu)光光柵和成像系統(tǒng)中的CCD相機里面的光敏面的夾角為β。根據(jù)三角形相似原理,得到公式(1):
(1)
代入坐標得公式(2):
(2)
化簡公式(2)得公式(3):
(3)
式中,y是H1相對H0的高度;x是點M1相對M0的像移;a是點H0的物距;b是點H1的像距。通過標定系統(tǒng)參數(shù),即可依據(jù)公式(3)利用像移x計算高度y。
圖3 斜射式激光三角法Fig.3 The inclined type laser triangulation method
2.2.2 結(jié)構(gòu)光深度檢測原理
物體深度信息的原理如圖4所示,假設(shè)平面m和平面n為高度相差Δh的兩個水平面。如果由激光投射器投射的激光束沿著光路1投射到平面m上,則激光束投射在A點處,如果激光束沿著光路投射到平面n上,則激光束投射在B點處,A點和B點分別投影到CCD傳感器靶面上時,二者對應(yīng)的像素點相距為Δp。所以當(dāng)線結(jié)構(gòu)光條紋投射到有高度變化的物體表面時,其條紋圖像會在對應(yīng)的突變處發(fā)生偏移,偏移的距離與物體表面突變的大小成正比。此處我們定義圖像中每個像素對應(yīng)的空間深度為深度分辨率k,則:k=Δh/Δp,易知在整個光學(xué)結(jié)構(gòu)固定的情況下,k值為一定值。所以,通過判斷圖像中條紋偏移的像素距離,可以對物體表面的深度突變信息進行計算。
圖4 原理示意圖Fig.4 Schematic diagram
由于本檢測系統(tǒng)采用斜射式激光三角法的光路設(shè)計結(jié)構(gòu),通過光路設(shè)計使結(jié)構(gòu)光柵以較大的入射角投射至被測物體表面,從而CCD相機可以在成像區(qū)域采集到由于被測物體表面高低差變化產(chǎn)生的結(jié)構(gòu)光條偏移圖像,結(jié)構(gòu)光條偏移的距離h′與物體表面突變的高度h,在忽略鏡頭畸變影響的情況下,具有一定的線性關(guān)系。
結(jié)合斜射式光學(xué)三角測量法和結(jié)構(gòu)光深度檢測原理對成像過程進行標定,如圖5所示,被測物體表面的高度變化h與CCD傳感器上兩個像素點之間的物理距離h′之間的關(guān)系如式(4)所示:
(4)
式中,a為結(jié)構(gòu)光光軸和接收攝像機鏡頭光軸的交點到接收攝像機鏡頭前主面的的距離;b為接收攝像機鏡頭后主面到成像中心點的距離;θ1為結(jié)構(gòu)光光軸與被測面法線的夾角;θ2為攝像機鏡頭光軸與被測面法線的夾角。
圖5 標定成像原理Fig.5 The principle of the calibration imaging
由于身管內(nèi)膛的陽線和陰線之間存在高度差,結(jié)構(gòu)光經(jīng)內(nèi)膛表面反射后發(fā)生變形。高度差越大,采集到的結(jié)構(gòu)光圖像偏移量越大,二者存在線性關(guān)系。假設(shè)被測平面m和平面n的高度差h已知,根據(jù)檢測系統(tǒng)光學(xué)結(jié)構(gòu)參數(shù),可以求解出h與h′之間的線性關(guān)系,即完成檢測系統(tǒng)標定。
CCD相機獲取圖像后,在計算機中存儲為M×N維數(shù)組。數(shù)組中的每一個坐標點為像素點,其數(shù)值反映了圖像的亮度,大小用灰度值表示。如圖6所示,定義圖像像素坐標系OXY,假設(shè)圖像平面內(nèi)任意一點坐標為(x,y),其代表該像素在圖像上的列數(shù)和行數(shù),單位為像素(Pixel)。
圖6 圖像平面標定原理Fig.6 The calibration principle of the imaging plane
圖6中,以區(qū)域A0和B0中第i條結(jié)構(gòu)光條AB和CD為例,設(shè)在圖像像素坐標系OXY內(nèi)任意直線的方程為y=ax+b,則由線性最小二乘法公式(5),分別對結(jié)構(gòu)光條AB和CD進行線性擬合,得到第i條直線段方程Ai+Biy+Ci=0,其中,Ai、Bi、Ci分別為擬合直線方程的系數(shù)。
(5)
針對被測物體表面高度差變化劇烈的圖像,提取區(qū)域A0中擬合得到直線段A′B′的橫坐標最大值ximin和區(qū)域B0中對應(yīng)折斷偏移直線段C′D′的橫坐標最小值ximin,代入對應(yīng)直線段方程中,得到橫坐標極值條件下的縱坐標yimax_x和yimin_x,從而得到結(jié)構(gòu)光條在區(qū)域A0和B0邊界折斷處的極值坐標B(ximax,yimax_x)和C(ximin,yimin_x)。
由點到直線距離公式(6),分別計算得到特征點B(ximax,yimax_x)到直線段C′D′的距離值dAi,同理可以得到特征點C(ximin,yimin_x)到直線段A′B′的距離值dBi,以及兩距離值的平均值dCi。
(6)
式中,(xi,yi)為區(qū)域A0和B0的特征點坐標;Ai、Bi、Ci分別為特征點所在直線方程的系數(shù)。
若造成結(jié)構(gòu)光條圖像發(fā)生折斷偏移的凹槽高度差為已知值h,則由pi=dCi/h可以得到圖像偏移量與被測物體表面高度差之間的線性比例系數(shù)pi,對提取的i條結(jié)構(gòu)光條得到的比例系數(shù)取均值,即可得到圖像中光條折斷偏移量與被測物體實際高度差的比例系數(shù)P,如式(7)所示:
(7)
至此,即完成了測量系統(tǒng)針對標準尺寸凹槽的快速標定。
為了滿足系統(tǒng)現(xiàn)場快速標定要求,本文設(shè)計研制了針對不同口徑火炮身管的標定筒。以口徑155 mm的標定筒為例,標定筒的內(nèi)徑尺寸為155 mm,外徑尺寸為175 mm,其內(nèi)壁分為A、B、C三個區(qū)域,分別為縱向凹槽區(qū)域、周向凹槽區(qū)域和光滑區(qū)域,如圖7所示。
圖7 內(nèi)徑155 mm標定筒實物圖Fig.7 The prototype of the calibration cylinder with a diameter of 155 mm
標定筒每個區(qū)域包含不同深度尺寸和結(jié)構(gòu)類型的凹槽,檢測系統(tǒng)可以根據(jù)系統(tǒng)標定需求獲取不同類型凹槽的多種特征圖像。經(jīng)過數(shù)字內(nèi)徑千分表和表面粗糙度儀測量,各凹槽尺寸精度和表面粗糙度均滿足對檢測系統(tǒng)進行標定的精度要求。
以寬度為60 μm的結(jié)構(gòu)光條為例,利用本文設(shè)計的膛線磨損量檢測系統(tǒng)采集標定筒區(qū)域B的圖像,可以看出結(jié)構(gòu)光在經(jīng)過相鄰兩個凹槽時分別發(fā)生了偏移,如圖8(a)所示。首先提取圖像中兩條結(jié)構(gòu)光光條,如圖8(b)所示;然后綜合采用十字中值濾波和維納濾波對結(jié)構(gòu)光圖像進行降噪處理,噪聲得到極大抑制,如圖8(c)所示。
圖8 60 μm結(jié)構(gòu)光條提取和降噪處理Fig.8 60 μm structured light stripes extraction and noise reduction processing
受標定筒內(nèi)表面形狀的限制,降噪處理后的結(jié)構(gòu)光條中間部分直線度高,而左右邊緣區(qū)域出現(xiàn)彎曲,會對中心線提取和像素距離計算造成誤差[10]。因此,本文截取結(jié)構(gòu)光條中間至截斷偏移處部分進行計算。為了計算方便,旋轉(zhuǎn)圖像使截取的結(jié)構(gòu)光條指向豎直方向,如圖9(a)所示。采用灰度重心法對圖9(a)中的結(jié)構(gòu)光條進行中心線提取,如圖9(b)所示,結(jié)構(gòu)光單線條被提取出來。
圖9 光條中心線提取Fig.9 Center line extraction of light strip
由于火炮身管膛線是螺旋形結(jié)構(gòu),為了更好地在圖像上顯示光條紋受到調(diào)制而發(fā)生的偏移,結(jié)構(gòu)光條紋與豎直方向成一定角度投射在待測面上,如圖9所示。根據(jù)式(4),對應(yīng)實際測量系統(tǒng)中參數(shù)為θ1=45°、θ2=0°,所以被測物體表面的高度變化h與CCD傳感器上兩個像素點之間的像素距離Δp可以表示為公式(8):
(8)
其中,a和b為已知的系統(tǒng)結(jié)構(gòu)參數(shù),a=110 mm,b=33 mm;α表示結(jié)構(gòu)光投射出的光點經(jīng)過凹槽調(diào)制的偏移距離在與光條垂直方向上的分量系數(shù);μ表示CCD傳感器上每個像素點對應(yīng)的尺寸(邊長),由相機的參數(shù)可知μ=0.0074 mm,數(shù)值較小,此處不利用此參數(shù)進行計算,而與未知參數(shù)α的乘積β作為未知參數(shù)計算。
計算深度為1 mm的凹槽處結(jié)構(gòu)光圖像中粗條紋的像素偏移距離,見表1。表中計算了30張受調(diào)制的結(jié)構(gòu)光條紋圖像,并計算出其平均值為29.481。取平均值代入式(8),計算得到參數(shù)β=0.010085。
表1 1 mm凹槽對應(yīng)的條紋偏移像素距離Tab.1 Stripe offset pixel distance corresponding to the 1 mm grooves
本文對未執(zhí)行過射擊任務(wù)的某型火炮身管內(nèi)膛進行系統(tǒng)膛線檢測與磨損量驗證計算。由于身管內(nèi)膛結(jié)構(gòu)光圖像采集、處理,以及膛線高度、磨損量計算過程與標定筒內(nèi)壁結(jié)構(gòu)光圖像的標定過程相同,在此不再贅述,處理效果如圖10所示。
圖10 身管內(nèi)膛結(jié)構(gòu)光條紋像素間距計算示意圖Fig.10 Schematic diagram for calculation the pixel distance of structured light stripe in the barrel bore
通過以上方法分別對10張身管內(nèi)采集的結(jié)構(gòu)光圖像進行膛線高度計算,由于待測火炮身管未執(zhí)行過射擊任務(wù),其膛線理論磨損量為零。分別計算出10個檢測數(shù)據(jù)與標準火炮身管膛線高度的絕對誤差值,結(jié)果如表2所示。
表2 膛線高度檢測絕對誤差Tab.2 Rifling height measurement of absolute error
從表2可以看出,火炮身管膛線深度進行檢測的絕對誤差不超過0.01 mm,符合實際中的檢測要求??紤]到身管的加工也有一定的誤差,而且可以通過對圖像處理過程中圖像去噪、條紋中心線的提取等過程的算法改進,可以使測量誤差進一步降低。
針對內(nèi)膛缺陷檢測系統(tǒng)現(xiàn)場標定的實際需求,本文圍繞自行設(shè)計的標定筒,利用結(jié)構(gòu)光理論提出了一種現(xiàn)場標定方法。經(jīng)過實驗驗證計算,該方法可以有效確定檢測系統(tǒng)的結(jié)構(gòu)參數(shù),能夠以較高精度對檢測系統(tǒng)進行標定,提高了火炮身管檢測的效率和質(zhì)量,為實現(xiàn)戰(zhàn)場快速和精準保障提供了理論依據(jù)和技術(shù)。