嚴 沛
(華南師范大學 計算機學院,廣東 廣州 510000)
人臉識別技術是指能在圖像、視頻中識別和認證人的一種技術[1],如今相較于其他生物識別技術,如:指紋認證、虹膜認證,人臉識別技術顯得更加成熟,也更受到大家的歡迎。如今,深度學習方法的出現(xiàn),極大的加快了人臉識別技術的進程,通過卷積神經(jīng)網(wǎng)絡進行訓練和驗證,精確率可達接近100%。
人臉識別系統(tǒng)通常由以下幾塊組成[1]:
人臉檢測:使用設備標記人臉的面部特征,并記錄重要部位的位置,重要區(qū)域需要用矩陣標記出來。
人臉對齊:使用一組參考點來定位圖像中固定的幾個重要的位置和區(qū)域,再通過圖像的縮放和裁剪,進行對齊處理。在2D人臉對齊中,可以通過仿射變換完成人臉對齊操作,隨著技術的發(fā)展,也有更加復雜的3D人臉識別算法能夠實現(xiàn)人臉的轉正,通過改變人臉的位置使其面向正前方。
人臉表征:人臉的像素值可以轉換成特征向量,理論上屬于同一人臉的不同圖像都將被映射成相似的特征向量。
人臉匹配:將圖片中人臉的特征向量做比對,當兩幅圖片特征向量的差異小于指定的閾值時,可以判定兩張人臉圖片來源于一個人。
如今,現(xiàn)在使用最廣泛的視頻監(jiān)控技術通過攝像頭捕捉信息,再將信息實時傳回監(jiān)控室,由工作人員監(jiān)視視頻的信息,這種做法不僅需要耗費人力,而且效果并不理想,人們的注意力最多僅能堅持20分鐘,20分鐘之后,能獲取的有效信息不超過10%[2];隨著人臉識別技術的發(fā)展,基于人臉識別技術的智慧監(jiān)控也逐步運用到了安防行業(yè)中,從客觀記錄到主動識別,檢測到目標時能發(fā)出警報并對目標進行跟蹤,讓安全防護更有保障。
2.1.1 問題背景
以往我們通過派駐專門的安防人員去維護治安,但這種方式也存在著許多弊端:其一,無法及時發(fā)現(xiàn)安全隱患;其二,需要耗費大量的人力物力。鑒于此,我們更需要一種能將攝像終端獲取的圖片和視頻進行傳輸并存儲,再用人工智能算法對存儲內容進行分析,從而實現(xiàn)服務的集成和信息化的技術——智慧安防技術,為我們的生活安全提供更大的保障。
2.1.2解決方案:基于樹莓派和TensorFlow的視頻監(jiān)控系統(tǒng)
(1)硬件設施
樹莓派單片機。樹莓派設備是基于Linux操作系統(tǒng)的單片機,體積小,但它能完成大部分計算機所能完成的功能:如網(wǎng)絡瀏覽、文字編輯、數(shù)據(jù)處理、信號發(fā)送,解決方案中采用的設備類型為:樹莓派三代B型。
攝像設備。攝像頭模塊選擇了:5MP Camera Board Module。攝像頭的廣角鏡頭最大旋轉角度為120°,攝像頭水平最大旋轉角度為270°,寬廣的視角有利于攝像頭捕獲更多的信息進行分析,追蹤目標的運動軌跡。
(2)軟件部署
在樹莓派上用Linux語言部署Python環(huán)境,并安裝TensorFlow和OpenCV框架。
(3)算法研究
Facenet使用TensorFlow框架下的卷積神經(jīng)網(wǎng)絡技術用于人臉識別,其中最核心的部分是三重損失方法。
首先,我們將圖片x向量化,需要找到一個嵌入函數(shù)(f x),使得x能映射到d維特征空間Rd中,目標是讓同一人的面部特征之間相對距離盡可能減??;不同人的面部特征之間的相對距離盡可能增大,從而達到區(qū)別人臉的效果。三重損失的主要思想是通過輸入的三幅圖片:目標圖片(記為)、負樣本圖片(記為)、正樣本圖片(記為)。和可視為身份信息相似,和可視為身份信息不相似。然而對于這種方法而言,仍有一些特殊的情況要考慮進去,當模型在學習訓練的過程中,可能會給不同的圖片作出相同的編碼,導致距離為0,因此我們要設置一個超參數(shù)α使得的距離總存在一個值。三重損失關系表達式為:
Facenet網(wǎng)絡的結構為:第一部分是批輸入層,第二部分是深度神經(jīng)網(wǎng)絡結構,這里我們采用卷積神經(jīng)網(wǎng)絡結構(以下簡稱CNN),連接的下一層局部連接層用于歸一化處理,連接的下一層為嵌入層,最后一部分為三重損失函數(shù)。
(4)調試與分析
通過樹莓派讀取攝像頭捕獲的畫面和視頻進行分析,使用TensorFlow模型的卷積神經(jīng)網(wǎng)絡(convolution neural network,以下簡稱CNN)算法進行人臉識別和比對,檢測是否有目標對象和異常事件,將捕獲與分析的信息通過無線網(wǎng)絡發(fā)送到指定終端。我們通過調整監(jiān)控距離的大小,測試視頻監(jiān)控最多能檢測到的人的數(shù)量,結果如表1所示。
2.1.3 總結
基于樹莓派單片機的人臉識別技術,促進了安防工作智能化發(fā)展,與以往相比,減少了大量人力物力的消耗,關鍵信息記錄和報告也更加準確及時。攝像頭的攝像范圍寬廣,捕獲的信息量大,方便了對特定成員的追蹤;分析結果可以通過無線網(wǎng)絡發(fā)送到終端。所有用戶可以在幾乎同一時間內收到信息,有效避免信息逐級報送產(chǎn)生的時延。人臉識別技術同樣可以對異常事件進行檢測,比如:打架斗毆、人群擁塞等,檢測到異常事件時能夠根據(jù)需要進行蜂鳴報警,并立即反饋信息。人臉識別技術可以識別人的特征信息,比如:大致年齡、性別,帶有紅外線探測功能的攝像頭還可以檢測人們的體溫,有利于疫情防控常態(tài)化管理。
2.2.1 問題背景
乘坐火車或飛機的時候,工作人員要對我們每個人進行身份認證,防止無關人員進入侯乘區(qū)域,方便乘車人員軌跡追蹤,為侯乘區(qū)域乃至整個旅途提供安全保障。以往身份認證是通過人工審核的方式進行。如今,隨著智慧城市在全國各地遍地開花,身份認證的形式也更加智能化。
2.2.2 解決方案:基于DeepFace的人臉驗證技術
(1)方案主要步驟
圖1是人臉驗證系統(tǒng)流程圖。首先,通過攝像頭和云端感應設備,捕獲人的頭像、將身份證上的信息讀入邊緣管理設備。然后,由邊緣管理設備向云服務器上傳身份信息,云服務器根據(jù)信息回傳對應的人像至邊緣管理設備處,由邊緣管理設備對這兩張人像進行比對,最后將結果回傳至響應端和云服務端。
(2)DeepFace人臉驗證算法分析[5]
表1 視頻監(jiān)控系統(tǒng)在不同距離下人流量的統(tǒng)計
圖1 人臉驗證系統(tǒng)流程圖
人臉驗證的主要步驟為:人臉檢測、人臉對齊、人臉表示、人臉比對。
人臉檢測:目前,深度學習算法是目前比較受歡迎的人臉識別算法,通過圖像中的面部特征從多個復雜混合的物品對象中識別出人臉,并用方框標記出人臉的大致區(qū)間。
人臉對齊:人臉對齊是一種計算機視覺領域的修正技術,目前主要用于識別數(shù)字圖像中的人臉結構。假如能給定臉部的位置和尺寸大小,系統(tǒng)就能自動估算出面部組成部分的形狀,比如:眼睛、鼻子、耳朵等。人臉對齊程序通過反復調整可變形模型,對臉部形狀和外貌特征進行編碼,再從底層圖像挖掘相關信息以證明所查找的人臉與給定圖片中的人臉相吻合。
人臉表示:將尺寸為152×152像素經(jīng)過3D對其處理的RGB3通道圖片傳遞給具有32個11×11×3尺寸濾波器的卷積層C1,接著傳入最大池化層M2,該層采用最大的3×3空間構成,每個通道的步長為2,之后連接的是含有16個尺寸為9×9×16過濾器的卷積層C3。這三層的主要目的是提取像簡單邊緣紋理的底層特征。之后的三層為局部連接層L4、L5、L6,就如同其他卷積層一樣,應用了濾波器組。但是特征圖中的每個位置都由不同的濾波器組進行采樣處理。最后兩層F7和F8為全連接層,每個輸出單元對應輸入單元,這些層能捕獲到在圖像邊緣特征之間的相關性,例如眼睛和嘴巴的形狀與位置。
人臉分類:人臉分類依靠加權χ距離完成,相似性通過下面的方程表示:
f1,f2表示經(jīng)過DeepFace算法處理過的兩個圖片向量,權重參數(shù)用一個線性支持向量機算法直接訓練,
當χ2(f1,f2)數(shù)值越來越小,且低于一定的閾值時,人臉識別設備可以判定該人確實是目標本人。
(3)調試結果與分析
在數(shù)據(jù)集中,我們使用了不同的規(guī)模,在數(shù)據(jù)集中選擇1500人、3000人、4000人的面部數(shù)據(jù)作為測試集或訓練集,并用DeepFace網(wǎng)絡訓練,訓練后的網(wǎng)絡名稱記為:DF-1.5K,DF-3K,DF-4K,其分類誤差率分別為:7.00%、7.22%、8.74%。
在YTW數(shù)據(jù)集上,我們?yōu)槊恳粋€視頻創(chuàng)建了50個視頻幀,并根據(jù)視頻訓練對,給他們標記為相同或不相同,用視頻幀去訓練模型。我們再從測試集中抽100幀用于測試,最終準確率為92.5%。
在LFW數(shù)據(jù)集上,將所有LFW圖像在相同管道上處理并在SFC數(shù)據(jù)集上訓練,采用無監(jiān)督的訓練方式,最終模型準確率可達97.5%。
2.2.3 分析
人臉驗證技術發(fā)展相對成熟,精確率高達97%,識別時間也相對較快,捕獲和比對的信息也能及時記錄云端,為特定目標的軌跡追蹤提供便利。但人臉認證技術依然有著其不足,戴眼鏡、帽子、口罩都會導致人臉驗證的精確度大打折扣。目前我們可以使用優(yōu)化的注意力算法模型,盡可能地找出未被覆蓋的面部特征去進行人臉識別操作。
人臉識別算法的成熟推進了智慧安防行業(yè)的發(fā)展,智慧安防需要三種設備共同協(xié)助完成:攝像設備、邊緣處理設備、云服務設備。由攝像設備捕獲信息并傳入邊緣處理設備,邊緣處理設備使用人臉識別算法對信息進行處理,并將處理結果上傳至云端進行匹配操作,最后將匹配結果回傳至終端,如此,管理人員和安防人員就能實時在終端上看到信息。智慧安防最核心的部分是人臉識別算法,文中綜述了基于TensorFlow的人臉識別算法和基于DeepFace的人臉驗證算法。但人臉識別算法也有其不足,當人臉被部分遮蓋時,識別精確率會降低,要如何提高人臉被部分遮蓋時,人臉識別算法的正確率,也是后面人臉識別應用于安防領域的一個重要課題。