一、推理参数
参考原网址:Predict - Ultralytics YOLO Docs
model.predict()
接受多个参数,这些参数可以在推理时进行调整:
from ultralytics import YOLO
# 加载预训练的 YOLO11n 模型
model = YOLO("yolo11m.pt")
# 使用参数对 'bus.jpg' 运行推理
model.predict("bus.jpg", show=True, imgsz=640, conf=0.7)
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
source | str | 'ultralytics/assets' | 指定用于推理的数据源。可以是实时源的图像路径、视频文件、目录、URL 或设备 ID。支持多种格式和源,支持跨不同类型的输入灵活应用。 |
conf | float | 0.25 | 设置检测的最小置信度阈值。如果检测到的置信度低于此阈值,则将忽略该对象。调整此值有助于减少误报。 |
iou | float | 0.7 | 非最大抑制 (NMS) 的交并比 (IoU) 阈值。值越低,就会消除重叠框,从而减少检测次数,这对于减少重复项非常有用。 |
imgsz | int or tuple | 640 | 定义用于推理的图像大小。可以是单个整数 640 (用于平方调整大小)或 (height, width) 元组。适当的尺寸可以提高检测精度和处理速度。 |
half | bool | False | 启用半精度 (FP16) 推理,这可以加快受支持 GPU 上的模型推理速度,同时对准确性的影响最小。 |
device | str | None | 指定要进行推理的设备(例如 cpu、cuda:0 或 0)。允许用户在 CPU、特定 GPU 或其他计算设备之间进行选择以执行模型。 |
batch | int | 1 | 指定推理的批量大小(仅当源是目录、视频文件或 .txt 文件时有效)。较大的批处理大小可以提供更高的吞吐量,从而缩短推理所需的总时间。 |
max_det | int | 300 | 每张图像允许的最大检测数。限制模型在单个推理中可以检测到的对象总数,从而防止在密集场景中出现过多的输出。 |
vid_stride | int | 1 | 视频输入的帧步幅。允许跳过视频中的帧,以牺牲时间分辨率为代价来加快处理速度。值为 1 时,将处理每个帧,值越高,则跳过帧。 |
stream_buffer | bool | False | 确定是否对视频流的传入帧进行排队。如果为 False,则丢弃旧帧以容纳新帧(针对实时应用程序进行了优化)。如果为“True”,则在缓冲区中对新帧进行排队,确保不会跳过任何帧,但如果推理 FPS 低于流 FPS,则会导致延迟。 |
visualize | bool | False | 在推理期间激活模型特征的可视化,从而深入了解模型“看到”的内容。用于调试和模型解释。 |
augment | bool | False | 启用用于预测的测试时增强 (TTA),从而可能以牺牲推理速度为代价提高检测稳健性。 |
agnostic_nms | bool | False | 启用与类无关的非极大值抑制 (NMS),它合并不同类的重叠框。在类重叠很常见的多类检测方案中很有用。 |
classes | list[int] | None | 将预测筛选为一组类 ID。将仅返回属于指定类的检测。对于在多类检测任务中关注相关对象非常有用。 |
retina_masks | bool | False | 返回高分辨率分割掩码。如果启用,则返回的掩码 (masks.data) 将与原始图像大小匹配。如果禁用,则它们具有推理期间使用的图像大小。 |
embed | list[int] | None | 指定要从中提取特征向量或嵌入的图层。对于聚类分析或相似性搜索等下游任务非常有用。 |
project | str | None | 如果启用了 save,则保存预测输出的项目目录的名称。 |
name | str | None | 预测运行的名称。用于在项目文件夹中创建子目录,如果启用保存,则预测输出将存储在该目录中。 |
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
show | bool | False | 如果为 True,则在窗口中显示带注释的图像或视频。在开发或测试期间提供即时视觉反馈。 |
save | bool | False or True | True 允许将带注释的图像或视频保存到文件中。可用于记录、进一步分析或共享结果。使用CLI时默认为True,在Python中使用时默认为False。 |
save_frames | bool | False | 处理视频时,将单个帧保存为图像。可用于提取特定帧或进行详细的逐帧分析。 |
save_txt | bool | False | 将检测结果保存在文本文件中,格式为 [class] [x_center] [y_center] [width] [height] [confidence]( [类] [x_center] [y_center] [宽度] [高度] [置信度])。可用于与其他分析工具集成。 |
save_conf | bool | False | 在保存的文本文件中包括置信度分数。增强了可用于后处理和分析的细节。 |
save_crop | bool | False | 保存检测的裁剪图像。可用于数据集扩充、分析或为特定对象创建专用数据集。 |
show_labels | bool | True | 在视觉输出中显示每个检测的标签。提供对检测到的对象的即时了解。 |
show_conf | bool | True | 在标签旁边显示每个检测的置信度分数。深入了解模型对每次检测的确定性。 |
show_boxes | bool | True | 在检测到的对象周围绘制边界框。对于图像或视频帧中对象的视觉识别和定位至关重要。 |
line_width | None or int | None | 指定边界框的线宽。如果为 None,则根据图像大小自动调整线宽。提供视觉自定义以提高清晰度。 |