我目前正在准备数据集,以便在其上训练SSD模型。
我想知道我是否必须为我的每一个班级的每一张图片做注解, 或者,如果我可以裁剪我的图像来隔离我的每个类,并将它们放在它们所属的类文件夹中。
用第一种方法,我会得到
dataset | |_annotations | | | |_001.xml | |_002.xml | |_... | |_images | |_001.jpg |_002.jpg |_...
使用第二种方法:
dataset | |_class1 | | | |_crop01.jpg | |_crop02.jpg | |_... | |_class2 | |_crop01.jpg |_crop02.jpg |_...
使用一种或另一种方法,培训过程是否会有所不同? 我注意到,对于分类模型,使用第二种方法,而对于检测器(如YOLO或SSD),使用第一种方法?
这只是一种习惯还是一种必须,或者两者都可以用于分类和检测? 使用裁剪方法训练检测模型会有什么影响?
提前感谢您的帮助
SSD模型将整个图像与对象的边界框一起馈送。这是使用第二种方法(正如您所说,用于分类)无法重新创建的。检测模型学习随类输出边界框偏移,因此需要原始图像和注释。