CVPR2020图像生成模型PULSE 环境搭建 | 测试简记

    技术2025-04-29  22

    作者:墨理 订阅号:墨理三生 博主声明:亲爱的童鞋,私信或者评论提出问题前,请关注我的订阅号墨理三生,打工人的我也要恰饭啊,不要老是想着白飘呀


    如果您只是觉得我或者我的文章挺好看,也能来订阅号关注 墨理三生 ,小生在此鞠躬拜谢;

    PULSE: Self-Supervised Photo Upsampling via Latent Space Exploration of Generative Models

    pulse-git链接


    pulse 环境搭建:

    服务器:Ubuntu16.04 GTX1060 6G * 8 个人用户:CUDA版本 9.2;cudnn 7.6.2 ; 因此适配的pytorch为 torch1.5.0+cu92 torchvision0.6.0+cu92 pytorch 官方安装 命令

    conda create -n torch15 python=3.8.2 source activate torch15 pip install torch==1.5.0+cu92 torchvision==0.6.0+cu92 -f https://download.pytorch.org/whl/torch_stable.html pip install pandas pip install requests pip install scipy==1.4.1 pip install dlib==19.19.0 下载预训练模型,我下载好的预训练模型在此分享: 链接:https://pan.baidu.com/s/1fJ1qtN2NyeCNr0HnCWriOA 提取码:cool

    使用预训练模型进行,测试:


    1、检测原图中的人脸并下采样到 32x32 大小,保存到:input 目录中;

    python align_face.py -input_dir dataset/mix

    2、基于 32x32 的人脸小图,重建生成 1024x1024 的高清人脸大图,保存到: runs 目录中;

    python run.py

    效果如下:



    pulse 文章的意义和创新:

    参考链接

    杜克大学的研究团队研发了一个AI图像生成模型PULSE。PULSE可以在5秒钟内将低分辨率的人像转换成清晰、逼真的人像。

    要指出的是,PULSE所做的工作并不是把低分辨率“还原”到高分辨率,而是输出许多张可能的高分辨率图像。比如,用户输入一张16-16分辨率的图像,PLUSE可输出一组1024-1024分辨率的图像。

    这项研究于本月在计算机视觉与模式识别顶会CVPR 2020上发表,论文标题为《PULSE:通过对生成模型的潜在空间探索实现自监督照片上采样(PULSE:Self-Supervised Photo Upsampling via Latent Space Exploration of Generative Models)》。 二、方法: 降尺寸损失方法:用生成图像“倒推”模糊图,相似才能输出

    为了保证输出图像与输入图像的“对应性”,研究人员在PULSE模型中应用了一种“降尺度损失(downscaling loss)”方法。

    当PULSE模型的生成网络提议以一张清晰图像作为输出时,判别网络会把这张清晰图像的分辨率降低到与输入图像相等的水平。然后,判别网络会对比降尺度损失图像与输入图像之间的相似性。

    只有在降尺度损失图像与输入图像相似性较高时,判别网络才会判定生成网络提议的清晰图片可以作为输出。

    三、40位评估者参与打分,PULSE模型MOS得分最高

    研究人员用高分辨人脸数据集CelebA HQ评估PLUSE的性能。为了进行对比,研究人员利用CelebA HQ数据集训练了监督模型BICBIC、FSRNET和FSRGAN。

    所有模型均以1616分辨率的图像作为输入,BICBIC、FSRNET和FSRGAN模型以128128分辨率图像作为输出,PLUSE模型以128128分辨率图像和10241024分辨率图像作为输出。

    评估结果显示,图像质量方面,PULSE模型在生成眼睛、嘴唇等图像细节方面的能力优于其他模型。


    自己对论文的总结


    训练数据(无需对成对的LR-HR图像数据集):

    训练过程:

    重建效果:

    评价指标:

    作者总结:我们已经建立了用于图像超分辨率的新方法以及新的问题表述。 与传统的CNN监督工作相比,这为沿着不同轨道的超分辨率方法开辟了一条新途径。 该方法不仅限于在训练过程中看到的特定 degradation operator ,而且始终保持较高的感知质量。

    Processed: 0.025, SQL: 9