Ultralytics Yolo - 获取指定类的对象数量

问题描述 投票:0回答:1

我是 Ultralytics YOLO 的新手。我正在尝试获取在单个图像中识别的总对象(指定类“人”的)。

这是代码:

import json
from ultralytics import YOLO

def test_yolo(image_path):
    model = YOLO('yolov8n.pt')
    results = model(image_path)
    return results


if __name__ == "__main__":
    results = test_yolo('/home/myuser/test/yolo/data/persone.jpg')
    count = 0
    results_array = json.loads(results[0].tojson())
    
    
    
    for result in results_array:
        if result["name"] == "person":
            count = count +1
    
    
    print("Persons: ", count)

使用此方法,使用“.json()”方法将结果转换为 Json 数组,并使用“json.loads()”将 Json 数组转换为 Python 字典列表。 但我确信这不是完成任务的正确方法。

这是输出:

图片 1/1 /home/myuser/test/yolo/data/persone.jpg:384x640 6 人,1 条领带,63.5ms 速度:形状 (1, 3, 384, 640) 下每张图像的预处理时间为 2.2 毫秒,推理时间为 63.5 毫秒,后处理时间为 1.1 毫秒

人数:6人

正如你所看到的,它在第一行打印了识别到的物体的数量,这意味着Yolo已经有了物体的数量。如何在不使用我的(低效)代码的情况下访问此计数器?

python yolo
1个回答
0
投票

通过以下链接,您将能够使用内置对象计数。

对象计数:https://docs.ultralytics.com/guides/object-counting/#real-world-applications

© www.soinside.com 2019 - 2024. All rights reserved.