大家好

最近闲逛,发现腾讯开源的老照片修复算法新出了V1.3的预训练模型,手痒试了一下。

我拿“自己”的旧照片试了一下,先看效果

GFPGAN

FPGAN算法由腾讯PCG ARC实验室提出,其相关论文已被CVPR2021收录。

研究核心利用了包含在训练好的人脸生成模型里的「知识」, 被称之为生成人脸先验 (Generative Facial Prior, GFP)。它不仅包含了丰富的五官细节, 还有人脸颜色, 此外它能够把人脸当作一个整体来对待, 能够处理头发、耳朵、面部轮廓。基于预训练好的生成模型, 研究者们提出了利用生成人脸先验 GFP 的人脸复原模型 GFP-GAN。相比于近几年其他人脸复原的工作, GFP-GAN 不仅在五官恢复上取得了更好的细节, 整体也更加自然, 同时也能够对颜色有一定的增强作用。

Online 试玩版

官方提供了 Online 试玩版

Huggingface (只返回人脸)

https://huggingface.co/spaces/akhaliq/GFPGAN

Replicate.ai

https://replicate.com/xinntao/gfpgan

Baseten.co

https://app.baseten.co/applications/Q04Lz0d/operator_views/8qZG6Bg

我测试了一下,感觉只有Replicate比较稳定。

只需将你想修复的照片拖进左边的图片框内,点击Submit即可。

比如我把自己的照片再传上去

效果不太理想,锐化的有点过,貌似是因为用的V1.2的预训练模型吧。

本地运行

本地运行可以使用最新的预训练模型,修复效果更加自然,同时还能在低质量输入的情况下,输出高质量结果。

环境要求:

Python >= 3.7 (推荐使用Anaconda or Miniconda)

PyTorch >= 1.7

Option: NVIDIA GPU + CUDA

Option: Linux

我的系统是Ubuntu 20.04.2 LTS ,Win平台我没有尝试,感兴趣的同学可以试试。

克隆项目

git clone https://github.com/TencentARC/GFPGAN.git
cd GFPGAN

安装依赖

# 安装BasicSR:基于 PyTorch 的开源图像视频复原工具箱, 比如 超分辨率, 去噪, 去模糊, 去 JPEG 压缩噪声等.
pip install basicsr
# # 安装facexlib: 提供实用的人脸相关功能的集合
pip install facexlib # 安装GFPGAN依赖包
pip install -r requirements.txt
python setup.py develop # Real-ESRGAN:图像分辨率修复工具,可以提升照片分辨率
pip install realesrgan

注:

直接pip install basicsr,我遇到大面积的warning,后面运行时报错了

ImportError: cannot import name 'load_file_from_url' from 'basicsr.utils.download_util'

大家如果有相同问题,可以尝试

 !pip install basicsr

下载V1.3预训练模型

#
wget https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth -P experiments/pretrained_models

模型就下载到experiments/pretrained_models目录下了

运行

终端切到GFPGAN目录下,运行:

python inference_gfpgan.py -i inputs/whole_imgs -o results -s 2

inputs目录下存放准备修复的图片,工程包里包含了部分测试图片,你也可以将自己要修复的图片放在inputs下一级的某个文件夹中。

results目录则保存处理后生成的结果图片,包含了对比图像、人脸图像、整张图像等多个子文件夹。

第一次运行时会比较慢,还会额外自动下载facexlib的模型文件;稍后片刻就能在results\cmp目录下看到修复前后的对比图片了:

AI 黑科技,老照片修复,模糊变高清的更多相关文章

  1. “体检医生”黑科技|让AI开发更精准,ModelArts更新模型诊断功能

    摘要:华为云AI开发平台ModelArts黑科技加持AI研发,让模型开发更高效.更简单,降低AI在行业的落地门槛.全面的可视化评估以及智能诊断功能,使得开发者可以直观了解模型各方面性能,从而进行针对性 ...

  2. 国庆出游神器:魔幻黑科技换天造物,让vlog秒变科幻大片!

    摘要:国庆旅游景点人太多,拍出来的照片全是人人人.车车车,该怎么办?不妨试试这个黑科技,让你的出游vlog秒变科幻大片. 本文分享自华为云社区<国庆出游神器,魔幻黑科技换天造物,让vlog秒变科 ...

  3. 微软AI发布会,集齐六大亮点召唤黑科技!

    7月12日,微软合作伙伴大会Inspire在华盛顿特区如火如荼地举行.同一天,在相隔5个时区的伦敦,微软还举办了一场关于人工智能的发布会.这是一场智能技术和情感体验两相交融的科技盛宴,既有黑科技,也有 ...

  4. 【转载】史上最全:TensorFlow 好玩的技术、应用和你不知道的黑科技

    [导读]TensorFlow 在 2015 年年底一出现就受到了极大的关注,经过一年多的发展,已经成为了在机器学习.深度学习项目中最受欢迎的框架之一.自发布以来,TensorFlow 不断在完善并增加 ...

  5. 黑科技!仅需 3 行代码,就能将 Gitter 集成到个人网站中,实现一个 IM 即时通讯聊天室功能?

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...

  6. MTSC2019-腾讯WeTest独家揭秘移动游戏测试和质量保障 QA 黑科技

    WeTest 导读 TesterHome 联合腾讯 WeTest 出品 MTSC2019 重磅游戏测试 Topic ,首次公开揭秘腾讯亿级用户游戏背后的质量保障 QA 黑科技. 2019 年,中国游戏 ...

  7. Java黑科技之源:JVMTI完全解读

    Java生态中有一些非常规的技术,它们能达到一些特别的效果.这些技术的实现原理不去深究的话一般并不是广为人知.这种技术通常被称为黑科技.而这些黑科技中的绝大部分底层都是通过JVMTI实现的. 形象地说 ...

  8. Python黑科技:FuckIt.py

    说起 Python 强大的地方,你可能想到是它的优雅.简洁.开发速度快,社区活跃度高.但真正使得这门语言经久不衰的一个重要原因是它的无所不能,因为社区有各种各样的第三库,使得我们用Python实现一个 ...

  9. 一文带你了解 HTTP 黑科技

    这是 HTTP 系列的第三篇文章,此篇文章为 HTTP 的进阶文章. 在前面两篇文章中我们讲述了 HTTP 的入门,HTTP 所有常用标头的概述,这篇文章我们来聊一下 HTTP 的一些 黑科技. HT ...

  10. 聊聊H5与JS近几年的黑科技

    聊聊H5与JS近几年的黑科技 自ajax技术的诞生,编程界兴起了一股WEB开发热,facebook,Twitter等众多大佬级企业都在网页应用上大放异彩,这十年我们见证了前端技术的崛起.这期间产生了众 ...

随机推荐

  1. Codeforces Round #700 (Div. 2) A~C题解

    写在前边 链接:Codeforces Round #699 (Div. 2) A. Yet Another String Game 链接:A题链接 题目大意: 给定一个字符串,有两位同学来操作这个字符 ...

  2. 反转字符串里的单词(leetcode 4.10每日打卡)

    给定一个字符串,逐个翻转字符串中的每个单词.   示例 1: 输入: "the sky is blue"输出: "blue is sky the" 示例 2: ...

  3. iptables中limit 和 limit-burst 说明

    Limit match    这个匹配操作必须由-m limit明确指定才能使用.有了他的帮助,就能对指定的规则的日志数量加以限制,以免你被信息的洪流淹没哦.比如,你能事先设定一个限定值,当符合条件的 ...

  4. 线性代数导论MIT第二章知识点上

    线性代数导论MIT第二章求解线性方程组 2.1--2.2知识点 1.向量与线性方程组 2.不同角度看方程式 也就是矩阵的乘法原型: 以行来看方程式就是原式 以列来看方程式 以矩阵来看方程式 3.消元法 ...

  5. Ubuntu 18.04替换默认软件源

    安装Ubuntu 18.04后,默认源在国外,可以替换为国内的源以提升访问速度 参考https://mirrors.ustc.edu.cn/repogen/ sudo vi /etc/apt/sour ...

  6. 离散傅里叶变换DFT的应用

    目录 一维DFT 1 DFT的相关内容 2 DFT计算结果验证 3 DFT的时频曲线分析 4 DFT的应用 二维DFT 1 DFT在图像处理时的相关内容 2 DFT滤波应用 一维DFT 1 DFT的相 ...

  7. 大白话说Python+Flask入门(六)Flask SQLAlchemy操作mysql数据库

    写在前面 这篇文章被搁置真的太久了,不知不觉拖到了周三了,当然,也算跟falsk系列说再见的时候,真没什么好神秘的,就是个数据库操作,就大家都知道的CRUD吧. Flask SQLAlchemy的使用 ...

  8. MySQL笔记01: MySQL入门_1.3 MySQL启动停止与登录

    1.3 MySQL启动停止与登录 1.3.1 MySQL启动与停止 MySQL数据库分为客户端和服务器端,只有服务器端服务开启以后,才可以通过客户端登录MySQL服务端. 首先,以管理员身份运行&qu ...

  9. 浅谈SQL优化小技巧

    回顾MySQL的执行过程,帮助介绍如何进行sql优化. (1)客户端发送一条查询语句到服务器: (2)服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的数据: (3)未命中缓存后,MySQL通过 ...

  10. 吉特日化MES & SQL Server 无法执行数据库脚本

    打开服务器打算远程执行一下脚本,突发发现数据库无法执行脚本,就想着是不是安装了 海康AGV 控制系统的问题导致,问题如下: 问题截图如下: 报错信息如下: ====================== ...