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