You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用YOLOv5自定义模型检测图像后,如何获取置信度值

获取YOLOv5检测结果的置信度值

当你用model = torch.hub.load('ultralytics/yolov5', 'custom', 'C:\Object Detection\yolov5_object_detection\last.pt')加载自定义模型后,执行图像检测得到的results是YOLOv5的Results对象,你可以通过以下几种方式提取置信度值:

方法一:直接访问张量格式的预测结果

模型推理后,results.pred存储了所有检测框的张量数据,每一行对应一个检测框,包含x1, y1, x2, y2, confidence, class_id这6个值,其中第5个元素就是置信度:

# 执行图像检测
results = model('your_image.jpg')

# 获取第一张图的预测结果(批量检测时可遍历results.pred)
pred = results.pred[0]

# 提取所有置信度值并转为Python列表
confidence_values = pred[:, 4].tolist()

# 逐个打印检测框的置信度与对应类别
for detection in pred:
    conf = detection[4].item()  # 转为单个数值
    class_idx = int(detection[5].item())
    class_name = model.names[class_idx]
    print(f"检测目标: {class_name}, 置信度: {conf:.4f}")

方法二:转换成Pandas DataFrame(更易读)

YOLOv5提供了pandas()方法,可将检测结果转为表格形式,直接通过列名提取置信度:

# 执行检测
results = model('your_image.jpg')

# 转为DataFrame,xyxy[0]对应第一张图的结果
detection_df = results.pandas().xyxy[0]

# 提取置信度列
confidence_values = detection_df['confidence'].tolist()

# 查看包含置信度的完整检测结果
print(detection_df[['xmin', 'ymin', 'xmax', 'ymax', 'confidence', 'name']])

补充说明

  • 若批量检测多张图片,需遍历results对象,例如for result in results:处理单张图结果
  • model.names可通过类别ID获取对应类别名称,方便和置信度关联查看

内容的提问来源于stack exchange,提问作者Nandatto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 17:05:28