【计算机视觉】YOLOv8参数详解(全面详细、重点突出、大白话阐述小白也能看懂)

这篇具有很好参考价值的文章主要介绍了【计算机视觉】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 设置和超参数对模型的性能、速度和准确性起着至关重要的作用。 这些设置和超参数可以影响模型开发过程各个阶段的模型行为,包括训练、验证和预测。

YOLOv8 yolo CLI 命令使用以下语法:

=== "CLI"

    ```bash
    yolo TASK MODE ARGS
    ```

=== "Python"

    ```python
    from ultralytics import YOLO

    # Load a YOLOv8 model from a pre-trained weights file
    model = YOLO('yolov8n.pt')

    # Run MODE mode using the custom arguments ARGS (guess TASK)
    model.MODE(ARGS)
    ```

Where:

  • TASK (optional) is one of [detect, segment, classify, pose]. If it is not passed explicitly YOLOv8 will try to guess the TASK from the model type.
  • MODE (required) is one of [train, val, predict, export, track, benchmark]
  • ARGS (optional) are any number of custom arg=value pairs like imgsz=320 that override defaults.

一、Tasks

YOLO 模型可用于各种任务,包括检测、分割、分类和姿势。 这些任务的不同之处在于它们产生的输出类型以及它们旨在解决的具体问题。

检测:用于识别和定位图像或视频中感兴趣的对象或区域。

分段:用于将图像或视频划分为对应于不同对象或类别的区域或像素。

分类:用于预测输入图像的类标签。

姿势:用于识别图像或视频中的对象并估计其关键点。

Key Value Description
task 'detect' YOLO task, i.e. detect, segment, classify, pose

二、Modes

YOLO 模型可以根据您要解决的具体问题以不同的模式使用。

这些模式包括:

训练:用于在自定义数据集上训练 YOLOv8 模型。

Val:用于在训练后验证 YOLOv8 模型。

预测:使用经过训练的 YOLOv8 模型对新图像或视频进行预测。

导出:用于将 YOLOv8 模型导出为可用于部署的格式。

Track:用于使用 YOLOv8 模型实时跟踪对象。

基准:用于对 YOLOv8 导出(ONNX、TensorRT 等)速度和准确性进行基准测试。

Key Value Description
mode 'train' YOLO mode, i.e. train, val, predict, export, track, benchmark

三、Train

YOLO 模型的训练设置包含训练过程中使用的各种超参数和配置。 这些设置会影响模型的性能、速度和准确性。

关键的训练设置包括批量大小、学习率、动量和权重衰减。 此外,优化器、损失函数和训练数据集组成的选择也会影响训练过程。 仔细调整和试验这些设置对于优化性能至关重要。

Key Value Description
model None path to model file, i.e. yolov8n.pt, yolov8n.yaml
data None path to data file, i.e. coco128.yaml
epochs 100 number of epochs to train for
patience 50 epochs to wait for no observable improvement for early stopping of training
batch 16 number of images per batch (-1 for AutoBatch)
imgsz 640 size of input images as integer or w,h
save True save train checkpoints and predict results
save_period -1 Save checkpoint every x epochs (disabled if < 1)
cache False True/ram, disk or False. Use cache for data loading
device None device to run on, i.e. cuda device=0 or device=0,1,2,3 or device=cpu
workers 8 number of worker threads for data loading (per RANK if DDP)
project None project name
name None experiment name
exist_ok False whether to overwrite existing experiment
pretrained True (bool or str) whether to use a pretrained model (bool) or a model to load weights from (str)
optimizer 'auto' optimizer to use, choices=[SGD, Adam, Adamax, AdamW, NAdam, RAdam, RMSProp, auto]
verbose False whether to print verbose output
seed 0 random seed for reproducibility
deterministic True whether to enable deterministic mode
single_cls False train multi-class data as single-class
rect False rectangular training with each batch collated for minimum padding
cos_lr False use cosine learning rate scheduler
close_mosaic 10 (int) disable mosaic augmentation for final epochs (0 to disable)
resume False resume training from last checkpoint
amp True Automatic Mixed Precision (AMP) training, choices=[True, False]
fraction 1.0 dataset fraction to train on (default is 1.0, all images in train set)
profile False profile ONNX and TensorRT speeds during training for loggers
freeze None (int or list, optional) freeze first n layers, or freeze list of layer indices during training
lr0 0.01 initial learning rate (i.e. SGD=1E-2, Adam=1E-3)
lrf 0.01 final learning rate (lr0 * lrf)
momentum 0.937 SGD momentum/Adam beta1
weight_decay 0.0005 optimizer weight decay 5e-4
warmup_epochs 3.0 warmup epochs (fractions ok)
warmup_momentum 0.8 warmup initial momentum
warmup_bias_lr 0.1 warmup initial bias lr
box 7.5 box loss gain
cls 0.5 cls loss gain (scale with pixels)
dfl 1.5 dfl loss gain
pose 12.0 pose loss gain (pose-only)
kobj 2.0 keypoint obj loss gain (pose-only)
label_smoothing 0.0 label smoothing (fraction)
nbs 64 nominal batch size
overlap_mask True masks should overlap during training (segment train only)
mask_ratio 4 mask downsample ratio (segment train only)
dropout 0.0 use dropout regularization (classify train only)
val True validate/test during training

四、Predict

YOLO 模型的预测设置包含一系列超参数和配置,这些超参数和配置会影响模型在推理新数据期间的性能、速度和准确性。 仔细调整和试验这些设置对于实现特定任务的最佳性能至关重要。 关键设置包括置信度阈值、非极大值抑制 (NMS) 阈值和考虑的类别数量。 影响预测过程的其他因素包括输入数据的大小和格式、是否存在补充特征(例如每个框的掩码或多个标签)以及模型所执行的特定任务。

Key Value Description
source 'ultralytics/assets' source directory for images or videos
conf 0.25 object confidence threshold for detection
iou 0.7 intersection over union (IoU) threshold for NMS
half False use half precision (FP16)
device None device to run on, i.e. cuda device=0/1/2/3 or device=cpu
show False show results if possible
save False save images with results
save_txt False save results as .txt file
save_conf False save results with confidence scores
save_crop False save cropped images with results
show_labels True show object labels in plots
show_conf True show object confidence scores in plots
max_det 300 maximum number of detections per image
vid_stride False video frame-rate stride
stream_buffer bool buffer all streaming frames (True) or return the most recent frame (False)
line_width None The line width of the bounding boxes. If None, it is scaled to the image size.
visualize False visualize model features
augment False apply image augmentation to prediction sources
agnostic_nms False class-agnostic NMS
retina_masks False use high-resolution segmentation masks
classes None filter results by class, i.e. classes=0, or classes=[0,2,3]
boxes True Show boxes in segmentation predictions

五、Val

YOLO 模型的 val(验证)设置涉及各种超参数和配置,用于评估模型在验证数据集上的性能。 这些设置会影响模型的性能、速度和准确性。 常见的 YOLO 验证设置包括批量大小、训练期间的验证频率以及性能评估指标。 影响验证过程的其他因素包括验证数据集的大小和组成,以及模型所用于的特定任务。 对这些设置进行仔细调整和实验对于确保验证数据集的最佳性能以及检测和防止过度拟合至关重要。

Key Value Description
save_json False save results to JSON file
save_hybrid False save hybrid version of labels (labels + additional predictions)
conf 0.001 object confidence threshold for detection
iou 0.6 intersection over union (IoU) threshold for NMS
max_det 300 maximum number of detections per image
half True use half precision (FP16)
device None device to run on, i.e. cuda device=0/1/2/3 or device=cpu
dnn False use OpenCV DNN for ONNX inference
plots False show plots during training
rect False rectangular val with each batch collated for minimum padding
split val dataset split to use for validation, i.e. 'val', 'test' or 'train'

六、Export

YOLO 模型的导出设置包含与保存或导出模型以在不同环境或平台中使用相关的配置和选项。 这些设置可能会影响模型的性能、大小以及与各种系统的兼容性。 关键导出设置包括导出的模型文件格式(例如 ONNX、TensorFlow SavedModel)、目标设备(例如 CPU、GPU)以及其他功能,例如掩模或每个框多个标签。 导出过程还可能受到模型的特定任务以及目标环境或平台的要求或约束的影响。 仔细配置这些设置以确保导出的模型针对预期用例进行优化并在目标环境中有效运行至关重要。

Key Value Description
format 'torchscript' format to export to
imgsz 640 image size as scalar or (h, w) list, i.e. (640, 480)
keras False use Keras for TF SavedModel export
optimize False TorchScript: optimize for mobile
half False FP16 quantization
int8 False INT8 quantization
dynamic False ONNX/TF/TensorRT: dynamic axes
simplify False ONNX: simplify model
opset None ONNX: opset version (optional, defaults to latest)
workspace 4 TensorRT: workspace size (GB)
nms False CoreML: add NMS

七、Augmentation

YOLO 模型的增强设置是指应用于训练数据的各种转换和修改,以增加数据集的多样性和大小。 这些设置会影响模型的性能、速度和准确性。 一些常见的 YOLO 增强设置包括所应用的变换的类型和强度(例如随机翻转、旋转、裁剪、颜色变化)、应用每个变换的概率以及是否存在附加功能,例如每个框的掩模或多个标签 。 可能影响增强过程的其他因素包括原始数据集的大小和组成以及模型所用于的特定任务。 仔细调整和试验这些设置非常重要,以确保增强数据集具有足够的多样性和代表性,足以训练高性能模型。

Key Value Description
hsv_h 0.015 image HSV-Hue augmentation (fraction)
hsv_s 0.7 image HSV-Saturation augmentation (fraction)
hsv_v 0.4 image HSV-Value augmentation (fraction)
degrees 0.0 image rotation (+/- deg)
translate 0.1 image translation (+/- fraction)
scale 0.5 image scale (+/- gain)
shear 0.0 image shear (+/- deg)
perspective 0.0 image perspective (+/- fraction), range 0-0.001
flipud 0.0 image flip up-down (probability)
fliplr 0.5 image flip left-right (probability)
mosaic 1.0 image mosaic (probability)
mixup 0.0 image mixup (probability)
copy_paste 0.0 segment copy-paste (probability)

八、Logging, checkpoints, plotting and file management

训练 YOLO 模型时,日志记录、检查点、绘图和文件管理是重要的考虑因素。

日志记录:在训练期间记录各种指标和统计数据通常很有帮助,以跟踪模型的进度并诊断可能出现的任何问题。 这可以使用 TensorBoard 等日志库或通过将日志消息写入文件来完成。

检查点:在训练期间定期保存模型的检查点是一个很好的做法。 如果训练过程中断或者您想尝试不同的训练配置,您可以从之前的点恢复训练。

绘图:可视化模型的性能和训练进度有助于理解模型的行为方式并识别潜在问题。 这可以使用 matplotlib 等绘图库或使用 TensorBoard 等日志记录库生成绘图来完成。

文件管理:管理训练过程中生成的各种文件(例如模型检查点、日志文件和绘图)可能具有挑战性。 拥有清晰且有组织的文件结构来跟踪这些文件并使其易于根据需要访问和分析它们非常重要。

有效的日志记录、检查点、绘图和文件管理可以帮助您跟踪模型的进度,并更轻松地调试和优化训练过程。文章来源地址https://www.toymoban.com/news/detail-752605.html

Key Value Description
project 'runs' project name
name 'exp' experiment name. exp gets automatically incremented if not specified, i.e, expexp2 ...
exist_ok False whether to overwrite existing experiment
plots False save plots during train/val
save False save train checkpoints and predict results

到了这里,关于【计算机视觉】YOLOv8参数详解(全面详细、重点突出、大白话阐述小白也能看懂)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

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

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

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

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

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

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

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

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

    2024年04月15日
    浏览(119)
  • 计算机视觉的应用14-目标检测经典算法之YOLOv1-YOLOv5的模型架构与改进过程详解,便于记忆

    大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用14-目标检测经典算法之YOLOv1-YOLOv5的模型架构与改进过程详解,便于记忆。YOLO(You Only Look Once)是一种目标检测深度学习模型。想象一下,传统的目标检测方法就像侦探一样,需要仔细观察整个场景,逐个研究每个细

    2024年02月07日
    浏览(38)
  • YOLOv8预测参数详解(全面详细、重点突出、大白话阐述小白也能看懂)

    YOLOv8现在可以接受输入很多,如下表所示。包括图像、URL、PIL图像、OpenCV、NumPy数组、Torch张量、CSV文件、视频、目录、通配符、YouTube视频和视频流。表格✅指示了每个输入源是否可以在流模式下使用,并给出了每个输入源使用流模式的示例参数 预测参数 Key Value Description s

    2024年02月11日
    浏览(27)
  • 【计算机视觉】YOLOv9:物体检测技术的飞跃发展

    YOLOv9 引入了可编程梯度信息 (PGI) 和广义高效层聚合网络 (GELAN) 等开创性技术,标志着实时目标检测领域的重大进步。该模型在效率、准确性和适应性方面都有显著提高,在 MS COCO 数据集上树立了新的标杆。YOLOv9 项目虽然是由一个独立的开源团队开发的,但它建立在以下机构

    2024年04月17日
    浏览(25)
  • 计算机视觉:卷积核的参数是如何得到的?

    卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习模型,其主要特点是使用卷积层来提取特征。卷积层的核心是卷积核,也称为滤波器(filter)。卷积核是一个小的矩阵,通过卷积操作将输入数据中的特征提取出来。卷积核的参数是如何学习得到的呢? 我们前面学

    2024年02月16日
    浏览(29)
  • 计算机视觉:卷积层的参数量是多少?

    卷积核的参数量是卷积神经网络中一个重要的概念,它决定了网络的复杂度和计算量。在深度学习中,卷积操作是一种常用的操作,用于提取图像、语音等数据中的特征。卷积神经网络的优势点在于稀疏连接和权值共享,这使得卷积核的参数相较于传统的神经网络要少很多。

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

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

    2023年04月22日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包