colab_utils.annotate(),注解格式

colab_utils.annotate(), annotation format

我正在关注 Tensorflow notebook 进行 Few shot learning ( https://colab.research.google.com/github/tensorflow/models/blob/master/research/object_detection/colab_tutorials/eager_few_shot_od_training_tf2_colab.ipynb#scrollTo=RW1FrT2iNnpy )

在其中,我看到他们正在使用 colab_utils.annotate() 对图像进行注释。我无法理解他们使用的注释格式(如 YOLO 或 COCO 格式)。另一个问题是我们在绘制边界框时无法指定 类,我必须记住注释不同图像的顺序和 类 以便我可以添加它们稍后通过代码。

如果有人能告诉我那种格式是什么,那么我就可以在本地 PC 上而不是在 COLAB 上对图像进行注释,这样可以节省很多时间。

如有任何帮助,我们将不胜感激。 问候

colab_utils 注释工具仅对单个 class 实用。以下是源代码中的格式:

        [
          // stuff for image 1
          [
            // stuff for rect 1
            {x, y, w, h},
            // stuff for rect 2
            {x, y, w, h},
            ...
          ],
          // stuff for image 2
          [
            // stuff for rect 1
            {x, y, w, h},
            // stuff for rect 2
            {x, y, w, h},
            ...
          ],
          ...
        ]

由于注释不包含源图像的任何参考 ID,因此顺序很重要,您必须将方框数组的顺序与图像的顺序相匹配;这个工具对于大型训练集可能不实用。因此,您在下面提供的 colab 中的示例就是要遵循的示例。

gt_boxes = [
            np.array([[0.436, 0.591, 0.629, 0.712]], dtype=np.float32),
            np.array([[0.539, 0.583, 0.73, 0.71]], dtype=np.float32),
            np.array([[0.464, 0.414, 0.626, 0.548]], dtype=np.float32),
            np.array([[0.313, 0.308, 0.648, 0.526]], dtype=np.float32),
            np.array([[0.256, 0.444, 0.484, 0.629]], dtype=np.float32)
]