问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

YOLOv8本地部署运行全流程指南

创作时间:
作者:
@小白创作中心

YOLOv8本地部署运行全流程指南

引用
CSDN
1.
https://blog.csdn.net/qq_41478219/article/details/140873968

YOLOv8是当前最流行的实时目标检测模型之一,其强大的功能和易用性使其在计算机视觉领域广受欢迎。本文将详细介绍如何在本地环境中部署和运行YOLOv8,包括环境配置、模型测试以及分割、跟踪、姿态估计等功能的实现。

1. YOLOv8环境配置

1.1 安装Anaconda

进入Anaconda官网下载并安装。推荐使用Miniconda,它是Anaconda的简化版,对于一般需求而言足够使用。

配置下载镜像源:
由于部分库的服务器在国外,直接安装会很慢,建议配置国内源进行下载。有两种方式:

  • 一劳永逸的方法:直接配置.condrac配置文件
  • 在安装命令之后直接跟国内源地址

配置和下载网址:清华大学开源软件镜像站

1.2 安装PyCharm

进入PyCharm官网下载并安装。

1.3 创建虚拟环境

YOLOv8需要Python版本大于等于3.8。如果使用的是Python3.7,可能会遇到numpy版本不兼容的问题。因此,建议创建一个Python3.8的虚拟环境。

conda create -n yolov8 python=3.8

创建成功后,激活虚拟环境:

conda activate yolov8

1.4 下载源码和权重文件

源码地址:YOLOv8 GitHub仓库

下载完整代码后,将预训练权重文件(如YOLOv8n)放置在项目文件目录下。官方提供了5个不同大小的模型权重,可以根据需要选择下载。

1.5 安装基础运行依赖

进入yolov8项目目录,执行以下命令安装ultralytics库:

pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple

1.6 加载项目,设置虚拟环境

在PyCharm中设置虚拟环境:

  1. 打开File -> Settings -> Project:yolov5 -> Python Interpreter
  2. 点击add -> Conda Enviroment
  3. 选择Existing Enviroment
  4. 选择你的虚拟环境路径 -> ok

2. YOLOv8模型运行测试

2.1 预测测试

使用自带的yolov8n模型进行预测测试:

yolo predict model=yolov8n.pt source='ultralytics/assets'

预测结果将保存在以下目录:

./ultralytics-main/runs/detect/predict

2.2 训练测试

使用coco128样本数据集进行训练测试:

  1. 下载数据集:

    https://github.com/ultralytics/assets/releases/download/v0.0.0/coco128.zip
    
  2. 存放路径:

    ./ultralytics-main/datasets
    
  3. 训练命令:

    yolo train model=yolov8n.pt data=coco128.yaml epochs=10 imgsz=640
    

2.3 验证测试

使用以下命令进行验证测试:

yolo val model=yolov8n.pt data=coco128.yaml

验证结果将保存在以下目录:

./ultralytics-main/runs/detect/val

3. YOLOv8分割、跟踪、姿态估计

3.1 YOLOv8分割

执行以下命令进行分割测试:

yolo task=segment mode=predict model=yolov8n-seg.pt source='ultralytics/assets/bus.jpg' show=True

分割结果将保存在以下目录:

./ultralytics-main/runs/segment/predict

3.2 YOLOv8跟踪

执行以下命令进行目标跟踪测试:

yolo track model=yolov8n.pt source='ultralytics/assets/bus.jpg'

跟踪结果将保存在以下目录:

./ultralytics-main/runs/detect/track

3.3 YOLOv8姿态估计

执行以下命令进行姿态估计测试:

yolo pose predict model=yolov8n-pose.pt source='ultralytics/assets' show=True save=True

姿态估计结果将保存在以下目录:

./ultralytics-main/runs/pose/predict

3.4 集成运行

可以将检测、跟踪和分割功能集成到一个脚本中:

from ultralytics import YOLO

if __name__ == '__main__':
    # Load a model
    # 直接使用预训练模型创建模型
    # model = YOLO('yolov8n.pt')
    # model.train(**{'cfg':'ultralytics/cfg/default.yaml', 'data':'ultralytics/models/yolo/detect/mydata/traffic.yaml'}, epochs=10, imgsz=640, batch=32)
    # #使用yaml配置文件来创建模型,并导入预训练权重
    #model = YOLO('ultralytics/cfg/models/v8/yolov8n.yaml')  # build a new model from YAML
    #model.load('yolov8n.pt')
    #model.train(**{'cfg': 'ultralytics/cfg/default.yaml', 'data': 'ultralytics/models/yolo/detect/mydata/traffic.yaml'},
     #           epochs=10, imgsz=640, batch=32, name='train')  # name:是此次训练结果保存的文件夹   数据集是我自己的数据集
# #     # 模型验证:用验证集
#     model = YOLO('runs/detect/train/weights/best.pt')
#     model.val(**{'data':'ultralytics/models/yolo/detect/mydata/traffic.yaml', 'name':'val', 'batch':32}) #模型验证用验证集
#     model.val(**{'data':'ultralytics/models/yolo/detect/mydata/traffic.yaml', 'split':'test', 'iou':0.9}) #模型验证用测试集
#     # 推理:
      '''model = YOLO('yolov8n.pt')
      model.predict(source='ultralytics/assets', show=True, save=True)'''
      # model.predict(source='ultralytics/assets', name='predict', **{'save':True})   # 写法二
    # 分割:
      ''''model = YOLO('yolov8n-seg.pt')
      model.predict(source='ultralytics/assets', name='predict', **{'save': True})'''
    # 跟踪:
      '''model = YOLO('yolov8n.pt')
      model.track(source="ultralytics/assets", show=True, save=True)'''
    # 姿态估计:
      '''model = YOLO('yolov8n-pose.pt')
      model.predict(source="ultralytics/assets", show=True, save=True)'''
    # 检测、跟踪、分割:
      '''model = YOLO('yolov8n-seg.pt')  # 加载一个官方的分割模型
      model.track(source="ultralytics/assets", show=True, save=True)'''
    # 检测、跟踪、姿态估计:
      '''model = YOLO('yolov8n-pose.pt')  # 加载一个官方的分割模型
      model.track(source="ultralytics/assets", show=True, save=True)'''
      #results = model.track(source="ultralytics/assets", show=True, tracker="bytetrack.yaml")  # 使用ByteTrack追踪器进行追踪

至此,YOLOv8工具已经搭建完成,可以专注于模型的学习和应用了。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号