——如何利用YOLOv8来练习一个包罗超过8000张高质量图像的智慧工业防护数据 ...

打印 上一主题 下一主题

主题 1962|帖子 1962|积分 5886

利用YOLOv8来练习一个包罗超过8000张高质量图像的智慧工业防护数据集。这个数据集包罗17个类别,已标注为VOC和YOLO格式,可以直接用于模型练习。

数据集形貌

数据量:超过8000张图像,每张图像至少1080p分辨率
标注实例:超过7万个标注实例
类别:
0: 人(Person)
1: 头(Head)
2: 脸(Face)
3: 眼镜(Glasses)
4: 医用口罩(Medical Mask)
5: 面罩(Face Shield)
6: 耳朵(Ear)
7: 耳罩(Ear Muffs)
8: 手部(Hand)
9: 手套(Gloves)
10: 脚(Foot)
11: 鞋(Shoes)
12: 安全马甲(Safety Vest)
13: 工具(Tool)
14: 安全帽(Safety Helmet)
15: 医用服装(Medical Clothing)
16: 安全服(Safety Suit)
标注格式:VOC和YOLO格式
应用场景:智慧工业防护
数据集构造
假设你的数据集目次布局如下:

industrial_protection_dataset/
├── images/
│ ├── train/
│ │ ├── 000001.jpg
│ │ ├── 000002.jpg
│ │ └── …
│ ├── val/
│ │ ├── 000001.jpg
│ │ ├── 000002.jpg
│ │ └── …
│ └── test/
│ ├── 000001.jpg
│ ├── 000002.jpg
│ └── …
├── labels_voc/
│ ├── train/
│ │ ├── 000001.xml
│ │ ├── 000002.xml
│ │ └── …
│ ├── val/
│ │ ├── 000001.xml
│ │ ├── 000002.xml
│ │ └── …
│ └── test/
│ ├── 000001.xml
│ ├── 000002.xml
│ └── …
├── labels_yolo/
│ ├── train/
│ │ ├── 000001.txt
│ │ ├── 000002.txt
│ │ └── …
│ ├── val/
│ │ ├── 000001.txt
│ │ ├── 000002.txt
│ │ └── …
│ └── test/
│ ├── 000001.txt
│ ├── 000002.txt
│ └── …
└── data.yaml # 数据配置文件
数据配置文件
创建或确认data.yaml文件是否精确配置了数据集路径和类别信息:

train: ./images/train/ # 练习集图像路径
val: ./images/val/ # 验证集图像路径
test: ./images/test/ # 测试集图像路径
Classes

nc: 17 # 类别数量
names:


  • Person
  • Head
  • Face
  • Glasses
  • Medical Mask
  • Face Shield
  • Ear
  • Ear Muffs
  • Hand
  • Gloves
  • Foot
  • Shoes
  • Safety Vest
  • Tool
  • Safety Helmet
  • Medical Clothing
  • Safety Suit # 类别名称列表
    安装YOLOv8
    如果你还没有安装YOLOv8,可以利用以下命令安装:
bash
深色版本
pip install ultralytics
练习模型
利用YOLOv8练习模型的命令非常简朴,你可以直接利用以下命令开始练习:
cd path/to/industrial_protection_dataset/
克隆YOLOv8仓库

git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
开始练习

python yolo.py detect train data=…/data.yaml model=yolov8n.pt epochs=100 imgsz=1080 batch=16
在这个命令中:
data=…/data.yaml:指定数据配置文件。
model=yolov8n.pt:指定预练习权重,这里利用的是YOLOv8的小模型。
epochs=100:练习轮数。
imgsz=1080:输入图像的大小(由于图像分辨率较高,建议设置为1080)。
batch=16:批量大小。
模型评估
练习完成后,可以利用以下命令评估模型在验证集上的体现:
python yolo.py detect val data=…/data.yaml model=runs/detect/train/weights/best.pt imgsz=1080
这里的runs/detect/train/weights/best.pt是练习过程中产生的最佳模型权重文件。
模型预测
你可以利用练习好的模型对新图像举行预测:
python yolo.py detect predict source=path/to/your/image.jpg model=runs/detect/train/weights/best.pt imgsz=1080 conf=0.4 iou=0.5
查看练习效果
练习过程中的日记和效果会生存在runs/detect/目次下,你可以查看练习过程中的损失、精度等信息。
数据增强
为了进一步进步模型性能,可以利用数据增强技术。以下是一个简朴的数据增强示例:
安装albumentations库:
pip install -U albumentations
在yolo.py中添加数据增强:
import albumentations as A
from albumentations.pytorch import ToTensorV2
import cv2
界说数据增强

transform = A.Compose([
A.RandomSizedBBoxSafeCrop(width=1080, height=1080, erosion_rate=0.2),
A.HorizontalFlip(p=0.5),
A.VerticalFlip(p=0.5),
A.Rotate(limit=10, p=0.5, border_mode=cv2.BORDER_CONSTANT),
A.ColorJitter(brightness=0.2, contrast=0.2, saturation=0.2, hue=0.2, p=0.5),
A.GaussNoise(var_limit=(10.0, 50.0), p=0.5),
A.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
ToTensorV2()
], bbox_params=A.BboxParams(format=‘yolo’, label_fields=[‘class_labels’]))
在数据加载器中应用数据增强

def collate_fn(batch):
images, targets = zip(*batch)
transformed_images = []
transformed_targets = []
  1. for img, target in zip(images, targets):
  2.     bboxes = target['bboxes']
  3.     class_labels = target['labels']
  4.     augmented = transform(image=img, bboxes=bboxes, class_labels=class_labels)
  5.     transformed_images.append(augmented['image'])
  6.     transformed_targets.append({
  7.         'bboxes': augmented['bboxes'],
  8.         'labels': augmented['class_labels']
  9.     })
  10. return torch.stack(transformed_images), transformed_targets
复制代码
留意事项
数据集质量:确保数据集的质量,包括清楚度、标注准确性等。
模型选择:可以选择更强大的模型版本(如YOLOv8m、YOLOv8l等)以进步性能。
超参数调解:根据实际环境调解超参数,如批量大小(batch)、图像大小(imgsz)等。
监控性能:练习过程中监控损失函数和mAP指标,确保模型收敛。
通过上述步调,你可以利用YOLOv8来练习一个智慧工业防护数据集,并利用练习好的模型举行预测。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

笑看天下无敌手

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表