亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于改進(jìn)YOLOv5的口罩佩戴檢測算法

        2022-03-01 01:21:02葉增爐
        池州學(xué)院學(xué)報 2022年6期
        關(guān)鍵詞:口罩損失卷積

        葉增爐

        (銅陵學(xué)院 a.數(shù)學(xué)與計算機(jī)學(xué)院;b.信息技術(shù)與工程管理研究所,安徽 銅陵 244000)

        當(dāng)前疫情防控形勢嚴(yán)峻復(fù)雜,而防控新冠病毒的最有效手段之一就是戴口罩,口罩不僅可以防止病人噴射飛沫,降低飛沫量和噴射速度,還可以阻擋含病毒的飛沫核,防止佩戴者吸入。為了在公共場所(如商城、機(jī)場、車站、醫(yī)院等)實現(xiàn)安全防疫和高效監(jiān)管的目標(biāo),有必要采取智能化的目標(biāo)檢測技術(shù)對公共場所口罩佩戴進(jìn)行檢測。因此研發(fā)一種口罩佩戴檢測算法具有極為重要的現(xiàn)實意義。

        目前檢測算法大多基于卷積神經(jīng)網(wǎng)絡(luò),主要分為兩大類,一類是以R-CNN[1]系列,包括fast RCNN[2]、faster R-CNN[3]、Mask R-CNN[4]等為代表的two-stage檢測算法,該類算法在特征提取的基礎(chǔ)上,由獨立的網(wǎng)絡(luò)分支先生成大量的候選區(qū),再對其進(jìn)行分類和回歸。另一類是以YOLO系列、SSD[5]系列算法為代表的one-stage檢測算法,該類算法在生成候選框的同時進(jìn)行分類和回歸。其中onestage算法檢測速度最快,但精確度較低;two-stage檢測算法是以犧牲檢測速度為代價,實現(xiàn)較高的檢測精度。目標(biāo)檢測任務(wù)會根據(jù)應(yīng)用場景的不同而選擇合適的檢測算法,口罩佩戴檢測是一個目標(biāo)檢測任務(wù),需要確定每個目標(biāo)在圖像中的位置和類別,對檢測的實時性要求較高,改進(jìn)型的YOLOv5算法以目前最優(yōu)的one-stage目標(biāo)檢測算法YOLOv5為基礎(chǔ)進(jìn)行研究。

        針對口罩佩戴檢測這一特定問題,目前國內(nèi)外有許多學(xué)者進(jìn)行了研究。金鑫等[6]將YOLOv4主干網(wǎng)絡(luò)中的CSPDarknet53替換成Mobilenet提高識別速度,減少模型參數(shù)。郭磊等[7]將注意力機(jī)制引入YOLOv5網(wǎng)絡(luò)進(jìn)行口罩佩戴檢測,對口罩佩戴的檢測準(zhǔn)確率能達(dá)到92%。魏明軍等[8]將SENet引入特征融合過程,并引入CIoU損失作為邊框回歸損失函數(shù),增加了復(fù)雜環(huán)境下的口罩佩戴檢測效果和魯棒性??梢钥闯觯谡峙宕鳈z測問題得到了持續(xù)廣泛的研究,然而現(xiàn)有算法在提高口罩小目標(biāo)檢測精度的同時都一定程度上犧牲了檢測速度,其在光線昏暗、人群密集等復(fù)雜條件下,其檢測精度仍有待提高。

        為此,本文提出了一種基于改進(jìn)YOLOv5的口罩佩戴檢測算法。首先利用圖像增強(qiáng)算法對圖片進(jìn)行預(yù)處理,將YOLOv5網(wǎng)絡(luò)中的SPP模塊替換成SPPF結(jié)構(gòu),同時減少網(wǎng)絡(luò)中C3模塊的重復(fù)次數(shù),從而提高識別速度,減少模型參數(shù);其次,使用K-means++聚類算法對Anchor box進(jìn)行優(yōu)化,使其更適合對自定義數(shù)據(jù)集上小目標(biāo)的框定,能夠提升網(wǎng)絡(luò)的檢測精度;最后,對YOLOv5網(wǎng)絡(luò)的損失函數(shù)進(jìn)行相應(yīng)的改進(jìn),采用交叉熵?fù)p失函數(shù)能使得網(wǎng)絡(luò)中的參數(shù)更新加快,讓模型更快地達(dá)到收斂狀態(tài)。

        1 相關(guān)工作

        1.1 YOLOv5網(wǎng)絡(luò)

        YOLO系列是一個基于端到端的目標(biāo)識別定位的一系列算法,通過一個CNN網(wǎng)絡(luò)就可以輸出物體的類別以及物體的位置。其特點是運行速度快,且檢測精度好,適用于實時檢測系統(tǒng)。YOLOv1[9]網(wǎng)絡(luò)借鑒了GoogLeNet分類網(wǎng)絡(luò)結(jié)構(gòu),將目標(biāo)檢測問題看作空間上的多個邊界框和與邊界框?qū)?yīng)類別概率的回歸問題。隨后,YOLOv2[10]引入了faster R-CNN中anchor box的思想,采樣k-means在訓(xùn)練集標(biāo)注的bbox上進(jìn)行聚類產(chǎn)生合適的先驗框,使得模型的表示能力更強(qiáng),任務(wù)更容易學(xué)習(xí)。并對網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計進(jìn)行了改進(jìn),提出了一種新的高分辨率圖像微調(diào)分類模型Darknet-19,在識別種類、精度、速度和定位準(zhǔn)確性等方面都有很大提升。YOLOv3[11]使用Darknet53網(wǎng)絡(luò)作為骨干網(wǎng)絡(luò)完成對圖像的特征提取,并借鑒了特征金字塔的思想,利用不同尺度的特征圖來進(jìn)行對象檢測,加速了目標(biāo)檢測在工業(yè)界的落地。YOLOv4[12]結(jié)合了近幾年最新研究技術(shù)設(shè)計了一種強(qiáng)大而高效的目標(biāo)檢測模型,實現(xiàn)了速度和精度的完美平衡,提出了backbone、neck、head的目標(biāo)檢測通用框架套路。YOLOv5與YOLOv4相比,結(jié)構(gòu)更加小巧,配置更加靈活,圖像推理速度更快,能夠更好地滿足視頻圖像實時性檢測的需求。

        YOLOv5算法是目前one-stage檢測YOLO算法中最先進(jìn)的檢測算法,是在YOLOv3和YOLOv4算法的基礎(chǔ)上進(jìn)行算法集成創(chuàng)新,提高了檢測速度。

        首先采用Mosaic數(shù)據(jù)增強(qiáng)的方式將輸入圖片隨機(jī)縮放、裁剪、排布后進(jìn)行拼接,再將拼接后圖像送入Backbone網(wǎng)絡(luò)的Focus模塊進(jìn)行特征提取。Mosaic數(shù)據(jù)增強(qiáng)對小目標(biāo)檢測效果較好,適用于本文的檢測模型。

        Focus模塊將原始圖像數(shù)據(jù)切分為4份數(shù)據(jù),接著在通道維度上進(jìn)行拼接,最后進(jìn)行卷積操作。以yolov5s為例,原始的640×640×3的圖像輸入Focus結(jié)構(gòu),采用切片操作,先變成320×320×12的特征圖,再經(jīng)過一次卷積操作,最終變成320×320×32的特征圖。這一過程將圖片長、寬維度上的信息集中到了通道維度,沒有造成信息的丟失,但Focus模塊減少了卷積的成本。YOLOv5中使用了SPP(spatial pyramid pooling)模塊、FPN(feature pyramid network)模塊、PAN(path aggregation network)模塊完成信息的傳遞融合。Head輸出層主要利用之前提取的特征做出預(yù)測。圖1為YOLOv5算法的網(wǎng)絡(luò)結(jié)構(gòu)圖。

        圖1 YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)

        1.2 C3模塊

        Backbone的C3對網(wǎng)絡(luò)進(jìn)行局部跨層融合,SPP模塊極大地增加了感受野,head部分同樣采用多尺度輸出。因為這些特點,在小目標(biāo)檢測任務(wù)上,YOLOv5在檢測速度和精度上都能取得很不錯的效果。

        在新版yolov5中,作者將BottleneckCSP(瓶頸層)模塊轉(zhuǎn)變?yōu)榱薈3模塊,其結(jié)構(gòu)作用基本相同,均為CSP架構(gòu),只是在修正單元的選擇上有所不同,其包含了3個標(biāo)準(zhǔn)卷積層以及多個Bottleneck模塊(數(shù)量由配置文件.yaml的n和depth_multiple參數(shù)乘積決定)。

        C3相對于BottleneckCSP模塊不同的是,經(jīng)歷殘差輸出后去掉了Conv模塊,concat后的標(biāo)準(zhǔn)卷積模塊中的激活函數(shù)也由LeakyRelu變?yōu)榱薙iLU。

        該模塊是對殘差特征進(jìn)行學(xué)習(xí)的主要模塊,其結(jié)構(gòu)分為兩支,一支使用了上述指定多個Bottleneck堆疊和3個標(biāo)準(zhǔn)卷積層,另一支僅經(jīng)過一個基本卷積模塊,最后將兩支進(jìn)行concat操作。圖1的YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)C3模塊如圖2所示。

        圖2 C3模塊構(gòu)成

        1.3 SPP模塊

        SPP結(jié)構(gòu)又被稱為空間金字塔池化,能將任意大小的特征圖轉(zhuǎn)換成固定大小的特征向量。SPP先通過一個標(biāo)準(zhǔn)卷積模塊將輸入通道減半,再分別采用13x13,9x9,5x5的卷積核進(jìn)行最大池化操作(對于不同的核大小,padding是自適應(yīng)的),接著再將SPP的輸入經(jīng)過1x1的卷積核后的輸出與經(jīng)過三次不同大小卷積核最大池化之后的輸出進(jìn)行concat,實現(xiàn)信息融合,得到了極大增加感受野的效果。

        而在YOLOv5中SPP的結(jié)構(gòu)如圖3所示:

        2 改進(jìn)后的網(wǎng)絡(luò)模型

        對YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),將Focus模塊用一個conv卷積替代主要是為了方便模型導(dǎo)出使用SPPF代替SPP層,減少了C3模塊的重復(fù)次數(shù),并對部分模塊重新排列。改進(jìn)的YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。

        圖4 改進(jìn)的YLOv5網(wǎng)絡(luò)結(jié)構(gòu)

        2.1 SPPF結(jié)構(gòu)

        SPPF(Spatial Pyramid Pooling–Fast縮寫),使用3個相同的5×5卷積核進(jìn)行最大池化操作,第二個最大池化操作是在第一個池化操作基礎(chǔ)之上,代替SPP結(jié)構(gòu)中的卷積核為9×9最大池化操作,第三個在第二個基礎(chǔ)之上,替代SPP結(jié)構(gòu)中的卷積核為13×13最大池化操作。這種結(jié)構(gòu)保證了準(zhǔn)確度相似的情況下,減少計算量,并提高檢測速度。SPPF結(jié)構(gòu)如圖5所示。

        圖5 SPPF結(jié)構(gòu)

        2.2 Anchor box優(yōu)化

        YOLOv5網(wǎng)絡(luò)模型在識別過程中引入候選區(qū)域框(Anchor box),候選區(qū)域框為具有固定大小和高寬比的初始區(qū)域。在模型訓(xùn)練過程中,若候選區(qū)域框大小靠近事實邊緣界,則模型會更方便訓(xùn)練,預(yù)測的邊框界會更接近事實邊緣界。在初始狀態(tài)下,候選區(qū)域框大小的設(shè)置將會決定目標(biāo)識別的速度和準(zhǔn)度。本文采用K-means++算法對口罩?jǐn)?shù)據(jù)集目標(biāo)的Anchor box進(jìn)行聚類分析得到9個新的Anchor box。與原有的YOLO_anchor相結(jié)合,以mAP作為聚類的評價標(biāo)準(zhǔn),得出適合本數(shù)據(jù)的Anchor box,其寬和高分別是(401,459)、(192,243)、(135,172)、(72,146)、(55,76)、(36,75)、(40,28)、(19,36)、(12,16)。使用此Anchor box最終得mAP結(jié)果比使用原有的YOLO_anchor高出0.7%。

        2.3 損失函數(shù)

        在目標(biāo)檢測中,損失函數(shù)通常由矩形框損失(lossrect)、置信度損失(lossobj)、分類損失(lossclc)三個部分組成。常見的計算矩形框損失函數(shù)有 GIOU Loss[13]、DIOULoss[14]和 CIOU Loss[15],經(jīng)過對比實驗,本文使用CIOU Loss來計算目標(biāo)框的定位損失,如式(1)所示。

        上式中,預(yù)測的矩形框為(xp,yp,wp,hp),對應(yīng)的目標(biāo)矩形框為(xl,yl,wl,hl),IOU是預(yù)測框與目標(biāo)矩形框的重疊面積。ρ為預(yù)測框和目標(biāo)框的中心點距離,c為預(yù)測框和目標(biāo)框的最小包圍矩形的對角線長度,v為預(yù)測框與目標(biāo)框的寬高比相似度,α為v的影響因子??梢钥闯鯟IOU Loss不僅考慮了預(yù)測框與目標(biāo)框的重疊面積,還兼顧了兩者中心點之間的距離和兩者的長寬比,因此在口罩佩戴檢測實例中,比其他兩種定位損失更好。

        針對置信度損失和分類損失,實驗中采用交叉熵?fù)p失(BCE loss)函數(shù)進(jìn)行計算。

        改進(jìn)的yolov5算法用Kmeans++聚類算法獲取九個anchor框,將輸入圖像劃分成N×N(通常為80×80、40×40、20×20)的網(wǎng)格,yolov5對每個格子預(yù)測3個不同位置和大小的矩形框。根據(jù)標(biāo)簽信息和一定規(guī)則判斷每個預(yù)測框內(nèi)是否存在目標(biāo),如果存在則將mask矩陣中對應(yīng)位置的值設(shè)置為true,否則設(shè)置為false。實驗中對mask為true的位置不直接賦1,而是計算對應(yīng)預(yù)測框與目標(biāo)框的CIOU,使用CIOU作為該預(yù)測框的置信度標(biāo)簽。

        假設(shè)置信度標(biāo)簽為矩陣LCIOU,預(yù)測置信度為矩陣P,那么矩陣中每個數(shù)值的BCE loss的計算公式如下:

        則置信度損失定義如下:

        在計算分類損失中,為了減少過擬合,且增加訓(xùn)練的穩(wěn)定性,通常對獨熱碼標(biāo)簽做一個平滑操作。如下式,label為獨熱碼中的所有數(shù)值,β為平滑系數(shù),取值范圍0~1,通常取0.1。

        假設(shè)置標(biāo)簽概率為矩陣Lsmooth,預(yù)測概率為矩陣P,那么矩陣中每個數(shù)值的BCE loss的計算公式如下:

        則分類損失函數(shù)值的計算公式:

        總體損失為三個損失的加權(quán)和,如式(9)所示。

        通常置信度損失取最大權(quán)重,矩形框損失和分類損失的權(quán)重次之,比如:a=0.4;b=0.3;c=0.3。

        3 實驗與結(jié)果分析

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

        目前開源的口罩佩戴檢測數(shù)據(jù)集較少,實驗數(shù)據(jù)集一部分來源Mask Wearing Dataset及RMFD數(shù)據(jù)集,另一部分來源于攝像頭拍攝和網(wǎng)絡(luò)爬取搜集,并進(jìn)行標(biāo)注。實驗自制數(shù)據(jù)集共包含4200張含遮擋、密集及昏暗場所等場景的圖片。

        使用圖像增強(qiáng)技術(shù),彌補(bǔ)數(shù)據(jù)量的不足。對原始圖片進(jìn)行圖像平移、翻轉(zhuǎn)、旋轉(zhuǎn)、縮放,分離3個顏色通道并添加隨機(jī)噪聲,并引入了Mosaic,and Self-Adversarial Training(SAT)圖像增強(qiáng)方法。

        實驗采用深度學(xué)習(xí)框架PyTorch訓(xùn)練模型,操作系統(tǒng)Windows 10專業(yè)版,編程工具:pycharm。硬件環(huán)境如下:Intel Xeon E5-2630處理器、Nvidia GeForce RTX 1080Ti、32GB RAM。

        3.2 模型評估指標(biāo)

        在目標(biāo)檢測算法測試中,常用的性能指標(biāo)有平均精度均值(mAP)、召回率(recall)、精度(precision),如式(10)。mAP即所有類別的平均精度求和除以數(shù)據(jù)集中所有類的平均精度,是目標(biāo)檢測中衡量檢測精度的重要指標(biāo),召回率表示預(yù)測樣本中實際正樣本數(shù)與預(yù)測的樣本數(shù)的比值,精確率表示預(yù)測結(jié)果中預(yù)測為正的樣本中有多少是真正的正樣本的比率。在本次實驗中,TP、FP和FN分別表示正確檢測框、誤檢框和漏檢框的數(shù)量,其中APi反映了單一類別的檢測效果。

        對所有的訓(xùn)練集和測試集都進(jìn)行相同的預(yù)處理,對所有的圖片進(jìn)行放縮,并重新打了標(biāo)簽。

        網(wǎng)絡(luò)模型訓(xùn)練階段,初始學(xué)習(xí)率設(shè)置為0.001,權(quán)重衰減設(shè)置為0.005,迭代批量大小設(shè)置為16,迭代次數(shù)設(shè)置為300次,并使用Adam優(yōu)化器計算每個參數(shù)的自適應(yīng)學(xué)習(xí)率。模型訓(xùn)練過程如圖6所示,從圖中可以看出大約在200次迭代后,模型開始逐漸收斂。

        圖6 模型訓(xùn)練過程

        3.3 實驗結(jié)果對比

        實驗采用SDD、Faster R-CNN、YOLOv5和改進(jìn)型YOLOv5這四種模型對有無佩戴口罩的檢測精度、召回率、推理時間三個指標(biāo)進(jìn)行比較。其中Faster R-CNN為二階目標(biāo)檢測算法,F(xiàn)aster RCNN、YOLOv5和改進(jìn)型YOLOv5為一階目標(biāo)檢測算法。對比結(jié)果見表1。

        表1 不同模型檢測結(jié)果比較

        從表1可以看出,YOLOv5目標(biāo)檢測網(wǎng)絡(luò)在檢測時間上都要優(yōu)于其余兩種網(wǎng)絡(luò)。二階目標(biāo)檢測算法Faster R-CNN召回率優(yōu)于一階目標(biāo)檢測網(wǎng)絡(luò),但推理時間過長,不適用于實時檢測。改進(jìn)型YOLOv5的其它各項數(shù)值指標(biāo)都要優(yōu)于另三種目標(biāo)檢測網(wǎng)絡(luò),提高了對頭部區(qū)域和口罩的檢測精度。圖7為遮擋、密集和小尺度等復(fù)雜場景的檢測結(jié)果,可以看出,本文方法不僅成功地檢測出口罩佩戴的狀態(tài),并且對應(yīng)的置信度挺高,具有較強(qiáng)的魯棒性和擴(kuò)展性,基本能夠達(dá)到視頻圖像實時性的要求。

        圖7 遮擋、密集和小尺度等復(fù)雜場景的檢測結(jié)果

        4 結(jié)語

        為了提升目標(biāo)檢測的可靠性和檢測速度,將SPPF結(jié)構(gòu)引入YOLOv5模型,使用自定義的數(shù)據(jù)集,采用K-means++聚類對目標(biāo)樣本進(jìn)行錨定框大小的優(yōu)化,并對損失函數(shù)做了優(yōu)化,提出了一種改進(jìn)YOLOv5的口罩佩戴檢測技術(shù)。實驗結(jié)果表明,本文算法在保證檢測速度的同時,能夠得到更高的檢測精度,且可有效降低口罩目標(biāo)誤檢率。

        猜你喜歡
        口罩損失卷積
        少問一句,損失千金
        基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
        胖胖損失了多少元
        戴口罩的苦與樂
        意林(2020年9期)2020-06-01 07:26:22
        因為一個口罩,我決定離婚了
        海峽姐妹(2020年4期)2020-05-30 13:00:08
        從濾波器理解卷積
        電子制作(2019年11期)2019-07-04 00:34:38
        霧霾口罩
        玉米抽穗前倒伏怎么辦?怎么減少損失?
        基于傅里葉域卷積表示的目標(biāo)跟蹤算法
        要戴口罩的霧霾天
        人妻夜夜爽天天爽三区麻豆AV网站| 91l视频免费在线观看| 蜜桃视频在线观看免费亚洲| 国产精品久久久久aaaa| 狠狠久久亚洲欧美专区| 无码AV大香线蕉伊人久久| 日日高潮夜夜爽高清视频| 337p粉嫩日本欧洲亚洲大胆| 国产精品亚韩精品无码a在线| 免费国产99久久久香蕉| 国产成人一区二区三区| 国产一区二区三区日韩精品| 亚洲av成人一区二区三区| 97福利视频| 亚洲国产高清一区av| 精品免费国产一区二区三区四区| 久久精品国产亚洲av蜜臀| 亚洲欧美日韩中文v在线| 网红尤物泛滥白浆正在播放| 日韩精品人妻中文字幕有码| 天天摸日日摸狠狠添| 免费观看久久精品日本视频| 久久久亚洲成年中文字幕| 风情韵味人妻hd| 亚洲综合无码一区二区| 久久久精品人妻一区二区三区日本| 护士人妻hd中文字幕| 精品无码国产自产拍在线观看蜜| 麻豆国产成人精品午夜视频| 国产性感丝袜美女av| 精品福利一区二区三区蜜桃| 老外和中国女人毛片免费视频| 秋霞日韩一区二区三区在线观看| 亚洲免费一区二区av| 久久天天躁夜夜躁狠狠 | 精品人妻免费看一区二区三区| 亚洲国产系列一区二区| 国产精品久久久久久久妇| 91白浆在线视频| 高清不卡av在线播放| 挺进邻居丰满少妇的身体|