本發(fā)明屬于圖像處理、模式識別和軟件工程等技術領域,尤其涉及一種基于深度學習的嘴巴張閉狀態(tài)檢測方法,并且對現(xiàn)實中常見的存在光照變化干擾和人臉關鍵部位部分遮擋的場景具有很強的適應性。
背景技術:
人臉是一個人最重要的外貌特征,人臉識別技術在身份認證與安全防護等當前熱門應用領域具有廣泛的應用,具有非常廣闊的前景。然而人臉極易用照片、視頻等方式進行復制,因此對合法用戶人臉的假冒是人臉識別與認證系統(tǒng)安全的重要威脅。因此現(xiàn)有的人臉識別系統(tǒng)中一個必不可少的環(huán)節(jié)就是活體檢測部分,用于判斷提交的生物特征是否來自有生命的個體。當前高精度的活體檢測系統(tǒng)往往采取交互式的檢測手段,例如,要求用戶按照指示張、閉嘴巴。目前主流的檢測算法的實施步驟先是從輸入的圖片中提取人工設計的特征,再對提取到的特征做分類從而判斷輸入是否來自活體。
為了保證檢測的準確率,人臉識別系統(tǒng)需要對現(xiàn)實生活場景中存在的各種干擾都具有較強的魯棒性,然而在現(xiàn)有階段由于檢測算法的不成熟,活體檢測系統(tǒng)對具有較大光照變化、姿態(tài)變化、部分遮擋以及隨機噪聲的場景的魯棒性仍然需要進一步提高才能滿足實際的應用。
由于傳統(tǒng)的活體檢測方法不能滿足實際應用中對高精度實時活體檢測的需求,為此本發(fā)明提出了一種可以應用于交互式活體檢測的高精度嘴巴張閉狀態(tài)檢測方法。
技術實現(xiàn)要素:
本發(fā)明的目的是準確地對人嘴部圖片的張閉狀態(tài)進行檢測,進一步增強現(xiàn)有算法對光照變化和部分遮擋場景的魯棒性。
為實現(xiàn)人嘴部圖片的張閉狀態(tài)進行高精度檢測,本發(fā)明提供如下解決方案:通過神經網絡的卷積層實現(xiàn)魯棒特征提取并通過全連接層來實現(xiàn)特征分類,通過隨機梯度下降法來根據誤差對卷積層和全連接層的參數(shù)進行調整,使得對嘴巴張閉狀態(tài)檢測的準確度更高,而且不依賴人工設計的特征提取器。
目前的高精度活體檢測方法采用的是交互式活體方法,傳統(tǒng)的方法需要經驗豐富的專業(yè)人士根據具體的活體檢測任務來設計特定的特征提取方法。雖然在過去的相當長時間里,傳統(tǒng)方法在干擾較小的環(huán)境中的活體檢測取得了較好的效果,但是面對實際應用中存在大量光照變化、姿態(tài)變化以及各種無規(guī)律噪聲的環(huán)境,始終不能達到令人滿意的泛化性能。考慮到實際存在的噪聲是極其豐富的,本發(fā)明提出了使用深度卷積神經網絡層來提取傳統(tǒng)方法難以取得的具有很強魯棒性的高層次的特征。
本發(fā)明基于深度學習的嘴巴張閉狀態(tài)檢測方法包括以下步驟:
步驟S1,對輸入的圖像進行預處理;
步驟S2,對于預處理后的圖像提取特征;
步驟S3,利用神經網絡對于提取到的特征進行分類,通過對于分類結果進行歸一化得到某一圖像屬于張嘴和閉嘴的預測結果;
步驟S4,計算神經網絡輸出結果的誤差并將其反傳,以調整神經網絡的參數(shù);
步驟S5,對輸入的待檢測圖像進行測試,得到檢測結果。
可選地,所述步驟S1包括以下步驟:
步驟S11,將輸入的圖像歸一化;
步驟S12,將歸一化后的圖像轉換為灰度圖像。
可選地,所述步驟S2中,采用神經系統(tǒng)中的卷積層和最大池化層來進行特征的提取。
可選地,所述卷積層的數(shù)量為四個,最大池化層的數(shù)量為三個。
可選地,所述步驟S2中,卷積計算按照下式進行:
其中,xi代表第i層神經元的輸入,yj代表第j層神經元的輸出,上標r代表該層神經元的序數(shù),wij代表從第i層到第j層的權重矩陣,bj是第j層神經元的偏置項,tanh代表雙曲正切函數(shù)。
可選地,所述步驟S2中,池化層按照下式進行操作:
其中,max代表取大值。
可選地,所述步驟S3通過神經網絡中的全連接層以及歸一化操作來進行特征分類。
可選地,所述步驟S4中,誤差表示為:
其中,m為樣本數(shù)量,xi、yi分別代表第i個樣本判斷的張閉狀態(tài)和第i個樣本的實際張閉狀態(tài),且x∈{0,1},y∈{0,1},1代表張嘴,0代表閉嘴。
可選地,所述步驟S5中,對于輸入的待檢測圖像先重復所述步驟S1、S2、S3,當輸出的張嘴概率大于閉嘴概率時便認為預測結果為張嘴,反之則認為是閉嘴。
可選地,所述步驟S5還包括根據對檢測結果和輸入圖像人工標注標簽的比較得到檢測準確率的步驟。
與現(xiàn)有技術相比,本的有益效果是:在實際應用場景中的較大光照變化以及關鍵部位部分遮擋的情況下的檢測仍具有較強的魯棒性,可以更好地應用于充滿噪聲的活體檢測系統(tǒng)中。本發(fā)明充分利用了深度卷積神經網絡提取高層次特征的能力,并根據全連接層對提取到的特征進行分類,并且在一個獨立的系統(tǒng)中實現(xiàn)了圖像輸入、特征提取、特征分類以及結果預測四個功能。神經網絡模型可以根據誤差計算自動地對網絡中的參數(shù)進行調整來達到理想的預測結果,調整參數(shù)時除了人工標注每一張輸入嘴部圖像的張閉狀態(tài)無需其他的監(jiān)督方法,簡單易行,且避免了傳統(tǒng)的人工設計特征提取方法由于特征設計不合理等原因導致的系統(tǒng)準確率降低或者泛化性能不足等情況。
附圖說明
圖1是根據本發(fā)明一實施例的基于深度學習的嘴巴張閉狀態(tài)檢測方法的流程圖;
圖2為本發(fā)明采用的神經網絡結構示意圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,以下結合具體實施例,并參照附圖,對本發(fā)明進一步詳細說明。
本發(fā)明提供一種技術方案:一種高精度嘴巴張閉狀態(tài)檢測方法,目前實際應用的活體檢測系統(tǒng)中,如何提高在充滿噪聲以及存在惡意攻擊的場景下的檢測準確率是一個急需解決的問題。本發(fā)明針對此種問題采用了卷積神經網絡層來提取特征,同時使用全連接層和softmax函數(shù)來進行特征分類,采用神經網絡的反向傳播和隨機梯度下降法來對網絡參數(shù)進行調整,使提取到的特征更加魯棒,對噪聲的適應性更強。另外,本發(fā)明由于對輸入圖像進行歸一化的預處理方法,可以使系統(tǒng)的運算開銷和內存占用都保持在一個合理范圍內。
圖1是根據本發(fā)明一實施例的基于深度學習的嘴巴張閉狀態(tài)檢測方法的流程圖,如圖1所示,所述基于深度學習的嘴巴張閉狀態(tài)檢測方法包括以下幾個步驟:
步驟S1,對輸入的圖像進行預處理;
本方法要求輸入的圖像是人嘴部的對齊圖像,并且人工標記嘴巴的張閉狀態(tài)作為監(jiān)督信息,在輸入訓練集圖像時要求樣本具有一定的代表性,且數(shù)量盡量不小于四到五千張。實際應用中輸入的圖像可能是各種大小不同類型的圖像,因此該步驟首先使用線性插值法將輸入的圖像歸一化到大小為60×60像素圖像,然后將歸一化后的輸入圖像轉換為灰度圖像,即只使用圖像的灰度特征。歸一化輸入圖像的規(guī)格可以減少噪聲,還可以使得后續(xù)的訓練以及檢測過程所需要的計算資源以及硬盤存儲資源都維持在一個相對穩(wěn)定的范圍,既可以避免輸入圖像分辨率過高時產生大量不必要的運算開銷也可以在輸入圖像分辨率過低時適當?shù)胤糯髨D像以便盡可能地提升檢測精度。
步驟S2,對于預處理后的圖像提取特征;
嘴巴張閉狀態(tài)檢測在實際應用中會面臨各種各樣的干擾,另外考慮到在極端的情況下某些不法分子可能會對檢測系統(tǒng)進行惡意攻擊,現(xiàn)有的活體檢測系統(tǒng)都需要足夠高的精度才能夠滿足實際應用的需要。為了解決此問題,在本發(fā)明一實施例中,該步驟采用神經系統(tǒng)中的卷積層和最大池化層來進行魯棒特征的提取,相比較以往的方法可以更有效地應對輸入圖像的光照變化以及嘴部關鍵部位部分遮擋的情況。在該實施例中,利用四個卷積層和三個最大池化層進行特征提取:對于預處理后的圖像,先由20個尺寸為5×5×1的步長為1的卷積核進行卷積計算并經過最大池化層降采樣,再由40個尺寸為3×3×20的卷積核進行卷積計算并經過最大池化層降采樣,第三次卷積計算的卷積核尺寸為2×2×40,數(shù)量為60,經過第三個最大池化層后進行第四次卷積計算,卷積核的尺寸為2×2×60,數(shù)量為80,最大池化層的卷積核的尺寸均為2×2。由于深層神經網絡模型的強大學習能力,該步驟可以提取出能非常有效地分辨嘴巴張閉狀態(tài)的高層次特征用于后續(xù)分類任務。
在所述步驟S2中,卷積計算按照下式進行:
其中,xi代表第i層神經元的輸入,yj代表第j層神經元的輸出,上標r代表該層神經元的序數(shù),wij代表從第i層到第j層的權重矩陣,bj是第j層神經元的偏置項,tanh代表雙曲正切函數(shù)。
池化層按照下式進行操作:
其中,xi、yj、wij、bj代表的含義和上述卷積計算中的相同,max代表取大值。
步驟S3,利用神經網絡對于提取到的特征進行分類,通過對于分類結果進行歸一化得到某一圖像屬于張嘴和閉嘴的預測結果;
該步驟的對于提取到的特征通過神經網絡中的全連接層以及歸一化來實現(xiàn)特征分類,進一步輸出嘴部圖像屬于張嘴和閉嘴的概率。具體地,該步驟對于提取到的特征進行二分類,即把根據輸入圖像的特征判斷其為張嘴或者閉嘴。該步驟采用兩個相連的神經網絡中經典的全連接層來實現(xiàn)特征分類,輸入為所述步驟S2提取到的特征序列,輸出為嘴部圖像屬于張嘴和閉嘴的概率,其中,第一個全連接層由120個神經元構成,第二個全連接層由2個神經元構成,輸入的特征序列經過兩個全連接層后再經過歸一化,就得到了該輸入圖像屬于張嘴和閉嘴的概率。
3.事實上全連接層也可是看作是卷積層采用尺寸為1×1的卷積核并且步長為1的一種特殊情況,所以全連接層的計算方法也可以用上述的卷積計算式來表達。全連接層的計算復雜度相比于同樣規(guī)模的卷積層要復雜很多,而且在實際應用中如果直接使用全連接層往往會產生嚴重的過擬合現(xiàn)象。所以本發(fā)明采用了先用卷積層從輸入的圖像中提取不隨輸入圖片光照、遮擋等干擾情況而變化,即可以應對較大光照變化、關鍵位置遮擋情況的魯棒特征,然后再使用全連接層做分類。然后對第二個全連接層的兩個神經元的輸出進行歸一化,即把它們的輸出等比例縮放,使它們的和等于1,此時的輸出即為圖片屬于張嘴和閉嘴的概率。其中,用于提取特征的神經網絡中的卷積層的參數(shù)可以自動根據其誤差進行優(yōu)化,不需要更多的人工修正方法。
圖2為本發(fā)明采用的神經網絡結構示意圖。
步驟S4,計算神經網絡輸出結果的誤差并將其反傳,以調整神經網絡的參數(shù);
該步驟中各個神經網絡層的參數(shù)由均值為0,方差為0.01的高斯函數(shù)進行隨機初始化,然后根據神經網絡輸出結果的誤差,通過隨機梯度下降法來調整神經網絡的參數(shù),經過多次的迭代來不斷地降低誤差,直到誤差下降到某個預先設定的值。經過該步驟后,神經網絡學習得到了判斷嘴巴張閉狀態(tài)的方法,以便用于后續(xù)檢測。
所述步驟S4具體為:
本發(fā)明處理的問題是一個二分類問題,采用下式來表示檢測方法預測結果的誤差:
其中,m為樣本數(shù)量,xi、yi分別代表第i個樣本判斷的張閉狀態(tài)和第i個樣本的實際張閉狀態(tài),且x∈{0,1},y∈{0,1},1代表張嘴,0代表閉嘴。
該步驟中神經網絡的權重采用批次樣本數(shù)量為128個的隨機梯度下降法來更新,權重衰減系數(shù)設為0.005,動量系數(shù)設為0.9。具體權重更新表達式如下所示:
wi+1=wj+vi+1
其中i代表迭代的次數(shù),v代表權重的增量,ε代表學習率,代表第i批樣本中目標函數(shù)對權重w的偏導數(shù)在wi處的值,本發(fā)明采用處理大數(shù)據樣本常用的批次訓練法,Di代表訓練時的第i個批次的數(shù)據。
本方法中初始學習率設置為0.05且按照下式更新:
εi=ε0·(1+γ)-p
ε0和εi分別表示初始學習率和迭代的到第i次的學習率,參數(shù)γ=0.0001且參數(shù)p=0.75。
步驟S5,對輸入的待檢測圖像進行測試,得到檢測結果。
在根據訓練樣本學習得到理想的網絡參數(shù)后,就可以進行高精度的嘴巴張閉狀態(tài)檢測了,輸入待檢測嘴部圖片后可自動預測嘴巴張閉狀態(tài)。在本步驟中,對于輸入的待檢測圖像先重復步驟S1、S2、S3,當輸出的張嘴概率大于閉嘴概率時便認為預測結果為張嘴,反之則認為是閉嘴。
如果有人工標記的輸入實際狀態(tài),那么所述步驟S5還可以根據得到的檢測結果統(tǒng)計檢測準確率,從而評估本方法在各種應用場景下的表現(xiàn)。
具體地,根據對檢測結果和輸入圖片人工標注的標簽的比較可以得到檢測的準確率,通過準確率可以評估系統(tǒng)在各種環(huán)境下的表現(xiàn)。
所述檢測準確率用下式表示:
其中,N代表待檢測圖像的總數(shù),TP代表被正確檢測的張嘴圖像,TN代表被正確檢測的閉嘴圖像。在具有較大光照變化以及關鍵部件遮擋的環(huán)境下進行檢測,較高的準確率可以表明本發(fā)明對這些干擾環(huán)境的魯棒性。
綜上,本發(fā)明公開了一種基于深度學習的嘴巴張閉狀態(tài)檢測方法。本發(fā)明最大的特點是充分利用深度卷積神經網絡提取高層次特征的能力,提取出可以應對實際應用場景中經常存在的無規(guī)律噪聲、較大光照變化以及通過遮擋嘴部關鍵部位進行惡意攻擊等情況的魯棒特征,并且利用全連接層來對提取到的特征分類,并通過計算誤差并采用隨機梯度下降法調整參數(shù)從而減小誤差的方法來使檢測方法自動習得分辨嘴巴張閉狀態(tài)的能力。此外,本發(fā)明通過將輸入的圖像通過預處理歸一化為固定大小灰度圖像,保證所需的計算資源和存儲空間都不會因待檢測圖像分辨率的變化而產生大幅度波動。本發(fā)明在一個獨立的系統(tǒng)中實現(xiàn)了圖像輸入、特征提取、特征分類以及結果預測四個功能,輸入待檢測圖像,系統(tǒng)經過計算即可直接輸出嘴巴的張閉狀態(tài)。軟件操作方便,簡單易用。本發(fā)明在訓練階段只需要人工標注足量的嘴部圖片的張閉狀態(tài)作為監(jiān)督信息即可自動對參數(shù)進行調整,無需其他人工干預手段,與以往的檢測手段相比,精度更高、更加安全可靠。
本發(fā)明的應用場景舉例如下:
應用場景1:基于深度學習的嘴巴張閉狀態(tài)檢測方法在應用軟件刷臉登陸活體檢測環(huán)節(jié)中的應用。
本發(fā)明可廣泛應用于刷臉認證登陸系統(tǒng)中的活體檢測環(huán)節(jié)。假設某應用程序的手機移動客戶端支持刷臉登陸,在進行身份認證之前需要進行活體檢測,要求登陸客戶按照要求在聽到提示音后張嘴,只有系統(tǒng)檢測到用戶做出了合格的動作才會把輸入的圖片進行后續(xù)的身份認證等步驟,否則系統(tǒng)會重復活體檢測的需求直到通過為止。如果有不法分子通過盜取了合法用戶的照片、視頻等認證信息,或者偽造合成照片的方法,企圖在手機移動客戶端前用假照片或者回放視頻來假冒合法用戶登陸,本發(fā)明中嘴巴張閉狀態(tài)檢測方法可以發(fā)現(xiàn)登陸的“用戶”不能按照要求完成張閉嘴的動作,就會拒絕登陸要求并記錄登陸失敗次數(shù),如果登陸失敗次數(shù)超過一定數(shù)量,還可以配合其他的安全防護系統(tǒng)通過凍結賬戶、要求輸入手機驗證碼等方式來保證賬戶的安全。
以上所述的具體實施例,對本發(fā)明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。