配置文件(config)
- 由于在大型项目中,一种模型需要分:tiny、small、big等很多种,而它们的区别主要在网络结构,数据的加载,训练策略等,且差别很多都很小,所以如果每个模型都手动从头写一份,很麻烦,为了方便,现在都是直接采用配置文件的形式来定义
- 如yaml文件、py文件等
MMdetection的配置文件构成
- 在MMdection的配置文件中,我们根据字段来定义模型训练的各部分
- 配置文件的运作方式
使用MMdection来训练自己的检测模型
-
coco数据集的组织形式
-
coco数据集的标注格式
-
所有标注信息存储在一个JSON对象中,包含以下信息:images--所有原始图像信息、annotations--所有标注信息、categories--全部物体类别信息
-
其中:name表示当前的物体类别,supercategories表示当前物体的超类,如car的超类为vehicle
-
我们将自己的数据集按照以上的格式整理好后,还需要更改模型的配置文件(有些模型是继承coco_instance.py,需要仔细查找),如下:
-
重点是需要修改:数据集的路径、batch_size、进程数
-
在将原始图像输入进模型之前,我们可能还需要对图像进行:随机裁剪与缩放、水平翻转、像素值归一化、转换为PyTorch Tensor等操作,这些操作我们统一放在数据处理流水线,即pipeline中。对于微调训练,通常情况是不需要进行更改的
-
下图为分类的pipeline:
-
由于检测有框,所以多了一个annotations,对于框也需要进行跟原始图片一样的操作,下图是检测的: