首页 > 其他分享 >DragGAN图像生成原理与实现

DragGAN图像生成原理与实现

时间:2023-06-17 14:02:51浏览次数:35  
标签:DragGAN 模型 生成 图像 空间 潜在



DragGAN图像生成原理与实现

  • DragGAN模型是什么呢
  • 1. DragGAN背景介绍
  • 2. 模型方法
  • 2.1 算法原理
  • 2.1.1 Motion Supervision
  • 2.1.2 点跟踪
  • 3. 实现部署步骤
  • 3.1 安装PyTorch
  • 3.2 安装 DragGAN
  • 3.3 运行 DragGAN Demo
  • 3.4 功能介绍


DragGAN图像生成原理与实现_人工智能

项目地址:https://github.com/Zeqiang-Lai/DragGAN
论文地址:https://vcai.mpi-inf.mpg.de/projects/DragGAN/
代码地址:https://github.com/XingangPan/DragGAN

它说6月份发布

DragGAN图像生成原理与实现_拖拽_02

DragGAN模型是什么呢

简单来说就是可以通过用鼠标扮演手柄的角色,在图片中实现图像点拖拽,进而来实现人动物的五官,形态变换。如下图一样,

DragGAN图像生成原理与实现_人工智能_03

DragGAN图像生成原理与实现_拖拽_04

DragGAN图像生成原理与实现_计算机视觉_05


实现如上面视频那样符合用户需求的视觉内容通常需要对生成对象的姿态、形状、表情和布局具有灵活和精确的可控性。在现有的方法通过手动注释的训练数据或先前的3D模型来获得生成对抗网络(GANs)的可控性,但这往往缺乏灵活性、精确性和普适性,因此提出了DragGAN模型

DragGAN模型,探索了一种强大但鲜为人知的控制GANs的方法,即以用户交互的方式“拖动”图像中的任何点以精确达到目标点,如图1所示。为了实现这一目标,我们提出了DragGAN,它由两个主要组件组成:

  1. 基于特征的运动监督:驱动手柄点向目标位置移动
  2. 一种新的点跟踪方法,利用判别式生成器特征来不断定位手柄点的位置。通过DragGAN,任何人都可以对图像进行变形,并精确控制像素的位置,从而操纵姿态、形状、表情等。由于这些操作是在GAN的学习生成图像流形上执行的,它们倾向于在挑战性场景下产生逼真的输出,例如幻想遮挡内容和形变形状,同时保持对象的刚性。定性和定量比较证明了DragGAN在图像操作和点跟踪任务中相对于先前方法的优势。

这里的手柄点就是我们的鼠标点,通过鼠标点击需要拖拽的位置,进行向目标位置移动

1. DragGAN背景介绍

深度生成模型,如生成对抗网络(GANs),在合成逼真图像方面取得了重大进展。然而,在实际应用中,对合成图像内容的可控性是一个关键需求。为了满足用户的多样化需求,理想的可控图像合成方法应该具备灵活性、精确性和普适性。

先前的方法只能满足其中一些特性,因此我们的目标是在本研究中实现所有这些特性。先前的方法通常通过3D模型或依赖手动注释数据的监督学习来实现对GANs的可控性。然而,这些方法无法推广到新的对象类别,且在编辑过程中缺乏精确控制。最近,文本引导的图像合成引起了关注,但在编辑空间属性方面缺乏精确性和灵活性。

为了实现GANs的灵活、精确和通用的可控性,本研究探索了一种强大但较少被探索的交互式基于点的操作方法。我们允许用户在图像上选择手柄点和目标点,并旨在通过这些点使手柄点达到相应的目标点。这种基于点的操作方法允许用户灵活地控制空间属性,且不受对象类别的限制。

2. 模型方法

在这里,我们先简要的介绍一下图像生成模型中必备的基础知识 - 图像潜在空间向量

潜在空间向量:在StyleGAN中,潜在空间向量是一种表示图像特征的潜在变量。这些向量被用作输入,通过生成器网络来生成逼真的图像。潜在空间向量在StyleGAN中扮演着关键的角色,它们决定了生成的图像的外观、风格和特征。

潜在空间向量的每个元素都代表了生成图像的某种特征。通过修改潜在向量的不同元素,可以控制生成图像的各个方面,如颜色、纹理、形状等。这使得潜在空间向量成为一种强大的工具,可以实现对生成图像的可控编辑。

也可以说潜在空间就是图像在计算机视角下的特征表示

2.1 算法原理

DragGAN图像生成原理与实现_像素点_06

在DragGAN算法流程概览如上图所示。

算法流程用一句话来说

先将原始的图像生成为潜在空间DragGAN图像生成原理与实现_人工智能_07DragGAN图像生成原理与实现_计算机视觉_08,并通过Motion Supervision实现图像的拖拽交互转换,映射为新的潜在空间DragGAN图像生成原理与实现_像素点_09,并由潜在空间转换为生成后的图像

图像潜在空间的转换,其实就是每一个像素点的移动,转换。

在这里我们可以假设原始图像的潜在空间像素点为:
DragGAN图像生成原理与实现_深度学习_10

对应到交互转换后的潜在空间像素点为:
DragGAN图像生成原理与实现_拖拽_11
(即

标签:DragGAN,模型,生成,图像,空间,潜在
From: https://blog.51cto.com/u_15668366/6504797

相关文章

  • 【图像加密】基于双随机实现图像加密解密附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 列表生成式
    '''列表生成式即ListComprehensions'''#https://www.liaoxuefeng.com/wiki/1016959663602400/1017317609699776list(range(1,11))#生成range序列不能用[][x+0forxinrange(1,11)]#遍历对象A中的每个元素a对之进行处理将结果a'保存到列表中[x+0forxinrange......
  • 基于神经网络的大模型在图像识别中的应用
    目录1.引言2.技术原理及概念3.实现步骤与流程4.示例与应用5.优化与改进6.结论与展望随着深度学习技术的不断发展,特别是在计算机视觉领域,基于神经网络的大模型在图像识别中的应用越来越广泛。这些模型能够在处理大量图像数据的同时,准确地识别出各种物体和场景,取得了令人瞩目......
  • 【图像压缩】基于小波结合spiht实现图像压缩附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • [转载]探索 StableDiffusion:生成高质量图片学习及应用
    转自公众号大淘宝技术 本文主要介绍了StableDiffusion在图片生成上的内容,然后详细说明了StableDiffusion的主要术语和参数,并探讨了如何使用prompt和高级技巧(如图像修复、训练自定义模型和图像编辑)来生成高质量的图片。 介绍StableDiffusion ▐ ......
  • Jmeter-函数助手之时间函数生成明天、今天、昨天的时间
    JMeter中的_timeShift函数可用于将本地时间与UTC时间之间进行转换。下面是一个使用_timeShift函数的示例:假设你需要在测试过程中捕获当前的本地时间,并将其用作请求参数中的时间戳。假设你的请求参数中需要一个时间戳参数,它的格式为“yyyy-MM-dd'T'HH:mm:ssZ”,其中Z代表UTC时......
  • 迭代器与生成器总结
    参考《JavaScript高级程序设计》迭代是一种所有编程语言中都可以看到的模式。ECMAScript6正式支持迭代模式并引入了两个新的语言特性:迭代器和生成器。迭代器是一个可以由任意对象实现的接口,支持连续获取对象产出的每一个值。任何实现Iterable接口的对象都有一个Symbol.iterato......
  • jquery根据json自动生成表格
    <!DOCTYPEhtml><html><head><metacharset="utf-8"><title>导入文件</title><linkrel="stylesheet"href="/js/bootstrap.min.css"><scriptsrc="/js/jquery.min.js&q......
  • Latex生成pdf过程中遇到cannot run的问题怎么处理?
    如:Latex生成pdf过程中遇到cannotrun的问题怎么处理?提示在生成pdf过程中出现了问题。这说明使用的pdf浏览器地址有问题为了后面修改代码过程中不会出现代码修改了pdf没变的情况,建议直接添加sumatraPDF阅读器直接到官网下载安装包即可。查看准确的安装位置右键->属性 在Late......
  • centOS下解决java生成图片中文乱码问题
    今天测试项目上线,其中有这样一个功能点:上传ppt转为图片。但是却出现了乱码,刚开始怀疑是系统编码的问题,但是:echo$LANG发现是utf-8,好像没什么问题,继续查找程序中的日志信息,发现从ppt中取出来的内容没有乱码,查看代码发现是生成图片时使用宋体字,猜测是字体没有安装。于是通过:fc-l......