105、BSRGAN 原理与代码:盲超分辨率中的退化模型设计与训练

📅 2026/7/10 23:59:16
105、BSRGAN 原理与代码:盲超分辨率中的退化模型设计与训练
105、BSRGAN 原理与代码:盲超分辨率中的退化模型设计与训练上个月帮一个医疗影像团队调试超分模型,对方反馈说“模型在自然图像上效果不错,但一到我们的病理切片就崩了”。我一看他们的测试流程,用的是经典的双三次下采样退化,而实际切片图像里存在噪声、模糊、压缩伪影的混合退化。这就是典型的“退化不匹配”问题——模型只见过一种退化,遇到真实世界的复杂退化就抓瞎了。BSRGAN正是为了解决这个痛点而生的,它的核心思想很简单:与其让模型去适应未知的退化,不如在训练时就把退化空间做得足够大。退化模型设计:从“单一”到“盲”传统超分方法假设退化过程是已知的,比如双三次下采样。但真实场景中,一张低分辨率图像可能是由相机抖动(模糊)、传感器噪声、JPEG压缩、缩放等多种因素叠加而成。BSRGAN的退化模型设计思路是:用随机化的方式组合多种退化操作,让模型在训练时见过足够多的退化类型,从而在测试时对未知退化具有鲁棒性。具体来说,BSRGAN的退化模型包含两个核心阶段:第一阶段:模糊与下采样从一组预定义的模糊核中随机选取一个(比如高斯模糊、运动模糊、散焦模糊),对高分辨率图像进行卷积操作,然后进行下采样。这里有个关键细节:模糊核的尺寸和强度也是随机采样的。我一开始写代码时固定了模糊核大小,结果模型对轻微模糊的图像效果很好,但遇到重度运动模糊就彻底失效。后来改成从3x3到21x21的范围内随机采样,效果提升明显。第二阶段:噪声与压缩伪影下采样后的图像会依次添加噪声和JPEG压缩