張 迎,江 劍,路 卓,王杰兵
(南京理工大學(xué) 機(jī)械工程學(xué)院,江蘇 南京 210094)
線陣相機(jī)立靶密集度測(cè)試技術(shù)[1]是一種非接觸式測(cè)量技術(shù),其靶面由兩臺(tái)相機(jī)交匯構(gòu)成的有效視場(chǎng)來決定,尺寸高度易于調(diào)節(jié). 由于具有使用方便、結(jié)構(gòu)簡(jiǎn)單、測(cè)試速度快和自動(dòng)化程度高等突出優(yōu)點(diǎn),基于線陣相機(jī)交匯的立靶測(cè)試系統(tǒng)越來越多地替代同類產(chǎn)品,廣泛應(yīng)用于靶場(chǎng)測(cè)試活動(dòng)中. 在測(cè)試系統(tǒng)中,彈丸過靶坐標(biāo)的計(jì)算依賴于相機(jī)仰角、系統(tǒng)基線長(zhǎng)度、彈丸成像中心所在位置的像元編號(hào)等參數(shù)的獲取. 其中要想得到彈丸成像中心所在位置的像元編號(hào),必須先精準(zhǔn)定位彈丸在圖像中的位置,然后確定它的中心點(diǎn)位置[2-4]. 在圖像處理領(lǐng)域,對(duì)于微小物體的提取算法[5-9]多是利用背景差分法[10]、邊緣檢測(cè)法[11]等常規(guī)方法. 但是,針對(duì)線陣相機(jī)立靶測(cè)試系統(tǒng)來說,其背景容易變化,亮度也難以保持均勻,因此,并不適用前面所提到的這些算法. 針對(duì)這些問題,本文提出一種彈丸圖像提取的改進(jìn)算法,可快速精確地提取出彈丸中心坐標(biāo),提高測(cè)試系統(tǒng)的捕獲率和實(shí)時(shí)處理效率.
為了提取出彈丸圖像,識(shí)別其中心位置,首要的便是對(duì)圖像進(jìn)行分析,才能針對(duì)圖像特點(diǎn)制定有效的算法,成功實(shí)現(xiàn)需求. 圖 1 為系統(tǒng)結(jié)構(gòu)示意圖,兩個(gè)CMOS線陣相機(jī)位于靶架底角并呈正交擺放,兩相機(jī)視場(chǎng)重疊的圓形區(qū)域即為有效靶面,靶面周圍三面布滿光源,其作用是給背景增加亮度,使彈丸能夠從背景中區(qū)分出來. 無彈丸經(jīng)過靶面時(shí),相機(jī)正對(duì)光源拍攝,所得圖像整體亮度較高. 彈丸過靶時(shí),遮擋部分光源,使得相機(jī)圖像上出現(xiàn)一個(gè)由于彈丸過靶所形成的暗點(diǎn). 本文工作便是將暗點(diǎn)在圖像中的位置提取出來,以便后續(xù)計(jì)算獲得彈丸過靶坐標(biāo).
圖 1 系統(tǒng)結(jié)構(gòu)示意圖
圖 2 為無彈丸穿過時(shí)利用相機(jī)拍攝的背景圖像,從中可以看到,背景亮度并不均勻,主要呈現(xiàn)出明暗交替的特點(diǎn),部分區(qū)域亮度較低.
圖 2 背景圖像
圖 3 為背景圖像中某一行的灰度值分布,從圖中可看出背景圖像灰度跨度超過50,波動(dòng)幅度較大,這即是彈丸容易淹沒在背景中不易提取,從而導(dǎo)致測(cè)試系統(tǒng)捕獲率降低的主要原因之一.
圖 3 背景圖像灰度分布
經(jīng)過對(duì)圖像的分析不難發(fā)現(xiàn),雖然背景中的亮度不均勻,但仍然具備相應(yīng)的規(guī)律,主要有以下兩點(diǎn):其一,亮度的不均勻性主要體現(xiàn)在同行不同列的像素點(diǎn)之間;其二,對(duì)于同一列的像素點(diǎn)來說,其灰度值基本相同. 造成這些現(xiàn)象的原因在于,同一行的像素灰度值雖然在同一時(shí)刻獲得,但是一行共有2 048個(gè)像素點(diǎn),通過相機(jī)視場(chǎng)對(duì)應(yīng)的是靶面上較長(zhǎng)的一段距離. 由于外界環(huán)境以及光源自身不均勻性的影響,這些像素點(diǎn)容易形成灰度值的不均勻分布. 由于系統(tǒng)使用的是CMOS線陣相機(jī),每次拍攝只獲得一行圖像,通過相機(jī)視場(chǎng)角對(duì)應(yīng)的寬度通常只有不到2 mm,結(jié)合超高速的相機(jī)行頻,圖像上同一列像素點(diǎn)灰度值基本不變. 總而言之,同行像素代表同一時(shí)刻不同位置的灰度值,同列像素代表同一位置不同時(shí)刻的灰度值.
通過以上分析研究,本文提出一種二次提取快速獲得彈丸圖像信息的方法,此方法分別對(duì)圖像列內(nèi)像素和行間像素做互相關(guān)運(yùn)算定位彈丸位置,后利用閾值分割法求得彈丸中心像元編號(hào),算法流程如圖 4 所示.
彈丸過靶瞬間,CMOS線陣相機(jī)連續(xù)抓拍得到的包含彈丸的圖像如圖 5 所示. 在離測(cè)試系統(tǒng)固定的距離布置一個(gè)觸發(fā)裝置,彈丸穿過觸發(fā)裝置后,觸發(fā)裝置給相機(jī)發(fā)出指令,經(jīng)過固定延時(shí),相機(jī)連續(xù)快速拍照產(chǎn)生彈丸過靶圖像. 觸發(fā)裝置擺放距離和相機(jī)延時(shí)時(shí)間應(yīng)結(jié)合相機(jī)行頻進(jìn)行計(jì)算,保證在獲得彈丸過靶圖像前可拍得至少N行空白背景模板,以便后續(xù)圖像處理過程使用.
圖 4 基于二次提取的彈丸信息提取算法流程圖
互相關(guān)函數(shù)為隨機(jī)信號(hào)X(t)、Y(t)在任意2個(gè)不同時(shí)刻t1、t2下的值之間的相關(guān)程度[12]. 本文對(duì)互相關(guān)運(yùn)算做如下定義:
對(duì)于函數(shù)f(t)、g(t),有
R(u)=f(t)*g(-t),
(1)
式中:*表示卷積;R(u)表示2個(gè)函數(shù)在不同的相對(duì)位置上互相匹配的程度.
第一次提取按列進(jìn)行提取,經(jīng)過前面的分析可知,背景中同列像素灰度值相近,在含有彈丸像素的列中,彈丸像素灰度值比背景灰度值低. 將每列像素一分為二,用前半列像素和后半列像素按序進(jìn)行互相關(guān)運(yùn)算,計(jì)算出相關(guān)系數(shù),其數(shù)學(xué)表達(dá)式為
(2)
一般來說,背景像素列的相關(guān)程度更高,其相關(guān)系數(shù)絕對(duì)值也較高,而對(duì)于含彈丸像素列,不論彈丸像素在前半列、后半列或者是同時(shí)分布在兩列之中,利用式(2)求出的相關(guān)系數(shù)應(yīng)比背景像素列低. 因此,確定一個(gè)閾值用來區(qū)分背景像素列和含彈丸像素列,便可將彈丸像素所在的列提取出來. 圖 6 所示為各列做互相關(guān)運(yùn)算后的相關(guān)系數(shù)分布圖,從圖中可以看出背景像素列的相關(guān)系數(shù)絕大部分處于0.6~1的范圍內(nèi),而含彈丸像素列的相關(guān)系數(shù)絕對(duì)值最小值小于 0.2,因此可以很清楚地區(qū)分它們.
圖 6 列相關(guān)系數(shù)分布圖
圖 7 按列提取結(jié)果圖
閾值的選擇非常重要,如果過高,會(huì)遺留大量背景像素,對(duì)后續(xù)處理產(chǎn)生噪聲干擾,如果過低,會(huì)將部分彈丸像素誤當(dāng)成背景像素處理,導(dǎo)致后續(xù)彈丸灰度中心提取精度降低. 采集一張不含彈丸的背景圖像,對(duì)各列像素進(jìn)行如式(2)的互相關(guān)運(yùn)算,得到每列像素的相關(guān)系數(shù). 為了盡可能地濾除背景像素干擾,可取其中的絕對(duì)值最小值作為閾值. 在彈丸圖像中,相關(guān)系數(shù)絕對(duì)值大于閾值的像素列認(rèn)為是背景像素列,小于閾值的列認(rèn)為是含彈丸像素列,然后將它們提取出來. 為了防止彈丸邊緣被誤認(rèn)為背景像素列,將提取后的圖像左右各擴(kuò)張10列可保證提取的完整性,如圖 7 所示為按列提取后的彈丸圖像.
第二次提取按行進(jìn)行提取,將前面按列提取后的圖像中前N行背景像素疊加求均值,作為模板行.
(3)
將模板行和各像素行依次按序作互相關(guān)運(yùn)算,相關(guān)系數(shù)大于閾值(前N行背景像素行兩兩做互相關(guān)運(yùn)算,為了最大限度濾除背景像素干擾,可取相關(guān)系數(shù)絕對(duì)值最小值為閾值)的行認(rèn)為是背景像素行,相關(guān)系數(shù)小于閾值的行認(rèn)為是含彈丸像素行,然后將這些行提取出來. 圖 8 所示為模板行與各像素行做互相關(guān)運(yùn)算后的相關(guān)系數(shù)分布圖,從圖中可以看出,各行相關(guān)系數(shù)絕大部分處于0.7~0.9 范圍內(nèi),含彈丸像素行分布在第50行~第60行之間. 同樣,為了防止彈丸邊緣被誤認(rèn)為背景像素行,將提取后的彈丸像素行上下各擴(kuò)張10行,如圖 9 所示為按行提取后的彈丸圖像.
圖 8 行相關(guān)系數(shù)分布圖
圖 9 按行提取結(jié)果圖
二次提取后,成功實(shí)現(xiàn)將彈丸位置精準(zhǔn)定位在一塊尺寸遠(yuǎn)小于原始圖像的小圖像中. 若想獲得彈丸中心坐標(biāo),首先要去除背景像素的影響,由于背景并不均勻且彈丸像素灰度值小于背景像素,因此,可以考慮利用閾值分割法[13]濾除背景像素的影響. 在二次提取后的彈丸圖像正上方分離一塊同等尺寸的背景圖像,為了消除背景噪聲的干擾,取其中像素灰度值最小值為閾值,對(duì)彈丸圖像進(jìn)行閾值分割處理. 其運(yùn)算公式為
(4)
式中:h(i,j)為閾值分割前的彈丸圖像;g為閾值;k(i,j)為閾值分割后的彈丸圖像.
最后一步是確定彈丸中心坐標(biāo),也就是求得彈丸的豎直中心線所在的圖像列編號(hào). 利用遍歷的方法,按照式(5)依次假設(shè)每一列為彈丸豎直中心線,將此列左右兩邊圖像各像素的灰度值進(jìn)行疊加然后做差分運(yùn)算,當(dāng)出現(xiàn)絕對(duì)值最小的情況時(shí),可認(rèn)定該列為彈丸中心. 具體算法如下:
設(shè)當(dāng)前圖像尺寸為m×n,當(dāng)前列為第k列,則有
(5)
式中:x(i,j)為閾值分割后的圖像;i為行編號(hào);j為列編號(hào).Δk的絕對(duì)值取最小值時(shí),第k列所對(duì)應(yīng)的彈丸原始圖像中的列編號(hào)即為所求的彈丸中心像元編號(hào).
利用圖 1 所示的測(cè)試系統(tǒng),采用像元數(shù)為2 048、像元尺寸為7.04 μm的CMOS線陣相機(jī)分別結(jié)合背景差分法和基于二次提取的彈丸信息提取算法進(jìn)行靶場(chǎng)試驗(yàn),并與紙靶坐標(biāo)進(jìn)行比對(duì),表1 為進(jìn)行10次射擊的試驗(yàn)結(jié)果.
為了比較兩種算法下測(cè)試系統(tǒng)的測(cè)量精度,以紙靶坐標(biāo)為參照,分別統(tǒng)計(jì)利用兩種圖像算法計(jì)算所得x坐標(biāo)、y坐標(biāo)以及位置誤差,列入表2.
通過計(jì)算可以得出,基于背景差分法獲得的彈丸坐標(biāo)和紙靶坐標(biāo)相比,x坐標(biāo)最大誤差為2.6 mm,標(biāo)準(zhǔn)差為2.08 mm,y坐標(biāo)最大誤差為3.8 mm,標(biāo)準(zhǔn)差為2.54 mm,坐標(biāo)平均精度為3.2 mm. 基于二次提取的彈丸信息提取算法獲得的彈丸坐標(biāo)和紙靶坐標(biāo)相比,x坐標(biāo)最大誤差為2.3 mm,標(biāo)準(zhǔn)差為1.61 mm,y坐標(biāo)最大誤差為2.4 mm,標(biāo)準(zhǔn)差為1.78 mm,坐標(biāo)平均精度為2.3 mm. 由此可見,使用基于二次提取的彈丸信息提取算法計(jì)算出的彈丸坐標(biāo)精度更高.
表1 試驗(yàn)結(jié)果對(duì)比
表2 兩種算法計(jì)算所得坐標(biāo)誤差統(tǒng)計(jì)
通過分析研究發(fā)現(xiàn),彈丸過靶圖像處理產(chǎn)生的彈丸成像中心提取誤差主要由以下幾方面原因造成:
1)受光源限制,彈丸過靶圖像亮度低,背景復(fù)雜,均勻度差;
2)信噪比低、彈丸目標(biāo)像素占比小且目標(biāo)形狀尺寸易變;
3)受蚊蟲、振動(dòng)等其他外界因素干擾,增加了噪聲的影響.
與其對(duì)應(yīng)的改善措施,除了光源等硬件裝置的迭代更新之外,通過算法的不斷改進(jìn),仍可進(jìn)一步縮小誤差,提高測(cè)量精度,這也是該領(lǐng)域后續(xù)研究的重要工作之一.
本文通過對(duì)彈丸圖像背景復(fù)雜、均勻性差等問題的分析,提出了一種基于CMOS線陣相機(jī)的彈丸圖像處理方法,可提取有用信息計(jì)算彈丸過靶坐標(biāo). 此方法先對(duì)圖像進(jìn)行二次提取定位彈丸大致位置,去除無用數(shù)據(jù),再利用閾值分割濾除背景影響,最后確定彈丸中心坐標(biāo). 相比于常規(guī)的彈丸提取算法,此方法可顯著消除背景噪聲影響,提高彈丸提取精度和系統(tǒng)捕獲率,在靶場(chǎng)測(cè)試活動(dòng)中具有實(shí)用意義.