作为硕士实习的一部分,我目前正在研究灰度卫星图像的着色。在寻找了各种机器学习技术之后,我很快决定进行深度学习,因为着色过程可以完全自动化并且效果很好。我训练了各种各样的模型和架构(CNN、Pix2Pix、DCGAN 和带有 UNet 或残差架构的 WGAN 等)并使用卷积 cGAN (条件:灰度图像;输出:彩色图像)解决了问题,但最终面临同样的问题每次。事实上,在训练我的网络时,输出非常正确,但总是给我灰色的屋顶。
我认为这与像素值的分布有关,因为在我所在的地理区域,屋顶通常是橙色或黑色的。许多文章指出了 GAN 容易出现模式崩溃的事实。在这种情况下,有两种模式(橙色和黑色)可能会导致局部平衡不良。
我尝试了许多不同的技术来改进训练和/或避免模式崩溃:
- 生成器的 L1 损失正则化
- 标签平滑
- 噪声取自正态分布并连接到生成器/鉴别器中的每一层
- 生成器中某些层的 Dropout
- 梯度惩罚
- 受 DRAGAN 和 BEGAN 启发的学习过程
到目前为止,梯度惩罚给了我最好的结果,尽管仍然有这些灰色的屋顶。我知道还有其他改进训练过程的方法(例如批量区分),但我没有数学或计算机科学的先决条件,也没有时间实施这些技术。
我想知道是否有人对获得更好的结果有一些想法,或者是否有人也尝试为卫星图像着色并最终遇到此类问题。
感谢您阅读这条长消息。
祝你今天过得愉快 !