点一下即可任意调整静态图片:这个开源AI图片项目你需要了解一下

news2024/7/6 17:42:52

项目简介

合成满足用户需求的视觉内容通常需要对生成对象的姿势、形状、表情和布局进行灵活而精确的控制。现有的方法通过手动注释的训练数据或先前的3D模型来获得生成对抗网络(GAN)的可控性,这通常缺乏灵活性、精确性和通用性。dc87003291688d567b911ac0b717d1c5.jpeg在这项工作中,我们研究了一种强大但较少探索的控制GAN的方法,即以用户交互的方式“拖动”图像的任何点以精确地到达目标点,如图所示。

411ce85be5f80b783ee20208979a6cbf.jpeg

为了实现这一目标,我们提出了DragGAN,它由两个主要部分组成:

  • 基于特征的运动监督,它驱动控制柄点向目标位置移动;
  • 新的点跟踪方法,它利用判别GAN特征来保持控制柄点的位置。通过DragGAN,任何人都可以精确控制像素的位置来变形图像,从而操纵姿势、形状、表情和布局等不同类别,如动物、汽车、人类、风景等。
  • 由于这些操作是在GAN的已学习生成图像流形上进行的,因此即使在幻觉遮挡内容和变形形状始终遵循对象的刚性等具有挑战性的情况下,它们也倾向于产生逼真的输出。定性和定量比较都证明了DragGAN在图像操纵和点跟踪任务中优于现有方法。我们还展示了通过GAN反转对真实图像的操纵。

开发人员

Xingang Pan · Ayush Tewari · Thomas Leimkühler · Lingjie Liu · Abhimitra Meka · Christian Theobalt

项目地址

https://vcai.mpi-inf.mpg.de/projects/DragGAN/

项目实操

效果展示

000eea6ef5002ebdb3d9332d529c59e5.jpeg

安装

如果您有CUDA图形卡,请遵循NVlabs/stylegan3的要求。通常的安装步骤包括以下命令,它们应该设置正确的CUDA版本和所有python包conda env create -f environment.yml
conda activate stylegan3然后安装额外的要求pip install -r requirements.txt否则(在具有Silicon Mac M1/M2的MacOS上使用GPU加速,或者只使用CPU),请尝试以下步骤:cat environment.yml | \
grep -v -E 'nvidia|cuda' > environment-no-nvidia.yml && \
conda env create -f environment-no-nvidia.yml
conda activate stylegan3

# 在MacOS上
export PYTORCH_ENABLE_MPS_FALLBACK=1在Docker中运行Gradio可视化器 提供的Docker镜像基于NGC PyTorch存储库。要快速尝试在Docker中运行可视化器,请执行以下操作:# 在构建docker容器之前,请确保您已克隆了此存储库,并通过 `python scripts/download_model.py` 下载了预训练模型。
docker build . -t draggan:latest
docker run -p 7860:7860 -v "$PWD":/workspace/src -it draggan:latest bash
# (使用GPU)如果您想要在Docker中利用Nvidia GPU进行加速,请添加命令标签 `--gpus all`,例如:
# docker run --gpus all -p 7860:7860 -v "$PWD":/workspace/src -it draggan:latest bash

cd src && python visualizer_drag_gradio.py --listen现在,您可以从Gradio中打开一个共享链接(在终端控制台中打印出来)。 请注意,Docker镜像大约占用25GB的磁盘空间!下载预训练的StyleGAN2权重 要下载预训练权重,只需运行:python scripts/download_model.py如果您想尝试StyleGAN-Human和Landscapes HQ(LHQ)数据集,请从这些链接下载权重:StyleGAN-Human、LHQ,并将它们放在./checkpoints目录下。随意尝试其他预训练的StyleGAN。运行DragGAN GUI 要启动DragGAN GUI,只需运行:sh scripts/gui.sh如果您使用Windows,可以运行:.\scripts\gui.bat此GUI支持编辑GAN生成的图像。要编辑真实图像,您需要首先使用诸如PTI之类的工具执行GAN反演。然后将新的潜在代码和模型权重加载到GUI中。您还可以运行DragGAN Gradio演示,这对Windows和Linux都是通用的:python visualizer_drag_gradio.py致谢 此代码是基于StyleGAN3开发的。代码的一部分是从StyleGAN-Human中借用的。许可证 与DragGAN算法相关的代码在CC-BY-NC许可下发布。然而,大部分项目都根据单独的许可条款提供:所有从StyleGAN3中使用或修改的代码都在Nvidia源代码许可下提供。任何形式的使用和对此代码的派生都必须保留显示“AI生成”水印功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1510983.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电玩城游戏大厅计时软件怎么用,佳易王计时计费管理系统软件定时语音提醒操作教程

电玩城游戏大厅计时软件怎么用,佳易王计时计费管理系统软件定时语音提醒操作教程 一、前言 以下软件操作教程以 佳易王电玩计时计费软件V18.0为例 说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、软件计时计费,只需点击开…

学c还行,学Python很累,还有其他语言适合我吗?

学c还行,学Python很累,还有其他语言适合我吗? 在开始前我分享下我的经历,我刚入行时遇到一个好公司和师父,给了我机会,一年时间从3k薪资涨到18k的, 我师父给了一些 电气工程师学习方法和资料&a…

Java详解:单列 | 双列集合 | Collections类

○ 前言: 在开发实践中,我们需要一些能够动态增长长度的容器来保存我们的数据,java中为了解决数据存储单一的情况,java中就提供了不同结构的集合类,可以让我们根据不同的场景进行数据存储的选择,如Java中提…

Redis进阶--一篇文章带你走出Redis

目录 什么是Redis?? Redis有哪些使用场景? Redis是单线程还是多线程? 为什么Redis是单线程速度还是很快?? Redis持久化 RDB机制:(Redis DataBase) [是redis中默认的持久化方式] AOF机制:(Append Only File) Redis和MySQL如何保持数据一致????…

2024.3.12每日一题

LeetCode 在受污染的二叉树中查找元素 题目链接:1261. 在受污染的二叉树中查找元素 - 力扣(LeetCode) 题目描述 给出一个满足下述规则的二叉树: root.val 0如果 treeNode.val x 且 treeNode.left ! null,那么 t…

【Actor-Critic】演员评论家模型

本博客代码部分参考了《动手学强化学习》 基于值函数的方法(DQN)和基于策略的方法(REINFORCE),其中基于值函数的方法只学习一个价值函数,而基于策略的方法只学习一个策略函数。那么,一个很自然…

八数码题解

179. 八数码 - AcWing题库 首先要明确八数码问题的小结论,当原始序列中逆序对数列为奇数时一定无解,反之一定有解。 解法一:BFSA* 首先思考用纯BFS解决这个问题。 大致的框架就是: 队列q,状态数组dist,…

(ConvE)Convolutional 2D Knowledge Graph Embeddings

论文地址:https://arxiv.org/pdf/1707.01476.pdf 一、研究领域 知识图谱受限于知识构建方式的不足,常常伴随着不完备的特点,因此需要知识推理和补齐技术,来根据已有的事实来合理推断出新的事实以补充知识图谱,使其更完备。链路预测任务是知识推理和补齐技术的主要手段,用…

Python 导入Excel三维坐标数据 生成三维曲面地形图(面) 4-1、线条平滑曲面(原始图形)

环境和包: 环境 python:python-3.12.0-amd64包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 代码: import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata fro…

数据分析实战-Python实现博客评论数据的情感分析

数据分析实战-Python实现博客评论数据的情感分析 学习建议SnowNLP基础什么是SnowNLP?SnowNLP情感分析 SnowNLP使用SnowNLP安装情感分析中文分词关键词提取拼音、词性标准 SnowNLP实战-博客评论数据的情感分析数据准备数据获取数据分析 总结 学习建议 现在很多网站、…

SpringBoot整合阿里云文件上传OSS以及获取oss临时访问url

SpringBoot整合阿里云文件上传OSS 1. 引入相关依赖<!--阿里云 OSS依赖--><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.10.2</version></dependency><dependen…

【MySQL】超详细_数据库的约束_MySQL的详细查询

复习前面MySQL的基础操作&#xff0c;目的是让我们有印象&#xff01;&#xff01;在这篇文章中&#xff0c;我主要写的是数据库的约束和查询操作的详细、深入讲解&#xff01; 基础操作 &#xff08;复习->【MySQL】超详细-基础操作&#xff09; 插入 insert -> inser…

https代理相对socks5代理有什么优势?

随着互联网的快速发展&#xff0c;代理服务已成为许多人在访问敏感或地理位置受限的网站时所依赖的工具。其中&#xff0c;HTTPS代理和SOCKS5代理是两种最常用的代理服务类型。本文将探讨HTTPS代理相对SOCKS5代理的优势。 1、安全性 HTTPS代理使用SSL/TLS协议对客户端和代理服…

C++ 矩形类

思维导图&#xff1a; #include <iostream> using namespace std; class Rect { private:int width;int height; public:void init(int w,int h){widthw;heighth;}void set_w(int w){widthw;}void set_h(int h){heighth;}void show(){cout << "perimeter &qu…

基于51单片机的LED点阵显示屏设计

目录 摘要 II Abstract III 第一章 绪论 1 1.1 课题背景 1 1.2 选题意义 1 1.3 论文主要内容 1 第二章 方法论证对比 3 2.1 单片机编程语言 3 2.2 控制系统设计 3 2.3 显示方式 3 第三章 系统硬件设计 4 3.1 总体硬件设计 4 3.2 系统各硬件电路介绍 5 3.2.1 电源电路设计介绍 …

蓝牙系列七:开源蓝牙协议栈BTStack数据处理(Wireshark抓包分析)

继续蓝牙系列的研究。 在上篇博客&#xff0c;通过阅读BTStack的源码&#xff0c;大体了解了其框架&#xff0c;对于任何一个BTStack的应用程序都有一个main函数&#xff0c;这个main函数是统一的。这个main函数做了某些初始化之后&#xff0c;最终会调用到应用程序提供的btst…

prometheus 原理(架构,promql表达式,描点原理)

大家好&#xff0c;我是蓝胖子&#xff0c;提到监控指标&#xff0c;不得不说prometheus&#xff0c;今天这篇文章我会对prometheus 的架构设计&#xff0c;promql表达式原理和监控图表的绘图原理进行详细的解释。来让大家对prometheus的理解更加深刻。 架构设计 先来看看&am…

Docker容器化技术(使用Dockerfile制作镜像)

Docker中的镜像分层 Docker 支持通过扩展现有镜像&#xff0c;创建新的镜像。实际上&#xff0c;Docker Hub 中 99% 的镜像都是通过在 base 镜像中安装和配置需要的软件构建出来的。 1、Docker 镜像为什么分层 镜像分层最大的一个好处就是共享资源。 比如说有多个镜像都从相…

python 通过代理服务器 连接 huggingface下载模型,并运行 pipeline

想在Python 代码中运行时下载模型&#xff0c;启动代理服务器客户端后 1. 检查能否科学上网 $ curl -x socks5h://127.0.0.1:1080 https://www.example.com <!doctype html> <html> <head><title>Example Domain</title><meta charset"…

Python: 如何绘制核密度散点图和箱线图?

01 数据样式 这是数据样式&#xff1a; 要求&#xff08;我就懒得再复述一遍了&#xff0c;直接贴图&#xff09;&#xff1a; Note&#xff1a;数据中存在无效值NA&#xff08;包括后续的DEM&#xff09;&#xff0c;需要注意 02 提取DEM 这里我就使用gdal去提取一下DEM列…