首页
/ HRNet语义分割模型在ADE20K数据集上的训练配置解析

HRNet语义分割模型在ADE20K数据集上的训练配置解析

2025-07-10 01:37:15作者:尤峻淳Whitney

概述

本文将深入解析HRNet语义分割项目中用于ADE20K数据集的训练配置文件,该配置采用了HRNet-W48结合OCR(Object-Contextual Representations)模块的架构。ADE20K是一个包含150个类别的场景解析数据集,广泛应用于语义分割研究领域。

硬件与基础配置

CUDNN:
  BENCHMARK: true
  DETERMINISTIC: false
  ENABLED: true
GPUS: (0,1,2,3)
WORKERS: 4

这部分配置定义了训练环境的基础设置:

  • CUDNN优化:启用了cuDNN加速库,并开启基准测试模式以自动选择最优算法
  • GPU设置:使用4块GPU进行并行训练(0-3号GPU)
  • 数据加载:配置了4个工作进程(workers)用于数据预加载,提升训练效率

数据集配置

DATASET:
  DATASET: ade20k
  ROOT: 'data/'
  TEST_SET: 'list/ade20k/val.lst'
  TRAIN_SET: 'list/ade20k/train.lst'
  NUM_CLASSES: 150

关键参数说明:

  • ADE20K数据集:包含150个语义类别,是MIT发布的场景解析数据集
  • 数据路径:训练集和验证集分别通过train.lst和val.lst指定
  • 类别数:150对应ADE20K的标准类别数量

模型架构

MODEL:
  NAME: seg_hrnet_ocr
  PRETRAINED: 'pretrained_models/hrnetv2_w48_imagenet_pretrained.pth'
  EXTRA:
    STAGE1: ...
    STAGE2: ...
    STAGE3: ...
    STAGE4: ...

模型特点:

  1. HRNet-W48骨干网络:采用高分辨率网络结构,保持高分辨率特征图
  2. OCR模块:增强上下文信息捕获能力
  3. 预训练权重:使用在ImageNet上预训练的HRNetv2-W48权重初始化

网络结构细节:

  • 四阶段架构:从stage1到stage4逐步增加分支数量(1→2→3→4)
  • 通道数增长:48→96→192→384,保持高分辨率分支的轻量化
  • 特征融合:各阶段使用SUM方法融合不同分辨率特征

损失函数配置

LOSS:
  USE_OHEM: true
  OHEMTHRES: 0.9
  OHEMKEEP: 131072
  BALANCE_WEIGHTS: [0.4, 1]

损失函数特点:

  • OHEM(在线难例挖掘):自动关注难以分类的样本
    • 阈值0.9:只保留损失值在前90%的样本
    • 保留131072个像素:控制计算量
  • 平衡权重:[0.4,1]表示对主损失和辅助损失的不同权重

训练策略

TRAIN:
  BATCH_SIZE_PER_GPU: 4
  BASE_SIZE: 520
  IMAGE_SIZE: [520, 520]
  OPTIMIZER: sgd
  LR: 0.02
  WD: 0.0001
  MOMENTUM: 0.9
  EPOCHS: 120

训练关键参数:

  • 批量大小:每GPU处理4张图像,4GPU总batch size为16
  • 输入尺寸:520×520分辨率
  • 优化器:使用带动量的SGD
    • 初始学习率0.02
    • 权重衰减0.0001(L2正则化)
    • 动量0.9
  • 数据增强
    • 随机翻转(FLIP: true)
    • 多尺度训练(MULTI_SCALE: true)
    • 缩放因子16(SCALE_FACTOR: 16)

测试配置

TEST:
  BATCH_SIZE_PER_GPU: 1
  FLIP_TEST: false
  MULTI_SCALE: false

测试设置特点:

  • 评估模式:单GPU批量为1,关闭多尺度和翻转测试
  • 保持一致性:与训练时相同的520×520输入尺寸

总结

该配置文件定义了一个完整的HRNet-OCR-W48语义分割模型的训练方案,主要特点包括:

  1. 使用高分辨率网络保持空间细节
  2. 结合OCR模块增强上下文理解
  3. 采用OHEM策略提升难例学习效果
  4. 多尺度训练增强模型鲁棒性
  5. 适中的520×520输入尺寸平衡精度与效率

这套配置在ADE20K数据集上经过充分验证,能够取得优秀的语义分割性能,同时也适用于其他类似场景解析任务,只需调整NUM_CLASSES和数据集路径即可。