0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于YOLOv7.0 版本的分類、檢測和分割

新機器視覺 ? 來源:集智書童 ? 作者:集智書童 ? 2022-08-22 10:31 ? 次閱讀

導讀 YOLOv5是目前Yolo系列應用非常廣的算法,迭代了很多版本,目前已升級到V6.2版本,從原本訓練目標檢測,到也可訓練分類模型,整個算法生態(tài)越來越完善,通過本文的梳理,希望對大家學習有幫助。

yolov5-6.2增加了分類訓練、驗證、預測和導出(所有 11 種格式),還提供了 ImageNet 預訓練的 YOLOv5m-cls、ResNet(18、34、50、101) 和 EfficientNet (b0-b3) 模型。

此次發(fā)布的主要目標是引入超級簡單的 YOLOv5 分類工作流程,就像現有的目標檢測模型一樣。以下新的 v6.2 YOLOv5-cls 模型只是一個開始,作者將繼續(xù)與現有的檢測模型一起改進這些模型。

下一個版本 v6.3 計劃于 9 月發(fā)布,將為 YOLOv5 帶來官方實例分割支持,今年晚些時候將發(fā)布一個主要的 v7.0 版本,更新所有 3 個任務的架構——分類、檢測和分割。

1、重要更新

分類模型:TensorFlow、Keras、TFLite、TF.js 模型導出現在使用python export.py --include saved_model pb tflite tfjs完全集成。

ClearML日志記錄:與開源實驗跟蹤器 ClearML 集成。使用 pip install clearml 安裝將啟用集成并允許用戶跟蹤在 ClearML 中運行的每個訓練。這反過來又允許用戶跟蹤和比較運行,甚至遠程安排運行。

Deci.ai優(yōu)化:一鍵自動編譯和量化 YOLOv5 以獲得更好的推理性能。

GPU導出基準:使用 python utils/benchmarks.py --weights yolov5s.pt --device 0 用于 GPU 基準測試或 --device cpu 用于 CPU 基準測試,對所有 YOLOv5 導出格式進行基準測試(mAP 和速度)。

訓練可再現性:使用 torch>=1.12.0 的單 GPU YOLOv5 訓練現在完全可再現,并且可以使用新的 --seed 參數(默認種子 = 0)。

Apple Metal Performance Shader (MPS) 支持:通過 --device mps 對 Apple M1/M2 設備的 MPS 支持(完整功能在 pytorch/pytorch#77764 中等待更新)。

2、分類模型與精度

使用 4×A100 在 ImageNet 上訓練了 YOLOv5-cls 分類模型 90 個 epoch,并且訓練了 ResNet 和 EfficientNet 模型以及相同的默認訓練設置進行比較。將所有模型導出到 ONNX FP32 進行 CPU 速度測試,并將所有模型導出到 TensorRT FP16 進行 GPU 速度測試。在 Google Colab Pro 上進行了所有速度測試,以便輕松重現。

e3b52dee-205e-11ed-ba43-dac502259ad0.png ? e3c760ea-205e-11ed-ba43-dac502259ad0.png

3、使用

YOLOv5 分類訓練支持使用 --data 參數自動下載 MNIST、Fashion-MNIST、CIFAR10、CIFAR100、Imagenette、Imagewoof 和 ImageNet 數據集。例如,要開始在 MNIST 上進行訓練,使用 --data mnist。

train

#Single-GPU
pythonclassify/train.py--modelyolov5s-cls.pt--datacifar100--epochs5--img224--batch128

#Multi-GPUDDP
python-mtorch.distributed.run--nproc_per_node4--master_port1classify/train.py--modelyolov5s-cls.pt--dataimagenet--epochs5--img224--device0,1,2,3

val

bashdata/scripts/get_imagenet.sh--val#downloadImageNetvalsplit(6.3G,50000images)
pythonclassify/val.py--weightsyolov5m-cls.pt--data../datasets/imagenet--img224#validate

test

pythonclassify/predict.py--weightsyolov5s-cls.pt--datadata/images/bus.jpg

4、構建形式

分類模型的構建依舊是YOLOv5的風格,加入了分類的head,這里點贊,不怕沒有預訓練權重了!

classClassificationModel(BaseModel):
#YOLOv5classificationmodel
def__init__(self,cfg=None,model=None,nc=1000,cutoff=10):#yaml,model,numberofclasses,cutoffindex
super().__init__()
self._from_detection_model(model,nc,cutoff)ifmodelisnotNoneelseself._from_yaml(cfg)

def_from_detection_model(self,model,nc=1000,cutoff=10):
#CreateaYOLOv5classificationmodelfromaYOLOv5detectionmodel
ifisinstance(model,DetectMultiBackend):
model=model.model#unwrapDetectMultiBackend
model.model=model.model[:cutoff]#backbone
m=model.model[-1]#lastlayer
ch=m.conv.in_channelsifhasattr(m,'conv')elsem.cv1.conv.in_channels#chintomodule
c=Classify(ch,nc)#Classify()
c.i,c.f,c.type=m.i,m.f,'models.common.Classify'#index,from,type
model.model[-1]=c#replace
self.model=model.model
self.stride=model.stride
self.save=[]
self.nc=nc

def_from_yaml(self,cfg):
#CreateaYOLOv5classificationmodelfroma*.yamlfile
self.model=None
審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 開源
    +關注

    關注

    3

    文章

    3380

    瀏覽量

    42603
  • 模型
    +關注

    關注

    1

    文章

    3279

    瀏覽量

    48970
  • 跟蹤器
    +關注

    關注

    0

    文章

    131

    瀏覽量

    20053

原文標題:?Yolov5-6.2版本更新,Yolov5也可訓練分類模型,語義分割+實例分割即將發(fā)布!

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    在樹莓派上部署YOLOv5進行動物目標檢測的完整流程

    目標檢測在計算機視覺領域中具有重要意義。YOLOv5(You Only Look One-level)是目標檢測算法中的一種代表性方法,以其高效性和準確性備受關注,并且在各種目標檢測
    的頭像 發(fā)表于 11-11 10:38 ?1276次閱讀
    在樹莓派上部署<b class='flag-5'>YOLOv</b>5進行動物目標<b class='flag-5'>檢測</b>的完整流程

    YOLOv6在LabVIEW中的推理部署(含源碼)

    YOLOv6 是美團視覺智能部研發(fā)的一款目標檢測框架,致力于工業(yè)應用。如何使用python進行該模型的部署,官網已經介紹的很清楚了,但是對于如何在LabVIEW中實現該模型的部署,筆者目前還沒有看到
    的頭像 發(fā)表于 11-06 16:07 ?345次閱讀
    <b class='flag-5'>YOLOv</b>6在LabVIEW中的推理部署(含源碼)

    YOLOv8中的損失函數解析

    YOLO長期以來一直是目標檢測任務的首選模型之一。它既快速又準確。此外,其API簡潔易用。運行訓練或推斷作業(yè)所需的代碼行數有限。在2023年下半年,YOLOv8在框架中引入了姿態(tài)估計后,該框架現在支持最多四個任務,包括分類、目標
    的頭像 發(fā)表于 11-05 17:15 ?1277次閱讀
    <b class='flag-5'>YOLOv</b>8中的損失函數解析

    RK3588 技術分享 | 在Android系統中使用NPU實現Yolov5分類檢測

    NPU。 應用領域 圖像識別: NPU能夠迅速對圖像進行分類、檢測分割等操作,大大提升了處理效率。 語音識別: NPU實現了實時語音轉換和語音合成功能,為語音交互提供了更自然的體驗。 自然語言處理
    發(fā)表于 10-24 10:13

    手冊上新 |迅為RK3568開發(fā)板NPU例程測試

    PPOCR-Det語義分割 6.7 PPOCR-System 6.8 ppseg圖像分割 6.9 ppyoloe目標檢測 6.10 resnet圖像分類 6.11 RetinaFac
    發(fā)表于 10-23 14:06

    RK3588 技術分享 | 在Android系統中使用NPU實現Yolov5分類檢測-迅為電子

    RK3588 技術分享 | 在Android系統中使用NPU實現Yolov5分類檢測-迅為電子
    的頭像 發(fā)表于 08-23 14:58 ?789次閱讀
    RK3588 技術分享 | 在Android系統中使用NPU實現<b class='flag-5'>Yolov</b>5<b class='flag-5'>分類</b><b class='flag-5'>檢測</b>-迅為電子

    RK3588 技術分享 | 在Android系統中使用NPU實現Yolov5分類檢測

    NPU。 應用領域 圖像識別: NPU能夠迅速對圖像進行分類、檢測分割等操作,大大提升了處理效率。 語音識別: NPU實現了實時語音轉換和語音合成功能,為語音交互提供了更自然的體驗。 自然語言處理
    發(fā)表于 08-20 11:13

    基于迅為RK3588【RKNPU2項目實戰(zhàn)1】:YOLOV5實時目標分類

    【RKNPU2項目實戰(zhàn)1】:YOLOV5實時目標分類 https://www.bilibili.com/video/BV1ZN411D7V8/?spm_id_from=333.999.0.0
    發(fā)表于 08-15 10:51

    手冊上新 |迅為RK3568開發(fā)板NPU例程測試

    PPOCR-Det語義分割 6.7 PPOCR-System 6.8 ppseg圖像分割 6.9 ppyoloe目標檢測 6.10 resnet圖像分類 6.11 RetinaFac
    發(fā)表于 08-12 11:03

    圖像語義分割的實用性是什么

    什么是圖像語義分割 圖像語義分割是一種將圖像中的所有像素點按照其語義類別進行分類的任務。與傳統的圖像分類和目標檢測任務不同,語義
    的頭像 發(fā)表于 07-17 09:56 ?476次閱讀

    圖像分割與目標檢測的區(qū)別是什么

    圖像分割與目標檢測是計算機視覺領域的兩個重要任務,它們在許多應用場景中都發(fā)揮著關鍵作用。然而,盡管它們在某些方面有相似之處,但它們的目標、方法和應用場景有很大的不同。本文將介紹圖像分割與目標
    的頭像 發(fā)表于 07-17 09:53 ?1436次閱讀

    迅為RK3568手冊上新 | RK3568開發(fā)板NPU例程測試

    6.7 PPOCR-System 6.8 ppseg圖像分割 6.9 ppyoloe目標檢測 6.10 resnet圖像分類 6.11 RetinaFace人臉檢測 6.12
    發(fā)表于 07-12 14:44

    maixcam部署yolov5s 自定義模型

    yolov5 pip install -r requirements.txt pip install onnx 下載預訓練權重(博主嘗試了v7.0的和v6.0的pt都可以) https
    發(fā)表于 04-23 15:43

    OpenVINO? C# API部署YOLOv9目標檢測和實例分割模型

    YOLOv9模型是YOLO系列實時目標檢測算法中的最新版本,代表著該系列在準確性、速度和效率方面的又一次重大飛躍。
    的頭像 發(fā)表于 04-03 17:35 ?927次閱讀
    OpenVINO? C# API部署<b class='flag-5'>YOLOv</b>9目標<b class='flag-5'>檢測</b>和實例<b class='flag-5'>分割</b>模型

    OpenCV4.8 C++實現YOLOv8 OBB旋轉對象檢測

    YOLOv8框架在在支持分類、對象檢測、實例分割、姿態(tài)評估的基礎上更近一步,現已經支持旋轉對象檢測(OBB),基于DOTA數據集,支持航拍圖
    的頭像 發(fā)表于 02-22 10:15 ?1771次閱讀
    OpenCV4.8 C++實現<b class='flag-5'>YOLOv</b>8 OBB旋轉對象<b class='flag-5'>檢測</b>