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

咨询YOLOv4-DeepSort中utils.format_boxes代码行的具体含义

关于bboxes = utils.format_boxes(bboxes, original_h, original_w)代码的解释

这行代码是目标跟踪流程里关键的边界框格式转换步骤,作用是把YOLOv4输出的原始边界框数据,转换成后续DeepSort跟踪模块或图像绘制逻辑需要的格式,具体拆解如下:

前置背景

YOLOv4模型输出的边界框(bboxes)是归一化后的坐标(数值范围0-1),格式为[ymin, xmin, ymax, xmax]:

  • ymin/xmin:边界框左上角的归一化坐标
  • ymax/xmax:边界框右下角的归一化坐标

但后续的跟踪(DeepSort)或可视化逻辑,需要的是基于原始图像像素的实际坐标,且格式为[xmin, ymin, width, height]。

代码逐行解析

  1. original_h, original_w, _ = frame.shape

    • 从摄像头捕获的帧(frame)中提取原始图像的实际高度(original_h)和实际宽度(original_w),frame.shape返回格式为(高度, 宽度, 通道数),用_忽略通道数参数。
  2. bboxes = utils.format_boxes(bboxes, original_h, original_w)

    • 调用工具函数完成两个核心转换:
      • 反归一化:将YOLO输出的0-1范围坐标,分别乘以原始图像的高度和宽度,转换成真实的像素坐标值。
      • 格式重构:把[ymin, xmin, ymax, xmax]的结构,转换为[xmin, ymin, width, height]:
        • width = xmax - xmin(边界框的像素宽度)
        • height = ymax - ymin(边界框的像素高度)
        • 同时调整坐标顺序,把xmin、ymin(左上角像素坐标)放到最前面,匹配后续模块的输入要求。

内容的提问来源于stack exchange,提问作者Divya Dyadey

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 14:01:17