• 
    

    
    

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

      基于YOLOv5的實(shí)時(shí)抽煙檢測研究

      2022-06-03 13:46:28李昌夏加文浩黃政龍黃文峰甘恒
      電腦知識與技術(shù) 2022年8期

      李昌夏 加文浩 黃政龍 黃文峰 甘恒

      摘要:為了實(shí)現(xiàn)對公共場合中的抽煙行為的自動識別檢測,提出了利用YOLOv5算法獲取抽煙行為目標(biāo)的方法。該實(shí)驗(yàn)使用python編程語言在pytorch上建立模型,訓(xùn)練模型,最終能對吸煙行為進(jìn)行有效檢測,對抽煙檢測研究具有參考價(jià)值。

      關(guān)鍵詞:YOLOv5;實(shí)時(shí)抽煙檢測;pytorch;python

      中圖分類號 TP391? ? ?文獻(xiàn)標(biāo)識碼 A

      文章編號:1009-3044(2022)08-0100-03

      公共場合抽煙的危害很大,國家也相應(yīng)地出臺了在公共場合禁煙的政策。以前實(shí)行相關(guān)的政策都是靠工作人員巡邏發(fā)現(xiàn)并出言禁止,這樣做效率很低下。計(jì)算機(jī)視覺領(lǐng)域發(fā)展迅速,而抽煙檢測也屬于一種計(jì)算機(jī)視覺目標(biāo)檢測的行為,可以采用目標(biāo)檢測[1]的方法來實(shí)現(xiàn)。目前,目標(biāo)檢測在很多領(lǐng)域都取得顯著成就[2],但是在抽煙檢測領(lǐng)域方面進(jìn)行研究卻幾乎沒有。該研究可以有效節(jié)省成本,對公共場合禁煙政策的實(shí)行有很大的推動作用。

      1 YOLOv5算法簡介

      YOLO[3]系列是基于深度學(xué)習(xí)的回歸方法。該系列陸續(xù)誕生出YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5。本實(shí)驗(yàn)采用的算法是YOLOv5,它是一種單階段目標(biāo)檢測的算法,因?yàn)樵撍惴梢愿鶕?jù)落地要求靈活地通過chaneel和layer的控制因子來配置和調(diào)節(jié)模型,所以在比賽和落地中應(yīng)用比較多。同時(shí)它有YOLOv5x、YOLOv5l、YOLOv5m、YOLOv5s四種模型。它具有以下優(yōu)點(diǎn):1)在pytorch環(huán)境下編寫;2)可以很容易編譯成ONNX和Core ML;3)運(yùn)行速度很快,每秒可以達(dá)到140FPS的速度;4)模型精度高;5)集成了YOLOv3和YOLOv4的部分優(yōu)秀特性,進(jìn)行了推陳出新的改進(jìn)。

      2 相關(guān)技術(shù)

      2.1 輸入端

      2.1.1 Mosaic數(shù)據(jù)增強(qiáng)

      Mosaic數(shù)據(jù)增強(qiáng)技術(shù)[4]采用了四張圖片的隨機(jī)縮放、隨機(jī)剪裁、隨機(jī)排布的方式對數(shù)據(jù)進(jìn)行拼接,相比CutMix數(shù)據(jù)增強(qiáng)多用了兩張圖片。在目標(biāo)識別過程中,要識別的目標(biāo)有大目標(biāo)、中等目標(biāo)、小目標(biāo),并且三種目標(biāo)的占比例不均衡,其中,小目標(biāo)的數(shù)量是最多的,但是出現(xiàn)的頻率很低,這種情況就會導(dǎo)致在bp時(shí)對小目標(biāo)的優(yōu)化不足,模型正確識別小目標(biāo)的難度比識別中、大目標(biāo)的難度要大很多,于是對于小目標(biāo)來說很容易出現(xiàn)誤檢和漏檢的情況。Mosaic數(shù)據(jù)增強(qiáng)技術(shù)做出改進(jìn)后,上述的問題得到有效的解決。該技術(shù)的優(yōu)點(diǎn)是:⑴豐富了數(shù)據(jù)集,采用“三個(gè)隨機(jī)”的方式對數(shù)據(jù)進(jìn)行拼接豐富了檢測的數(shù)據(jù)集,尤其是隨機(jī)縮放增加了很多小目標(biāo),克服了小目標(biāo)的不足,讓網(wǎng)絡(luò)的魯棒性得到提高;⑵減少GPU的使用,在Mosaic增強(qiáng)訓(xùn)練時(shí),四張圖片拼接在一起,GPU可以直接計(jì)算四張圖片的數(shù)據(jù),讓Mini-batch的大小減少了很多,這使得一個(gè)GPU就可以達(dá)到比較可觀的效果。

      2.1.2 自適應(yīng)anchor

      自適應(yīng)anchor是check_anchors函數(shù)通過遺傳算法與Kmeans迭代算出的最大可能召回率的anchor組合。在網(wǎng)絡(luò)模型的訓(xùn)練過程中,網(wǎng)絡(luò)在初始化的錨框的基礎(chǔ)上輸出預(yù)測框,然后與真實(shí)框groundtruth進(jìn)行對比,計(jì)算兩個(gè)框之間的差值,再根據(jù)差值進(jìn)行反向更新,迭代網(wǎng)絡(luò)參數(shù),最后求出最佳的錨框值。自適應(yīng)的anchor能夠更好地配合網(wǎng)絡(luò)訓(xùn)練,提高模型的精度,減少對anchor的設(shè)計(jì)難度,具有很好的實(shí)用性。

      2.1.3 自適應(yīng)圖片縮放

      為了提高模型的推理速度,YOLOv5提出自適應(yīng)圖片縮放,根據(jù)長寬比對圖像進(jìn)行縮放,并添加最少的黑邊,減少計(jì)算量。該方法是用縮放后的長邊減去短邊再對32進(jìn)行取余運(yùn)算,求出padding。在訓(xùn)練時(shí)并沒有采用縮減黑邊的方法,該方法只是在測試模型推理的時(shí)候才使用,這樣提高了目標(biāo)檢測的準(zhǔn)確率和速度。

      2.2 Backbone

      2.2.1 Focus結(jié)構(gòu)

      該結(jié)構(gòu)采用切片操作,將特征切片成四份,每一份將當(dāng)成下采樣的特征,然后在channel維度進(jìn)行concat。例如:原始608*608*3的數(shù)據(jù)圖片,經(jīng)過切片操作先變成304*304*12的特征圖,再經(jīng)過一次32個(gè)卷積核的卷積操作,變成304*304*32的特征圖。

      2.2.2 CSP結(jié)構(gòu)

      YOLOv5中的CSP[5]結(jié)構(gòu)應(yīng)用于兩處,一處是CSP1_X結(jié)構(gòu)應(yīng)用于Backbone的主干網(wǎng)絡(luò)中,另一處的CSP2_X結(jié)構(gòu)應(yīng)用于Neck中,用于加強(qiáng)網(wǎng)絡(luò)的特征融合的能力。CSPNet主要從網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)的角度解決推理中從計(jì)算量很大的問題。該結(jié)構(gòu)的優(yōu)點(diǎn)有:1)增強(qiáng)CNN的學(xué)習(xí)能力,使得模型在輕量化的同時(shí)保持較高的準(zhǔn)確性;2)減低計(jì)算的瓶頸問題;3)減低內(nèi)存的分險(xiǎn)。

      2.3 Neck

      2.3.1 PFN+PAN結(jié)構(gòu)

      這個(gè)結(jié)構(gòu)是FPN和PAN的聯(lián)合。FPN是自頂向下的,將高層的特征信息通過上采樣的方式進(jìn)行傳遞融合,得到進(jìn)行預(yù)測的特征圖,而PAN正好與FPN的方向是相反的方向,它是自底向上地采取特征信息。兩個(gè)結(jié)構(gòu)各自從不同的主干層對不同的檢測層進(jìn)行參數(shù)聚合。兩個(gè)結(jié)構(gòu)的強(qiáng)強(qiáng)聯(lián)合讓得到的特征圖的特征更加明顯和清楚。

      2.4 Prediction

      2.4.1 Bounding box的損失函數(shù)

      Bounding box損失函數(shù)[6]增加了相交尺度的衡量方式,有效緩解了當(dāng)兩個(gè)框不相交和兩個(gè)框大小完全相同的兩種特殊情況。因?yàn)楫?dāng)預(yù)測框和目標(biāo)框不相交時(shí),IOU=0,無法反應(yīng)兩個(gè)框距離的遠(yuǎn)近的時(shí)候,此時(shí)的損失函數(shù)不可導(dǎo);兩個(gè)框大小完全相同,兩個(gè)IOU也相同,IOU_LOSS無法區(qū)分以上兩種特殊情況。

      2.4.2 nms非極大值抑制

      在目標(biāo)檢測過程的后續(xù)處理中,對于大量的目標(biāo)框的篩選問題,通常會進(jìn)行nms操作,以此來達(dá)到一個(gè)不錯的效果。YOLOv5算法同樣采用了加權(quán)的nms操作。

      3 識別吸煙行為實(shí)驗(yàn)

      3.1 數(shù)據(jù)源與處理

      為了保證有效的檢測精度,制作了抽煙行為數(shù)據(jù)集。分別從正視、側(cè)視、俯視三個(gè)角度對不同人進(jìn)行抽煙行為視頻錄制,將吸煙行為定義為“somke”類,對錄制的視頻進(jìn)行截圖、篩選;用LabelImg標(biāo)記軟件對圖像進(jìn)行標(biāo)注,生成 .txt 文件。共獲得1200張有效圖片,其中訓(xùn)練集包含圖片1000張,測試集200張。將數(shù)據(jù)集的路徑寫入.yaml文件。

      3.2 實(shí)驗(yàn)過程

      該實(shí)驗(yàn)采用的算法是YOLOv5的目標(biāo)檢測算法,該算法具有很高的靈活性和很快的速度,在訓(xùn)練模型的時(shí)候還會對數(shù)據(jù)進(jìn)行自動地加工處理,通過自動縮放、色彩空間調(diào)整和馬賽克增強(qiáng)三種手段讓目標(biāo)物體變得更容易識別,提高模型的準(zhǔn)確度。同時(shí)也正是因?yàn)閷?shù)據(jù)進(jìn)行上述的處理加工才讓“煙”這種小的目標(biāo)識別得更加精確。

      本實(shí)驗(yàn)用python編程語言在pytorch上構(gòu)建模型,通過大量的數(shù)據(jù)集訓(xùn)練模型,模型訓(xùn)練結(jié)束后評估模型的準(zhǔn)確率,最后使用模型進(jìn)行檢測。檢測方式可以是使用照片、使用視頻和連接攝像頭實(shí)時(shí)檢測。

      3.3 實(shí)驗(yàn)結(jié)果分析

      如圖5是利用YOLOv5算法下對吸煙行為的檢測情況,圖中的“somke 0.9”是圖中動作與吸煙動作的相似度,從俯視角度的識別結(jié)果可以看出該模型能對吸煙行為做出較為精準(zhǔn)的識別。

      mAP@0.5(mean Average Precision loU=0.5)即對每一類的所有圖片的平均精度再對類求平均,如圖6,本實(shí)驗(yàn)中的mAP@0.5的值在0.65左右表明在系統(tǒng)預(yù)測出來標(biāo)記結(jié)果與原圖片的標(biāo)記重合度為0.5時(shí)檢測精度能達(dá)到0.65。

      4 總結(jié)

      對于本實(shí)驗(yàn)的抽煙實(shí)時(shí)檢測采用的是YOLOv5算法,從數(shù)據(jù)集的制作到模型的選擇和訓(xùn)練整個(gè)實(shí)驗(yàn)過程,得到以下結(jié)論:

      本實(shí)驗(yàn)對抽煙行為的檢測可以實(shí)現(xiàn)對照片、視頻和攝像頭實(shí)時(shí)進(jìn)行檢測,但是由于制作數(shù)據(jù)集的場景比較單一,所以對地點(diǎn)和攝像頭的拍攝角度有要求,攝像頭的放置高度對也會有一定影響,比如攝像頭安置的高度、目標(biāo)識別距離等。如果太高太遠(yuǎn)的話,識別的數(shù)據(jù)就會很小,識別小目標(biāo)就會增加難度,所以綜合來說模型還有很大的完善和進(jìn)步空間。

      參考文獻(xiàn):

      [1] 張慧,王坤峰,王飛躍.深度學(xué)習(xí)在目標(biāo)視覺檢測中的應(yīng)用進(jìn)展與展望[J].自動化學(xué)報(bào),2017,43(8):1289-1305.

      [2] 宋彬彬.計(jì)算機(jī)視覺技術(shù)在自動化中的應(yīng)用探析[J].電子世界,2020(20):10-11.

      [3] 陳輝東,丁小燕,劉艷霞.基于深度學(xué)習(xí)的目標(biāo)檢測算法綜述[J].北京聯(lián)合大學(xué)學(xué)報(bào),2021,35(3):39-46.

      [4] 包迪.基于YOLO V4+Word2Vec的試卷問答題評分算法研究[D].昆明:昆明理工大學(xué),2021:33.

      [5] 王立輝.基于卷積神經(jīng)網(wǎng)絡(luò)的行人檢測與跟蹤算法研究[D].武漢:武漢科技大學(xué),2021:11.

      [6] 沈記全,陳相均,翟海霞.改進(jìn)交并比邊界框回歸損失的YOLOv3檢測算法[J].計(jì)算機(jī)工程,2021(4):4-5.

      【通聯(lián)編輯:梁書】

      麦盖提县| 五华县| 河津市| 桐梓县| 清水河县| 甘孜县| 厦门市| 松江区| 嵊泗县| 西青区| 那坡县| 霸州市| 乌拉特后旗| 沈丘县| 秀山| 神农架林区| 密山市| 樟树市| 平江县| 武冈市| 古交市| 达尔| 英吉沙县| 新昌县| 安庆市| 洛浦县| 兰考县| 巴青县| 彰武县| 亳州市| 台北县| 新津县| 和田市| 瓮安县| 沙湾县| 平度市| 伊通| 忻州市| 黄骅市| 乌审旗| 靖远县|