Python深度學(xué)習(xí)及智能車競賽實(shí)踐 課件 11-智能車競賽目標(biāo)檢測任務(wù)的CNN模型設(shè)計(jì)與部署_第1頁
Python深度學(xué)習(xí)及智能車競賽實(shí)踐 課件 11-智能車競賽目標(biāo)檢測任務(wù)的CNN模型設(shè)計(jì)與部署_第2頁
Python深度學(xué)習(xí)及智能車競賽實(shí)踐 課件 11-智能車競賽目標(biāo)檢測任務(wù)的CNN模型設(shè)計(jì)與部署_第3頁
Python深度學(xué)習(xí)及智能車競賽實(shí)踐 課件 11-智能車競賽目標(biāo)檢測任務(wù)的CNN模型設(shè)計(jì)與部署_第4頁
Python深度學(xué)習(xí)及智能車競賽實(shí)踐 課件 11-智能車競賽目標(biāo)檢測任務(wù)的CNN模型設(shè)計(jì)與部署_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第十一章智能車競賽目標(biāo)檢測任務(wù)的CNN模型設(shè)計(jì)與部署Python深度學(xué)習(xí)及智能車競賽實(shí)踐目錄第2頁01目標(biāo)檢測概述02單階段目標(biāo)檢測方法與神經(jīng)網(wǎng)絡(luò)量化05目標(biāo)檢測模型部署04目標(biāo)檢測網(wǎng)絡(luò)模型構(gòu)建與訓(xùn)練03智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建目錄第3頁01目標(biāo)檢測概述02單階段目標(biāo)檢測方法與神經(jīng)網(wǎng)絡(luò)量化05目標(biāo)檢測模型部署04目標(biāo)檢測網(wǎng)絡(luò)模型構(gòu)建與訓(xùn)練03智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建第4頁目標(biāo)檢測基本概念01—目標(biāo)檢測概述什么是目標(biāo)檢測?CatCatCatdog

duck分類目標(biāo)檢測:在給定的圖片中精確找到物體所在位置,并標(biāo)注出物體的類別問題難點(diǎn):物體的尺寸變化范圍很大,擺放物體的角度,姿態(tài)不定,而且可以出現(xiàn)在圖片的任何地方,更何況物體還可以是多個(gè)類別定位目標(biāo)檢測第5頁目標(biāo)檢測基本概念01—目標(biāo)檢測概述目標(biāo)檢測如何進(jìn)行?貓狗dx,dy,dw,dh背景……分類任務(wù)邊界框回歸任務(wù)第6頁目標(biāo)檢測方法的分類01—目標(biāo)檢測概述目標(biāo)檢測基于錨框無錨框基于Transformer基于NAS方法階段錨框形狀一階段二階段矩形多邊形圓形橢圓形傳統(tǒng)方法基于深度學(xué)習(xí)VTDet.、HOGDet、DPMYOLOFamilySSDFamilyRetinaNetRCNNFamilySPP-NetFPNFamilyText-RPNPNMSCircleNetCircleIOUEllipseNetEllipseIOU第7頁目標(biāo)檢測方法的技術(shù)進(jìn)展01—目標(biāo)檢測概述2019YOLOv4(Alexeyetal.)CornerNet(Lawetal.)CascadeR-CNN(Caietal)SSD(Liuetal.)DSSD(Fuetal.)20122013DCNNAlexNet(Krizhevskyetal.)OverFeat(Sermanetetal.)RCNN(Girshicketal.)VGGNet(SimonyanandZisserman)GoogLeNet(Szegedyetal.)FastRCNN(RossGirshick)FasterRCNN(Renetal.)R-FCN(Daietal.)2014201520162017SPP-Net(Heetal.)YOLOv2(Redmonetal.)FPN(Linetal.)2018RetinaNet(Linetal.)YOLOv3(Redmonetal.)RefineDet(Zhangetal.)YOLOv1(Redmonetal.)MaskR-CNN(Heetal.)TridentNet(Lietal.)EfficientDet(Tanetal.)CenterNet(Duanetal)FCOS(Tianetal.)ExteremeNet(Caietal.)202020212022DETR(Carionetal.)UP-DETR(Daietal.)YOLOv5(Caietal.)Centripetainet(Dongetal.)M2Det(Zhaoetal.)YOLOX(Geetal.)YOLOS(Fangetal.)NAS-FPN(Chiasietal.)DetNAS(Chenetal.)SwinTransformerv2(Liuetal.)YOLOF(Chenetal.)YOLOR(Wangetal.)ACT(Zhengetal.)DeformableDETR(Zhuetal.)TSP-FCOS(Sunetal.)ViT-FRCNN(Bealetal.)AnchorDETR(Liuetal.)EfficicentDETR(Yaoetal.)SwinTransformer(Liuetal.)SAM-DETR(Zhangetal.)DN-DETR(Lietal.)FP-DETR(Wangetal.)CircleNet(Yangetal.)Deeplearning第8頁常用數(shù)據(jù)格式01—目標(biāo)檢測概述

YOLO.txtcenter_x,center_y,width,height文件類型數(shù)據(jù)類型標(biāo)注框形式示例

COCO.jsonxmin,ymin,xmax,ymaxVOC.xmltopleft_x,topleft_y,width,height第9頁評(píng)估指標(biāo)01—目標(biāo)檢測概述IOU主要評(píng)價(jià)指標(biāo):平均準(zhǔn)確度均值mAP檢測速度FPS召回率Recall其它性能指標(biāo)準(zhǔn)確率Accuracy精確率Precisionprecision-recall曲線平均正確率APROC曲線(ReceiverOperatingCharacteristic)目錄第10頁01目標(biāo)檢測概述02單階段目標(biāo)檢測方法與神經(jīng)網(wǎng)絡(luò)量化05目標(biāo)檢測模型部署04目標(biāo)檢測網(wǎng)絡(luò)模型構(gòu)建與訓(xùn)練03智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建第11頁單階段目標(biāo)檢測方法02—單階段目標(biāo)檢測方法與神經(jīng)網(wǎng)絡(luò)輕量化什么是單階段目標(biāo)檢測?一種直接從輸入圖像中提取特征并進(jìn)行目標(biāo)檢測的方法一個(gè)階段內(nèi)完成圖像分類和邊界框回歸任務(wù)精度略低,檢測速度快適合低算力平臺(tái)邊緣端部署第12頁單階段目標(biāo)檢測方法02—單階段目標(biāo)檢測方法與神經(jīng)網(wǎng)絡(luò)輕量化部分算法性能對(duì)比經(jīng)典算法YOLO系列YOLO是最早的單階段目標(biāo)檢測算法之一YOLOv1~YOLOv8系列SSD系列SSD是另一種廣泛使用的單階段目標(biāo)檢測方法第13頁單階段目標(biāo)檢測方法02—單階段目標(biāo)檢測方法與神經(jīng)網(wǎng)絡(luò)輕量化YOLO系列YOLOv3是YOLO系列最經(jīng)典的算法YOLOv3模型使用經(jīng)典的殘差神經(jīng)網(wǎng)絡(luò)Darknet53作為主干網(wǎng)絡(luò)提取圖像特征算法流程:將輸入的圖像劃分成S*S個(gè)網(wǎng)格;每個(gè)網(wǎng)格預(yù)測B個(gè)邊界框和這個(gè)邊界框是物體的概率;每個(gè)網(wǎng)格預(yù)測C個(gè)類的概率第14頁單階段目標(biāo)檢測方法02—單階段目標(biāo)檢測方法與神經(jīng)網(wǎng)絡(luò)輕量化SSD系列SSD模型采用VGG16作為骨干網(wǎng)絡(luò),在VGG16的基礎(chǔ)上新增卷積層來獲得更多的特征圖用于檢測算法流程:將輸入圖像通過CNN網(wǎng)絡(luò)提取特征生成特征圖,抽取其中六個(gè)特征圖生成預(yù)設(shè)框,進(jìn)行目標(biāo)分類和邊界框回歸,最后進(jìn)行非極大值抑制生成檢測結(jié)果,避免邊界框重疊多種方法常結(jié)合使用第15頁神經(jīng)網(wǎng)絡(luò)輕量化技術(shù)02—單階段目標(biāo)檢測方法與神經(jīng)網(wǎng)絡(luò)輕量化核心思想關(guān)注模型參數(shù)中的冗余性去除冗余的參數(shù)和不關(guān)鍵的參數(shù)分類結(jié)構(gòu)性剪枝非結(jié)構(gòu)性剪枝特征結(jié)構(gòu)性剪枝剪除的基本單元為神經(jīng)元非結(jié)構(gòu)剪枝剪除的基本單元為單個(gè)權(quán)重網(wǎng)絡(luò)剪枝知識(shí)蒸餾方法將知識(shí)從較大的優(yōu)化良好的教師網(wǎng)絡(luò)轉(zhuǎn)移到較小的可學(xué)習(xí)學(xué)生網(wǎng)絡(luò)核心思想暗知識(shí)在教師模型和學(xué)生模型之間的遷移特征不改變學(xué)生模型的結(jié)構(gòu)輕量化模塊設(shè)計(jì)方法使用輕量化的網(wǎng)絡(luò)替換模型的主干網(wǎng)絡(luò)核心思想著眼于卷積核尺寸、輸出卷積通道數(shù)、瓶頸層來降低模型參數(shù)量常用輕量化網(wǎng)絡(luò)MobileNetSqueezeNetShuffleNet第16頁神經(jīng)網(wǎng)絡(luò)輕量化技術(shù)02—單階段目標(biāo)檢測方法與神經(jīng)網(wǎng)絡(luò)輕量化MobileNetV1的創(chuàng)新在于提出了深度可分離卷積,上圖展示了傳統(tǒng)卷積、分組卷積、深度可分離卷積的特點(diǎn)深度可分離卷積相比傳統(tǒng)卷積,計(jì)算量為其九分之一至八分之一MobileNetV1網(wǎng)絡(luò)目錄第17頁01目標(biāo)檢測概述02單階段目標(biāo)檢測方法與神經(jīng)網(wǎng)絡(luò)量化05目標(biāo)檢測模型部署04目標(biāo)檢測網(wǎng)絡(luò)模型構(gòu)建與訓(xùn)練03智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建第18頁數(shù)據(jù)采集03—智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建需要記錄的內(nèi)容:小車前進(jìn)過程中攝像頭獲取的賽道中央及兩側(cè)的標(biāo)志物采集步驟:控制手柄USB擴(kuò)展器與智能小車edgeboard板相連啟動(dòng)圖像采集腳本手柄左側(cè)搖桿控制小車轉(zhuǎn)向,使小車沿賽道勻速前進(jìn)智能小車前置攝像頭自動(dòng)采集圖像保存到指定文件夾中數(shù)據(jù)采集樣例第19頁數(shù)據(jù)標(biāo)注03—智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建

labelimg標(biāo)注軟件讀者前往labelimg官網(wǎng)下載安裝/project/labelImg/軟件安裝第20頁數(shù)據(jù)標(biāo)注03—智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建建立標(biāo)簽文件選擇標(biāo)注格式進(jìn)入labelImg-mater文件夾,在/data/predefined_classes.txt文件中編輯標(biāo)簽名稱運(yùn)行l(wèi)abelImg.py程序,選擇圖片目錄和標(biāo)簽存放目錄,并切換到VOC格式第21頁數(shù)據(jù)標(biāo)注03—智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建標(biāo)注圖像使用鼠標(biāo)框選圖像中的標(biāo)志物,選擇對(duì)應(yīng)的類別注意標(biāo)注數(shù)據(jù)盡量不要包括多余區(qū)域,防止后續(xù)可能出現(xiàn)的干擾逐張完成所有圖像標(biāo)注第22頁數(shù)據(jù)標(biāo)注03—智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建標(biāo)注文件示例標(biāo)注完成后,每張圖像對(duì)應(yīng)一個(gè)xml文件文件中記錄了圖像中標(biāo)注框的數(shù)量、類別、對(duì)應(yīng)像素坐標(biāo)等信息第23頁百度飛槳EasyDataAI數(shù)據(jù)標(biāo)注03—智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建登錄EasyData平臺(tái)登錄EasyData智能數(shù)據(jù)服務(wù)平臺(tái),網(wǎng)址為/easydata/,點(diǎn)擊“立即使用”并登錄賬號(hào)創(chuàng)建數(shù)據(jù)集點(diǎn)擊“創(chuàng)建數(shù)據(jù)集”,選擇數(shù)據(jù)集類型,依次設(shè)置數(shù)據(jù)集名稱,選擇“標(biāo)注類型”:物體檢測,選擇“標(biāo)注模板”:矩形框標(biāo)注,完成后點(diǎn)擊“創(chuàng)建并導(dǎo)入”。第24頁百度飛槳EasyDataAI數(shù)據(jù)標(biāo)注03—智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建上傳數(shù)據(jù)將圖像數(shù)據(jù)壓縮打包上傳至平臺(tái)添加標(biāo)簽依據(jù)賽道元素依次添加標(biāo)簽名稱第25頁百度飛槳EasyDataAI數(shù)據(jù)標(biāo)注03—智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建標(biāo)注圖片點(diǎn)擊頁面右上角的“標(biāo)注圖片”,進(jìn)入標(biāo)注界面框選對(duì)應(yīng)的標(biāo)志物,選擇標(biāo)志物類別第26頁百度飛槳EasyDataAI數(shù)據(jù)標(biāo)注03—智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建導(dǎo)出數(shù)據(jù)點(diǎn)擊頁面右上角的“我的數(shù)據(jù)總覽”,點(diǎn)擊“數(shù)據(jù)集管理”選擇要導(dǎo)出的數(shù)據(jù)集并點(diǎn)擊其末尾的“導(dǎo)出”選擇導(dǎo)出位置-導(dǎo)出到本地,標(biāo)注格式為xml,點(diǎn)擊“開始導(dǎo)出”第27頁劃分?jǐn)?shù)據(jù)03—智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建隨機(jī)劃分訓(xùn)練集、驗(yàn)證集設(shè)置劃分比例,通常訓(xùn)練集和驗(yàn)證集9:1運(yùn)行劃分?jǐn)?shù)據(jù)腳本,隨機(jī)劃分?jǐn)?shù)據(jù)生成train.txt和valid.txt劃分完成后,目錄下包含兩個(gè)文件夾和三個(gè)txt文件JPEGImages存放原始圖像,Annotations存放標(biāo)注文件label_list.txt存放標(biāo)簽類別集合,train.txt為訓(xùn)練集,valid.txt為驗(yàn)證集目錄第28頁01目標(biāo)檢測概述02單階段目標(biāo)檢測方法與神經(jīng)網(wǎng)絡(luò)量化05目標(biāo)檢測模型部署04目標(biāo)檢測網(wǎng)絡(luò)模型構(gòu)建與訓(xùn)練03智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建第29頁P(yáng)addleDetection介紹04—目標(biāo)檢測網(wǎng)絡(luò)模型構(gòu)建與訓(xùn)練飛槳推出的端到端目標(biāo)檢測套件模塊化地實(shí)現(xiàn)了多種主流目標(biāo)檢測算法,集成模型壓縮和跨平臺(tái)高性能部署能力更快地構(gòu)建檢測模型、訓(xùn)練模型、優(yōu)化模型和部署模型第30頁環(huán)境配置04—目標(biāo)檢測網(wǎng)絡(luò)模型構(gòu)建與訓(xùn)練使用飛槳AIStudio平臺(tái)創(chuàng)建項(xiàng)目環(huán)境版本:PaddlePaddle==2.2.2,Python==3.7,PaddleDetection==relese/2.4使用以下命令克隆PaddleDetection訓(xùn)練倉庫gitclone/PaddlePaddle/PaddleDetection.git-brelease/2.4克隆完成后,使用以下命令安裝必要的依賴項(xiàng)pyhtonsetup.pyinstall最后,使用以下命令執(zhí)行編譯第31頁數(shù)據(jù)集準(zhǔn)備04—目標(biāo)檢測網(wǎng)絡(luò)模型構(gòu)建與訓(xùn)練在AIStudio項(xiàng)目管理界面添加準(zhǔn)備好的數(shù)據(jù)集運(yùn)行以下指令將數(shù)據(jù)集解壓到指定文件夾unzip-oqd/home/aistudio/PaddleDetection/dataset//home/aistudio/data/data186919/baidu_car0311.zip第32頁訓(xùn)練參數(shù)配置04—目標(biāo)檢測網(wǎng)絡(luò)模型構(gòu)建與訓(xùn)練該部分代碼篇幅較長點(diǎn)擊鏈接到百度AIStudio線上運(yùn)行需要配置的參數(shù)主要有:數(shù)據(jù)集路徑、數(shù)據(jù)集類別數(shù)、數(shù)據(jù)增強(qiáng)配置等;學(xué)習(xí)率調(diào)度器、優(yōu)化器、損失函數(shù)相關(guān)配置等第33頁開始訓(xùn)練04—目標(biāo)檢測網(wǎng)絡(luò)模型構(gòu)建與訓(xùn)練在終端輸入以下命令,以啟動(dòng)單卡(GPU)訓(xùn)練exportCUDA_VISIBLE_DEVICES=0使用以下命令啟動(dòng)訓(xùn)練腳本pythontools/train.py-cconfigs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml--eval“-c”之后路徑為之前設(shè)置好的配置文件路徑“--eval”指令將在訓(xùn)練過程中評(píng)估模型,自動(dòng)輸出最佳模型第34頁模型導(dǎo)出04—目標(biāo)檢測網(wǎng)絡(luò)模型構(gòu)建與訓(xùn)練訓(xùn)練結(jié)束之后,將最佳模型(best_model)導(dǎo)出以備后續(xù)部署使用以下命令將動(dòng)態(tài)圖模型轉(zhuǎn)換為靜態(tài)圖模型pythontools/export_model.py-cconfigs/yolov3/yolov3_mobilenet_v1_ssld_270e_voc.yml-oweights=output/yolov3_mobilenet_v1_ssld_270e_voc/best_model.pdparams--output_dir=output_inference“-o”之后路徑為訓(xùn)練過程中保存的最佳模型的參數(shù)“--output_dir”之后路徑為靜態(tài)圖模型輸出的路徑目錄第35頁01目標(biāo)檢測概述02單階段目標(biāo)檢測方法與神經(jīng)網(wǎng)絡(luò)量化05目標(biāo)檢測模型部署04目標(biāo)檢測網(wǎng)絡(luò)模型構(gòu)建與訓(xùn)練03智能車競賽目標(biāo)檢測任務(wù)數(shù)據(jù)集構(gòu)建第36頁模型轉(zhuǎn)換05—目標(biāo)檢測模型部署環(huán)境搭建在docker官網(wǎng)下載安裝docker-desktop在CMD命令行中使用以下命令導(dǎo)入鏡像dockerimportppnc2.0.tarbaidu/ppnc:v2創(chuàng)建共享目錄bdcodes目錄,解壓compiler.zip文件,掛載文件,使用以下命令啟動(dòng)容器dockerrun-it--rm-v"G:\practice\2023\bdcodes":/data/edgeboard/codesbaidu/ppnc:v2bash第37頁模型轉(zhuǎn)換05—目標(biāo)檢測模型部署激活環(huán)境準(zhǔn)備模型和測試圖像啟動(dòng)容器,進(jìn)入目錄/data/edgeboard/codes中,使用以下命令導(dǎo)入環(huán)境變量dockerimportppnc2.0.tarbaidu/ppnc:v2使用以下命令導(dǎo)入相關(guān)路徑source/usr/local/ppnc/scripts/activate_env.sh在共享文件夾中的compiler中新建一個(gè)目錄包含以下兩個(gè)文件夾(model、image)將經(jīng)過AIStudio上導(dǎo)出的模型放到model文件夾中,測試集中的圖片放到image文件夾中,確保圖片數(shù)量大于50張,并覆蓋所有的類別第38頁模型轉(zhuǎn)換05—目標(biāo)檢測模型部署修改配置修改compiler/config.json文件中的配置參數(shù)model_dir為共享文件所在的目錄,存放相關(guān)輸入數(shù)據(jù),該目錄下包含model和image兩個(gè)文件夾shape為模型輸入尺寸,需要與模型實(shí)際尺寸保存一致quantify_num為離線量化依賴的圖片數(shù)量,默認(rèn)50張第39頁模型轉(zhuǎn)換05—目標(biāo)檢測模型部署編譯模型輸入以下命令啟動(dòng)編譯python3compile.py./config.json編譯完成后會(huì)在compile/build目錄下生成inference.zip壓縮包第40頁模型部署05—目標(biāo)檢測模型部署Edgeboard板卡部署在Edgeboard飛槳開發(fā)板上,使用以下命令安裝Python推理環(huán)境pip3installppnc-2.0-cp36-cp36m-linux_aarch64.whl將編譯后的模型包拷貝并

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論