【计算机视觉】YOLOv8的测试以及训练过程(含源代码)

这篇具有很好参考价值的文章主要介绍了【计算机视觉】YOLOv8的测试以及训练过程(含源代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、导读

YOLOv8是来自Ultralytics的最新的基于YOLO的对象检测模型系列,提供最先进的性能。

利用以前的 YOLO 版本,YOLOv8模型更快、更准确,同时为训练模型提供统一框架,以执行:

  • 物体检测
  • 实例分割
  • 图像分类

Ultralytics为YOLO模型发布了一个全新的存储库。它被构建为 用于训练对象检测、实例分割和图像分类模型的统一框架。

以下是有关新版本的一些主要功能:

  • 用户友好的 API(命令行 + Python)。
  • 更快更准确。
  • 支持:物体检测、实例分割和图像分类
  • 可扩展到所有以前的版本。
  • 新骨干网络。
  • 新的无锚头。
  • 新的损失函数。

YOLOv8 还高效灵活地支持多种导出格式,并且该模型可以在 CPU 和 GPU 上运行。

YOLOv8 模型的每个类别中有五个模型用于检测、分割和分类。YOLOv8 Nano 是最快和最小的,而 YOLOv8 Extra Large (YOLOv8x) 是其中最准确但最慢的。

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

YOLOv8 捆绑了以下预训练模型:

  • 在图像分辨率为 640 的 COCO 检测数据集上训练的对象检测检查点。
  • 在图像分辨率为 640 的 COCO 分割数据集上训练的实例分割检查点。
  • 在图像分辨率为 224 的 ImageNet 数据集上预训练的图像分类模型。

二、部署环境

要充分发挥YOLOv8的潜力,需要从存储库和ultralytics包中安装要求。要安装要求,我们首先需要克隆存储库。

git clone https://github.com/ultralytics/ultralytics.git
pip install -r requirements.txt

在最新版本中,Ultralytics YOLOv8提供了完整的命令行界面 (CLI) API 和 Python SDK,用于执行训练、验证和推理。要使用yoloCLI,我们需要安装ultralytics包。

pip install ultralytics

我们的环境部署为:

%pip install ultralytics
import ultralytics
ultralytics.checks()

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

三、预测结果

YOLOv8 可以直接在命令行界面 (CLI) 中使用“yolo”命令来执行各种任务和模式,并接受其他参数,即“imgsz=640”。 查看可用 yolo 参数 的完整列表以及 YOLOv8 预测文档 中的其他详细信息 /train/)。

3.1 使用检测模型

!yolo predict model = yolov8n.pt source = '/kaggle/input/personpng/1.jpg'

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

import matplotlib.pyplot as plt
from PIL import Image

image = Image.open('/kaggle/working/runs/detect/predict/1.jpg')
plt.figure(figsize=(12, 8))
plt.imshow(image)
plt.axis('off')
plt.show()

结果展示为:

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

3.2 使用分割模型

!yolo task = segment mode = predict model = yolov8x-seg.pt source = '/kaggle/input/personpng/1.jpg'

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

image = Image.open('/kaggle/working/runs/segment/predict/1.jpg')
plt.figure(figsize=(12, 8))
plt.imshow(image)
plt.axis('off')
plt.show()

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

3.3 使用分类模型

!yolo task = classify mode = predict model = yolov8x-cls.pt source = '/kaggle/input/personpng/1.jpg'

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

image = Image.open('/kaggle/working/runs/classify/predict/1.jpg')
plt.figure(figsize=(20, 10))
plt.imshow(image)
plt.axis('off')
plt.show()

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

3.4 使用pose检测模型

!yolo task = pose mode = predict model = yolov8n-pose.pt source = '/kaggle/input/personpng/1.jpg'

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

image = Image.open('/kaggle/working/runs/pose/predict/1.jpg')
plt.figure(figsize=(12, 8))
plt.imshow(image)
plt.axis('off')
plt.show()

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

四、COCO val 数据集

文件的大小为780M,共计5000张图像。

import torch
torch.hub.download_url_to_file('https://ultralytics.com/assets/coco2017val.zip', 'tmp.zip')
!unzip -q tmp.zip -d datasets && rm tmp.zip

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

4.1 在 COCO128 val 上验证 YOLOv8n

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

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

import os

folder_path = '/kaggle/working/runs/detect/val'
image_extensions = ['.jpg', '.jpeg', '.png']  # 支持的图片文件扩展名
image_paths = []
for file in os.listdir(folder_path):
    if any(file.endswith(extension) for extension in image_extensions):
        image_paths.append(os.path.join(folder_path, file))
for image_path in image_paths:
    image = plt.imread(image_path)
    plt.figure(figsize=(12, 8))
    plt.imshow(image)
    plt.axis('off')
    plt.show()

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

4.2 在COCO128上训练YOLOv8n

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

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

五、自己训练

5.1 训练检测模型

# 导入YOLOv8n, 在COCO128上训练10个epochs,最后用一张图片预测
from ultralytics import YOLO

model = YOLO('yolov8n.pt')
model.train(data = 'coco128.yaml', epochs = 10)
model('https://ultralytics.com/images/bus.jpg')

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

输出结果:

[ultralytics.yolo.engine.results.Results object with attributes:
 
 boxes: ultralytics.yolo.engine.results.Boxes object
 keypoints: None
 keys: ['boxes']
 masks: None
 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'}

 orig_img: array([[[122, 148, 172],
         [120, 146, 170],
         [125, 153, 177],
         ...,
         [157, 170, 184],
         [158, 171, 185],
         [158, 171, 185]],
 
        [[127, 153, 177],
         [124, 150, 174],
         [127, 155, 179],
         ...,
         [158, 171, 185],
         [159, 172, 186],
         [159, 172, 186]],
 
        [[128, 154, 178],
         [126, 152, 176],
         [126, 154, 178],
         ...,
         [158, 171, 185],
         [158, 171, 185],
         [158, 171, 185]],
 
        ...,
 
         [[185, 185, 191],
         [182, 182, 188],
         [179, 179, 185],
         ...,
         [114, 107, 112],
         [115, 105, 111],
         [116, 106, 112]],
 
        [[157, 157, 163],
         [180, 180, 186],
         [185, 186, 190],
         ...,
         [107,  97, 103],
         [102,  92,  98],
         [108,  98, 104]],
 
        [[112, 112, 118],
         [160, 160, 166],
         [169, 170, 174],
         ...,
         [ 99,  89,  95],
         [ 96,  86,  92],
         [102,  92,  98]]], dtype=uint8)
 orig_shape: (1080, 810)
 path: '/kaggle/working/bus.jpg'
 probs: None
 save_dir: None
 speed: {'preprocess': 2.184629440307617, 'inference': 7.320880889892578, 'postprocess': 1.7354488372802734}]

我们测试的原图为:

image = Image.open('/kaggle/working/bus.jpg')
plt.figure(figsize=(12, 8))
plt.imshow(image)
plt.axis('off')
plt.show()

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

!yolo predict model = '/kaggle/working/runs/detect/train2/weights/best.pt' source = '/kaggle/working/bus.jpg'

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

image = Image.open('/kaggle/working/runs/detect/predict2/bus.jpg')
plt.figure(figsize=(12, 8))
plt.imshow(image)
plt.axis('off')
plt.show()

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

!yolo predict model = '/kaggle/working/runs/detect/train2/weights/best.pt' source = '/kaggle/input/personpng/1.jpg'

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

image = Image.open('/kaggle/working/runs/detect/predict3/1.jpg')
plt.figure(figsize=(12, 8))
plt.imshow(image)
plt.axis('off')
plt.show()

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

5.2 训练分割模型

model = YOLO('yolov8n-seg.pt')
model.train(data='coco128-seg.yaml', epochs = 10)
model('https://ultralytics.com/images/bus.jpg')

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

[ultralytics.yolo.engine.results.Results object with attributes:
 
 boxes: ultralytics.yolo.engine.results.Boxes object
 keypoints: None
 keys: ['boxes', 'masks']
 masks: ultralytics.yolo.engine.results.Masks object
 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'}
  orig_img: array([[[122, 148, 172],
         [120, 146, 170],
         [125, 153, 177],
         ...,
         [157, 170, 184],
         [158, 171, 185],
         [158, 171, 185]],
 
        [[127, 153, 177],
         [124, 150, 174],
         [127, 155, 179],
         ...,
         [158, 171, 185],
         [159, 172, 186],
         [159, 172, 186]],
 
        [[128, 154, 178],
         [126, 152, 176],
         [126, 154, 178],
         ...,
         [158, 171, 185],
         [158, 171, 185],
         [158, 171, 185]],
 
        ...,
                [[185, 185, 191],
         [182, 182, 188],
         [179, 179, 185],
         ...,
         [114, 107, 112],
         [115, 105, 111],
         [116, 106, 112]],
 
        [[157, 157, 163],
         [180, 180, 186],
         [185, 186, 190],
         ...,
         [107,  97, 103],
         [102,  92,  98],
         [108,  98, 104]],
 
        [[112, 112, 118],
         [160, 160, 166],
         [169, 170, 174],
         ...,
         [ 99,  89,  95],
         [ 96,  86,  92],
         [102,  92,  98]]], dtype=uint8)

 orig_shape: (1080, 810)
 path: '/kaggle/working/bus.jpg'
 probs: None
 save_dir: None
 speed: {'preprocess': 2.610445022583008, 'inference': 23.540735244750977, 'postprocess': 2.538442611694336}]
!yolo predict model = '/kaggle/working/runs/segment/train/weights/best.pt' source = '/kaggle/working/bus.jpg'

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

image = Image.open('/kaggle/working/runs/segment/predict2/bus.jpg')
plt.figure(figsize=(12, 8))
plt.imshow(image)
plt.axis('off')
plt.show()

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

5.3 训练分类模型

model = YOLO('yolov8n-cls.pt')
model.train(data='mnist160', epochs = 10)
model('https://ultralytics.com/images/bus.jpg')

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

[ultralytics.yolo.engine.results.Results object with attributes:
 
 boxes: None
 keypoints: None
 keys: ['probs']
 masks: None
 names: {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9'}
 orig_img: array([[[122, 148, 172],
         [120, 146, 170],
         [125, 153, 177],
         ...,
         [157, 170, 184],
         [158, 171, 185],
         [158, 171, 185]],
 
        [[127, 153, 177],
         [124, 150, 174],
         [127, 155, 179],
         ...,
         [158, 171, 185],
         [159, 172, 186],
         [159, 172, 186]],
 
        [[128, 154, 178],
         [126, 152, 176],
         [126, 154, 178],
         ...,
         [158, 171, 185],
         [158, 171, 185],
         [158, 171, 185]],
          
        ...,
 
        [[185, 185, 191],
         [182, 182, 188],
         [179, 179, 185],
         ...,
         [114, 107, 112],
         [115, 105, 111],
         [116, 106, 112]],
 
        [[157, 157, 163],
         [180, 180, 186],
         [185, 186, 190],
         ...,
         [107,  97, 103],
         [102,  92,  98],
         [108,  98, 104]],
 
        [[112, 112, 118],
         [160, 160, 166],
         [169, 170, 174],
         ...,
                  [ 99,  89,  95],
         [ 96,  86,  92],
         [102,  92,  98]]], dtype=uint8)
 orig_shape: (1080, 810)
 path: '/kaggle/working/bus.jpg'
 probs: ultralytics.yolo.engine.results.Probs object
 save_dir: None
 speed: {'preprocess': 1.3382434844970703, 'inference': 2.797365188598633, 'postprocess': 0.07772445678710938}]
!yolo predict model = '/kaggle/working/runs/classify/train/weights/best.pt' source = '/kaggle/working/bus.jpg'

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

image = Image.open('/kaggle/working/runs/classify/predict2/bus.jpg')
plt.figure(figsize=(12, 8))
plt.imshow(image)
plt.axis('off')
plt.show()

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

5.4 训练pose模型

model = YOLO('yolov8n-pose.pt')
model.train(data='coco8-pose.yaml', epochs = 10)
model('https://ultralytics.com/images/bus.jpg')

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能
【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

[ultralytics.yolo.engine.results.Results object with attributes:
 
 boxes: ultralytics.yolo.engine.results.Boxes object
 keypoints: ultralytics.yolo.engine.results.Keypoints object
 keys: ['boxes', 'keypoints']
 masks: None
 names: {0: 'person'}
 orig_img: array([[[122, 148, 172],
         [120, 146, 170],
         [125, 153, 177],
         ...,
         [157, 170, 184],
         [158, 171, 185],
         [158, 171, 185]],
 
        [[127, 153, 177],
         [124, 150, 174],
         [127, 155, 179],
         ...,
         [158, 171, 185],
         [159, 172, 186],
         [159, 172, 186]],
 
        [[128, 154, 178],
         [126, 152, 176],
         [126, 154, 178],
         ...,
         [158, 171, 185],
         [158, 171, 185],
         [158, 171, 185]],
          
        ...,
 
        [[185, 185, 191],
         [182, 182, 188],
         [179, 179, 185],
         ...,
         [114, 107, 112],
         [115, 105, 111],
         [116, 106, 112]],
 
        [[157, 157, 163],
         [180, 180, 186],
         [185, 186, 190],
         ...,
         [107,  97, 103],
         [102,  92,  98],
         [108,  98, 104]],
 
        [[112, 112, 118],
         [160, 160, 166],
         [169, 170, 174],
         ...,
         [ 99,  89,  95],
         [ 96,  86,  92],
         [102,  92,  98]]], dtype=uint8)
          orig_shape: (1080, 810)
 path: '/kaggle/working/bus.jpg'
 probs: None
 save_dir: None
 speed: {'preprocess': 2.290487289428711, 'inference': 22.292375564575195, 'postprocess': 1.9459724426269531}]
!yolo predict model = '/kaggle/working/runs/pose/train/weights/best.pt' source = '/kaggle/working/bus.jpg'

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能

image = Image.open('/kaggle/working/runs/pose/predict2/bus.jpg')
plt.figure(figsize=(12, 8))
plt.imshow(image)
plt.axis('off')
plt.show()

【计算机视觉】YOLOv8的测试以及训练过程(含源代码),计算机视觉,计算机视觉,YOLO,人工智能文章来源地址https://www.toymoban.com/news/detail-548708.html

到了这里,关于【计算机视觉】YOLOv8的测试以及训练过程(含源代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • YOLOv8轻量化:MobileNetV3,理想的轻量级骨架选择 - 计算机视觉

    YOLOv8是一种广泛应用于目标检测任务的深度学习模型。为了在计算资源受限的环境下实现高效的目标检测,使用轻量级骨架是至关重要的。在这方面,MobileNetV3是一个出色的选择,它具有较少的参数和计算复杂度,同时保持了较高的准确性和速度。 MobileNetV3是Google提出的一种

    2024年03月16日
    浏览(80)
  • 计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

    在线版本:浏览器中输入链接: https://lutzroeder.github.io/netron/ netron官方的Github链接:https://github.com/lutzroeder/netron 一个小实验: Focus()模块是为减少错误和提高速度而设计的,而不是提高精度。 在CSP上添加SPP块,因为它显着地增加了接收字段,分离出了最重要的内容,几乎没有降低

    2023年04月22日
    浏览(46)
  • 【计算机视觉】YOLOv8参数详解(全面详细、重点突出、大白话阐述小白也能看懂)

    comments description keywords true Master YOLOv8 settings and hyperparameters for improved model performance. Learn to use YOLO CLI commands, adjust training settings, and optimize YOLO tasks modes. YOLOv8, settings, hyperparameters, YOLO CLI commands, YOLO tasks, YOLO modes, Ultralytics documentation, model optimization, YOLOv8 training YOLO 设置和超参数

    2024年02月05日
    浏览(47)
  • YOLOv8改进:在C2f模块中引入EMA注意力机制,提升计算机视觉性能

    计算机视觉领域一直在不断演进,为了改进目标检测算法的性能,研究人员一直在寻找新的方法和技术。在这篇文章中,我们介绍了一种改进的目标检测算法,即YOLOv8,通过在C2f模块中引入EMA(Exponential Moving Average)注意力机制,有效提升了算法的性能。 目标检测是计算机视

    2024年02月03日
    浏览(175)
  • 改进YOLOv8 | 即插即用篇 | C2F模块增加注意力机制 | 附详细结构图 计算机视觉

    摘要: 本文针对目标检测算法YOLOv8进行改进,通过在C2F模块中引入注意力机制,提高目标的定位和分类性能。文章首先介绍了YOLOv8的基本原理和结构,然后详细阐述了注意力机制的原理和作用,并对修改后的C2F模块结构进行了说明。最后,给出了实验结果和源代码。 引言 目

    2024年02月04日
    浏览(652)
  • 改进YOLOv8 | C2F模块中引入注意力机制的即插即用方法 | 详细结构图与计算机视觉实现

    概述: 在计算机视觉领域,YOLOv8是一种常用的目标检测算法,而C2F模块是YOLOv8的核心组成部分之一。为了进一步提升YOLOv8的检测性能,本文将介绍如何通过添加注意力机制来改进C2F模块。我们将详细讨论这一改进方法,并提供相应的源代码,以便读者可以直接使用。 引言:

    2024年04月15日
    浏览(357)
  • 深度学习进阶篇[9]:对抗生成网络GANs综述、代表变体模型、训练策略、GAN在计算机视觉应用和常见数据集介绍,以及前沿问题解决

    【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍:【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、

    2024年02月08日
    浏览(102)
  • 计算机视觉基础知识(十三)--推理和训练

    Supervisied Learning 输入的数据为训练数据; 模型在训练过程中进行预期判断; 判断错误的话进行修正; 直到模型判断预期达到要求的精确性; 关键方法为分类和回归 逻辑回归(Logistic Regression) BP神经网络(Back Propagation Neural Network) Unsupervisied Learning 没有训练数据; 模型基于无标记数据

    2024年02月22日
    浏览(141)
  • 【计算机视觉】YOLO 入门:训练 COCO128 数据集

    我们以最近大热的YOLOv8为例,回顾一下之前的安装过程: 这里选择训练的数据集为:COCO128 COCO128是一个小型教程数据集,由COCOtrain2017中的前128个图像组成。 在YOLO中自带的coco128.yaml文件: 1)可选的用于自动下载的下载命令/URL, 2)指向培训图像目录的路径(或指向带有培训

    2024年02月10日
    浏览(49)
  • 【计算机视觉中的 GAN 】如何稳定GAN训练(3)

        在上 一篇文章 中,我们达到了理解未配对图像到图像翻译的地步。尽管如此,在实现自己的超酷深度GAN模型之前,您必须了解一些非常重要的概念。如本 文所提的GAN模型新成员的引入:Wasserstein distance,boundary equilibrium 和 progressively growing GAN三个方面。

    2024年02月15日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包