【YOLO-V3-SPP源码解读】⼀、数据制作和格式处理
项⽬全部代码已上传⾄GitHub: .
⽬录标题
第⼀步、制作⾃⼰的数据集
第⼀步是制作⾃⼰的数据集(照⽚),可以是⽹络的,也可以是⾃⼰拍的,甚⾄可以是⾃⼰p的。
以我下⾯讲解的数据集为例⼦,我是在⽹上的关于的苹果的病⾍害,我简单的做了三个分类,分别是Alternaria_Boltch(斑点落叶病)、Grey_spot(灰斑病)、Rust( 锈病)。我的⽂件结构如下:
每个⽂件下放着我的数据集照⽚:
就不⼀⼀展⽰了,反正就是有⼏个类就创⼏个⽂件夹,再把各个类别的照⽚放进对应的⽂件夹中,这样我们的数据集就初步制作完毕了。
第⼆步、为⾃⼰的数据集打标签
这⼀步是很重要的⼀步。现在市⾯上常⽤的打标签⼯具有labelme和labelimg两种,我这⾥就以labelimg为例,介绍⼀下打标签的过程。
⾸先,如果没装过labelimg的朋友需要先装⼀下labelimg插件。步骤是先打开Anaconda Prompt(直接⽤cmd也⾏),选择⼀下把插件装在哪个环境:
指令:activate 环境名
也可以⾃⼰⽤Anaconda⾃⼰创⼀个环境,具体创环境步骤我就不写了,⽹上好多教程,可以学下。
xml文件怎么打开
然后就安装labelimg插件:
指令:pip install labelimg
这⾥显⽰我装过了,反正输⼊指令⼀般是可以装成功的。
再打开labelimg
指令:labelimg
之后系统就会打开labelimg插件,插件GUI界⾯如下:
注意:打开labelimg的时候,你的Anaconda Prompt/cmd不能叉掉,必须同时运⾏
再下⾯点击 Open Dir 打开⾃⼰的数据集某个类别的⽂件夹
如图我选择打开我的第⼀个分类Alternaria_Boltch,显⽰:
1. 右下⾓的File List是该⽬录下的所有图⽚,可以直接在这⾥选择对应的图⽚;
2. 右上⾓的可以⾃⼰设置默认的标签,并勾选Use default label⼀般我们打开某个⽂件夹(某种种类),就可以把默认标签设为该⽂件
名;还可以点击左侧的 Next Image 和 Prev Image 选择图⽚;
3. 左侧的Pascal VOC那⾥可以选择⾃⼰的打便签的类型(有VOC(xml)、YOLO(txt)等)我这⾥选择的是VOC的格式(以后可能我会
直接⽤YOLO的格式,应该会更简便);
4. ⼀般来说我们不⽤Change Save Dir,因为把⽣成 xml ⽂件和图⽚⽂件放在⼀起我们可以随时观看我们每张图⽚的打标签的状态,如
果觉得哪张照⽚便签没打好,也可以随时重新打;
5. 如果⽬标太⼩,点击 ctrl and ⿏标滑动选择相应的图⽚尺度,放⼤图⽚或缩⼩图⽚,⽅便我们打标签;
6. 点击Create RectBox我们就可以开始打标签了,如下图,点击后⿏标左键拖拽,开始打标签。
7. 打完这张图的标签如下图,点击打好的标签(框框处)可以观看标签的状态,右侧列表显⽰当前框框的label,写错label也可以点击右
上⽅的 Edit Label 进⾏修改。
8. 打完这张图⽚,点击 ctrl and =,将图⽚回复为原来的⼤⼩,再点击 ctrl and s 保存当前图⽚的标签⽂件(xml名不需要改变,默认
就好,图⽚名.xml)
依次打完当前类别⽂件下的所有图⽚,再点击Open Dir切换到下个类别继续进⾏
注意:在切换到下⼀个类别的时候,别忘了把右上⾓的默认标签也改成相应的标签名,不然就会发现⽩打了…
OK,打标签的步骤就说到这⾥,做到这⾥你应该把你的所有类别⽂件下的所有图⽚都打好了标签,并在同⼀个⽂件下⽣成了所有图⽚对应的xml标签⽂件,如下图:
以上是我打的三个类别(⽂件)下的所有图⽚和他们⼀⼀对应的标签(xml)。
第三步、制作VOC格式的数据集
我们应该都很熟悉voc的⽂件格式的,VOC的⽬录格式如下:
-VOC