打印Yolo预训练模型的所有类别及对应的id

有时候我们可能只需要用yolo模型检测个别类别,并显示,这就需要知道id,以下代码可打印出


from ultralytics import YOLO

# 加载模型
model = YOLO('yolo11x.pt')

# 打印所有类别名称及其对应的ID
print(model.names)

{0: 'person', 1: 'bicycle', 2: 'car', 3: 'motorcycle', 4: 'airplane', 5: 'bus', 6: 'train', 7: 'truck', 8: 'boat', 9: 'traffic light', 10: 'fire hydrant', 11: 'stop sign', 12: 'parking meter', 13: 'bench', 14: 'bird', 15: 'cat', 16: 'dog', 17: 'horse', 18: 'sheep', 19: 'cow', 20: 'elephant', 21: 'bear', 22: 'zebra', 23: 'giraffe', 24: 'backpack', 25: 'umbrella', 26: 'handbag', 27: 'tie', 28: 'suitcase', 29: 'frisbee', 30: 'skis', 31: 'snowboard', 32: 'sports ball', 33: 'kite', 34: 'baseball bat', 35: 'baseball glove', 36: 'skateboard', 37: 'surfboard', 38: 'tennis racket', 39: 'bottle', 40: 'wine glass', 41: 'cup', 42: 'fork', 43: 'knife', 44: 'spoon', 45: 'bowl', 46: 'banana', 47: 'apple', 48: 'sandwich', 49: 'orange', 50: 'broccoli', 51: 'carrot', 52: 'hot dog', 53: 'pizza', 54: 'donut', 55: 'cake', 56: 'chair', 57: 'couch', 58: 'potted plant', 59: 'bed', 60: 'dining table', 61: 'toilet', 62: 'tv', 63: 'laptop', 64: 'mouse', 65: 'remote', 66: 'keyboard', 67: 'cell phone', 68: 'microwave', 69: 'oven', 70: 'toaster', 71: 'sink', 72: 'refrigerator', 73: 'book', 74: 'clock', 75: 'vase', 76: 'scissors', 77: 'teddy bear', 78: 'hair drier', 79: 'toothbrush'}

coco_names_zh = {
    0: "人",  # person
    1: "自行车",  # bicycle
    2: "汽车",  # car
    3: "摩托车",  # motorcycle
    4: "飞机",  # airplane
    5: "公交车",  # bus
    6: "火车",  # train
    7: "卡车",  # truck
    8: "船",  # boat
    9: "交通灯",  # traffic light
    10: "消防栓",  # fire hydrant
    11: "停车标志",  # stop sign
    12: "停车计时器",  # parking meter
    13: "长凳",  # bench
    14: "鸟",  # bird
    15: "猫",  # cat
    16: "狗",  # dog
    17: "马",  # horse
    18: "羊",  # sheep
    19: "牛",  # cow
    20: "大象",  # elephant
    21: "熊",  # bear
    22: "斑马",  # zebra
    23: "长颈鹿",  # giraffe
    24: "背包",  # backpack
    25: "雨伞",  # umbrella
    26: "手提包",  # handbag
    27: "领带",  # tie
    28: "行李箱",  # suitcase
    29: "飞盘",  # frisbee
    30: "滑雪板",  # skis
    31: "单板滑雪板",  # snowboard
    32: "球",  # sports ball
    33: "风筝",  # kite
    34: "棒球棒",  # baseball bat
    35: "棒球手套",  # baseball glove
    36: "滑板",  # skateboard
    37: "冲浪板",  # surfboard
    38: "网球拍",  # tennis racket
    39: "瓶子",  # bottle
    40: "酒杯",  # wine glass
    41: "杯子",  # cup
    42: "叉子",  # fork
    43: "刀",  # knife
    44: "勺子",  # spoon
    45: "碗",  # bowl
    46: "香蕉",  # banana
    47: "苹果",  # apple
    48: "三明治",  # sandwich
    49: "橙子",  # orange
    50: "花椰菜",  # broccoli
    51: "胡萝卜",  # carrot
    52: "热狗",  # hot dog
    53: "比萨",  # pizza
    54: "甜甜圈",  # donut
    55: "蛋糕",  # cake
    56: "椅子",  # chair
    57: "沙发",  # couch
    58: "盆栽",  # potted plant
    59: "床",  # bed
    60: "餐桌",  # dining table
    61: "马桶",  # toilet
    62: "电视",  # tv
    63: "笔记本电脑",  # laptop
    64: "鼠标",  # mouse
    65: "遥控器",  # remote
    66: "键盘",  # keyboard
    67: "手机",  # cell phone
    68: "微波炉",  # microwave
    69: "烤箱",  # oven
    70: "烤面包机",  # toaster
    71: "水槽",  # sink
    72: "冰箱",  # refrigerator
    73: "书",  # book
    74: "钟",  # clock
    75: "花瓶",  # vase
    76: "剪刀",  # scissors
    77: "泰迪熊",  # teddy bear
    78: "吹风机",  # hair drier
    79: "牙刷"  # toothbrush
}

例如桔子的id是49

from ultralytics import YOLO
import cv2

# 加载模型
model = YOLO('yolo11x.pt')

# 运行预测,仅检测桔子(假设桔子的类别ID为49,请根据实际模型调整)
results = model.predict("d.jpg", imgsz=640, save=False, device=0, classes=[49])

# 获取第一个结果对象
result = results[0]

# 获取检测结果图像(自动过滤非指定类别)
result_image = result.plot()

# 判断是否检测到桔子
if len(result.boxes) == 0:
    print("no orange")
    # 可以在图像上添加文字提示
    cv2.putText(result_image, "no orange", (50, 100), cv2.FONT_HERSHEY_SIMPLEX, 2, (0, 0, 255), 3)
else:
    print(f"Detected {len(result.boxes)} oranges")

# 显示和保存结果
cv2.imshow('Detection Result', result_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imwrite('dec.jpg', result_image)

 yolo11x.pt比yolo11n.pt 检测慢,但要更精确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

养牛大人

感谢您的鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值