shamidow 2024-04-28 09:40 采纳率: 0%
浏览 8

yolov8 bot sort

您好,怎么把yolov8 botsort 中box的信息与个数提取出来

  • 写回答

6条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-28 09:40
    关注

    引自免费微信小程序:皆我百晓生

    看起来你在尝试运行YOLOv8的目标检测脚本,并且遇到了一个错误。这个错误提示说NoneType对象没有cpu()属性,这通常发生在你试图访问一个空值(None)的方法时。

    要解决这个问题,你需要检查box.id是否为None。在执行int(box.id.cpu().item())之前,可以添加一些调试语句来确认box.id的值。以下是修改后的代码片段,加上了一些调试信息:

    import torch
    
    # 假设boxes是包含边界框数据的列表
    for box in boxes:
        if box is not None and box.id is not None:
            print("Box id:", box.id)
            track_id = int(box.id.cpu().item())
            # 进行后续处理...
        else:
            print("Box or its id is None, skipping...")
    

    这段代码首先检查box本身是否为空,然后检查box.id是否为空。如果两者都不为空,就将id转换为整数并进行跟踪。如果任何一个为空,它就会跳过当前的box并输出一条消息。

    如果你仍然遇到问题,那么可能是因为输入的数据结构发生了变化,或者模型的输出与预期不符。在这种情况下,你需要检查YOLOv8模型的输出以及数据预处理部分,确保它们都符合追踪脚本的期望。

    另外,确保你的PyTorch版本、模型权重文件和追踪脚本都是兼容的。如果可能的话,分享一下具体的代码段和更详细的错误堆栈,这样我能提供更精确的帮助。

    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 4月28日
  • 创建了问题 4月28日