国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MSER的彈孔識別算法的研究

2019-03-22 08:36楊章含曾培峰
關(guān)鍵詞:彈孔像素點斑點

楊章含,曾培峰

(東華大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,上海 201620)

0 引言

科技的發(fā)展迎來了各行各業(yè)的技術(shù)革新。在軍事領(lǐng)域,傳統(tǒng)的人工報靶模式逐漸被自動化報靶取代。自動化報靶關(guān)鍵問題是彈點識別。通常訓(xùn)練的目標靶采用胸環(huán)靶,為了正確區(qū)分胸環(huán)靶中彈孔和非彈孔,可將圖像處理中斑點檢測技術(shù)用于彈孔識別。

斑點檢測中,特征提取算法的優(yōu)劣直接影響檢測結(jié)果的精準度。斑點檢測方法主要有以下三類[1],(1)幀間差分法:通過兩幀背景相同的圖像相減獲取斑點。文獻[2]彈孔識別中,首先使用基準點對圖像矯正,用中值濾波去除噪聲,然后用膨脹腐蝕操作定位靶心,將射擊前后的兩幀圖像進行異或運算,獲取新增彈孔。YE等人對失真圖像矯正后,膨脹腐蝕獲取胸環(huán)靶中心,采用Roberts邊緣檢測算子檢測胸環(huán)靶輪廓,通過幀間差獲取新增彈孔[3]。幀間差分法對背景變化敏感,胸環(huán)靶紙抖動會導(dǎo)致較大的檢測誤差。(2)模板檢測法:計算模板核,將其用于圖像卷積,通過局部極值檢測斑點。KONG等人用高斯拉普拉斯(Laplacian of Gaussian,LoG)算子檢測斑點,隨著LoG算子尺度增加,斑點結(jié)構(gòu)在某種程度上收斂于局部極值[4]。文獻[5]采用高斯差分(Difference of Gaussian,DoG)算子檢測不同尺寸的斑點。DoG算子與LoG算子類似,運算效率較高,對不同尺寸的斑點檢測更有優(yōu)勢。Ming等人使用Hessian行列式(Determinant of Hessian, DoH)檢測斑點,用二維高斯函數(shù)分別求解行、列坐標方向的二階偏導(dǎo),以及先行后列坐標的二階偏導(dǎo),用三個偏導(dǎo)算子生成的模板分別對原圖卷積,檢測圖像在不同尺度空間的極值點[6]。文獻[7]提出基于Hessian矩陣的LoG算子(Hessian-based Laplacian of Gaussian,HLoG)檢測斑點,使用Hessian矩陣預(yù)分割斑點候選區(qū)域,計算單一最佳尺度作為LoG濾波器的平滑參數(shù)檢測斑點,簡化運算復(fù)雜度,通過區(qū)域特征排除非斑點區(qū)域。模板檢測法中,運算量與卷積核大小呈正相關(guān),每個像素訪問次數(shù)為卷積核大小。對于尺寸不同的斑點,需使用不同的高斯核進行卷積運算,單一參數(shù)的算子不能覆蓋所有尺寸的彈孔。(3)MSER[8]檢測法:MSER算法常用于連通區(qū)域檢測(例如:斑點、文本等),David在文獻[8]基礎(chǔ)上,提出線性復(fù)雜度的MSER算法,成為目前普遍采用的方法[9]。文獻[10]對圖像灰度處理后,采用MSER算法檢測斑點,通過最小二乘擬合橢圓排除不符合形狀要求的區(qū)域。Donoser等人在文獻[9]基礎(chǔ)上,提出檢測彩色區(qū)域的MSER算法[11],將圖像轉(zhuǎn)換至LUV色彩空間,計算ROI之間的巴氏距離(Bhattacharyya Distance),作為MSER中的約束值。

本文研究基于自然環(huán)境下胸環(huán)靶內(nèi)新增彈孔的識別。幀間差分法雖然算法簡單,但對靶紙顫動十分敏感。模板檢測法中,采用單尺度的LoG、DoG及DoH檢測彈孔可能無法檢測重合彈孔區(qū)域。采用多尺度方式,不僅運算復(fù)雜度較高,而且可能將已經(jīng)檢測過的彈孔再次檢測。MSER算法常用于自然環(huán)境下連通區(qū)域的檢測,算法具有線性復(fù)雜度和仿射不變性的優(yōu)勢,因此本文采用MSER算法。針對MSER算法中參數(shù)隨圖像變化需要調(diào)整的問題,將MSER算法與文獻[12]中基于積分圖像的閾值自適應(yīng)算法相結(jié)合,提出改進的MSER算法(MSER-I),使MSER算法在不同環(huán)境下檢測彈孔時參數(shù)可自調(diào)節(jié)。通過透視變換[13]、彈孔特征及報靶記錄,排除胸環(huán)靶外部候選區(qū)域、非彈孔區(qū)域及已報靶區(qū)域,識別出新增的彈孔。

1 MSER算法

MSER算法基于分水嶺概念,將圖像視為高低起伏的地面,像素灰度值大小代表地勢高低,選取某一起始點開始注水,水會流入低地勢區(qū)域。當(dāng)水聚集到一個低洼區(qū),繼續(xù)注水,水位會上升。當(dāng)水位越過分水線時,會流入其它低洼區(qū),若水位繼續(xù)上升,兩個或兩個以上的低洼區(qū)可能被合并[8]。

水面覆蓋區(qū)域稱為ER區(qū),在同一ER區(qū)水位上升過程中,低水位區(qū)為子ER區(qū),高水位區(qū)為父ER區(qū)。一個父ER區(qū)可能由多個子ER區(qū)合并而成,父ER區(qū)與子ER區(qū)形成樹狀結(jié)構(gòu),在樹中仍保持原有的父子關(guān)系。針對ER區(qū)水位上升的歷史記錄,通過參數(shù)約束保留符合要求的ER區(qū)。

MSER算法中,由以下5個參數(shù)約束ER區(qū)的大小及穩(wěn)定度:

(1)Amin:最小連通區(qū)域,限制ER區(qū)域最小尺寸。

(2)Amax:最大連通區(qū)域,限制ER區(qū)域最大尺寸。

(3)Vmax:區(qū)域間的最大穩(wěn)定度。

(4)Delta:相鄰ER區(qū)邊界的灰度差。

(5)Dmin:約束父子ER區(qū)之間的尺寸變化率。

MSER算法中,每一個ER區(qū)的增長變量var可由公式(1)計算得到。若某個ER區(qū)的var值小于Vmax,這個ER區(qū)則為穩(wěn)定區(qū)域。公式(1)中R(level)表示每個ER區(qū)灰度值小于等于level的像素點數(shù)。圖1為ER區(qū)截面處灰度曲線,示意ER區(qū)的大小。

(1)

圖1 連通域面積變化圖

MSER算法運算步驟如下:

(1)選取起始點作為當(dāng)前點;

(2)建立空ER區(qū)將當(dāng)前點入棧;

(3)在當(dāng)前像素4鄰域內(nèi)搜索,若任意鄰域點灰度值低于當(dāng)前點灰度值,返回步驟(2),否則,鄰域點加入邊界像素集合,重復(fù)步驟(3),直至所有鄰域點訪問結(jié)束,執(zhí)行步驟(4);

(4)若邊界像素集合為空,算法結(jié)束,否則執(zhí)行步驟(5);

(5)彈出一個地勢最低的邊界像素,作為當(dāng)前點,原本的當(dāng)前點作為上一點,若當(dāng)前點與上一點的像素灰度值相同,執(zhí)行步驟(3),否則執(zhí)行步驟(6);

(6)若當(dāng)前點灰度小于棧中第二層像素元素灰度值,返回步驟(3),否則執(zhí)行步驟(7);

(7)將水位升高1,合并棧頂兩層的ER區(qū),記錄水位升高歷史;

(8)若當(dāng)前點灰度大于棧頂元素灰度,返回步驟(6),否則返回步驟(3)。

如圖2所示為MSER算法流程圖。

圖2 MSER算法執(zhí)行步驟

MSER算法無需對圖像平滑、增強等預(yù)處理,可直接實現(xiàn)多尺度連通區(qū)域檢測,具有較高的通用性。圖3為LoG、DoG、DoH以及MSER算法檢測彈孔的結(jié)果對比圖。圖3(a)為胸環(huán)靶原圖,圖3(b)采用單尺度的LoG算子檢測彈孔,圖3(c)采用多尺度的DoG算子檢測彈孔。圖3(b)與圖3(c)均采用3×3的高斯核對圖像卷積,在10環(huán)內(nèi)的彈孔及靶環(huán)外的彈孔均能較準確地檢測出,但在其他環(huán)內(nèi)的彈孔檢測效果不太理想。圖3(d)采用DoH算子檢測彈孔,部分彈孔無法檢測出。圖3(b)、3(c)及3(d)已檢測的彈孔中,部分彈孔被重復(fù)檢測,如圖4所示。圖3(e)為MSER算法檢測彈孔的結(jié)果圖,文中將檢測的MSER區(qū)用淡色填充。彈孔均能被檢測出,只有一些靶環(huán)文字區(qū)域被誤檢,精確率較高。

圖3 不同算法彈孔檢測結(jié)果的對比圖

圖4 DoH算法重復(fù)彈孔檢測

由于狙擊訓(xùn)練中,圖像明暗會隨時間推移而改變,對于不同圖像,MSER算法中delta、Vmax值變化較大,為提升系統(tǒng)報靶性能及用戶體驗,需要改進MSER算法實現(xiàn)參數(shù)自適應(yīng)功能。

2 MSER-I—MSER改進算法

根據(jù)MSER中參數(shù)變化的規(guī)律,結(jié)合基于積分圖像的閾值自適應(yīng)算法,提出了改進的MSER算法(MSER-I),使delta和Vmax可自適應(yīng)。其余3個參數(shù)中,Amax和Amin(彈孔尺寸參數(shù))根據(jù)彈孔尺寸確定。Dmin參數(shù)通過實驗確定。經(jīng)反復(fù)實驗得出Dmin取0.5 可較好地提取不同圖像中彈孔深色區(qū)域。

delta和Vmax分別描述ER區(qū)與其邊緣的灰度差值以及ER區(qū)的穩(wěn)定度,這兩個參數(shù)與胸環(huán)靶圖像的灰度對比度有密切的關(guān)系,胸環(huán)靶圖像對比度越高,彈孔與靶面的灰度差越大,彈孔區(qū)域穩(wěn)定度越高,因此可以將胸環(huán)靶與背景像素的平均灰度差值作為對比度參考。

2.1 基于積分圖像的對比度計算

積分圖像中任意像素的值為左上起始像素至當(dāng)前像素構(gòu)成的矩形區(qū)域內(nèi)灰度值之和。若需計算灰度圖中某區(qū)域內(nèi)像素灰度值之和,可對積分圖像查表,迅速獲取結(jié)果。積分圖像由式(2)計算,其中x代表行,y代表列,tij為灰度圖像中第i行、第j列像素的灰度值,I(x,y)為積分圖像中x行y列像素的值。圖5(a)是數(shù)字圖像中每個像素的灰度值,圖5(b)是積分圖像的像素值。

(2)

圖5 積分圖像矩陣

通過式(3)可計算任意矩形區(qū)域的灰度值之和sumGray。其中(x1,y1)是矩形區(qū)域內(nèi)左上起始像素位置,(x2,y2)是矩形區(qū)域右下終止像素位置。如圖6,D區(qū)域灰度值之和為9。

sumGray=I(x2,y2)-I(x2,y1-1)-I(x1-1,y2)+I(x1-1,y1-1)

(3)

圖6 積分圖像區(qū)域灰度值的和

基于積分圖像的對比度算法適用于光照不均或不同灰度范圍的圖像,將各像素與其周圍矩形區(qū)域像素的灰度值比較,獲取胸環(huán)靶與背景像素。算法將灰度圖中每個像素的灰度值curGray與其所在矩形區(qū)域內(nèi)的像素點數(shù)之和sum值相乘,將得到的結(jié)果與sumGray比較,若結(jié)果小于sumGray,當(dāng)前像素記為胸環(huán)靶像素,反之記為背景像素。i由式(4)確定,矩形區(qū)域長、寬均設(shè)定為原圖的1/8。

sum=(x2-x1+1)×(y2-y1+1)

(4)

區(qū)分胸環(huán)靶與背景像素后,計算胸環(huán)靶與背景像素的平均灰度差,表示圖像對比度,實現(xiàn)MSER算法中參數(shù)delta與Vmax自適應(yīng)。

2.2 MSER-I參數(shù)自適應(yīng)

本文在不同光照環(huán)境下,分別計算200幀圖像中胸環(huán)靶與背景像素的平均灰度差ε,并統(tǒng)計每幀圖像較理想的delta和Vmax取值。通過線性擬合與反比例曲線擬合,求解理想的delta、Vmax取值與ε的函數(shù)關(guān)系。圖7為delta(ε)的擬合直線,delta取值為整數(shù),當(dāng)delta大于6時,彈孔檢測結(jié)果基本不變,因此將delta值限定為6,圖中虛線后方為分段函數(shù)delta=6。圖8為Vmax(ε)的擬合曲線,Vmax為浮點數(shù),最大值為1.0, 圖中虛線前方為分段函數(shù)Vmax=1.0。

圖7 ε與delta函數(shù)關(guān)系

圖8 ε與Vmax函數(shù)關(guān)系

根據(jù)擬合曲線,ε與delta函數(shù)關(guān)系可以用式(5)表示,ε與Vmax函數(shù)關(guān)系可以用式(6)表示。

(5)

(6)

2.3 MSER-I彈孔尺寸參數(shù)的確定

參數(shù)Amax和Amin用于限定目標彈孔區(qū)域的尺寸。由于在訓(xùn)練場合攝像頭放置的位置不固定,彈孔的尺寸(像素點數(shù))不確定,因此Amax和Amin需要根據(jù)實際場合調(diào)整。通過計算彈孔像素點數(shù)Sb與胸環(huán)靶區(qū)域像素點數(shù)Sc的比值k,作為彈孔尺寸的一致性指標。彈孔像素點數(shù)Sb與胸環(huán)靶區(qū)域像素點數(shù)Sc可以通過試驗獲取。如圖9所示,在胸環(huán)靶上取ABCDE特征點位置信息,假設(shè)經(jīng)過E點的胸環(huán)靶邊緣直線與BC平行,求解出胸環(huán)靶四邊形邊框的4個頂點坐標信息,據(jù)此計算胸環(huán)靶區(qū)域像素點數(shù)Sc。并在攝像頭位置保持不變的情況下,對采集的圖像統(tǒng)計各彈孔區(qū)域像素點數(shù)Sb,將像素點數(shù)的分布情況進行高斯擬合。

圖9 采集胸環(huán)靶圖像與標準胸環(huán)靶圖像映射

本文統(tǒng)計140個彈孔的像素點數(shù),計算得出k值分布情況,如圖10所示,擬合的高斯分布均值μ為1.224×10-4,標準差σ為2.503×10-5。在本次試驗中,Sc為593×577,根據(jù)3σ準則,式(7)和(8)計算出Amin=15,Amax=69。

Amin=(μ-3σ)×Sc-1

(7)

Amax=「(μ+3σ)×Sc?+1

(8)

圖10 彈孔與胸環(huán)靶像素點數(shù)比例

執(zhí)行MSER-I算法后,對于檢測的彈孔候選區(qū)域,需進一步判斷新增彈孔。

3 新增彈孔判斷

MSER-I算法在檢測彈孔候選區(qū)域時,會受到部分字符、靶環(huán)等非彈孔區(qū)域的干擾。對于候選彈孔區(qū)域,本文采用圖11所示流程辨別真假彈孔:(1)通過透視變換將圖9(a)中胸環(huán)靶內(nèi)彈孔候選區(qū)域像素映射至標準胸環(huán)靶圖9(b),以此排除胸環(huán)靶外的彈孔候選區(qū)域。(2)MSER-I算法基于灰度圖,不同彈孔灰度差異較小,將彈孔灰度范圍作為評判標準。遍歷胸環(huán)靶內(nèi)每個彈孔候選區(qū)域,若候選彈孔的平均灰度值在彈孔灰度范圍內(nèi),判為彈孔區(qū)域,否則為非彈孔區(qū)域,以此將胸環(huán)靶內(nèi)非彈孔區(qū)域排除。

圖11 識別真假彈孔流程圖

剩余的彈孔候選區(qū)域中,采用幀間差法排除MSER-I輸出的彈孔圖像已經(jīng)報靶的彈孔,并判斷是否有新增彈孔。本文使用胸環(huán)靶紙厚度為0.2 mm,風(fēng)力和子彈沖擊都會引起靶紙晃動,同一彈孔在時間軸上不同圖像中的位置會有一定差異。將當(dāng)前彈孔區(qū)域依次與已報靶的彈孔區(qū)域比較,若彈孔像素重合率大于已報彈孔的70%,判定為同一彈孔,反之判為新增彈孔。

4 算法驗證與分析

圖像處理中,評價一個算法好壞有兩個指標:精準度P(Precision)和召回率R(Recall)。精準度反映了被判定為正例中真正的正例比重,召回率反映被判定的正例占總的正例的比重。例如圖像中有100個彈孔,算法檢測出120個候選域,其中80個是彈孔,40個不是彈孔,精準度P為80/120,召回率R為80/100。據(jù)公式(9),可用F這一指標描述P、R,若P、R中任意一值偏小,F(xiàn)值都會較小,而F值越大,算法性能越好。以此作為本文算法評判指標。

(9)

本文通過一組試驗,評估MSER與MSER-I算法性能。圖12給出了不同光照環(huán)境下使用自適應(yīng)閾值的MSER-I彈孔檢測結(jié)果。

圖12 不同光照環(huán)境下MSER-I彈孔檢測

表1給出9組MSER與MSER-I算法的數(shù)據(jù)對比,由表可知,F(xiàn)值在MSER-I中有明顯提升,可見MSER-I算法相對更優(yōu)。

表1 MSER算法改進前后數(shù)據(jù)對比

新增彈孔檢測結(jié)果如圖13所示,將新增彈孔內(nèi)所有像素根據(jù)透視變換矩陣映射至標準胸環(huán)靶中,并將映射后的像素求取環(huán)數(shù)平均值,作為彈孔環(huán)數(shù)。

試驗結(jié)果表明,本文彈孔檢測精準度為83.78%,召回率為100%,F(xiàn)值為91.18%。

圖13 自動報靶部分結(jié)果圖

系統(tǒng)的時間指標方面,攝像頭模塊傳輸圖像的幀率為30 fps。為進一步提升算法效率,本文通過幀間差快速定位可能的彈孔區(qū)域,在定位的區(qū)域中執(zhí)行MSER-I,并根據(jù)上文提及的算法步驟識別新增彈孔,實際測試中,算法時延穩(wěn)定在28 ms,可較有效地處理攝像頭獲取的每幀圖像。

5 結(jié)束語

本文研究了基于MSER的彈孔識別算法,以改進的MSER算法檢測彈孔候選區(qū)域,通過透視變換排除胸環(huán)靶外區(qū)域,根據(jù)彈孔尺寸、灰度等特征排除非彈孔區(qū)域,通過像素重合率排除已報靶的彈孔區(qū)域,識別新增彈孔。通過實踐驗證,算法在自然環(huán)境下檢測新增彈孔,能夠滿足報靶的實時性。

猜你喜歡
彈孔像素點斑點
圖像二值化處理硬件加速引擎的設(shè)計
斑點豹
基于局部相似性的特征匹配篩選算法
最后的彈孔
基于視頻圖像處理的彈孔檢測提取算法研究?
基于像素點篩選的艦船湍流尾跡檢測算法
基于canvas的前端數(shù)據(jù)加密
Finding beauty in your scars Alexandra Heather Foss
擺脫病毒
閑趣一刻