055、运动模糊图片如何复原?DeblurGAN 推理加速与退化模拟方案
055、运动模糊图片如何复原?DeblurGAN 推理加速与退化模拟方案
一、从一次车载摄像头调试说起
去年夏天,我在调试一款前装车载环视系统。客户反馈说,车辆在30km/h转弯时,侧视摄像头拍到的车牌全是拖影,根本无法识别。我盯着示波器上那堆模糊的像素,脑子里只有一个念头:这玩意儿要是能靠算法复原,我就不用换镜头模组了。
当时试了维纳滤波、Lucy-Richardson反卷积,效果惨不忍睹——运动模糊不是简单的点扩散函数卷积,它带有空间非均匀性,尤其是车辆转弯时,不同区域的模糊方向和长度都不一样。后来翻到DeblurGAN的论文,发现它用生成对抗网络直接学习模糊到清晰的映射,而且推理速度能跑到实时。这篇文章就记录我踩过的坑和最终落地方案。
二、运动模糊的退化模型——别被教科书骗了
教科书上写的运动模糊退化模型是:
g = f * h + n其中h是点扩散函数,n是噪声。但实际场景里,这个模型至少有三个问题:
- 空间非均匀性:摄像头在运动时,画面中心和外缘的模糊程度不同,尤其是广角镜头。我拿鱼眼镜头试过,边缘模糊长度是中心的3倍。
- 非线性响应:CMOS传感器的光电转换不是线性的,暗部噪声和亮部噪声分布不同,简单加性噪声模型根本不准。
- 模糊核未知:你永远不知道车辆是匀速还是变速
