精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

YOLOv10自定義目標檢測之理論+實踐

新機器視覺 ? 來源:新機器視覺 ? 2024-11-16 10:23 ? 次閱讀

概述

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

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

架構

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

來自 Ultralytics 的圖示

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

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

一對多頭:在訓練過程中為每個對象生成多個預測,以提供豐富的監督信號并提高學習準確性。

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

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

YOLOv10-N:用于極其資源受限環境的納米版。

YOLOv10-S:平衡速度和準確性的小型版。

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

YOLOv10-B:增加寬度以提高準確性的平衡版。

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

YOLOv10-X:用于最大化準確性的超大型版。

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

來自 Ultralytics 的圖示

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

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

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

很明顯,YOLOv10 是實時目標檢測應用的前沿技術,以更少的參數提供更高的準確性和速度性能。

訓練 YOLOv10 進行自定義目標檢測首先,克隆官方 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 上嘗試任何自定義項目,創建自己的數據集,甚至使用由 Intel 贊助的 RF100 數據集。對于本文,我將使用一個預先準備好的數據集,用于檢測 X 射線圖像中的危險物品。數據集鏈接: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")

配置參數,開始訓練:

!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

讓我們看看結果。

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

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

讓我們預測測試數據并在 5x2 網格中顯示結果。

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 目標檢測
    +關注

    關注

    0

    文章

    205

    瀏覽量

    15590
  • 數據集
    +關注

    關注

    4

    文章

    1205

    瀏覽量

    24649

原文標題:YOLOv10 自定義目標檢測 | 理論+實踐

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

收藏 人收藏

    評論

    相關推薦

    YOLOv10:引領無NMS實時目標檢測的新紀元

    。 YOLO(You Only Look Once)系列一直是實時目標檢測的基準,成功平衡了計算成本和檢測性能。盡管在架構設計和優化策略方面取得了進展,但對非最大值抑制(NMS)的依賴阻礙了端到端部署,影響了推理延遲。
    的頭像 發表于 11-13 17:12 ?432次閱讀
    <b class='flag-5'>YOLOv10</b>:引領無NMS實時<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>的新紀元

    創建自定義的基于閃存的引導加載程序(BSL)

    電子發燒友網站提供《創建自定義的基于閃存的引導加載程序(BSL).pdf》資料免費下載
    發表于 09-19 10:50 ?0次下載
    創建<b class='flag-5'>自定義</b>的基于閃存的引導加載程序(BSL)

    EtherCAT運動控制器PT/PVT實現用戶自定義軌跡規劃

    EtherCAT運動控制器PT/PVT實現用戶自定義軌跡規劃。
    的頭像 發表于 08-15 11:49 ?570次閱讀
    EtherCAT運動控制器PT/PVT實現用戶<b class='flag-5'>自定義</b>軌跡規劃

    NVIDIA NeMo加速并簡化自定義模型開發

    如果企業希望充分發揮出 AI 的力量,就需要根據其行業需求量身定制的自定義模型。
    的頭像 發表于 07-26 11:17 ?697次閱讀
    NVIDIA NeMo加速并簡化<b class='flag-5'>自定義</b>模型開發

    用OpenVINO C# API在intel平臺部署YOLOv10目標檢測模型

    的模型設計策略,從效率和精度兩個角度對YOLOs的各個組成部分進行了全面優化,大大降低了計算開銷,增強了性能。在本文中,我們將結合OpenVINO C# API使用最新發布的OpenVINO 2024.1部署YOLOv10目標檢測
    的頭像 發表于 06-21 09:23 ?952次閱讀
    用OpenVINO C# API在intel平臺部署<b class='flag-5'>YOLOv10</b><b class='flag-5'>目標</b><b class='flag-5'>檢測</b>模型

    HarmonyOS開發案例:【 自定義彈窗】

    基于ArkTS的聲明式開發范式實現了三種不同的彈窗,第一種直接使用公共組件,后兩種使用CustomDialogController實現自定義彈窗
    的頭像 發表于 05-16 18:18 ?1296次閱讀
    HarmonyOS開發案例:【 <b class='flag-5'>自定義</b>彈窗】

    TSMaster 自定義 LIN 調度表編程指導

    LIN(LocalInterconnectNetwork)協議調度表是用于LIN總線通信中的消息調度的一種機制,我們收到越來越多來自不同用戶希望能夠通過接口實現自定義LIN調度表的需求。所以在
    的頭像 發表于 05-11 08:21 ?614次閱讀
    TSMaster <b class='flag-5'>自定義</b> LIN 調度表編程指導

    HarmonyOS開發案例:【UIAbility和自定義組件生命周期】

    本文檔主要描述了應用運行過程中UIAbility和自定義組件的生命周期。對于UIAbility,描述了Create、Foreground、Background、Destroy四種生命周期。對于頁面
    的頭像 發表于 05-10 15:31 ?1191次閱讀
    HarmonyOS開發案例:【UIAbility和<b class='flag-5'>自定義</b>組件生命周期】

    maixcam部署yolov5s 自定義模型

    maixcam部署yolov5s 自定義模型 本博客將向你展示零基礎一步步的部署好自己的yolov5s模型(博主展示的是安全帽模型),訓練就引用我自己之前寫過的,已經訓練好的可以跳過該部分,其中有
    發表于 04-23 15:43

    HarmonyOS開發實例:【自定義Emitter】

    使用[Emitter]實現事件的訂閱和發布,使用[自定義彈窗]設置廣告信息。
    的頭像 發表于 04-14 11:37 ?976次閱讀
    HarmonyOS開發實例:【<b class='flag-5'>自定義</b>Emitter】

    鴻蒙ArkUI實例:【自定義組件】

    組件是 OpenHarmony 頁面最小顯示單元,一個頁面可由多個組件組合而成,也可只由一個組件組合而成,這些組件可以是ArkUI開發框架自帶系統組件,比如?`Text`?、?`Button`?等,也可以是自定義組件,本節筆者簡單介紹一下自定義組件的語法規范。
    的頭像 發表于 04-08 10:17 ?604次閱讀

    基于YOLOv8實現自定義姿態評估模型訓練

    Hello大家好,今天給大家分享一下如何基于YOLOv8姿態評估模型,實現在自定義數據集上,完成自定義姿態評估模型的訓練與推理。
    的頭像 發表于 12-25 11:29 ?2790次閱讀
    基于<b class='flag-5'>YOLOv</b>8實現<b class='flag-5'>自定義</b>姿態評估模型訓練

    博途用戶自定義庫的使用

    博途官方提供了很多庫,比如:基本函數庫、通信庫、安全庫、驅動庫等等,用戶可以使用庫中的函數/函數塊來完成具體的控制任務。除了官方的庫,我們也可以創建自己的庫(用戶自定義庫)。比如,把項目
    的頭像 發表于 12-25 10:08 ?879次閱讀
    博途用戶<b class='flag-5'>自定義</b>庫的使用

    如何基于深度學習模型訓練實現圓檢測與圓心位置預測

    Hello大家好,今天給大家分享一下如何基于深度學習模型訓練實現圓檢測與圓心位置預測,主要是通過對YOLOv8姿態評估模型在自定義的數據集上訓練,生成一個自定義的圓
    的頭像 發表于 12-21 10:50 ?1765次閱讀
    如何基于深度學習模型訓練實現圓<b class='flag-5'>檢測</b>與圓心位置預測

    基于YOLOv8的自定義醫學圖像分割

    YOLOv8是一種令人驚嘆的分割模型;它易于訓練、測試和部署。在本教程中,我們將學習如何在自定義數據集上使用YOLOv8。但在此之前,我想告訴你為什么在存在其他優秀的分割模型時應該使用YOLO
    的頭像 發表于 12-20 10:51 ?738次閱讀
    基于<b class='flag-5'>YOLOv</b>8的<b class='flag-5'>自定義</b>醫學圖像分割