999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于YOLO的多尺度并行人臉檢測算法

2020-09-29 08:08:20賀懷清惠康華
計算機工程與設計 2020年9期
關鍵詞:檢測方法

賀懷清,王 進,惠康華,陳 琴

(中國民航大學 計算機科學與技術學院,天津 300300)

0 引 言

人臉檢測作為相關人臉問題[1-3]的基礎,一直以來都是計算機視覺領域熱門研究方向。隨著深度學習的發展,開始出現許多基于卷積神經網絡的人臉檢測算法,Li等[4]提出了級聯的卷積神經網絡算法一定程度上解決了傳統方法在開放場景對光照等環境因素敏感的問題。Zhang等[5]提出了多任務級聯的檢測算法與人臉關鍵點檢測聯合訓練。通用目標檢測算法經常被應用到人臉檢測領域,比如Jiang等[6]將通用目標檢測算法Faster R-CNN[7]應用到人臉檢測中取得很好的檢測效果。

上述采用的都是兩階段方法(two-stage),主要分為兩個步驟:候選區域提取和候選區域特征判斷。這一類方法主要特點是檢測準確率高,但是速度方面有所欠缺。后來出現了端到端的單階段方法(one-stage),比如Najibi等[8]提出根據不同卷積層的感受野大小不同實現多尺度的檢測,檢測精度雖然較兩階段類方法有所下降,但是檢測速度提高了許多。在通用目標檢測中比較經典的one-stage方法是Redmon等[9]提出的YOLO。

雖然YOLO具有檢測速度快,誤檢率低和泛化能力強的優勢,但直接應用在人臉中存在問題。由于網格劃分的尺度單一,對多尺度人臉的檢測效果不夠理想,召回率不夠高;另外,YOLO本質思想是將檢測問題轉變為回歸問題,單一尺度的檢測使得人臉的定位不準確;最后,YOLO算法是針對通用目標檢測的算法,更多考慮的是類間的分離而忽略了類內的聚合,導致類內距離可能會大于類間距離而降低檢測的準確度。

針對以上問題,本文提出基于YOLO的多尺度并行人臉檢測算法(multi-scale parallel face detection algorithm based on YOLO, MPYOLO)。首先,MPYOLO具有由密集到稀疏的多尺度的網絡結構能夠兼顧多種尺寸的人臉,從而提高檢測的召回率;多尺度網絡使得同一張人臉檢測得到的定位框增多,求取平均增加人臉定位的準確度;其次,采用基于生產者消費者模型的并行檢測算法,保證了時間開銷與YOLO持平;最后,引入中心聚合的思想,將中心損失函數(center loss)[10]與YOLO損失函數聯合訓練,降低類內的距離,進一步提高網絡的分類性能。

1 MPYOLO模型結構

1.1 YOLO通用目標檢測問題分析

YOLO主要思想是將輸入圖片劃分成s×s個網格,每個網格負責預測m個邊界框,則一幅圖的候選區域最多為s×s×m個。如果檢測目標的中心落在某個網格中,那么這個網格就負責預測回歸這個目標,如圖1所示,人臉框efgh的中心o落在了網格abcd中,則網格abcd負責回歸預測出人臉。YOLO省去了two-stage方法中耗時的候選區域提取的步驟,提高了檢測速度,但由于網格劃分的尺度單一性,使得YOLO方法的召回率不夠高。另外,YOLO采用回歸方式定位人臉位置,速度雖然有所提升,但是定位準確性要比two-stage方法中采用搜索方式定位方法要差些。

圖1 YOLO網格劃分

1.2 多尺度并行網絡結構

YOLO采用單一尺度存在召回率低的問題,召回率計算方法見式(1)

(1)

式中:TP(true positive)指正樣本中預測為正的數量,FN(false negative)為正樣本中預測為負的數量,YOLO召回率低是因為有些人臉沒有檢測到,TP值較低。如圖2(a)所示,當人臉尺寸較小且距離較近時候,多個人臉的中心點就會落到同一個網格中。如果一個網格只負責預測兩個邊界框,則最終只能檢測到其中兩個人臉。如果將網格進一步細分,比如劃分成8×8,如圖2(b)所示就可以將距離近的小尺寸人臉劃分開。人臉中心將落到不同的網格中就能夠被檢測到,TP值提升,從而提高檢測的召回率。

圖2 不同網格劃分

當檢測大尺寸人臉時,如果采用密集的網格劃分,如圖3所示,人臉中心點落到了候選框ABCD,則需要以候選框ABCD去回歸預測真實的邊界框EFGH,候選框與真正的邊界框差距較大,這樣導致YOLO對大尺寸人臉的定位不準確,因此只采用密集的網格劃分,難以滿足實際的需求。

圖3 密集網格劃分

針對以上分析,本文提出由密集到稀疏的多尺度并行網絡,結構框架如圖4所示。對于一幅含有多個尺寸的人臉照片,采用多尺度的網絡來進行檢測,稀疏的網格劃分網絡對大尺寸人臉檢測效果良好,密集的網格劃分網絡對距離較近的小尺寸人臉檢測效果良好。

圖4 多尺度并行網絡結構

圖4所示多尺度并行網絡結構不僅提高了檢測的召回率,在一定程度上也提高了定位的準確性。多尺度網絡結構使得輸入圖片的同一個人臉可能會在不同尺度網絡中檢測出不同結果,如圖5(b)所示,兩個較細檢測框為兩種尺度下的兩個不同的檢測結果,經過非極大值抑制求取平均合并后得到較粗的檢測框為多尺度網絡下檢測最終結果。在非極大值抑制過程中,對保留框與剔除框分別求取坐標與寬高的加和平均值為最終的輸出結果。加和平均的結果由于是多個尺度網絡的檢測結果,比如圖5(a)所示的單尺度YOLO檢測定位要準確。

圖5 單尺度與多尺度檢測結果對比

串行的多尺度網絡會使時間開銷增大,為了使檢測的速度與YOLO保持相同水平,MPYOLO采用基于生產者消費者模型的并行算法,具體算法見表1。多尺度網絡由串行變成并行工作,時間開銷由多個尺度網絡檢測的時間加和減少為單個尺度網絡檢測的時間,保證了YOLO在提高檢測性能的同時時間開銷不會大幅度增加。

表1 基于生產者消費者模型的并行檢測算法

1.3 中心損失函數

YOLO損失函數采用的是平方和誤差,這種誤差的特點是誤差值大的將會變得更大從而增大不同誤差值之間的差距。平方和誤差損失函數作為神經網絡的輸出層,有著計算方便的優點,但是將隱藏層輸出值轉換成結果值時只考慮到了類間的分離,卻忽略了類內的聚合問題。這樣導致的結果是類內的距離可能比類間的距離還要大,如圖6(a)所示,類別1與類別2的類間距離比類內距離還小。因此,引入中心聚合的思想,將類內距離減小,如圖6(b)所示,相對的進一步增加了類間的區分度,提升檢測的性能。

圖6 中心聚合

為解決這一問題,本文在YOLO損失函數基礎上加入中心損失函數,見式(2)

(2)

N表示所有樣本網格分塊總數量,xi表示第i(i=1,2,3,…,N) 個分塊全連接層之前的特征值,cyi表示第i個分塊的第yi個類別的中心。該公式有效地表示了類內的變化,理想情況下,隨著深層特征的改變,應該更新cyi, 換句話說,在每次迭代中需要考慮整個訓練集并求取每個類的平均特征,實際中由于數據量巨大以及計算資源有限,這樣是不切實際的。因此,中心損失不能直接使用。

為解決這個問題,首先,不是基于整個訓練集更新中心,而是基于小批量執行更新。在每次迭代中,通過平均相應類的特征來計算中心。其次,為了避免由少量錯誤標記的樣本引起的大擾動,使用標量α來控制中心值的學習率。c與Δc的更新表達式分別見式(3)和式(4)。最終采用標準隨機梯度下降進行優化

(3)

式中:t表示迭代次數

(4)

其中

(5)

訓練過程中,YOLO損失函數與中心損失函數結合,見式(6)

Lcls=LYOLO+λLc

(6)

標量λ, 稱作懲罰系數用于平衡兩個損失函數。如果λ設置為0,YOLO損失函數則可以被認為是這種聯合損失函數的一個特例。

2 實驗結果及分析

本文實驗使用的計算機配置為ubuntu 16.04操作系統,Intel Core i5處理器,內存為8 GB,顯卡為NVIDIA GeForce GTX 745,開發環境使用的是Pycharm。

2.1 數據集介紹

CelebA[11],它是香港中文大學提供的人臉數據集,包括10 177個名人身份,總共202 599個人臉。這些人臉圖像覆蓋多姿態,多角度以及復雜的背景。CelebA數據集的特點是大部分圖像都只包含一張人臉,這樣在訓練的時候可以確保一個網格中只能落入一個人臉的中心,使得對人臉的特征學習更加充分。

FDDB[12]是非常具有挑戰性的人臉檢測數據集,一共包含了2845張圖片,人臉總數達到5171個。這些人臉所呈現的狀態多樣,包括遮擋、罕見姿態、低分辨率以及失焦的情況,該數據集是評價人臉檢測算法的權威數據集。

2.2 模型訓練

從CelebA數據集中隨機選取15 000張作訓練集。如圖7 所示為7×7網格劃分的訓練網絡結構圖,引入中心損失函數后,為了進一步增加網絡的分類能力在YOLO網絡卷積層最后一層后面增加一層參數為512的全連接層,同時為了防止過擬合,在最后輸出層之前增加dropout層。其它尺度的網格劃分的訓練網絡與圖7結構類似。圖7中 YOLO 卷積層的具體的網絡結構參照文獻[9]。

圖7 訓練網絡結構

卷積層預訓練參數使用YOLO網絡全連接層的前24層網絡參數,這些參數在CoCo[13]數據集上取得了63.4%的平均準確率。中心損失函數學習率設置為0.1,懲罰系數設置為0.1,將輸入圖片調整成448×448大小分別訓練不同網格劃分的網絡。

本文在網格劃分為 {n×n|n=2,3,…,14} 做測試,其中7×7,10×10,14×14這3種網格劃分有較好的檢測結果。以7×7網格劃分的訓練結果為例,如圖8所示。準確率是評價分類器性能比較直觀的評價指標,本文每迭代5000次在訓練集上進行測試。如圖8(a)所示,隨著迭代次數的增加,中心損失不斷優化下降,最終趨于平穩狀態,此時在測試集上平均準確度(average precision,AP)也不斷上升最終趨于飽和狀態,趨近于1,表明訓練的網絡已經具備很強的分類能力。整體損失值同樣也隨著迭代次數的增加不斷優化下降最終趨于平穩狀態,同樣AP值也不斷上升最終趨于飽和狀態,趨近于1,如圖8(b)所示。

圖8 中心損失與整體損失的訓練優化

2.3 對比算法實驗結果及分析

2.3.1 多尺度與單尺度方法對比

從CelebA數據集中隨機選取5000張圖片組成測試集。采用7×7,10×10,14×14這3種尺度的并行網絡結構與單尺度7×7的YOLO方法進行測試,得到受試者工作特征曲線(receiver operating characteristic curve,ROC)對比如圖9所示。ROC曲線越靠近點(0,1),分類器檢測性能就越好;繪制ROC曲線時閾值不固定,也體現了分類器的泛化性能,越靠近點(0,1)分類器泛化性能越好。圖9所示多尺度網絡結構的曲線要比YOLO單尺度的曲線更靠近點(0,1),這是因為多尺度網絡相對于單尺度的YOLO方法對數據集中不同尺寸的人臉有更強的檢測能力。稀疏的單尺度網絡對小尺寸人臉檢測性能不理想,但在多尺度中不僅保留有稀疏的網絡,還存在密集的網絡可以提高對小尺寸的人臉檢測效果,因此多尺度的網絡結構檢測性能和泛化性能都要優于單尺度的YOLO。如圖9所示,采用本文多尺度結構的YOLO在橫坐標相同的情況下,縱坐標要比單尺度YOLO的曲線高,也就是召回率高。

圖9 單尺度與多尺度YOLO的ROC對比

圖10 單尺度YOLO有無中心損失ROC對比

2.3.2 無中心損失對比

圖10所示為在7×7網格劃分下迭代55 000次YOLO算法有無引入中心損失后的ROC曲線,可以看到,引入中心損失后,ROC曲線要高于YOLO方法的曲線,也就是說在FP(false positive)相同的情況下,引入中心損失后的召回率要比YOLO方法要高,要更靠近左上角,分類性能有所提高。引入中心損失函數后,訓練過程中人臉的特征被不斷聚合,不同人臉之間的差距不斷地減小,不同的人臉不斷地向著中心聚集,如此一來,最終人臉之間的聯系會變得更加緊密,相對的人臉與背景的差異就會變得明顯,因此網絡的分類性能會有所提高。

在ROC圖中當兩條曲線交叉的時候無法直接看出哪一條曲線性能更佳,引入AUC(area under curve)值,它可以根據曲線右下方面積占比計算得出,AUC值越大,對應的分類器性能越好。從第1次迭代到55 000次迭代每隔5000次在測試集上測試,繪制出單尺度YOLO有無引入中心損失AUC對比,如圖11所示。從圖中可以看出,開始的時候加入中心損失的AUC值要比原方法要低,這是因為訓練開始階段,訓練不夠充分,一定程度上破壞了類內特征之間的聯系,特征的聚合還不足以去彌補。隨著迭代次數的增加達到兩條曲線交點30 000次迭代左右時,類內距離開始小于類間距離,這時中心損失開始起作用,類內距離不斷減小,分類性能不斷提高。從圖中兩條曲線的走勢可以看出,YOLO方法AUC值基本保持平穩狀態,加入了中心損失后AUC值呈現上升的趨勢,這也正是特征不斷中心聚合的過程,類內聚合越緊密,相對的類間的距離越大,分類器分類效果越好。

為了更加直觀展示中心聚合后的效果,迭代55 000次后用5000個樣本的卷積層最后一層的特征的平均數與中位數畫出散點圖。圖12(a)和圖12(b)分別為未引入中心損失與引入中心損失的對比圖。可以看到,加入中心損失后,散點圖更加集中,特征聚合程度要明顯高于未加入的YOLO算法。加入中心損失后類內的距離減小了,使得類內特征更加緊密,相對的類間的距離增大,這樣提高了網絡的分類性能。

圖11 單尺度YOLO有無中心損失AUC對比

圖12 特征聚合對比

2.3.3 人臉定位對比

為了比較兩種方法定位的準確性,本文計算檢測到人臉的邊界框與真實人臉邊界框的平均交并比(intersection over union,IoU),平均交并比越大表明檢測結果與真實人臉邊界框重疊區域越大,定位也就越準確。對比結果見表2。從表中可以看出,本文的方法平均IoU要比YOLO方法大。這是因為不同尺度的網絡都有可能準確地檢測到人臉的一部分,對最終的檢測結果都有所貢獻,如果采用YOLO單純地剔除重疊框的策略就會忽略不同尺度網絡對檢測結果所做出的貢獻,在一定程度會導致定位的不夠準確,而本文采用的策略是將不同尺度網絡檢測結果非極大值抑制的同時加和求取平均,這樣考慮到了不同尺度網絡的檢測結果,因此正如表2結果所示,加入了多尺度網絡后定位的準確性要高于YOLO方法。

表2 平均IoU對比結果

2.3.4 整體結果對比

為了進一步驗證本文方法的有效性,在FDDB數據集上與YOLO進行對比。不失一般性地選取FP為1106,從準確率、召回率以及檢測速度3個方面與YOLO進行對比,結果見表3。從表中可以看出,本文方法在FDDB上的準確率和召回率要優于YOLO方法。本文方法采用多尺度的網絡結構,對于差異大的多尺寸人臉圖片要比YOLO敏感,因此能夠在FDDB數據集上發揮多尺度的優勢,檢測出更多尺寸的人臉。

表3 FDDB數據集對比結果

圖13為幾張在FDDB上隨機選取的實際檢測結果對比圖,白色邊框為YOLO方法檢測的得到的最終結果,黑色邊框為本文檢測結果。可以看到針對多角度多姿態的人臉,本文方法的檢測結果相比于YOLO與實際的大小和位置更加吻合。

圖13 FDDB數據集檢測效果對比

為了進一步驗證本文方法的優勢所在,本文選取目前主流的Face R-CNN[14]和最新的DSFD[15]從準確率、召回率以及平均檢測速度3種具體數值指標進行比較,結果見表4。從結果可以看到,本文方法的準確率和召回率相比于YOLO都有所提高。由于本文采用了生產者消費者模型的并行檢測方式,檢測速度基本與YOLO持平。從實驗結果,可以看出雖然MPYOLO在檢測效果上與Face R-CNN和DSFD稍微有所差距,但是檢測速度有著明顯的優勢。另外,MPYOLO的模型相比于Face R-CNN和DSFD要簡單,易于實現并且應用。

表4 CelebA測試集對比結果

3 結束語

本文基于YOLO方法進行改進,提出了多尺度并行的檢測網絡,多尺度網絡結構能夠充分學習到不同尺度的人臉特征,提高多尺寸人臉的檢測效果。在減小時間開銷上,采用了基于生產者消費者模型的并行檢測算法,將多個尺度網絡檢測時間縮短為單尺度網絡的檢測時間。此外,引入中心損失函數,能夠減小類內距離,使人臉特征聯系更加緊密,進一步提高網絡的分類性能。實驗結果表明,MPYOLO的召回率有所提高,準確率也有所提高,人臉定位的準確性也有所提高,同時速度仍然保持與YOLO的相同水平。本文在對人臉圖片或者視頻處理方面有著良好的應用價值。在今后的研究中會從其它方面進一步優化MPYOLO模型,爭取能夠更快更準地檢測并定位人臉。

猜你喜歡
檢測方法
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
學習方法
小波變換在PCB缺陷檢測中的應用
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
主站蜘蛛池模板: 日韩成人在线视频| 久久99国产综合精品1| 亚洲aaa视频| 亚洲日韩国产精品综合在线观看| 伊在人亚洲香蕉精品播放| 国产国语一级毛片| 毛片免费高清免费| 性色在线视频精品| 中文字幕1区2区| 国产91在线|日本| 最新国产精品第1页| 中文字幕在线看视频一区二区三区| 国产成人亚洲毛片| 亚洲综合色婷婷| 国产一区二区三区在线无码| 日本成人精品视频| 无码一区二区波多野结衣播放搜索| 中文字幕在线永久在线视频2020| 国产乱子伦无码精品小说| 亚洲香蕉伊综合在人在线| 99精品一区二区免费视频| 精品国产免费观看| 日韩av资源在线| 伊人AV天堂| 91色在线视频| 久久人搡人人玩人妻精品| 特级aaaaaaaaa毛片免费视频 | 国产在线观看一区精品| 青青草国产在线视频| 美美女高清毛片视频免费观看| 欧美一区二区啪啪| 中文字幕在线看| 波多野结衣视频网站| 综合亚洲网| 一区二区三区国产| 天天摸天天操免费播放小视频| 99在线观看国产| 欧美一级大片在线观看| 日韩精品久久久久久久电影蜜臀| 无码日韩视频| 国产尤物在线播放| 国产老女人精品免费视频| 免费aa毛片| 亚洲中文字幕久久精品无码一区| 亚洲色偷偷偷鲁综合| 久久久受www免费人成| 黄网站欧美内射| 亚洲成年网站在线观看| 亚洲视屏在线观看| A级全黄试看30分钟小视频| 免费视频在线2021入口| 欧美精品v| 亚洲综合色婷婷| 欧美性天天| 国产香蕉在线视频| 免费a在线观看播放| 久久综合丝袜长腿丝袜| 久久国产精品无码hdav| 在线a网站| 91小视频在线观看| 最新加勒比隔壁人妻| 国产精品久久久免费视频| 亚洲国产精品一区二区第一页免| 2024av在线无码中文最新| 欧美一区精品| 亚洲欧美成aⅴ人在线观看| 成人在线观看不卡| 免费va国产在线观看| 久久精品亚洲热综合一区二区| 91香蕉国产亚洲一二三区| 伊人查蕉在线观看国产精品| 在线观看国产精品第一区免费| 呦女精品网站| 精品视频第一页| 国产成人亚洲精品色欲AV| 欧美在线国产| 91极品美女高潮叫床在线观看| 91麻豆国产视频| 久草视频精品| 拍国产真实乱人偷精品| a毛片免费看| 性欧美久久|