专栏名称: 新机器视觉
最前沿的机器视觉与计算机视觉技术
目录
相关文章推荐
新能源产业家  ·  产业家独家 | ... ·  14 小时前  
新能源产业家  ·  产业家独家 | ... ·  14 小时前  
黄建同学  ·  如何写好提示词,收藏-20241016233814 ·  昨天  
51好读  ›  专栏  ›  新机器视觉

YOLOv8预测参数详解(全面详细、重点突出、大白话阐述小白也能看懂)

新机器视觉  · 公众号  · AI 科技自媒体  · 2024-10-17 20:57

正文

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

预测参数

下面是每个参数的解释:

source:输入源的目录,可以是图像或视频文件。

conf:目标检测的对象置信度阈值。只有置信度高于此阈值的对象才会被检测出来。默认值为0.25。

iou:非极大值抑制(NMS)的交并比(IoU)阈值。用于在重叠较大的候选框中选择最佳的检测结果。默认值为0.7。

half:是否使用半精度(FP16)进行推理。半精度可以减少计算量,但可能会牺牲一些精度。默认值为False。

device:模型运行的设备,可以是cuda设备(cuda device=0/1/2/3)或CPU(device=cpu)。

show:是否显示检测结果。如果设置为True,则会在屏幕上显示检测到的对象。默认值为False。

save:是否保存带有检测结果的图像。如果设置为True,则会将检测结果保存为图像文件。默认值为False。

save_txt:是否将检测结果保存为文本文件(.txt)。默认值为False。

save_conf:是否将检测结果与置信度分数一起保存。默认值为False。

save_crop:是否保存裁剪后的带有检测结果的图像。默认值为False。

hide_labels:是否隐藏标签。如果设置为True,则在显示检测结果时不显示对象标签。默认值为False。

hide_conf:是否隐藏置信度分数。如果设置为True,则在显示检测结果时不显示置信度分数。默认值为False。

max_det:每张图像的最大检测数。如果检测到的对象数超过此值,将保留置信度高低来保留。默认值为300。

vid_stride:视频帧率步长。默认值为False,表示使用默认的帧率。

line_width:边界框的线宽。如果设置为None,则根据图像大小进行自动缩放。默认值为None。

visualize:是否可视化模型特征。默认值为False。

augment:是否对预测源应用图像增强。默认值为False。

agnostic_nms:是否使用类别无关的NMS。默认值为False。

retina_masks:是否使用高分辨率的分割掩膜。默认值为False。

classes:按类别过滤结果。可以指定单个类别(例如class=0)或多个类别(例如class=[0,2,3])。默认值为None,表示不进行类别过滤。

boxes:在分割预测中显示边界框。默认值为True。

使用Results对象

Results对象包含以下组件:

Results.boxes:用于操作边界框的属性和方法的对象

Results.masks:用于索引掩膜或获取分段坐标的对象

Results.probs:包含类别概率或逻辑值的张量(tensor)

Results.orig_img:加载在内存中的原始图像

Results.path:包含输入图像的路径

result对象默认是torch.Tensor对象,也可以转为其他对象

Boxes

Boxes对象可用于索引、操作边界框,并将其转换为不同的格式。Box格式转换结果是缓存的,这意味着每个对象只计算一次,并且这些值将在将来的调用中重复使用。

视频流数据源

以下是使用OpenCV和YOLOv8在视频帧上运行推理的代码。