总体策略

优先级排序

  1. 野外场景特性(光照变化、复杂纹理)
  2. 弱监督数据标注
  3. 无监督域适应
  4. 实时性优化

核心方法

  • 论文精读+代码复现:优先关注STEGO改进方向
  • 项目驱动学习:构建野外场景语义分割Pipeline
  • 效率工具
    • PyTorch Lightning(加速实验)
    • W&B(指标记录)
    • GitHub Actions(自动化测试)

第一阶段:基础夯实(Day 1-7)

目标:掌握传统语义分割核心模型与野外场景数据特性

每日安排

  • 上午(2h):论文精读+数学推导
  • 下午(2h):代码复现与调试
  • 晚上(1h):整理笔记/GitHub文档

Day 1-3: 传统语义分割模型

必读论文

  • FCN (CVPR 2015)
  • U-Net (MICCAI 2015)
  • DeepLabv3+ (ECCV 2018)

代码实践

1
2
# 参考TorchVision实现U-Net
model = torchvision.models.segmentation.unet_model(...)
  • 对比DeepLab的ASPP模块与U-Net跳跃连接效果

关键点

  • 多尺度特征融合技术(Transposed Conv vs. Bilinear)
  • 掌握mIoU、Dice Loss计算

Day 4-7: 野外场景数据特性与预处理

数据集

  • COCO-Stuff(复杂自然场景)
  • WildDash(恶劣天气/光照挑战)

实践任务

  • 使用Albumentations实现光照抖动(RandomGamma)和雾化模拟(RandomFog)
  • 分析类别不平衡问题(草地/岩石/水域分布)

工具链搭建

  • 配置支持多分辨率输入的Dataloader(参考MMSegmentation)

第二阶段:弱监督语义分割(Day 8-18)

目标:构建弱监督野外场景Pipeline

Day 8-10: CAM与CRF后处理

必读论文

  • SEC (ECCV 2016)
  • PSA (CVPR 2017)

代码实践

1
2
# 使用pydensecrf优化CAM标签
from pydensecrf.densecrf import DenseCRF2D
  • 复现CAM生成代码(参考py-faster-rcnn实现)

Day 11-14: 基于伪标签的迭代优化

必读论文

  • IRNet (CVPR 2019)
  • AdvCAM (CVPR 2021)

实践任务

  • 在WildDash上实现AdvCAM,对比CRF处理前后的mIoU差异
  • 设计伪标签筛选策略(置信度阈值过滤)

Day 15-18: 弱监督与STEGO结合

定向改进

  • 修改STEGO损失函数,加入CAM监督(参考)
  • 对比纯无监督 vs. 弱监督混合训练的收敛速度

第三阶段:无监督域适应与自监督(Day 19-25)

目标:解决域偏移问题(仿真→真实场景迁移)

Day 19-21: 对比学习与特征解耦

必读论文

  • MaskContrast (CVPR 2021)
  • DINO (ICCV 2021)

代码实践

  • 在COCO-Stuff上预训练DINO特征提取器
  • 实现像素级对比损失(参考MaskContrast官方代码)

Day 22-25: 自监督视频分割

方向

  • 利用机器人采集的连续视频帧提升分割一致性

实践任务

  • 在CARLA仿真环境生成视频数据
  • 设计时间一致性损失(相邻帧预测平滑性约束)

第四阶段:项目整合与优化(Day 26-30)

目标:构建完整Pipeline,产出开源仓库与仿真视频

Day 26-27: 部署优化

  • 模型轻量化:转换为ONNX格式,测试TensorRT推理速度
  • 知识蒸馏实验(用DeepLabv3+作为教师模型)

Day 28-30: 结果可视化与文档

  • 使用Open3D生成3D语义地图(参考Open3D-PointNet++)
  • 制作视频演示(FFmpeg合成分割结果)

GitHub仓库规范

  • 提供Colab Demo与预训练模型
  • 使用Sphinx/MkDocs编写API文档

关键资源推荐

类别 推荐内容
论文 Awesome Weakly-Supervised Segmentation, Unsupervised Segmentation Survey
代码库 MMSegmentation, STEGO改进版(重点关注 wilddash.py
数学补充 《Probabilistic Graphical Models》第4章(CRF推导)

避坑指南

数据层面

  • 光照变化 → 使用AutoAugment策略增强鲁棒性
  • 标注噪声 → 在损失函数中增加Generalized Cross Entropy

训练技巧

  • 渐进式伪标签更新比固定阈值更稳定
  • 多尺度训练(HRNet)提升细节分割

工程化

  • 使用PyTorch AMP节省显存
  • 视频数据采用滑动窗口缓存避免内存溢出