基于YOLOv8实现XRay下的异常物品检测:从数据集到检测过程



前言

在公共出行领域,安全检测已成为不可或缺的一环。实现对危险物品的智能检测,不仅能够提升安全水平,也是保障公众安心出行的关键。随着技术的进步,智能算法的应用已成为实现这一目标的重要手段。通过精准的算法分析,我们能够快速识别并拦截潜在的威胁,为乘客提供一个更加安全、可靠的出行环境。


在这里插入图片描述
在这里插入图片描述

一、准备工作

SIXRay数据集下载(YOLO格式):

#数据集下载连接:
https://github.com/MeioJane/SIXray

(YOLOv8的安装可以参考之前的博客)

二、进行训练

首先创建一个读取数据集的yaml文件,我的命名为SIXRay.yaml,具体代码如下:

path: ../data/SIXRay 
train: 
  train/images
val: 
  valid/images
test: 
  test/images
nc: 6 #标签数量
names: ['gun', 'knife', 'wrench', 'pliers', 'scissors', 'hammer']

相关文件夹的位置需要根据自己所方位置进行修改

然后写一个运行脚本的python文件,我的命名为trainSIXRayYOLOv8.py,具体代码如下:

rom ultralytics import YOLO
model = YOLO(model='yolov8n.pt')
model.train(
            data='SIXRay.yaml', 
            epochs=100, 
            batch=16, 
            imgsz=640)

可以根据自己电脑配置对batch进行修改。

结果:

100 epochs completed in 0.488 hours.

Validating /home/wqt/Projects/NEU-DET-with-yolov8/runs/detect/train7/weights/best.pt...
Ultralytics YOLOv8.2.31 🚀 Python-3.8.19 torch-2.3.1+cu121 CUDA:0 
(NVIDIA GeForce RTX 4090, 24209MiB)
Model summary (fused): 168 layers, 3006818 parameters, 0 gradients, 8.1 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95):
                   all       1662       3176      0.923      0.838      0.904      0.664
                   gun        551        888      0.953       0.95      0.975      0.759
                 knife        291        442      0.921      0.801      0.885      0.634
                wrench        794       1110       0.93      0.823      0.916      0.664
                pliers        178        206      0.935      0.835      0.886      0.632
              scissors        392        530      0.875      0.782      0.858      0.633
Speed: 0.1ms preprocess, 0.2ms inference, 0.0ms loss, 0.3ms postprocess per image
Results saved to /home/wqt/Projects/NEU-DET-with-yolov8/runs/detect/train7

数据增强

     Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size
    100/100       2.1G     0.9823     0.5742      1.179         17        640
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95)
                   all       1662       3176      0.921       0.83      0.904      0.619

100 epochs completed in 0.527 hours.

Validating /home/wqt/Projects/NEU-DET-with-yolov8/runs/detect/train8/weights/best.pt...
Ultralytics YOLOv8.2.31 🚀 Python-3.8.19 torch-2.3.1+cu121 
CUDA:0 (NVIDIA GeForce RTX 4090, 24209MiB)
Model summary (fused): 168 layers, 3006818 parameters, 0 gradients, 8.1 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95)
                   all       1662       3176      0.914      0.835      0.903       0.62
                   gun        551        888      0.962      0.955      0.986      0.731
                 knife        291        442      0.921      0.788      0.873      0.588
                wrench        794       1110      0.924      0.833      0.917      0.613
                pliers        178        206      0.929      0.859       0.91        0.6
              scissors        392        530      0.832      0.739       0.83      0.567
Speed: 0.1ms preprocess, 0.3ms inference, 0.0ms loss, 0.4ms postprocess per image
Results saved to /home/wqt/Projects/NEU-DET-with-yolov8/runs/detect/train8

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烧技湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值