(也即序列編號(hào)為m的序列點(diǎn)),,d(tn,rj表示tn與&的歐 式距離,D(tn,rj表示從點(diǎn)(Lr1)到點(diǎn)(tn,rj路徑的最小累積距離,以此方式從后向前逐 點(diǎn)找出一條最優(yōu)路徑,此最優(yōu)路徑通過(guò)的點(diǎn)即為兩序列對(duì)齊的點(diǎn)。
[0116] 下面對(duì)該第三步進(jìn)行舉例說(shuō)明。
[0117] 假設(shè)測(cè)試樣本序列為T(mén)(N)=U1,t2,…,tn,…,tN)、參考樣本序列為R(M)= Cr1,r2,…,rm,…,rM),并且T= [123456]、R= [23457],即h=l、t2 = 2、t3 = 3、t4 = 4、 t5 = 5、t6 = 6, !T1 = 2、r2 = 3、r3 = 4、r4 = 5、r5 = 7。直觀的可發(fā)現(xiàn)序列T和R有相似 之處,同一用戶做出的兩組動(dòng)態(tài)手勢(shì)也與此相似,雖然不是完全相同,但兩組數(shù)據(jù)之間存在 很大的相似性。動(dòng)態(tài)時(shí)間規(guī)整算法就是在兩序列之間找到一條最優(yōu)路徑,在此路徑上序列 之間的差異最小,即能量化兩序列之間的差異性。
[0118] 通過(guò)動(dòng)態(tài)時(shí)間規(guī)整算法處理序列T和R后,從起點(diǎn)到終點(diǎn)兩序列之間的最優(yōu)路徑 為U1,:T1)、(t2, !T1)、(t3,r2)、(t4,r3)、(t5,r4)、(t6,r5),即點(diǎn)U1,:T1)、(t2, !T1)、(t3,r2)、(t4,r3) (t5,r4)、(t6,r5)為兩序列對(duì)齊的點(diǎn),從例子中可以看出算法的有效性。雖然動(dòng)態(tài)時(shí)間規(guī)整 算法可以量化序列之間的差異,但算法簡(jiǎn)單且對(duì)于復(fù)雜序列之間的量化效果一般。本方案 未采用動(dòng)態(tài)時(shí)間規(guī)整算法直接量化兩序列之間的差異,僅用于分別找取兩組手勢(shì)動(dòng)作之間 三軸序列的對(duì)齊的點(diǎn),便于后續(xù)的插值操作。
[0119] 第四步,對(duì)測(cè)試樣本序列和參考樣本序列分別進(jìn)行插值操作,糾正對(duì)齊的序列點(diǎn) 之間的序列編號(hào)錯(cuò)位,獲得糾正后的測(cè)試樣本序列和糾正后的參考樣本序列。
[0120] 該第四步具體包括:
[0121] 針對(duì)確定的預(yù)處理后的測(cè)試樣本序列T(N) =U1,t2,…,tn,…,tN)與參考樣本序 列R(M) =Cr1,r2,…,rm,…,rM)之間的每一對(duì)齊的序列點(diǎn)(tp,rq),比較p和q的大小,并根 據(jù)比較結(jié)果,對(duì)1'洲=(1:1,1:2,*",1: 11,~,1^)和1?(1) = (1'1,1'2,*",1'|11,*",;1^)執(zhí)行以下操 作:
[0122] 若p>q,則在點(diǎn)tp與tp+1之間插入(p_q)個(gè)零值點(diǎn),且在rq之前插入(p_q)個(gè)零值 占.
[0123] 若p>q且p=N,則僅在rq之前插入(p_q)個(gè)零值點(diǎn);
[0124] 若p〈q,則在點(diǎn)rq與rq+1之間插入(q-p)個(gè)零值點(diǎn),且在tp之前插入(q-p)個(gè)零值 占.
[0125] 若p〈q且q=M,則僅在tp之前插入(q-p)個(gè)零值點(diǎn);
[0126] 若p=q,則不進(jìn)行插值操作;
[0127] 其中,p為測(cè)試樣本序列的序列點(diǎn)的序列編號(hào),q為參考樣本序列的序列點(diǎn)的序列 編號(hào),且0〈P〈N、0〈q〈M,所述M、N均為大于1的正整數(shù)。
[0128] 仍然使用第三步中的例子,假設(shè)兩組序列T= [1 2 3 4 5 6]、R= [2 3 4 5 7], 第一個(gè)對(duì)齊點(diǎn)為不進(jìn)行插值操作;第二個(gè)對(duì)齊點(diǎn)為(t2,ri)根據(jù)插值規(guī)則,由2>1 則在序列T的t2和t3之間插入1個(gè)(2-1 = 1)零值,即序列T變?yōu)閇1 2 0 3 4 5 6],同 時(shí)在A前面插入一個(gè)零值,即序列R變?yōu)閇0 2 3 4 5 7];原第三對(duì)齊點(diǎn)(t3,r2)現(xiàn)變?yōu)?(t4,r3),同樣的方式插入零值點(diǎn),序列T變?yōu)閇1 2 03 0 4 5 6],R變?yōu)閇0 2 0 3 4 5 7]。
[0129] 同樣依次對(duì)其余對(duì)齊點(diǎn)進(jìn)行插值,得到T' = [1 2 0 3 0 4 0 5 0 6]、R' = [0 2 0 30 4 0 5 0 7]〇
[0130] 較優(yōu)的,為了縮小序列之間的誤差,需對(duì)插入的零值點(diǎn)進(jìn)行修正,可利用以下方法 對(duì)糾正后的測(cè)試樣本序列T' (N) = (t' 2,…,t'n,…,t'N)中的每一零值點(diǎn)t'j 進(jìn)行修正:
[0132] 其中,t' P+1 =t' p+2 =…=t'qi= 0且t'P弇(Kt'q弇0,也即糾正后的參 考樣本序列T' (N) = (t'nt' 2,…,t'n,…,t'N)中t'。與^ q之間均為插入的零 值點(diǎn),j為糾正后的測(cè)試樣本序列中的序列點(diǎn)的序列編號(hào);
[0133] 以及利用以下方法對(duì)糾正后的參考樣本序列R' (M) = (r' 2,…,r' ^,… ,r'M)中的每一零值點(diǎn)r' 進(jìn)行修正:
[0135] r' P+1 =r' p+2 =…=r'q丨=0且r'p弇0、r'q弇0,也即糾正后的參考樣 本序列R' (M) =Cr' 2,…,r'm,…,r'M)中r'p與r' q之間均為插入的零值 點(diǎn),j為糾正后的參考樣本序列的序列點(diǎn)的序列編號(hào)。
[0136] 仍以上述得到的T' = [1 20304050 6]、R' = [0 20304050 7] 為例,根據(jù)公式(8)和公式(9)修正零值點(diǎn),修正后的測(cè)試樣本序列T' = [1 2 2. 5 3 3. 5 44. 5 5 5. 5 6],修正后的參考樣本序列R' = [1 2 2. 5 3 3. 5 4 4. 5 5 6 7]。
[0137] 當(dāng)修正的零值處于起點(diǎn)時(shí),直接取離其最近點(diǎn)值的1/2,通過(guò)序列插值及零點(diǎn)修正 后兩序列點(diǎn)按照順序一一對(duì)應(yīng),能更好的顯示序列之間的差異。
[0138] 第五步,量化糾正后的測(cè)試樣本序列和糾正后的參考樣本序列之間的差異。
[0139] 為了更好的判斷兩序列之間的相似性,本發(fā)明是實(shí)施例二采用絕對(duì)值距離來(lái)量化 插值后序列的差異,計(jì)算公式如式(10):
[0141] 其中,s(T',R')表示插值后序列T'與R'的絕對(duì)值序列,L'表示插值后序 列長(zhǎng)度,j取正整數(shù)。
[0142] 若使用多個(gè)參考樣本序列進(jìn)行身份認(rèn)證時(shí),則將得到的每?jī)山M三軸加速度數(shù)據(jù)序 列之間的絕對(duì)值距離為每個(gè)軸之間絕對(duì)值距離的平均值。
[0143] 第六步,判斷該差異是否不大于設(shè)定值,若是,則執(zhí)行第七步;若否,則執(zhí)行第八 止 /J/ 〇
[0144] 在獲得是各個(gè)方向上的差異時(shí),可將各個(gè)方向的差異求平均值,將該平均值與設(shè) 定值進(jìn)行比較。
[0145] 若使用多個(gè)參考樣本序列進(jìn)行身份認(rèn)證時(shí),可將獲得的所述多個(gè)量化的差異求平 均值,將該平均值與設(shè)定值進(jìn)行比較。
[0146] 第七步,確定認(rèn)證成功。
[0147] 第八步,確定認(rèn)證失敗。
[0148] 下面對(duì)所述參考樣本序列的確定方法進(jìn)行說(shuō)明:
[0149] 采集用戶執(zhí)行認(rèn)證手勢(shì)時(shí)的第一至第N組加速度數(shù)據(jù)序列;
[0150] 對(duì)第一至第N組加速度數(shù)據(jù)序列分別進(jìn)行預(yù)處理,并將預(yù)處理后的第一至第N組 加速度數(shù)據(jù)序列作為N個(gè)參考樣本序列。
[0151] 較優(yōu)的,所述設(shè)定值的取值通過(guò)以下方式確定:
[0152] 針對(duì)預(yù)處理后的第一至第N組加速度數(shù)據(jù)序列中的每?jī)山M加速度數(shù)據(jù)序列,將其 中的一組加速度數(shù)據(jù)序列作為測(cè)試樣本序列,另一組加速度數(shù)據(jù)序列作為參考樣本序列, 分別進(jìn)行所述確定對(duì)齊的序列點(diǎn)、糾正對(duì)齊的序列點(diǎn)之間的序列編號(hào)錯(cuò)位和量化差異的操 作,也即上述第三步、第四步和第五步的操作;
[0153] 將獲得的NX(N-I)/2個(gè)差異的平均值與精度系數(shù)0的乘積作為所述設(shè)定值。
[0154] 根據(jù)身份認(rèn)證系統(tǒng)的安全級(jí)別及應(yīng)用要求不同,方案建議的0值可取1-3;根據(jù) 實(shí)驗(yàn)仿真結(jié)果知,本發(fā)明實(shí)施例二中方案的最優(yōu)9值取1.8。
[0155] 0的取值與識(shí)別精度相關(guān),如果0過(guò)大,則真實(shí)用戶通過(guò)身份認(rèn)證的概率將會(huì)增 大,同時(shí)入侵用戶通過(guò)身份認(rèn)證的概率也會(huì)增大,如果e過(guò)小則相反。
[0156] 考慮到同一個(gè)用戶執(zhí)行同一個(gè)手勢(shì)時(shí),隨著時(shí)間的變化采集的手勢(shì)加速度數(shù)據(jù)序 列與參考樣本數(shù)據(jù)序列之間的差異會(huì)變得越來(lái)越大,因此在匹配計(jì)算過(guò)程中,不僅要注重 算法的合理性,同時(shí)還要注重參考樣本數(shù)據(jù)序列的合理性。本發(fā)明實(shí)施例二中的方案采用 參考樣本序列更新的策略達(dá)到降低用戶行為習(xí)慣對(duì)識(shí)別系統(tǒng)影響的目的,當(dāng)測(cè)試樣本序列 通過(guò)身份認(rèn)證時(shí),則用此測(cè)試樣本序列交替更新N個(gè)參考樣本序列之一,當(dāng)參考樣本序列 被更新產(chǎn)生變化時(shí),平均值也會(huì)改變。
[0157] 根據(jù)閱覽的相關(guān)文獻(xiàn)、實(shí)驗(yàn)仿真及考慮到實(shí)際的可操作性,采集三次手勢(shì)動(dòng)作的 加速度數(shù)據(jù)序列進(jìn)行預(yù)處理后作為參考樣本序列為最優(yōu)方案。根據(jù)現(xiàn)有資料的說(shuō)明,對(duì)參 考樣本序列的個(gè)數(shù)沒(méi)有嚴(yán)格要求,但不同的個(gè)數(shù)會(huì)對(duì)身份認(rèn)證技術(shù)的安全性、實(shí)用性及可 靠性產(chǎn)生影響,在此該個(gè)數(shù)的取值范圍為2-5次。
[0158] 本發(fā)明實(shí)施例中用戶的身份認(rèn)證手勢(shì)采取用戶自己選取的方式,降低了對(duì)用戶選 擇認(rèn)證手勢(shì)的要求,提高了用戶體驗(yàn)度,而且操作簡(jiǎn)單方便,也適合一些特殊群體如老人、 兒童的使用。
[0159] 實(shí)施例三
[0160] 基于與實(shí)施例一和實(shí)施例二的同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例三提供一種身份認(rèn)證 裝置,其結(jié)構(gòu)示意圖如圖5所示,包括:獲取單元501、預(yù)處理單元502、對(duì)齊的序列點(diǎn)確定單 元503、插值單元504、量化單元505和認(rèn)證單元506,其中:
[0161] 獲取單元501,用于將采集的認(rèn)證手勢(shì)執(zhí)行時(shí)的加速度數(shù)據(jù)序列作為測(cè)試樣本序 列;
[0162] 預(yù)處理單元502,用于預(yù)處理所述測(cè)試樣本序列;
[0163] 對(duì)齊的序列點(diǎn)確定單元503,用于確定預(yù)處理后的測(cè)試樣本序列和參考樣本序列 之間對(duì)齊的序列點(diǎn);
[0164] 插值單元504,用于通過(guò)對(duì)預(yù)處理后的測(cè)試樣本序列和參考樣本序列分別進(jìn)行插 值操作,糾正對(duì)齊的序列點(diǎn)之間的序列編號(hào)錯(cuò)位,獲得糾正后的測(cè)試樣本序列和糾正后的 參考樣本序列;其中,所述序列編號(hào)是按照采集序列點(diǎn)的先后順序確定的,先采集到的加速 度數(shù)據(jù)序列點(diǎn)的序列編號(hào)小于后采集到的加速度數(shù)據(jù)序列點(diǎn)的序列編號(hào);糾正后的測(cè)試樣 本序列中的序列點(diǎn)與糾正后的參考樣本序列中的序列點(diǎn)按序列編號(hào)順序一一對(duì)應(yīng);
[0165] 量化單元505,用于量化糾正后的測(cè)試樣本序列和糾正后的參考樣本序列之間的 差異;
[0166