





摘要:當前,電力施工現場廣泛應用的智能視頻監控平臺僅能檢測到所發生的違章行為,無法確定具體的違章人員身份,因此無法引起現場作業人員的重視,難以發揮有效作用。通過人臉識別技術實現施工現場的違章人員身份識別是十分必要的。本文基于深度學習算法,開發了一套基于CPU進行人臉檢測、識別和快速匹配算法的輕量化SDK,并將其集成到智能視頻管控平臺中,擺脫了人臉識別匹配對GPU顯卡、特定人臉識別攝像頭等硬件設備的依賴,實現了施工現場的違章檢測預警、人員身份識別、安全規范教育的管理閉環,在提升管理效率的同時降低了施工現場管理成本。
關鍵詞:輕量級人臉識別算法;智能視頻分析
引言
近年來,人臉識別技術成為模式識別、圖像處理、機器視覺、神經網絡、認知科學等多個領域的熱門研究方向。這一技術通過對比給定的靜態人臉圖像或動態視頻中的人臉特征,與預先存儲的已知身份人臉數據庫進行匹配,從而實現對單人或多人的身份驗證[1]。人臉識別作為生物特征識別領域的關鍵一環,其應用場景廣泛而多樣。得益于人臉識別技術的獨特魅力,國內眾多互聯網企業紛紛涉足這一領域,積極探索人臉識別的實際應用。例如,百度推出了人臉考勤系統,而支付寶則引入了刷臉登錄功能,這些創新應用都是人臉識別技術在國內互聯網行業的具體實踐和探索[2]。
近年來,一種高效的深度學習識別算法——卷積神經網絡,在計算機視覺、自然語言處理等領域得到了廣泛應用。這種算法呈現出權值共享與局部感知的顯著優點,與傳統神經網絡相比,有著獨特的魅力。局部感知的網絡結構設計,使其與生物神經網絡的特性更為接近;而權值共享的特性,則大幅度削減了模型學習所需的參數數量,進而簡化了神經網絡結構的復雜性[3]。在圖像處理領域,卷積神經網絡展現出尤為突出的優勢,無須預處理即可直接接收多維圖像數據作為輸入,將分類與特征提取功能集成在網絡中,省去了傳統識別算法中復雜的訓練分類器和特征提取步驟。同時,其對于圖像中的位移、比例縮放、傾斜、旋轉等變換形式,均具備出色的魯棒性[4]。
1. 輕量級人臉識別算法
DeepFace深度學習算法[5]將卷積神經網絡創新性地應用于人臉識別領域,標志著識別精度的巨大飛躍,此后,深度卷積網絡在人臉識別中遍地開花。深度人臉識別技術憑借巧妙的分層架構,將像素級信息編織成高度穩定的面部特征,極大優化了識別效能,加速了實際應用的落地。但值得注意的是,深度學習算法在追求極致精度的道路上,往往通過增加網絡層數來實現,這不可避免地帶來了參數激增、計算復雜度提升、訓練周期延長、硬件需求升級等一系列挑戰,進而推高了整體成本。
高精度輕量級的人臉識別算法成為目前的算法改進方向。目前主流的開源人臉識別算法大多使用ResNet或者其變形作為特征提取網絡,而先進的ArcFace人臉識別算法[6]使用的基礎網絡是LResNet100E-IR,這些網絡的層數大多在100層以上,參數量巨大,模型大小在幾十到幾百兆字節不等。本文從輕量級的人臉識別算法的思考出發,選擇了基于MobileNet的輕量化網絡改進的MobileFaceNets作為特征提取網絡,使用加性角度間隔損失函數計算損失,在網絡輕量化的同時能夠保證損失合理計算,避免精度的大幅降低。
1.1 基于MobileFaceNets的人臉識別算法
本文為了實現人臉檢測任務,選用了MobileFaceNets網絡,該網絡特征提取方式為端到端。在網絡構建方面,bottlenecks成為主要模塊,而PreLu被選定為激勵函數。此外,網絡設計特色還包括在起始階段采取快速下采樣,并在卷積層的最后幾層實施早期降維。另外,還在線性全局深度卷積層后增加了一個專門用于特征輸出的1×1線性卷積層。當全局深度卷積作為全局算子應用時,對于每個固定的空間位置,可以通過計算該位置所有通道的全局深度卷積權值所構成的權向量的范數,來確定其空間權重。
在實際的推理部分,使用模型蒸餾等方法,進一步降低模型的無效參數量,最終訓練生成的模型大小僅為4MB,并且在加載INT16精度推理模型后,進一步優化了模型的推理速度。
1.2 加性角度間隔損失函數
使用深度卷積神經網絡進行大規模人臉識別的特征學習中,主要挑戰之一在于設計適當的損失函數以增強判別能力。本文使用的加性角度間隔損失函數(ArcFace損失)對歸一化后輸入的特征和權重通過叉乘運算得到一個arccos的值,這個值對應的角度為θ,對θ加上角度間隔m,角度間隔比余弦間隔對角度的影響更加直接[7]。ArcFace中是直接在角度空間θ中最大化分類界限。詳見公式(1)。
(1)
其中,Larc為損失函數的名稱,在這里特指ArcFace損失函數;n是樣本數量;θ是特征向量和權重向量之間的夾角;m是間隔參數,用于控制不同類別之間的間隔大小;s是一個正的縮放因子,用于增加決策邊界的間隔;yi是第i個樣本的真實標簽;cos(θ)是特征向量和權重向量之間夾角的余弦值。
ArcFace損失具有易于編程實現、復雜性低、訓練效率高等優點,并且其直接優化弧度距離間隔,因為歸一化超球體中的角和弧度的對應。ArcFace不需要與其他loss函數實現聯合監督,就可以很容易地收斂于任何訓練數據集。
2. 基于局部敏感哈希算法的人臉特征匹配
在人臉特征匹配中,輸入一個人臉特征向量后與數據庫中的所有人臉進行比對,找出最接近的一個人臉特征。最簡單粗暴的實現就是線性查找匹配,即與所有數據逐一比較,留下最相似的。顯而易見,這種方法極其耗時,存在很大的性能問題,特別是對于數據量和向量維度特別大的情況。為了加快查詢速度,需要采用索引的方法,本文通過局部敏感哈希算法進行快速地搜索與匹配。
局部敏感哈希算法[8]在數據處理的場景中,基于一個假設:原始數據空間中相鄰的數據點在經歷相同映射后,在新數據空間中仍相鄰的概率高。因此,我們首選基于余弦距離的哈希函數,確保相鄰數據點在哈希映射后被歸入同一索引桶。當新查詢數據出現時,利用哈希函數生成索引號,取出對應索引桶數據,通過線性匹配找到相鄰數據,這一過程將龐大數據集分割成多個較小的相鄰數據子集合,利用局部敏感哈希算法為海量數據建立索引,實現近似最近鄰的快速查找,顯著降低計算量,提升查找效率,如表1所示。
局部敏感哈希算法是一種高效工具,旨在從龐大的高維數據集中,迅速定位與查詢數據點高度近似的相鄰數據點。需明確的是,該算法雖無法確保找到絕對最相鄰的數據,但能顯著減少需進行匹配的數據點數量,同時極大地提高找到非常接近的最近鄰數據點的概率。
3. 基于CPU的人臉識別SDK設計與實現
當前人臉識別技術主流為基于深度神經網絡的人臉識別技術,相對傳統算法,其具有更高精度,滿足商用要求,但其計算量大、實時性差等缺點也很突出。近幾年,隨著針對神經網絡輕量化、硬件升級、深度框架針對性優化等相關技術發展,為該技術商用落地帶來了福音。
對于深度卷積神經網絡[9],英偉達的GPU更為友好,但是在大規模的算法應用場景中,對GPU依賴太大,導致硬件成本飆升,而服務器中的CPU算力卻并沒有得到充分利用。通過基于CPU實現的人臉識別SDK,能夠在沒有顯卡的服務器上搭建人臉識別服務,通過SDK中開放的API接口,實現監控攝像頭人臉的實時檢測、識別和匹配等。
對于人臉識別SDK的設計,一般是以Java開發語言為主,但考慮到實時性和商業隱私,通常是用Java實現業務邏輯,并定義API接口,底層算法用C++實現封裝,而中間用JN(I Native Interface)銜接Java和C++。主要實現的結構如圖1所示。
4. 在智能視頻分析平臺中的應用
在實際應用中,通過使用人臉識別SDK的API接口,將其集成到智能視頻分析平臺中后,可以通過手動新增或者自動同步等方式,建立人臉數據庫[10]。在新增人員信息的同時提取人臉特征,并對特征使用局部敏感哈希計算其索引,進行存儲。在平臺中支持人臉數據庫的增刪改查,并且可以根據姓名、單位、工種、手機號碼等要素進行篩選。
人臉識別界面中首先選擇監控攝像頭,之后點擊開始演示進行實時的人臉檢測、識別與匹配,并將最終的匹配結果實時展示到界面上。匹配的信息包括人臉數據庫底圖以及姓名、單位、手機號碼等信息,并且在屏幕底部有歷史識別圖片的滾動顯示。整套識別服務部署在CPU上運行,從測試的結果來看,優化后的算法極大節省了GPU的算力消耗,如表2所示。
結語
通用場景下的高精度、輕量級人臉識別算法的應用將得到越來越廣泛的應用。通過模型輕量化設計、推理加速等方式,實現其對攝像頭、GPU顯卡等硬件設備解耦,僅需要使用普通的監控攝像頭以及CPU服務器就可以實現部署和使用,并且將底層人臉識別相關算法封裝成SDK并對外開放功能性的API接口,支持各種主流編程語言調用,使其能夠簡單高效地集成到各種視頻分析平臺中,大幅降低了該功能在實際場景中的應用難度。
參考文獻:
[1]吳巾一,周德龍.人臉識別方法綜述[J].計算機應用研究,2009,26(9):3205-3209.
[2]李春利,柳振東,惠康華.基于卷積神經網絡的人臉識別研究[J].軟件導刊,2017,16(5):3.
[3]劉瑞明,徐春融,周韜.局部遮擋的人臉識別方法研究綜述[J].江蘇海洋大學學報(自然科學版),2022,31(3):63-71.
[4]汪濟民.基于卷積神經網絡的人臉檢測和性別識別研究[D].南京:南京理工大學,2015.
[5]黃發揚.淺談基于神經網絡深度學習算法的人臉識別技術[J].智能建筑, 2018(10):65-67.
[6]薛繼偉,孫宇銳,辛紀元.基于ArcFace算法的人臉識別應用研究[J].電子設計工程,2022,30(11):168-172.
[7]沙路為.側面人臉識別關鍵技術研究[D].南京:東南大學,2023.
[8]陳雯柏,黃至鋮,劉瓊.一種基于P穩定局部敏感哈希算法的相似人臉檢索系統設計[J].智能系統學報,2017,12(3):392-396.
[9]李云鵬.基于卷積神經網絡的動態人臉識別方法研究[D].哈爾濱:哈爾濱工程大學,2023.
[10]王希永.基于智能視頻分析的人臉識別系統設計[D].濟南:濟南大學,2021.
作者簡介:薛濤,本科,高級工程師,16300095@ceic.com,研究方向:人臉識別算法、智能視頻、智能發電。