何 淼,王 浩,黃 勇,薛 紹
(1.南京理工大學(xué) 能源與動(dòng)力工程學(xué)院,江蘇 南京 210094;2.南京信息職業(yè)技術(shù)學(xué)院 人工智能學(xué)院,江蘇 南京 210043)
開(kāi)展野外爆破試驗(yàn)是檢驗(yàn)戰(zhàn)斗部設(shè)計(jì)合理性的必要環(huán)節(jié),而對(duì)試驗(yàn)所用靶板的毀傷情況進(jìn)行精確、高效測(cè)量,是評(píng)判戰(zhàn)斗部設(shè)計(jì)及毀傷效果的直接依據(jù)。受野外測(cè)量環(huán)境和條件制約,使用人工對(duì)試驗(yàn)靶板測(cè)量既低效又工作量巨大,尤其對(duì)非規(guī)則破片毀傷孔洞無(wú)法人工測(cè)量的情況,必須借助其他技術(shù)手段實(shí)現(xiàn)毀傷區(qū)自動(dòng)測(cè)量與評(píng)估報(bào)靶。
隨著圖像處理技術(shù)的愈發(fā)成熟,本世紀(jì)初首先出現(xiàn)基于靶板圖像灰度值二值化分割識(shí)別彈孔及判定靶環(huán)的報(bào)靶方法[1-2],其識(shí)別成本低且易實(shí)現(xiàn),但受靶板形變與光照不均影響,彈孔邊緣識(shí)別精度差直接制約其實(shí)用性。為解決靶板形變,科研人員提出基于Hough變換靶板形變糾正技術(shù)[3],采用小波變換、中值濾波與邊緣檢測(cè)算子等技術(shù)克服靶板圖像噪點(diǎn)與抗光照問(wèn)題[4],以及運(yùn)用神經(jīng)網(wǎng)絡(luò)[5]、機(jī)器視覺(jué)[6-7]及深度學(xué)習(xí)技術(shù)[8],突破了在鋼靶、混凝土靶等非紙質(zhì)靶場(chǎng)景下,因靶板圖像帶入靶板材質(zhì)紋理光照對(duì)毀傷邊緣檢測(cè)的影響。但上述研究主要識(shí)別對(duì)象為偏圓孔型有固定毀傷形狀的槍彈靶識(shí)別,尤其是應(yīng)用于胸環(huán)靶識(shí)別較多[9],對(duì)破片戰(zhàn)斗部面撒型不規(guī)則毀傷形狀的識(shí)別研究較少。
本文以大當(dāng)量戰(zhàn)斗部野外爆破試驗(yàn)中,大型鋼制薄靶板的面毀傷穿透區(qū)域的識(shí)別與測(cè)量為研究場(chǎng)景,針對(duì)野外大型鋼板靶圖像形變矯正及光照情景下不規(guī)則毀傷孔洞識(shí)別與測(cè)量問(wèn)題進(jìn)行了研究。
考慮野外靶板圖像受成像角度、靶面噪點(diǎn)以及光照等影響,靶面毀傷孔洞會(huì)出現(xiàn)形變、圖像分割干擾等問(wèn)題,會(huì)降低靶面毀傷區(qū)域面積測(cè)量的精度。因此,需要將野外拍攝靶面轉(zhuǎn)換為無(wú)形變正視圖,并進(jìn)行靶像去噪和抗光照處理,以保證靶面毀傷區(qū)域圖像分割精度,再通過(guò)靶面物理尺寸與靶像成像像素?cái)?shù)之間關(guān)系,推算出毀傷區(qū)域面積??傮w測(cè)量計(jì)算流程如圖1所示。
圖1 野外金屬破片靶毀傷區(qū)面積測(cè)量流程
依據(jù)透視投影變換原理和相機(jī)視線(xiàn)與靶面夾角關(guān)系可知,當(dāng)相機(jī)視線(xiàn)與靶面法向方向存在夾角θ≠0°時(shí),靶板成像將存在一定程度透視投影形變,如圖2所示,靶板物理寬度和高度分別設(shè)為WT和HT。
野外試驗(yàn)中,人工拍攝不可避免靶像存在偏視角而導(dǎo)致透視斜投影情況,進(jìn)而引起毀傷區(qū)域在靶像中出現(xiàn)形變,這會(huì)對(duì)靶板后續(xù)測(cè)量造成嚴(yán)重誤差。由于透視投影變換可看成透視變換加入相機(jī)視線(xiàn)法向平面作為正投影面后的透視結(jié)果[10],因此,可將圖2中靶板透視投影圖作為原圖,靶板正視圖作為透視變換目標(biāo)圖,運(yùn)用透視變換做逆變換矩陣求解,從而實(shí)現(xiàn)靶板圖像正視矯正。
圖2 靶板透視投影示意圖
由文獻(xiàn)[11]知,透視變換為圖像在三維空間中的轉(zhuǎn)換,設(shè)靶板透視投影圖像素空間坐標(biāo)為P=(xyz),設(shè)靶板相機(jī)正視圖像素空間坐標(biāo)為P′=(x′y′z′),設(shè)A為透視逆變換矩陣,則有[11]:
P′=P·A
(1)
由文獻(xiàn)[12]可得式(1)完成形式為
(2)
化簡(jiǎn)得等式組形式:
(3)
考慮靶板透視投影圖和靶板正視圖均為二維平面圖像,可設(shè)z=1,z′=1,因此,從式(3)可知需有8個(gè)方程聯(lián)立求出透視投影變換陣A,8個(gè)方程需4對(duì)變換前后坐標(biāo)點(diǎn)對(duì):
T1(x1,y1)~T′1(x′1,y′1),T2(x2,y2)~T′2(x′2,y′2)T3(x3,y3)~T′3(x′3,y′3),T4(x4,y4)~T′4(x′4,y′4)
代入式(3)式即可求解[13]。本文將T1、T2、T3、T4設(shè)為逆透視轉(zhuǎn)換正視圖的4個(gè)邊角定點(diǎn),即T1(0,0),T2(0,m),T3(n,0),T4(m,n),其中m、n分別為正視圖分辨率長(zhǎng)和高,為保證所轉(zhuǎn)換正視圖與靶板實(shí)際比例相符,且轉(zhuǎn)換后的正視圖不出現(xiàn)形變失真,應(yīng)有m∶n=WT∶HT。T′1、T′2、T′3、T′4為靶板圖像中靶板邊緣頂點(diǎn),如圖3所示。
圖3 靶板逆透視轉(zhuǎn)換示意圖
由于金屬靶板在野外日曬雨淋,表面難免出現(xiàn)風(fēng)化銹跡等現(xiàn)象,在靶板圖像上成為背景噪聲。為避免紋理噪聲影響靶圖毀傷區(qū)域分割,需要對(duì)靶圖進(jìn)行濾波去噪處理。濾波的思路是通過(guò)設(shè)計(jì)濾波器,對(duì)原圖進(jìn)行卷積領(lǐng)域運(yùn)算,將運(yùn)算后的值作為該卷積原圖區(qū)域中心位置新值。為解決原圖邊緣像素卷積區(qū)不夠的問(wèn)題,本文采用在圖像外圍補(bǔ)填充一圈圖像邊緣像素,如圖4所示。同時(shí),為減小運(yùn)算量,考慮金屬靶面和毀傷區(qū)域顏色對(duì)比度較高,且顏色單一性較強(qiáng),本文基于RGB單通道灰度圖進(jìn)行濾波。
圖4 卷積領(lǐng)域運(yùn)算示意圖
由于均值濾波對(duì)椒鹽噪點(diǎn)去噪良好[14],可針對(duì)金屬靶板銹點(diǎn)進(jìn)行平滑去噪,但不能保護(hù)圖像細(xì)節(jié),對(duì)破片毀傷區(qū)域邊緣易造成模糊。為保證毀傷區(qū)域邊緣銳度和后續(xù)二值分割的精度,在均值平滑去銹噪點(diǎn)時(shí),本文利用中值濾波增強(qiáng)邊緣銳度特性[15]。
設(shè)f(i,j)表示原圖(i,j)處像素灰度級(jí),h(m,n)表示濾波器算子在(m,n)處權(quán)值,濾波器大小為k×k,V(i,j)和M(i,j)分別表示原圖(i,j)處均值濾波和中值濾波卷積領(lǐng)域運(yùn)算,則有:
(4)
(5)
式中:med{·}表示取中值運(yùn)算。
運(yùn)用圖像分割技術(shù)將毀傷區(qū)域從正視圖S中識(shí)別是毀傷區(qū)域測(cè)量重要環(huán)節(jié)。考慮到金屬靶板底色單一、靶圖分割語(yǔ)義簡(jiǎn)單的情況,傳統(tǒng)分割方法在分割有效性及精度上均可滿(mǎn)足工程要求。其次,由于毀傷區(qū)域與靶板灰度對(duì)比度較大,靶面及毀傷區(qū)域各自?xún)?nèi)部灰度分布均勻,即類(lèi)間方差較大,如圖5所示,因此本文選擇經(jīng)典的2D-Otsu法。同時(shí),為抑制靶面的紋理噪聲和光照不均勻、偏光的情況,本文引入了均值-中值雙濾波作為2D-Otsu閾值法[16-18]前處理,對(duì)金屬靶面進(jìn)行二值分割。
圖5 野外鋼靶板測(cè)量區(qū)透視變換圖
(6)
式中:
(7)
(8)
(9)
(10)
(11)
因存在w*和l*2個(gè)閾值,則M圖上像素將被分在4個(gè)區(qū)域。圖6表示了圖5(c)的一維、二維直方圖,其中圖6(a)對(duì)偏單色金屬靶面不易形成直方圖谷底,顯然影響分割效果;圖6(b)中I1表示全局和局部領(lǐng)域灰度均小于w*和l*的靶面非毀傷區(qū)像素,I4表示全局和局部領(lǐng)域灰度均大于w*和l*的毀傷區(qū)像素,I2和I3表示非靶面和非毀傷區(qū)的噪點(diǎn)、干擾紋理以及毀傷區(qū)邊緣不確定像素。顯然基于均值-中值濾波后灰度圖所構(gòu)造二維直方圖中,像素沿著對(duì)角線(xiàn)集中分布于I1和I4區(qū)域,說(shuō)明噪聲影響較小,(w*=124,l*=122)閾值對(duì)取值越理想,靶面背景與毀傷區(qū)分割精度較高。
從圖6(c)看出,受金屬靶板毀傷程度不均勻和邊緣起邊毛刺的影響,二值分割圖往往存在毀傷區(qū)內(nèi)分割噪點(diǎn)和邊緣非連續(xù)噪點(diǎn)情況。本文先使用膨脹腐蝕閉運(yùn)算去除毀傷區(qū)內(nèi)誤識(shí)別噪點(diǎn),再用腐蝕膨脹開(kāi)運(yùn)算去除靶圖背景中誤識(shí)別噪點(diǎn),并保持了毀傷區(qū)域原始大小,如圖6(d)和圖6(e)所示。
圖6 金屬靶板均值-中值雙濾波2D-Otsu分割
對(duì)分割二值圖進(jìn)行精確測(cè)量需要計(jì)算每個(gè)毀傷區(qū)的像素?cái)?shù)及單像素的物理單位面積。由于金屬靶板破片毀傷所產(chǎn)生的區(qū)域多為形狀隨機(jī)、邊緣不規(guī)則孔洞,傳統(tǒng)OpenCv等圖像處理平臺(tái)的輪廓識(shí)別函數(shù)FindContours在識(shí)別成功率和識(shí)別精度上不夠,且因?yàn)樗惴ǚ庋b不支持用戶(hù)自定義,同時(shí)考慮算法后續(xù)輕量化移植部署,本文針對(duì)二值靶圖的不規(guī)則破片毀傷區(qū)測(cè)量進(jìn)行了自定義算法設(shè)計(jì)。
本文構(gòu)建了一種基于像素的領(lǐng)域搜索生長(zhǎng)法來(lái)識(shí)別每個(gè)二值圖毀傷區(qū)域,算法主要思路如圖7所示。該算法中使用面向?qū)ο蠹洗鎯?chǔ)空間動(dòng)態(tài)分配特性,對(duì)新識(shí)別毀傷區(qū)創(chuàng)建新像素點(diǎn)集合存儲(chǔ),支持實(shí)現(xiàn)了各毀傷區(qū)搜索生長(zhǎng)過(guò)程中該區(qū)像素總數(shù)不確定情況。
圖7 領(lǐng)域搜索生長(zhǎng)法算法流程圖
圖7中使用了隊(duì)列作為算法輔助數(shù)據(jù)結(jié)構(gòu),核心思想是將所有毀傷區(qū)像素總點(diǎn)集合K中已判別屬于某毀傷區(qū)的像素入隊(duì),并從K中刪除,對(duì)隊(duì)列內(nèi)所有像素進(jìn)行領(lǐng)域搜索點(diǎn),新搜索到點(diǎn)繼續(xù)入隊(duì),直到隊(duì)列為空時(shí)證明該毀傷區(qū)所有像素點(diǎn)已全部搜索完畢,此時(shí)再看K內(nèi)是否還有像素,如果有則說(shuō)明有新的非連通毀傷區(qū),并創(chuàng)建新的毀傷區(qū)像素點(diǎn)集合,如果K中沒(méi)有像素,則說(shuō)明整個(gè)靶面毀傷區(qū)全部識(shí)別完畢。這里,對(duì)某像素p進(jìn)行領(lǐng)域搜索,是針對(duì)p周邊3×3區(qū)域,即搜索與p像素緊鄰的8個(gè)像素位置。
毀傷區(qū)領(lǐng)域搜索生長(zhǎng)法面向?qū)ο髠未a描述如下。
輸入:二值圖像src
輸出:各毀傷區(qū)像素集合AllRegions
1:functionFindSurface(src)
2:K←newList
3:fori=0 →src.Rowsdo
4:forj=0 →src.Colsdo
5:ifsrc[i,j]==255K.Add(src[i,j])
6:AllRegions←newList>()
7:whileK.Count>0 do
8:newRegion←newList
9:p′←K[0]
10:K.Remove(p′)
11:newRegion.Add(p′)
12:MQueue.Join(p′)
13: whileMQueue!=Emptydo
14:p←MQueue.GetOut()
15:newp←IsSidePoint(K,p)
16:K.Remove(newp)
17:newRegion.Add(newp)
18:MQueue.Join(newp)
使用領(lǐng)域搜索生長(zhǎng)法對(duì)圖5靶面進(jìn)行毀傷區(qū)識(shí)別,并標(biāo)記每個(gè)毀傷區(qū)邊緣,效果如圖8所示。
圖8 野外金屬靶板毀傷區(qū)識(shí)別圖
對(duì)領(lǐng)域搜索生長(zhǎng)法將靶圖各毀傷區(qū)識(shí)別像素?cái)?shù)累計(jì)求和,即可得到每個(gè)毀傷區(qū)像素總數(shù)PSum,再基于靶圖物理尺寸和總分辨率計(jì)算出單個(gè)像素平均物理面積,從而計(jì)算出各毀傷區(qū)物理實(shí)際面積Ap,如式(12)所示,其中Sh和Sw分別表示靶板正視圖的高和寬。
(12)
由于破片飛行角度、速度的隨機(jī)性,在野外大型金屬靶板上毀傷區(qū)域往往呈不規(guī)則分布,且毀傷區(qū)形狀多為不規(guī)則形狀,毀傷邊緣多有毛刺不平滑,顯然依賴(lài)物理人工方法對(duì)本文測(cè)量結(jié)果精度驗(yàn)證并不可行。因此,本文設(shè)計(jì)了一張1 m×1 m的鋁靶板,用AutoCAD畫(huà)出標(biāo)準(zhǔn)尺寸孔洞,由CAD尺寸計(jì)算出面積作為理論值,再與本文測(cè)量結(jié)果進(jìn)行比較,以驗(yàn)證本文方法的測(cè)量精度。
圖9為所設(shè)計(jì)標(biāo)準(zhǔn)鋁靶板尺寸和識(shí)別效果組圖??煽闯鰣D9(d)通過(guò)濾波既保持了孔洞邊緣銳度,又盡量降低了鋁靶板金屬加工拉絲紋理,以及抑制了孔洞區(qū)域底色污漬噪點(diǎn),為圖9(e)分割創(chuàng)造了良好條件,但圖9(e)分割孔洞區(qū)域仍然有個(gè)別誤識(shí)別噪點(diǎn),先后使用膨脹腐蝕閉、開(kāi)運(yùn)算得到圖9(f)和圖9(g),在同樣膨脹腐蝕卷積尺寸規(guī)模下(本實(shí)驗(yàn)選擇為5×5卷積尺寸)去除了孔洞區(qū)域噪點(diǎn),又抑制了非毀傷區(qū)噪點(diǎn)生成,所得圖9(h)識(shí)別效果良好。
圖9 標(biāo)準(zhǔn)鋁靶板識(shí)別序列圖
表1給出了測(cè)量計(jì)算結(jié)果和CAD標(biāo)準(zhǔn)尺寸計(jì)算面積的比較分析。從表1可知,本文針對(duì)金屬靶板毀傷孔洞區(qū)識(shí)別及測(cè)量值損失比均分布于0~5%之間,相對(duì)本文測(cè)量方法的成本和野外使用便利性,滿(mǎn)足實(shí)際工程需求。
表1 標(biāo)準(zhǔn)1 m×1 m鋁靶板測(cè)量結(jié)果精度分析
在標(biāo)準(zhǔn)實(shí)驗(yàn)驗(yàn)證本文方法有效性基礎(chǔ)上,對(duì)圖10中兩副野外靶板進(jìn)行了破片孔洞面積與周長(zhǎng)測(cè)量及邊緣標(biāo)識(shí)。圖10中1號(hào)靶尺寸0.75 m×1.5 m,2號(hào)靶尺寸1 m×1.2 m。1號(hào)、2號(hào)靶分別識(shí)別出14,58個(gè)破片孔,如表2、表3所示識(shí)別結(jié)果。受紋理影響,2號(hào)靶第0、1誤識(shí)別為孔洞情況。
表2 野外靶破片孔面積與周長(zhǎng)測(cè)量結(jié)果(1號(hào)靶)
表3 野外靶破片孔面積與周長(zhǎng)測(cè)量結(jié)果(2號(hào)靶)
圖10 野外靶實(shí)驗(yàn)過(guò)程(上圖為1號(hào)靶,下圖為2號(hào)靶)
為解決野外巨幅金屬靶板破片毀傷測(cè)量困難,以及野外金屬靶繡噪點(diǎn)、金屬加工紋理、毀傷區(qū)形狀不規(guī)則等問(wèn)題,本文設(shè)計(jì)了一套金屬破片靶孔圖像識(shí)別流程,采用提出了基于均值-中值復(fù)合濾波前處理的魯棒2D-Otsu方法進(jìn)行抗銹、抗紋理靶板毀傷區(qū)分割識(shí)別,并提出了基于像素級(jí)的領(lǐng)域搜索生長(zhǎng)法來(lái)高精度測(cè)量計(jì)算毀傷區(qū)面積算法,最后使用鋁靶板進(jìn)行了驗(yàn)證試驗(yàn),分析證明,本文方法對(duì)金屬破片靶的毀傷區(qū)識(shí)別與測(cè)量是有效和可行的,實(shí)靶試驗(yàn)結(jié)果表明本文方法測(cè)量精度滿(mǎn)足實(shí)際工程需求,可低成本部署應(yīng)用。