赛题是基于小数据集的图像分类。数据集还加入了高斯噪声。
我采用了去燥加分类两个过程来解决这个问题,所以模型不是end to end的。
去燥模型采用dncnn网络,论文地址如下:
Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising
http://cn.arxiv.org/pdf/1608.03981
实现结果表明去燥效果是很好的。
分类网络采用inception_resnet_v2网络,使用预训练的参数,使用辅助分类器,同时修改了辅助分类器的结构。
最终在线上有86.47的正确率。
开源代码地址如下:
https://download.csdn.net/download/qq_34914551/10747637
12月19号做个补充
从赛后交流中,我了解到其他队伍基本上使用了desnet和resnet这两种,并在使用预训练参数的情况下,对所有层的参数都再次训练,不冻结一些层,然后前面几层的学习率大于后面层的学习率。
另外一点是训练多个模型,采用模型融合的办法,得到更加精确的结果,当然这种办法会占用很多空间。或许在加上知识蒸馏能在降低模型大小的情况下获得不错的结果。
对于噪声的处理方面,可以用gan去学习噪声的分布,可以选择加上噪声去做训练和去掉噪声去训练两种思路。
损失函数选择具有更加区别性的amsoftmax。