• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Ghost-YOLO:輕量化口罩人臉檢測算法

      2022-10-11 08:52:32陳繼平陳永平謝懿朱建清曾煥強
      信號處理 2022年9期
      關(guān)鍵詞:輕量化人臉口罩

      陳繼平 陳永平 謝懿 朱建清,2 曾煥強

      (1.華僑大學(xué)工學(xué)院,福建泉州 362021;2.廈門億聯(lián)網(wǎng)絡(luò)技術(shù)股份有限公司,福建廈門 361015)

      1 引言

      2019 年的新型冠狀病毒在全世界范圍內(nèi)迅猛傳播給人類健康帶來了嚴峻的挑戰(zhàn)。佩戴口罩能夠有效地防止新型冠狀病毒的傳播,因此,口罩已是每位出行者必須佩戴的防護設(shè)備。在疫情之前,深度學(xué)習(xí)在人臉檢測任務(wù)中已有廣泛應(yīng)用,例如毛秀萍[1]將通用目標檢測模型應(yīng)用至人臉檢測任務(wù),以及文獻[2]提出的基于深度學(xué)習(xí)的人臉實時檢測方法等。但是,這些人臉檢測多數(shù)處理完整人臉,并不完全適應(yīng)疫情情況下口罩人臉檢測,因為人臉戴上口罩后丟失了幾乎一半的特征信息。因此,口罩人臉檢測是一個亟待研究的課題。

      得益于深度學(xué)習(xí)的高速發(fā)展,學(xué)術(shù)界涌現(xiàn)出很多基于深度學(xué)習(xí)的目標檢測模型,例如:你只需看一次(You Only Look Once,YOLO)[3]、單幀多框檢測器(Single Shot Multi-Box Detector,SSD)[4]和以區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Region Convolutional Neural Network,R-CNN)[5]為基礎(chǔ)的Fast R-CNN[6]、Faster R-CNN[7]等目標檢測算法。目標檢測模型在嵌入式設(shè)備中落地部署時,由于嵌入式設(shè)備性能低下,使得在嵌入式設(shè)備中很難平衡算法的精度與速度。為此,嵌入式設(shè)備上的目標檢測模型往往采用輕量化網(wǎng)絡(luò),如MobileNet[8-9]、SqueezeNet[10]等,通過壓縮再擴展結(jié)構(gòu)或使用深度可分離卷積(Depthwise Separable Convolution)[11]來提高模型推理速度或者減小權(quán)重大小,但代價是其精度會降低。NanoDet[12]、MobileNet 以及Pelee[13]等模型的參數(shù)量大小雖然不到10M 甚至不到1M,但其mAP 表現(xiàn)分別只有23.5%、22.4%,MobileNet 家族的V1、V2、V3 以及V3-small 的mAP 表現(xiàn)均不超過22.2%。而在YOLO家族中的YOLOv4-tiny[14]以及YOLOv3-tiny[15],雖然是從YOLOv4、YOLOv3這些大參數(shù)量且高精度的模型進行輕量化改造而來,但其參數(shù)量大小分別為6.06M、8.86M,mAP 僅為21.7%、16.6%,均達不到當前輕量化模型的性能。而YOLOv5-s[16]這個參數(shù)量只有7.3M 的模型,在COCO[17]數(shù)據(jù)集中獲得36.7%的mAP 性能指標。因此,在這些目標檢測模型中,YOLOv5-s模型能夠較好地平衡檢測速度和檢測精度,在目標檢測領(lǐng)域中備受青睞。

      除了采用輕量化網(wǎng)絡(luò),GhostNet[18]指出了通過卷積所得的特征圖中存在著大量冗余的特征,為此他們提出了鬼影模塊(Ghost Module)來實現(xiàn)高效的特征去冗余。Ghost Module[18]能用更少的參數(shù)來獲得與普通卷積輸出的相同通道數(shù)的特征,相比于MobileNet 中使用的大量1×1 卷積,Ghost 模塊可以自定義卷積核尺寸大小,而且其先使用的一組用來減少通道數(shù)的普通卷積,使得后一層的分組卷積能夠減少高通道數(shù)帶來的高參數(shù)量。

      為了解決在嵌入式設(shè)備上口罩人臉檢測算法的檢測速度與精度的平衡問題,本文設(shè)計了一個少參數(shù)量、檢測速度和精度都能處在一個較高水平的目標檢測網(wǎng)絡(luò)。關(guān)于檢測網(wǎng)絡(luò)模型,本文使用了YOLOv5-s目標檢測算法,并在其架構(gòu)上引入了基于Ghost Module 改進的HAG 模塊,設(shè)計出Ghost-YOLO輕量化目標檢測算法,該模型相比于YOLOv5-s 減少了大量參數(shù)。另外為了解決口罩人臉數(shù)據(jù)集較少的問題,本文整理了口罩人臉的數(shù)據(jù)集來擴充訓(xùn)練數(shù)據(jù)集。結(jié)合以上模型與數(shù)據(jù)集,本文設(shè)計了基于Ghost-YOLO的口罩人臉檢測器。

      2 輕量化Ghost-YOLO網(wǎng)絡(luò)設(shè)計

      YOLOv5 模型的主體基本由基于跨階段部分模塊(Cross Stage Partial,CSP)[19]結(jié)構(gòu)組成,由于模型中大部分卷積計算和參數(shù)都集中于該模塊,因此本文首先對CSP 模塊進行改進,提出一種輕量化的高激活性鬼影跨段部分(High Active Ghost Cross Stage Partial,HAG-CSP)。緊接著,基于輕量化的HAGCSP 結(jié)構(gòu),本文進一步構(gòu)建出一個輕量化Ghost-YOLO 模型。接下來,本文對HAG-CSP 結(jié)構(gòu)和基于HAG-CSP 的輕量化Ghost-YOLO 模型分別進行介紹,并設(shè)計基于Ghost-YOLO 模型的口罩人臉檢測器。

      2.1 輕量化的HAG-CSP結(jié)構(gòu)

      本文首先在Ghost Module 的基礎(chǔ)上提出一種高激活性鬼影(High Active Ghost,HAG)模塊;其次,使用所提出HAG 結(jié)構(gòu)設(shè)計出輕量化的HAG-CSP結(jié)構(gòu)。

      2.1.1 高激活性的鬼影結(jié)構(gòu)HAG

      HAG 結(jié)構(gòu)如圖1 所示,其中的CBH 模塊包括一個k×k尺寸卷積層、一個Batch Normalized 層和一個Hard-Swish[9,20]激活函數(shù),在卷積層后使用了Batch Normalized 層來對數(shù)據(jù)進行歸一化,以加快訓(xùn)練速度,再使用激活函數(shù)來激活有效特征。HAG 的前一部分由一個1×1 大小、輸出通道數(shù)為輸入通道數(shù)的一半、分組為1 的CBH 模塊組成,后一部分以前一部分CBH 模塊輸出的結(jié)果作為輸入,經(jīng)過一個3×3大小、輸入輸出通道數(shù)相同、但分組數(shù)與輸入通道數(shù)相同的CBH 模塊,最后將兩部分輸出的特征圖進行拼接操作,將其作為HAG的最終輸出特征圖。在HAG結(jié)構(gòu)中對特征圖的操作不會改變其高寬。

      圖1 改進后的Ghost Module模塊HAG,圖中展示了其工作流程及特征圖尺寸維度變化Fig.1 HAG is improved based on Ghost Module,and its workflow and dimension change of feature diagram are shown in the figure

      可從HAG的工作流程中發(fā)現(xiàn),其輸出的特征圖中一半通道數(shù)的特征圖A 是輸入特征圖經(jīng)過第一個CBH 后得出來的,而另一半通道數(shù)的特征圖B 是特征圖A 經(jīng)過第二個CBH 后得出來的,所以特征圖A會影響特征圖B生成的內(nèi)容。

      在Ghost Module 模塊中,兩次卷積操作之后都使用了修正線性單元(Rectified Linear Unit,ReLU)[21]作為激活函數(shù),而在本文初期工作中使用原始的Ghost Module 模塊改造的Ghost-YOLO 模型進行訓(xùn)練時,隨著訓(xùn)練世代數(shù)的升高,擁有大量卷積層的Ghost-YOLO 就越可能出現(xiàn)梯度消失的情況。由于ReLU 激活函數(shù)在橫坐標負半軸的梯度為0,導(dǎo)致負的梯度在經(jīng)過ReLU 處理之后被置為0,梯度為負值的部分會被稀疏掉,某個神經(jīng)元可能不再會有任何數(shù)據(jù)被激活,使得該神經(jīng)元“壞死”,導(dǎo)致模型無法學(xué)習(xí)到有效的特征。

      因此,同采用ReLU 激活函數(shù)的原始的Ghost Module 相比,本文的HAG 結(jié)構(gòu)采用的Hard-swish 激活函數(shù)在x∈(-3,0)時函數(shù)值非0,對于ReLU函數(shù)負半軸為0 的特性,Hard Swish 有效地防止負梯度信息被稀釋,具有更高的激活性。在計算成本方面,相比于Swish[20]激活函數(shù)包含的sigmoid 函數(shù),Hard-Swish激活函數(shù)使用了ReLU6(x+3)進行線性計算來減少計算量,并且保持了Swish 函數(shù)無上界有下界的特點,因此使用Hard-Swish 激活函數(shù)不僅能夠擁有與Swish 相似的特性,并且能夠降低計算開銷,對嵌入式設(shè)備較低性能的運行條件更友好。

      2.1.2 基于HAG的輕量化HAG-CSP結(jié)構(gòu)

      圖2 為基于HAG 的輕量化HAG-CSP 結(jié)構(gòu)。在HAG-CSP 中我們將多個HAG 模塊串聯(lián)組成Multi-HAG 作為特征提取的主要模塊,通過多層的卷積的堆疊來充分提取特征。

      圖2 基于HAG模塊改進的HAG-CSP結(jié)構(gòu)Fig.2 The Improved HAG-CSP structure based on HAG module

      特征圖進入HAG-CSP 后,首先分成兩個分支Branch A 和Branch B 分別進行運算,兩個Branch 先均使用1×1 卷積層來進行通道縮減,從而優(yōu)化了HAG-CSP 模塊的時間復(fù)雜度和空間復(fù)雜度;在Branch A 中將通道縮減后的特征圖送入Multi-HAG進行特征提取,然后經(jīng)過1×1 卷積層進行通道特征整合;之后通過Concatenate 將兩個Branch 輸出特征圖拼接起來,由于拼接之前一個操作是使用了單個卷積層進行卷積,拼接后得到了線性特征,因此之后需通過BN 層和Hard Swish 激活函數(shù)轉(zhuǎn)化為非線性特征;最后再經(jīng)過卷積核尺寸為1×1 的CBH 模塊實現(xiàn)特征的融合。相比原YOLOv5中CSP 結(jié)構(gòu)使用的普通卷積來進行特征提取,HAG-CSP 由于使用了HAG模塊,使之能夠降低大部分參數(shù)量。

      接下來對HAG-CSP 結(jié)構(gòu)的輕量化特性給予證明。對于單一的普通卷積層和HAG結(jié)構(gòu),假設(shè)輸入與輸出特征圖的尺寸均為Fin=Fout=RH×W×2C,H、W、C表示特征圖的高、寬和通道數(shù),HAG 中的分組卷積尺寸為Y=k×k×(C/g),k、g分別為卷積核的尺寸和分組數(shù),為了比較普通卷積與HAG模塊中的兩個卷積層的參數(shù)量,因此設(shè)特征圖R 經(jīng)過尺寸為3×3 的普通卷積層處理后的參數(shù)量為r1=3×3×2C×2C,而特征圖R 經(jīng)過HAG 模塊所得卷積層參數(shù)量r2為式(1):

      其中加法的前部分為第一層卷積的參數(shù)量,其使用了尺寸為1×1 的卷積核,并且輸出通道數(shù)為C,即為輸入通道數(shù)的一半,后一部分為分組卷積的參數(shù)量,將輸入通道分為g組分別進行卷積操作,在本文中,分組卷積核尺寸k取3,g取特征圖R 一半通道數(shù),即與第一層卷積輸出的通道數(shù)相同為C。式(2)中對r1和r2兩個公式進行簡化:

      之后再對其求比值,因此普通卷積與HAG模塊的參數(shù)量比值如式(3):

      按照式(3)的比值結(jié)果,當通道數(shù)越大,比值Z也就越大,因此在輸入相同尺寸的特征圖時,本文的HAG 所用參數(shù)更少,并且隨著通道數(shù)的升高,將普通卷積模塊替換為HAG 模塊后獲得的減少參數(shù)量的收益越大。經(jīng)過多個HAG 模塊的堆疊,致使HAG-CSP 相比于CSP 能夠減少大量的參數(shù),因此證明了本文HAG-CSP結(jié)構(gòu)的輕量化的特點。

      在HAG中,本文之所以將分組卷積的卷積核尺寸設(shè)定為3×3,是因為嵌入式設(shè)備的計算性能較弱,同時當前的硬件與軟件對于3×3卷積核進行了計算優(yōu)化,雖然大尺寸卷積核能更好地聯(lián)系像素與周邊之間的信息,但會帶來更多的參數(shù),因此堆疊多個小卷積核來達成大卷積核的效果。

      2.2 基于HAG-CSP的輕量化YOLO模型

      經(jīng)過以上對Ghost Module、CSP結(jié)構(gòu)的輕量化改進,本文將其引入至YOLOv5-s 模型進行輕量化改造。本文通過對YOLOv5-s 中的CSP 結(jié)構(gòu)改進為成本文的HAG-CSP 結(jié)構(gòu),進而得到了如圖3 的Ghost-YOLO 模型的網(wǎng)絡(luò)結(jié)構(gòu)。與YOLO 系列算法相同,Ghost-YOLO 中包含了特征提取結(jié)構(gòu)Backbone、特征融合結(jié)構(gòu)Neck 以及預(yù)測結(jié)構(gòu)Prediction。以下對其分別進行介紹。

      Backbone 為Ghost-YOLO 的第一個結(jié)構(gòu),輸入圖片首先經(jīng)過Focus[16]模塊,通過類似于臨近采樣的方法在圖片中每隔一個像素取一個值,總共取4 組值來得到4 組特征圖,由于是隔像素取值,因此這4 組特征圖基本保持了原圖片的特征分布,之后將4 組特征圖進行拼接操作,最后經(jīng)過1×1 卷積層進行特征整合,從而能以不損失特征的方式實現(xiàn)下采樣操作。隨后使用多個堆疊的HAG-CSP 結(jié)構(gòu)進行特征提取,圖3 中堆疊的HAG-CSP 模塊之間使用步長為2的卷積層進行下采樣操作,F(xiàn)ocus結(jié)構(gòu)后的第二和第三次下采樣之后各使用了3 個HAG-CSP結(jié)構(gòu)進行串聯(lián)來加深網(wǎng)絡(luò)結(jié)構(gòu)。最后經(jīng)過空間金字塔池化(Spatial Pyramid Pooling,SPP)[22],使得模型能夠適應(yīng)不同尺寸的輸入圖片。本文將Backbone的輸入圖片尺寸規(guī)定為640×640 由于Backbone結(jié)構(gòu)的總步長為32,因此圖片經(jīng)過該結(jié)構(gòu)的特征提取后,輸出了3 個尺寸和通道數(shù)分別為20×20×512、40×40×256、80×80×128 的特征圖給Neck 進行特征融合。

      圖3 Ghost-YOLO模型結(jié)構(gòu)(圖中省略了上采樣、下采樣操作)Fig.3 Model structure of Ghost-YOLO(up-sampling and down-sampling operations are omitted in this figure)

      特征融合是使多個含有不同信息的特征通過拼接、相加等方法進行融合,從而能在一組特征中包含更多的信息,例如阮海濤等人[23]通過特征金字塔網(wǎng)絡(luò)來得到不同尺度下的信息,而本文在Neck中使用了YOLOv5 中的特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)[24]結(jié)構(gòu)和路徑聚合網(wǎng)絡(luò)(Path Aggregation Network,PAN)[25]結(jié)構(gòu),即通過上采樣、下采樣和Concatenate 等操作,將兩個尺寸與通道數(shù)不相同且經(jīng)過不同卷積操作的特征圖進行融合,如圖3中的虛線分支部分,讓兩個特征圖所提取的特征細節(jié)進行融合,從而實現(xiàn)不同尺寸目標的識別。最后將Neck 中輸出的三個尺度的特征融合結(jié)果輸出給目標預(yù)測模塊Prediction,通過卷積核尺寸為1×1 的卷積層便輸出三個尺寸分別為20×20、40×40、80×80 的最終預(yù)測結(jié)果,尺寸越大則能夠檢測出越小的目標,因此Ghost-YOLO 能檢測不同尺度的目標。

      2.3 采用輕量化Ghost-YOLO 模型的口罩人臉檢測器

      本文基于Ghost-YOLO 設(shè)計了口罩人臉檢測器,訓(xùn)練所需數(shù)據(jù)集類別需有為三類:非人臉、未帶口罩的人臉以及戴上口罩的人臉,其中非人臉一類僅作為背景,并不對其進行檢測,實際檢測目標為未戴口罩人臉和戴上口罩的人臉。

      該口罩人臉檢測器的工作流程為:將特征圖分成S×S個區(qū)域Grid,由存在目標中心點的Grid 負責(zé)檢測。首先在每個區(qū)域中會生成a個預(yù)測框,其中每個預(yù)測框會預(yù)測(5+2)個值,其中前5個值代表該預(yù)測框的中心坐標距當前Grid 左上角起點的距離tx和ty、預(yù)測框的高寬縮放系數(shù)tw和th以及預(yù)測框的置信度c,另外2個值代表未戴口罩人臉以及戴口罩人臉的分類概率。之后,對于同一類且在空間上是同一個目標所生成的多個預(yù)測框,對其預(yù)測框和目標的真實框計算交并比(Intersection of Union,IoU),從所得交并比中選擇交并比最大的預(yù)測框,即為最終所得預(yù)測框。

      預(yù)測框位置的4個預(yù)測值在進行損失計算時會轉(zhuǎn)換為相對位置,其轉(zhuǎn)換公式如式(4),其中符號σ(x)為sigmoid函數(shù),cx和cy為預(yù)測框所在Grid的左上角點坐標,lw和lh為預(yù)測框的寬和高。

      為了使生成的預(yù)測框更貼合實際目標,以及提高對目標分類的準確度,因此在檢測器的損失函數(shù)方面,Ghost-YOLO 使用了YOLOv5 的損失函數(shù),其由三種損失組成:如式(5)的置信度損失、式(6)的分類損失以及式(7)的預(yù)測框位置損失,其總損失函數(shù)如式(8)所示:

      上面的式子中,c、w、h、x、y為模型得出的預(yù)測值,S2代表圖片劃分成S×S后的Grid,a為某一Grid中的第a個預(yù)測框,代表第i,j處若有包含目標中心點,則其值為1,否則為0,而與其相反。對于置信度損失Lobj,理想情況下,當框中有物體時,置信度值ci為1,否則為0,式(5)中λnoobj和λobj分別為無目標和有目標的置信度損失系數(shù)。當預(yù)測框中的置信度達到閾值后,即認為框中有目標存在,則進行分類損失Lclass計算,式(5)中λclass為分類損失系數(shù),pi(c)為類別預(yù)測。與分類損失相同,預(yù)測框位置損失Lbox只在包含目標中心點的預(yù)測框中進行損失計算,通過計算預(yù)測框與真實框的位置差異來施加懲罰。結(jié)合以上損失函數(shù)以及檢測器的工作方法,設(shè)計出了基于Ghost-YOLO的口罩人臉檢測器。

      3 實驗與評估

      3.1 實驗數(shù)據(jù)及環(huán)境

      本文收集并整理了人臉與戴口罩人臉的圖像數(shù)據(jù)集,該數(shù)據(jù)集包含9817 張口罩人臉圖片,其中包括了醫(yī)用口罩、N95 口罩、防毒面具、帶顏色花紋口罩等多種類型的口罩,圖像分辨率從100×100 至5989×3993,用于訓(xùn)練的有8836 張圖片,其中有6661個戴口罩人臉標注框,14884個人臉標注框;另外有889 張圖片作為測試集,其中有645 個戴口罩人臉標注框,1734 個人臉標注框,標注效果如圖4所示。

      圖4 人臉與戴口罩人臉數(shù)據(jù)集的標注示例Fig.4 Annotation examples of face and mask wearing face data sets

      另外,本文還使用了AIZOO 數(shù)據(jù)集(https://github.com/AIZOOTech/FaceMaskDetection)以及FMDD數(shù)據(jù)集(https://www.kaggle.com/wobotintelligence/face-mask-detection-dataset)來驗證本文算法。AIZOO數(shù)據(jù)集包含了7959張帶標注信息的圖片,其中6120張用作訓(xùn)練集,1839 張用作測試集。FMDD 數(shù)據(jù)集擁有20 個類,本文參照文獻[27]的方法,從中選取標簽為“face_no_mask”和“face_with_mask”兩類共3384 張圖片作為數(shù)據(jù)集,其中訓(xùn)練集包含2707 張圖片,測試集包含677張圖片。

      自YOLO9000[26]開始引入的Anchor-base[7]方法幫助其取得了更高的性能表現(xiàn),因此需要一組提前設(shè)定好尺寸的Anchor,本文采用了K-means 聚類方法,對每個真實框未經(jīng)過值歸一化的長寬進行了統(tǒng)計。最后得出9 組Anchor 尺寸,分別為[(9,12),(25,32),(32,38)]、[(50,61),(56,80),(76,78)]、[(93,103),(141,166),(177,234)],小尺寸Anchor被使用在Neck 輸出的20×20 尺寸的特征圖上進行預(yù)測,另外兩個尺寸則分別使用在40×40、80×80 的特征圖上進行預(yù)測。

      本文算法的實驗評估工作均在NVIDIA Jetson Xavier NX 嵌入式設(shè)備上進行,模型訓(xùn)練過程所使用的顯卡為一塊NVIDIA GeForce GTX TITAN X,操作系統(tǒng)為Ubuntu18.04,深度學(xué)習(xí)框架為PyTorch1.6,CUDA版本為10.2。

      企業(yè)要通過工業(yè)化建設(shè)來提升企業(yè)整體效能,進而提升獲利空間,首先要樹立工業(yè)化思想,針對實際情況,不斷研究與實施先進的勞動組織與管理,生產(chǎn)資源優(yōu)化、工藝改造與革新、工序重組、系統(tǒng)信息化建設(shè)、員工操作技能培訓(xùn),而不是單純地投入先進的生產(chǎn)設(shè)備、擴大生產(chǎn)規(guī)?;蛘哒惺崭嗟膯T工。

      3.2 實驗細節(jié)及評價指標

      Ghost-YOLO的訓(xùn)練過程中,為了盡可能實現(xiàn)公平對比,以下參數(shù)值設(shè)定和損失函數(shù)系數(shù)設(shè)置與YOLOv5[16]所提供的設(shè)置一致:輸入分辨率為640×640,選擇Adam 優(yōu)化器進行參數(shù)優(yōu)化,模型的初始學(xué)習(xí)率為0.01,權(quán)重衰減系數(shù)為0.0005,訓(xùn)練世代數(shù)Epoch 設(shè)定為150,Warmup 的世代數(shù)為3,在Warmup 中的學(xué)習(xí)率動量為0.937,偏差學(xué)習(xí)倍數(shù)設(shè)置為0.2。經(jīng)過Warmup 的3 個Epoch 后,進入余弦退火學(xué)習(xí)周期,該周期的學(xué)習(xí)率為模型初始學(xué)習(xí)率乘以當前Epoch 的余弦退火學(xué)習(xí)率,余弦退火學(xué)習(xí)率初始值設(shè)定為0.02,隨著Epoch 的增加而減少。在損失函數(shù)系數(shù)的設(shè)置中,檢測框位置損失系數(shù)為0.05,分類損失系數(shù)和置信度損失系數(shù)都為0.5。對于數(shù)據(jù)增強參數(shù),對圖片的色調(diào)、飽和度和亮度的參數(shù)分別設(shè)定為0.015、0.7、0.4,圖片左右翻轉(zhuǎn)概率設(shè)定為0.5,Mosaic 數(shù)據(jù)增強的系數(shù)為1。關(guān)于參數(shù)設(shè)置,與YOLOv5 的唯一不同之處在于本文將BatchSize 設(shè)置成16,以盡可能合理利用本地顯存資源。

      在檢測實時性方面,使用平均單張圖片平均處理時間作為評價指標。在檢測準確性評價指標方面,本文選擇在目標檢測領(lǐng)域中常用mAP50 和mAP 0.5∶0.95 指標[17]。mAP 表示平均精度均值(mean average precision),其計算公式如下:

      其中,n表示類別數(shù)量;APc表示第c類的平均精度(average precision,AP),即為精確率-召回率(Precision-Recall,P-R)曲線的曲線下面積。實踐中需要預(yù)先設(shè)定預(yù)測框與真實框交并比(Intersection of Union,IoU)閾值,再將所有預(yù)測框的精確率和召回率組合繪制出P-R曲線。mAP50指IoU閾值取50%時的mAP值。進一步的,將閾值從50%開始,以5%為步長逐漸升高至95%,獲得不同閾值下的mAP,最后對所有mAP求均值即獲得mAP 0.5∶0.95。

      3.3 消融實驗

      為了驗證本文的Ghost 輕量化方法的效果,在共同應(yīng)用YOLOv5-s 骨架網(wǎng)絡(luò)的前提下,對采用本文設(shè)計的Ghost 輕量化方法和不用本文設(shè)計的Ghost輕量化方法進行性能對比,結(jié)果如表1所示。

      表1 采用Ghost輕量化方法改進前后的YOLOv5-s在各數(shù)據(jù)集上的性能對比Tab.1 The performance comparison of YOLOv5-s on each dataset before and after Ghost lightweight method improvement

      在模型大小上,采用Ghost輕量化方法的模型相較于不采用Ghost輕量化方法的模型減少了8.6 M。在本文自建數(shù)據(jù)集、AIZOO 數(shù)據(jù)集以及FMDD 數(shù)據(jù)集上,采用Ghost 輕量化方法的模型在mAP50 上較不采用Ghost 輕量化方法的模型分別提升了1.1%、0.4%、1%,而在mAP 0.5∶0.95 指標上則分別提升了1.9%、2.4%、3.8%。以上數(shù)據(jù)說明本文的Ghost輕量化方法能夠在減小模型大小的同時提高檢測精度,證明了本文方法的優(yōu)越性。

      3.4 Ghost-YOLO在數(shù)據(jù)集上性能分析與對比

      為了證明本文算法的性能,在表2 中給出在本文數(shù)據(jù)集上本文算法與其他輕量化目標檢測算法在模型大小、mAP50 和mAP 0.5∶0.95 指標上的表現(xiàn)。另外在表3中給出了在AIZOO 數(shù)據(jù)集和FMDD數(shù)據(jù)集上本文算法與其他目標檢測算法的精度對比。

      由表2 可見,在檢測的準確性能方面,本文的Ghost-YOLO 在口罩人臉數(shù)據(jù)集中達到了84.9%的mAP50 和51.9%的mAP 0.5∶0.95,相比本文算法基礎(chǔ)的YOLOv5-s 分別提升了1.1%和1.9%;相對于YOLOv4-tiny 則有3% 的提升。對比NanoDet-320,本文算法在mAP50 上有21%的領(lǐng)先,在mAP 0.5∶0.95 上領(lǐng)先幅度達到15%。在模型大小方面,表2 中模型權(quán)重均以32 位精度保存,本文算法模型的大小均小于YOLOv5-s 和YOLOv4-tiny,雖然NanoDet-320 在模型大小上有非常大的優(yōu)勢,但是其檢測性能遠低于Ghost-YOLO。因此,本文的Ghost-YOLO 算法在模型大小和準確性表現(xiàn)方面都優(yōu)于表內(nèi)的其他輕量型目標檢測算法。

      表2 本文算法與其他檢測算法在本文數(shù)據(jù)集上的性能比較Tab.2 The performance comparison between our algorithm and other detection algorithms on our dataset

      表3 本文算法與其他檢測算法在AIZOO數(shù)據(jù)集和FMDD數(shù)據(jù)集下的性能比較Tab.3 The performance comparison between our algorithm and other detection algorithms in AIZOO dataset and FMDD dataset

      在模型推理速度方面,圖5給出采用不同Batch Size 時不同算法在NVIDIA Jetson Xavier NX 嵌入式設(shè)備上的推理速度比較。本文算法在Batch size 為8 時,其推理速度達到最高為24.72 ms,相較于該實驗最快的YOLOv5-s的24.42 ms僅多出了0.3 ms的推理時間,而相對于YOLOv4-tiny和NanoDet分別減少了23.62 ms 和3.8 ms。因此,結(jié)合表2 的檢測精度比較結(jié)果和圖5 的檢測速度比較結(jié)果,證明本文算法具備了優(yōu)秀的推理速度和更好的識別性能表現(xiàn)。

      圖5 采用不同Batch Size時,不同模型的推理速度比較Fig.5 The comparison of inference speed of different models via different batch sizes

      3.5 特征圖可視化

      為了分析神經(jīng)元壞死的情況,以及證明本文基于Ghost Module 改進的HAG 的有效性,本文以ResNet18[31]為基礎(chǔ),分別使用本文的HAG 和Ghost Module 來替換ResNet18中的卷積模塊,從而構(gòu)建出兩種模型。在同一數(shù)據(jù)集下經(jīng)過相同訓(xùn)練之后,分別對其第二個經(jīng)改造后的卷積模塊輸出的特征圖進行觀察,其可視化結(jié)果分別如圖6(a)和圖6(b)所示,使用原Ghost Module 改造的ResNet18 模型輸出的特征圖中,有幾個通道的特征圖為空,而使用了本文HAG 改造的ResNet18 模型輸出的特征圖中未出現(xiàn)特征圖為空的問題。

      圖6 第二層卷積層特征圖可視化,(a)為使用原Ghost Module時的結(jié)果,(b)為采用HAG時的結(jié)果Fig.6 Visualization of feature map.The left figure(a)shows the result when using the original Ghost Module,and the right figure(b)shows the result when using HAG

      對其原因進行分析,本文認為對于一些離散的數(shù)據(jù),由于原始Ghost Module中ReLU激活函數(shù)的特性,致使部分神經(jīng)元“壞死”導(dǎo)致的圖6(a)中部分特征圖消失,影響了后續(xù)的特征提取操作。而圖6(b)中,由于HAG 中的Hard-Swish 激活函數(shù)能夠把一些負值信息進行激活,使得不丟失負值信息,因此相比左圖能夠保留更多信息。

      3.6 TensorRT加速與參數(shù)量化對比

      TensorRT[32]為NVIDIA 開發(fā)的一個專用于NVIDIA 系列計算核心的高性能深度學(xué)習(xí)推理SDK。它包括一個深度學(xué)習(xí)推理運行優(yōu)化器,為深度學(xué)習(xí)推理應(yīng)用程序提供低延遲和高吞吐量。由于本文實驗評估所用的NVIDIA Jetson Xavier NX 設(shè)備支持該SDK。在深度學(xué)習(xí)發(fā)展前期,例如文獻[33]等基于非深度學(xué)習(xí)模型的人臉檢測算法能夠?qū)崿F(xiàn)實時人臉檢測,但卷積等深度學(xué)習(xí)基本模塊的運算量遠大于之前的方法。因此為了進一步提高模型在嵌入式設(shè)備的推理速度以及減少模型的占用空間,在該實驗中對比了本文算法使用TensorRT 進行模型加速前后以及參數(shù)量化的效果,同時也對YOLOv5-s進行了對比,相關(guān)結(jié)果置于表4。

      由表4 可見,Ghost-YOLO 經(jīng)過TensorRT 加速過后,其單圖平均處理時間從24.72 ms 減少至18.41 ms,其每秒傳輸幀數(shù)(Frames per second,F(xiàn)PS)約為54.318,并且模型通過FP16 量化后,其權(quán)重大小從21M 縮減為13M;而經(jīng)過TensorRT 加速和參數(shù)量化后的YOLOv5-s,其處理時間也僅為21.22 ms,F(xiàn)PS 約為47.125,權(quán)重大小從29.6M 減小至17.5M。可見,經(jīng)過加速后的Ghost-YOLO 與YOLOv5-s 在檢測上都有提升,并且經(jīng)過參數(shù)量化后,模型占用空間也得到進一步減小,減少了算法在嵌入式設(shè)備上的對性能存儲空間的需求。

      表4 Ghost-YOLO與YOLOv5-s經(jīng)過TensorRT加速后的性能表現(xiàn)及權(quán)重大小對比Tab.4 The comparison between Ghost-YOLO and YOLOv5-s when using the TensorRT acceleration

      4 結(jié)論

      本文提出了一種面向嵌入式設(shè)備的Ghost-YOLO 口罩人臉檢測算法。先通過所設(shè)計的高激活性鬼影(High Active Ghost,HAG)模塊來減少特征圖中的冗余,再利用HAG實現(xiàn)的高激活性鬼影跨段部分(High Active Ghost Cross Stage Partial,HAG-CSP)模塊對YOLOv5-s 模型進行輕量化改造,從而構(gòu)造出口罩人臉檢測器。最后的實驗結(jié)果顯示,本文提出方法在NVIDIA Jetson NX 嵌入式設(shè)備上,對尺寸為640×640 的單圖片處理時間為24.72 ms,相比于其他輕量型目標檢測模型有更快推理速度且有更高精度的優(yōu)勢。本文不足之處在于HAG 模塊對前一組特征利用線性轉(zhuǎn)換得到的后一組特征,若前一組特征存在冗余信息,則后一組特征難免相應(yīng)存在冗余。后續(xù)的改進思路可以考慮在HAG 模塊線性轉(zhuǎn)換得到的特征之間設(shè)計約束項,降低特征之間相關(guān)性,減少特征冗余。

      猜你喜歡
      輕量化人臉口罩
      汽車輕量化集成制造專題主編
      有特點的人臉
      戴口罩的苦與樂
      意林(2020年9期)2020-06-01 07:26:22
      因為一個口罩,我決定離婚了
      海峽姐妹(2020年4期)2020-05-30 13:00:08
      霧霾口罩
      一種輕量化自卸半掛車結(jié)構(gòu)設(shè)計
      智富時代(2019年2期)2019-04-18 07:44:42
      三國漫——人臉解鎖
      動漫星空(2018年9期)2018-10-26 01:17:14
      要戴口罩的霧霾天
      瞄準掛車輕量化 鑼響掛車正式掛牌成立
      專用汽車(2016年1期)2016-03-01 04:13:19
      用戶:輕量化掛車的使用體驗
      專用汽車(2015年4期)2015-03-01 04:09:07
      汝城县| 湛江市| 南阳市| 韩城市| 温州市| 河北省| 南京市| 文成县| 蓬溪县| 苍梧县| 合川市| 荔波县| 桑日县| 钦州市| 邢台县| 婺源县| 同仁县| 昭通市| 龙陵县| 兴义市| 霍城县| 安陆市| 新野县| 边坝县| 万全县| 台南县| 拉孜县| 巴林左旗| 抚顺县| 龙泉市| 拜城县| 蓝田县| 监利县| 清丰县| 榆中县| 调兵山市| 贡觉县| 白沙| 平阳县| 新巴尔虎左旗| 应城市|