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