?

基于改進Faster RCNN的多尺度人臉檢測網絡研究

2022-11-24 05:08宋夢媛
自動化儀表 2022年11期
關鍵詞:人臉尺度濾波

宋夢媛

(上海工藝美術職業學院信息管理處,上海 201800)

0 引言

計算機、網絡、大數據、物聯網、通信等技術[1-2]的不斷發展為社會發展與人們生活帶來了便利,特別是為智慧校園[3]的發展奠定了基礎。智慧校園中的1個典型應用就是智能人臉檢測[4]。人臉檢測是計算機視覺和模式識別中的1個基本而重要的問題,是許多后續相關人臉應用的重要關鍵步驟之一,如人臉驗證[5]、人臉識別[6]和人臉聚類[7]等。

近年來,深度卷積神經網絡[8](convolution neural network,CNN)在各種計算機視覺任務中取得了顯著成功。一般而言,人臉檢測是計算機視覺任務中1種特殊的目標檢測任務。因此,研究人員試圖通過探索一些成熟的深度學習技術來解決人臉檢測問題。文獻[9]提出1種基于特征圖融合的小尺寸人臉檢測方法,解決了尺度多樣性特別是小尺寸人臉給人臉檢測任務帶來的挑戰。文獻[10]提出了多尺度注意力學習的快速區域卷積神經網絡(faster region convolutional neural network,Faster RCNN)人臉檢測模型,用于佩戴口罩條件下人臉檢測。文獻[11]提出了1種基于多模型融合的可見光人臉活體檢測方法。上述方法對各自領域人臉檢測應用進行了研究,并取得了一定進展。然而,針對大量遮擋、低分辨率和失真圖像等小樣本,人臉檢測仍存在一定困難。而且,大部分研究采用矩形框進行人臉檢測,人臉輪廓包圍不緊密。

為改善上述問題,本文提出了1種改進Faster RCNN的多尺度人臉檢測網絡。該網絡通過預訓練與多尺度訓練,增強了網絡魯棒性。同時,將傳統矩形回歸框改進為橢圓回歸框,能夠更加緊密地包圍臉部輪廓。

1 模型結構

本文所提基于改進Faster RCNN的多尺度人臉檢測網絡結構如圖1所示。

圖1 基于改進Faster RCNN的多尺度人臉檢測網絡結構圖

圖1所示網絡基于RCNN[12]框架,主要由以下2部分組成。

①區域候補網絡(region proposal network,RPN)。RPN用于生成可能包含對象的區域建議列表,或稱為感興趣區域(regions of interest,ROI)。

②檢測網絡。檢測網絡用于將圖像區域分類為對象和背景,并細化這些區域的邊界。

此外,2部分網絡在用于特征提取的卷積層中共享公共參數,從而使得整體網絡快速收斂并完成目標檢測任務。同時,所提人臉檢測模型對Faster RCNN架構進行繼承和擴展,進一步提升了模型訓練效率和準確度。首先,使用數據增強產生大量數據集,并測試預先訓練的模型,從而生成大量難負例挖掘(hard negative mining,HNM)樣本。其次,將這些HNM樣本輸入網絡進行再訓練,從而提高模型魯棒性。接著,基于特征串聯策略,進一步提高模型的性能。最后,將生成的檢測邊界框轉換為橢圓,從而更緊密地包圍人臉區域。

2 模型關鍵步驟

2.1 HNM

HNM是提高深度學習性能的有效策略。該策略的主要思路為:考慮到難負例是網絡無法作出正確預測的區域,因此將難負例再次輸入網絡,從而作為改進訓練模型的補充。

基于HNM思想,本文從預先訓練的模型中獲得大量HNM樣本。試驗時,假設交并比(intersection over union,IOU)小于0.5。在HNM訓練過程中,進一步將這些難負例添加到ROI中以微調模型,并將前景和背景的比率平衡為1∶3,通過重訓練提高模型魯棒性。由此產生的訓練過程將能夠改進模型,從而減少虛警和提高分類性能。

2.2 模型預訓練

為了使改進的Faster RCNN適應人臉檢測,本文選擇在人臉檢測數據集和基準(face detection data set and benchmark,FDDB)數據集上微調視覺幾何組(visual geometry group,VGG-16)網絡的預訓練模型。然而,考慮到FDDB數據集規模較小,在微調之前,需要在大量多尺度人臉數據集上訓練所提模型。

此外,為了處理個別可能會破壞訓練過程收斂性的特殊案例,本文對數據集進行了清洗工作。進一步,對清洗后的數據集進行了數據增強操作,如圖像縮放、平移、旋轉、亮度和濾波等。不同數據增強方法的尺度如表1所示??紤]到數據增強級別過多將增加試驗運行時間,本文為每種增強操作選擇3種尺度,即表1表頭中的尺度1~尺度3。

表1 不同數據增強方法的尺度

2.3 多尺度訓練

傳統Faster RCNN網絡結構通常對所有訓練圖像采用固定的比例。通過將圖像調整到隨機尺度,模型能夠在很大范圍內學習特征,從而提高其尺度不變性性能。本文對每幅圖像進行數據增強并隨機分配3種尺度中的1種,然后將其送入網絡進行多尺度訓練。該策略可使所提模型對不同的大小圖像更具魯棒性,并提高了基準測試結果的檢測性能。

首先,使用FDDB數據集對預訓練的VGG-16網絡進行微調,從而實現人臉檢測預訓練。多尺度訓練網絡結構如圖2所示。

圖2 多尺度訓練網絡結構

網絡的輸入為224×224的固定紅、綠、藍(red,green,blue,RGB)圖像。網絡結構主要由13個卷積層、5個池層和3個全連接層組成。最后1個全連接層有54個通道(數據集中包含54個身份類別)。VGG-16體系結構通過添加多卷積層來增加網絡的深度,且卷積層的內核大小設置為3×3。卷積后空間分辨率保持不變,空間填充為1,卷積步長為1。下采樣由5個最大池化層執行,且最大池化緊跟在一些卷積層之后(需注意,并非所有卷積層都緊跟在池化層之后)。同時,最大池化層在2×2像素窗口上以步長2執行。此外,本文選取修正線性單元(rectified linear unit,ReLU)激活函數用于卷積層和全連接層,softmax函數用于最后1層。

訓練數據集用于訓練模型,前向傳播用于計算神經網絡中不同層的輸出。令卷積層的輸出特征映射表示為C,則有如下運算式。

C=φ[H(x,y)]

(1)

式中:φ(·)為ReLU激活函數;H(x,y)為網絡的輸入特征,x和y分別為卷積層的輸入和輸出。

φ[H(x,y)]=max[0,H(x,y)]

(2)

(3)

式中:W為卷積核的權重矩陣,且大小為m×n;f(·)為映射函數;b為偏置。

與tanh和Sigmoid等其他激活函數相比,ReLU函數的輸出可以減少計算量,加快網絡的收斂速度,且能有效改善梯度消失問題。

卷積層之后緊接著為最大池化層,所提網絡設置核為2×2。池化層用于減少網絡中的空間大小和參數數量,以及防止過擬合問題。令池化層的輸出映射表示為P,則該層可通過式(4)計算。

P=g(C)

(4)

式中:g(·)為用于計算最大值的函數。

當池化層窗口穿過C,g(·)選擇窗口中的最大值,并放棄其余值。同時,本文使用Dropout操作改善過擬合問題,且在訓練階段的每次Dropout更新概率為0.5。需要注意的是,Dropout操作不參與正向傳播和反向傳播,從而有助于防止過度擬合。

進一步,令神經元q處的全連接層輸出表示為Fq。Fq的計算如式(5)所示。

(5)

然后,令網絡的損失函數為Softmax損失函數,表示為L,并使用小批量梯度下降(mini-batch gradient descent,MBGD)方法對所提模型進行訓練。具體如式(6)所示。

(6)

式中:M為一次迭代中的圖像批處理數量(本文令批量大小為64);J為神經元數量;pq為神經元q處的網絡輸出。

最后,使用反向傳播算法更新權重w,更新規則如式(7)、式(8)所示。

(7)

式中:μ為可以加速收斂的動量系數(本文令μ=0.9);Δvt-1為之前更新的權重值;α為學習率(本文取α=0.01)。

wt=wt-1+Δvt

(8)

式中:wt為迭代t時的當前權重。

α更新規則如式(9)所示。

(9)

式中:γ為Gamma函數(本文令γ=0.1);u為最大迭代步長(本文令u=250)。

2.4 橢圓回歸

橢圓回歸的關鍵思想是直接從可見部分推斷相對偏移參數,從而確保更緊密地包圍臉部特征。在幾何學中,任意定向的一般橢圓可以由5個參數定義:中心坐標(x0,y0)、半長軸長度a、半短軸長度b(a≥b),以及旋轉角度(從正水平軸到橢圓長軸)。橢圓的標準形式如式(10)所示。

(10)

(11)

式(11)中的分子和分母分別對應于橢圓的水平切線和垂直切線。為了確定橢圓的軸對齊邊界框,令式(11)中分子和分母分別等于零,故每個軸的邊界框長度如式(12)所示。

(12)

式中:Δx為邊界框橫軸長度;Δy為邊界框縱軸長度。

進一步,將正方形的包圍盒擴展為橢圓邊界框。其對角線長度可定義為正方形長度l。則l的計算式如式(13)所示。

(13)

3 仿真與分析

3.1 數據集與仿真環境

試驗所用數據集為FDDB數據集。FDDB數據集包括2 845張圖像,總共5 171張人臉。這些人臉圖像質量不均,存在大量遮擋、低分辨率和失真情況,為準確識別帶來了挑戰。

仿真環境設置如下:數據增強算法基于Python3.8和OpenCV編譯;所有深度學習網絡基于Python3.8和tensorflow框架編譯;所有程序均運行在CPU主頻3.8 GHz,內存128 GB的intel酷睿i7 12700k,NVIDIA GTX 1080 GPU的Ubuntu 16.04工作站。仿真相關參數設置如下:在多尺度訓練網絡,學習率為0.001、最大迭代次數為250、參數γ為0.1、批處理大小為64、Dropout概率為0.5、動量系數為0.9、非最大抑制(non maximum suppression,NMS)閾值為0.3;在特征提取網絡,學習率為0.0001、最大迭代次數為250、批處理大小為32、Dropout概率為0.2、動量系數為0.9。

3.2 模型執行

對于每個圖像,在將其送入網絡之前需執行數據增強操作。接著,對預先訓練的VGG-16模型在FDDB數據集進行訓練迭代。在整個訓練過程中,RPN使用的錨框總尺寸為64×64、128×128、256×256、512×512,3個縱橫比為1∶1、1∶2和2∶1。在執行NMS后,保留了2 000個候補區域。對于Fast RCNN分類部分,如果任何地面真值的IOU大于0.5,則將其視為前景;否則,將其視為背景。為了平衡前景和背景的數量,對這些ROI進行采樣,并保持比例為1∶3。

然后,將上述數據集輸入網絡,并將輸出區域的置信度得分高于0.8而IOU值低于0.5的樣本標記為HNM樣本。接著,對HNM樣本執行再學習,確保這些HNM與其他ROI同時被采樣。

最后,在FDDB數據集上進一步微調生成的模型,從而生成最終的檢測模型。

3.3 交叉驗證

本小節使用交叉驗證思想確定數據增強方法中最佳尺度和因素的組合情況。首先,通過增強相同的原始樣本,基于預先訓練的VGG-16模型比較人臉檢測的準確性,確定不同因素影響順序,即圖像旋轉>圖像縮放>圖像亮度>圖像平移>雙邊濾波>中值濾波>高斯濾波>均值濾波。進一步,對不同增強尺度進行交叉驗證。表2和表3分別為圖像數據和濾波數據增強識別準確率交叉驗證結果。

表2 圖像數據增強識別準確率交叉驗證結果

表3 濾波數據增強識別準確率交叉驗證結果

由表2、表3可知,幾何變換和圖像亮度的最佳組合為圖像縮放尺度3、圖像平移尺度1、圖像旋轉尺度1和圖像亮度尺度3;濾波最佳組合為均值濾波尺度2、中值濾波尺度2、高斯濾波尺度3、雙邊濾波尺度1。

采用最佳的數據增強方法對原始訓練樣本進行擴充。為了驗證最佳組合性能,基于預先訓練的VGG-16模型在HNM樣本上進行訓練與測試,得到的平均準確率為0.863 8。該結果表明,在少量訓練樣本的基礎上,使用最佳組合數據增強可以有效提高人臉檢測的準確率。

3.4 對比分析

圖3所示為人臉檢測網絡部分識別結果。

圖3 人臉檢測網絡部分識別結果

通過最佳數據增強組合形成數據集,并代入所提人臉檢測網絡。由圖3可知,所提模型能夠有效識別人臉區域。

表4所示為不同方法區域識別性能對比結果。由表4可知,所提模型識別準確率為93.38%,召回率為89.52%,F分數為91.65%。仿真結果進一步驗證了所提模型性能提升明顯。

表4 不同方法區域識別性能對比結果

4 結論

本文對深度學習模型進行了研究與分析,提出了1種基于改進Faster RCNN的多尺度人臉檢測網絡。首先,使用數據增強產生大量數據集,并測試預先訓練的模型,生成大量HNM樣本;其次,將這些樣本輸入網絡進行再訓練;接著,基于特征串聯策略進一步提高模型的性能;最后,將生成的檢測邊界框轉換為橢圓。所提多尺度人臉檢測網絡可以有效應用于大量遮擋、低分辨率和失真圖像,為小樣本人臉檢測發展提供了參考。

猜你喜歡
人臉尺度濾波
船岸通信技術下艦船導航信號非線性濾波
有特點的人臉
一起學畫人臉
財產的五大尺度和五重應對
一種考慮GPS信號中斷的導航濾波算法
高效LCL濾波電路的分析與設計
三國漫——人臉解鎖
基于EKF濾波的UWB無人機室內定位研究
宇宙的尺度
9
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合