bc贷公司官网
公司新闻
拍照手抖有救了!DeblurGAN 消除运动模糊效果惊人 附论文+代码
- 发布时间:2024-06-04 06:30 来源:admin
斜齿圆柱齿轮轴承高度桁架弹性垫圈等加等减速运动规律工作腔内径bc贷公司官网基本运动轨迹波发生器导数由于行人和车辆都在运动,再加上你的手稍微抖了一抖,照片中的景象是这样的——
拍照时手抖,或者画面中的物体运动都会让画面模糊,女友辛辛苦苦摆好的各种 Pose 也将淹没在各种模糊的线条中,是时候要有一种新的算法解救水深火热中的你了。
这篇文章中,研究人员提出一种基于条件对抗式生成网络和内容损失(content loss)的端对端学习法 DeblurGAN,去除图像上因为物体运动而产生的模糊。
回归我们的终极议题:在没有提供任何关于核(kernel)或相机的运动信息的情况下,怎样去除单张照片中的运动模糊 (Motion Blur) 呢?
这不禁让人联想起生成对抗网络(GAN),因为它能够保存高纹理细节,创建的图案又接近真实图像,所以是图像超分辨率和图像修复中的主力军。
可以。模糊处理可以看作是图像转化中的一个特例,研究人员提出基于条件生成式对抗网络和多元内容损失的 DeblurGAN 法。
因为目标是把模糊图像 IB在没有提供模糊核的情况下恢复成清晰图像 IS,因此,我们需要训练一个 CNN GθG作为生成器。每张 IB都对应着一张估计出的清晰图像 IS。此外,在训练阶段,我们将引入 critic 函数 DθD,以对抗的方式训练两个网络。
从上图的架构中可以看出,DeblurGAN 包含两个 1/2 间隔的卷积单元、9 个剩余 residual 单元和两个反卷积单元。每个 ResBlock 由一个卷积层、实例归一化层和 ReLU 激活组成。
想去糊,先得知道怎样将清晰图像转换成运动模糊图像,这个准备阶段也学问多多。
与超分辨率和黑白照片上色等流行的图像到图像(image-to-image)的转换问题相比,用于训练算法的清晰和模糊的图像对(image pairs)难以获取,一种典型的获取方法是用高帧频相机捕捉视频中清晰的帧模拟模糊图像。
用这种方法创建真实图片的模糊图像,会将图像空间(image space)局限在拍摄的视频中出现的场景,并将数据集变得更复杂。
根据前人的实验,研究人员提出的方法更真实地模拟了复杂的模糊核(blur kernel)。这种方法遵循了 Boracchi 和 Foi 2012 年在论文 Modeling the performance of image restoration from motion blur 中所描述的随机轨迹生成的概念,对轨迹矢量应用亚像素插值法生成核。每个轨迹矢量都是一个复杂矢量,对应着一个连续域中的二维随机运动物体的离散位置。
轨迹生成由马尔可夫过程完成、由算法总结。根据前一个点速度和位置、高斯摄动方程和脉冲摄动,随机生成下一个点的位置。
研究人员用 PyTorch 中实现了自己的所有模型,整个训练过程是在一个 Titan-X GPU 上执行三种不同的数据集。
第一个模型 DeblurGANWILD是在随机裁剪的 256x256 像素的 GoPro 数据集上训练的;第二个模型 DeblurGANSynth在用上文所介绍方法模糊过的 MS COCO 数据集上训练;此外,还有一个特殊的模型 DeblurGANComb,所用的训练集中有 2/3 是合成图像,1/3 是高帧率相机拍摄的图像。
由于它们均为全卷积模型,又是在图像 patch 上训练的,因此可以应用在任意大小的图像中。
为了进行优化,研究人员在 DθD上执行了 5 次梯度下降,在 GθG上执行了 1 次。最初生成器和判别器设置的学习速率为 10-4,经过 150 次迭代后,在接下来的有一轮 150 次迭代中将这个比率线 天后,研究人员训练出一个 DeblurGAN 网络,最激动人心的部分终于来了。
测试结果表明,DeblurGAN 在定性和定量两方面都表现出优异的结果。它可以处理由相机抖动和物体运动引起的模糊,不会受到通常的核评估方法的影响,同时参数仅为 Multi-scale CNN 的六分之一,大大加快了推理速度。
研究人员探索了动态模糊对目标检测的影响,基于在预训练的 YOLO 网络上目标检测的结果,提出一种评估质量的去模糊算法的新方式。
通过用高帧率摄像机模拟相机抖动,研究人员构建了一个清晰-模糊的街景数据集。之后,对 240fps(每秒显示帧数-帧率)相机拍摄的 5 到 25 帧进行随机抽样,并计算中间帧的模糊版作为这些帧的平均值。
总体来说,数据集包括 410 对模糊-清晰图像,这些图像是从不同街道和停车场拍摄的,包含不同数量和类型的汽车。