自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

YOLOv11來(lái)了 | 自定義目標(biāo)檢測(cè)

人工智能 機(jī)器視覺(jué)
YOLO11 是 Ultralytics YOLO 系列的最新版本,結(jié)合了尖端的準(zhǔn)確性、速度和效率,用于目標(biāo)檢測(cè)、分割、分類(lèi)、定向邊界框和姿態(tài)估計(jì)。

概述

YOLO11 在 2024 年 9 月 27 日的 YOLO Vision 2024 活動(dòng)中宣布:https://www.youtube.com/watch?v=rfI5vOo3-_A。

YOLO11 是 Ultralytics YOLO 系列的最新版本,結(jié)合了尖端的準(zhǔn)確性、速度和效率,用于目標(biāo)檢測(cè)、分割、分類(lèi)、定向邊界框和姿態(tài)估計(jì)。與 YOLOv8 相比,它具有更少的參數(shù)和更好的結(jié)果,不難預(yù)見(jiàn),YOLO11 在邊緣設(shè)備上更高效、更快,將頻繁出現(xiàn)在計(jì)算機(jī)視覺(jué)領(lǐng)域的最先進(jìn)技術(shù)(SOTA)中。

主要特點(diǎn):

  • 增強(qiáng)的特征提?。篩OLO11 使用改進(jìn)的主干和頸部架構(gòu)來(lái)增強(qiáng)特征提取,以實(shí)現(xiàn)更精確的目標(biāo)檢測(cè)和復(fù)雜任務(wù)的性能。
  • 針對(duì)效率和速度優(yōu)化:精細(xì)的架構(gòu)設(shè)計(jì)和優(yōu)化的訓(xùn)練流程在保持準(zhǔn)確性和性能之間最佳平衡的同時(shí),提供更快的處理速度。
  • 更少的參數(shù),更高的準(zhǔn)確度:YOLO11m 在 COCO 數(shù)據(jù)集上實(shí)現(xiàn)了比 YOLOv8m 更高的 mAP,參數(shù)減少了 22%,提高了計(jì)算效率,同時(shí)不犧牲準(zhǔn)確度。
  • 跨環(huán)境的適應(yīng)性:YOLO11 可以無(wú)縫部署在邊緣設(shè)備、云平臺(tái)和配備 NVIDIA GPU 的系統(tǒng)上,確保最大的靈活性。
  • 支持廣泛的任務(wù)范圍:YOLO11 支持各種計(jì)算機(jī)視覺(jué)任務(wù),如目標(biāo)檢測(cè)、實(shí)例分割、圖像分類(lèi)、姿態(tài)估計(jì)和定向目標(biāo)檢測(cè)(OBB)。

圖片==圖片==

本教程涵蓋的步驟:

  • 環(huán)境設(shè)置
  • 準(zhǔn)備數(shù)據(jù)集
  • 訓(xùn)練模型
  • 驗(yàn)證模型
  • 在測(cè)試圖像上運(yùn)行推理
  • 結(jié)論

環(huán)境設(shè)置

你需要一個(gè)谷歌賬戶(hù)才能使用 Google Colab。我們使用 Colab 進(jìn)行需要密集計(jì)算的任務(wù),比如深度學(xué)習(xí)。由于我電腦的 GPU 不足,我需要激活 Colab 的 GPU 支持。

這樣做之后,我們檢查 gpu 活動(dòng)。

它支持高達(dá) 16GB 的內(nèi)存和 2560 CUDA 核心,以加速?gòu)V泛的現(xiàn)代應(yīng)用程序。然后執(zhí)行此代碼以動(dòng)態(tài)確定工作目錄并靈活管理文件路徑。

import os
HOME = os.getcwd()

接下來(lái),你需要下載 Ultralytics 包來(lái)加載和處理模型,以及用于數(shù)據(jù)集的 Roboflow 包。

!pip install ultralytics supervision roboflow

from ultralytics import YOLO
from roboflow import Roboflow

準(zhǔn)備數(shù)據(jù)集

在這個(gè)項(xiàng)目中,我使用了 RF100 中包含的寄生蟲(chóng)數(shù)據(jù)集。我將在這個(gè)數(shù)據(jù)集中訓(xùn)練一個(gè)有 8 種不同寄生蟲(chóng)類(lèi)別的目標(biāo)檢測(cè)模型。我將通過(guò) Roboflow 處理標(biāo)記、分類(lèi)的圖像。我經(jīng)常在我的個(gè)人項(xiàng)目中使用這個(gè)開(kāi)源平臺(tái)。在處理現(xiàn)成的數(shù)據(jù)集時(shí),你可以在數(shù)據(jù)集的健康分析部分快速獲取大量關(guān)于數(shù)據(jù)的信息。例如,下面顯示的類(lèi)別平衡部分,我們可以看到 Hymenolepis 類(lèi)別是代表不足的。

數(shù)據(jù)集相關(guān)鏈接:

  • https://universe.roboflow.com/roboflow-100/parasites-1s07h
  • https://universe.roboflow.com/roboflow-100
  • https://universe.roboflow.com/roboflow-100/parasites-1s07h/health

為了提高這個(gè)類(lèi)別的準(zhǔn)確性,你需要應(yīng)用增強(qiáng)、過(guò)采樣或調(diào)整類(lèi)別權(quán)重。我們不會(huì)在本文中討論這些主題,不用擔(dān)心,但如果你對(duì)這些任務(wù)感興趣,請(qǐng)隨時(shí)聯(lián)系我。如果有足夠需求,我也可以分享我關(guān)于這些主題的詳細(xì)工作。你可以下載并使用 Roboflow 環(huán)境中的任何開(kāi)源項(xiàng)目,按照格式使用。在準(zhǔn)備或選擇數(shù)據(jù)集后,我們將在 Colab 環(huán)境中工作我們切換到 Colab 的原因是它提供免費(fèi)的 16GB NVIDIA T4 GPU 使用。我在下面提到了這個(gè)問(wèn)題。我們需要使用 Roboflow API 以 YOLOv8 格式導(dǎo)入我們的數(shù)據(jù)。讓我們獲取現(xiàn)成的代碼片段和數(shù)據(jù)格式。

rf = Roboflow(api_key="your-api-key")
project = rf.workspace("roboflow-100").project("parasites-1s07h")
version = project.version(2)
dataset = version.download("yolov8")
!sed -i '$d' {dataset.location}/data.yaml   # Delete the last line
!sed -i '$d' {dataset.location}/data.yaml   # Delete the second-to-last line
!sed -i '$d' {dataset.location}/data.yaml   # Delete the third-to-last line

!echo 'test: ../test/images' >> {dataset.location}/data.yaml
!echo 'train: ../train/images' >> {dataset.location}/data.yaml
!echo 'val: ../valid/images' >> {dataset.location}/data.yaml

我們需要更新 data.yaml 格式,如下所示,以便以 YOLO11 格式進(jìn)行訓(xùn)練。

!sed -i '$d' {dataset.location}/data.yaml   # Delete the last line
!sed -i '$d' {dataset.location}/data.yaml   # Delete the second-to-last line
!sed -i '$d' {dataset.location}/data.yaml   # Delete the third-to-last line

!echo 'test: ../test/images' >> {dataset.location}/data.yaml
!echo 'train: ../train/images' >> {dataset.location}/data.yaml
!echo 'val: ../valid/images' >> {dataset.location}/data.yaml

訓(xùn)練模型

讓我們?cè)谖覀兊臄?shù)據(jù)集上訓(xùn)練模型 40 個(gè)周期。作為這個(gè)項(xiàng)目的一部分,我通過(guò) CLI 命令展示了訓(xùn)練。在如下所示的簡(jiǎn)單命令下定義后,訓(xùn)練開(kāi)始。

!yolo task=detect mode=train model=yolo11s.pt data={dataset.location}/data.yaml epochs=40 imgsz=640 plots=True

你也可以使用 Python 創(chuàng)建它,以實(shí)現(xiàn)更靈活的場(chǎng)景。下面展示了示例 Python 訓(xùn)練代碼:

from ultralytics import YOLO

# Load a COCO-pretrained YOLO11n model
model = YOLO("yolo11n.pt")

# Train the model on the COCO8 example dataset for 40 epochs
results = model.train(data="coco8.yaml", epochs=40, imgsz=640)

訓(xùn)練好的模型保存在 /runs/detect/train/weights 文件下的 best.pt。

一旦你的模型完成訓(xùn)練,你可以使用 YOLO11 生成的圖表評(píng)估訓(xùn)練結(jié)果。

性能指標(biāo)

混淆矩陣

注意:在訓(xùn)練模型時(shí),回顧 Ultralytics 文檔中“訓(xùn)練設(shè)置”部分的參數(shù)是有益的。這部分對(duì)您的訓(xùn)練過(guò)程至關(guān)重要。

驗(yàn)證模型

以下是使用 YOLO11 的 Val 模式的優(yōu)勢(shì):

  • 精度:獲取準(zhǔn)確的指標(biāo),如 mAP50、mAP75 和 mAP50–95,全面評(píng)估你的模型。
  • 便利性:利用內(nèi)置功能記住訓(xùn)練設(shè)置,簡(jiǎn)化驗(yàn)證過(guò)程。
  • 靈活性:使用相同或不同的數(shù)據(jù)集和圖像大小驗(yàn)證你的模型。
  • 超參數(shù)調(diào)整:使用驗(yàn)證指標(biāo)微調(diào)你的模型以獲得更好的性能。
!yolo task=detect mode=val model={HOME}/runs/detect/train/weights/best.pt data={dataset.location}/data.yaml

Val 結(jié)果

一般評(píng)估:

  • 精確度、召回率和 mAP 指標(biāo)相當(dāng)高。
  • 盡管不同類(lèi)別之間存在性能差異,但整體模型性能令人滿(mǎn)意。
  • 在速度方面,這是一個(gè)有效的模型,推理時(shí)間很低。

在測(cè)試數(shù)據(jù)集上運(yùn)行推理

讓我們?cè)u(píng)估模型的泛化能力,看看它在之前未見(jiàn)過(guò)的測(cè)試數(shù)據(jù)集上的預(yù)測(cè)。

# predict mode for test data
!yolo task=detect mode=predict model={HOME}/runs/detect/train/weights/best.pt conf=0.25 source={dataset.location}/test/images save=True
# for visualization

latest_folder = max(glob.glob('/content/runs/detect/predict*/'), key=os.path.getmtime)
for img in glob.glob(f'{latest_folder}/*.jpg')[:1]:
    display(IPyImage(filename=img, width=600))
    print("\n")

結(jié)果

責(zé)任編輯:趙寧寧 來(lái)源: 小白玩轉(zhuǎn)Python
相關(guān)推薦

2025-01-06 08:20:00

YOLOv11目標(biāo)檢測(cè)Python

2024-10-24 20:56:36

2024-07-09 08:50:23

2025-01-22 11:10:34

2024-10-30 16:34:56

2024-11-27 10:27:56

2024-11-06 16:56:51

2022-03-29 15:05:17

iOS蘋(píng)果自定義功能

2025-01-21 11:41:14

2024-05-27 09:27:02

2025-01-03 16:17:08

2020-10-05 21:57:17

GitHub 開(kāi)源開(kāi)發(fā)

2015-11-10 20:20:29

2021-08-13 14:08:24

Windows 11Windows微軟

2020-06-12 14:25:36

框架PyTorch開(kāi)發(fā)

2023-07-28 09:26:43

GolangZap

2021-08-25 10:14:51

鴻蒙HarmonyOS應(yīng)用

2024-10-25 08:30:57

計(jì)算機(jī)視覺(jué)神經(jīng)網(wǎng)絡(luò)YOLOv8模型

2024-10-14 17:43:05

2024-07-22 13:49:38

YOLOv8目標(biāo)檢測(cè)開(kāi)發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)