毛雨晴,趙 奎
(四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,成都 610065)
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,人臉檢測與人頭檢測已成為計算機視覺領(lǐng)域的研究熱點,具有重要的研究價值與廣闊的應(yīng)用前景,人頭計數(shù)作為其延伸方向,廣泛應(yīng)用于人流預(yù)警設(shè)備中。如今,公共場所大范圍部署監(jiān)控攝像頭,攝影錄像大多包含被攝者的面部信息,若這些信息被不法分子獲取,將嚴重威脅被攝者的隱私。2021 年3·15 晚會報道出多家企業(yè)濫用人臉識別攝像頭,在顧客未知情的情況下私自存儲人臉信息,嚴重侵害顧客的合法權(quán)益與隱私安全,使得普通民眾的人臉信息安全難以得到保證。人臉是個人獨有的生物識別信息,目前大部分人臉已與各大平臺賬號密碼綁定,一旦存在泄露可能,用戶將面臨財產(chǎn)損失及隱私泄露的風(fēng)險?!毒W(wǎng)絡(luò)安全法》已經(jīng)明確將包括人臉在內(nèi)的個人生物識別信息納入“個人信息”范圍[1]。針對由公共場所攝像頭引發(fā)的人臉隱私安全問題,需要一種實時打碼的方法確保人臉信息不被非授權(quán)機構(gòu)獲取。
早期的監(jiān)控視頻人臉隱私保護方法可分為人工檢測法與輔助檢測法。人工檢測法一般由人進行逐幀校對并添加馬賽克掩膜,再合并回視頻流,其具有打碼位置準確的特點,但是需要人工添加掩膜信息,因此,對人力消耗巨大,無法做到實時保護。輔助檢測法指利用人臉檢測作為輔助手段進行掩膜覆蓋。
傳統(tǒng)人臉檢測通?;跈C器學(xué)習(xí)方法,需要專家提取人臉先驗知識進行手工設(shè)計特征并轉(zhuǎn)化為規(guī)則,然后結(jié)合分類器進行檢測。文獻[2]使用手工設(shè)計Haar特征積分圖對人臉進行描述,將特征圖輸入帶有級聯(lián)結(jié)構(gòu)的AdaBoost 分類器中進行快速人臉檢測,其提出的VJ(Viola-Jones)算法是人臉檢測領(lǐng)域的一次突破,可實現(xiàn)一秒檢測15 張圖的效果。但是,該算法提出的Haar特征使得分類器難以檢測出非正面角度的人臉與被遮擋的人臉,檢測性能也會隨著人臉圖像背景復(fù)雜度的提高而下降。文獻[3]針對遮擋人臉檢測問題,對VJ 算法進行改進,指出每個弱分類器都可以被看成一個圖像補丁,人臉也可以劃分為不同區(qū)域的補丁,其將弱分類器映射到人臉補丁中,通過設(shè)立的閾值來判斷當(dāng)前補丁區(qū)域是否為一個有效無遮擋的人臉,最終將所有有效補丁人臉進行整合,賦予補丁不同權(quán)重以確定整合后的窗口是否為人臉。該方法能有效解決人臉遮擋檢測問題,但同樣存在人臉角度的局限性。
研究人員對VJ 算法手工特征的框架進行改進,并先后提出不同的手工特征描述算法(如SIFT[4]、HOG[5]、LAB[6]、SURF[7]等),將其應(yīng)用于人臉檢測任務(wù)。文獻[8]提出特征由粗到細的檢測器,整合LAB、SURF、SIFT 三類特征,使用級聯(lián)漏斗結(jié)構(gòu)的多層感知機集中檢查候選區(qū)域,這種方式可以有效突破傳統(tǒng)方法在多視角人臉檢測中的局限性,但是其在場景復(fù)雜、人臉尺度變化大等情況下的檢測效果還有提升空間。傳統(tǒng)方法往往依賴于專家手工設(shè)計特征,在復(fù)雜場景下算法的魯棒性都有待提升。
人臉檢測作為輔助手段易受到人臉角度、位置等限制,引起人臉漏檢情況,且仍舊存在人臉隱私泄露風(fēng)險??梢岳萌祟^檢測替代人臉檢測進行人臉保護,通過卷積神經(jīng)網(wǎng)絡(luò)提取人頭特征,無需專家設(shè)計人工特征。基于深度學(xué)習(xí)的人頭檢測方法更加適用于在自然場景下識別背景雜亂的人頭,抗干擾性更強,具有更好的魯棒性與準確率。
文獻[9]提出一種擴展R-CNN 檢測器方法,使用兩類上下文線索進行頭部檢測,一類提取前景和背景的全局特征,另一類提取目標對象關(guān)系模型,構(gòu)建關(guān)聯(lián)得分函數(shù),將兩類檢測器組成一個聯(lián)合卷積神經(jīng)網(wǎng)絡(luò)框架用于人頭檢測。但是,該方法在頭部目標檢測時易受閉塞因素影響[10]。文獻[11]關(guān)注全局與局部特性,提出一種自適應(yīng)關(guān)系網(wǎng)絡(luò)用于捕獲上下文信息,使用兩步搜索法分別獲取全局先驗特征與結(jié)構(gòu)化局部特征,并將全局先驗特征和局部關(guān)系特征集成到一個可訓(xùn)練模型中,實驗結(jié)果表明,該網(wǎng)絡(luò)可以有效抑制漏檢情況,但是其未融合低層特征,在特征提取上還有待提升[12]。文獻[13]提出一種應(yīng)用于擁擠場景中人頭檢測的無錨檢測框架,該框架通過卷積神經(jīng)網(wǎng)絡(luò)提取高維特征,再使用遞歸LSTM 生成序列并挖掘信息以進行人頭檢測,利用3 種特殊設(shè)計的損失函數(shù)進行反向傳播以更新模型參數(shù)。文獻[14]在文獻[13]的基礎(chǔ)上進行改進,加入一組預(yù)先設(shè)置的錨框,使用VGG-16 作為基本架構(gòu),將VGG-16 末尾的全連接層轉(zhuǎn)化成卷積層,改進后的全卷積神經(jīng)網(wǎng)絡(luò)可完成分類與回歸任務(wù),從而實現(xiàn)人頭檢測與人群計數(shù)。
由于人頭檢測框為矩形,因此直接進行掩膜覆蓋可能會造成圖中其他關(guān)鍵信息的損失。針對該問題,本文在人頭檢測的基礎(chǔ)上,使用額外檢測分支進行精細化人頭像素分割,并用掩膜覆蓋打碼,在多方位保護人臉隱私的同時實現(xiàn)更精細的人頭覆蓋。具體地,本文提出三分支檢測算法Privacyface-YOLO,該算法采用帶殘差結(jié)構(gòu)的跨階段局部網(wǎng)絡(luò)提取人頭特征,將金字塔結(jié)構(gòu)與路徑聚合網(wǎng)絡(luò)(PANet)[15]相結(jié)合,進行多尺度特征融合與交流,充分利用淺層的目標位置信息和深層的特征圖語義信息,使得模型對復(fù)雜的人頭場景與小目標人頭都具有良好的魯棒性,以實現(xiàn)端到端實時人頭定位、人頭分割以及人群數(shù)量回歸。同時,本文基于輕量級MobileNetV2[16]提 出Privacyface-YOLO(Light)網(wǎng)絡(luò),該網(wǎng)絡(luò)可部署在移動端設(shè)備或內(nèi)置于攝像頭的芯片中,從而實現(xiàn)實時安全人臉保護。
目標檢測研究可按檢測階段分為兩類:一類是RCNN[17]系列,第一階段提出目標檢測候選區(qū)域,第二階段針對候選區(qū)域進行目標判斷與回歸,該系列具有檢測精度高但檢測速度慢的特點;另一類是SSD[18]和YOLO(You Only Look Once)[19]系列,這一系列需要一體化實現(xiàn)目標定位與檢測,一階段算法具有優(yōu)越的時間性能,但是檢測精度仍需提升[20]。
YOLO 意指神經(jīng)網(wǎng)絡(luò)只需看一遍圖片就可以輸出檢測結(jié)果,迄今為止,研究人員已經(jīng)陸續(xù)發(fā)布了5 個YOLO 版本。2016 年,REDMON 首次提出YOLOv1[19]并直接將輸入圖像劃分為7×7 的網(wǎng)格,每個網(wǎng)格都計算2 個預(yù)測邊界框及置信度,超過檢測閾值直接預(yù)測邊界框中的目標位置與類別。但是,由于約束了檢測框數(shù)目,因此算法本身具有局限性,在小目標檢測中表現(xiàn)欠佳。隨后,REDMON 對YOLO 進行改進并提出YOLOv2[21]與YOLOv3[22]。YOLOv2 通過引入Batch normalization 加速網(wǎng)絡(luò)收斂,并移除全連接層,重新引入錨框使得網(wǎng)絡(luò)定位更加準確。YOLOv3 引入殘差結(jié)構(gòu),提高特征主干網(wǎng)絡(luò)的深度并提升語義豐富性,從而提高了對小目標的檢測能力。BOCHKOVSKIY 等在REDMON 研究的基礎(chǔ)上提出YOLOv4[23],其引入Bag of specials的思想,通過使用金字塔結(jié)構(gòu)、激活函數(shù)Swish及soft NMS 后處理,只需付出一點額外的計算代價就能大幅提升檢測精確度。在這之后,ULTRALYTICS 提出YOLOv5,YOLOv5 按照模型大小分為YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,模型越大,網(wǎng)絡(luò)的速度越快,寬度越大,檢測效果越好,但是,所耗費的資源也越多。從YOLOv2 版本開始,YOLO 網(wǎng)絡(luò)中都需要預(yù)先設(shè)置錨框,檢測效果也與所設(shè)立錨框的大小有關(guān)。為了解決錨框大小設(shè)定問題,YOLOv5 在每次訓(xùn)練時自適應(yīng)計算當(dāng)前最佳錨框大小以適用于不同訓(xùn)練集的目標。
本文提出一種基于YOLOv5 結(jié)構(gòu)的多任務(wù)安全人頭檢測算法Privacyface-YOLO,該算法使用端到端的網(wǎng)絡(luò)實現(xiàn)實時人頭定位、人頭分割以及人群數(shù)量回歸。
如圖1 所示,Privacyface-YOLO 算法框架分為5 個部分,分別為主干網(wǎng)絡(luò)(Backbone)、頸部(Neck)、人頭分割層(Head Segmentation)、目標定位層(Object Detection)、人數(shù)回歸層(Count Regression)。第一部分為主干網(wǎng)絡(luò),用于提取圖像特征;第二部分為頸部,用于混合主干網(wǎng)絡(luò)中提取的多尺度特征圖,并將特征傳遞到三分支任務(wù)輸出結(jié)構(gòu);第三部分為人頭分割層,用于端到端地輸出人頭分割的結(jié)果;第四部分為目標定位層,直接使用頸部的輸出特征圖進行預(yù)測,獲取目標的位置信息和類別;第五部分為人數(shù)回歸層,用于直接預(yù)測當(dāng)前圖像中的人數(shù)。
圖1 多任務(wù)Privacyface-YOLO 算法框架Fig.1 Multi-task Privacyface-YOLO algorithm framework
對于一張640×640 像素的RGB 圖像,首先使用Focus 操作在不損失像素點的情況下將圖像尺寸縮小一倍,再使用主干網(wǎng)絡(luò)提取圖像特征,其中,Down Conv 是步長為2 的3×3 卷積,在提取特征的同時縮小特征圖尺寸,ResCSP 為帶殘差結(jié)構(gòu)的跨階段局部網(wǎng)絡(luò)[24],通過拆分特征圖來對部分特征圖進行特征提取然后與剩下的特征圖進行疊加,能夠在減少計算量的同時提升網(wǎng)絡(luò)的特征提取能力。在特征提取階段,由于使用了下采樣操作,使得特征圖的尺寸減小,導(dǎo)致低層的特征圖語義信息較少,但是目標位置準確;高層的特征圖語義信息更加豐富,但是目標位置比較粗略[25]。因此,在頸部使用特征金字塔結(jié)構(gòu)(FPN)[[25]融合不同層特征圖的信息,并在FPN 后再接上一個PANet[15]結(jié)構(gòu),PANet 將FPN 中低層的信息再次傳遞到高層,從而實現(xiàn)跨網(wǎng)絡(luò)層的信息交流。UpSample 為上采樣,用于擴大特征圖的尺寸。將頸部最上層的特征圖傳入人頭分割層,用于人頭像素點分割。人頭分割層中首先使用3×3 卷積提取圖像特征并結(jié)合上采樣、ResCSP 還原特征圖,主干網(wǎng)絡(luò)、頸部、人頭分割層結(jié)合在一起的網(wǎng)絡(luò)結(jié)構(gòu)呈U 型結(jié)構(gòu),類似于語義分割網(wǎng)絡(luò)U-Net。目標定位層用于實現(xiàn)人頭定位,在Neck 中得到3 個長寬分別為原圖1/8、1/16、1/32 大小的特征圖并傳入目標定位層,結(jié)合自適應(yīng)Anchor 對特征圖中的人頭進行檢測,直接輸出網(wǎng)絡(luò)預(yù)測的人頭置信度和位置信息。最后,人數(shù)回歸層直接預(yù)測圖像中的人數(shù),使用一個3×3 卷積和自適應(yīng)的Avg Pooling 將特征圖的尺寸調(diào)整到1×1,再使用1×1 卷積調(diào)整特征圖的通道數(shù)為1,實現(xiàn)人數(shù)回歸。在3×3 卷積之后均使用BN 對特征圖進行歸一化,利用Leaky ReLU 對特征圖進行激活,從而提升網(wǎng)絡(luò)的訓(xùn)練速度并防止過擬合發(fā)生。
Privacyface-YOLO 算法可以制作成軟件,并在計算能力高的服務(wù)器端或PC 端進行檢測。對于計算能力低的移動端設(shè)備,本文提出一個更快的版本Privacyface-YOLO(Light),在上述網(wǎng)絡(luò)的基礎(chǔ)上進行改進,將主干網(wǎng)絡(luò)替換為更加輕量的MobileNetV2[16],使用深度可分離卷積替換ResCSP 結(jié)構(gòu),從而實現(xiàn)更輕量級的特征提取網(wǎng)絡(luò)。本文所提輕量級版本更適用于移動端設(shè)備,且可直接在芯片中部署。
在深度學(xué)習(xí)的訓(xùn)練過程中,通過計算圖像中的真實標簽和神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果之差獲得當(dāng)前模型的損失(loss)值,loss 值反映了輸出結(jié)果與真實標簽的差異大小。在反向傳播過程中根據(jù)loss 值的大小對網(wǎng)絡(luò)參數(shù)進行調(diào)整,使得神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果趨向真實值。本文所提網(wǎng)絡(luò)為多任務(wù)神經(jīng)網(wǎng)絡(luò),使用的loss 包含3 個部分:第一部分為目標定位層的檢測框loss,記為lossdet;第二部分為人頭語義分割的loss,記為lossseg;第三部分為人頭數(shù)量回歸的loss,記為lossreg。具體如下:
1)目標檢測框的lossdet
在通常情況下,目標檢測網(wǎng)絡(luò)的loss由3 個部分組成,分別為類別損失、檢測框的損失和置信度的損失。本文目標檢測任務(wù)為單目標檢測,無類別損失,因此,本文檢測任務(wù)的loss 由人頭框和置信度的損失組成。
第一部分是人頭框的損失,記為lossobj,使用的損失函數(shù)為二元交叉熵(Binary Cross Entropy,BCE),計算公式如下:
其中:x為網(wǎng)絡(luò)的預(yù)測值,使用Sigmoid 函數(shù)將x映射到0-1 的空間中,反映當(dāng)前類別概率;z為真實的標注信息,取值為0 或1。
第二部分為反映邊界框準確度的loss,記為lossbox。本文使用的邊界框損失函數(shù)為GIoU[26],計算公式如下:
其中:A為真實圖像的目標框;B為網(wǎng)絡(luò)預(yù)測出的物體框;C為A與B的最小包圍框。
2)人頭語義分割的lossseg
人頭語義分割為單類別分割任務(wù),loss 為二分類的交叉熵,計算公式同式(1)。
3)人頭計數(shù)回歸的lossreg
人頭計數(shù)回歸使用的loss 為smooth L1 loss,計算公式如下:
其中:x為預(yù)測的人頭數(shù)減去真實圖像中人頭數(shù)的值。
對不同loss 設(shè)定不同的權(quán)重以得到整體的loss,計算公式如下:
本文所有實驗均在Ubuntu18.04 LTS操作系統(tǒng)下執(zhí)行,處理器為Intel?Xeon?CPU E5-2630 v4@2.20 GHz,顯卡采用NVIDIA GeForce RTX 2080Ti,11 GB 顯存。程序編碼使用Python3.6.10 及PyTorch1.7.0 實現(xiàn),通過CUDA11.0 進行深度學(xué)習(xí)運算加速。模型迭代次數(shù)設(shè)置為300,初始學(xué)習(xí)率為0.01,動量與重量衰減分別設(shè)置為0.937 和0.000 5,引入早停(Early stopping)機制緩解過擬合,當(dāng)30 輪迭代mAP 都沒有提升時停止訓(xùn)練。
本文實驗采用人頭數(shù)據(jù)集HollywoodHeads[9]和Brainwash[11]分別進行訓(xùn)練、驗證與測試,并將模型遷移至人臉數(shù)據(jù)集WIDER FACE 上[27]進行微調(diào)(finetune)。HollywoodHeads 包含21 部好萊塢電影的224 740 幀圖像,提供了369 846 個人頭標注,其中,訓(xùn)練集取自15 部電影共包含216 719 幀圖像,驗證集取自3 部電影共包含6 719 幀圖像,測試集取自3 部電影共包含1 302 幀圖像。Brainwash 來自咖啡館攝像頭每間隔100 s 所采樣的圖像,其中,訓(xùn)練集包含10 769 張圖像并含有81 975 個人頭,驗證集包含500 張圖像并含有3 318個人頭,測試集包含500張圖像并含有5 007個人頭。與HollywoodHeads 相比,Brainwash 中的每一張圖像都包含了更多的人,平均每一張圖像中含有7.89個人頭,是更具挑戰(zhàn)性的人群密集場景。WIDER FACE是由WIDER 數(shù)據(jù)集中的61 個事件制作而成的人臉檢測數(shù)據(jù)集,共包含32 203 張圖片,含有393 703 個人臉標簽,按照40%、10%、50%將數(shù)據(jù)集劃分為訓(xùn)練集、驗證集、測試集,對于訓(xùn)練集與驗證集,平均每張圖片中有24.45 張人臉,作者按照人臉識別的難易程度劃分為Easy、Medium 和Hard,其中,Hard 部分場景圖片人臉密集且具有不典型人臉特征與遮擋。WIDER FACE 數(shù)據(jù)集更適合模擬本文算法在真實場景下的人臉隱私打碼應(yīng)用效果。
loss 值越大,說明網(wǎng)絡(luò)的識別結(jié)果差異越大,網(wǎng)絡(luò)的擬合程度越差;loss 值越小,說明模型對當(dāng)前數(shù)據(jù)的擬合程度越好,但并不能說明網(wǎng)絡(luò)識別能力更強,因為可能存在過擬合現(xiàn)象。因此,本文使用查準率(Precision,P)、查全率(Recall,R)、交并比分數(shù)(Intersection over Union,IoU)、數(shù)目回 歸指數(shù)(Regression,Reg)和平均查準率(Average Precision,AP)對人頭檢測結(jié)果進行評估。查準率表示預(yù)測正確的人頭與輸出預(yù)測人頭樣本的比例,反映人頭盡可能被預(yù)測正確的程度。查全率表示預(yù)測正確的人頭與實際人頭的比例,反映人頭盡可能被找到的程度。兩者計算公式如下:
其中:TP為真陽性,表示被正確識別的人頭樣本數(shù);FP為假陽性,表示網(wǎng)絡(luò)判定為人頭而實際為非人頭的樣本數(shù);FN為假陰性,表示被網(wǎng)絡(luò)忽視的真實人頭樣本數(shù)。
IoU 分數(shù)是分割任務(wù)的標準性能度量指標,是指計算預(yù)測掩膜的像素面積與真實標簽像素面積的交集和并集的比值[28],計算公式如下:
Reg 是衡量人頭檢測數(shù)目精準度的一項指標,通過計算預(yù)測人頭數(shù)和實際人頭數(shù)之差獲得人頭預(yù)測準確率的度量,計算公式如下:
AP 用于反映模型準確識別人頭的能力,計算公式如下:
其中:P為計算一張測試圖像中人頭的查準率;Nimg為測試集中的圖像數(shù)量。
當(dāng)檢測框和真實框的IoU 大于某一閾值時,將該物體視為準確識別。當(dāng)閾值較大時,檢測得到的目標框更精準,但是查準率會降低;當(dāng)閾值較小時,查準率提高,但是檢測框和真實位置可能會有偏差。在此次實驗中,本文使用的閾值分別為0.50、0.70,在每一輪完成時,使用當(dāng)前模型在測試集上進行測試,計算AP50 和AP70。
3.3.1 本文算法與其他經(jīng)典算法的對比
為驗證Privacyface-YOLO 算法的檢測性能,本文在公開通用數(shù)據(jù)集HollywoodHeads 和Brainwash 上將其與近年來出現(xiàn)的主流檢測算法進行實驗對比。
在HollywoodHeads 數(shù)據(jù)集的實驗中,選取2 種經(jīng)典目標檢測算法SSD[18]和YOLOv2[20]以及CONC[9]、TINY[29]、FCHD[14]、HeadNet[11]作為對比算法,實驗結(jié)果如表1 所示。從表1 可以看出:在IoU=0.50 時,本文算法的平均查準率較對比算法高11.8%;在IoU=0.70時,本文算法的平均查準率較對比算法高20.2%。
表1 各算法在HollywoodHeads測試集上的檢測性能對比Table 1 Comparison of detection performance of each algorithm on HollywoodHeads test set %
在Brainwash 數(shù)據(jù)集的實驗中,同樣選取2 種經(jīng)典目標檢測方法SSD[18]和YOLOv2[20]以及Lhungarian[13]、TINY[29]、FCHD[14]、HeadNet[11]作為對比算法,實驗結(jié)果如表2 所示。從表2 可以看出:在IoU=0.50 時,本文算法的平均查準率較對比算法高5.8%;在IoU=0.70 時,本文算法的平均查準率較對比算法高35.2%。
表2 各算法在Brainwash 測試集上的檢測性能對比Table 2 Comparison of detection performance of each algorithm on Brainwash test set %
3.3.2 多分支檢測對人頭檢測的促進作用
為確定Privacyface-YOLO 多分支檢測算法對人頭檢測具有促進作用,在保證主干網(wǎng)絡(luò)和頸部結(jié)構(gòu)一致的前提下進行對比實驗,去除多分支輸出網(wǎng)絡(luò)結(jié)構(gòu)的人頭分割層和人數(shù)回歸層,退化為只具有目標定位層的單任務(wù)目標檢測網(wǎng)絡(luò),網(wǎng)絡(luò)其他部分不變。表3 所示為單分支結(jié)構(gòu)與多分支結(jié)構(gòu)在2 個數(shù)據(jù)集下的查準率、查全率和平均查準率比較,最優(yōu)結(jié)果加粗表示。由于單分支結(jié)構(gòu)不具有人頭分割層和人數(shù)回歸層,因此未比較IoU 分數(shù)及Reg 數(shù)目回歸指數(shù)。
表3 多分支與單分支結(jié)構(gòu)的對比結(jié)果Table 3 Comparison results of multi branch and single branch structures %
從表3 可以看出,增加多任務(wù)分支后,2 個數(shù)據(jù)集上的檢測結(jié)果都有一定提升,因此,多分支對人頭檢測具有促進與輔助作用,增加多任務(wù)并不會影響檢測準確率。對于Privacyface-YOLO 算法的檢測效果,WIDER FACE 數(shù)據(jù)集測試圖像之間人頭數(shù)差異較大,且存在部分遮擋人頭,在評估中實驗結(jié)果存在一定下滑,證明本文算法在人頭密度高的情況下仍舊具有魯棒性。
3.3.3 輕量級結(jié)構(gòu)
本文在Brainwash 測試集上對500 張圖片使用Privacyface-YOLO 進行預(yù)測,預(yù)測總時間為2.09 s,平均一張圖片的預(yù)測時間為0.004 18 s,算法每秒處理239張圖片,模型GFlops為24.1;利用Privacyface-YOLO(Light)進行預(yù)測,預(yù)測總時間為1.20 s,平均一張圖片的預(yù)測時間為0.002 40 s,算法每秒處理416 張圖片,模型GFlops為19.0,輕量級模型的檢測速度提升近一倍。表4 所示為Privacyface-YOLO(Light)在2 個數(shù)據(jù)集中的處理結(jié)果,相較Privacyface-YOLO,Privacyface-YOLO(Light)的平均查準率稍有下降,但檢測結(jié)果依舊良好,可以滿足日常檢測需求。
表4 Privacyface-YOLO(Light)輕量級模型的測試結(jié)果Table 4 Test results of Privacyface-YOLO(Light)lightweight model %
3.3.4 人臉檢測任務(wù)
人臉檢測同樣是計算機視覺領(lǐng)域中的重要任務(wù),為證明本文算法同樣適用于人臉檢測任務(wù),選取人臉密度較大的數(shù)據(jù)集WIDER FACE 進行實驗,并與近年來所提基于深度學(xué)習(xí)的人臉檢測算法YOLOv3-FACE[30]、MTCNN Multitask Cascade CNN[31]、RetinaFace[32]、SCRFD[33]進行對比,實驗結(jié)果如表5所示,同樣也按照WIDER FACE 的Easy、Medium 和Hard 劃分標準,分別計算對應(yīng)檢測結(jié)果的AP。從表5 可以看出,本文算法在人臉檢測領(lǐng)域同樣具有較高的性能提升,尤其在人臉密度大、檢測難度高的Hard 數(shù)據(jù)集中,其平均查準率相對SCRFD 算法提高12.2%。
表5 各算法在WIDER FACE 驗證集上的性能對比結(jié)果Table 5 Performance comparison results of each algorithm on WIDER FACE verification set %
表6 所示為單任務(wù)分支、多任務(wù)分支以及多任務(wù)分支輕量級Privacyface-YOLO(Light)的檢測結(jié)果。從表6 可以看出,在增加多任務(wù)分支后,Privacyface-YOLO 的檢測結(jié)果在Easy、Medium 和Hard 下較單任務(wù)分別提升2%、2%、2.6%;Privacyface-YOLO(Light)在Easy、Medium 和Hard 下雖比 多分支Privacyface-YOLO 性能分別下降1.4%、1.5%、2.1%,但對比單分支模型分別提升0.6%、0.5%、0.5%。實驗結(jié)果表明,在人臉檢測領(lǐng)域,增加多任務(wù)分支后同樣可以提升模型準確率,輕量級結(jié)構(gòu)在提升一倍檢測速度的同時也能保持較好的檢測結(jié)果。
表6 在WIDER FACE 數(shù)據(jù)集上多分支與單分支結(jié)構(gòu)的對比結(jié)果Table 6 Comparison results of multi branch and single branch structures on WIDER FACE dataset %
3.3.5 檢測效果分析
本文模型將已訓(xùn)練好的Privacyface-YOLO 分別用于測試數(shù)據(jù)集Brainwash、HollywoodHeads 和WIDER FACE,得到的檢測結(jié)果如圖2~圖4 所示,其中,每張圖中的(a)展示對應(yīng)數(shù)據(jù)集測試原圖,(b)為人頭檢測分支的輸出結(jié)果,(c)為人頭分割分支的輸出結(jié)果,(d)為整合后的帶有分割掩膜的檢測圖像。從中可以看出,本文算法在實現(xiàn)人頭檢測的同時生成人頭預(yù)測掩膜進行人頭覆蓋打碼,對被檢測到的人臉進行保護,有效避免了人臉數(shù)據(jù)泄露的風(fēng)險。尤其在圖4的WIDER FACE測試圖片中,在人臉密集的場景下,Privacyface-YOLO算法也能很好地對幾乎所有人臉生成掩膜并進行打碼操作,該程序有望在公共場所攝像頭中使用,以保證人臉隱私安全。
圖2 Brainwash 數(shù)據(jù)集上的檢測效果Fig.2 Detection effect on Brainwash dataset
圖3 HollywoodHeads 數(shù)據(jù)集上的檢測效果Fig.3 Detection effect on HollywoodHeads dataset
圖4 WIDER FACE 數(shù)據(jù)集上的檢測效果Fig.4 Detection effect on WIDER FACE dataset
已有的監(jiān)控攝像頭預(yù)置檢測算法多數(shù)存在人臉隱私泄露的風(fēng)險,為此,本文提出一種基于YOLOv5 結(jié)構(gòu)的多任務(wù)安全人頭檢測算法Privacyface-YOLO。該算法通過主干網(wǎng)絡(luò)層提取圖像特征,在頸部融合層實現(xiàn)特征信息交流,利用人頭分割層生成覆蓋原圖人頭的掩膜以保證人臉隱私,目標定位層配合人頭分割層實現(xiàn)人頭檢測,在人數(shù)回歸層預(yù)測人頭數(shù)量。在公開通用人頭數(shù)據(jù)集HollywoodHeads 和Brainwash 上進行實驗,結(jié)果表明,該算法的準確率AP50 分別達到94.8%和96.6%,準確率AP70 分別達到79.7%和84.4%,三分支結(jié)構(gòu)在保護人臉隱私的同時具有較好的平均查準率。下一步將優(yōu)化主干特征提取網(wǎng)絡(luò),提升網(wǎng)絡(luò)在人臉密集條件下的檢測準確率,并將輕量級網(wǎng)絡(luò)Privacyface-YOLO(Light)集成到攝像頭芯片中,從而實現(xiàn)更優(yōu)的人臉安全保護。