人脸修复与增强腾讯开源项目GFPGAN介绍

news/2024/12/22 8:00:18/

GAN.html" title=GFPGAN>GFPGAN__0">GAN.html" title=GFPGAN>GFPGAN 简述

  • GAN.html" title=GFPGAN>GFPGAN (Generative Facial Prior GAN) 是一种基于生成对抗网络GAN)的面部图像修复与增强模型。它由腾讯 ARC Lab 的研究团队开发,目的是以高效和高质量的方式修复低分辨率、受损或老化的人脸图像,同时保留其真实感和身份一致性。GAN.html" title=GFPGAN>GFPGAN 是当前图像处理领域的热门技术之一,尤其在图像复原和增强领域表现突出。
    在这里插入图片描述

  • GAN.html" title=GFPGAN>GFPGAN的主要特点包括:

    • 利用预训练人脸GAN的先验知识:GAN.html" title=GFPGAN>GFPGAN可以有效地修复各种退化的人脸图像。
    • 不需要对输入图像有任何先验假设:可以实现真正的盲修复。
    • 生成的结果更加自然:身份一致性好。
    • 可以处理非常低质量的输入图像。
    • 支持对非人脸区域(背景)进行增强。
    • 提供了无需CUDA扩展的“干净”版本:易于部署。
  • 应用场景

    • 老旧照片修复:GAN.html" title=GFPGAN>GFPGAN 可修复模糊或损坏的人脸图像,特别适用于历史照片修复或档案数字化。

    • 低分辨率图像增强:将模糊或像素化的人脸照片转化为高分辨率图像。

    • 艺术修复:用于修复绘画中的面部特征,使其更加清晰。

    • 视频人脸修复:对低质量的视频逐帧修复人脸。

    • 虚拟现实与增强现实:在 VR 和 AR 应用中,用于生成高质量、逼真的人脸模型。

GAN.html" title=GFPGAN>GFPGAN__22">GAN.html" title=GFPGAN>GFPGAN 介绍

  1. GitHub:https://github.com/TencentARC/GAN.html" title=GFPGAN>GFPGAN
  2. 论文:https://arxiv.org/pdf/2101.04061
    在这里插入图片描述
  3. 环境依赖:
  • Python >= 3.7 (Recommend to use Anaconda or Miniconda)
  • PyTorch >= 1.7
  • Option: NVIDIA GPU + CUDA
  • Option: Linux
  1. 克隆仓库:
git clone https://github.com/TencentARC/GAN.html" title=GFPGAN>GFPGAN.git
cd GAN.html" title=GFPGAN>GFPGAN
  1. 安装依赖包:
# Install basicsr - https://github.com/xinntao/BasicSR
# We use BasicSR for both training and inference
pip install basicsr# Install facexlib - https://github.com/xinntao/facexlib
# We use face detection and face restoration helper in the facexlib package
pip install facexlibpip install -r requirements.txt
python setup.py develop# If you want to enhance the background (non-face) regions with Real-ESRGAN,
# you also need to install the realesrgan package
pip install realesrgan
  1. 下载预训练模型:
wget https://github.com/TencentARC/GAN.html" title=GFPGAN>GFPGAN/releases/download/v1.3.0/GAN.html" title=GFPGAN>GFPGANv1.3.pth -P experiments/pretrained_models
  1. 快速推理:
python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2
Usage: python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2 [options]...-h                   show this help-i input             Input image or folder. Default: inputs/whole_imgs-o output            Output folder. Default: results-v version           GAN.html" title=GFPGAN>GFPGAN model version. Option: 1 | 1.2 | 1.3. Default: 1.3-s upscale           The final upsampling scale of the image. Default: 2-bg_upsampler        background upsampler. Default: realesrgan-bg_tile             Tile size for background sampler, 0 for no tile during testing. Default: 400-suffix              Suffix of the restored faces-only_center_face    Only restore the center face-aligned             Input are aligned faces-ext                 Image extension. Options: auto | jpg | png, auto means using the same extension as inputs. Default: auto
  1. 模型版本对比介绍:
    在这里插入图片描述
  2. 提供了基础模型可供自行训练:
    在这里插入图片描述

http://www.ppmy.cn/news/1557140.html

相关文章

13、基于SpringBoot的旅游网站的设计与实现

随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势,旅游网站当然也不能排除在外,随着旅游网站的不断成熟,它彻底改变了过去传统的旅游网站方式,不仅使旅游管理难度变…

Go 语言GC(垃圾回收)的工作原理

Go语言的垃圾回收(Garbage Collection,简称GC)机制是一种自动的内存管理方法,它负责自动释放不再使用的内存,以避免内存泄漏和碎片化。Go语言的GC工作原理主要基于标记-清除(mark-and-sweep)算法…

Java-29 深入浅出 Spring - IoC 基础 启动IoC容器的方式 Java方式与Web(XML、配置)方式

点一下关注吧!!!非常感谢!!持续更新!!! 大数据篇正在更新!https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了: MyBatis&#xff…

硬盘接口模式sata与ahci区别, U盘UEFI GPT与Legacy 启动项区别,硬盘格式MBR和gpt的区别

一。SATA和AHCI的主要区别在于它们的功能、接口类型和性能。‌ 功能和性能 SATA‌:Serial ATA(SATA)是一种硬盘接口标准,主要用于连接存储设备(如硬盘)到主机(如主板)。它经历了多个…

QMainwindow的鼠标跟踪事件不触发问题

一、无边框窗口实现代码 1.1 头文件 class EtcTestTool : public QMainWindow {Q_OBJECTpublic:EtcTestTool(QWidget *parent Q_NULLPTR); private:void InitialUi();//... protected:void mousePressEvent(QMouseEvent*event)override;void mouseReleaseEvent(QMouseEvent*…

智能座舱进阶-应用框架层-Jetpack主要组件

Jetpack的分类 1. DataBinding:以声明方式将可观察数据绑定到界面元素,通常和ViewModel配合使用。 2. Lifecycle:用于管理Activity和Fragment的生命周期,可帮助开发者生成更易于维护的轻量级代码。 3. LiveData: 在底层数据库更…

2024年云计算的发展趋势如何?

2024年云计算的发展趋势 在这个瞬息万变的科技时代,你是否也曾想过,云计算的发展究竟对我们每一个人意味着什么?它不仅是存储和计算能力的提升,更是整个行业的未来构建与转型之道。接下来,我们将一起探索2024年云计算…

Linux创建普通用户和修改主机名

创建修改用户名和用户组 工作组相关命令 功能命令说明切换用户su username注销用户logout新建用户adduser username 创建用户并分配到用户组useradd -g test username 设置用户密码passwd username查看某一用户w username查看登录用户w查看登陆用户并显示IPwho查看登录历史…