安全帽檢測數據集簡介(約2萬張圖片)
- 📦 已發布目標檢測數據集合集(持續更新)
- 安全帽檢測數據集簡介(約2萬張圖片)
- 📁 數據集概況
- 🖼? 數據樣本展示
- YOLOv8 訓練實戰
- 📦 1. 環境配置
- 安裝 YOLOv8 官方庫 ultralytics
- 📁 2. 數據準備
- 2.1 數據標注格式(YOLO)
- 2.2 文件結構示例
- 2.3 創建 data.yaml 配置文件
- 🚀 3. 模型訓練
- 關鍵參數補充說明:
- 📈 4. 模型驗證與測試
- 4.1 驗證模型性能
- 關鍵參數詳解
- 常用可選參數
- 典型輸出指標
- 4.2 推理測試圖像
- 🧠 5. 自定義推理腳本(Python)
- 🛠 6. 部署建議
📦 已發布目標檢測數據集合集(持續更新)
數據集名稱 | 圖像數量 | 應用方向 | 博客鏈接 |
---|---|---|---|
🔌 電網巡檢檢測數據集 | 1600 張 | 電力設備目標檢測 | 點擊查看 |
🔥 火焰 / 煙霧 / 人檢測數據集 | 10000張 | 安防監控,多目標檢測 | 點擊查看 |
🚗 高質量車牌識別數據集 | 10,000 張 | 交通監控 / 車牌識別 | 點擊查看 |
🌿 農田雜草航拍檢測數據集 | 1,200 張 | 農業智能巡檢 | 點擊查看 |
🐑 航拍綿羊檢測數據集 | 1,700 張 | 畜牧監控 / 航拍檢測 | 點擊查看 |
🌡? 熱成像人體檢測數據集 | 15,000 張 | 熱成像下的行人檢測 | 點擊查看 |
🦺 安全背心檢測數據集 | 3,897 張 | 工地安全 / PPE識別 | 點擊查看 |
📌 每篇文章附帶模型指標、訓練思路與推理部署建議,歡迎點贊收藏支持~
安全帽檢測數據集簡介(約2萬張圖片)
在工業與建筑場景中,佩戴安全帽是關鍵的安全措施。本數據集專注于 目標檢測任務中的安全帽識別,特別適用于構建工地安全監控、智能識別模型等應用場景。
📁 數據集概況
- 名稱:Hard Hats Computer Vision Project
- 圖像數量:19,745 張
- 任務類型:目標檢測(Object Detection)
- 標注類別:
Hardhat
(佩戴安全帽)NO-Hardhat
(未佩戴安全帽)
🖼? 數據樣本展示
🎯 應用場景
- 智慧工地/安防監控系統
- 智能識別 PPE 穿戴情況
- 安全合規性巡檢輔助
- 自動報警系統集成
YOLOv8 訓練實戰
本教程介紹如何使用 YOLOv8 對目標進行識別與檢測。涵蓋環境配置、數據準備、訓練模型、模型推理和部署等全過程。
📦 1. 環境配置
建議使用 Python 3.8+,并確保支持 CUDA 的 GPU 環境。
# 創建并激活虛擬環境(可選)
python -m venv yolov8_env
source yolov8_env/bin/activate # Windows 用戶使用 yolov8_env\Scripts\activate
安裝 YOLOv8 官方庫 ultralytics
pip install ultralytics
📁 2. 數據準備
2.1 數據標注格式(YOLO)
每張圖像對應一個 .txt 文件,每行代表一個目標,格式如下:
<class_id> <x_center> <y_center> <width> <height>
所有值為相對比例(0~1)。
類別編號從 0 開始。
2.2 文件結構示例
datasets/
├── images/
│ ├── train/
│ └── val/
├── labels/
│ ├── train/
│ └── val/
2.3 創建 data.yaml 配置文件
path: ./datasets
train: images/train
val: images/valnc: 11
names: ['Bent_Insulator', 'Broken_Insulator_Cap', '', ...]
🚀 3. 模型訓練
YOLOv8 提供多種模型:yolov8n, yolov8s, yolov8m, yolov8l, yolov8x。可根據設備性能選擇。
yolo detect train \model=yolov8s.pt \data=./data.yaml \imgsz=640 \epochs=50 \batch=16 \project=weed_detection \name=yolov8s_crop_weed
參數 | 類型 | 默認值 | 說明 |
---|---|---|---|
model | 字符串 | - | 指定基礎模型架構文件或預訓練權重文件路徑(.pt /.yaml ) |
data | 字符串 | - | 數據集配置文件路徑(YAML 格式),包含訓練/驗證路徑和類別定義 |
imgsz | 整數 | 640 | 輸入圖像的尺寸(像素),推薦正方形尺寸(如 640x640) |
epochs | 整數 | 100 | 訓練總輪次,50 表示整個數據集會被迭代 50 次 |
batch | 整數 | 16 | 每個批次的樣本數量,值越大需要越多顯存 |
project | 字符串 | - | 項目根目錄名稱,所有輸出文件(權重/日志等)將保存在此目錄下 |
name | 字符串 | - | 實驗名稱,用于在項目目錄下創建子文件夾存放本次訓練結果 |
關鍵參數補充說明:
-
model=yolov8s.pt
- 使用預訓練的 YOLOv8 small 版本(平衡速度與精度)
- 可用選項:
yolov8n.pt
(nano)/yolov8m.pt
(medium)/yolov8l.pt
(large)
-
data=./data.yaml
# 典型 data.yaml 結構示例 path: ../datasets/weeds train: images/train val: images/val names:0: Bent_Insulator1: Broken_Insulator_Cap2: ...3: ...
📈 4. 模型驗證與測試
4.1 驗證模型性能
yolo detect val \model=runs/detect/yolov8s_crop_weed/weights/best.pt \data=./data.yaml
參數 | 類型 | 必需 | 說明 |
---|---|---|---|
model | 字符串 | 是 | 要驗證的模型權重路徑(通常為訓練生成的 best.pt 或 last.pt ) |
data | 字符串 | 是 | 與訓練時相同的 YAML 配置文件路徑,需包含驗證集路徑和類別定義 |
關鍵參數詳解
-
model=runs/detect/yolov8s_crop_weed/weights/best.pt
- 使用訓練過程中在驗證集表現最好的模型權重(
best.pt
) - 替代選項:
last.pt
(最終epoch的權重) - 路徑結構說明:
runs/detect/ └── [訓練任務名稱]/└── weights/├── best.pt # 驗證指標最優的模型└── last.pt # 最后一個epoch的模型
- 使用訓練過程中在驗證集表現最好的模型權重(
-
data=./data.yaml
- 必須與訓練時使用的配置文件一致
- 確保驗證集路徑正確:
val: images/val # 驗證集圖片路徑 names:0: crop1: weed
常用可選參數
參數 | 示例值 | 作用 |
---|---|---|
batch | 16 | 驗證時的批次大小 |
imgsz | 640 | 輸入圖像尺寸(需與訓練一致) |
conf | 0.25 | 置信度閾值(0-1) |
iou | 0.7 | NMS的IoU閾值 |
device | 0/cpu | 選擇計算設備 |
save_json | True | 保存結果為JSON文件 |
典型輸出指標
Class Images Instances P R mAP50 mAP50-95
all 100 752 0.891 0.867 0.904 0.672
crop 100 412 0.912 0.901 0.927 0.701
weed 100 340 0.870 0.833 0.881 0.643
4.2 推理測試圖像
yolo detect predict \model=runs/detect/yolov8s_crop_weed/weights/best.pt \source=./datasets/images/val \save=True
🧠 5. 自定義推理腳本(Python)
from ultralytics import YOLO
import cv2# 加載模型
model = YOLO('runs/detect/yolov8s_crop_weed/weights/best.pt')# 推理圖像
results = model('test.jpg')# 可視化并保存結果
results[0].show()
results[0].save(filename='result.jpg')
🛠 6. 部署建議
? 本地運行:通過 Python 腳本直接推理。
🌐 Web API:可用 Flask/FastAPI 搭建檢測接口。
📦 邊緣部署:YOLOv8 支持導出為 ONNX,便于在 Jetson、RKNN 等平臺上部署。
導出示例:
yolo export model=best.pt format=onnx
📌 總結流程
階段 | 內容 |
---|---|
? 環境配置 | 安裝 ultralytics, PyTorch 等依賴 |
? 數據準備 | 標注圖片、組織數據集結構、配置 YAML |
? 模型訓練 | 使用命令行開始訓練 YOLOv8 模型 |
? 驗證評估 | 檢查模型準確率、mAP 等性能指標 |
? 推理測試 | 運行模型檢測實際圖像目標 |
? 高級部署 | 導出模型,部署到 Web 或邊緣設備 |