邊緣智能計(jì)算應(yīng)用課件:基于YOLOV5訓(xùn)練生成Pytorch模型_第1頁(yè)
邊緣智能計(jì)算應(yīng)用課件:基于YOLOV5訓(xùn)練生成Pytorch模型_第2頁(yè)
邊緣智能計(jì)算應(yīng)用課件:基于YOLOV5訓(xùn)練生成Pytorch模型_第3頁(yè)
邊緣智能計(jì)算應(yīng)用課件:基于YOLOV5訓(xùn)練生成Pytorch模型_第4頁(yè)
邊緣智能計(jì)算應(yīng)用課件:基于YOLOV5訓(xùn)練生成Pytorch模型_第5頁(yè)
已閱讀5頁(yè),還剩61頁(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)介

基于Pytorch(YOLOv5)目標(biāo)檢測(cè)模型部署邊緣智能計(jì)算應(yīng)用項(xiàng)目引導(dǎo)案例目標(biāo)檢測(cè)的目標(biāo)是確定并返回某張給定圖像中是否存在給定類別(比如人、車、自行車、狗和貓)的空間位置和覆蓋范圍(比如返回一個(gè)邊界框)。目標(biāo)檢測(cè)是解決分割、場(chǎng)景理解、目標(biāo)追蹤、圖像描述、事件檢測(cè)和活動(dòng)識(shí)別等視覺任務(wù)的基礎(chǔ)。應(yīng)用:機(jī)器人視覺、消費(fèi)電子產(chǎn)品、安保、自動(dòng)駕駛、人機(jī)交互、基于內(nèi)容的圖像檢索、智能視頻監(jiān)控和增強(qiáng)現(xiàn)實(shí)。項(xiàng)目引導(dǎo)案例本項(xiàng)目將帶著大家部署基于Pytorch的yolov5目標(biāo)檢測(cè)模型,主要涉及到的知識(shí)有:Pytorch框架YOLO算法Git使用方法ONNX格式和RKNN格式項(xiàng)目中所涉及的操作過(guò)程主要如下圖所示:基于Pytorch的YOLOv5模型訓(xùn)練及轉(zhuǎn)換Pytorch模型轉(zhuǎn)ONNX模型ONNX模型轉(zhuǎn)RKNN模型邊緣端部署RKNN模型基于Pytorch的YOLOv5模型訓(xùn)練及轉(zhuǎn)換邊緣智能計(jì)算應(yīng)用職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08基于Pytorch的YOLOv5模型訓(xùn)練及轉(zhuǎn)換了解Pytorch的安裝方法;了解Pytorch的組件與工作原理;了解使用Pytorch進(jìn)行模型訓(xùn)練的方法。掌握開源數(shù)據(jù)集的下載使用掌握基于開源項(xiàng)目YOLOv5訓(xùn)練環(huán)境搭建掌握基于Pytorch的YOLOv5模型訓(xùn)練及預(yù)測(cè)掌握Pytorch模型文件轉(zhuǎn)ONNX模型文件的環(huán)境搭建掌握Pytorch模型文件轉(zhuǎn)ONNX模型文件及預(yù)測(cè)職業(yè)能力目標(biāo)01知識(shí)目標(biāo)技能目標(biāo)職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08基于Pytorch的YOLOv5模型訓(xùn)練及轉(zhuǎn)換此任務(wù)要求讀者完成基于PyTorch框架和YOLOv5開源項(xiàng)目訓(xùn)練并生成模型并將Pytorch模型文件轉(zhuǎn)onnx模型文件,任務(wù)完成后可使用訓(xùn)練好的YOLOv5模型進(jìn)行目標(biāo)檢測(cè)。任務(wù)描述任務(wù)要求使用git下載項(xiàng)目源碼安裝所需的依賴包使用訓(xùn)練腳本進(jìn)行訓(xùn)練驗(yàn)證訓(xùn)練好的模型任務(wù)描述與要求02職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08基于Pytorch的YOLOv5模型訓(xùn)練及轉(zhuǎn)換任務(wù)分析模型訓(xùn)練開始之前需要做哪些準(zhǔn)備工作?模型訓(xùn)練過(guò)程中涉及到哪些參數(shù)?任務(wù)分析與計(jì)劃03任務(wù)計(jì)劃表項(xiàng)目名稱基于Pytorch(yolov5)目標(biāo)檢測(cè)模型部署任務(wù)名稱基于Pytorch的YOLOv5模型訓(xùn)練及轉(zhuǎn)換計(jì)劃方式自主設(shè)計(jì)計(jì)劃要求請(qǐng)用10個(gè)計(jì)劃步驟來(lái)完整描述出如何完成本次任務(wù)序號(hào)任務(wù)計(jì)劃1

2

3

4

5

6

78通過(guò)上面的思考,你是否對(duì)本任務(wù)要完成的工作有所了解?讓我們一起來(lái)制訂完成本次任務(wù)的實(shí)施計(jì)劃吧!任務(wù)分析與計(jì)劃03職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08基于Pytorch的YOLOv5模型訓(xùn)練及轉(zhuǎn)換PyTorch與YOLOv5簡(jiǎn)介204知識(shí)儲(chǔ)備目標(biāo)檢測(cè)簡(jiǎn)介1Pytorch轉(zhuǎn)onnx的意義433COCO數(shù)據(jù)集目標(biāo)檢測(cè)是在給定的圖片中精確找到物體所在位置,并標(biāo)注出物體的類別。04目標(biāo)檢測(cè)簡(jiǎn)介目標(biāo)檢測(cè)任務(wù)的挑戰(zhàn)在什么地方呢?04目標(biāo)檢測(cè)簡(jiǎn)介目標(biāo)物在圖像中的屬性04目標(biāo)檢測(cè)簡(jiǎn)介多目標(biāo)示例04目標(biāo)檢測(cè)簡(jiǎn)介近幾年來(lái),目標(biāo)檢測(cè)算法取得了很大的突破;隨著卷積神經(jīng)網(wǎng)絡(luò)的廣泛使用,許多目標(biāo)檢測(cè)算法已與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合起來(lái);根據(jù)目標(biāo)檢測(cè)算法的工作流程,可以將目標(biāo)檢測(cè)算法分為雙步法(TwoStage)和單步法(OneStage)。04目標(biāo)檢測(cè)簡(jiǎn)介兩步法(TwoStage)確定那些更有可能出現(xiàn)目標(biāo)的位置,再有針對(duì)性的用CNN進(jìn)行檢測(cè);通過(guò)啟發(fā)式方法或CNN網(wǎng)絡(luò)產(chǎn)生一系列稀疏的候選框(RegionProposal),然后對(duì)這些候選框進(jìn)行分類或者回歸;兩步法的優(yōu)勢(shì)是準(zhǔn)確度高,但是運(yùn)行速度較慢;兩步法的代表算法有R-CNN、FastR-CNN、FasterR-CNN等。04目標(biāo)檢測(cè)簡(jiǎn)介04目標(biāo)檢測(cè)簡(jiǎn)介一步法(OneStage)均勻地在圖片的不同位置進(jìn)行密集抽樣,利用CNN提取特征后,直接在提取的特征上進(jìn)行分類或者回歸,整個(gè)過(guò)程只需要一步;所以一步法的優(yōu)勢(shì)是速度快,但是模型精確度相對(duì)較低;一步法的代表算法有YOLO和SSD等;目前廣泛應(yīng)用于目標(biāo)檢測(cè)的算法是基于YOLO目標(biāo)檢測(cè)算法的YOLOv5和YOLOX。04目標(biāo)檢測(cè)簡(jiǎn)介PyTorch與YOLOv5簡(jiǎn)介204知識(shí)儲(chǔ)備目標(biāo)檢測(cè)簡(jiǎn)介1Pytorch轉(zhuǎn)onnx的意義433COCO數(shù)據(jù)集04PyTorch與Torch基于Torch的Python開源機(jī)器學(xué)習(xí)庫(kù)用于自然語(yǔ)言處理等應(yīng)用程序支持GPU加速、動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)等功能兩個(gè)高級(jí)功能:強(qiáng)大的GPU加速的張量計(jì)算(如Numpy)自動(dòng)求導(dǎo)系統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)04PyTorch與TorchTorch是一個(gè)有大量機(jī)器學(xué)習(xí)算法支持的科學(xué)計(jì)算框架,其誕生已有十年之久,但是真正起勢(shì)得益于Facebook開源了大量Torch的深度學(xué)習(xí)模塊和擴(kuò)展;Torch的特點(diǎn)在于特別靈活,是以Lua為編程語(yǔ)言的框架。Torch簡(jiǎn)潔速度快社區(qū)活躍易用PyTorch特性04PyTorch靈活性不以速度為代價(jià)。在許多評(píng)測(cè)中,PyTorch的速度表現(xiàn)勝過(guò)TensorFlow和Keras等框架。PyTorch的面向?qū)ο蟮慕涌谠O(shè)計(jì)來(lái)源于Torch,而Torch的接口設(shè)計(jì)以靈活易用而著稱,Keras作者最初就是受Torch的啟發(fā)才開發(fā)了Keras。PyTorch的設(shè)計(jì)最符合人們的思維,即所思即所得。PyTorch的設(shè)計(jì)追求最少的封裝,盡量避免重復(fù)造輪子。PyTorch的源碼只有TensorFlow的十分之一左右,簡(jiǎn)潔直觀,十分易于閱讀。PyTorch提供了完整的文檔,循序漸進(jìn)的指南,作者親自維護(hù)的論壇供用戶交流和求教問題。Facebook人工智能研究院對(duì)PyTorch提供了強(qiáng)力支持,以確保PyTorch獲得持續(xù)的開發(fā)更新。04導(dǎo)入PyTorch包Python中導(dǎo)入PyTorch依賴庫(kù)04YOLO算法簡(jiǎn)介YOLO將對(duì)象檢測(cè)重新定義為一個(gè)回歸問題。它將單個(gè)卷積神經(jīng)網(wǎng)絡(luò)(CNN)應(yīng)用于整個(gè)圖像,將圖像分成網(wǎng)格,并預(yù)測(cè)每個(gè)網(wǎng)格的類概率和邊界框。YOLO非???。由于檢測(cè)問題是一個(gè)回歸問題,所以不需要復(fù)雜的管道。它比“R-CNN”快1000倍,比“FastR-CNN”快100倍。它能夠處理實(shí)時(shí)視頻流,延遲小于25毫秒。它的精度是以前實(shí)時(shí)系統(tǒng)的兩倍多。同樣重要的是,YOLO遵循的是“端到端深度學(xué)習(xí)”的實(shí)踐。04YOLO目標(biāo)檢測(cè)算法YOLOv3對(duì)比其他算法04YOLO目標(biāo)檢測(cè)算法YOLO:YouOnlyLookOnce04YOLO目標(biāo)檢測(cè)算法YOLO是一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的物體目標(biāo)檢測(cè)算法;YOLO網(wǎng)格中的每個(gè)單元格負(fù)責(zé)檢測(cè)自身內(nèi)部的對(duì)象;YOLOv5-X、YOLOX-X:mAP>50%,60fps,COCO-640×640。04YOLO目標(biāo)檢測(cè)算法YOLO的第五代改進(jìn)算法使用PyTorch框架,使用方便P模型權(quán)重文件可轉(zhuǎn)化為ONXX格式以適配安卓可轉(zhuǎn)換為Opencv的使用格式可通過(guò)CoreML轉(zhuǎn)化為IOS格式部署至手機(jī)應(yīng)用端YOLOv504YOLO目標(biāo)檢測(cè)算法網(wǎng)絡(luò)的容量越大->參數(shù)越多->準(zhǔn)確率越高相同硬件配置的條件下,訓(xùn)練參數(shù)越多的網(wǎng)絡(luò)需要越多的時(shí)間YOLOv5的四種網(wǎng)絡(luò)結(jié)構(gòu)四種YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)中,移動(dòng)端的部署建議使用的網(wǎng)絡(luò)為YOLOv5sYOLOv5m云平臺(tái)端的部署建議使用的網(wǎng)絡(luò)為YOLOv5lYOLOv5x04YOLO目標(biāo)檢測(cè)算法YOLOv5的四種網(wǎng)絡(luò)結(jié)構(gòu)PyTorch與YOLOv5簡(jiǎn)介204知識(shí)儲(chǔ)備目標(biāo)檢測(cè)簡(jiǎn)介1Pytorch轉(zhuǎn)onnx的意義433COCO數(shù)據(jù)集04COCO數(shù)據(jù)集的由來(lái)COCO的全稱是MicrosoftCommonObjectsinContext(場(chǎng)景中的常見物體)起源于微軟于2014年出資標(biāo)注的MicrosoftCOCO數(shù)據(jù)集ImageNet計(jì)算機(jī)視覺競(jìng)賽停辦后,COCO競(jìng)賽就成為目標(biāo)識(shí)別和檢測(cè)等領(lǐng)域的一個(gè)最權(quán)威、最重要的標(biāo)桿。04COCO數(shù)據(jù)集簡(jiǎn)介COCO數(shù)據(jù)集是一個(gè)大型目標(biāo)分類(識(shí)別)、檢測(cè)、分割、語(yǔ)義標(biāo)注數(shù)據(jù)集。這個(gè)數(shù)據(jù)集以場(chǎng)景理解(ScenceUnderstanding)為目標(biāo),主要從復(fù)雜的日常場(chǎng)景中截取,圖像中的目標(biāo)通過(guò)精確的分割進(jìn)行位置的標(biāo)定。COCO是目前為止有語(yǔ)義分割的最大數(shù)據(jù)集:80個(gè)類別;超過(guò)33萬(wàn)張圖片;其中20萬(wàn)張有標(biāo)注,整個(gè)數(shù)據(jù)集中個(gè)體的數(shù)目超過(guò)150萬(wàn)個(gè)。04COCO數(shù)據(jù)集簡(jiǎn)介COCO數(shù)據(jù)集中的部分圖片如右圖所示。COCO數(shù)據(jù)集中標(biāo)注類別包含:人:1類交通工具:8類,自行車,汽車等公路常見:5類,信號(hào)燈,停車標(biāo)志等動(dòng)物:10類,貓狗等攜帶物品:5類,背包,雨傘等運(yùn)動(dòng)器材:10類,飛盤,滑雪板,網(wǎng)球拍等。廚房餐具:7類,瓶子,勺子等水果及食品:10類家庭用品:7類,椅子、床,電視等家庭常見物品:17類,筆記本,鼠標(biāo),遙控器等PyTorch與YOLOv5簡(jiǎn)介204知識(shí)儲(chǔ)備目標(biāo)檢測(cè)簡(jiǎn)介1Pytorch轉(zhuǎn)onnx的意義433COCO數(shù)據(jù)集Pytorch轉(zhuǎn)onnx的意義04一般來(lái)說(shuō)轉(zhuǎn)ONNX只是一個(gè)手段,在之后得到ONNX模型后還需要再將它做轉(zhuǎn)換,比如:轉(zhuǎn)換到TensorRT上完成部署,或者有的人多加一步,從ONNX先轉(zhuǎn)換到caffe,再?gòu)腸affe到tensorRT。原因是Caffe對(duì)tensorRT更為友好。轉(zhuǎn)換成我們邊緣端需要用到的rknn模型,完成部署等各類情況因此在轉(zhuǎn)ONNX工作開展之前,首先必須明確目標(biāo)后端。ONNX只是一個(gè)格式,就和json一樣。只要你滿足一定的規(guī)則,都算是合法的,因此單純從Pytorch轉(zhuǎn)成一個(gè)ONNX文件很簡(jiǎn)單。但是不同后端設(shè)備接受的onnx是不一樣的。職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08基于Pytorch的YOLOv5模型訓(xùn)練及轉(zhuǎn)換05任務(wù)實(shí)施基于YOLOv5進(jìn)行模型訓(xùn)練1預(yù)測(cè)模型2Pytorch模型文件轉(zhuǎn)onnx模型文件1131133基于YOLOv5進(jìn)行模型訓(xùn)練05下載項(xiàng)目源碼基于YOLOv5進(jìn)行模型訓(xùn)練05安裝所需要的依賴包基于YOLOv5進(jìn)行模型訓(xùn)練05驗(yàn)證PyTorch包基于YOLOv5進(jìn)行模型訓(xùn)練05準(zhǔn)備數(shù)據(jù)集05模型訓(xùn)練(1)基于YOLOv5進(jìn)行模型訓(xùn)練05模型訓(xùn)練(2)基于YOLOv5進(jìn)行模型訓(xùn)練05基于YOLOv5進(jìn)行模型訓(xùn)練利用以下腳本顯示相關(guān)圖片,只需要修改圖片路徑即可:img=cv2.imread(圖片路徑)frommatplotlibimportpyplotasplt

importnumpyasnp

importcv2

img=cv2.imread('yolov5/runs/detect/exp/bus.jpg')

img2=img[:,:,::-1]#列表數(shù)組左右翻轉(zhuǎn),實(shí)現(xiàn)BGR賺RGB

plt.figure(figsize=(20,20))

plt.imshow(img2)05任務(wù)實(shí)施基于YOLOv5進(jìn)行模型訓(xùn)練1預(yù)測(cè)模型2Pytorch模型文件轉(zhuǎn)onnx模型文件113113305預(yù)測(cè)模型yolov5項(xiàng)目有提供模型檢測(cè)腳本detect.py,利用這個(gè)腳本可以對(duì)自己訓(xùn)練的模型文件進(jìn)行預(yù)測(cè),默認(rèn)會(huì)將預(yù)測(cè)結(jié)果輸出到y(tǒng)olov5/runs/detect/。05預(yù)測(cè)模型根據(jù)模型訓(xùn)練出來(lái)的結(jié)果路徑,指定權(quán)重weights輸出結(jié)果如下:05預(yù)測(cè)模型檢測(cè)前后效果對(duì)比05任務(wù)實(shí)施基于YOLOv5進(jìn)行模型訓(xùn)練1預(yù)測(cè)模型2Pytorch模型文件轉(zhuǎn)onnx模型文件113113305Pytorch模型文件轉(zhuǎn)onnx模型文件在做模型文件轉(zhuǎn)換之前,需要搭建環(huán)境,安裝所需的Python依賴包,手動(dòng)安裝以下依賴包:coremltools==4.1

onnx==1.10.1

scikit-learn==0.19.2

onnx-simplifier==0.3.6在命令行中,安裝依賴包可以寫一個(gè)或多個(gè)包同時(shí)安裝例如:!sudopipinstallcoremltools==4.1onnx==1.10.1scikit-learn==0.19.2onnx-simplifier==0.3.6-i/simple05Pytorch模型文件轉(zhuǎn)onnx模型文件在上一節(jié),準(zhǔn)備好的Pytorch模型best.pt,具體路徑,比如:yolov5/runs/train/exp3/weights/best.pt,轉(zhuǎn)換后的onnx模型默認(rèn)是在Pytorch的模型路徑里面,比如:yolov5/runs/train/exp3/weights/best.onnx05Pytorch模型文件轉(zhuǎn)onnx模型文件指定模型路徑,利用以下命令進(jìn)行轉(zhuǎn)換:python3path/to/export.py--weights$m.pt--img640--batch-size1輸出結(jié)果為:05Pytorch模型文件轉(zhuǎn)onnx模型文件指定模型路徑,利用以下命令進(jìn)行轉(zhuǎn)換:python3path/to/export.py--weights$m.pt--img640--batch-size1輸出結(jié)果為:05Pytorch模型文件轉(zhuǎn)onnx模型文件利用預(yù)測(cè)腳本detect.py指定onnx模型文件路徑,和需要預(yù)測(cè)的圖片源,結(jié)果默認(rèn)輸出到y(tǒng)olov5/runs/detect/exp*目錄下面。由于Pytorch模型文件轉(zhuǎn)出來(lái)的onnx模型文件默認(rèn)輸入為640*640圖片源,所以需要把圖片先轉(zhuǎn)成640*640的圖片后,再進(jìn)行使用05Pytorch模型文件轉(zhuǎn)onnx模型文件轉(zhuǎn)換出來(lái)的原圖:預(yù)測(cè)模型命令:!pythonyolov5/detect.py--weightsyolov5/runs/train/exp/weights/best.onnx--sourceyolov5/data/images/zidane2.jpg--projectyolov5/runs/detect結(jié)果為:職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08基于Pytorch的YOLOv5模型訓(xùn)練及轉(zhuǎn)換任務(wù)檢查與評(píng)價(jià)061、請(qǐng)參照評(píng)價(jià)標(biāo)準(zhǔn)完成自評(píng)和對(duì)其他小組的互評(píng)。2、各組請(qǐng)代表分析本組任務(wù)實(shí)施經(jīng)驗(yàn)。序號(hào)評(píng)價(jià)內(nèi)容評(píng)價(jià)標(biāo)準(zhǔn)分值得分1知識(shí)運(yùn)用(20%)掌握相關(guān)理論知識(shí),理解本次任務(wù)要求,制定詳細(xì)計(jì)劃,

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論