日韩欧美视频一区-日韩欧美三区-日韩欧美群交P内射捆绑-日韩欧美精品有码在线播放免费-成人免费一区二区无码视频-成人免费一级毛片在线播放视频

樹人論文網一個專業的學術咨詢網站!!!
樹人論文網

基于YOLOv5增強模型的口罩佩戴檢測方法研究

來源: 樹人論文網發表時間:2021-07-29
簡要:摘 要:人臉口罩佩戴檢測是公共場所疫情防控極為重要的措施,如何智能、高效地檢測口罩佩戴情況具有重要意義。為實現多尺度條件下,模型壓縮和加速檢測,提出一種基于改進 Y

  摘 要:人臉口罩佩戴檢測是公共場所疫情防控極為重要的措施,如何智能、高效地檢測口罩佩戴情況具有重要意義。為實現多尺度條件下,模型壓縮和加速檢測,提出一種基于改進 YOLOv5 的輕量化算法,設計更為經濟的 GhostBottleneckCSP 和 ShuffleConv 模塊替換 YOLOv5 原網絡中的 C3 及部分 Conv 模塊,緩解特征通道融合過程的計算量占用問題并增強了特征的表達能力。實驗結果表明,改進后模型識別精度最低達 95%,較 YOLOv5 原網絡精度近乎無損失的前提下,模型參數量和計算量分別僅為原來的 34.24%和 33.54%,且在 GPU 或 CPU 上運行的速度分別提升了 13.64%和 28.25%,降低了平臺體積功耗存儲及計算能力的要求,與現有模型相比優勢明顯,更利于模型在資源有限的移動端部署,使人臉口罩佩戴監督功能更易獲取。

基于YOLOv5增強模型的口罩佩戴檢測方法研究

  彭成; 張喬虹; 唐朝暉; 桂衛華, 計算機工程 發表時間:2021-07-29

  關鍵詞:深度學習;口罩佩戴檢測;YOLOv5;GhostBottleneckCSP;ShuffleConv

  疫情尚未過去,防護仍需重視,亞洲多國新增確診人數仍然持續上升,且病株的變異等情況也為疫情的防控增添更多的不確定風險,在疫情防控常態化的情況下,佩戴口罩便是極為有效且經濟的防控手段,因此,公共場合的口罩佩戴檢測成為一項核心工作。日常生活中,面對經呼吸道傳播的傳染性疾病或工廠生產過程中產生的有害顆粒物,人們佩戴口罩進行防護也可保護生命安全,減少危害源的接觸,提高安全衛生等級。以人工的方式對活動人員進行監督檢測耗時耗力,且近距離接觸待檢測人員存在一定安全風險,因此構建監控系統檢測活動人員的口罩佩戴情況,實現疫情防控的自動化、數字化將長期具有實際現實需求,對社會具有重要意義,在多種行業均存在使用場景。

  人臉口罩佩戴檢測屬于計算機視覺中物體檢測的解決問題范疇,物體檢測在過去的二十年中可大致分為兩個時期,以 2014 年為分水嶺,2014 年前的傳統目標檢測期,及之后的基于深度學習的目標檢測期[1]。隨著 GPU 和大數據的發展,深度學習逐漸展露其優勢,傳統機器學習多階段才能實現的功能可由深度學習串聯完成,輸入大量圖像、語音和文本信息即可直接進行端到端的訓練[2,3],在物體檢測、圖像分割等領域展現出遠超傳統算法的實力。

  為了使人臉口罩佩戴監督功能更加易于獲取,口罩檢測網絡模型的輕量化也是一個必須要考慮的問題。當前經典的物體檢測算法大多依賴卷積網絡[4,5,6]進行特征提取,一系列優秀的基礎網絡 VGGNet[7]、ResNet [8]和 DenseNet[9]等被提出,但是這些網絡計算量往往較大,很難達到實時運行的工業應用要求,于是輕量化網絡應運而生。SqueezeNet[10]網絡從網絡結構優化出發,先壓縮再擴展,使用了常見的模型壓縮技術,在性能與 AlexNet[11]相近的基礎上,參數模型僅有 AlexNet 的 1/50。但該網絡仍然采用標準的卷積計算方式,之后的 MobileNet[12]采用更加有效地深度可分離卷積,提高網絡速度進一步促進了卷積神經網絡在移動端的應用,通過較少的計算量獲得了較高的精度。但是理論上,計算量仍然可以降低,ShuffleNet[13]利用組卷積和通道混洗的操作有效降低了點卷積的計算量,實現了更為優越的性能。隨著移動設備的進步和應用場景多樣化地發展,輕量化網絡展現出了更高的工程價值。

  針對人臉口罩佩戴檢測的精度和速度問題,多位學者進行了各種嘗試,比如文獻[14]基于改進 SSD 算法,并在分類器末端增添改進的非極大值抑制處理層,測試 mAP 最高達到 88%。文獻[15]提出一種基于 RetinaNet 的人臉口罩佩戴檢測的方法,通過遷移學習利用預訓練的 ResNet 模型幫助新模型訓練,最后在驗證集上的 AP 值為 86.45%。文獻[16]基于 YOLOv3 網絡模型,引入改進的空間金字塔池化結構并優化多尺度預測網絡,替換損失函數,準確度提升 14.9%。文獻[17]基于 YOLOv5 網絡模型,在原數據集的基礎上進行擴充,采用翻轉和旋轉兩種方式,得到 30000 張圖片進行訓練,最終準確率為 92.4%,還有其他學者進行了各種優化,在精度和速度上有了各自的提升。綜上所述,人臉口罩佩戴檢測方法仍有很大的改進空間,相較于已有研究,本文主要創新如下:

  1)針對在口罩檢測的實際應用場景中,由于距離攝像頭的遠近關系,一張圖片中存在物體尺度面積不平衡的問題,使用 YOLOv5 進行 20×20、40×40、 80×80 的大中小多尺度檢測,提升對于小物體的檢測性能;

  2)在模型精度和速度間取得平衡,合理優化模型,設計更為輕量化的改進 YOLOv5 模型,在幾乎不降低模型精度的情況下,實現模型壓縮以及加快推理速度,得到一個優化后的輕量化神經網絡,極大減輕對硬件環境的依賴;

  3)實現有效識別過濾常見干擾,如用衣物或手捂嘴等操作,增強模型實用性。

  1 基礎理論

  1.1 YOLOv5 算法原理

  YOLO(You Only Look Once)是一個高性能的通用目標檢測模型,YOLOv1[18]創新性地使用一階結構完成了分 類 與 目 標 定 位 兩 個 任 務 , 隨 后 的 YOLOv2[19] 與 YOLOv3[20]在速度和精度上的提升進一步加速了物體檢測在工業界的落地,YOLOv4[21]更是可以實現在一塊普通的 GPU(1080Ti)上完成訓練。從 YOLOv1 至今,YOLO 系列已經發展至 YOLOv5,相較于 YOLOv4,YOLOv5 更加靈活,在某種程度上 YOLOv5 模型是所有已知 YOLO 實現中的 SOTA(state-of-the-art),它提供了 4 個大小版本,分別為 YOLOv5s、YOLOv5m、YOLOv5l、 YOLOv5x,4 個版本模型大小與精度依次遞增,由 Bottleneck 數目區分,采用了類似 EfficienctNet [22]的 channel 和 layer 控制因子來實現版本的變化,能夠根據應用場景選取合適大小的模型。本文主要實現模型壓縮及加速,使其更易應用于資源有限的嵌入式設備,故將基準模型選擇范圍定在 YOLOv5s 系列中。

  YOLOv5 也有著版本迭代更新,現已至 v5.0,其中 v3.0、v4.0、v5.0 各有千秋,v4.0 與 v5.0 中 YOLOv5-P5 模型結構相同,v5.0 新提出 YOLOv5-P6 模型,較前面版本,添加了 1 個輸出層,共計 4 個輸出層 P3、P4、P5 和 P6,對應下采樣幅度分別為 8、16、32 和 64,新增加的檢驗層有利于檢測較大的物體,可以通過更高分辨率的訓練獲得更高的精度。此外,YOLOv5-P5 模型使用 PyTorch1.7 中新支持的 SiLU()激活函數替換了先前版本中使用的 LeakyReLU()和 Hardswish()激活函數,使得網絡中任何一個地方都只使用 SiLU 激活函數,并刪減了先前版本中 BottleneckCSP 的部分 Conv 模塊。先前版本的 BottleneckCSP 以及 YOLOv5-P5 中的改進 BottleneckCSP 變化如下圖 1 所示,改進 BottleneckCSP 稱為 C3 模塊。

  可以看到,C3 模塊由于消除了每個瓶頸結構中的一個卷積,導致新版的 YOLOv5-P5 的尺寸都稍小一些,能夠得到更小的模型,且推理速度也有少許的提升,作者得出結論,尤其是較大的 YOLOv5x,推理時間由 6.9ms 提升至 6ms,可以說最大的模型從這個變化中受益最大。下表 1 是對 YOLOv5s 各版本性能進行比較,出于更加輕量化更易部署于移動設備的目的,可以看到雖然 YOLOv5s-P5 精度雖然較 YOLOv5s-3.0 有了 0.8%的下降,但是速度和參數量都更為優秀,P6 雖然精度最高,但是無論是輸入 size 的高分辨率還是增加的檢測頭,都為設備資源分配增加了更大的負擔,綜合考量,最終選擇 YOLOv5s-P5 作為基準實驗模型,以其為 baseline 進行模型優化,本文中后續出現的 YOLOv5 一詞,若沒有特別說明,均指 YOLOv5s-P5。

  YOLOv5由Backbone與Head兩部分組成,Backbone 主要有 Focus、C3 以及 SPP 模塊,Head 包括 PANet 以及 Detect 模塊。

  在 Backbone 部分,通過 1 個 Focus 模塊及 4 個 Conv 模塊實現 32 倍下采樣,其中 Focus 模塊將輸入數據切分為 4 份,每份數據都是相當于 2 倍下采樣得到的,然后在 channel 維度進行拼接,最后再進行卷積操作,Focus 模塊減少了卷積的成本,以 reshape tensor 的巧妙方法實現下采樣并增加 channel 維度,減少了 FLOPs 并提升了速度。

  C3 模塊參照 CSPNet 結構[23]將一個階段中基礎層的特征圖分成兩部分,拆分和合并策略被跨階段使用,較好地減少了信息集成過程中重復的概率,由于重復梯度信息的減少,YOLOv5 網絡能夠有更好的學習能力,推理計算也有一定的減少。YOLOv4 中也使用了 CSP 模塊,但 YOLOv5 中做出創新,以有無殘差邊為區分標準設計了兩種 CSP 模塊,分別為 CSP-False 和 CSP-True,以 shortcut 的取值 False 或 True 來控制改變。

  加入 SPP 模塊[24]至 CSP 模塊之后,使用組合的 3 個多尺度最大池化層,幾乎可以沒有速度損失地大幅度提升了感受野,提取出最重要的特征,同時也有效降低了直接將圖片進行伸縮可以會出現的圖片信息丟失的可能性,進一步提升模型精度。

  Head 部分里,通過將高層的特征信息通過上采樣的方式與低層特征信息進行傳遞融合,實現自頂向下的信息流動,再通過步長為 2 的卷積進行處理,將底層特征與高層特征進行 Concat 操作,使底層分辨率高的特征容易傳到上層去,從而實現了 PANet [25]操作,更好地將底層與高層特征優勢互補,有效解決多尺度問題。

  YOLOv5 網絡結構圖如圖 2 所示。

  1.2 改進的 GhostBottleneckCSP

  GhostNet 提出了一個創新性的 Ghost 模塊,通過廉價操作生成更多的特征圖,這一全新的神經網絡基本單元成功得實現以更少的參數量和計算量得到更多的特征圖[26]。該模塊的實現分為兩個部分,一個是普通卷積,一個是更為廉價的線性操作,先通過有限的普通卷積得到一部分特征圖,再將這里得到的特征圖通過線性操作生成更多特征圖,最后將兩組特征圖在指定維度拼接起來。其操作原理如下圖 3 所示。

  普通卷積層的運算可以表示為: Y X* = + ω b (1) 其 中 c h w ? ? X R ?代 表 卷 積 輸 入 , c 指輸入 channel 數量, h 及 w 分別指輸入特征圖高度和寬度。而 h w n ?? ?? Y R ?表示輸出為 n 個高度和寬度分別為 h?和 w ?的特征圖, c k k n ??? ω?R 代表進行卷積運算的是 c n ?個大小為 k k ?的卷積核, b 是偏差項,逐點加至輸出特征圖每個小單元。分析可得出公式(1)運算的 FLOPs 多達 h w n c k k ?? ? ? ?? ?。而 Ghost 結構進行少量的普通卷積運算,采用線性運算高效實現減少特征冗余,更少計算量地得到同樣多的特征圖。

  由上圖 3(b)可以看出 Ghost 結構運算可以表示為 Y X ? = *ω? (2) = ? ? Φi j , ( ), 1, , 1, i m j s ? ? ? ? ' Y Y ij i (3) 其中 h w m ? ? ? ? Y R ??代表對輸入 X 進行卷積操作得到 m 個特征圖,這里 m n ?,省略了偏置項,按照公式(2)運算,FLOPs 為 h w m c k k ?? ? ? ?? ?。該 Ghost 模塊最后要得到 n 個特征圖,故公式(3)要通過線性操作生成 n m− 個特征圖,設 Y?中的每一個特征圖都需要生成 s 個特征圖。 ' Yi 表示在 Y?中的第 i 個特征圖, Φi j , 是每一個 ' Yi 用于生成第 j 個 Ghost 特征映射 Yij 的第 j 個線性操作, Φis, 實現內在特征映射的 identity 映射,即圖 3(b)中的直接拼接操作,公式 (2)、(3)依次運行就能實現 Ghost 模塊。

  出于提高處理速度的目的,考慮到設備部署時的實用性,比起使用具有不同的形狀和參數的線性運算,作者建議全部使用 3 3 ?或 5 5 ?的相同線性運算,設線性運算內核大小為 d d ?,則可以將 Ghost 模塊與普通卷積的計算量進行比較,得出提升程度,如下公式(4)所示。 ( ) s h w n c k k compare h w c k k m d d h w n m ? ? ? ? ? = ? ? ? ? ? + ?? ?? ? ?? − ?? ? ( 1) h w n c k k n n h w c k k d d h w s s s ? ? ? ? ? = ? ? ? ? ? + ? ? ? ?? ?? ? ? ? ? − 1 1 c k k s c k k d d s s ? ? = − ? ? ? + ? ? 1 c s c s ?? + − ? s (4) 這里 k k ?與 d d ?大小相同,且 s c ,故最終化簡可以得到普通卷積的計算量近似為 Ghost module 的 s 倍,參數量計算類似,最終也可以近似化簡為 s 。從理論上可以定量地證明 Ghost 模塊的優越性,故以 Ghost 模塊為基礎,進而設計 GhostBottleneck 及 GhostBottleneckCSP 模塊,具體結構如圖 4 所示。

  圖 4 中的 1 c 與 2 c 分別指輸入和輸出特征圖通道數, h 和 w 代表意義與前文相同。在本文中,先使用如圖 4(a) 1 1?的普通卷積將通道數降至輸出通道數的 1⁄2,再根據得到的特征圖進行大小為 5 5 ?的深度卷積,最后將兩組特征拼接。圖 4(b)第一個 Ghost module 先將輸出通道降為目標輸出通道的一半,再由第二個 Ghost module 將通道數恢復至目標輸出通道數,并與殘差邊傳來的輸入特征圖逐點相加進行特征融合。如圖 4(c)所示。使 用 GhostBottleneck 替 換 掉 YOLOv5 中所有的 Bottleneck 模 塊 , 與 C3 模 塊 形 成 新 的 GhostBottleneckCSP。原 Bottleneck 由 1 1?和 3 3 ?標準卷積組成,新結構通過替換掉原來 Bottleneck 中較多的 3 3 ?標準卷積,實現計算量的減少與模型大小的壓縮,理論上這種方法是完全可行的。

  1.3 ShuffleConv

  當前優秀的輕量級網絡絕大部分都使用組卷積或深度可分離卷積來降低卷積操作所產生的計算量,但是為了實現通道間特征融合,這些過程中使用的 1 1?卷積在整個卷積過程中占有較多的計算量,為了緩解這一問題, ShuffleNet[10]提出了通道混洗的概念。在進行組卷積后,使用通道混洗就可以實現組間信息的流通,以更加經濟的方式增強了特征的表達能力。通道混洗并不復雜,可以通過張量的常規操作得以實現,具體如圖 5 所示。

  圖 5 中的數字是對輸入通道進行的編號,從 1~6,使 用 Reshape 操作將通 道擴展為兩 維,并對通 過 Transpose 實現擴展出的兩個維度置換,這個操作就能夠實現在不增加計算量的情況下,使組卷積通道之間信息融合,最后 Flatten 操作,將兩個維度復原為原來的初始維度,完成通道混洗。基于如上原理,我們可以認為一個逐點卷積可以使用一個 1 1?組卷積和一個通道混洗操作組合代替,組卷積與標準卷積相比,參數量與計算量有較大減少,且從某個角度來說組卷積有類似正則的作用,可以降低過擬合發生的概率。

  出于這些優點,本文以此原理為基礎對 YOLOv5 中 6個大小為 3 3 ?和2個大小為 1 1?的Conv模塊中的普通卷積操作做出改進,將原來的普通卷積更換為組卷積和通道混洗模塊,理論上可以實現模型的進一步壓縮。

  2 YOLOv5 增強網絡模型

  2.1 YOLOv5 增強網絡結構

  YOLOv5 算法本身非常優秀,隨著其版本的迭代更新,網絡各個模塊對物體檢測中的常見問題都做了一定的優化改進,本身就具有較好的工程實用性,選擇其作為口罩檢測模型的基準網絡是可行的。但是從目前研究和應用情況來看,YOLOv5 仍可以進行進一步的改進,結合 2.2 及 2.3 節的介紹,可以得到本文改進后的 YOLOv5 網絡整體結構如表 2 所示。

  表 2 中 From 列的-1 是指輸入來自上一層輸出,Arguments 列的值分別代表該模塊的輸入通道數、輸出通道數、卷積核大小和步長信息,Module 列中的 GhostBottleneckCSPn 模 塊 中 的 n 代表該模塊內 GhostBottleneck 的數量,經過計算,改進后的 YOLOv5 模型總計 367 層,2419191 個 parameters,計算量為 5.5 GFLOPs 。 初 始 的 YOLOv5 模 型 共 計 7066239 個 parameters,計算量為 16.4 GFLOPs,兩者比較,優化后的模型參數量減少為原來的 34.24%,計算量減少為原來的 33.54%,實現了對原模型進行較大程度的壓縮。

  2.2 損失函數

  模型損失函數由分類損失(classification loss)、定位損失(localization loss)和目標置信度損失(confidence loss) 組成。YOLOv5 使用二元交叉熵損失函數計算類別概率和目標置信度得分的損失,通過實驗,本文在 GIOU Loss[27]和 CIOU Loss [28]之間,最終選定效果略好的 CIOU Loss 作為 bounding box 回歸的損失函數,CIOU Loss 公式如下所示。 2 1 2 2 1 d CIOU Loss IoU d ??? ? = − − − ? ? ? ? ? ? (5) 其中 (1 IoU ) ??? = − + , 1 1 2 2 4 (tan tan ) π gt gt W W h h ? − − = − , 1 d 代表預測框與目標框兩個中心點的歐式距離, 2 d 代表最小外接矩形的對角線距離。 gt gt W h 和 W h 分別代表目標框和預測框各自的的寬高比。CIOU Loss 較 GIOU Loss 考慮了邊界框寬高比的尺度信息,從重疊面積、中心點距離和長寬比三個角度進行衡量,使得預測框回歸的效果更佳。

  2.3 本文整體實現

  2.3.1 模型訓練算法

  算法:模型訓練算法

  輸入:人臉口罩數據集圖片及標記文件初始化參數:訓練時代數、學習率、批次大小、輸入圖片大小、網絡模型配置 yaml 文件、標簽與 anchor 的 IoU 閾值、損失的系數、數據增強的系數、標簽與 anchor 的長、寬比閾值圖片預處理:調整圖片亮度、對比度、飽和度和 Mosaic 處理 1. 準備數據,制作數據集并劃分訓練集、驗證集; 2. 加載數據配置信息及初始化參數,輸入數據并對其進行預處理;3. 加載網絡模型,并對輸入圖片進行特征提取及物體定位分類; 4. 隨著迭代次數的增加,使用 SGD 對網絡中各組參數進行更新優化; 5. 若當前 epoch 不是最后一輪,則在驗證集上計算當前模型的 mAP,若計算得到的模型性能更佳,便更新存儲的最佳的模型; 6. 訓練完設置的時代數后,獲得訓練好的最優性能模型和最近一次訓練模型。輸出:本次訓練中性能最佳的檢測模型。

  2.3.2 整體實現流程

  本文整體處理流程如下圖 6 所示,首先是準備數據,進行人臉口罩佩戴圖片篩選及標記,制作數據集并隨機劃分訓練集、驗證集、測試集。接著按照 2.3.1 中描述的算法進行模型訓練,得到性能最佳的人臉口罩佩戴檢測模型,之后對測試集數據進行測試,并在測試圖片上畫出最終識別結果具體,即人臉位置和佩戴口罩狀態。

  3 實驗及結果分析

  3.1 實驗環境及數據集介紹

  本文實驗機器操作系統版本為 Ubuntu 9.3.0-10ubuntu2,CPU 型號為 Intel(R) Core(TM) i3-9100F CPU @ 3.60GHz,GPU 型號為 GeForce RTX 2080 Ti, 顯存大小 11GB,內存大小 31GB。所有模型基于 Pytorch 1.8,并使用 cuda 10.1 和 cudnn 7.6.5 對 GPU 進行加速。

  本文中使用的數據集來自 AIZOO 團隊整理的開源數據集,該數據集主要從WIDER Face及MAFA 公開數據集中篩選得到,分別選擇了 3894 張及 4064 張圖片。在此基礎上對其進行了二次篩選及擴充,刪除錯誤標簽,加入部分 ROBOFLOW 開放的口罩數據集,最終得到訓練集 6110 張,驗證集 1832 張,共計 7942 張。預定義為兩類,佩戴口罩和未佩戴口罩,佩戴口罩標簽為 face-mask,未佩戴口罩為 face。

  為了避免出現用手或衣物捂嘴此類動作被預測為佩戴口罩,數據集中特地加入了嘴巴被手或衣物等其他物品捂住的數據,有效過濾避免了此類干擾。數據集部分圖片如下圖 7 所示。

  通過對數據集進行分析,得到可視化結果,如下圖 8 所示。圖 8(b)中 x、y 是指中心點的位置,顏色越深代表該點位置目標框的中心點越集中,圖 8(c) 中 width、height 分別代表圖片中物體的寬高。

  從圖 8(b)和圖 8(c)可以看出數據集物體分布比較均勻,且中小物體占比更大,存在物體間遮擋的情況,符合日常實際應用場景,但其存在輕微的類別間樣本不平衡的問題,該問題將在數據預處理中得到緩解。

  3.2 數據預處理

  3.2.1 數據集標記

  數據集格式為 PASCAL VOC 格式,但 YOLOv5 所需為 YOLO 格式的 txt 標記文件,具體格式為 (class_id,x,y,w,h),且都是歸一化后的值,所以需要做相應的轉換。具體運算規則如下所示。 / center x x width = (6) / center y y height = (7) ( ) / w x x width = − max min (8) ( ) / max min h y y height = − (9) 其 中 id class 為類別的 id 編號, max max min min x y x y , , ,分別指 VOC 格式的 xml 標記文件中,相對于圖片左上角,標記物體所在位置的左上角坐標及右下角坐標的值。

  3.2.2 自適應圖片采樣

  本文所用數據集存在輕微類間不平衡,這也是物體檢測的一個常見問題,模型訓練時樣本過少的類別的參考性較小,可能會使模型主要關注樣本較多的類別,模型參數也主要根據樣本多的類別的損失進行調整,最終導致少樣本類別精度有所下降。

  為了解決這個問題,本文采用自適應圖片采樣策略,根據物體類別的數量占比及每張圖片中各類物體出現頻數,綜合考慮生成每張圖片的采樣權重,再根據圖片的采樣權重生成采樣索引序列,類別數量和頻數與類別權重成反比,若某張圖片頻數最高的類別的數量占比也較其他類別更高,這張圖片被采樣的概率就會較小,通過這種采樣方式可以有效緩解類間不平衡問題。

  3.2.3 anchor 的設置

  對于目標檢測,設置合適的 anchor 直接影響到最終模型的表現。合適的 anchor 是根據數據集物體大小而確定的,利用預設值 anchor 基于 shape 閾值對 bbox 計算最好可能的召回率。如果召回率大于 0.98,則不用優化,直接返回,如果小于 0.98,則利用遺傳算法與 k-means 重新設置 anchor。本文在人臉口罩數據集上最好可能召回率為 0.9978,故使用 YOLOv5 初始 anchor 值?10,13,16 30,? , 33,23? 、?30,61,62,45,59,119?和?116,90,156,198,373,326?。

  3.2.4 Mosaic 數據增強

  Mosaic 數據增強參考 CutMix[29],提出了這樣創新的數據處理方式:隨機選取四張圖片,并對其進行隨機裁剪、隨機排布和隨機縮放的方式進行拼接。得到效果圖如下圖 9 所示。這種方式隨機擴充了數據集,特別是隨機縮放增加了小目標,使得網絡的魯棒性得到一定提升。另一方面經過 Mosaic 數據增強后相當于一次性處理了四張圖片,batch-size 隱性增加,初始設置的 batch-size 值可以無需很大也可以得到一個不錯的模型,對 GPU 性能要求相對降低。

  除此之外,還進行了改變亮度、對比度、飽和度等常規數據增強方法,與 Mosaic 組合,在一定程度上有效防止了過擬合,能夠實現更長時間的訓練獲得更優的模型性能。

  3.3 實驗及結果分析

  本文所有實驗學習率均使用 Warmup[30]訓練預熱,避免模型訓練時初始學習率過高引起模型振蕩,以便維持模型深層的穩定性。在 Warmpup 階段,采用一維線性插值對每次迭代的學習率進行更新,bias 層的學習率從 0.1 下降到基準學習率 0.01,其他的參數學習率從 0 增加到 0.01。在 Warmpup 階段之后,采用余弦退火算法[31]來對學習率進行更新。實驗中 BN 層、權重 weight 層和 bais 層的學習率分別為 lr0、 lr1、lr2,所有實驗均訓練 300 個 epoch,batch-size 設為 32,學習率的變化如圖 10 所示,其中 lr0 及 lr1 曲線變化相同。

  所有實驗結果從 mAP@0.5、mAP@0.5:0.95、召回率 recall、準確率 Precision、平均檢測處理時間、參數量、計算量和模型大小 8 個角度綜合進行衡量,上述衡量標準具體計算公式如下。

  其中公式(10)、(11)中的 TP、FP 和 FN 分別指正確檢驗框、誤檢框和漏檢框數量。AP 值為 P-R 曲線面積,本文采用的是 101 個插值點的計算方法,考慮得更為精細。公式(13)中的 N 指檢測類別總數,本文為 2。mAP@0.5 是指 IoU 設為 0.5 時所有類別的平均 AP,mAP@0.5:0.95 是指在不同 IoU 閾值上的平均 mAP,IoU 取值從 0.5 到 0.95,步長為 0.05。平均檢測處理時間包括網絡推理時間及 NMS 處理所花費的時間,模型大小是指最終訓練結束得到保存的模型大小。

  3.3.1 在人臉口罩數據集上的實驗結果

  通過消融實驗來逐步驗證網絡結構改變所引起的性能變化,三個實驗分別訓練了 YOLOv5、 Ghost-YOLOv5和Ghost-YOLOv5-Shuffle三個網絡,通過名稱可以與前文中所說的結構變化一一對應。實驗過程和實驗測試結果分別如下圖 11、12 和表 3 所示,其中曲線亮度依次遞增分別代表 YOLOv5、 Ghost-YOLOv5 和 Ghost-YOLOv5-Shuffle。

  表 3 可以看出使用 GhostBottleneck 進行替換后,模型計算量和參數量分別壓縮為原來的 63.41% 和 68.98%,在使用 GPU 或 CPU 的情況下分別有 13.64%和 16.37%的速度提升,并且模型大小變為原來的 69.34%,但同時,在圖 11(c)中也可以看出模型精確度有了明顯損失,且波動更為劇烈,這在驗證集的類別損失曲線中也有所體現,所幸在訓練后期,模型與 YOLOv5 之間精確度的差值較初期有所下降,除此之外,由圖 12 可知,Ghost-YOLOv5 最終所有類別的平均 AP 較 YOLOv5 僅下降 0.3%。

  在繼續將標準卷積替換為 ShuffleConv 后,模型計算量和參數量進一步分別壓縮為原來的33.54%和 34.24%,在使用 GPU 情況下速度仍然保持 1.9ms 不變,但 CPU 速度較 YOLOv5 提升了 28.25%,模型大小壓縮至原來的 35.77%。對于 GPU 情況下速度沒有提升的結果也是在預料之中,在算力足夠的 GPU 平臺上,組卷積雖然降低了運算量和參數量,但是由于內存交換速度的限制,ShuffleConv 的瓶頸并非是計算強度,故此模塊對 GPU 環境下的影響微乎其微,但當在計算能力有限的 CPU 平臺上,計算速度便會有相當的提升,更為適合部署在資源有限的嵌入式設備之上。再者,Ghost-YOLOv5-Shuffle 在 Ghost-YOLOv5 的基礎上精度有所提升,從各個衡量標準來看都與 YOLOv5 的檢測能力更加貼近,且從分類損失曲線來看,在一定程度上證實了組卷積的正則化效果,由圖 12 可知最終 mAP@0.5 為 0.95,較 YOLOv5 的 0.951,幾乎沒有精度下降,且各類間差值都在 0.003 的范圍之內。

  YOLOv5s 與 Ghost-YOLOv5-Shuffle 實際運行效果圖如下圖 13 所示,左邊圖片為 YOLOv5,右邊圖片為 Ghost-YOLOv5-Shuffle。

  通過圖 13 中不同場景的實際檢測效果對比可以看出改進后的模型在進行非極小物體的識別時與基準模型幾乎沒有區別,面對分布極為密集的模糊小物體時,基準模型要比改進后的模型略微精確,但絕大部分小物體還是能夠正確識別。

  3.3.2 不同網絡的對比實驗

  為了進一步驗證本文提出模塊及網絡的高效性,將其與同類輕量級網絡 YOLOv3-tiny 、 YOLOv4-tiny 等重要經典網絡進行對比,得到結果如下表 4 所示,表中對 7 個不同模型進行了多角度對比分析,根據序號分組進行對比,從多維度證明了本文觀點。其中實驗(5)、(6)Model 項中的括號里的數字代表模型中前三個 GhostBottleneckCSP 中 GhostBottleneck 的個數。

  首先由實驗(0)、(2)、(4)、(6)對比可以看出本文提出模型相較 YOLOv3-tiny、YOLOv4-tiny、 YOLOv5-P6 具有絕對的優勢。其模型大小分別僅為上述模型的 30.12%、40.65%和 20.9%,但 mAP 明顯大于 YOLOv3-tiny 、 YOLOv4-tiny ,且與 YOLOv5-P6 的 mAP@0.5 大小相同,結合表格,可得出選擇本文提出網絡結構進行人臉口罩佩戴檢測是合理且經濟的。

  其次通過實驗(0)、(1)和實驗(2)、(3)兩組對比實驗可以證明GhostBottleneckCSP和ShuffleConv模塊在 其 他 網 絡 上 的 優 化 通 用 性 , 加 入 GhostBottleneckCSP 和 ShuffleConv 模 塊 的 YOLOv3-tiny 模型大小僅為原模型的 8.43%,大量的 3 3 ?和 1 1?標準卷積被替換實現了模型的極限壓縮,且由于加入了更加高效的 CSP 模塊,實驗(1) 的 精 度 較 原 模 型 也 有 了 明 顯 的 提 升 。 同 理 , YOLOv4-tiny 之上做類似替換也能實現模型壓縮及精度提升,且在 CPU 上的推理速度也增加了 27.13%,具體性能增強數據見表格實驗(2)、(3)對比。最 后 , 通 過 實 驗 (5) 、 (6) 說 明 適當調整 GhostBottleneckCSP 中的 GhostBottleneck 數量能夠在一定程度上增加模型對小物體的檢測能力,在本文 提 出 模 型 的 基 礎 上 , 將 第 二 個 和 第 三 個 GhostBottleneckCSP 中的 GhostBottleneck 數量分別設為 1 和 3,對應實驗(2)、(3),更大數量的模型精度有輕微地提升,且對小物體的檢測能力更強。在實 際 應 用 場 景 中 可 根 據 任 務 需 要 適 當 調 整 GhostBottleneck 模塊數量,達到模型大小與精度之間的巧妙平衡,實現更好的檢測性能。

  4 結束語

  本文設計并實現了輕量化的 YOLOv5 增強網絡模型,該模型可以壓縮并加快推理速度,模型精度得到最大限度的優化,同時極大減輕了對硬件環境的依賴,能滿足實際應用需求。后續工作將解決如何高效進行移動端的模型部署,在實際應用中驗證并完善所提模型;同時將口罩佩戴與其他關聯特征相結合,實現實用性更強的安全衛生監督系統,以更好滿足社會實際需求。

主站蜘蛛池模板: 啊…嗯啊好深男男小黄文 | 永久免费的污视频网站 | 日本伦理片 中文字幕 | 暖暖视频大全免费观看 | 男人电影天堂手机 | 亚洲精品一二三 | 乱淫67194 | 日韩一区精品视频一区二区 | 成年视频xxxxxx在线 | 日日踫夜夜爽无码久久 | av老司机色爱区综合 | 亚洲精品国产在线观看 | 绿巨人www | 日韩精品欧美在线视频在线 | xxx军人3p大gay | 雪恋电影完整版免费观看 | 人人舔人人爱 | 美女屁股软件 | 伊人久久大香线蕉综合色啪 | 午夜电影三级还珠格格 | 无限资源日本2019版免费 | 色综合精品无码一区二区三区 | 中俄两军在日本海等上空战略巡航 | 黑色丝袜美女被网站 | 狠狠色丁香婷婷久久综合五月 | 国产二区自拍 | 欧美亚洲国产手机在线有码 | 久久精品国产色蜜蜜麻豆国语版 | 一级毛片免费视频网站 | 操中国老太太 | 超碰超碰视频在线观看 | 高h乱np甄宓 | 欧美xxxx性喷潮 | 亚洲人成人77777在线播放 | 毛片免费在线视频 | 饱满奶大30p | 扒开老师大腿猛进AAA片 | 中文文字幕文字幕亚洲色 | 国产精品久人妻精品 | 一本道色播 | 欧美性猛交XXXX乱大交极品 |