YOLOv8检测结果仅显示带置信度的框,如何显示类别名称?
YOLOv8检测结果显示类别名称的解决方法
命令行推理场景
直接在detect命令中添加--show-labels参数,就能让检测图显示类别名称。如果需要同时保留置信度显示(默认已开启,若要关闭可加--hide-conf),示例命令如下:
yolo detect predict model=best.pt source=test_images/ --show-labels --show-conf
Python代码推理场景
在调用predict方法时,设置show_labels=True开启类别名称显示,show_conf参数可控制置信度是否显示。示例代码:
from ultralytics import YOLO # 加载训练好的模型 model = YOLO('best.pt') # 执行预测并显示/保存带类别名称的检测结果 results = model.predict( source='test_images/', # 检测数据源 show=True, # 实时显示检测结果 save=True, # 保存检测结果到文件 show_labels=True, # 开启类别名称显示 show_conf=True # 开启置信度显示 )
检查数据集配置文件
确保你的数据集yaml配置文件中,names字段已正确填写对应类别的名称,且顺序与训练时的类别ID完全匹配。示例配置:
train: ./train/images val: ./val/images nc: 2 # 类别总数 names: ['猫', '狗'] # 按类别ID顺序填写名称
如果names字段缺失或内容错误,模型无法正确映射类别ID到名称,自然无法显示。
内容的提问来源于stack exchange,提问作者Guutaa Gammee
相关产品推荐
相关产品推荐

