王 墉, 孔筱芳, 徐春冬, 周家杰
(1. 南京理工大學(xué) 機(jī)械工程學(xué)院, 江蘇 南京 210094; 2. 南京理工大學(xué) 瞬態(tài)物理國家重點(diǎn)實(shí)驗(yàn)室, 江蘇 南京 210094)
破片戰(zhàn)斗部主要通過爆炸后產(chǎn)生的高速破片群和沖擊波對(duì)目標(biāo)進(jìn)行有效打擊, 準(zhǔn)確測量戰(zhàn)斗部爆炸后破片的飛行速度等參數(shù)對(duì)戰(zhàn)斗部的設(shè)計(jì)和毀傷能力評(píng)估具有重要意義[1-2]。 常用的破片速度測試方法有區(qū)截測速法、 雷達(dá)測速法、 高速攝影法等。 相較于其他測試方法, 高速攝影法具有非接觸、 精度高、 可同時(shí)測得多枚破片在不同時(shí)刻的速度等優(yōu)勢[3-4]。 圖像中破片目標(biāo)的提取和圖像序列中同一破片目標(biāo)的關(guān)聯(lián)是基于高速攝影破片參數(shù)測試的關(guān)鍵步驟。 由于破片運(yùn)動(dòng)參數(shù)的測試多在野外進(jìn)行, 高速相機(jī)采集到的破片運(yùn)動(dòng)圖像往往會(huì)有強(qiáng)光、 揚(yáng)塵等眾多干擾, 而且背景復(fù)雜, 破片的數(shù)目多, 尺寸小, 在前期運(yùn)動(dòng)階段破片被火焰包裹, 呈帶有拖尾的火球狀, 并在飛行過程中火球形狀不斷變化。
常用的運(yùn)動(dòng)目標(biāo)檢測算法有光流法、 幀差法和背景差分法等[5-6]。 光流法算法復(fù)雜, 容易受環(huán)境光照變化、 檢測目標(biāo)自身特性變化等影響, 不適用于小目標(biāo)破片的提取; 幀差法算法簡單, 檢測速度快, 但容易受噪聲影響; 背景差分法準(zhǔn)確性較高, 但復(fù)雜背景會(huì)使得背景建模難度增加。 多目標(biāo)匹配中多采用基于特征的匹配, 對(duì)于小目標(biāo)破片并不適用。 目前國內(nèi)少有對(duì)大量火球狀破片目標(biāo)的提取和圖像序列間的破片目標(biāo)關(guān)聯(lián)。 劉澤慶等[7]采用基于平方增強(qiáng)的三幀差分法完成了靜爆圖像中少量破片的提取; 雷江波等[8]通過基于Faster R-CNN的目標(biāo)檢測方法, 使用彈弓擊打石膏板模擬二次破片, 檢測出了一定數(shù)量的二次破片目標(biāo); 牛雅昕[9]采用343 500 fps的采集速率對(duì)某型戰(zhàn)斗部靜爆試驗(yàn)進(jìn)行圖像數(shù)據(jù)采集, 使用幀差法對(duì)目標(biāo)進(jìn)行提取。 以上破片提取方法多是針對(duì)少量小目標(biāo)破片或二次破片, 或在采集圖像數(shù)據(jù)時(shí)需要很高的采集速率。 在破片群目標(biāo)關(guān)聯(lián)方面, 李乾舞等[10]和牛雅昕[9]采用了基于速度矢量匹配的破片群目標(biāo)跟蹤方法, 完成了破片軌跡的模擬; 雷江波[11]利用多維樹結(jié)構(gòu)模型對(duì)KNN進(jìn)行改進(jìn), 對(duì)二次破片群目標(biāo)進(jìn)行了匹配。 以上破片群目標(biāo)關(guān)聯(lián)算法較為復(fù)雜, 存在一定不足。
針對(duì)破片群目標(biāo)特性以及前人方法的不足之處, 本文采用了混合高斯建模結(jié)合鄰幀差分法的方法, 提取出破片群目標(biāo), 通過形態(tài)學(xué)處理中連通域檢測的方法去除爆炸產(chǎn)生的火花和煙塵等干擾, 并提出了基于軌跡約束的搜索方法, 對(duì)圖像序列中破片群目標(biāo)進(jìn)行了關(guān)聯(lián), 有效解決了圖像序列中破片群目標(biāo)提取和關(guān)聯(lián)的問題, 相較于前人提出的方法, 本文方法更加易于實(shí)現(xiàn), 魯棒性更高, 對(duì)采集速率的要求更低。
戰(zhàn)斗部爆炸后, 在極短時(shí)間內(nèi)產(chǎn)生的高壓氣體使得戰(zhàn)斗部殼體破裂, 產(chǎn)生高速破片群[12], 根據(jù)破片運(yùn)動(dòng)規(guī)律, 可使用高速相機(jī)采集破片運(yùn)動(dòng)圖像, 獲得多枚破片的飛行軌跡。 通過運(yùn)動(dòng)目標(biāo)檢測等方法提取出破片目標(biāo)并對(duì)目標(biāo)進(jìn)行定位, 獲取破片目標(biāo)的像素坐標(biāo), 得到破片在不同幀圖像中的相對(duì)位移, 通過建立目標(biāo)從像素坐標(biāo)到世界坐標(biāo)的轉(zhuǎn)換, 結(jié)合相機(jī)的幀頻, 求解出破片速度。
本文通過單目相機(jī)搭建破片速度測試系統(tǒng), 測試系統(tǒng)布設(shè)如圖1 所示。 試驗(yàn)采用某定向戰(zhàn)斗部, 在距爆心40 m處設(shè)置單目相機(jī), 采集破片運(yùn)動(dòng)圖像, 相機(jī)型號(hào)為Phantom VEO系列, 幀率為8 300 fps, 分辨率為1 280×720像素, 曝光時(shí)間為120.00 μs。 在測試前采用張正友標(biāo)定法對(duì)相機(jī)內(nèi)參數(shù)進(jìn)行標(biāo)定, 通過拍攝在試驗(yàn)場固定的已知位置的標(biāo)定物來求解相機(jī)的外參數(shù)。 同時(shí)在距爆心7 m處設(shè)置陣列式梳狀靶對(duì)破片速度進(jìn)行測試, 陣列式梳狀靶由32塊250 mm×250 mm的梳狀靶組成, 總測試面積為2 m2, 該靶可測試的最小破片尺寸為3 mm。
圖1 測試系統(tǒng)布設(shè)Fig.1 Test system layout
陣列式梳狀靶測試結(jié)果如表1 所示。
表1 陣列式梳狀靶測試結(jié)果Tab.1 Test results of comb target
戰(zhàn)斗部爆炸時(shí)產(chǎn)生高壓、 振動(dòng)以及強(qiáng)磁等干擾, 爆炸產(chǎn)生的強(qiáng)光也會(huì)使環(huán)境光發(fā)生變化, 常用的運(yùn)動(dòng)目標(biāo)檢測算法中, 光流法算法復(fù)雜, 易受干擾; 幀差法易受噪聲影響, 且兩種算法均不能適應(yīng)光照變化的動(dòng)態(tài)背景。 本文采用混合高斯背景建模, 結(jié)合鄰幀差分法對(duì)破片群目標(biāo)進(jìn)行提取。 混合高斯背景建??梢院芎玫靥幚韽?fù)雜背景, 對(duì)動(dòng)態(tài)背景有一定的適應(yīng)性, 適用于破片目標(biāo)的提取。 但提取出的破片目標(biāo)在長拖尾處有交叉連接; 鄰幀差分法產(chǎn)生的空洞可以很好地處理破片拖尾處的交叉連接, 但易受噪聲影響。 因此, 本文結(jié)合兩種算法, 首先, 對(duì)圖像進(jìn)行混合高斯背景建模, 提取出前景圖像, 通過鄰幀差分法產(chǎn)生的空洞去除長拖尾造成的多個(gè)目標(biāo)的交叉連接, 通過基于形態(tài)學(xué)處理的連通域檢測, 設(shè)置合適的閾值去除小面積連通域, 解決爆炸產(chǎn)生的火花和煙塵等干擾問題, 完成破片群目標(biāo)的提取。
背景建模在運(yùn)動(dòng)目標(biāo)檢測上有著廣泛的應(yīng)用, 基于高斯模型的背景建模是一種常用的背景建模方法[13-14], 其中混合高斯背景建模能夠在復(fù)雜背景下取得很好的效果[15-16]。 混合高斯背景建模的方法認(rèn)為, 對(duì)于每一個(gè)像素點(diǎn), 可構(gòu)建由K個(gè)高斯分布組成的模型來估計(jì)像素點(diǎn)出現(xiàn)的值,K的值越大, 越能描述復(fù)雜的背景。 在K個(gè)高斯分布下, 像素點(diǎn)服從高斯分布的概率密度為
η(xt,μt,i,Σt,i)=
(1)
式中:xt為t時(shí)刻像素值;n為xt的維度;μi,t為混合高斯模型中的第i高斯分布均值向量;Σt,i為其協(xié)方差矩陣。 那么在t時(shí)刻該像素值出現(xiàn)的概率可以由K個(gè)高斯分布加權(quán)混合表示
(2)
在t+1時(shí)刻, 將每一個(gè)新像素值xt+1同當(dāng)前K個(gè)分布進(jìn)行如下規(guī)則的匹配
|xt+1-μt,i|<2.5σt,i,
(3)
式中:σt,i為高斯分布的標(biāo)準(zhǔn)差, 當(dāng)新像素值與模型的均值的偏差在2.5倍的標(biāo)準(zhǔn)差內(nèi), 則判定為與當(dāng)前分布模型匹配, 與xt+1相匹配的高斯分布將按照如下方法更新相關(guān)參數(shù)
μt+1=(1-β)·μt,i+β·xt,
(4)
(5)
β=α·η(xt,μt,i,Σt,i),
(6)
ωt+1,i=(1-α)ωt,i+αRt,i,
(7)
式中:α為學(xué)習(xí)率, 在0~1之內(nèi)取值;β為參數(shù)更新的速率, 又叫參數(shù)學(xué)習(xí)率;Rt,i為偏置, 當(dāng)新像素值與分布模型匹配時(shí),Rt,i=1, 若不匹配則Rt,i=0。 沒有匹配的高斯分布其均值和方差保持不變。
(8)
式中:b為高斯分布的個(gè)數(shù);T為背景所占的比例。
在選取了B個(gè)分布作為背景模型后, 對(duì)當(dāng)前每一幀圖像與背景模型按照式(3)的規(guī)則進(jìn)行匹配。 如果當(dāng)前幀中的像素和背景模型中某一分布匹配, 則該點(diǎn)判定為背景點(diǎn), 否則判定為前景點(diǎn), 直至完成所有像素點(diǎn)的匹配, 提取出前景。
在相機(jī)固定不動(dòng)的情況下, 如果有物體在背景下運(yùn)動(dòng), 在圖像上就表現(xiàn)為物體所在位置灰度值的變化, 通過檢測變化的灰度值就能檢測到運(yùn)動(dòng)目標(biāo)。 鄰幀差分法對(duì)相鄰幀圖像進(jìn)行差分處理, 根據(jù)兩幀圖像中灰度值的差異, 通過差分后就可以得到運(yùn)動(dòng)目標(biāo)的灰度矩陣。 具體差分計(jì)算如下
At(x,y)=|ft(x,y)-ft-1(x,y)|,
(9)
(10)
式中:ft-1(x,y),ft(x,y)為前后兩幀圖像;At(x,y)為檢測出有灰度變化的像素區(qū)域;T為設(shè)定的閾值;Zt(x,y)是二值圖像, 為差分后得到的前景圖像。
圖2 前3幀軌跡搜索Fig.2 Track search of the first three frames
(11)
選取使Loss最小的路徑為目標(biāo)路徑, 確定圖像I0~I(xiàn)2中破片的軌跡后, 沿該直線繼續(xù)搜索下一幀圖像中距離直線軌跡最近的點(diǎn), 每增加一個(gè)點(diǎn)再次使用最小二乘法對(duì)搜索到的所有點(diǎn)進(jìn)行直線擬合, 并更新參數(shù), 直到在指定范圍內(nèi)搜索不到目標(biāo)。 基于軌跡約束的搜索算法流程如圖3 所示。
在本次試驗(yàn)中, 通過高速相機(jī)采集到的部分圖像如圖4 所示。 從圖像中可以看出, 目標(biāo)破片呈現(xiàn)為帶有長拖尾的火球狀, 且相鄰破片拖尾處交叉在一起, 在飛行過程中形狀會(huì)發(fā)生改變, 不具有易于描述的特征; 圖像背景復(fù)雜, 在爆炸火光的影響下背景會(huì)產(chǎn)生變化。
(a) 第12幀圖像
為防止爆心部分劇烈變化的強(qiáng)光干擾, 在進(jìn)行目標(biāo)提取前裁剪去圖像中爆心部分。 對(duì)裁剪后的圖像進(jìn)行混合高斯背景建模, 將每幀圖像與背景模型進(jìn)行匹配。 以第18幀圖像為例, 得到的前景圖像如圖5 所示。
(a) 裁剪過的圖像
可以看出混合高斯背景建??梢院芎玫靥幚韽?fù)雜背景, 提取出前景圖像, 但由于破片目標(biāo)帶有長拖尾, 多個(gè)目標(biāo)間有著不同程度的連接, 相鄰破片難以區(qū)分。 對(duì)采用混合高斯背景建模方法提取到的前景圖像進(jìn)行鄰幀差分, 如圖6 所示。
圖6 鄰幀差分法Fig.6 Adjacent frame difference method
鄰幀差分法產(chǎn)生的空洞可以有效分離相互連接的目標(biāo), 差分后的圖像中仍有爆炸產(chǎn)生的諸多干擾因素。 對(duì)圖像中連通域進(jìn)行檢測, 設(shè)置閾值, 將小面積連通域像素值賦值為0, 濾除干擾因素, 最終提取到的破片目標(biāo)如圖7 所示。
圖7 最終提取結(jié)果Fig.7 Final extraction results
結(jié)果表明, 該方法對(duì)復(fù)雜背景有很好的適應(yīng)性, 在第18幀圖像中共提取出9個(gè)目標(biāo)破片。 對(duì)于在不同背景下破片參數(shù)測試中采集到的圖像, 使用該方法進(jìn)行試驗(yàn), 并與幀差法結(jié)果進(jìn)行對(duì)比, 如圖8 所示。
(a) 原圖像
從原圖像中可以看出, 此次采集到的圖像視場更大, 有部分天空背景, 破片目標(biāo)在圖中所占像素更少, 不易和背景相區(qū)分。 采用本文方法在圖像中共提取出5個(gè)破片目標(biāo), 與幀差法得到的結(jié)果相比, 本文方法可以更好地處理背景噪聲問題, 取得了較好的效果。 從目標(biāo)提取的結(jié)果上可以看出, 本文方法可以有效提取目標(biāo), 而幀差法提取結(jié)果有大部分虛假目標(biāo)被檢測到, 誤檢率較高。
提取到的目標(biāo)中平均每個(gè)目標(biāo)有103個(gè)像素大小, 破片被火球包圍, 無法通過質(zhì)心定位破片位置, 根據(jù)測試中破片運(yùn)動(dòng)形態(tài), 選取每個(gè)目標(biāo)輪廓中最靠近x軸正方向上的點(diǎn)作為破片的圖像坐標(biāo)位置。 將11幀~18幀中提取到的所有目標(biāo)點(diǎn)在坐標(biāo)系中表示, 采用基于軌跡約束的搜索算法進(jìn)行同組破片搜索, 以破片1為例確定的第16幀~18幀同一目標(biāo)如圖9 所示。
圖9 破片1在 16幀~18幀圖像中同組目標(biāo)點(diǎn)Fig.9 Points in thesame group of fragment 1 in 16~18 frames
確定圖像I0~I(xiàn)2中破片的軌跡后, 沿該直線繼續(xù)搜索下一幀圖像中距離直線軌跡最近的點(diǎn), 每增加一個(gè)點(diǎn)再次使用最小二乘法對(duì)搜索到的所有點(diǎn)進(jìn)行直線擬合, 并更新參數(shù), 直到在指定范圍內(nèi)搜索不到目標(biāo)。 采用基于軌跡約束的搜索算法在圖像序列間對(duì)破片1~3進(jìn)行搜索, 結(jié)果如圖10 所示。
(a) 破片1軌跡
將關(guān)聯(lián)結(jié)果與所有目標(biāo)提取結(jié)果進(jìn)行疊加判別, 疊加結(jié)果如圖11 所示。
圖11 與目標(biāo)提取結(jié)果疊加Fig.11 Overlay with target extraction results
從圖10 與圖11 可以看出, 搜索到同一組目標(biāo)點(diǎn)分布均勻, 軌跡平滑且接近直線, 從疊加圖可以看出算法搜索到的軌跡與實(shí)際軌跡重合, 說明搜索到同組目標(biāo)點(diǎn)擬合的軌跡與真實(shí)軌跡相近。 試驗(yàn)說明, 該方法對(duì)于圖像序列中同組破片關(guān)聯(lián)結(jié)果可靠。
部分軌跡尾部存在拐點(diǎn)現(xiàn)象, 軌跡不平滑, 主要原因是定向破片戰(zhàn)斗部產(chǎn)生的多個(gè)破片在前期聚集在一起, 伴隨著強(qiáng)烈的火光, 存在相互遮蓋且無法區(qū)分的情況, 多個(gè)破片目標(biāo)被識(shí)別成一個(gè), 影響破片目標(biāo)的檢測和同一目標(biāo)關(guān)聯(lián)。
在本次測試中, 爆心距離梳狀靶距離為7 m, 可根據(jù)圖像坐標(biāo)中爆心和梳狀靶的位置計(jì)算出圖像坐標(biāo)中x軸方向單位像素在三維空間所表示的真實(shí)距離; 相機(jī)的拍攝幀率為8 300 fps, 相鄰圖像的時(shí)間間隔為1/8 300 s, 根據(jù)同一破片在相鄰幀的距離和時(shí)間間隔, 可以計(jì)算出在平行于圖像坐標(biāo)x軸方向的破片速度, 以破片1、 破片2為例, 計(jì)算在x軸方向的速度如表2、 表3 所示。 9枚破片速度如表4 所示。
表2 破片1速度計(jì)算Tab.2 Calculation of fragment 1 speed
表3 破片2速度計(jì)算Tab.3 Calculation of fragment 2 speed
表4 x軸方向破片速度測試結(jié)果Tab.4 Fragment speed test results in x-axis direction
最終測得破片速度區(qū)間為1 327.93 m/s~1 632.62 m/s, 與梳狀靶測試數(shù)據(jù)相比有一定的誤差, 主要原因是由于試驗(yàn)中有部分破片并未到靶, 該部分破片速度無法用梳狀靶測試; 其次破片被火焰包圍, 無法對(duì)破片進(jìn)行精確定位; 單目相機(jī)采集到的圖像序列會(huì)缺失圖像的深度信息, 產(chǎn)生了一定誤差。
本文針對(duì)復(fù)雜背景下的破片群目標(biāo)提取, 采用了混合高斯背景建模結(jié)合鄰幀差分的方法, 提取出了破片目標(biāo); 提出了基于軌跡約束的破片目標(biāo)搜索方法對(duì)圖像序列中同一目標(biāo)進(jìn)行關(guān)聯(lián)。 實(shí)驗(yàn)表明, 該方法精度高, 可以滿足測試需求。 對(duì)檢測到的破片目標(biāo)進(jìn)行速度計(jì)算, 與梳狀靶測試結(jié)果相比, 誤差較小, 解決了基于高速攝影的破片參數(shù)測試中破片群目標(biāo)提取和圖像序列中目標(biāo)關(guān)聯(lián)的關(guān)鍵問題。 與已有方法相比, 本文提出的方法魯棒性較高, 可適用于不同環(huán)境下的破片目標(biāo)提取和關(guān)聯(lián)。 在今后的工作可以針對(duì)不同視場下的同一目標(biāo)關(guān)聯(lián)進(jìn)行開展, 通過多目相機(jī)采集到的圖像還原破片群的三維空間坐標(biāo), 恢復(fù)破片運(yùn)動(dòng)場。