图像分割-改进网络结构
1. 如何找到值得问的问题?
- 模型精度低
- 模型精度多少才算低
- 某一类样本精度低
靠近图片边缘区域的mask缺失率高;特定形状如矩形mask形状预测差;训练集中样本不均较少的类精度低
- 预测存在结构性问题:mask召回率低;分割精度升高,分类精度降低
例子1:
- 正样本召回率很低(看notebook、model_visulize.ipynb)
- 多任务学习(Muti-Task)
- 修改代码、跑实验
例子2:
问题:是否存在更好的网络结构?
办法1:增加网络体积,调大neuron数量。going deeper
办法2:更好的网络架构:Vanilla Unet, SCSE Unet,Attention Unet
2. 各项任务
- 分类任务:encorder+classifier layer(1层)
- 分割任务:encorder+decoder
encoder/backbone:
resnet家族:resnet系列,resnext系列,se-resnet系列,se-resnext系列
efficientnet家族:b0,b1,b2,……,b7
其他:inception系列,vgg系列,densenet系列
efficientnet系列
- 更高效(网络体积相对更小)
- 更高精度
3. Multi-stage训练方案
通过冻结-部分网络(freeze),起到微调:
- 迁移学习
- 业务数据量小
- 噪音大
多种图片尺寸:
- 先在128*128小尺寸图片上训练
- 最后通过提高图片尺寸finetuning
使用不同loss进行finetuning
- 先用BCE训练
- 最后用lovasz loss/Dice loss,微调几个EPOCH