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



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

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

问题

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

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

谢谢!!

听起来最终目标是从源4032x3136图像中平铺224x224个图像,并正确更新边界框。

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

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

  1. 将2048x1536图像放大到4032x3136
  2. 相应地缩放边界框
  3. 使用Pil之类的东西将图像分割成224x224个瓦片
  4. 更新要分解为各个瓦片上的坐标的注释;每个磁贴一个注释

最新更新