为 YOLO 和 SSD 模型创建数据集时为什么要进行标注
Why should I make annotations when creating a dataset for YOLO and SSD models
我目前正在准备我的数据集,以便在其上训练 SSD 模型。
我想知道我是否必须为我的每个 classes 在我的每张图像上做注释,
或者如果我可以裁剪我的图像以隔离我的每个 class 并将它们放在它们所属的 class 文件夹中。
用第一种方法我会得到类似的东西
dataset
|
|_annotations
| |
| |_001.xml
| |_002.xml
| |_...
|
|_images
|
|_001.jpg
|_002.jpg
|_...
使用第二种方法:
dataset
|
|_class1
| |
| |_crop01.jpg
| |_crop02.jpg
| |_...
|
|_class2
|
|_crop01.jpg
|_crop02.jpg
|_...
使用一种或另一种方法在训练过程中会有不同吗?
我注意到对于 classification 模型,使用第二种方法,而对于检测器(例如 YOLO 或 SSD),使用第一种方法?
这只是一种习惯还是必须的,还是两者都可以用于class识别和检测?
使用裁剪方法训练检测模型会有什么影响?
在此先感谢您的帮助
SSD 模型得到整个图像以及对象的边界框。这是您无法使用第二种方法重新创建的东西(正如您所说,用于 classification)。检测模型学习输出边界框偏移量以及 class,因此它需要原始图像以及注释。
我目前正在准备我的数据集,以便在其上训练 SSD 模型。
我想知道我是否必须为我的每个 classes 在我的每张图像上做注释, 或者如果我可以裁剪我的图像以隔离我的每个 class 并将它们放在它们所属的 class 文件夹中。
用第一种方法我会得到类似的东西
dataset
|
|_annotations
| |
| |_001.xml
| |_002.xml
| |_...
|
|_images
|
|_001.jpg
|_002.jpg
|_...
使用第二种方法:
dataset
|
|_class1
| |
| |_crop01.jpg
| |_crop02.jpg
| |_...
|
|_class2
|
|_crop01.jpg
|_crop02.jpg
|_...
使用一种或另一种方法在训练过程中会有不同吗? 我注意到对于 classification 模型,使用第二种方法,而对于检测器(例如 YOLO 或 SSD),使用第一种方法?
这只是一种习惯还是必须的,还是两者都可以用于class识别和检测? 使用裁剪方法训练检测模型会有什么影响?
在此先感谢您的帮助
SSD 模型得到整个图像以及对象的边界框。这是您无法使用第二种方法重新创建的东西(正如您所说,用于 classification)。检测模型学习输出边界框偏移量以及 class,因此它需要原始图像以及注释。