硕士毕设-语义分割-0-计划制定
总体策略
优先级排序
- 野外场景特性(光照变化、复杂纹理)
- 弱监督数据标注
- 无监督域适应
- 实时性优化
核心方法
- 论文精读+代码复现:优先关注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 | # 参考TorchVision实现U-Net |
- 对比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 | # 使用pydensecrf优化CAM标签 |
- 复现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节省显存
- 视频数据采用滑动窗口缓存避免内存溢出
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Tipriest's Blog!