張慶時
(中國刑事警察學院 痕跡檢驗技術系,遼寧 沈陽 110035)
步幅特征是指在成趟足跡中反映人行走時雙足協調搭配關系及雙足邁步動作的特征,是行走運動在成趟足跡中的一種反映形式[1]。在犯罪現場中一般出現連續足跡時就能反映出步長、步寬,步角等步幅特征,這些步幅特征的形成和人的身高,體重,年齡等是有一定的聯系的,比如步長和身高有一定的關系,步寬和體重有一定的關系。根據足跡的大小可以分析出身高特征,根據步幅特征可以大致分析出體態。但是這些分析需要檢驗人員有一定的經驗,另外,如果足跡反映不完整,對分析身高等人體特征也會有影響。本文以人的步幅特征為輸入,身高、體重,年齡為輸出來訓練BP神經網絡,讓神經網絡找出步幅特征和人體特征之間存在的關系從而做出預測。這樣檢驗人員即使沒有豐富的經驗也能很好的運用步幅特征。同時,如果沒有視頻監控直接拍攝到犯罪嫌疑人出入現場,可以用神經網絡預測出的嫌疑人體態在附近的監控里尋找相似體態的人,從而縮小排查范圍,減少工作量。
權值:指加權平均數中每個數的頻數。網絡開始時先隨機給出一個范圍在[-1,1]之間的權值,然后經過不斷地訓練得到最終的符合網絡要求的權值。
閾值:又叫偏置或臨界值。當神經元接受到的刺激大于這個閾值的時候,該神經元就會產生刺激信號來刺激下一個神經元動作。開始時閾值也是隨機給出,通過多次迭代得到合適的閾值。
激勵函數:用來產生神經元動作信號。它將輸出信號限制到一個比較小的允許范圍之內。通常,一個神經元輸出的正常幅度范圍是[0,1]或[-1,1]。常用的激活函數有以下幾種:
Sigmoid函數,函數表達式為:
該函數的特點是會把輸出限定在[0,1]之間,當函數值無窮小時,輸出為0;當函數值無窮大時,輸出為1,使得數據在傳遞過程中容易收斂。函數圖像如圖1。

圖1 Sigmoid函數圖像
tansig函數,函數表達式為:
該函數的特點是會把輸出限定在[-1,1]之間,當函數值無窮小時,輸出為-1;當函數值無窮大時,輸出為1。函數圖像如圖2。
數據歸一化,把數據經過處理之后限定在一定的范圍之內稱之為數據歸一化。通常將數據限制在區間[0,1]或[-1,1]。因為當樣本存在奇異樣本數據時,會延長網絡的訓練時間并且可能會導致激活函數輸出值無法收斂,所以數據歸一化對于神經網絡的訓練是必要的。

圖2 tansig函數圖像
BP神經網絡的基本結構由一個輸入層、一個輸出層和任意數量的隱藏層構成[2],BP神經網絡在運行時有信號前向傳播和誤差反向傳播兩種狀態。在前向傳播時,輸入信號從輸入層經過逐層的計算,傳入輸出層得到輸出值。將輸出值與期望值進行比較得到誤差,然后進入誤差反向傳播過程,反向傳播就是將誤差從輸出層開始逐層修改網絡的權值和閾值向輸入層傳播的過程。然后再通過更新的權值和閾值進行正向傳播。通過循環的正向和反向傳播訓練得到最優的權值和閾值就是神經網絡學習的過程。
如圖3所示是一個典型的三層BP神經網絡。

圖3 三層BP神經網絡結構
1.3.1 網絡初始化
假設輸入層有n個節點,輸入元素為x1,…,xi,…,xn隱藏層有j個節點,輸出數值為I1,…,Im,…,Ij輸出層有k個節點,輸出數值為Q1,…,Qf,…,Qk。輸入層和隱藏層之間的連接權值為wmi(i=1,2,…,j),隱藏層和輸出層之間的連接權值為wfm(m=1,2,…,j;f=1,2,…,k)隱藏層各節點的閾值為φm(m=1,2,…,j),輸出層各節點的閾值為θf(1,2,…,k)。學習率(步長)為l,激勵函數為f(x),本文取tansig函數,即:
1.3.2 前向傳播過程
隱藏層的輸出(第j個節點為例):

輸出層的輸出(第k個節點為例):

誤差的計算:

該公式即為均方誤差。其中, 為期望的輸出。
優化權值:

其中,上式為輸入層和隱藏層之間的權值更新公式;下式為隱藏層和輸出層之間的權值更新公式。
閾值更新:

本文需要采取個人正常行走時的步幅特征,即步長、步寬,步角,由于每個人的左右腳步幅特征并不完全相同,所以本次實驗的輸入參數選左步長、右步長、左步寬、右步寬、左步角,右步角等六個數據集。輸出為人體特征,本次實驗預測人的身高,體重,年齡。
①步長:指在成趟足跡中,兩個緊相鄰的左右足跡相應部位之間,與步行線平行的垂直距離[1]。右足在后,左足在前的兩個連續足跡之間的長度即為左步長;反之為右步長。
②步寬:指在成趟足跡中,一足跡的內緣最凸點到對側足跡步行線的垂直距離[1]。左足跡內緣最凸點到右步行線的垂直距離即為左步寬,反之為右步寬。
③步角:指左右腳足跡各自的中心線與其同側的步行線相交所構成的角度[1]。
實驗在學校專門的平面連續足跡提取實驗室進行,采用平面足跡捺印紙和油墨。實驗對象為年齡在20~45周歲的身體健康,無行走障礙的男性100名。每個人在捺印足跡之前先在實驗室中行走3 min熟悉實驗環境,每個人分別采集5次。從成趟足跡的中間選取能反映正常行走的足跡進行測量,取5次的平均值。經過篩選過后從100份數據中選取了70份實驗數據。
BP神經網絡主要有三個函數,分別為網絡初始化函數、網絡訓練函數和網絡泛化函數。
網絡初始化函數:
net=newff([xm,xM],[h1,h2,…,hk],{f1,f2,…,fk})
xm是最小值的列向量,xM是最大值的列向量;[h1,h2,…,hk]是一個列向量,k代表網絡層數,h代表各層的節點數;{f1,f2,…,fk}輸入的變量是字符串,代表該層的傳輸函數。
網絡訓練函數:
[net,tr,Y1,E1]=train(net,X,Y)
其中X為n×M矩陣,n為輸入變量的個數,M為樣本數;Y為m×M矩陣,m為輸出變量的個數;net為返回后的神經網絡對象,tr為訓練跟蹤數據;Y1為網絡的最后輸出,E1為訓練誤差向量。
網絡泛化函數:
Y2=sim(net,X1)
其中X1是一個列向量,為輸入數據矩陣;Y2為對應輸出值。

本實驗以40個人的左右步長、步角,步寬為輸入,對應的身高、體重,年齡為輸出訓練神經網絡,然后預測30個人的身高、體重和年齡。預測過程中發現如下問題:
①每個人的人體特征只預測一次,但是結果不太理想??紤]到人體特征的基本常識,將身高體重預測的結果為負值和年齡預測出在14以下和85以上的做第二次預測。通過這個改進預測準確率有所提高。
②直接對體重(單位為kg)預測其準確率在30%以下,非常低。考慮到樣本體重范圍在65~95 kg之間,離散程度比較大,所以對體重做了開方處理,取正的二次方根。最后再取實際值和預測值的平方差,準確率有所提高。
實驗中步長、步寬,身高的單位是厘米(cm);步角的單位是度(°);體重的單位是千克(kg),所有實驗數據保留小數點后兩位。具體結果如表1。

表1 預測結果
由表1可以看出,以步幅特征來訓練神經網絡預測人體特征中,預測身高的準確率較高;同時由于步幅特征與體重和年齡的關聯性不大所以體重和年齡的預測結果一般。
由于該實驗所需樣本較多,對于筆者來說很難采集到社會人員的步幅特征,所以本次實驗的數據采自來我校培訓的在職民警,但是培訓學員身高,體重,年齡都相仿。所以實驗結果一定程度上存在了局限性。
本文采用了目前應用比較廣泛的BP神經網絡算法利用步幅特征來預測人體特征,將傳統足跡與當前流行的深度學習結合,證明了步幅特征與人體特征之間存在一定的聯系,也證明了步幅特征的科學性。由于用步幅特征來預測人的體態年齡需要足跡比較完整和技術員有一定的經驗,所以用該方法預測也可以作為辦案單位分析體態的一個參考。同時,對實驗結果分析時充分利用了人的身高體重不可能出現負值和實際案件中嫌疑人的年齡在14以下85以上的情況很少見,對預測方法做了改進,大大提高了預測的正確率。但是,本次實驗的樣本容量不夠大,樣本比較特殊,可以進一步將步法特征加入,繼續探究。