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

如何在YOLO_NAS目标检测中获取边界框坐标与模型预测结果?

获取YOLO-NAS的结构化预测结果

你可以通过访问predict()方法返回的预测对象属性,提取边界框、类别、置信度等结构化数据,无需仅调用.show()展示图片。以下是修改后的实现代码:

from super_gradients.training import models

# 加载预训练YOLO-NAS-L模型
yolo_nas_l = models.get("yolo_nas_l", pretrained_weights="coco")
image_url = "https://previews.123rf.com/images/freeograph/freeograph2011/freeograph201100150/158301822-group-of-friends-gathering-around-table-at-home.jpg"

# 获取预测结果对象
prediction_output = yolo_nas_l.predict(image_url, conf=0.25)

# 提取核心预测数据
# 边界框(xyxy格式:左上角x,y + 右下角x,y)
bboxes = prediction_output.prediction.bboxes_xyxy
# 预测置信度
confidences = prediction_output.prediction.confidence
# 类别ID
class_ids = prediction_output.prediction.labels

# 映射类别ID到类别名称
class_names = yolo_nas_l.get_class_names()
class_labels = [class_names[int(class_id)] for class_id in class_ids]

# 组合为结构化数组(列表嵌套字典,方便后续业务处理)
structured_predictions = [
    {
        "bbox": bbox.tolist(),
        "confidence": float(conf),
        "class_id": int(cls_id),
        "class_name": cls_name
    }
    for bbox, conf, cls_id, cls_name in zip(bboxes, confidences, class_ids, class_labels)
]

# 打印结构化结果
print(structured_predictions)

关键细节说明:

  • predict()返回的DetectionPrediction对象中,prediction属性存储了所有原始预测数据
  • 边界框默认是xyxy格式,若需要xywh(中心坐标+宽高)格式,可替换为bboxes_xywh属性
  • 如果需要numpy数组格式,直接调用.numpy()方法即可(比如bboxes.numpy())
  • get_class_names()会返回模型训练时使用的类别列表(此处为COCO数据集的80类)

内容的提问来源于stack exchange,提问作者Fernando J. Quisaguano

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 11:02:45