调整COCO边界框的大小以进行对象检测

2024-09-30 03:26:17 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的第一个问题。我正在准备一个用于对象检测的数据集。到目前为止,我已经做了以下工作:

  1. 我有一张原图(尺寸w4000 x h3000)
  2. 我使用注释平台Roboflow以COCO格式对其进行注释,图片中有近250个对象
  3. Roboflow返回了一张缩小的图片(2048x1536),其中包含相应的json文件,带有COCO格式的注释
  4. 然后,为了从我的原始图片中获取数据集(因为我有很多对象,而且图片足够大),我决定将原始图片平铺在224x224的补丁中。为此,我放大了一点(4032x3136),以便能够正确地进行切片,获得252张图片

问题

  1. 如何将Roboflow 2048x1536图片的边界框调整为原始图片(4032x3136)

  2. 一旦b.box被调整到我的原始图片大小,我如何再次调整它们的大小,使其适应通过切片原始图片创建的每个补丁(224x224)

谢谢


Tags: 文件数据对象json尺寸格式图片切片
1条回答
网友
1楼 · 发布于 2024-09-30 03:26:17

听起来最终的目标似乎是正确更新来自源4032x3136图像的224x224图像和边界框

至少在Roboflow中,您可以将平铺作为预处理步骤添加到原始4032x3136图像中。图像将分为您选择的瓷砖数量(2x2、3x3、NxY)。边界框将正确更新,以覆盖每个瓷砖上的对象

要从您描述的代码中重新实现,您需要:

  1. 将2048x1536图像放大到4032x3136
  2. 相应地缩放边界框
  3. 使用类似Pil的方法将图像分成224x224个平铺
  4. 更新注释,将其分解为各个瓷砖上的坐标;每个平铺一个注释

相关问题 更多 >

    热门问题