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