在配置文件中进行的配置可能在训练或测试过程中都会用到,带有 _TRAIN
后缀表示该配置可能用于训练,同理用于_TEST
。同一个参数不同后缀表示用在不同位置IMAGES_PER_BATCH_TRAIN
和IMAGES_PER_BATCH_TEST
模型部分配置
_C = CN()
官方建议在配置中指定当前使用 detectron 版本,任何改变
_C.VERSION = 2
_C.MODEL = CN()
- 表示在 FastRCNN 中使用是否候选框
_C.MODEL.LOAD_PROPOSALS = False
- 是否分割任务,在 mask-rcnn 的任务中会用到
_C.MODEL.MASK_ON = False
- 是否关键点检测的任务
_C.MODEL.KEYPOINT_ON = False
- 计算是运行在 gpu(cuda) 还是 cpu 如果想要使用 cpu 可以设置 cpu
_C.MODEL.DEVICE = "cuda"
- 模型结构也就是指定网络结构采用构建方式
_C.MODEL.META_ARCHITECTURE = "GeneralizedRCNN"
- detectron2 提供许多预先训练好的模型参数,再训练完之后可以将训练好的模型参数指定在此处
_C.MODEL.WEIGHTS = ""
- 用于将图像进行标准化处理(因为 INPUT.FORMAT默认为BGR,所以图片颜色通道按 BGR)。要训练不同数量通道的图像,只需设置不同的均值和标准差即可。默认值为 ImageNet 中的平均像素值:[103.53、116.28、123.675]
_C.MODEL.PIXEL_MEAN = [103.530, 116.280, 123.675]
在 Detectron1 或任何 MSRA 模型中,使用预训练的模型时,std 已吸收到其 conv1 权重中,因此需要将 std 设置为 1。否则,您可以使用[57.375、57.120、58.395](ImageNet std)
_C.MODEL.PIXEL_STD = [1.0, 1.0, 1.0]
输入部分配置
_C.INPUT = CN()
- 指定训练集中图片的最小尺寸
_C.INPUT.MIN_SIZE_TRAIN = (800,)
- 最小边样本尺寸的选择或随机选择的范围从给的输入。MIN_SIZE_TRAIN
_C.INPUT.MIN_SIZE_TRAIN_SAMPLING = "choice"
-
True
表示在训练过程中,对图片进行裁剪
_C.INPUT.CROP = CN({"ENABLED": False})
如果 CROP.TYPE
是absolute
这里单位是 pixels
_C.INPUT.CROP.SIZE = [0.9, 0.9]
- 颜色有很多模式例如我们熟悉 RGB 或者是 YUV HSV,不同颜色模式用于不同用途,有关颜色模式的更详细内容大家可以自己上网找一找。这样只要指定颜色模式,detectron2 内部根据指定模式进行颜色模式转换。
_C.INPUT.FORMAT = "BGR"
- 在此用于指定 mask 格式(也就是语义分割形式) 其中 ground truth 格式可以是 ploy(多边形) 或 bitmask 两种方式中任意选择一个
_C.INPUT.MASK_FORMAT = "polygon" # alternative: "bitmask"