李趙春, 顧嘉梁, 張 浩, 孫付仲, 孟龍暉, 陳 進(jìn)
(1.南京林業(yè)大學(xué) 機(jī)械電子工程學(xué)院,江蘇 南京 210037;2.南京工業(yè)大學(xué) 機(jī)械與動力工程學(xué)院,江蘇 南京 211800;3.江蘇省公安廳 物證鑒定中心,江蘇 南京 210031)
傳統(tǒng)彈痕人工檢驗花費大、耗時長,逐漸被彈痕自動識別所取代。20世紀(jì)90年代以來,加拿大、德國、以色列等國已先后研制出槍彈痕跡自動比對檢索系統(tǒng),2000年,我國公安部也自行研制了一套槍彈痕跡計算機(jī)識別系統(tǒng)。除此之外,眾多大學(xué)和研究機(jī)構(gòu)也在從事這一領(lǐng)域的研究[1~3]。事實上,槍彈痕跡自動識別主要集中在兩個關(guān)鍵技術(shù):高精度的槍彈痕跡采集和高效的彈痕比對方法。目前,以IBIS[4]為代表的主流識別系統(tǒng)基本拋棄了CCD攝像采集方法,均采用三維共聚焦顯微鏡獲取三維表面形貌,可真實反映槍彈痕跡特征分布[5]。對于彈痕比對方法,絕大多數(shù)研究則只集中在目標(biāo)比對,即只定量而不定性,而且基本是以互相關(guān)系數(shù)作為參照。IBIS等系統(tǒng)的策略也是依據(jù)互相關(guān)系數(shù)給出高低排序,隨后由人工進(jìn)行二次判斷。實際上,計算機(jī)彈痕自動識別的最終目的當(dāng)然不僅是對象比對,而是基于定量分析得出定性結(jié)論??梢哉f,目前槍彈痕跡匹配定性方法的研究仍然相當(dāng)缺乏,研究不深入,實驗也不充分。
本文提出了一種基于尺度不變特征變換(scale-invariant feature transform,SIFT)算法[6]的彈底窩痕特征點配準(zhǔn)法[7]及一種經(jīng)驗的彈底窩痕匹配判定法。隨機(jī)抽樣即特征點密集區(qū)域法,以特征點密集區(qū)域面積占窩痕總面積百分比η作為匹配判定指標(biāo)。
彈底窩痕本身紋理形貌復(fù)雜,其峰谷大小不一且形態(tài)各異。SIFT在不同尺度下搜索無疑可以更加全面地獲取峰谷特征點[8~10]。
構(gòu)造高斯差分金字塔,遍歷其上各像素點,并與它同尺度8個相鄰點以及上下相鄰尺度9×2共26個點比較,若為極大值或極小值點,即可暫時認(rèn)定為特征點。
高斯差分金字塔中圖像會產(chǎn)生較強(qiáng)的邊緣響應(yīng),需要剔除不穩(wěn)定的邊緣響應(yīng)點,其在橫跨邊緣的方向有較大的主曲率,而在垂直邊緣的方向有較小的主曲率。主曲率可以通過2×2的Hessian矩陣H求出
(1)
令α為最大特征值,β為最小特征值。通過H矩陣的跡計算它們的和,通過H矩陣的行列式計算它們的乘積
Tr(H)=DXX+DYY=α+β
Det(H)=DXXDYY-(DXY)2=αβ
(2)
令α=γβ,滿足式(3)的特征點保留,其余特征點刪除[6]。本實驗中,取γ=15
(3)
圖1為彈底窩痕剔除邊緣響應(yīng)前后特征點分布圖。
圖1 邊緣響應(yīng)剔除
由圖1(a)中可以看到,特征點數(shù)量較多,在窩痕上分布比較分散。圖1(b)中少數(shù)位于邊緣處的特征點被有效剔除,其余特征點基本位于窩痕的凸峰或凹谷處。一方面圖像邊緣上的點難以定位,具有定位的歧義性,另一方面邊緣點易受噪聲干擾而變得不穩(wěn)定,因此,剔除邊緣響應(yīng)點可使配準(zhǔn)結(jié)果更穩(wěn)定更可靠。
為使特征向量具備旋轉(zhuǎn)不變性,需給特征點方向進(jìn)行賦值,利用特征點鄰域像素的梯度方向分布特性為每個特征點指定方向參數(shù)
m(x,y)=
(4)
θ(x,y)=arctan((L(x,y+1)-L(x,y-1))/
(L(x+1,y)-L(x-1,y)))
(5)
式(4)和式(5)分別為(x,y)處梯度的模值和方向[10]。在完成特征點的梯度計算后,使用直方圖統(tǒng)計鄰域內(nèi)像素的梯度方向和幅值。梯度方向直方圖將0°~360°的范圍,分為36個柱,每10°為一個柱。最后取直方圖峰值方向作為特征點主方向,其他達(dá)到峰值80 %的方向作為輔方向。計算特征點周圍4×4=16窗中每個像素的梯度,并使用高斯下降函數(shù)降低遠(yuǎn)離中心的權(quán)重,最終形成一個128維特征描述向量[11]。
對于SIFT特征點的描述向量,可采用歐氏距離法度量其相似性。取窩痕樣本中某個特征點,找出其與待配準(zhǔn)窩痕樣本中歐氏距離最近的前兩個特征點。在這兩個特征點中,如果最近距離除以次近距離小于某個比例閾值,則接受這一對匹配點。降低這個比例閾值,SIFT匹配點數(shù)目會減少,但更加穩(wěn)定。經(jīng)過大量對比實驗,應(yīng)用于彈底窩痕匹配的閾值取0.8左右比較適合。
圖2 初始配準(zhǔn)效果
圖2中為已知匹配痕跡的SIFT算法初始配準(zhǔn)結(jié)果。結(jié)果顯示,基于SIFT描述和歐氏距離配準(zhǔn),可以得到大量的匹配特征點對。然而,結(jié)果也同樣顯示了較多錯誤匹配點對,甚至有部分空值點也參與了匹配。這樣的錯誤主要是因為特征空間的高維性(128維),相似的距離會存在大量其它的錯誤匹配。事實證明,僅僅采用歐氏距離法不足以實現(xiàn)特征點對的準(zhǔn)確匹配。為進(jìn)一步提高特征點對匹配精度常采用幾何校驗、迭代求精等方法,其中以隨機(jī)抽樣一致性(random sample consensus,RANSAC)算法應(yīng)用最為廣泛。
RANSAC算法是一種估計數(shù)學(xué)模型參數(shù)的迭代算法。其主要思路是通過采樣和驗證求解大多數(shù)樣本滿足的映射模型,剔除不滿足此模型的樣本。SIFT求出的匹配特征點對除了具有相似的特征向量外,還應(yīng)該具有相似的間距或位置分布,這在計算機(jī)視覺[12]中被稱為幾何關(guān)系,它實際反映了從一個幾何空間到另一個幾何空間的映射變換。圖2的結(jié)果顯示了歐氏距離法處理此種復(fù)雜匹配任務(wù)的缺陷,同時也說明了采用幾何映射模型輔助剔除誤匹配的重要性。
對2幅已知匹配的彈底窩痕進(jìn)行SIFT特征配準(zhǔn)并以RANSAC進(jìn)行提純,提純效果見圖3??梢钥闯?,絕大部分錯誤匹配對被有效剔除,剩余的匹配點對連線基本平行,配準(zhǔn)效果較之前提升明顯。
圖3 提純效果
將如前所述SIFT和RANSAC組合算法應(yīng)用于已有的測試樣本(Fadul樣本[13]):10組20幅兩兩匹配彈底窩痕,500像素×500像素大小。對10組窩痕分別進(jìn)行配準(zhǔn)提純,實驗結(jié)果如表1所示。
表1 10組彈底窩痕配準(zhǔn)效果
對比10組彈底窩痕特征點配準(zhǔn)效果可以發(fā)現(xiàn):最多的一組具有442對匹配點對,RANSAC提純后仍有407對;最少的有33對匹配點對,RANSAC提純后有24對。其余組平均有140對匹配特征點對,提純率基本在80 %以上。其中,第1組樣本的配準(zhǔn)結(jié)果較其他組存在明顯差異,而經(jīng)物證鑒定員人工比對認(rèn)定,該樣本對間的匹配信息的確相對較少。需要說明的是,運用以上算法對已知不匹配的彈底窩痕進(jìn)行配準(zhǔn)提純,特征點對一般不會超過4(RANSAC初始選取4對特征點確定模型參數(shù))。
綜上所述,通過SIFT進(jìn)行彈底窩痕特征點配準(zhǔn)并以RANSAC進(jìn)行提純,配準(zhǔn)效果較為理想,其中已知匹配樣本對比已知不匹配樣本的配準(zhǔn)結(jié)果差別明顯。
由SIFT和RANSAC組合算法確定的匹配特征點在整個彈底窩痕環(huán)上分布較為分散,可以找出那些相對集中的特征點并確定特征點密集區(qū)域。通過實驗分析,確立以下搜索規(guī)則:某個特征點周圍距離它小于20像素的特征點個數(shù)大于等于6,即認(rèn)定此特征點是相對集中特征點。
如圖4所示,原特征點分布比較分散,經(jīng)上述算法篩選后,相對孤立的特征點被有效剔除。剩余特征點相對集中,在窩痕環(huán)上構(gòu)成一些特征點密集區(qū)域且分布比較均勻。
圖4 相對集中特征點
以相對集中特征點為基礎(chǔ),提出確定特征點密集區(qū)域的算法。算法具體步驟如下:1)任選相對集中特征點里一個點a,找到和它距離最近的點b。如果兩點距離小于20像素,則將它們存入集合A;2)以b為基點,重復(fù)同樣操作,找到和它距離最近的下一個點c(距離小于20像素),把c也存入集合A直到兩點距離大于20像素為止;3)若A元素個數(shù)大于等于5,集合A則成為密集區(qū)域特征點集。每個特征點集所圍成的最小凸多邊形可認(rèn)定為特征點密集區(qū)域。多個密集區(qū)域可記為S1,S2,S3,……。
依照上述方法認(rèn)定特征點密集區(qū)域,計算各區(qū)域面積。如圖5樣本所示,S1到S6面積依次為1.655 3×103,1.309 5×103,652.869 1,2.402 1×103,2.577 8×103和1.850 7×103,所以,求得的特征點密集區(qū)域的總面積為S=10.448 3×103。
圖5 特征點密集區(qū)域
求得特征點密集區(qū)域面積后需計算彈底窩痕總面積,此類窩痕形狀為環(huán)形,窩痕的面積即大圓減去小圓的面積,如圖6所示。可以求得窩痕的面積Stotal=68.766 3×103。密集區(qū)域面積占窩痕總面積的百分比η=10.448 3×103/68.766 3×103=15.193 9 %。
圖6 彈底窩痕總面積
分別求取10組窩痕特征點密集區(qū)域面積、窩痕總面積以及面積占比。實驗結(jié)果如表2所示。
表2 密集區(qū)域面積占比
由表2可以看出,實驗對象彈底窩痕面積最大71.291 7×103,最小55.286 2×103,特征點密集區(qū)域面積占窩痕總面積百分比η最大19.112 8 %,最小12.844 0 %,面積占比基本介于12 %~20 %之間?;趯嶒灲Y(jié)果,提出判定百分比為12 %:特征點密集區(qū)域面積占窩痕總面積百分比超過12 %,則認(rèn)定兩幅彈底窩痕匹配,否則認(rèn)定為不匹配。事實上,已知不匹配的窩痕所得到的特征點對通常不會超過4對,基本不存在特征點密集區(qū)域。由此可知,以特征點密集區(qū)域占彈底窩痕總面積百分比η為依據(jù),可以有效判定彈底窩痕匹配與否。
針對槍彈痕跡自動識別中痕跡數(shù)量大、種類多、人工識別困難等問題,本文提出了一種基于SIFT算法的彈底窩痕配準(zhǔn)方法實現(xiàn)窩痕的定量比對,同時,提出一種經(jīng)驗的痕跡匹配判定方法實現(xiàn)彈底窩痕的定性區(qū)分。
SIFT搜索高斯差分金字塔中局部極值點作為特征點,并根據(jù)其鄰域像素梯度生成128維特征描述向量,實現(xiàn)了痕跡的尺度和旋轉(zhuǎn)不變特征描述。通過歐氏距離法搜索初始匹配點對,并利用RANSAC一致性算法提純,剔除誤匹配,基本實現(xiàn)了彈底窩痕的配準(zhǔn)?;谝延械钠ヅ涮卣鼽c對,確定特征點密集區(qū)域并計算其面積。以密集區(qū)域面積在窩痕總面積中占比作為定性判斷的指標(biāo)。算法通過10組20個兩兩匹配彈底窩痕進(jìn)行驗證,實驗結(jié)果表明,面積占比基本介于12 %~20 %之間。因此,若面積占比大于12 %,可認(rèn)定兩窩痕匹配,反之則認(rèn)定為不匹配。綜上所述,依靠特征點密集區(qū)域法可以實現(xiàn)彈底窩痕比對的定性判斷。