问题(待修改):
1.需要对mask进行热编码。 将(W,H)转为(33,W,H),33是类别数。 跟UNet输出的mask一样,方便计算loss值。
但是代码有问题。 mask用cv读进来是一个矩阵,数值的形式。 不能直接mask==v?
去输出看一下mask到底是什么。
生成的masks也要输出看一下。 可以在这里将masks输出为1个文件,对文件进行可视化等
这是自己写的热编码。 上面的代码和下面的留一个就行。 都试试
2.图像增强
图像增强是输入一个图像,进行一系列处理,输出一个图像。
如果没有数据增强,那么训练时每个epoch训练的 data都是一样的,数据增强后每轮epoch输入的图像都不一样。
训练初期,可以不设置数据增强,之后慢慢修改优化。
数据增强中,可以pad, resize,尽量不要crop。先用resize代替crop
3.loss值输出问题
可以去查一下这个库的英文说明文档,应该有在哪输出loss值的说明。
Pip下载的库所在的位置,可以修改源代码。
4.初期可以用一个封装好的库。 但是之后用pytorch直接写代码。 不要再用库了。
去github上找代码 ※多的
GitHub - Andy-zhujunwen/UNET-ZOO: including unet,unet++,attention-unet,r2unet,cenet,segnet ,fcn.
参考:
1.(27条消息) PyTorch图像分割模型——segmentation_models_pytorch库的使用_oJiWuXuan的博客-CSDN博客_pytorch图像分割
详细
2.
Unet实战-定位图片中猫的位置 - 知乎 (zhihu.com) 处理图片
3.(27条消息) segmentation_models_pytorch库学习_学无止境、积少成多、厚积薄发-CSDN博客_segmentation_models_pytorch
4.记segmentation_models_pytorch环境搭建及使用 - 知乎 (zhihu.com)
5.多分类 one-hot
医学图像分割多目标分割(多分类)实践_LYNNzZ361的博客-CSDN博客_多目标分割
(11条消息) Unet分割医学图像全记录/结果全白解决办法/多分类Dice loss_W思涵的博客-CSDN博客_dice loss多分类
安装pytorch
(27条消息) Linux服务器pytorch环境配置详解_xiaotouming1的博客-CSDN博客
建立了一个虚拟环境[pytorch]
conda activate pytorch
将mask图像转化为彩色图像并可视化
(31条消息) 多类分割mask,如何转彩色图像并保存_guaiwuguba的博客-CSDN博客
代码解释(31条消息) 图像分割中的Mask,color table 和label ,one-hot代码详解_Rock的博客-CSDN博客_图像分割中的mask