二十二、Ubuntu22.04 + Yolov8 简单使用

1. 环境配置

  • Ubuntu 22.04
  • CUDA 11.7
  • Pytorch 1.13(必须 ≥ 1.8 )
  • Python 3.8 (必须 ≥ 3.8,但最好使用 3.8)
  • RTX 2080
# 创建虚拟环境
conda create --name myYolov8 python=3.8

# 激活环境
conda activate myYolov8

# CUDA 11.7:安装 Pytorch 1.13
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117

# 安装 ultralytics 包:yolov8仅需要安装这一个库就ok了
pip install ultralytics

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

具体配置方法,可以看我前面的博客
Ubuntu22.04 配置 Anaconda + Pycharm + Pytorch
Ubuntu22.04 + RTX2080 配置显卡驱动 + CUDA + cuDNN

2. 通过命令行简单使用 Yolov8

Yolov8 命令行界面 (CLI) 允许执行简单的命令,不需要自定义或 Python 代码
语法:

yolo task=detect mode=train model=yolov8n.yaml args...
          segment     val         yolov8n-cls.yaml
	      classify    predict     yolov8n-seg.yaml
	      pose        export      yolov8n.pt  
	                  track
	                  benchmark
task(可选)
mode(必须)
args(可选)自定义参数比较多,去看文档

Yolov8 官方文档

2.1 目标检测 detect

最好新建一个文件夹
因为第一次使用的时候,当前目录下没有模型权重文件 yolov8n.pt,该命令会自动从 GitHub 下载
输入可以是视频、也可以是图片

cd myYolo_test
yolo task=detect mode=predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

在这里插入图片描述
检测结果也会保存到当前目录下的 runs/detect/predict
在这里插入图片描述

2.2 语义分割 segment

cd myYolo_test
# 需要用 yt-dlp 这个工具去下载网络视频(蛮好用的)
pip install yt-dlp
yolo task=segment mode=predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320

2.3 目标分类

cd myYolo_test
yolo task=classify mode=predict model=yolov8x-cls.pt source=bus.jpg

2.4 姿态估计 pose

cd myYolo_test
yolo task=pose mode=predict model=yolov8n-pose.pt source=human.mp4

2.5 在 COCO128 上验证 YOLOv8n

会自动下载 coco128 数据集到 家目录下的 datasets
coco128.yaml 是数据加载配置文件,这个文件被放在虚拟环境中,不在数据集里
/home/yao/anaconda3/envs/myYolov8/lib/python3.8/site-packages/ultralytics/cfg/datasets/coco128.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# COCO128 dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Example usage: yolo train data=coco128.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco128  ← downloads here (7 MB)


# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco128  # dataset root dir
train: images/train2017  # train images (relative to 'path') 128 images
val: images/train2017  # val images (relative to 'path') 128 images
test:  # test images (optional)

# Classes
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush


# Download script/URL (optional)
download: https://ultralytics.com/assets/coco128.zip
cd myYolo_test
yolo val model = yolov8n.pt data = coco128.yaml

验证结果保存在 runs/detect/valXXX 里面
在这里插入图片描述

2.6 在 COCO128 上训练 YOLOv8n

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

训练结果保存在 runs/detect/valXXX 里面
在这里插入图片描述

3. 模型改进与训练

3.1 源码下载

cd /home/yao/PycharmProjects
git clone https://github.com/ultralytics/ultralytics.git

用 Pycharm 打开
选择一下虚拟环境
在这里插入图片描述

3.2 数据集准备

COCO 数据集通常被分为几个子集,包括 “train”, “val”, “test” 等
“train” 子集用于训练模型,“val” 子集用于验证模型的性能,“test” 子集用于最终的模型测试

cd datasets
wget https://ultralytics.com/assets/coco2017val.zip
unzip coco2017val.zip

coco2017val 数据集的目录结构

.
├── annotations                   # 包含标注信息
│   └── instances_val2017.json                         
├── images
│   └── val2017                   # 图像
│       ├── 000000000139.jpg
│       ├── 000000000285.jpg
│       ├── ...
│       └── 000000581781.jpg
└── labels                        # 标签文件(图像中目标的类别,及其边界框的四个角坐标)
│   └── val2017
│       ├── 000000000139.txt
│       ├── 000000000285.txt
│       ├── ...
│       └── 000000581781.txt
├── LICENSE
├── README.txt
└── val2017.txt                   # 图像文件路径列表
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值