基于Python的深度學(xué)習(xí)圖像處理 課件 第九章 基于深度學(xué)習(xí)的目標(biāo)檢測(cè)_第1頁(yè)
基于Python的深度學(xué)習(xí)圖像處理 課件 第九章 基于深度學(xué)習(xí)的目標(biāo)檢測(cè)_第2頁(yè)
基于Python的深度學(xué)習(xí)圖像處理 課件 第九章 基于深度學(xué)習(xí)的目標(biāo)檢測(cè)_第3頁(yè)
基于Python的深度學(xué)習(xí)圖像處理 課件 第九章 基于深度學(xué)習(xí)的目標(biāo)檢測(cè)_第4頁(yè)
基于Python的深度學(xué)習(xí)圖像處理 課件 第九章 基于深度學(xué)習(xí)的目標(biāo)檢測(cè)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第九章基于深度學(xué)習(xí)的目標(biāo)檢測(cè)窮究于理·成就于工0203實(shí)例:基于深度學(xué)習(xí)的目標(biāo)檢測(cè)網(wǎng)絡(luò)YOLOv4基于深度學(xué)習(xí)的目標(biāo)檢測(cè)網(wǎng)絡(luò)的發(fā)展01目標(biāo)檢測(cè)概述目錄窮究于理·成就于工01目標(biāo)檢測(cè)概述目標(biāo)檢測(cè)概述

在計(jì)算機(jī)視覺(jué)眾多的技術(shù)領(lǐng)域中,目標(biāo)檢測(cè)(ObjectDetection)是一項(xiàng)非?;A(chǔ)的任務(wù),圖像分割、物體追蹤、關(guān)鍵點(diǎn)檢測(cè)等通常都要依賴于目標(biāo)檢測(cè)。目標(biāo)檢測(cè)的目的在于輸入圖像中往往有很多物體,目的是判斷出物體出現(xiàn)的位置與類別,是計(jì)算機(jī)視覺(jué)中非常核心的一個(gè)任務(wù)。

在目標(biāo)檢測(cè)時(shí),由于每張圖像中物體的數(shù)量、大小及姿態(tài)各有不同,也就是非結(jié)構(gòu)化的輸出,這是與圖像分類非常不同的一點(diǎn),并且物體時(shí)常會(huì)有遮擋截?cái)?,所以物體檢測(cè)技術(shù)也極富挑戰(zhàn)性,從誕生以來(lái)始終是研究學(xué)者最為關(guān)注的焦點(diǎn)領(lǐng)域之一。目標(biāo)檢測(cè)示意圖在利用深度學(xué)習(xí)做物體檢測(cè)之前,傳統(tǒng)算法對(duì)于目標(biāo)檢測(cè)通常分為3個(gè)階段:區(qū)域選取、特征提取和特征分類目標(biāo)檢測(cè)概述首先選取圖像中可能出現(xiàn)物體的位置,由于物體位置、大小都不固定,因此傳統(tǒng)算法通常使用滑動(dòng)窗口(SlidingWindows)算法,但這種算法會(huì)存在大量的冗余框,并且計(jì)算復(fù)雜度高區(qū)域選取在得到物體位置后,通常使用人工精心設(shè)計(jì)的提取器進(jìn)行特征提取,如SIFT和HOG等。由于提取器包含的參數(shù)較少,并且人工設(shè)計(jì)的魯棒性較低,因此特征提取的質(zhì)量并不高。特征提取對(duì)上一步得到的特征進(jìn)行分類,通常使用如SVM、AdaBoost的分類器。特征分類深度學(xué)習(xí)目標(biāo)檢測(cè)深度學(xué)習(xí)技術(shù)近年來(lái)發(fā)展迅猛,神經(jīng)網(wǎng)絡(luò)的大量參數(shù)可以提取出魯棒性和語(yǔ)義性更好的特征,并且分類器性能也更優(yōu)越,從此便拉開(kāi)了深度學(xué)習(xí)做目標(biāo)檢測(cè)的序幕?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)通常需要在一張圖像中檢測(cè)出物體出現(xiàn)的位置及對(duì)應(yīng)的類比,要求檢測(cè)器輸出5個(gè)值:物體類別class、目標(biāo)檢測(cè)框(boundingbox)左上角x軸坐標(biāo)、boundingbox左上角y軸坐標(biāo)、boundingbox右下角x軸坐標(biāo)、boundingbox右下角y軸坐標(biāo),如圖所示。基于深度學(xué)習(xí)的目標(biāo)檢測(cè)器輸出深度學(xué)習(xí)目標(biāo)檢測(cè)早期的深度學(xué)習(xí)目標(biāo)檢測(cè)模型一個(gè)窗口只能預(yù)測(cè)一個(gè)目標(biāo),把窗口輸入到分類網(wǎng)絡(luò)中,最終得到一個(gè)預(yù)測(cè)概率,這個(gè)概率偏向哪個(gè)類別則把窗口內(nèi)的目標(biāo)預(yù)測(cè)為相應(yīng)的類別,例如在圖中回歸得到的行人概率更大,則認(rèn)為這個(gè)目標(biāo)為人,如圖所示。窗口回歸示意圖深度學(xué)習(xí)目標(biāo)檢測(cè)后期針對(duì)深度學(xué)習(xí)目標(biāo)檢測(cè)框架提出的錨框(AnchorBox)是學(xué)習(xí)目標(biāo)檢測(cè)過(guò)程中最重要且最難理解的一個(gè)概念。這個(gè)概念最初是在FasterRCNN中提出,此后在SSD、YOLOv2、YOLOv3等優(yōu)秀的目標(biāo)識(shí)別模型中得到了廣泛的應(yīng)用。AnchorBox就是在圖像上預(yù)設(shè)好的不同大小,不同長(zhǎng)寬比的參照框。AnchorBox跟傳統(tǒng)目標(biāo)檢測(cè)中使用的“SlidingWindows”差不多,只不過(guò)并不是固定死的,在輸入圖像中采樣的時(shí)候,每個(gè)黑色方框代表圖像特征提取過(guò)程中某個(gè)特征圖上的特征,以每一個(gè)box為中心生成多個(gè)大小和寬高比不同的boundingbox,這些邊界框就是AnchorBox。錨框的工作原理

02基于深度學(xué)習(xí)的目標(biāo)檢測(cè)網(wǎng)絡(luò)的發(fā)展目標(biāo)檢測(cè)網(wǎng)絡(luò)的發(fā)展由于深度卷積網(wǎng)絡(luò)能夠?qū)W習(xí)圖像的魯棒性和高層次特征表示,一個(gè)自然的問(wèn)題是能否將其應(yīng)用到目標(biāo)檢測(cè)中。R.Girshick等人在2014年率先打破僵局,提出了基于卷積(CNN)特征的區(qū)域(RCNN)用于目標(biāo)檢測(cè)?;诰矸e神經(jīng)網(wǎng)絡(luò)兩階段深度學(xué)習(xí)目標(biāo)檢測(cè)的代表性框架RCNN的基本原理為:首先通過(guò)選擇性搜索提取一組對(duì)象建議(對(duì)象候選框)兩階段檢測(cè)單階段深度學(xué)習(xí)目標(biāo)檢測(cè)的代表性框架YOLO由R.Joseph等人于2015年提出。它是深度學(xué)習(xí)時(shí)代[20]的第一個(gè)單級(jí)檢測(cè)器單階段檢測(cè)兩階段檢測(cè)的發(fā)展2014年,K.He等人提出了空間金字塔池化網(wǎng)絡(luò)(SpatialPyramidPoolingNetworks,SPPNet)。

2015年,R.Girshick提出了FastRCNN檢測(cè)器,這是對(duì)RCNN和SPPNet的進(jìn)一步改進(jìn)。FastRCNN使能夠在相同的網(wǎng)絡(luò)配置下同時(shí)訓(xùn)練檢測(cè)器和邊界框回歸器。2015年,S.Ren等人提出了FasterRCNN檢測(cè)器2017年,T.-Y.Lin等人基于FasterRCNN提出了特征金字塔網(wǎng)絡(luò)(FPN)。單階段檢測(cè)的發(fā)展單階段深度學(xué)習(xí)目標(biāo)檢測(cè)的代表性框架YOLO由R.Joseph等人于2015年提出。它是深度學(xué)習(xí)時(shí)代的第一個(gè)單級(jí)檢測(cè)器。但是YOLO的定位精度有所下降,特別是對(duì)于一些小目標(biāo)。SSD由W.Liu等人于2015年提出。這是深度學(xué)習(xí)時(shí)代的第二款單級(jí)探測(cè)器。SSD的主要貢獻(xiàn)是引入了多參考和多分辨率檢測(cè)技術(shù),這大大提高了單級(jí)檢測(cè)器的檢測(cè)精度,特別是對(duì)于一些小目標(biāo)。單級(jí)檢測(cè)器速度快、結(jié)構(gòu)簡(jiǎn)單,但多年來(lái)一直落后于兩級(jí)檢測(cè)器的精度。T.-Y.Lin等人發(fā)現(xiàn)了背后的原因,并在2017年提出了RetinaNet。深度學(xué)習(xí)目標(biāo)檢測(cè)數(shù)據(jù)集的發(fā)展1.PASCAL可視化對(duì)象類(VisualObjectClasses,VOC)挑戰(zhàn)(2005—2012年)是早期計(jì)算機(jī)視覺(jué)界最重要的比賽之一。PASCALVOC中包含多種任務(wù),包括圖像分類、目標(biāo)檢測(cè)、語(yǔ)義分割和動(dòng)作檢測(cè)。兩種版本的Pascal-VOC主要用于對(duì)象檢測(cè):VOC07和VOC12,前者由5ktr.images+12kannotatedobjects組成,后者由11ktr.Images+27kannotatedobjects組成。這兩個(gè)數(shù)據(jù)集中注釋了生活中常見(jiàn)的20類對(duì)象(Person:person;Animal:bird,cat,cow,dog,horse,sheep;Vehicle:airplane,bicycle,boat,bus,car,motor-bike,train;Indoor:bottle,chair,diningtable,pottedplant,sofa,tv/monitor)。近年來(lái),隨著ILSVRC、MS-COCO等大型數(shù)據(jù)集的發(fā)布,VOC逐漸淡出人們的視野,成為大多數(shù)新型檢測(cè)器的試驗(yàn)臺(tái)。2.ImageNet大規(guī)模視覺(jué)識(shí)別挑戰(zhàn)(LargeScaleVisualRecognitionChallenge,ILSVRC)推動(dòng)了通用目標(biāo)檢測(cè)技術(shù)的發(fā)展。ILSVRC檢測(cè)數(shù)據(jù)集包含200類視覺(jué)對(duì)象。它的圖像與對(duì)象實(shí)例的數(shù)量比VOC大兩個(gè)數(shù)量級(jí)。3.MS-COCO是目前最具挑戰(zhàn)性的目標(biāo)檢測(cè)數(shù)據(jù)集。它的對(duì)象類別比ILSVRC少,但是對(duì)象實(shí)例多。例如,MS-COCO-17包含來(lái)自80個(gè)類別的164k圖像和897k帶注釋的對(duì)象。4.繼MS-COCO之后,開(kāi)放圖像檢測(cè)(OID)技術(shù)在2018年迎來(lái)了前所未有的挑戰(zhàn)。在開(kāi)放圖像中有兩個(gè)任務(wù),即標(biāo)準(zhǔn)目標(biāo)檢測(cè)、視覺(jué)關(guān)系檢測(cè),檢測(cè)特定關(guān)系中成對(duì)的目標(biāo)。對(duì)于目標(biāo)檢測(cè)任務(wù),數(shù)據(jù)集由1,910k張圖像和15,440k個(gè)帶注釋的邊界框組成,這些邊界框位于600個(gè)對(duì)象類別上。03實(shí)例:基于深度學(xué)習(xí)的目標(biāo)檢測(cè)網(wǎng)絡(luò)YOLOv4YOLOv4簡(jiǎn)介YOLOv4是一個(gè)結(jié)合了大量前人研究技術(shù),加以組合并進(jìn)行適當(dāng)創(chuàng)新的基于深度學(xué)習(xí)的目標(biāo)檢測(cè)框架,實(shí)現(xiàn)了速度和精度的完美平衡,是一種代表性的基于深度學(xué)習(xí)的單階段目標(biāo)檢測(cè)框架。有許多技巧可以提高卷積神經(jīng)網(wǎng)絡(luò)(CNN)的準(zhǔn)確性,但是某些技巧僅適合在某些模型上運(yùn)行,或者僅在某些問(wèn)題上運(yùn)行,或者僅在小型數(shù)據(jù)集上運(yùn)行。針對(duì)上述問(wèn)題YOLOv4在YOLOv3的基礎(chǔ)上所使用的調(diào)優(yōu)手段包括:跨階段部分連接(CSP),自對(duì)抗訓(xùn)練(SAT),Mish激活函數(shù),馬賽克數(shù)據(jù)增強(qiáng),

DropBlock正則化,

CIoULoss等。YOLOv4開(kāi)發(fā)了一個(gè)高效、強(qiáng)大的目標(biāo)檢測(cè)模型。它可使用1080Ti或2080Ti

GPU來(lái)訓(xùn)練一個(gè)快速和準(zhǔn)確的目標(biāo)檢測(cè)器。驗(yàn)證了在檢測(cè)器訓(xùn)練過(guò)程中,最先進(jìn)的Bag-of-Freebies和Bag-of-Specials的目標(biāo)檢測(cè)方法的影響。修改了最先進(jìn)的方法,包括CBN、PAN、SAM等。使其更有效,更適合于單GPU訓(xùn)練。YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)與工作原理YOLOv4為一種基于深度學(xué)習(xí)由卷積神經(jīng)網(wǎng)絡(luò)構(gòu)成的目標(biāo)檢測(cè)網(wǎng)絡(luò),網(wǎng)絡(luò)整體由三部分組成,分別為特征提取主干(Backbone)、檢測(cè)頸部(Neck)、檢測(cè)頭部(Head)。其基本構(gòu)架如圖所示。YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)與工作原理

特征提取主干(Backbone)的作用在于提取檢測(cè)圖像中目標(biāo)的多尺度特征。由一系列的CBM塊,跨階段部分連接(CSP)組成。其中,CBM由基本的單層卷積層conv、批歸一化層BatchNormalization和一個(gè)Mish激活函數(shù)層組成。

跨階段部分連接(CSP)由CBM+殘差單元(ResUnit)+拼接(Concat)組成。使用跨階段部分連接(CSP)能夠有效提升提取特征的表征能力??珉A段部分連接(CSP)包含兩個(gè)特征提取分路:下分路為CBM、ResUnit、CBM,上分路為一個(gè)CBM子模塊,上下分路輸出進(jìn)行拼接操作(Concat),ResUnit中的CBL模塊由基本的單層卷積層Conv、批歸一化層BatchNormalization和一個(gè)Leakyrelu激活函數(shù)層組成。CSP結(jié)構(gòu)如圖所示。YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)與工作原理檢測(cè)頸部(Neck)的作用在于混合和組合圖像特征的網(wǎng)絡(luò)層,復(fù)用與融合各層提取特征,并將圖像特征傳遞到檢測(cè)頭部(Head)。檢測(cè)頸部(Neck)包含之前提到的CBL、空間金字塔(SPP)以及上采樣三個(gè)子模塊。其中,空間金字塔(SPP)主要是用來(lái)解決不同尺寸的特征圖如何進(jìn)入全連接層的,其基本原理為對(duì)任意尺寸的特征圖直接進(jìn)行固定尺寸的池化,來(lái)得到固定數(shù)量的特征。SPP基本工作原理如圖所示。YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)與工作原理以3個(gè)尺寸的池化為例,對(duì)特征圖進(jìn)行一個(gè)最大值池化,即一張?zhí)卣鲌D得取其最大值,得到1d(d是特征圖的維度)個(gè)特征;對(duì)特征圖進(jìn)行網(wǎng)格劃分為2×2的網(wǎng)格,然后對(duì)每個(gè)網(wǎng)格進(jìn)行最大值池化,那么得到4d個(gè)特征;同樣,對(duì)特征圖進(jìn)行網(wǎng)格劃分為4×4個(gè)網(wǎng)格,對(duì)每個(gè)網(wǎng)格進(jìn)行最大值池化,得到16d個(gè)特征。接著將每個(gè)池化得到的特征通過(guò)拼接與卷積聚合起來(lái)即得到固定長(zhǎng)度的特征個(gè)數(shù)(特征圖的維度是固定的),接著就可以輸入到全連接層中進(jìn)行訓(xùn)練網(wǎng)絡(luò)了。用到這里是為了增加感受野。同時(shí)需要注意到,檢測(cè)頸部(Neck)中的上采樣操作上采樣(Upsample)僅擴(kuò)大特征圖大小(YOLOv4中上采樣為原來(lái)的2倍),不改變通道數(shù)。YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)最后一部分,檢測(cè)頭部(Head)的作用在于輸出3個(gè)尺度的檢測(cè)結(jié)果,得到最終的目標(biāo)檢測(cè)與分類框(boundingbox)。檢測(cè)頭部(Head)包含YOLOv4網(wǎng)絡(luò)最后一層的conv層,以及模型輸出進(jìn)行解碼操作。

YOLOv4是一個(gè)結(jié)合了大量前人研究技術(shù),加以組合并進(jìn)行適當(dāng)創(chuàng)新的基于深度學(xué)習(xí)的目標(biāo)檢測(cè)框架,實(shí)現(xiàn)了速度和精度的完美平衡,是一種代表性的基于深度學(xué)習(xí)的單階段目標(biāo)檢測(cè)框架。有許多技巧可以提高卷積神經(jīng)網(wǎng)絡(luò)(CNN)的準(zhǔn)確性,但是某些技巧僅適合在某些模型上運(yùn)行,或者僅在某些問(wèn)題上運(yùn)行,或者僅在小型數(shù)據(jù)集上運(yùn)行。針對(duì)上述問(wèn)題YOLOv4在YOLOv3的基礎(chǔ)上所使用的調(diào)優(yōu)手段包括:跨階段部分連接(CSP),自對(duì)抗訓(xùn)練(SAT),Mish激活函數(shù),馬賽克數(shù)據(jù)增強(qiáng),

DropBlock正則化,

CIoULoss等。YOLOv4開(kāi)發(fā)了一個(gè)高效、強(qiáng)大的目標(biāo)檢測(cè)模型。它可使用1080Ti或2080Ti

GPU來(lái)訓(xùn)練一個(gè)快速和準(zhǔn)確的目標(biāo)檢測(cè)器。驗(yàn)證了在檢測(cè)器訓(xùn)練過(guò)程中,最先進(jìn)的Bag-of-Freebies和Bag-of-Specials的目標(biāo)檢測(cè)方法的影響。修改了最先進(jìn)的方法,包括CBN、PAN、SAM等。使其更有效,更適合于單GPU訓(xùn)練。YOLOv4簡(jiǎn)介YOLOv4網(wǎng)絡(luò)的訓(xùn)練與測(cè)試

YOLOv4網(wǎng)絡(luò)作為為一個(gè)典型的基于深度學(xué)習(xí)的目標(biāo)檢測(cè)網(wǎng)絡(luò),遵循端到端(Endtoend)的訓(xùn)練與測(cè)試方式。即通過(guò)加載數(shù)據(jù)集在損失函數(shù)的指導(dǎo)下對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,收斂后獲得最優(yōu)模型,最后進(jìn)行測(cè)試。訓(xùn)練與測(cè)試的流程如右圖所示。用于訓(xùn)練與測(cè)試YOLOv4的數(shù)據(jù)集包括訓(xùn)練集與測(cè)試集。網(wǎng)絡(luò)的訓(xùn)練與測(cè)試采用MSCOCOobjectdetection數(shù)據(jù)集,該數(shù)據(jù)集數(shù)據(jù)集是微軟構(gòu)建的一個(gè)數(shù)據(jù)集,其包含檢測(cè)(detection),分割(segmentation),關(guān)鍵點(diǎn)檢測(cè)(keypoints)等任務(wù)。與PASCALCOCO數(shù)據(jù)集相比,COCO中的圖片包含了自然圖片以及生活中常見(jiàn)的目標(biāo)圖片,背景比較復(fù)雜,目標(biāo)數(shù)量比較多,目標(biāo)尺寸更小,因此COCO數(shù)據(jù)集上的任務(wù)更難,對(duì)于檢測(cè)任務(wù)來(lái)說(shuō),現(xiàn)在衡量一個(gè)模型好壞的標(biāo)準(zhǔn)更加傾向于使用COCO數(shù)據(jù)集上的檢測(cè)結(jié)果。MS

COCO

objectdetection數(shù)據(jù)集總共包含91個(gè)類別,其中,訓(xùn)練集:165482張,驗(yàn)證集:81208張,測(cè)試集:81434張,并均帶有標(biāo)簽。YOLOv4網(wǎng)絡(luò)的訓(xùn)練與測(cè)試YOLOv4的訓(xùn)練細(xì)節(jié),加載訓(xùn)練集之后,訓(xùn)練該網(wǎng)絡(luò)采用隨機(jī)梯度下降(SGD)優(yōu)化器,在損失函數(shù)的指導(dǎo)下訓(xùn)練該網(wǎng)絡(luò),YOLOv4采用CIoULoss以指導(dǎo)網(wǎng)絡(luò)訓(xùn)練,采用的損失函數(shù)如式所示。

式中,Lciou為損失函數(shù)值;IoU為預(yù)測(cè)檢測(cè)框與真實(shí)檢測(cè)框的交并比;p為兩個(gè)檢測(cè)框之間的歐氏距離;表示兩個(gè)檢測(cè)框的閉包區(qū)域的對(duì)角線的距離;與為兩個(gè)檢測(cè)框的中心點(diǎn);為權(quán)重系數(shù);用以衡量?jī)蓚€(gè)檢測(cè)框相對(duì)比例的一致性。在MSCOCOobjectdetection訓(xùn)練集上進(jìn)行訓(xùn)練,訓(xùn)練過(guò)程中數(shù)據(jù)集增廣方式使用了CutMix數(shù)據(jù)增強(qiáng)。默認(rèn)超參數(shù)如下:訓(xùn)練批次為500,采用步進(jìn)衰減學(xué)習(xí)率調(diào)度策略,初始學(xué)習(xí)率0.01,在40萬(wàn)步和45萬(wàn)步時(shí)學(xué)習(xí)率分別乘以衰減因子0.1,動(dòng)量衰減和權(quán)重衰減分別設(shè)為0.9和0.0005。經(jīng)歷500epochs后得到最優(yōu)檢測(cè)模型進(jìn)行測(cè)試YOLOv4網(wǎng)絡(luò)的訓(xùn)練與測(cè)試

首先導(dǎo)入需要的python庫(kù),然后定義項(xiàng)目路徑(PROJECT_PATH)、數(shù)據(jù)路徑(DATA_PATH)、YOLO類型(MODEL_TYPE)、卷積類型(CONV_TYPE)、注意力機(jī)制類型(ATTENTION)。

然后進(jìn)行訓(xùn)練相關(guān)參數(shù)設(shè)置,比如數(shù)據(jù)集為VOC、訓(xùn)練圖像尺寸大小為416像素、使用數(shù)據(jù)增強(qiáng)技術(shù)進(jìn)行訓(xùn)練、訓(xùn)練批量大小為1、在訓(xùn)練過(guò)程中使用多尺度訓(xùn)練、訓(xùn)練輪數(shù)為50次等。這些參數(shù)會(huì)被用于訓(xùn)練YOLO目標(biāo)檢測(cè)模型,具體的訓(xùn)練過(guò)程會(huì)根據(jù)這些參數(shù)進(jìn)行配置。

設(shè)置完訓(xùn)練參數(shù)后,驗(yàn)證參數(shù)同理,設(shè)置測(cè)試圖像大小、批處理大小等參數(shù),這些參數(shù)根據(jù)具體的應(yīng)用場(chǎng)景和需求進(jìn)行設(shè)置,用于控制模型的行為和輸出結(jié)果。

完成上面一系列參數(shù)的設(shè)置后,緊接著用三個(gè)字典變量定義了該模型要用到的數(shù)據(jù)集,這里給出了三種數(shù)據(jù)集以及各自數(shù)據(jù)集中的類別數(shù)量和類別列表。第一種Customer_DATA是用戶自定義數(shù)據(jù)集,第二種是VOC_DATA,包括20種物體,第三種是COCO_DATA,包括80種物體。這些字典變量存儲(chǔ)了不同數(shù)據(jù)集中物體類別的信息,以便在目標(biāo)檢測(cè)任務(wù)中使用。根據(jù)具體的數(shù)據(jù)集和應(yīng)用場(chǎng)景,可以通過(guò)訪問(wèn)這些變量來(lái)獲取相應(yīng)數(shù)據(jù)集的類別數(shù)量和類別列表。這樣可以方便地進(jìn)行模型訓(xùn)練、評(píng)估和預(yù)測(cè)等操作。YOLOv4網(wǎng)絡(luò)的訓(xùn)練與測(cè)試

配置完相關(guān)參數(shù)后,就可以對(duì)模型進(jìn)行訓(xùn)練,下圖是YOLOv4的訓(xùn)練代碼流程圖。首先導(dǎo)入需要用到的一系列所需的庫(kù)和模塊,例如日志記錄(logging)、GPU選擇(utils.gpu)、模型構(gòu)建(model.build_model.Build_Model)、損失函數(shù)(model.loss.yolo_loss.YoloV4Loss)等,還導(dǎo)入了其他輔助函數(shù)和工具庫(kù);導(dǎo)入所需庫(kù)和模塊之后,定義了一個(gè)detection_collate函數(shù),該函數(shù)用于處理目標(biāo)檢測(cè)數(shù)據(jù)集的批量樣本,將圖像和目標(biāo)標(biāo)簽分別存儲(chǔ)到imgs和targets列表中,并返回批量化后的圖像和標(biāo)簽;然后定義類“Trainer”,用于訓(xùn)練目標(biāo)檢測(cè)模型,類中包含初始化函數(shù),用于設(shè)置訓(xùn)練器的各項(xiàng)參數(shù)和屬性、定義函數(shù)"__load_resume_weights"以從檢查點(diǎn)文件中加載權(quán)重、定義函數(shù)"__save_model_weights"以在不同的epoch中保存模型權(quán)重、定義函數(shù)"train"以開(kāi)始訓(xùn)練過(guò)程等;然后是一個(gè)訓(xùn)練器(Trainer)的入口函數(shù),用于設(shè)置訓(xùn)練的參數(shù)并調(diào)用訓(xùn)練函數(shù)進(jìn)行目標(biāo)檢測(cè)模型的訓(xùn)練。YOLOv4網(wǎng)絡(luò)的訓(xùn)練與測(cè)試YOLOv4的測(cè)試。下圖是YOLOv4的測(cè)試代碼流程圖。首先導(dǎo)入一系列所需要的庫(kù)和模塊,例如GPU選擇(utils.gpu)、模型構(gòu)建(model.build_model.Build_Model)、工具函數(shù)(utils.tools)、日志記錄(logging)等;然后定義類“Detection”,用于執(zhí)行物體檢測(cè)任務(wù),類中包含初始化函數(shù),用于設(shè)置檢測(cè)過(guò)程中的各項(xiàng)參數(shù)和屬性、定義了“__load_model_weights()”函數(shù),其作用是加載模型的權(quán)重文件,并將權(quán)重應(yīng)用到模型中、定義函數(shù)“Video_detection()”,用于進(jìn)行視頻檢測(cè),它使用OpenCV庫(kù)來(lái)讀取視頻,并在每一幀上進(jìn)行目標(biāo)檢測(cè)和可視化;然后是一個(gè)入口函數(shù),使用了命令行參數(shù)解析器argparse來(lái)解析用戶傳入的參數(shù);接下來(lái),創(chuàng)建一個(gè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論