当前位置:   article > 正文

YOLOv8 实现目标检测_yolov8中nn文件夹是啥

yolov8中nn文件夹是啥

本文用于学习记录


前言

YOLOv8 实现目标检测


一、服务器上运行 YOLOv8

1.1 项目克隆

git clone https://github.com/ultralytics/ultralytics.git
  • 1

在这里插入图片描述

1.2 启动 conda 环境,进入项目

conda activate pytorch
  • 1

在这里插入图片描述

  • ultralytics 文件夹
    • assets:存放测试图片;
    • datasets:存放一些超参数的配置文件以及配置训练集和验证集路径;
    • coco.yaml 文件,创建自己的数据集时,需修改其中的 yaml 文件;
    • hub:pytorch 扩展模型;
    • models:存放不同模型的 yaml 文件,包括 v3、v5 、v6和 v8;
    • nn:存放 yolov8 整体网络模型搭建的 py 文件;
    • tracker:存放 yolov8 目标跟踪的 py 文件;
    • yolo:存放 yolov8 模型预测、训练、导出的 py 文件;
      • cfg:存放 yolov8 的配置文件,包括训练时的参数指定如 epoch、batch 等以及超参数设置,所有的相关配置都可通过 default.yaml 这个文件设置
      • data:存放数据加载的 py 文件;
      • engine:存放模型导出的 py 文件;
      • utils:存放工具类函数,包括 loss、metrics、plots 函数等;
      • v8:存放 yolov8 分类、检测、分割等不同任务的预测、训练以及验证的 py 文件

1.3 运行 python predict.py

  • 运行过程中会自动下载权重 yolov8n.pt,但速度很慢在这里插入图片描述
  • 因此选择官网下载,上传到 ultralytics-main/ultralytics/yolo/v8/detect 文件夹下
    在这里插入图片描述
    在这里插入图片描述
  • 重新运行
    在这里插入图片描述
    在这里插入图片描述
  • 也可直接运行以下命令
# yolo task=detect mode=predict model='模型文件' source='图片目录'

yolo task=detect mode=predict model=yolov8n.pt source="/home/yjy/YJY/ultralytics/ultralytics/assets"
  • 1
  • 2
  • 3

在这里插入图片描述

1.4 运行 python train.py

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

二、本地运行 YOLOv8

2.1 YOLOv8 项目下载

  • 下载源码,并保存至本地,将本地的 yolov8 项目解压至 Pycharm 特定的 Project 项目中并导入,进入 File 下的 Settings 进行 python 解释器设置
    在这里插入图片描述

2.2 添加 Python interpreter

  • 选择 Settings 中的 Project ultralytics-main 下的 Python interpreter,
    在这里插入图片描述

2.3 运行 detect.py

  • 运行之前下载权重 yolov8n.pt,官网下载并上传到 ultralytics-main/ultralytics/yolo/v8/detect 文件夹下,运行结果保存到 runs\detect\train3 中
    在这里插入图片描述
    在这里插入图片描述
  • 也可新建 predict_test.py
import numpy as np

from ultralytics import YOLO

model = YOLO("yolov8n.pt")  # 权重

results = model("ultralytics/assets")  # 预测的图片或文件夹
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

2.4 检测摄像头

  • 开启摄像头检测,将代码改成 source=‘0’,便可开启自带摄像头
  • 将代码改成 source=‘1’,便可开启 USB 摄像头,进行动态的实时检测
def predict(cfg=DEFAULT_CFG, use_python=False):
    """Runs YOLO model inference on input image(s)."""
    model = cfg.model or 'yolov8n.pt'
    # source = cfg.source if cfg.source is not None else ROOT / 'assets' if (ROOT / 'assets').exists() \
    #     else 'https://ultralytics.com/images/bus.jpg'
    # args = dict(model=model, source=source)

    args = dict(model=model, source='0')
    # args = dict(model=model, source='1')
    if use_python:
        from ultralytics import YOLO
        YOLO(model)(**args)
    else:
        predictor = DetectionPredictor(overrides=args)
        predictor.predict_cli()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述

2.5 连接手机摄像头

args = dict(model=model, source='http://admin:admin@172.16.20.120:8081')
  • 1

需确保手机和电脑在同一局域网下(即连接的是同一个 WIFI)

  • 下载 IP 摄像头 Lite
    在这里插入图片描述
  • 点击打开 IP 摄像头 Lite
    在这里插入图片描述
  • 点击打开 IP 摄像头服务器
    在这里插入图片描述

2.6 运行 python train.py

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

2.7 default.yaml 参数修改

在这里插入图片描述

三、自制数据集训练模型

3.1 数据集图片和标签

  • 新建文件夹 cat,在该文件夹下新建 images、labels 两个文件夹
  • 分别在这里两个文件夹下新建 train 文件夹
    在这里插入图片描述

3.2 yaml 文件修改

  • 新建 cat.yaml ,并对其内容进行修改;
    在这里插入图片描述

3.3 修改并运行 train.py

在这里插入图片描述


总结

以上就是 yolov8 的环境配置、运行与训练过程及其中可能出现的问题与解决办法。
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/498493
推荐阅读
相关标签
  

闽ICP备14008679号