国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Insightface 結(jié)合Faiss 的高并發(fā)人臉識(shí)別技術(shù)研究

2020-10-28 06:19戴琳琳閻志遠(yuǎn)
鐵路計(jì)算機(jī)應(yīng)用 2020年10期
關(guān)鍵詞:特征提取人臉人臉識(shí)別

戴琳琳,閻志遠(yuǎn),景 輝

(中國鐵道科學(xué)研究院集團(tuán)有限公司 電子計(jì)算技術(shù)研究所,北京 100081)

人臉識(shí)別是基于圖像處理、模式識(shí)別等技術(shù),利用人的臉部信息特征,來進(jìn)行身份驗(yàn)證與鑒別的生物識(shí)別技術(shù)。人臉識(shí)別技術(shù)已在交通出行、手機(jī)解鎖、資質(zhì)認(rèn)證等領(lǐng)域得到廣泛應(yīng)用。人臉識(shí)別過程一般分為人臉檢測(cè)與對(duì)齊、特征提取、特征匹配檢索3個(gè)階段,具體流程如圖1 所示。

圖1 人臉識(shí)別流程

人臉檢測(cè)與對(duì)齊方面,MTCNN[1]在人臉檢測(cè)的基準(zhǔn)數(shù)據(jù)集FDDB 和WIDERFACE,以及人臉對(duì)齊的基準(zhǔn)數(shù)據(jù)集AFLW 上都取得了較好的測(cè)試結(jié)果。特征提取方面,2015年,ResNet[2]殘差學(xué)習(xí)被提出后,網(wǎng)絡(luò)深度不再限制網(wǎng)絡(luò)性能,大部分特征提取網(wǎng)絡(luò)都以ResNet 為基礎(chǔ)做更新優(yōu)化;DeepID[3]采用LeNet 結(jié)構(gòu)對(duì)人臉多個(gè)關(guān)鍵區(qū)域分別做特征提取,將隱藏層特征拼接起來,降維得到最終特征,用于人臉描述和分類;Facenet[4]基于ResNet 網(wǎng)絡(luò),結(jié)合Tripletloss 函數(shù),利用歐式嵌入,解決人臉比對(duì)驗(yàn)證的問題;SphereFace[5]首次關(guān)注特征的角度可分性,使得訓(xùn)練出的卷積神經(jīng)網(wǎng)絡(luò)(CNN,Convolutional Neural Networks)能學(xué)習(xí)具有角度判別力的特征;Insightface 算法[6]提出了附加角邊距損失函數(shù),直接在角度空間中最大化分類界限。特征匹配檢索方面,kd-tree[7]是常用做特征點(diǎn)匹配的Sift[8]算法,Surf[9]算法和ORB[10]算法與SIFT 算法相比,特征點(diǎn)檢測(cè)匹配速度有較大提升,但這些算法的效率均不及GPU 環(huán)境下為稠密向量提供高效相似度搜索和聚類的Faiss算法。

目前,實(shí)名制進(jìn)站核驗(yàn)系統(tǒng)[11]的人臉識(shí)別率已達(dá)97%,旅客可以在5 s 內(nèi)完成進(jìn)站核驗(yàn),但這只針對(duì)票、證、人一致性核驗(yàn)的1v1 場(chǎng)景。

綜上,本文沿用MTCNN,基于Insightface 對(duì)原有的ResNet 殘差單元進(jìn)行優(yōu)化,將Faiss 框架引入人臉的高維特征匹配過程,從算法的角度,對(duì)1vN 場(chǎng)景下的搜索匹配過程進(jìn)行優(yōu)化,提高模型的效率與適用性。

1 鐵路車站人臉識(shí)別算法

鐵路車站人流密度較大,環(huán)境場(chǎng)景復(fù)雜,有時(shí)需對(duì)場(chǎng)景下出現(xiàn)的所有人員進(jìn)行識(shí)別監(jiān)控。本文采用MTCNN 進(jìn)行人臉檢測(cè)與對(duì)齊,定位出人臉區(qū)域,找到臉部基準(zhǔn)點(diǎn)之后,用改進(jìn)的特征提取網(wǎng)絡(luò)Insightface 結(jié)合損失函數(shù)優(yōu)化進(jìn)行人臉特征提取,并將Faiss 索引檢索引入特征匹配過程,完成人臉識(shí)別。

1.1 人臉檢測(cè)與對(duì)齊

1.1.1 MTCNN 流程

MTCNN 是一個(gè)深度級(jí)聯(lián)的多任務(wù)CNN 框架,具有3 階段深度卷積網(wǎng)絡(luò)。以從粗略到精細(xì)的方式來預(yù)測(cè)人臉以及人臉關(guān)鍵點(diǎn)位置,可以同時(shí)完成人臉分類、邊框回歸和面部關(guān)鍵點(diǎn)的定位任務(wù)。在訓(xùn)練過程中采用困難樣本挖掘策略,可以在無需手動(dòng)選擇樣本的情況下提高性能。該框架流程如圖2所示。

給定一張輸入圖片,將其縮放至不同比例,構(gòu)建一個(gè)圖像金字塔,作為以下3個(gè)階段的網(wǎng)絡(luò)輸入:

(1)通過全卷積網(wǎng)絡(luò)P-Net(Proposal Network)來獲得候選邊框和邊框回歸參數(shù),用回歸參數(shù)調(diào)整邊框位置,再用非極大值抑制(NMS,Non-Maximum Suppression)合并重疊率較高的候選框;

(2)將P-Net 輸出的候選框從輸入圖片對(duì)應(yīng)位置剪裁出來,輸入到R-Net(Refine Network)。該網(wǎng)絡(luò)進(jìn)一步過濾掉非人臉的候選框,同樣,采用回歸參數(shù)調(diào)整邊框位置,再用NMS 合并重疊率較高的候選框;

圖2 MTCNN 流程

(3)將R-Net 輸出的候選框從輸入圖片對(duì)應(yīng)位置剪裁出來,輸入到O-Net(Output Network),找出面部的5個(gè)關(guān)鍵點(diǎn),并輸出檢測(cè)到的人臉以及面部關(guān)鍵點(diǎn)的位置。

1.1.2 MTCNN 損失函數(shù)

訓(xùn)練時(shí),框架的每個(gè)階段都有3個(gè)輸出:人臉分類,邊框回歸,面部關(guān)鍵點(diǎn)定位。

(1)人臉分類:是一個(gè)二分類問題,損失函數(shù)采用交叉熵來表示。

其中,pi表示第i個(gè)樣本預(yù)測(cè)為人臉的概率;表示第i個(gè)樣本的真實(shí)值。

(2)邊框回歸:對(duì)于每個(gè)候選框,預(yù)測(cè)其與最近標(biāo)注框的偏移量,損失函數(shù)采用歐式距離損失進(jìn)行計(jì)算。

(3)面部關(guān)鍵點(diǎn)定位:損失函數(shù)同樣采用歐式距離損失進(jìn)行計(jì)算。

(4)總體損失函數(shù)如下:

其中,N表示樣本的數(shù)量, αj表示各層網(wǎng)絡(luò)的權(quán)重,某個(gè)網(wǎng)絡(luò)越重要?jiǎng)t所對(duì)應(yīng)的值越大,表示樣本的類型。

(5)困難樣本挖掘:本文在人臉分類的訓(xùn)練過程中,采用在線困難樣本挖掘策略。將訓(xùn)練集中一部分?jǐn)?shù)據(jù)集的所有樣本,按前向傳播中產(chǎn)生的損失大小進(jìn)行降序排列,取前70%作為困難樣本,在反向傳播中僅用這些樣本來更新參數(shù)。

1.2 人臉特征提取

1.2.1 特征值提取網(wǎng)絡(luò)

將人臉對(duì)齊關(guān)鍵點(diǎn)坐標(biāo)結(jié)合改進(jìn)后的ResNet 網(wǎng)絡(luò)進(jìn)行深度特征提取。本文對(duì)網(wǎng)絡(luò)原有的殘差單元結(jié)構(gòu)做了修改,將原ResNet 殘差單元(圖3a)中的第2個(gè)卷積層步長調(diào)整為2,并在每次卷積前后都增加批歸一化處理(BatchNorm),激活函數(shù)在ReLu的基礎(chǔ)上增加部分參數(shù),修改小于0 的飽和區(qū)為非飽和區(qū),稱之為PReLu(圖3b)。批歸一化利于網(wǎng)絡(luò)收斂,能更好地學(xué)習(xí)特征表達(dá),非線性激活函數(shù)PReLu 相比ReLu,有更大范圍的非飽和區(qū),有效避免了隨著網(wǎng)絡(luò)深度增加、梯度衰減,引起參數(shù)不更新的問題。

圖3 殘差單元修改前后

1.2.2 特征值提取損失函數(shù)

利用Insightface 算法根據(jù)全連接層的情況確定不同類別的分類邊界。在二分類場(chǎng)景下, θi(i=1,2)表示學(xué)習(xí)的特征向量和類Ci的權(quán)重向量之間的角度,假設(shè)有類別C1、C2,特征向量屬于C1分類的需要滿足余弦決策裕度cosθ1>cosθ2的要求,從而區(qū)分來自不同類的特性。同時(shí),可通過在余弦空間中增加額外的邊緣來加強(qiáng)對(duì)習(xí)得特征的識(shí)別,進(jìn)一步要求cosθ1>cosθ2+m,m表示決策邊界的邊距,來控制余弦決策裕度的大小,這個(gè)約束對(duì)于分類來說更加嚴(yán)格,具有更好的幾何解釋性,適用于類別較多的人臉分類場(chǎng)景。同時(shí),分類的條件對(duì)于角度來說也變得更為苛刻,拉大了類間距離,能夠帶來更好的區(qū)分效果。設(shè)b為批尺寸;n為類別區(qū)分的具體數(shù)量;s表示比例縮放的超參數(shù),改進(jìn)后的損失函數(shù)為:

其中,對(duì)特征向量與權(quán)重都做了歸一化處理,在原本的余弦邊距中,cosθ1>cosθ2+m代表分類正確,現(xiàn)在要求當(dāng)θ2∈[0,π?m]時(shí),cosθ1>cos(θ2+m) 才是分類正確。相當(dāng)于決策邊界由余弦空間延伸到了角度空間,增強(qiáng)了模型對(duì)人臉的表征能力。

1.3 人臉特征匹配

提取出的人臉圖片高維特征向量無論是分類還是比對(duì)驗(yàn)證,都需要進(jìn)行向量匹配搜索與相似度判斷。Faiss 是為稠密向量提供高效相似度搜索和聚類的框架,包含對(duì)任意大小向量集的搜索算法,可以擴(kuò)展到單個(gè)服務(wù)器上主存儲(chǔ)器中的數(shù)十億個(gè)向量。Faiss 是圍繞索引展開的,不管運(yùn)行搜索還是聚類,都要建立一個(gè)索引,其特點(diǎn)為:

(1)速度快,可存在內(nèi)存和磁盤中;

(2)提供多種檢索方法;

(3)由 C++實(shí)現(xiàn),提供了Python 封裝接口;(4)支持GPU。

2 實(shí)驗(yàn)驗(yàn)證

2.1 實(shí)驗(yàn)環(huán)境

本地服務(wù)器測(cè)試工具為Jmeters,遠(yuǎn)程服務(wù)器測(cè)試工具為wrk,兩者均為開源性能測(cè)試工具

特征提取對(duì)比實(shí)驗(yàn)并發(fā)用戶數(shù)量為1 ~ 10,實(shí)例數(shù)量為1 ~ 40,以Face++提供的API 測(cè)試效果為參照,測(cè)試Insightface 在并發(fā)條件下的效率與精度;特征匹配對(duì)比實(shí)驗(yàn)特征底庫大小為1萬,隨機(jī)搜索數(shù)量為1000,比較傳統(tǒng)的kd-tree 搜索和本文使用的Faiss 向量搜索的性能。

2.2 Insightface 特征提取實(shí)驗(yàn)

2.2.1 Insightface 特征提取效率

遠(yuǎn)程服務(wù)器區(qū)分為需要部署Nginx 的跳板機(jī)以及部署工程和多實(shí)例的主機(jī)。為消除網(wǎng)絡(luò)的影響,需要在跳板機(jī)上安裝wrk,進(jìn)行性能測(cè)試。使用Gunicorn 單用戶不并發(fā)時(shí),每秒事務(wù)處理量(TPS,Transaction Per Second)約為7.84個(gè),如表1 所示。平均響應(yīng)時(shí)間約為128 ms,比Face++的extract_with_detect 接口效率提高1 倍以上,如表2 所示。在多用戶并發(fā)情況下,受限于機(jī)器配置,同時(shí)啟用的實(shí)例數(shù)不宜過多,每個(gè)用戶的請(qǐng)求次數(shù)對(duì)TPS 沒有明顯影響,反而會(huì)增加延時(shí)??紤]到人臉識(shí)別核驗(yàn)系統(tǒng)應(yīng)用都是基于遠(yuǎn)程重點(diǎn)人員特征庫,遠(yuǎn)程特征提取的效率尤為重要。試驗(yàn)證明以Gunicorn 調(diào)用flask 的方式構(gòu)建Insightface 特征提取服務(wù)器,與單用戶請(qǐng)求相比性能沒有明顯損失。

表1 Insightface 性能測(cè)試情況

表2 Insightface 與Face++的特征提取效率對(duì)比

2.2.2 Insightface 特征提取精度

精度測(cè)試基于LFW(Labled Faces in the Wild)數(shù)據(jù)集,使用曠視Face++的API 接口做精度參照。1v1 測(cè)試按人物名取每相鄰2 張圖片特征組成一對(duì),每張圖只組對(duì)一次,共6000 對(duì)。1vN 測(cè)試選取數(shù)據(jù)集中圖片數(shù)量在2 張以上的1680 人,共9064 張圖片,每人隨機(jī)抽取1 張作為后續(xù)對(duì)比圖,其余作為底庫特征集。測(cè)試結(jié)果如表3、表4 所示。

(1)1v1 比對(duì)測(cè)試

1v1 是指同一個(gè)特征底庫圖數(shù)量為1 的情況。Insightface 采取10 折交叉驗(yàn)證得到1個(gè)比對(duì)精度,F(xiàn)ace++根據(jù)提供的4個(gè)置信度參考閾值[55.013874,62.088215,67.57555,71.71891]得到1 組比對(duì)精度,如表3 所示。由測(cè)試結(jié)果可知,Insightface 1v1 算法精度優(yōu)于Face++。

表3 1v1 情況下Insightface 與Face++測(cè)試結(jié)果對(duì)比

(2)1vN 比對(duì)測(cè)試

1vN 是指同一個(gè)人特征底庫圖數(shù)量為N 的情況。Insightface 提供了1 組10個(gè)特征的距離閾值,1vN 的比對(duì)精度最佳可達(dá)95.23%,與Face++檢索算法精度基本相同,如表4 所示。

表4 1vN 情況下Insightface 與Face++測(cè)試結(jié)果對(duì)比

2.2.3 Faiss 特征匹配

kd-ree 搜索將底庫圖片特征劃分為多個(gè)特征空間,構(gòu)成二叉樹,然后將待對(duì)比圖片的特征向量傳入二叉樹進(jìn)行搜索,返回距離小、相似度高的底庫標(biāo)簽。Faiss 搜索以向量或矩陣的形式準(zhǔn)備好底庫特征數(shù)據(jù),然后構(gòu)建底庫索引并將特征數(shù)據(jù)映射至索引中,再通過索引搜索得到標(biāo)簽,兩者的搜索性能測(cè)試結(jié)果對(duì)比如表5 所示。

kd-tree 在底庫大小為1萬張圖片,隨機(jī)搜索1000張圖片的情況下,總耗時(shí)為8.35 s。Faiss 在相同情況下,總耗時(shí)為0.05 s。大部分人臉核驗(yàn)系統(tǒng)都是基于公安機(jī)關(guān)的遠(yuǎn)程重點(diǎn)人員特征庫,遠(yuǎn)程特征匹配的效率尤為重要,本文以Gunicorn 調(diào)用flask 的方式構(gòu)建Faiss 特征搜索服務(wù),不僅在效率上提速了100 倍以上,且需要的CPU 資源更少。

表5 Faiss 與kd-tree 搜索性能對(duì)比測(cè)試

2.3 實(shí)驗(yàn)結(jié)論

實(shí)驗(yàn)結(jié)果表明:(1)以Gunicorn 調(diào)用flask 的方式構(gòu)建Insightface 特征提取服務(wù)器,雖然在高并發(fā)、多實(shí)例的場(chǎng)景下,有較高的硬件資源要求,但是精度和效率都有所提高;(2)以Gunicorn 調(diào)用flask的方式構(gòu)建Faiss 特征搜索服務(wù)器,相比傳統(tǒng)的kdtree 搜索,效率上提高了100 倍以上,而且需要占用的CPU 資源更少。

3 結(jié)束語

Insightface 結(jié)合Faiss 的高并發(fā)人臉識(shí)別,通過對(duì)實(shí)際應(yīng)用場(chǎng)景的模擬,結(jié)合具體的軟硬件資源限制,優(yōu)化了人臉識(shí)別特征提取和特征匹配流程的算法設(shè)計(jì)方案,為鐵路客運(yùn)高并發(fā)情況下的人臉識(shí)別、核驗(yàn)、搜索比對(duì)等安全保障業(yè)務(wù)提供了技術(shù)支撐。該方法在細(xì)粒度人臉檢測(cè)、更高效率的人臉特征提取、比對(duì)、搜索以及多種站場(chǎng)復(fù)雜條件下的適用性等方面,有進(jìn)一步優(yōu)化空間。未來可通過復(fù)雜場(chǎng)景下人臉圖片數(shù)據(jù)的積累,算法框架調(diào)優(yōu)等方式,進(jìn)一步提高適用性。

猜你喜歡
特征提取人臉人臉識(shí)別
人臉識(shí)別 等
有特點(diǎn)的人臉
一起學(xué)畫人臉
揭開人臉識(shí)別的神秘面紗
空間目標(biāo)的ISAR成像及輪廓特征提取
基于Gazebo仿真環(huán)境的ORB特征提取與比對(duì)的研究
基于特征提取的繪本閱讀機(jī)器人設(shè)計(jì)方案
人臉識(shí)別技術(shù)的基本原理與應(yīng)用
基于Daubechies(dbN)的飛行器音頻特征提取
三國漫——人臉解鎖