成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

YOLOv9 在自定義數(shù)據(jù)集上進(jìn)行目標(biāo)檢測 | 計算機視覺項目

開發(fā)
本文我們將深入了解 YOLOv9 的工作原理以及如何使用自定義數(shù)據(jù)集在你的項目中實現(xiàn)它。

在快速發(fā)展的計算機視覺領(lǐng)域,目標(biāo)檢測是一個基石應(yīng)用程序。在眾多的目標(biāo)檢測算法中,YOLOv9已經(jīng)成為一個強大且多功能的解決方案,提供了實時檢測能力,并具有令人印象深刻的準(zhǔn)確性。在這篇全面的指南中,我們將探索在自定義數(shù)據(jù)集上訓(xùn)練YOLOv9的過程,并在測試數(shù)據(jù)上進(jìn)行推理。

通過本教程的學(xué)習(xí),你將深入了解YOLOv9的工作原理以及如何使用自定義數(shù)據(jù)集在你的項目中實現(xiàn)它。那么,讓我們開始一起探索YOLOv9的強大功能吧!

激活函數(shù)系列

  • Softmax激活函數(shù)
  • Sigmoid/Logistic激活函數(shù)
  • 雙曲正切(Tanh)激活函數(shù)
  • 修正線性單元(ReLU)激活函數(shù)

數(shù)據(jù)集:https://www.kaggle.com/datasets/snehilsanyal/construction-site-safety-image-dataset-roboflow

克隆YOLOv9倉庫

!git clone https://github.com/SkalskiP/yolov9.git

讓我們使用git clone命令從GitHub克隆YOLOv9倉庫,并開始探索使用YOLOv9進(jìn)行實時目標(biāo)檢測。Git是一個版本控制系統(tǒng),允許開發(fā)人員跟蹤他們的代碼庫的更改,與他人協(xié)作和管理項目歷史。

克隆過程完成后,我們將在機器上擁有YOLOv9倉庫的本地副本。這將使我們能夠探索代碼庫,進(jìn)行修改,并使用YOLOv9算法進(jìn)行我們自己的目標(biāo)檢測任務(wù)。

dataDir = '/content/css-data/' # css-data is the unzip path of the dataset
workingDir = '/content/' # Working Dir in google colab

在這里,我們?yōu)轫椖吭O(shè)置目錄路徑。變量dataDir保存我們CSS(建筑工地安全)數(shù)據(jù)存儲的目錄路徑。我們將其設(shè)置為'/content/css-data/',表明我們的CSS數(shù)據(jù)集文件位于'/content/'目錄內(nèi)的名為'css-data'的目錄中。

接下來,我們有變量workingDir,它定義了我們工作目錄的路徑。

num_classes = 10
classes = ['Hardhat', 'Mask', 'NO-Hardhat', 'NO-Mask', 'NO-Safety Vest', 'Person', 'Safety Cone', 'Safety Vest', 'machinery', 'vehicle']

定義了兩個變量:

  • num_classes設(shè)置為整數(shù)值10,表示分類任務(wù)中的類別數(shù)。
  • classes是一個包含10個字符串元素的列表,代表不同的類別:'Hardhat'(安全帽)、'Mask'(口罩)、'NO-Hardhat'(無安全帽)、'NO-Mask'(無口罩)、'NO-Safety Vest'(無安全背心)、'Person'(人員)、'Safety Cone'(安全錐)、'Safety Vest'(安全背心)、'machinery'(機械)和'vehicle'(車輛)。

import yaml
import os

file_dict = {
    'train': os.path.join(dataDir, 'train'),
    'val': os.path.join(dataDir, 'valid'),
    'test': os.path.join(dataDir, 'test'),
    'nc': num_classes,
    'names': classes
}
with open(os.path.join(workingDir,'yolov9', 'data.yaml'), 'w+') as f:
  yaml.dump(file_dict, f)

定義了一個名為file_dict的字典,包含以下鍵值對:

  • ‘train’:訓(xùn)練數(shù)據(jù)目錄的路徑,通過連接‘dataDir’變量和‘train’形成。
  • ‘val’:驗證數(shù)據(jù)目錄的路徑,通過連接‘dataDir’變量和‘valid’形成。
  • ‘test’:測試數(shù)據(jù)目錄的路徑,通過連接‘dataDir’變量和‘test’形成。
  • ‘nc’:類別數(shù),來源于‘num_classes’變量。
  • ‘names’:類別名稱列表,來源于‘classes’變量。

在‘workingDir/yolov9’目錄內(nèi)以寫入模式打開名為‘data.yaml’的文件。使用YAML格式將file_dict字典的內(nèi)容寫入'data.yaml'文件。如果文件不存在,則創(chuàng)建一個新文件。

下載YOLOv9權(quán)重

!wget  https://github.com/WongKinYiu/yolov9/releases/download/v0.1/yolov9-e.pt

我們現(xiàn)在正在獲取YOLOv9的預(yù)訓(xùn)練權(quán)重文件。使用!wget,我們可以直接從網(wǎng)絡(luò)環(huán)境中檢索文件。

在這個命令中,我們正在下載名為yolov9-c.pt的文件,該文件來自托管在GitHub上的YOLOv9倉庫的v0.1版本。這些預(yù)訓(xùn)練權(quán)重對于使用學(xué)習(xí)到的參數(shù)初始化我們的YOLOv9模型至關(guān)重要,使其能夠準(zhǔn)確檢測對象。

下載完成后,我們將能夠使用這些權(quán)重來微調(diào)我們的自定義數(shù)據(jù)集進(jìn)行目標(biāo)檢測任務(wù),節(jié)省了從頭開始訓(xùn)練模型所需的時間和計算資源。

cd yolov9

現(xiàn)在,讓我們導(dǎo)航到‘yolov9’目錄。‘yolov9’是我們剛剛從GitHub克隆的倉庫。這樣做,我們將獲得‘yolov9’模型的代碼,我們將用于在自定義數(shù)據(jù)集上訓(xùn)練yolov9模型。

!pip install -r requirements.txt -q

接下來,我們使用pip包管理器安裝項目所需的Python包和依賴項。!pip install命令允許我們從Python包索引(PyPI)或指定的要求文件安裝Python包。

在這里,-r requirements.txt告訴pip安裝'requirements.txt'文件中列出的所有包。該文件包含訓(xùn)練yolov9模型所必需的Python庫列表。

-q標(biāo)志代表'quiet'模式,這意味著pip將在沒有錯誤的情況下靜默執(zhí)行安裝過程,不會顯示詳細(xì)輸出。這有助于保持安裝過程的簡潔明了,特別是在腳本或自動化任務(wù)中。

!python train_dual.py --workers 8 --batch 4  --img 640 --epochs 50 --data /content/yolov9/data.yaml --weights /content/yolov9-e.pt --device 0 --cfg /content/yolov9/models/detect/yolov9.yaml --hyp /content/yolov9/data/hyps/hyp.scratch-high.yaml

這個命令啟動了YOLOv9模型的訓(xùn)練過程。但在執(zhí)行單元格之前,我們需要修改兩個參數(shù),第一個參數(shù)是—data,我們將在—data參數(shù)中傳遞上面創(chuàng)建的data.yaml文件路徑,第二個參數(shù)是—cfg,我們需要對yolov9.yaml文件進(jìn)行一些更改,因為這個原始的yolov9.yaml文件是為COCO數(shù)據(jù)集配置的,COCO數(shù)據(jù)集包含80個類別,而我們的自定義數(shù)據(jù)集有10個類別,所以我們需要在yolov9.yaml中調(diào)整nc參數(shù)并傳遞nc=10,因為我們有10個類別,而不是80,我希望你明白我的意思—hyp包含模型的超參數(shù),我們不需要修改它,所以保持原樣。

現(xiàn)在讓我們使用!python train_dual.py微調(diào)我們的自定義數(shù)據(jù)集上的yolov9模型:

  • --workers 8:這個參數(shù)指定了訓(xùn)練期間數(shù)據(jù)預(yù)處理的數(shù)據(jù)加載工作器的數(shù)量。更高的數(shù)字可以加快數(shù)據(jù)加載和預(yù)處理的速度。
  • --batch 4:這個參數(shù)設(shè)置了訓(xùn)練的批次大小。批次大小決定了每次訓(xùn)練迭代中使用的樣本數(shù)量。
  • --img 640:這個參數(shù)指定了訓(xùn)練的輸入圖像大小。在這種情況下,圖像將在訓(xùn)練期間調(diào)整為640像素的高度和寬度。
  • --epochs 5:這個參數(shù)設(shè)置了訓(xùn)練的周期數(shù)。一個周期是完整地遍歷整個訓(xùn)練數(shù)據(jù)集一次。
  • --data /content/yolov9/data.yaml:這個參數(shù)指定了包含數(shù)據(jù)集配置信息的YAML文件的路徑。
  • --weights /content/yolov9-c.pt:這個參數(shù)指定了用于在訓(xùn)練前初始化模型的預(yù)訓(xùn)練權(quán)重文件(yolov9-c.pt)的路徑。
  • --device 0:這個參數(shù)指定了用于訓(xùn)練的設(shè)備。這里,0可能表示第一個可用于訓(xùn)練的GPU設(shè)備。
  • --cfg /content/yolov9/models/detect/yolov9.yaml:這個參數(shù)指定了模型配置文件(yolov9.yaml)的路徑,該文件定義了YOLOv9模型的架構(gòu)和參數(shù)。
  • --hyp /content/yolov9/data/hyps/hyp.scratch-high.yaml:這個參數(shù)指定了超參數(shù)文件(hyp.scratch-high.yaml)的路徑,該文件包含訓(xùn)練期間模型的調(diào)整參數(shù)。

推理

!python detect.py --img 640 --conf 0.1 --device 0 --weights /content/yolov9/runs/train/exp2/weights/best.pt --source /content/css-data/test/images/004763_jpg.rf.46484e6ca73caeaa9de45822cf1085a9.jpg

from IPython.display import Image
Image(filename="/content/yolov9/runs/detect/exp2/004763_jpg.rf.46484e6ca73caeaa9de45822cf1085a9.jpg", width=600)

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

2024-07-09 08:50:23

2023-11-22 13:45:37

計算機視覺數(shù)據(jù)預(yù)處理

2024-10-07 11:12:55

2024-09-12 17:19:43

YOLO目標(biāo)檢測深度學(xué)習(xí)

2024-02-23 11:10:00

AI訓(xùn)練

2025-01-22 11:10:34

2020-01-09 11:30:40

AI 數(shù)據(jù)人工智能

2024-09-09 16:35:10

YOLO模型

2024-10-25 08:30:57

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

2021-07-15 08:00:00

人工智能深度學(xué)習(xí)技術(shù)

2023-09-12 13:59:41

OpenAI數(shù)據(jù)集

2024-10-16 16:49:44

定向邊界框目標(biāo)檢測YOLOv8

2023-06-26 10:44:42

2020-10-28 11:26:58

計算機數(shù)據(jù) 視覺

2024-11-27 16:06:12

2021-01-14 21:40:40

機器學(xué)習(xí)計算機視覺圖像數(shù)據(jù)集

2025-02-07 14:52:11

2021-08-30 09:00:00

人工智能計算機視覺機器學(xué)習(xí)

2020-10-05 21:57:17

GitHub 開源開發(fā)

2024-07-01 12:55:50

點贊
收藏

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

主站蜘蛛池模板: 国产精品视频一二三区 | 日韩精品视频一区二区三区 | 影音先锋久久 | 日韩靠逼 | 久久久久国产精品一区三寸 | 中文字幕日韩在线观看 | 中文字幕在线观看av | 国产一区精品 | 日本精品久久久久久久 | 免费能直接在线观看黄的视频 | 日韩高清国产一区在线 | 国产精品一区二区三区免费观看 | 欧美一区二区三区在线观看 | 91资源在线 | 国产亚洲精品精品国产亚洲综合 | 性一交一乱一透一a级 | 久久久久久久久久久久91 | 亚洲免费成人 | 欧美成人第一页 | 亚洲成人精品 | www一级片| 日韩视频一区二区在线 | 特级一级黄色片 | 久久久久国产精品午夜一区 | 精品国产欧美一区二区 | 亚洲资源在线 | 亚洲视频一区二区三区 | 日本精品一区二区三区在线观看 | 精品久久久久久18免费网站 | 国内久久精品 | 欧洲一区视频 | 午夜久久久 | 欧美日韩综合精品 | 欧美日韩不卡合集视频 | 欧美亚洲国语精品一区二区 | 久久精品一级 | 日本成人在线免费视频 | 久久夜视频 | 久久亚洲免费 | 欧美1区 | 久久午夜视频 |