公司动态

161、退化模型设计:从经典双三次下采样到复杂退化核的数学建模与实现

📅 2026/7/16 14:30:25
161、退化模型设计:从经典双三次下采样到复杂退化核的数学建模与实现
161、退化模型设计:从经典双三次下采样到复杂退化核的数学建模与实现上周调试一个真实场景的超分模型,输入是监控摄像头拍的模糊人脸,模型愣是把噪点当成了皱纹细节放大,输出了一张满脸沟壑的“老照片”。我盯着结果看了半天,意识到问题不在模型架构,而在训练时用的退化模型太干净了——双三次下采样出来的低分图像,跟真实世界的退化过程完全是两码事。经典双三次下采样:理想化的起点双三次插值(Bicubic Interpolation)是超分领域最基础的退化模型,也是很多早期论文的默认配置。它的数学本质是用一个三次多项式拟合像素周围的灰度曲面,然后在这个连续曲面上重新采样。具体来说,对于目标像素位置(x, y),双三次插值会考虑周围4×4共16个邻域像素,每个像素的权重由距离决定:W(x) = (a+2)|x|³ - (a+3)|x|² + 1, 0 ≤ |x| 1 a|x|³ - 5a|x|² + 8a|x| - 4a, 1 ≤ |x| 2 0, |x| ≥ 2参数a通常取-0.5或-0.75,这个值直接影响插值结果的锐利程度。我习惯用-0.75,因为它在保持边缘和抑制振铃效应之间平衡得更好——这里踩过坑,用-0.5时高频细节保留更多,但图像边缘会出现明显的过冲现象。在PyTorch里实现双三次下采样,最直接的方式是用torch.nn.functional.interpolate: