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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用YOLOv8做目標(biāo)檢測(cè)和實(shí)例分割的演示

新機(jī)器視覺(jué) ? 來(lái)源:OpenCV與AI深度學(xué)習(xí) ? 2023-02-06 10:11 ? 次閱讀

背景介紹

YOLOv8是來(lái)自Ultralytics的最新的基于YOLO的對(duì)象檢測(cè)模型系列,提供最先進(jìn)的性能。

利用以前的 YOLO 版本,YOLOv8模型更快、更準(zhǔn)確,同時(shí)為訓(xùn)練模型提供統(tǒng)一框架,以執(zhí)行:

物體檢測(cè)

實(shí)例分割

圖像分類

下面是使用YOLOv8做目標(biāo)檢測(cè)和實(shí)例分割的演示視頻

YOLOv8的新特性與可用模型

Ultralytics為YOLO模型發(fā)布了一個(gè)全新的存儲(chǔ)庫(kù)。它被構(gòu)建為 用于訓(xùn)練對(duì)象檢測(cè)、實(shí)例分割和圖像分類模型的統(tǒng)一框架。

以下是有關(guān)新版本的一些主要功能:

用戶友好的 API(命令行 + Python)。

更快更準(zhǔn)確。

支持:

物體檢測(cè)

實(shí)例分割

圖像分類

可擴(kuò)展到所有以前的版本。

新骨干網(wǎng)絡(luò)。

新的無(wú)錨頭。

新的損失函數(shù)。

YOLOv8 還高效靈活地支持多種導(dǎo)出格式,并且該模型可以在 CPUGPU 上運(yùn)行。

YOLOv8 模型的每個(gè)類別中有五個(gè)模型用于檢測(cè)、分割和分類。YOLOv8 Nano 是最快和最小的,而 YOLOv8 Extra Large (YOLOv8x) 是其中最準(zhǔn)確但最慢的。

ebcaf7c2-a4cd-11ed-bfe3-dac502259ad0.png

YOLOv8 捆綁了以下預(yù)訓(xùn)練模型:

在圖像分辨率為 640 的 COCO 檢測(cè)數(shù)據(jù)集上訓(xùn)練的對(duì)象檢測(cè)檢查點(diǎn)。

在圖像分辨率為 640 的 COCO 分割數(shù)據(jù)集上訓(xùn)練的實(shí)例分割檢查點(diǎn)。

在圖像分辨率為 224 的 ImageNet 數(shù)據(jù)集上預(yù)訓(xùn)練的圖像分類模型。

如下是使用YOLOv8x做目標(biāo)檢測(cè)和實(shí)例分割模型的輸出:

ebdf5c1c-a4cd-11ed-bfe3-dac502259ad0.gif

如何使用YOLOv8

要充分發(fā)揮YOLOv8的潛力,需要從存儲(chǔ)庫(kù)和ultralytics包中安裝要求。要安裝要求,我們首先需要克隆存儲(chǔ)庫(kù)。

最新版本中,Ultralytics YOLOv8提供了完整的命令行界面 (CLI) API 和 Python SDK,用于執(zhí)行訓(xùn)練、驗(yàn)證和推理。要使用yoloCLI,我們需要安裝ultralytics包。

pip install ultralytics
【1】如何使用命令行界面 (CLI) 使用 YOLOv8? 安裝必要的包后,我們可以使用命令訪問(wèn) YOLOv8 CLI yolo。以下是使用yoloCLI 運(yùn)行對(duì)象檢測(cè)推理的示例。
yolo task=detect 
mode=predict 
model=yolov8n.pt 
source="image.jpg"
該task標(biāo)志可以接受三個(gè)參數(shù):detect、classify和segment。同樣,模式可以是train、val或之一predict。我們也可以像export導(dǎo)出經(jīng)過(guò)訓(xùn)練的模型時(shí)一樣傳遞模式。 【2】如何通過(guò)Python API使用YOLOv8? 我們還可以創(chuàng)建一個(gè)簡(jiǎn)單的Python文件,導(dǎo)入YOLO模塊并執(zhí)行我們選擇的任務(wù)。
from ultralytics import YOLO


model = YOLO("yolov8n.pt")  # load a pretrained YOLOv8n model


model.train(data="coco128.yaml")  # train the model
model.val()  # evaluate model performance on the validation set
model.predict(source="https://ultralytics.com/images/bus.jpg")  # predict on an image
model.export(format="onnx")  # export the model to ONNX format

例如,上述代碼首先會(huì)在COCO128數(shù)據(jù)集上訓(xùn)練YOLOv8 Nano模型,在驗(yàn)證集上進(jìn)行評(píng)估,并對(duì)樣本圖像進(jìn)行預(yù)測(cè)。

讓我們使用yoloCLI 并使用對(duì)象檢測(cè)、實(shí)例分割和圖像分類模型進(jìn)行推理。

【3】目標(biāo)檢測(cè)的推理結(jié)果 以下命令使用YOLOv8 Nano模型對(duì)視頻運(yùn)行檢測(cè)。

yolotask=detectmode=predictmodel=yolov8n.ptsource='input/video_3.mp4'show=True
推理在筆記本電腦GTX1060 GPU上以接近105 FPS的速度運(yùn)行。我們得到以下輸出:

f1f5f700-a4cd-11ed-bfe3-dac502259ad0.gif

YOLOv8 Nano 模型在幾幀中將貓混淆為狗。讓我們使用 YOLOv8 Extra Large 模型對(duì)同一視頻運(yùn)行檢測(cè)并檢查輸出:

yolotask=detectmode=predictmodel=yolov8x.ptsource='input/video_3.mp4'show=True
Extra Large模型在GTX1060 GPU上的平均運(yùn)行速度為 17 FPS。

f81dd382-a4cd-11ed-bfe3-dac502259ad0.gif

【4】實(shí)例分割的推理結(jié)果 使用YOLOv8 實(shí)例分割模型運(yùn)行推理同樣簡(jiǎn)單。我們只需要更改上面命令中的task和model名稱。

yolotask=segmentmode=predictmodel=yolov8x-seg.ptsource='input/video_3.mp4'show=True
因?yàn)閷?shí)例分割與對(duì)象檢測(cè)相結(jié)合,所以這次的平均 FPS 約為 13。

f925e670-a4cd-11ed-bfe3-dac502259ad0.gif

分割圖在輸出中看起來(lái)非常干凈。即使貓?jiān)谧詈髱讕卸阍诜綁K下,模型也能夠檢測(cè)并分割它。

【5】圖像分類推理結(jié)果

最后,由于YOLOv8已經(jīng)提供了預(yù)訓(xùn)練的分類模型,讓我們使用該yolov8x-cls模型對(duì)同一視頻進(jìn)行分類推理。這是存儲(chǔ)庫(kù)提供的最大分類模型。

yolo task=classify mode=predict model=yolov8x-cls.pt source='input/video_3.mp4' show=True

fa2c15f8-a4cd-11ed-bfe3-dac502259ad0.gif

默認(rèn)情況下,視頻使用模型預(yù)測(cè)的前5個(gè)類進(jìn)行注釋。在沒(méi)有任何后處理的情況下,注釋直接匹配ImageNet類名。






審核編輯:劉清

文章出處:【微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4767

    瀏覽量

    84375
  • CLI
    CLI
    +關(guān)注

    關(guān)注

    1

    文章

    79

    瀏覽量

    8521

原文標(biāo)題:使用YOLOv8做目標(biāo)檢測(cè)、實(shí)例分割和圖像分類

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TensorRT 8.6 C++開(kāi)發(fā)環(huán)境配置與YOLOv8實(shí)例分割推理演示

    對(duì)YOLOv8實(shí)例分割TensorRT 推理代碼已經(jīng)完成C++類封裝,三行代碼即可實(shí)現(xiàn)YOLOv8對(duì)象檢測(cè)
    的頭像 發(fā)表于 04-25 10:49 ?5528次閱讀
    TensorRT 8.6 C++開(kāi)發(fā)環(huán)境配置與<b class='flag-5'>YOLOv8</b><b class='flag-5'>實(shí)例</b><b class='flag-5'>分割</b>推理<b class='flag-5'>演示</b>

    在AI愛(ài)克斯開(kāi)發(fā)板上用OpenVINO?加速YOLOv8分類模型

    本系列文章將在 AI 愛(ài)克斯開(kāi)發(fā)板上使用 OpenVINO 開(kāi)發(fā)套件依次部署并測(cè)評(píng) YOLOv8 的分類模型、目標(biāo)檢測(cè)模型、實(shí)例分割模型和人
    的頭像 發(fā)表于 05-05 11:47 ?1001次閱讀
    在AI愛(ài)克斯開(kāi)發(fā)板上用OpenVINO?加速<b class='flag-5'>YOLOv8</b>分類模型

    在AI愛(ài)克斯開(kāi)發(fā)板上用OpenVINO?加速YOLOv8目標(biāo)檢測(cè)模型

    《在 AI 愛(ài)克斯開(kāi)發(fā)板上用 OpenVINO 加速 YOLOv8 分類模型》介紹了在 AI 愛(ài)克斯開(kāi)發(fā)板上使用 OpenVINO 開(kāi)發(fā)套件部署并測(cè)評(píng) YOLOv8 的分類模型,本文將介紹在 AI 愛(ài)克斯開(kāi)發(fā)板上使用 OpenVINO 加速
    的頭像 發(fā)表于 05-12 09:08 ?1237次閱讀
    在AI愛(ài)克斯開(kāi)發(fā)板上用OpenVINO?加速<b class='flag-5'>YOLOv8</b><b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測(cè)</b>模型

    YOLOv8版本升級(jí)支持小目標(biāo)檢測(cè)與高分辨率圖像輸入

    YOLOv8版本最近版本又更新了,除了支持姿態(tài)評(píng)估以外,通過(guò)模型結(jié)構(gòu)的修改還支持了小目標(biāo)檢測(cè)與高分辨率圖像檢測(cè)。原始的YOLOv8模型結(jié)構(gòu)如
    的頭像 發(fā)表于 05-16 11:14 ?1.2w次閱讀
    <b class='flag-5'>YOLOv8</b>版本升級(jí)支持小<b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測(cè)</b>與高分辨率圖像輸入

    AI愛(ài)克斯開(kāi)發(fā)板上使用OpenVINO加速YOLOv8目標(biāo)檢測(cè)模型

    《在AI愛(ài)克斯開(kāi)發(fā)板上用OpenVINO加速YOLOv8分類模型》介紹了在AI愛(ài)克斯開(kāi)發(fā)板上使用OpenVINO 開(kāi)發(fā)套件部署并測(cè)評(píng)YOLOv8的分類模型,本文將介紹在AI愛(ài)克斯開(kāi)發(fā)板上使用OpenVINO加速YOLOv8
    的頭像 發(fā)表于 05-26 11:03 ?1161次閱讀
    AI愛(ài)克斯開(kāi)發(fā)板上使用OpenVINO加速<b class='flag-5'>YOLOv8</b><b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測(cè)</b>模型

    在AI愛(ài)克斯開(kāi)發(fā)板上用OpenVINO?加速YOLOv8-seg實(shí)例分割模型

    《在 AI 愛(ài)克斯開(kāi)發(fā)板上用 OpenVINO 加速 YOLOv8 目標(biāo)檢測(cè)模型》介紹了在 AI 愛(ài)克斯開(kāi)發(fā)板上使用 OpenVINO 開(kāi)發(fā)套件部署并測(cè)評(píng) YOLOv8
    的頭像 發(fā)表于 06-05 11:52 ?934次閱讀
    在AI愛(ài)克斯開(kāi)發(fā)板上用OpenVINO?加速<b class='flag-5'>YOLOv8</b>-seg<b class='flag-5'>實(shí)例</b><b class='flag-5'>分割</b>模型

    教你如何用兩行代碼搞定YOLOv8各種模型推理

    大家好,YOLOv8 框架本身提供的API函數(shù)是可以兩行代碼實(shí)現(xiàn) YOLOv8 模型推理,這次我把這段代碼封裝成了一個(gè)類,只有40行代碼左右,可以同時(shí)支持YOLOv8對(duì)象檢測(cè)、
    的頭像 發(fā)表于 06-18 11:50 ?2933次閱讀
    教你如何用兩行代碼搞定<b class='flag-5'>YOLOv8</b>各種模型推理

    目標(biāo)檢測(cè)算法再升級(jí)!YOLOv8保姆級(jí)教程一鍵體驗(yàn)

    YOLO作為一種基于圖像全局信息進(jìn)行預(yù)測(cè)的目標(biāo)檢測(cè)系統(tǒng),始終保持著極高的迭代更新率,從YOLOv5到YOLOv8,本次升級(jí)主要包括結(jié)構(gòu)算法、命令行界面、PythonAPI等。具體到
    的頭像 發(fā)表于 02-28 11:16 ?2504次閱讀
    <b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測(cè)</b>算法再升級(jí)!<b class='flag-5'>YOLOv8</b>保姆級(jí)教程一鍵體驗(yàn)

    在AI愛(ài)克斯開(kāi)發(fā)板上用OpenVINO?加速YOLOv8-seg實(shí)例分割模型

    《在 AI 愛(ài)克斯開(kāi)發(fā)板上用 OpenVINO 加速 YOLOv8 目標(biāo)檢測(cè)模型》介紹了在 AI 愛(ài)克斯開(kāi)發(fā)板上使用 OpenVINO 開(kāi)發(fā)套件部署并測(cè)評(píng) YOLOv8
    的頭像 發(fā)表于 06-30 10:43 ?846次閱讀
    在AI愛(ài)克斯開(kāi)發(fā)板上用OpenVINO?加速<b class='flag-5'>YOLOv8</b>-seg<b class='flag-5'>實(shí)例</b><b class='flag-5'>分割</b>模型

    三種主流模型部署框架YOLOv8推理演示

    部署。這里以YOLOv8為例,演示YOLOv8對(duì)象檢測(cè)模型在OpenVINO、ONNXRUNTIME、TensorRT三個(gè)主流框架上C++推理演示
    的頭像 發(fā)表于 08-06 11:39 ?2580次閱讀

    用自己的數(shù)據(jù)集訓(xùn)練YOLOv8實(shí)例分割模型

    YOLOv8 于 2023 年 1 月 10 日推出。截至目前,這是計(jì)算機(jī)視覺(jué)領(lǐng)域分類、檢測(cè)分割任務(wù)的最先進(jìn)模型。該模型在準(zhǔn)確性和執(zhí)行時(shí)間方面都優(yōu)于所有已知模型。
    的頭像 發(fā)表于 11-10 16:44 ?4011次閱讀
    用自己的數(shù)據(jù)集訓(xùn)練<b class='flag-5'>YOLOv8</b><b class='flag-5'>實(shí)例</b><b class='flag-5'>分割</b>模型

    基于YOLOv8的自定義醫(yī)學(xué)圖像分割

    YOLOv8是一種令人驚嘆的分割模型;它易于訓(xùn)練、測(cè)試和部署。在本教程中,我們將學(xué)習(xí)如何在自定義數(shù)據(jù)集上使用YOLOv8。但在此之前,我想告訴你為什么在存在其他優(yōu)秀的分割模型時(shí)應(yīng)該使用
    的頭像 發(fā)表于 12-20 10:51 ?707次閱讀
    基于<b class='flag-5'>YOLOv8</b>的自定義醫(yī)學(xué)圖像<b class='flag-5'>分割</b>

    YOLOv8實(shí)現(xiàn)旋轉(zhuǎn)對(duì)象檢測(cè)

    YOLOv8框架在在支持分類、對(duì)象檢測(cè)、實(shí)例分割、姿態(tài)評(píng)估的基礎(chǔ)上更近一步,現(xiàn)已經(jīng)支持旋轉(zhuǎn)對(duì)象檢測(cè)(OBB),基于DOTA數(shù)據(jù)集,支持航拍圖
    的頭像 發(fā)表于 01-11 10:43 ?1634次閱讀
    <b class='flag-5'>YOLOv8</b>實(shí)現(xiàn)旋轉(zhuǎn)對(duì)象<b class='flag-5'>檢測(cè)</b>

    OpenCV4.8 C++實(shí)現(xiàn)YOLOv8 OBB旋轉(zhuǎn)對(duì)象檢測(cè)

    YOLOv8框架在在支持分類、對(duì)象檢測(cè)、實(shí)例分割、姿態(tài)評(píng)估的基礎(chǔ)上更近一步,現(xiàn)已經(jīng)支持旋轉(zhuǎn)對(duì)象檢測(cè)(OBB),基于DOTA數(shù)據(jù)集,支持航拍圖
    的頭像 發(fā)表于 02-22 10:15 ?1419次閱讀
    OpenCV4.8 C++實(shí)現(xiàn)<b class='flag-5'>YOLOv8</b> OBB旋轉(zhuǎn)對(duì)象<b class='flag-5'>檢測(cè)</b>

    YOLOv8中的損失函數(shù)解析

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