熊德華,顧金良,李 建,劉志宇
(1.南京理工大學 瞬態(tài)物理國家重點實驗室,南京 210094;2.內(nèi)蒙古北方重工業(yè)集團有限公司 南京研發(fā)中心,南京 210000)
彈道軌跡作為重要的外彈道參數(shù),對其進行精確測量,是分析武器系統(tǒng)作戰(zhàn)性能,確保準確命中、致命打擊的關(guān)鍵[1]。然而現(xiàn)有高精度測量方式存在設(shè)備復雜、生產(chǎn)維護成本高、不能靈活部署等缺點,使得尋求一種相對輕量而高效的測量方式成為關(guān)注要點。提出一種基于雙目視覺定位技術(shù)的彈丸外彈道軌跡測量方法:利用兩臺高速攝像機構(gòu)建雙目匯聚系統(tǒng),沿著射向?qū)椡璩雠诳诤蟮哪骋煌鈴椀绤^(qū)段進行高幀率同步拍攝,獲取一系列連續(xù)幀清晰圖像對,后續(xù)通過輪廓檢測算法計算彈丸底部輪廓并提取中心點,再由同一時刻拍攝的左右圖像中的彈底中心坐標,利用雙目視覺視差法重構(gòu)出彈丸每一時刻的空間三維坐標,并生成彈道軌跡。相較于單個攝像機測定目標空間坐標的方法[2],雙目視覺測量系統(tǒng)具有明顯的優(yōu)勢。一方面利用兩臺攝像機的關(guān)聯(lián)性,可進一步提高單目在非深度方向的坐標測量精度,此外冗余信息的加入也使算法的魯棒性得以提高,有助于適應復雜的測試環(huán)境;另一方面,單目深度估計受限于自身算法的精度,誤差往往較大,而雙目測量系統(tǒng)模擬人類視覺結(jié)構(gòu),基于“視差” 的算法對深度方向的感知具有先天的優(yōu)勢,將有效提高深度估計精度。
過去一段時間里,雙目視覺技術(shù)在彈丸外彈道測試領(lǐng)域的應用著重于彈丸姿態(tài)測試,其角度靜態(tài)測量誤差可小于0.35°[3]。目前而言,還沒有針對槍彈這類小口徑彈丸應用雙目視覺定位技術(shù)在較低分辨率和戶外復雜環(huán)境下實現(xiàn)彈道軌跡測量的先例,該應用將為彈丸外彈道軌跡測試提供新的可選方案。
雙目立體視覺測量系統(tǒng)的常見結(jié)構(gòu)有兩種:光軸平行結(jié)構(gòu)和光軸匯聚結(jié)構(gòu)[4]。其中光軸平行結(jié)構(gòu)是一種理想結(jié)構(gòu),實際應用中一般采用單個攝像機在光滑水平軌道上平移來實現(xiàn),常用于拍攝靜物獲取靜態(tài)圖,無法完成高速運動彈丸的同步拍攝。此外,軌跡測試一般要求兩臺高速攝像機的交叉視場能夠覆蓋較長的彈道區(qū)段,同時,彈丸作為小目標,考慮算法處理精度的影響,應使拍攝視場盡可能小,因此若采用平行結(jié)構(gòu),系統(tǒng)基線將會大幅縮短,以致測試系統(tǒng)無法布設(shè)在槍炮的安全區(qū)域內(nèi)。基于以上原因,選擇采用雙目匯聚結(jié)構(gòu)。而視差法解算空間點三維坐標的前提是左右圖像位于同一平面且行對準[5],因此須事先校正圖像對。行對準平行雙目定位模型如圖1所示。
圖1 雙目定位模型Fig.1 Binocular positioning model
圖1中,Ol-XcYcZc為左攝像機校正坐標系,xyz為炮口坐標系。假設(shè)點P 為彈丸表面任一參考特征點,其空間坐標記為(Xc,Yc,Zc),從圖中可以看出,點P 的位置能被唯一確定,即為射線OlPl與OrPr的交點。將點P 投影到水平面XcOlZc,投影點為P′,根據(jù)相似三角形原理,點P 在左攝像機坐標系下的深度Xc計算式為
式中:fz表示像素尺寸焦距;T 為雙目基線距;ul0與ur0分別為左、右主點的橫坐標值;ul與ur之差稱為同名像點pl與pr間的“視差”。仍由三角形相似關(guān)系可知,點P 在左攝像機坐標系下的橫坐標Zc與縱坐標Yc的計算式分別為
式(3)中:ay與az分別表示左攝像機圖像傳感器像元在豎直和水平方向的尺寸,二者近似相等。綜上可知,在己知雙目測量系統(tǒng)內(nèi)、外參數(shù)的情況下,可由校正后的左右圖像上的對應像點重構(gòu)出該空間點在左攝像機校正坐標系下的三維坐標。
精度是雙目立體視覺測量系統(tǒng)中需要解決的關(guān)鍵問題,對其進行定量分析有助于指導系統(tǒng)設(shè)計和精度優(yōu)化?,F(xiàn)假設(shè)左右攝像機各項參數(shù)完全相同,則式(1)可簡化為
式中:f 和d 分別為物理尺寸的焦距和視差值。利用式(1)將式(2)和式(3)改寫為
式中:z,y分別為左像點在圖像坐標系下的橫、縱坐標值。由式(4)、式(5)和式(6)可知,在雙目系統(tǒng)硬件參數(shù)f,T 固定的情況下,待測空間點各坐標分量的值與對應像點的坐標值直接相關(guān),因此Xc,Yc,Zc坐標分量的誤差即為像點定位誤差的空間偏差值。假設(shè)像點的定位精度為整像素精度,其大小即為像元尺寸s?,F(xiàn)記像點的y,z 坐標分量精度分別為sy和sz,則sy=sz=s。而視差的精度sd一般稍高于y,z 的精度[6],通??捎墒剑?)進行估計[7]:
式(4)中Xc對視差d 計算偏導,并最終求得Xc方向的測量精度為
式(5)中Zc分別對Xc和z 計算偏導,并求得Zc方向的測量精度為
同理,Yc方向的測量精度為
綜上可知,在未考慮雙目標定、圖像對立體校正、同名像點匹配、目標像點提取等算法計算精度的情況下,雙目測量系統(tǒng)的精度主要與基線距、鏡頭焦距、像元尺寸、測量距離等因素有關(guān)。
測量系統(tǒng)主要由信號觸發(fā)部分、圖像采集部分、工控機控制部分、數(shù)據(jù)處理部分和輔助測量部分組成,如圖2所示。
圖2 測量系統(tǒng)組成Fig.2 Composition of measurement system
測試前,借助高精度棋盤格標定板對系統(tǒng)內(nèi)、外參數(shù)進行標定。測試時,彈丸出炮口瞬間,位于炮口附近的觸發(fā)裝置將產(chǎn)生一個觸發(fā)信號,通過工控機時序控制器事先設(shè)置好的兩臺高速攝像機的延時,確保二者在拍攝時處于同步狀態(tài)。拍攝得到的圖像通過圖像采集卡存儲于工控機中,用于后續(xù)的數(shù)據(jù)處理過程。
布站時應依據(jù)較小測量誤差的原則,設(shè)計確定兩攝像機間的基線距、鏡頭光軸與基線的夾角等雙目系統(tǒng)結(jié)構(gòu)參數(shù)。布站示意圖如圖3所示。
圖3 布站示意圖Fig.3 Schematic diagram of measuring station layout
圖中兩臺高速攝像機對稱、等高布設(shè)于槍炮左右側(cè)后方的安全區(qū)域內(nèi),鏡頭相向轉(zhuǎn)動相同角度,構(gòu)成雙目匯聚系統(tǒng),并沿著彈丸運動方向以固定視角、相同視場進行同步拍攝,交叉視場覆蓋的彈道AB 段即為該系統(tǒng)的測量范圍。設(shè)計系統(tǒng)結(jié)構(gòu)參數(shù)時,還需綜合考慮眾多因素,一般包括:彈道測試范圍、可選的焦距大小、預期的目標像素尺寸變化范圍、實驗場地大小以及槍炮安全距離范圍等。
數(shù)據(jù)處理流程如圖4所示。
圖4 數(shù)據(jù)處理流程Fig.4 Data processing flow chart
測試時采集的圖像數(shù)據(jù)可被歸為兩類:一類是標定圖像,用于標定雙目內(nèi)、外參數(shù),計算鏡頭畸變參數(shù);另一類是彈丸目標圖像,用于提取匹配像點。首先基于張正友標定法完成雙目標定,獲得每個攝像機的內(nèi)參矩陣、畸變系數(shù)矩陣以及兩攝像機坐標系之間的旋轉(zhuǎn)矩陣和平移向量,利用這些參數(shù)采用Bouguet 校正算法[8]對彈丸目標圖像進行立體校正,將雙目匯聚模型轉(zhuǎn)化為視差法所需的行對準平行雙目模型。對校正后的圖像進行一次預處理,主要目的是改善圖像質(zhì)量,提高彈丸目標的可檢測性,并消除圖像中的無關(guān)信息以減少數(shù)據(jù)量。預處理方法一般包括:雙邊濾波、圖像銳化、Gamma 校正等。接下來采用基于跟蹤的目標提取算法進一步對彈丸目標進行定位與分割,排除復雜背景干擾?;谏衔慕o出的布站方案,在拍攝遠距離彈丸目標時,圖像中幾乎只能看見形似橢圓的彈底,沒有明確的角點,同時彈底邊緣點非孤立、不唯一,匹配時將存在歧義。相反,在不同幀圖像中,彈丸底部中心點卻具有唯一性和特殊性,因此可以提取該點作為待匹配的“特征點”,并以其空間坐標表示彈丸的空間位置。提取彈底中心的過程是:首先利用Canny 邊緣檢測算法提取彈底邊緣,之后通過膨脹算法將鄰近的邊緣連接成一個連通域,最后提取彈底輪廓并利用橢圓擬合法[9]求取輪廓中心亞像素坐標。經(jīng)過以上步驟后便可通過視差原理重構(gòu)彈丸的空間位置坐標。在生成彈道軌跡之前,需要將測量點由左攝像機校正坐標系轉(zhuǎn)換到炮口坐標系下,具體方法是利用炮口處的全站儀測定棋盤格標定板角點的三維坐標,再通過角點檢測算法求得它們在圖像中對應的二維像素坐標,之后利用PnP 方法[10]計算出炮口坐標系與左攝像機校正坐標系之間的旋轉(zhuǎn)矩陣和平移向量,最終達到坐標變換的目的。
實驗通過模擬實際測試過程中彈丸目標在圖像中的像素尺寸變化,來驗證14.5 mm 彈丸百米彈道段測量的可行性。經(jīng)計算,當實際測量14.5 mm 彈丸的67.5~171.8 m 彈道段時,圖像中彈丸目標的像素尺寸變化范圍大致為15~30.5 像素,因此設(shè)計了目標像素尺寸變化范圍為14~24.3 像素的模擬實驗,此時的實際測量范圍將縮減到12.4~20 m。
實驗采用CCD 相機B6620M,通過控制軟件,可將其分辨率設(shè)定為1280×800 像素、像元尺寸設(shè)定為22 μm,以模擬現(xiàn)有高速攝像機在最高幀率下對1000 m/s 的彈丸進行拍攝的成像指標。此外,選用200 mm~500 mm 長焦鏡頭,并將焦距設(shè)為220 mm,同時基線長取4.2 m,光軸與基線夾角取84°構(gòu)成雙目測量系統(tǒng),如圖5所示。
圖5 雙目視覺測量系統(tǒng)Fig.5 Binocular vision measurement system
圖5中,位于雙目基線中點,即實際炮口位置處的高精度全站儀用于測定彈丸模型在炮口坐標系下的真實空間坐標,以作為誤差分析的真值。雙目系統(tǒng)標定采用1000 mm×850 mm 的棋盤格標定板,方格尺寸為50 mm×50 mm,測量總不確定度為±0.01 mm,能夠滿足相機標定的精度要求。
實驗中,在設(shè)計的測量范圍內(nèi),沿著雙目基線中軸線分散選取5 個位置,依次放置彈丸模型進行拍攝,獲得5 對左右圖像對,并最終重構(gòu)出每個位置上彈丸的空間坐標。其中,對位于15.5 m 附近的彈丸模型采用Canny 算法檢測彈底邊緣輪廓,并通過橢圓擬合提取彈底中心的結(jié)果如圖6所示。
圖6 彈底中心提取結(jié)果(局部圖像)Fig.6 Extract the center of projectile(partial view)
將每個位置處的彈丸空間坐標測量值統(tǒng)一轉(zhuǎn)換到炮口坐標系xyz 下,測量結(jié)果及誤差如表1所示。
表1 測量結(jié)果及誤差Tab.1 Measurement results and errors
從位置1 到位置5,測量距離逐漸增大,并由于鏡頭景深的限制,彈丸目標圖像從模糊逐漸變清晰,之后再變模糊,由結(jié)果可知,該過程中x 方向的測量精度存在較大波動。其中,從位置1 到位置3,絕對誤差呈下降趨勢,推斷是因為該過程測量精度主要受模糊度影響。模糊圖像彈底邊緣分辨不明,致使中心定位出現(xiàn)較大偏差,測量誤差大,而位置3附近是成像對焦點,所獲圖像最清晰,誤差最小。從位置3 到位置5,距離變化相對較大,并且由于后景深大于前景深,圖像模糊度變化較小,使得精度主要受測量距離影響,故絕對誤差呈上升趨勢。其中位置5 處的誤差明顯增大,這是因為該位置處于測量范圍的遠端,視差較小,此時任何小的視差誤差都將導致測量誤差大幅增大。y,z 方向的測量誤差是等尺度的,其變化趨勢與x 方向基本一致,但精度更高,整體處于毫米量級。本實驗的平均靜態(tài)定位誤差為14.3 mm,各方向下彈丸軌跡如圖7所示。
圖7 彈丸軌跡對比圖Fig.7 Projectile trajectory comparison chart
提出了利用兩臺高速攝像機構(gòu)建雙目立體視覺系統(tǒng),并采用視差法重建彈丸飛行軌跡的測試方案。通過搭建靜態(tài)模擬實驗,驗證了該方法測量14.5 mm彈丸百米彈道軌跡的可行性,且在當前算法下平均靜態(tài)定位誤差為14.3 mm,基本可以滿足一般應用要求,隨著系統(tǒng)硬件的提升和算法的優(yōu)化,精度有望進一步提高。相比于現(xiàn)有外彈道高精度測量方式,此方法輕量而高效,為外彈道軌跡測試提供了新的可選方案。