分类 技术 下的文章

2019/8/21 Update: 已经有人部署到网站 selife2anime.com

UGATIT是一个由韩国NCSOFT公司开源的非监督GAN网络,这个GAN网络使用了新的改进的注意力模块能更好的关注几何和整体变化;以及使用新的AdaLIN (Adaptive Layer-Instance Normalization) 函数从数据集中学习参数,来灵活控制对材质和形状的修改(个人理解为更精细的生成?)。GitHub上开源了其TensorFlow版PyTorch版

请输入图片描述

使用恰当的数据集,可以训练妹子->二次元 or 二次元->妹子的模型,8说了,准备数据集,开冲!

- 阅读剩余部分 -

预测出的嗅球和白色部分需要验证是否正确,因为嗅球和白色部分比较对称,所以有个朴素的方法:将预测出的mask从中间折叠,计算重合部分占比,占比过小的认为是无效预测

然而在实现时发现pytorch的Tensor不支持负数作为步长:

Snipaste_2019-08-07_15-56-09.png

Google之后发现:这2个issue:

在第二个issue里可以看到这个问题的历程:

- 阅读剩余部分 -

系统一直是保持更新最新版本的,出现问题的版本:

  • Windows 10 18362.239
  • Microsoft 照片 2019.19051.16210.0

出现场景:

打开了一个png图片后最小化至后台,过了大约一两个小时后显卡显存占满,系统严重卡顿

检查发现照片应用占用了7G的显存:

Snipaste_2019-08-07_13-10-54.png

已经第二次出现了,应该算比较严重的BUG了

上周发了个博客说多分类应该用一个像素代表不同值的方式来实现,今天又仔细研习了一下 github 上这个 issue,看了作者的回复,感觉还是应该用多通道作为输入。
于是我把unet传入的n_classes参数改成了2,然后让传入的数据形状和unet输出预测的形状一致,把嗅球和白色区域数据用torch.cat叠起来,最后两个通道输出扩充一个通道保存成3通道RGB的形式

81{$EWPX3UTZ}5R3FJ[8_TK.jpg


- 阅读剩余部分 -

经过上周的努力,嗅球识别模型的命中率已经比较可观了,但是误判率还是比较高。上周五老师给了我一份新数据,标注的是包括嗅球的周围白色区域的标签,类似下图蓝色部分:

TIM图片20190722172357.jpg

然后我产生了初步的利用白色区域标签的想法,即像训练嗅球那样训练出分割白色区域的模型,然后对于一张验证图片,分割出如上图所示的蓝色标签(白色区域)和红色标签(目标嗅球区域)。先前的嗅球区域会有一些错误并且偏离较大的预测,暂时简单的想法在识别出的白色区域下方设置一个阈值,超过这个阈值的预测认为是无效预测

接下来的问题就是像训练嗅球数据集一样训练白色区域的数据集了。我一开始的想法就是像训练嗅球一样,把nii数据转化成png之后一样的代码再训练一遍就是,但是仔细想想,既要训练嗅球,又要训练白色区域,这很明显是一个多分类问题,U-Net网络本来就支持多分类识别,那我是否可以在原来的代码基础上改动下输入的channel和class数呢?

- 阅读剩余部分 -