91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

YOLOv10自定義目標(biāo)檢測之理論+實踐

新機器視覺 ? 來源:新機器視覺 ? 2024-11-16 10:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

YOLOv10 是由清華大學(xué)研究人員利用 Ultralytics Python 軟件包開發(fā)的,它通過改進模型架構(gòu)并消除非極大值抑制(NMS)提供了一種新穎的實時目標(biāo)檢測方法。這些優(yōu)化使得模型在保持先進性能的同時,降低了計算需求。大量實驗表明,YOLOv10 在各種模型規(guī)模上提供了更優(yōu)的準(zhǔn)確率-延遲權(quán)衡。

正如讀過我之前文章的朋友所知道的,我分享了使用 YOLO 模型的各種項目,因為在預(yù)訓(xùn)練模型中,YOLO 模型在性能和效率方面明顯優(yōu)于其他模型。然而,實時目標(biāo)檢測由于依賴非極大值抑制(NMS)和架構(gòu)效率低下而面臨挑戰(zhàn)。YOLOv10 通過消除 NMS 并采用專注于效率和準(zhǔn)確性的設(shè)計策略解決了這些問題。

架構(gòu)

7e74ea22-907e-11ef-a511-92fbcf53809c.png

來自 Ultralytics 的圖示

骨干網(wǎng)絡(luò):負(fù)責(zé)特征提取,YOLOv10 的骨干網(wǎng)絡(luò)使用增強版的 CSPNet(交叉階段部分網(wǎng)絡(luò))來改善梯度流動并減少計算冗余。

頸部網(wǎng)絡(luò):設(shè)計用于聚合不同尺度的特征并將其傳遞到頭部網(wǎng)絡(luò)。它包含用于有效多尺度特征融合的 PAN(路徑聚合網(wǎng)絡(luò))層。

一對多頭:在訓(xùn)練過程中為每個對象生成多個預(yù)測,以提供豐富的監(jiān)督信號并提高學(xué)習(xí)準(zhǔn)確性。

一對一頭:在推理過程中為每個對象生成一個最佳預(yù)測,消除 NMS 的需要,從而減少延遲并提高效率。

模型變體及性能YOLOv10 提供六種模型:

YOLOv10-N:用于極其資源受限環(huán)境的納米版。

YOLOv10-S:平衡速度和準(zhǔn)確性的小型版。

YOLOv10-M:用于通用的中型版。

YOLOv10-B:增加寬度以提高準(zhǔn)確性的平衡版。

YOLOv10-L:在增加計算資源成本的情況下提高準(zhǔn)確性的高級版。

YOLOv10-X:用于最大化準(zhǔn)確性的超大型版。

7ea01b02-907e-11ef-a511-92fbcf53809c.png

來自 Ultralytics 的圖示

比較讓我們看看在標(biāo)準(zhǔn)基準(zhǔn)(如 COCO)上測試的不同模型在延遲和準(zhǔn)確性方面的比較。

7eb47d86-907e-11ef-a511-92fbcf53809c.png

7ed6e9e8-907e-11ef-a511-92fbcf53809c.png

很明顯,YOLOv10 是實時目標(biāo)檢測應(yīng)用的前沿技術(shù),以更少的參數(shù)提供更高的準(zhǔn)確性和速度性能。

訓(xùn)練 YOLOv10 進行自定義目標(biāo)檢測首先,克隆官方 YOLOv10 GitHub 倉庫以下載必要的 yolov10n 模型。

!pip install -q git+https://github.com/THU-MIG/yolov10.git


!wget -P -q https://github.com/jameslahm/yolov10/releases/download/v1.0/yolov10n.pt

您可以在 Roboflow Universe 上嘗試任何自定義項目,創(chuàng)建自己的數(shù)據(jù)集,甚至使用由 Intel 贊助的 RF100 數(shù)據(jù)集。對于本文,我將使用一個預(yù)先準(zhǔn)備好的數(shù)據(jù)集,用于檢測 X 射線圖像中的危險物品。數(shù)據(jù)集鏈接:https://universe.roboflow.com/vladutc/x-ray-baggage

使用 Roboflow API 以 YOLOv8 格式下載您的模型。

!pip install -q roboflow
from roboflow import Roboflow
rf = Roboflow(api_key="your-api-key")
project = rf.workspace("vladutc").project("x-ray-baggage")
version = project.version(3)
dataset = version.download("yolov8")

配置參數(shù),開始訓(xùn)練:

!yolo task=detect mode=train epochs=25 batch=32 plots=True 
model='/content/-q/yolov10n.pt' 
data='/content/X-Ray-Baggage-3/data.yaml'

示例 data.yaml 文件

names:
- Gun
- Knife
- Pliers
- Scissors
- Wrench


nc: 5


roboflow:
  license: CC BY 4.0
  project: x-ray-baggage
  url: https://universe.roboflow.com/vladutc/x-ray-baggage/dataset/3
  version: 3
  workspace: vladutc


test: /content/X-Ray-Baggage-3/test/images
train: /content/X-Ray-Baggage-3/train/images
val: /content/X-Ray-Baggage-3/valid/images

讓我們看看結(jié)果。

Image(filename='/content/runs/detect/train/results.png', width=1000)

7f01287a-907e-11ef-a511-92fbcf53809c.png

讓我們預(yù)測測試數(shù)據(jù)并在 5x2 網(wǎng)格中顯示結(jié)果。

from ultralytics import YOLOv10


model_path = '/content/runs/detect/train/weights/best.pt'
model = YOLOv10(model_path)
results = model(source='/content/X-Ray-Baggage-3/test/images', conf=0.25,save=True)
import glob
import matplotlib.pyplot as plt
import matplotlib.image as mpimg


images = glob.glob('/content/runs/detect/predict/*.jpg')


images_to_display = images[:10]


fig, axes = plt.subplots(2, 5, figsize=(20, 10))


for i, ax in enumerate(axes.flat):
    if i < len(images_to_display):
        img = mpimg.imread(images_to_display[i])
        ax.imshow(img)
        ax.axis('off')  
    else:
        ax.axis('off')  


plt.tight_layout()
plt.show()

7f26fb68-907e-11ef-a511-92fbcf53809c.png

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

    關(guān)注

    0

    文章

    233

    瀏覽量

    16490
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1236

    瀏覽量

    26185

原文標(biāo)題:YOLOv10 自定義目標(biāo)檢測 | 理論+實踐

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何為 Vision Five 2 編譯自定義 Linux 內(nèi)核?

    Vision Five 2 的 Debian 用戶指南只提供了半頁關(guān)于如何編譯自己的內(nèi)核的相當(dāng)稀疏的內(nèi)容。僅從該文檔中,我無法制作我的自定義內(nèi)核。那里的信息似乎相當(dāng)不完整。如果有人能提供一些
    發(fā)表于 02-24 07:44

    電能質(zhì)量監(jiān)測裝置可自定義監(jiān)測時段嗎?

    電能質(zhì)量監(jiān)測裝置普遍支持自定義監(jiān)測時段,現(xiàn)代中高端裝置還具備分時差異化監(jiān)測與靈活觸發(fā)能力,可按時間、事件或混合策略定制采集與存儲,兼顧精度、效率與存儲成本。 一、自定義監(jiān)測時段的核心實現(xiàn)方式 1.
    的頭像 發(fā)表于 12-10 16:49 ?1069次閱讀

    電能質(zhì)量在線監(jiān)測裝置的自定義監(jiān)測時段功能有哪些應(yīng)用場景?

    電能質(zhì)量在線監(jiān)測裝置的 自定義監(jiān)測時段功能 ,核心價值是通過 “按需配置監(jiān)測時間、采樣頻率和數(shù)據(jù)策略”,實現(xiàn)精準(zhǔn)監(jiān)測、資源優(yōu)化與數(shù)據(jù)針對性分析,其應(yīng)用場景覆蓋工業(yè)生產(chǎn)、商業(yè)運營、電網(wǎng)運維、特殊保障等
    的頭像 發(fā)表于 12-10 14:01 ?402次閱讀
    電能質(zhì)量在線監(jiān)測裝置的<b class='flag-5'>自定義</b>監(jiān)測時段功能有哪些應(yīng)用場景?

    電能質(zhì)量在線監(jiān)測裝置的自定義監(jiān)測時段功能與離線監(jiān)測有什么區(qū)別?

    電能質(zhì)量在線監(jiān)測裝置的 自定義監(jiān)測時段功能 與 離線監(jiān)測 是兩個不同維度的功能,核心區(qū)別在于 設(shè)計目標(biāo)、網(wǎng)絡(luò)依賴、數(shù)據(jù)流轉(zhuǎn)方式 及 應(yīng)用場景 ,具體差異可從以下多維度展開: 一、核心定義與設(shè)計
    的頭像 發(fā)表于 12-10 14:00 ?465次閱讀
    電能質(zhì)量在線監(jiān)測裝置的<b class='flag-5'>自定義</b>監(jiān)測時段功能與離線監(jiān)測有什么區(qū)別?

    無圖形界面模式下自定義檢查工具的應(yīng)用

    此前文章已介紹 ANSA 中的自定義檢查工具。本文將探討該功能在無圖形界面(No-GUI)模式下的應(yīng)用,旨在滿足標(biāo)準(zhǔn)化工作流程的需求,適用于需要高度自動化的前處理場景。通過集成自定義檢查,用戶可實現(xiàn)工作流程的高效自動化運行。
    的頭像 發(fā)表于 11-30 14:13 ?577次閱讀
    無圖形界面模式下<b class='flag-5'>自定義</b>檢查工具的應(yīng)用

    采用匯編指示符來使用自定義指令

    具體實現(xiàn) 1、采用.word .half .dword等匯編指示符直接插入自定義指令,這種方法需要自己指定寄存器。其中.word為插入一個字的數(shù)據(jù)即32位,.half為插入半字即16位
    發(fā)表于 10-28 06:02

    LOTO示波器自定義解碼功能—CANFD解碼

    LOTO示波器軟件更新了自定義解碼功能,并在bilibili上傳了演示視頻,視頻鏈接: https://www.bilibili.com/video/BV1wq3ezjEjQ
    的頭像 發(fā)表于 07-11 10:34 ?1047次閱讀
    LOTO示波器<b class='flag-5'>自定義</b>解碼功能—CANFD解碼

    大彩講堂:VisualTFT軟件如何自定義圓形進度條

    VisualTFT軟件如何自定義圓形進度條
    的頭像 發(fā)表于 07-07 17:10 ?1614次閱讀
    大彩講堂:VisualTFT軟件如何<b class='flag-5'>自定義</b>圓形進度條

    KiCad 中的自定義規(guī)則(KiCon 演講)

    設(shè)計規(guī)則 展開,重點探討了 那些復(fù)雜卻強大的特性。 由于這些規(guī)則本質(zhì)上是基于文本表達(dá)的,需要用戶細(xì)致入微的理解。演講的 核心目標(biāo) 是引導(dǎo)用戶有效實施這些規(guī)則,從而 規(guī)避布線問題、提升制造良率,并優(yōu)化設(shè)計流程 。 討論 始于對自定義設(shè)計規(guī)則的
    的頭像 發(fā)表于 06-16 11:17 ?2107次閱讀
    KiCad 中的<b class='flag-5'>自定義</b>規(guī)則(KiCon 演講)

    HarmonyOS應(yīng)用自定義鍵盤解決方案

    自定義鍵盤是一種替換系統(tǒng)默認(rèn)鍵盤的解決方案,可實現(xiàn)鍵盤個性化交互。允許用戶結(jié)合業(yè)務(wù)需求與操作習(xí)慣,對按鍵布局進行可視化重構(gòu)、設(shè)置多功能組合鍵位,使輸入更加便捷和舒適。在安全防護層面,自定義鍵盤可以
    的頭像 發(fā)表于 06-05 14:19 ?2386次閱讀

    如何使用自定義設(shè)置回調(diào)函數(shù)?

    你好,我正在嘗試編寫自己的自定義設(shè)置回調(diào)函數(shù),并使用 fastEnum=false。 是否有任何代碼示例或資料可供我參考? void CyU3PUsbRegisterSetupCallback
    發(fā)表于 05-21 06:11

    LabVIEW運動控制(三):EtherCAT運動控制器的高效加工指令自定義封裝

    LabVIEW高效加工指令自定義封裝
    的頭像 發(fā)表于 04-08 13:49 ?3621次閱讀
    LabVIEW運動控制(三):EtherCAT運動控制器的高效加工指令<b class='flag-5'>自定義</b>封裝

    請問如何在imx8mplus上部署和運行YOLOv5訓(xùn)練的模型?

    我正在從事 imx8mplus yocto 項目。我已經(jīng)在自定義數(shù)據(jù)集上的 YOLOv5 上訓(xùn)練了對象檢測模型。它在 ubuntu 電腦上運行良好。現(xiàn)在我想在我的 imx8mplus 板上運行該模型
    發(fā)表于 03-25 07:23

    如何添加自定義單板

    在開發(fā)過程中,用戶有時需要創(chuàng)建自定義板配置。本節(jié)將通過一個實例講解用戶如何創(chuàng)建屬于自己的machine,下面以g2l-test.conf為例進行說明。
    的頭像 發(fā)表于 03-12 14:43 ?1343次閱讀

    使用OpenVINO? 2021.4在CPU和MYRIAD上進行自定義對象檢測,為什么結(jié)果差異巨大?

    使用自定義訓(xùn)練的模型執(zhí)行推理,以便在 2021.4 OpenVINO?中進行人員檢測。 與 MYRIAD 相比,CPU 的輸出結(jié)果取得了巨大的差異
    發(fā)表于 03-06 07:45