已裁剪图像的YOLO注释文件

问题描述 投票:0回答:1

我正在尝试创建自己的数据集以供YOLO(你只看一次)。最初,我开始使用一个包含风景和动物图片的大型地理文件。我能够编写一个脚本来将动物的图像提取到单独的文件中。

我现在正处于将动物图像作为YOLO数据集的一部分使用的地步。但是,我在网上看到的所有例子都使用了注释文件,它们表示在较大图像中要检测的对象的位置。

就我而言,每个动物图片的全部内容都包含在边界框内。在这种情况下我该怎么办?

编辑:我的意思是:我是否仍然可以使用这些已经裁剪过的图像,然后在注释文件上注明边界框应该覆盖整个图像?

machine-learning computer-vision object-detection yolo
1个回答
0
投票

简单回答:不。如果像Yolo这样的物体检测,我们希望Yolo识别哪个是对象,哪个是非对象。当您创建边界框时,Yolo会将边界框标识为属于1类的正对象,并且边界框外部的部分将标识为非对象。

该模型将尝试学习如何区分对象与否,以及如何根据您的训练数据注释在精确坐标(x,y,w,h)上绘制边界框。在这种情况下,Yolo使用锚箱概念,Yolo会将最近的锚箱的大小调整为预测对象的大小。

当您创建自定义训练数据集时,yolo需要:带有边界框的注释图像+保存在文本文件中的边界框坐标,例如:

<object-class> <x_center> <y_center> <width> <height>

因此,您需要这些信息才能训练Yolo模型。

通常当你已经裁剪了数据集时,我认为它更适合于图像分类任务。或者,如果您能够创建脚本以区分动物和大图像,为什么不自动创建边界框注释和yolo协调相关图像的训练文本文件?


0
投票

由于YOLO是一个对象检测工具而不是对象分类工具,它需要未剪切的图像来理解对象和背景。

为了理解YOLO如何看待数据集,请看看这个image

在这张图片中,假设我们需要注释汽车(类id-1),然后注释将作为 -

<class id> <Xo/X> <Yo/Y> <W/X> <H/Y>

where,class id,要注释的类的标签索引 Xo,边界框中心的X坐标 边界框中心的Yo,Y坐标 W,边界框的宽度 H,边界框的高度 X,图像的宽度 Y,图像的高度

有关YOLO注释的更多详细信息,请查看此medium post

© www.soinside.com 2019 - 2024. All rights reserved.