黃子豪,孫沐陽,時田野
(山東科技大學,山東濟南,250031)
人臉識別技術是通過對人面部特征信息的提取從而對數據庫中人臉模板進行對比后進行身份識別的一種新型識別技術,該技術需要使用攝像頭等成像工具采集含有人臉的圖像或視頻并自動在圖像中檢測和識別人臉,由此對檢測到的人像進行面部身份認證(根據相似度進行人臉匹配),也被稱為人像識別、面部識別。本文描述的程序只是簡單的利用OpenCV庫對人臉的識別與檢測,隨著對于深度學習的探究,我們可以通過對機器的訓練篩選出最合適的參數權重,由此構造出準確率較高的函數,給定一張人像照片即可以獲取到較為精確的特征值,進而再歸類進行訓練,實現基于神經網絡而構建的人臉識別系統。
人臉識別技術根據功能可以大致分為三個模塊:人臉檢測、人臉特征提取以及人臉圖像識別與匹配。
人臉檢測:人臉檢測是指從輸入的圖像或視頻源中檢測并提取出合適的人臉圖像,輸入的圖像可以為實時采集的人臉或視頻以及圖像集,通常采用Haar特征和Adaboost算法來訓練級聯分類器。級聯結構分類器是由多個弱分類器組成的,每一級都比前一級復雜,每個分類器均可使大部分正例樣本通過,過濾掉大部分負例。由此得到的每一級的待測正例樣本的數量就遞減,這樣分級檢測的層次可排除大量的非應檢樣本,提高檢測效率和檢測速度。通過對正樣本與負樣本的訓練即可得到級聯分類器,OpenCV庫中有編譯好的訓練模型,按要求訓練即可生成相應的級聯分類器,我們可以直接使用庫中自帶的已經訓練好的級聯分類器進行檢測。假設輸入圖像中的某一矩形框區域最終通過了級聯分類器的檢測,那么該圖像就會被判定為對應的人臉圖像。

圖1 級聯分類器模型
人臉特征提取:人臉的特征提取就是針對人臉上的某些視覺特征進行的,如人臉上的各個器官(眼鏡、鼻子、嘴巴等)。人臉識別中常用的特征通常分為視覺特征、像素統計特征、人臉圖像代數特征等、人臉圖像變換系數特征等。人臉特征提取的方法可以歸納為兩大類:一種是基于知識的表征方法;另一種是基于代數特征的表征方法。
人臉匹配與識別:將提取到的人臉圖像的特征信息與數據集中訓練好的特征模板進行對比。可根據相似度對人臉的信息進行判斷,通過設定一個閾值判定識別結果,如果相似度高于該閾值,則識別成功將結果輸出,遍歷數據集后可得到結果。

圖2 人臉識別檢測流程圖
(1)人臉數據的采集:首先添加當前檢測的用戶信息,后將該用戶的信息與采集到的人臉圖像數據綁定,在采集時需保證圖像大小規格一致;采集人臉數據時需使用OpenCV庫開啟人臉檢測(支持內置或外接攝像頭),注意只需采集人臉信息,切勿采集過多外界無用信息;由于采集RGB彩色圖像占用內存過大同時損耗大量訓練時間,且對人像識別的精確度提升并不大,于是我們選擇將采集到的圖像做二值化處理,將其變為灰度圖像,以便后續對于模型的訓練。
(2)數據的存儲:在手動結束或設定時間結束人臉信息采集后,將采集到的數據集存儲到某個訓練文件夾中或同步至數據庫中,以便用于后續建立模型時的數據訓練。
(3)建立人臉識別模型:可以通過已有的數據集訓練生成人臉識別模型并保存生成的人臉模板,也可使用OpenCV庫中已訓練好的人臉檢測器模型(級聯分類器)haarcascade_frontalface_default.xml新建一個級聯分類器對象,以供后面檢測使用。
(4)對人臉樣本進行訓練:首先加載欲訓練的數據集,即之前采集的人臉圖像,然后創建新的人臉訓練對象Face_model,后調用train()函數對數據進行訓練。
(5)檢驗訓練結果:開啟攝像頭,將攝像頭對準自己的人臉部分進行捕獲,設定間隔時間讀取每一幀圖像并轉換為灰度圖。隨后創建級聯分類器,并利用級聯分類器鑒別捕獲的圖像是否為人臉,如果是人像則在人像外部畫出矩形框,并修改圖像大小以便于比較。在進行人臉檢測時對捕獲的人臉圖像進行特征提取,然后再與數據庫內的人臉模板遍歷對比后進行識別得到相似度,最后根據相似度由大到小排序即可得出相似度最高的人像信息。本程序是通過級聯分類器建立Face_model對象后調用predict()函數將捕獲的人臉圖像與訓練好的人臉模型進行預測和對比,從而得到相似度并將匹配的人臉信息輸出到屏幕上,可得到的返回值為具體數值,表示樣本屬于每一個人臉樣本的概率。
(6)輸出人臉檢測結果:將上步檢驗人臉得到的結果輸出到屏幕正在捕獲的圖像上,可以直觀地看出該人像與訓練集中人臉圖像的相似度,如果在數據庫中或訓練集文件夾中識別出該人臉,則將此人姓名信息輸出到屏幕攝像頭的相框上。
(1)在對人臉圖像進行識別前可對人臉圖像進行預處理,通過對圖像進行預處理有利于精確的對人臉特征進行提取,由攝像頭得到的原始人臉圖像往往受到外界環境因素的干擾,會對人臉上的特征提取造成影響,因此我們可以在進行識別前對圖像進行早期處理操作,如進行圖像灰度處理、圖像降噪處理、圖像濾波處理、圖像幾何校正、圖像歸一化處理等操作,可實現對人臉圖像的預處理。
(2)人臉的識別可具體細化為對于各個特征的識別,如分別對眼睛、嘴巴、鼻子等各個器官進行建模。通過對各個人臉特征建立特征模型,可實現基于人臉特征點的識別算法,由此可提高對各項特征識別的精確度,從而歸一為對整副人臉的識別,這樣可以大大提高人臉識別的準確率。
(3)目前程序的檢測率成功率不高,一方面原因是訓練樣本太少,并且訓練時僅僅是對整副人臉進行識別,而非對于各個特征的提取,這就導致了人臉識別的檢測成功率較低,我們可以通過嵌套檢測人臉各個部位的方法來提高成功率;另一方面則是由于目前采取的識別方法及模型的問題,目前程序采用的模型是OpenCV庫訓練好的人臉檢測器模型Haarcascade,使用者也可以通過后期自己建模實現程序的改進。

圖3 人臉識別檢測結果
(1)可實現人臉跟蹤的攝像監控裝置,目前的攝像監控裝置大多僅可實現對于動態視頻的記錄,而對于攝像中的人臉記錄并不清晰且無法進行識別,人像跟蹤技術可利用動態化的人臉識別技術實現這一功能,當指定的人臉出現在攝像鏡頭中時可自動跟隨其路徑并實現跟蹤功能記錄路徑,前提是必須位于攝像頭可拍攝的范圍內。
(2)人臉識別可用作公安系統對于身份驗證和身份識別的功能,實現對嫌犯的準確識別和對失蹤人口的追尋,可大大提高辦案效率,節省警力資源。
(3)人臉識別也可應用于智能互聯場景,比如用于人臉身份驗證(電子身份證及電子護照)。在當下這個萬物互聯的浪潮中,人們出行僅需一部手機即可,甚至無需隨身攜帶身份證,我們可以通過人臉驗證身份信息進而實現出入驗證、手機解鎖、付款支付等場景。
人臉識別技術由于其便利性和安全性具有廣闊的發展和應用前景,可被廣泛應用于多個領域且大有所為。隨著我國現代化進程的推進,人們越發關注信息的安全性和保障性,而人臉識別技術正是未來保障個人信息安全的核心技術。雖然我國人臉識別技術起步較晚,但在國家政策的大力支持下該技術發展十分迅速,實踐應用也相對成熟,因此,隨著基于深度學習的人臉識別技術的逐步發展,人臉識別技術的應用將是未來發展的新趨勢。