周保宇, 高樹輝
(中國人民公安大學(xué), 北京 100038)
血跡形態(tài)分析(BPA)可以理解為動態(tài)血液脫落事件導(dǎo)致的靜態(tài)后果的科學(xué)研究。BPA是繼對人類的血液進行個體識別之后發(fā)展起的一門新興的邊緣學(xué)科,常見的血跡形態(tài)可分為被動血跡、濺落血跡和變動血跡。在暴力事件和命案現(xiàn)場中,血跡痕跡是最常見,能直接反映作案活動過程的生物物證之一,對血跡形態(tài)進行分析可以得出出血點的高度,揮灑角度,物體運行的速度等關(guān)鍵信息,因此在犯罪現(xiàn)場重建過程中占有十分重要的地位。血跡形態(tài)分析具有一定的客觀性和科學(xué)性,其結(jié)論已普遍被司法機關(guān)所接受。傳統(tǒng)的血液形態(tài)分析的方法是先進行人工特征提取,再利用一系列的數(shù)學(xué)方法進行建模,大致還原所測血跡的出血點和運動軌跡,常用的技術(shù)有拉繩法、三角函數(shù)計算法與繪圖法、計算機程序法、公式計算法[1]。上述的4種方法都是根據(jù)血跡滴落后的形態(tài)特征,用拉線的方法或者直接在計算機上繪制出血跡的維度數(shù)據(jù),再使用三角函數(shù)等數(shù)學(xué)公式計算出血滴滴落時的高度、角度、速度信息。傳統(tǒng)血跡形態(tài)識別方法非常實用,但是存在著測量誤差和系統(tǒng)誤差,導(dǎo)致檢驗效果并不理想。本文引入深度學(xué)習(xí)的思想對分析的結(jié)果進行補充。
人工神經(jīng)網(wǎng)絡(luò)發(fā)展大致經(jīng)歷了3個高潮時期:20世紀40年代~60年代的控制論,20世紀80年代~90年代中期的聯(lián)結(jié)主義以及Hinton等人在《Science》上發(fā)表文章,提出了深度學(xué)習(xí)具有提取數(shù)據(jù)更加本質(zhì)的特征的能力[2]。2012年,Geoffrey Hinton組的研究人員在ImageNet2012上奪冠[3],他們圖像分類的效果遠遠超過第二名,由此掀起的深度學(xué)習(xí)熱潮一直持續(xù)至今。在刑事科學(xué)技術(shù)領(lǐng)域,圖像識別技術(shù)員也應(yīng)該乘上這股浪潮,在指紋、步態(tài)、槍彈痕跡、血跡痕跡等圖像識別方法中利用深度學(xué)習(xí)進行補充,將人工特征提取和計算機深度學(xué)習(xí)相結(jié)合,逐步完善現(xiàn)場勘驗中痕跡物證的檢驗工作。本研究利用模式識別的方法,對400個驗證樣本分類測試學(xué)習(xí)。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種前饋性神經(jīng)網(wǎng)絡(luò),是一種近年來廣泛被用于圖像識別領(lǐng)域的高效識別方法,用于識別位移,縮放及旋轉(zhuǎn)不變性的二維數(shù)據(jù)[4]。特別是在模式分類領(lǐng)域,由于該網(wǎng)絡(luò)避免了對圖像的復(fù)雜前期預(yù)處理,可以直接輸入原始圖像,因而得到了更為廣泛的應(yīng)用。
卷積分析數(shù)學(xué)中的一個十分重要的運算,利用卷積核對一個圖像進行卷積,其實就是對圖像進行濾波,其數(shù)學(xué)表達式為:
公式中,P=f(x,y)是所要做卷積運算的照片,Q=w(x,y)就是所謂的卷積核,也可以稱為濾波器,響應(yīng)函數(shù)等等,a和b是規(guī)定了卷積核即w(x,y)的大小。
卷積神經(jīng)網(wǎng)絡(luò)是由A.卷積層B.非線性(ReLU)C.池化D.全連接層4部分組成。卷積層的目的就是要從圖像中提取特征。在計算機中,每個圖像都是以一個數(shù)字矩陣的形式儲存的,無論是彩色圖像(三個通道),還是黑白圖像(一個通道)均由0~255的數(shù)值表示。給目標圖像做卷積就是N個卷積核與圖像進行矩陣運算,得出N個特征層,這些特征包括銳化,邊緣提取,模糊等。ReLU在卷積操作之后進行,主要目的是在深層網(wǎng)絡(luò)中引入非線性。
因為網(wǎng)絡(luò)要學(xué)習(xí)現(xiàn)實的圖片都是非線性的,而矩陣運算的結(jié)果都是線性的,因此要進行ReLU運算,常用方法有:
池化的主要作用是減少數(shù)據(jù)的維度,減輕網(wǎng)絡(luò)運行負擔(dān),控制過擬合,變形保持平穩(wěn)。主要的方式有Max, Average, Sum等。全連接層連著輸出層位于網(wǎng)絡(luò)的終端,用于進行結(jié)果分類,如果說卷積層、池化層和激活函數(shù)層等操作是將原始數(shù)據(jù)映射到隱層特征空間的話,全連接層則起到將學(xué)到的“分布式特征表示”映射到樣本標記空間的作用。
硬件:尼康D7000數(shù)碼照像機,翻拍架,A4紙張,醫(yī)用輸液器,燒杯,卷尺,支架,計算機,gpu。
軟件:caffe,python。
1.3.1 替代樣本的選取
訓(xùn)練神經(jīng)網(wǎng)絡(luò)需要大量的實驗樣本,考慮到血液的獲取難度大和保存時間短、易凝結(jié)的問題,本實驗選取與血液滴落形態(tài)相近的工業(yè)紅墨水代替血液,經(jīng)過多次滴落形態(tài)測試,發(fā)現(xiàn)血滴和紅墨水滴具有高度相似性,兩者滴落形態(tài)對比見圖1、圖2所示:
圖1 血滴形態(tài)
圖2 紅墨水滴形態(tài)
經(jīng)過測試發(fā)現(xiàn)血滴形態(tài)的基本特征與紅墨水水滴極為接近,均具備3個特征,第一,圓形滴狀形態(tài),為血滴形態(tài)的主體;第二,芒刺部分,反映出血跡濺落的程度;第三,血跡陰影區(qū)域,與血跡滴落的量和時間相關(guān)。根據(jù)類比推理的思想可得出利用紅墨水代替血液進行滴落實驗所得的結(jié)果是具有科學(xué)性的。
1.3.2 樣本分組
實驗選取了2 400張紅墨水靜態(tài)滴落照片,將其分為4組,滴落高度以15 cm為間隔,分別是40 cm,55 cm,70 cm,85 cm,每個樣本組共計600個樣本,其中編號前500號用于訓(xùn)練網(wǎng)絡(luò),后100號用于驗證正確率。每組部分實驗樣本如表1。
1.4.1 樣本制作
在醫(yī)用輸液器內(nèi)灌入工業(yè)紅墨水,掛在支架上,調(diào)節(jié)滴落點據(jù)地面的高度為35 cm。為保證每一滴滴落液體的體積壓力相同,調(diào)節(jié)壓力旋鈕,用秒表控制液滴以3秒1滴的速度均勻下落。每個高度所采集的樣本量在700個以上后置于翻拍架上,用尼康D7000相機進行拍照,在電腦中進行樣本圖片的選取篩檢,每組篩選出600個優(yōu)質(zhì)樣本,并選取500個作為訓(xùn)練組,100個作為驗證組。
表1每組部分實驗樣本
1.4.2 網(wǎng)絡(luò)選取
圖3 網(wǎng)絡(luò)層
在神經(jīng)網(wǎng)絡(luò)復(fù)雜度的選取上考慮到實驗的數(shù)據(jù)量一共是2 400張照片,不適合選取層數(shù)多的網(wǎng)絡(luò)。網(wǎng)絡(luò)層數(shù)多自帶參數(shù)就會多,訓(xùn)練時會出現(xiàn)參數(shù)訓(xùn)練不足的問題,因此選取層數(shù)比較少的網(wǎng)絡(luò)結(jié)構(gòu):CAFFENET。如圖3,該網(wǎng)絡(luò)層共含有8個帶權(quán)層,其中包含5個卷積層和3個全連接層,最后一個全連接層的輸出被送到一個分類為4類的softmax層。在第一二五層后進行最大池化操作(MAX Pooling),響應(yīng)歸一化跟在第一二層卷積層后面,ReLU非線性應(yīng)用于每個卷積層及全連接層的輸出。
網(wǎng)絡(luò)具體工作流程如下:在第一個卷積層中,使用96個大小為11×11×3、步長為4的卷積核,對大小為227×227×3的訓(xùn)練圖像進行濾波之后進行響應(yīng)歸一化及池化,其輸出的結(jié)果作為第二個卷積層的輸入,且利用256個大小為5×5×48的卷積核對其進行濾波。之后的三層卷積層直接相連,其中沒有進行任何的池化和歸一化操作。第三個卷積層有384個大小為3×3×256的核被連接到第二個卷積層的(歸一化的、池化的)輸出。第四個卷積層擁有384個大小為3×3×192的核,第五個卷積層擁有256個大小為3×3×192的核。3個全連接層均有4096個神經(jīng)元,輸出的結(jié)果被softmax層進行4類分類。
隨著網(wǎng)絡(luò)迭代次數(shù)的增加,實驗測試的準確率和數(shù)據(jù)的損失值均趨于穩(wěn)定,如圖4圖5所示。迭代次數(shù)在0~100區(qū)間時,準確率上升幅度大,每個迭代標記點的上升值均約為上個節(jié)點上升值的兩倍,當?shù)螖?shù)達到約200次時,實驗的準確率基本達到平穩(wěn)值。
圖4 準確率隨迭代次數(shù)的關(guān)系
圖5 損失值與迭代次數(shù)的關(guān)系
隨著時間增加的實驗結(jié)果繪圖如圖6。
實驗終止于第500次迭代,實驗結(jié)果如圖7所示,其中l(wèi)oss值為0.101 827,accuracy=96.75%,分類結(jié)果比較理想。
圖6 準確率、損失值與時間的關(guān)系
圖7 實驗最終結(jié)果
利用深度學(xué)習(xí)的思想進行血跡痕跡檢驗與傳統(tǒng)方法有著本質(zhì)的區(qū)別,即從人工進行特征提取轉(zhuǎn)向計算機的神經(jīng)網(wǎng)絡(luò)自己進行特征學(xué)習(xí),并隨著迭代次數(shù)的增加不斷優(yōu)化網(wǎng)絡(luò)的各項參數(shù)以達到最優(yōu)的模型。
本文使用了2 400個紅墨水滴落樣本進行網(wǎng)絡(luò)模型的訓(xùn)練與驗證,使用卷積神經(jīng)網(wǎng)絡(luò)進行滴落血跡形態(tài)的高度識別,滴落間隔為15 cm,高度為40 cm、55 cm、70 cm、85 cm共4組,最終分類的準確率達到96.75%,這是傳統(tǒng)血跡形態(tài)識別方法達不到的高度。
但是需要注意的是,本次實驗所得出的模型并不可以直接投入于滴落血跡形態(tài)的高度檢驗中去,這次實驗的訓(xùn)練集和驗證集的數(shù)據(jù)量對于神經(jīng)網(wǎng)絡(luò)來說還是太少了,雖然在網(wǎng)絡(luò)數(shù)據(jù)的最終結(jié)果中顯示,當時間到達40秒鐘左右或迭代次數(shù)達到200次時驗證集的準確率已經(jīng)趨于穩(wěn)定,但是網(wǎng)絡(luò)的系統(tǒng)參數(shù)因數(shù)據(jù)集少導(dǎo)致訓(xùn)練不足,并沒有達到最優(yōu)化,所以不能依靠不成熟的系統(tǒng)參數(shù)進行數(shù)據(jù)集的測試,效果一定會有很大的誤差。當原始數(shù)據(jù)達到萬級以上的時候,該網(wǎng)絡(luò)的系統(tǒng)參數(shù)自然會有質(zhì)的飛躍,可以投入到一般的滴落血跡形態(tài)高度的檢測中去。
利用卷積神經(jīng)網(wǎng)絡(luò)進行血跡形態(tài)識別在流程上可謂與傳統(tǒng)方法截然不同,傳統(tǒng)方法即學(xué)即用,準備時間少,但是分析時的操作時間較長,當出現(xiàn)大量血跡痕跡的現(xiàn)場案件時,偵破流程會十分復(fù)雜而且準確率得不到保證。而在卷積神經(jīng)網(wǎng)絡(luò)模式中,均需要大量的前期數(shù)據(jù)準備,但一旦模型成功建立就可以在數(shù)秒內(nèi)對已有圖片進行分類,并且準確率可以達到人工識別達不到的高度。