Unet网络

img

1.U-Net网络左边可视为编码器,右边可视为解码器。

2.编码器包括四个模块,每个模块用两个valid卷积层加上一个max pooling组成。

3.解码器同样是四个模块,每个模块有两个valid卷积层和一个转置卷积层组成。

4.此外,该网络还是用跳跃连接,将编码器与解码器中具有相同大小的模块进行连接

将编码器网络改为ResNet50

img

结果展示

img

img

反思总结

1、结果显示,模型在训练集中的IOU远高于测试集中IOU,判断为过拟合。为了防止过拟合,可考虑添加dropout或者加入L2正则化

2、损失函数选择上,考虑Dice Loss与BCE Loss并重,以一定比例均衡

代码

在代码上参考了github上的一份代码,并对其进行了一些的修改,其中添加了一个unet1.py是原始的unet网络,而该代码的unet网络,主干网络由VGG和resnet50组成。

代码地址:https://github.com/InfiniteZh/unet-pytorch/tree/myunet