无需点跟踪,克服DragGAN缺陷!中科大联合上海AI Lab发布FreeDrag:可稳定拖动语义内容

news2025/2/1 7:23:36
FreeDrag无需点跟踪,即可实现更高质量的拖动编辑效果!

近日,在AIGC的广阔世界里出现了一个火热的图像编辑方法—即通过在给定图像上通过把语义内容从原位置(handle point)拖动到目标位置(target point)的方式进行精细的定制化编辑操作。

比如可以实现「让猫咪对你wink」的神奇操作:

图片

这一惊人效果来自于发表在SIGGRAPH 2023会议上的 [Drag Your GAN] 论文(简称为DragGAN)。

并且DragGAN的代码一经发出就在短短几周内狂揽30K star,引发广大网友的「Drag热潮」。

有了DragGAN的加持,各种AI画图工具的「阿喀琉斯之踵」再也不是弱点,哪里不满意就只修哪里!

近日,中科大和上海AI Lab的研究者们又发布了一项相关研究—FreeDrag。

图片

Paper:https://arxiv.org/abs/2307.04684

Code:https://github.com/LPengYang/FreeDrag

Project Page:https://lin-chen.site/projects/freedrag/

研究结果表明,先前的DragGAN由两个交替迭代进行的过程构成:

1. 运动监督(motion supervision)过程指导handle point向着对应的target point进行移动;

2. 点跟踪(point tracking)过程则负责定位移动后handle point的精确位置从而为下次移动提供方向和约束特征。

因此DragGAN 严重依赖于点跟踪的精确性。然而,点跟踪的策略本质上是不稳定的,因为它隐式地假设每次移动后在默认的搜索区域内有且仅有一个点完美继承了handle point的特征。

这个假设会在以下两种情况下失效:

1. 图像内容发生剧烈变化导致的跟踪丢失

图片

DragGAN 由于内容突变发生跟踪点丢失

2. 搜索区域内的相似点导致的跟踪错误,例如轮廓线和马腿等。

图片

DragGAN 由于相似点的存在发生错误的点跟踪

错误的点跟踪会为下一次移动提供错误的方向和约束特征,造成误差累积从而损害编辑的质量。

方法介绍

为了防止不稳定的点跟踪过程不可避免地损害图像编辑的质量,中国科学技术大学和上海AI Lab的研究者们共同提出FreeDrag, 一种以特征为导向的基于点的交互式编辑框架。

FreeDrag通过引入自适应更新的模板特征,模糊定位和线性搜索技术,在无需进行精确点跟踪的情况下即可实现更加稳定可靠的拖动编辑。

图片

 图 2 FreeDrag 的流程图

图片

图 3 DragGAN的点跟踪和FreeDrag 点定位的比较。

DragGAN 要求精确定位

图片

的位置,而FreeDrag 通过约束特征差异限制定位点

图片

图片

附近,但不要求确定

图片

的具体位置。

动态更新的模板特征

图片

研究者们首先提出了动态更新的模板特征技术来缓解跟踪点丢失问题。模板特征通过衡量每次移动的质量来决定是否更新,即通过控制λ的值来决定每次更新的比例。

更大的λ意味着更大的更新程度。移动质量越高更新程度越大。移动质量通过衡量移动结束后

图片

处的特征

图片

和上一次的模板特征值

图片

的 L1 距离 (

图片

) 来度量,

图片

越小说明移动质量越高。

模板特征的更新过程不依赖于handle point 的位置和特征,从而摆脱了对精确的点跟踪的负担,同时自适应的更新策略带来的平滑性赋予了模板特征更好的鲁棒性来克服剧烈的内容变化,避免编辑内容的异常丢失。

 

模糊定位和线性搜索

紧接着,研究者们提出模糊定位和线性搜索技术来缓解跟踪点模糊问题。FreeDrag 通过移动距离d和特征差异l来为每次的移动定位适合的目标点,即公式(10)。

定位主要分为三种情况:继续向target point移动(移动质量高);保持当前位置不动(移动不彻底),点回退(移动异常)。

相比于DragGAN要求的精确的点跟踪,公式(10)搜寻的定位点是“模糊”因为它并不要求搜寻handle point的准确位置,而是通过约束特征差异确保定位点在handle point附近, 因此摆脱了精确定位的负担。

此外,公式(10) 只在原始handle point 和 target point 形成的直线上进行点搜索,这种线性搜索策略有效地缓解了相邻区域内相似点的干扰,保障了运动监督的可靠性,进一步提高点移动的稳定性。 

实验对比

DragGAN 和 FreeDrag 在各类场景上的对比如下图(图4)所示,可以发现FreeDrag可以有效地防止handle point的异常消失(如图4第一个例子中消失的嘴巴和第二个例子中消失的眼镜),同时有力地避免了由于内容突变和相似点干扰导致的异常编辑,保障了点移动的可靠性(如图4第三个例子中大象的眼睛和第四个例子中的马腿)。

此外,从图4的(5)-(8)例子可以观察到FreeDrag 可以通过稳定的点移动更有效更精确地实现预定的编辑目标。进一步的,在各类场景上的大量实验(图5) 充分验证了FreeDrag 可以通过稳定的点移动实现更高的编辑质量,助力交互式的基于点的图像编辑达到新的高度。

图片

图 4 DragGAN 和 FreeDrag 在各类场景上的对比图

图片

图 5 DragGAN 和 FreeDrag 在更多场景下的对比图

左边两张图分别为原始图片和编辑目标(红色为handle point, 蓝色为target point),右边分别为DragGAN 和FreeDrag的处理过程

图片

图片

动态过程:https://lin-chen.site/projects/freedrag/

对于拖动大象眼睛的例子,可以观察到,DragGAN 在移动大象眼睛的过程中发生了图像布局的突变造成点跟踪丢失,点跟踪丢失导致无法为之后的运动提供有效的运动监督,进而无法实现预定的编辑目的。

相比而言,得益于动态更新的模板特征的平滑性,FreeDrag 可以更好地避免图像内容的急剧变化,从而更可靠地将眼部特征拖向预定的位置。

对于拖动马腿的例子,可以观察到, DragGAN在移动马腿过程中发生了错误的点跟踪,从而为之后的运动监督提供了错误的优化方向,进而降低了图像质量,这种错误会在多次迭代中累计导致编辑结果质量的急剧下降。

相比而言, FreeDrag 的模糊定位和线性搜索策略有效地缓解了相似点的干扰,为点移动提供了可靠的监督信号,从而高质量地实现预定的编辑目的。

参考资料:

https://arxiv.org/abs/2307.04684

本文源自:新智元

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

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

相关文章

12宫格 抽奖逻辑实现【直接可用】

先看视频&#xff0c;比较卡&#xff0c;毕竟是视频转gif导出的 /*** Author : 马占柱* E-mail : mazhanzhu_3351163.com* Time : 2023/5/24 17:46* Desc : 12宫格 盲盒抽奖*/ public class NineLuckPan extends View {private Paint mPaint;private ArrayList<RectF>…

linux下安装jdk

1、创建目录 cd /opt mkdir /opt/jdk 2、将jdk放入/opt/jdk中 3、 解压目录 cd /opt/jdk tar -zxvf jdk-8u261-linux-x64.tar.gz 4、拷贝目录 mkdir /usr/local/java mv /opt/jdk/jdk1.8.0_261 /usr/local/java 5、配置环境变量的配置文件 vim /etc/profile 在配置文件中添加…

PyCharm 常用快捷键

目录 1、代码编辑快捷键 2、搜索/替换快捷键 3、代码运行快捷键 4、代码调试快捷键 5、应用搜索快捷键 6、代码重构快捷键 7、动态模块快捷键 8、导航快捷键 9、通用快捷键 1、代码编辑快捷键 序号快捷键作用1CTRLALTSPACE快速导入任意类2CTRLSHIFTENTER代码补全3SHI…

基于STM32LVGL8.2保姆级教程③代码框架移植

这里推荐去看正点原子的视频 对照教程一步步的移植即可 需要一点时间 点击传送门直达 如果你觉得太繁琐 也可以找我直接获取移植好的框架(免费分享) 移植完毕的工程截图~ 注意事项 这两个文件的内容默认是使用宏定义关闭的 需要你手动开启(我的代码已经完成了这一步)

自动上香木鱼念珠颂钵功德流量主小程序开发

自动上香木鱼念珠颂钵功德流量主小程序开发 自动上香木鱼念珠颂钵功德流量主小程序的功能包括&#xff1a; 自动上香&#xff1a;用户可以设置定时任务&#xff0c;小程序会在指定时间自动上香&#xff0c;无需用户手动操作。木鱼念珠&#xff1a;小程序提供虚拟的木鱼念珠&a…

高压放大器需要注意哪些指标

高压放大器是一种专门用于输出高电压信号的电子设备&#xff0c;主要应用于精密测量、医疗设备、电力电子等领域中。在选择高压放大器时&#xff0c;需要注意其性能指标&#xff0c;以确保设备的稳定性和可靠性。 以下是高压放大器需要注意的性能指标&#xff1a; 输出电压范围…

一个简单的python案例,用正则采集小说网站

目录标题 前言尾语 前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 使用Python抓取xx阁小说需要用到 requests 库和正则表达式模块 re&#xff0c;下面是一个具体的实现步骤&#xff1a; 1. 首先需要使用 requests 库请求小说的页面 例如&#xff1a; import requestsu…

运维数据(1):谈谈运维数据的8大特征

在这个数据作为市场要素之一的时代&#xff0c;数据已从理念上的资产认同逐步走向实践上的深入行动。单从经济利益上去评定数据的资产化价值&#xff0c;我认为太狭隘&#xff0c;把数据仅仅作为有形物品去交易&#xff0c;价值的发挥未免太过局限。我家那一亩三分地种的红薯&a…

等保——windows终端和服务器测评

一、本文适用于Windows系统&#xff0c;但有些版本不适用&#xff0c;例如win10、win11等&#xff0c;因为没有密码策略模块 二、针对于win7的测评过程 1、winR打开命令行&#xff0c;输入gpedit.msc&#xff0c;打开本地组策略编辑器&#xff08;win10以上版本没有这个模块&…

辅助笔记-linux找回root密码(CentOS7.6)

linux找回root密码(CentOS7.6) 文章目录 linux找回root密码(CentOS7.6)步骤1步骤2步骤3步骤4步骤5 本文主要参考自“韩顺平教育–linux找回root密码.docx”。 步骤1 首先&#xff0c;启动系统进入开机界面&#xff0c;注意在此界面下的5秒之内&#xff0c;使用键盘的上下键使得…

基于SSM+Vue的少儿编程网上报名系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

vue复习

1.mustache动态插值 <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, initial-scale…

刚入暑假,开学季产品销量已抬头

随着入伏&#xff0c;气温进入一年当中最热的阶段&#xff0c;倏忽间&#xff0c;孩子们进入酣畅淋漓的暑假模式已经两周多了&#xff0c;游戏、雪糕和旅行可能都已经尝试过了&#xff0c;或是正在进行&#xff0c;然而&#xff0c;这些都不影响开学季产品如期增长的势头。加上…

智能ai绘画软件帮你用科技点亮创意火花

李明&#xff1a;嘿&#xff0c;你听说过ai绘画软件吗&#xff1f;我最近对数字艺术产生了浓厚的兴趣 王磊&#xff1a;当然&#xff01;ai绘画软件真是太神奇了&#xff01;它可以将抽象的文字描述转换成惊人的艺术作品。 李明&#xff1a;是吗&#xff1f;它们绘制的效果怎…

排序算法的补充

建议先去看看我之前写的基础排序算法 补充一&#xff1a;快排中partition函数的三种实现形式 1.hoare法---与第2种方法类似 int Partition1(int*a,int left,int right) {int keyi left;while (left < right) {while (left < right && a[right] > a[keyi])…

pytest+yaml接口自动化测试框架封装

1. 框架封装基础 以下是框架封装的技术基础&#xff0c;打好这些基础的话&#xff0c;能够很轻松地封装出来框架 对于基础还有欠缺的话&#xff0c;建议针对性精进&#xff1a; 1. 扎实的Python语言基础 函数、类文件读写处理报错数据结构标准库测试框架库&#xff08;unit…

goland设置内置命令行为当前项目环境

goland设置内置的命令行为当前项目环境 修改 GoLand 中的 SSH 终端配置即可

125、仿真-基于51单片机的自行车电动车或者电机数码管控制系统设计(Proteus仿真+程序+原理图+配套资料等)

方案选择 单片机的选择 方案一&#xff1a;STM32系列单片机控制&#xff0c;该型号单片机为LQFP44封装&#xff0c;内部资源足够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ&#xff0c;在存储器的01等等待周期仿真时可达到1.25Mip/MHZ(Dhrystone2.1)。内部128k字节…

linux守护进程介绍 | Linux的热拔插UDEV机制

简介 udev是一个设备管理工具&#xff0c;udev以守护进程的形式运行&#xff0c;通过侦听内核发出来的uevent来管 理/dev目录下的设备文件。udev在用户空间运行&#xff0c;而不在内核空间 运行。它能够根据系统中的硬 件设备的状态动态更新设备文件&#xff0c;包括设备文件的…

详解Single-Shot Alignment Network (S2A-Net) ,详解AlignConv,基于遥感图像的特征对齐旋转目标检测

引言 目标检测&#xff1a;把图像中的物体使用方框标记起来&#xff0c;不同类别物体应使用不同颜色 目标检测其实是寻找物体边界框(bounding box)回归问题(regression)和对物体分类问题(classification)的统一 遥感目标检测&#xff1a;普通的目标检测是日常生活中的横向的图…