首页 > 解决方案 > colab_utils.annotate(),注解格式

问题描述

我正在关注 Tensorflow 笔记本进行少数镜头学习(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 格式)。另一个问题是我们在绘制边界框时无法指定类,我必须记住我注释不同图像和类的顺序,以便以后可以通过代码添加它们。

如果有人能告诉我那种格式是什么,我就可以在我的电脑上本地注释图像,而不是在 COLAB 上,这将节省大量时间。

任何帮助,将不胜感激。问候

标签: tensorflowdeep-learninggoogle-colaboratorytensorflow-model-garden

解决方案


colab_utils注释工具仅适用于单个类。以下是源代码中的格式:

        [
          // 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)
]

推荐阅读