朱俊彦团队最新论文:用GAN监督学习给猫狗加表情!真的很丝滑!

本文主要是介绍朱俊彦团队最新论文:用GAN监督学习给猫狗加表情!真的很丝滑!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

丰色 发自 凹非寺
来源:量子位(QbitAI)

GAN又被开发出一项“不正经”用途。

给猫狗加表情:

72a97422dead2eae3c20006fe28e5642.gif

0cd3c71f5b279b70a3bf46afcb38a668.gif

给马斯克加胡子:

19adc0535f5555fb72b5a096b40f7ffa.gif

不管视频中的脑袋怎么左晃右晃,这些表情都能始终如一地贴合面部,且每一帧都表现得非常丝滑。

这就是朱俊彦等人的最新研究成果:

一种利用GAN监督学习实现的密集视觉对齐(Visual alignment)方法。

该方法的性能显著优于目前的自监督算法,在多个数据集上的性能都与SOTA算法相当,有的甚至还实现了两倍超越。

c78fb35ea9ba18e87daa33a3b7bf2a45.png

用GAN监督学习实现密集视觉对齐

视觉对齐是计算机视觉中光流、3D匹配、医学成像、跟踪和增强现实等应用的一个关键要素。

直白地说,比如在人脸识别中,就是不管一张脸是倒着立着还是歪着,任何角度都可以精确识别出哪块是眼睛哪块是鼻子。

而开创性的无监督视觉对齐方法Congealing,在MNIST digits这种简单的二值图像(binary images)上表现得出奇好,在处理大多数具有显著外观和姿势变化的数据集上就差了点。

为了解决这个问题,该团队提出了这个叫做GANgealing的新视觉对齐方法。

它是一种GAN监督算法,同时也受到Congealing的启发。

Congealing模型的框架如下:

f882ee13d8cb6e097239bfa673f5fcca.png

首先,在未对齐的数据上训练生成器G。

然后在生成器G的潜空间中通过学习模式c,来创建一个合成数据集以进行后续对齐。

接着使用该数据集训练空间变换网络T(STN,Spatial Transformer Networks),最后在预测和目标图像中使用感知损失将未对齐的图像映射到相应的对齐图像。

该算法的关键是利用GAN的潜空间(在未对齐的数据上训练)为STN自动生成成对的训练数据。

并且在这个GAN监督学习框架中,STN和目标图像实现联合学习模式,STN专门使用GAN图像进行训练,并在测试时推广到真实图像。

实际效果如何?

实验发现,GANgealing在八个数据集(自行车、狗、猫、汽车、马、电视等)上都能准确找出图片之间的密集对应关系。

2b32dc1ccb7904b7c1095032a1ec937b.png

其中,每个数据集的第一行表示未对齐的图像和数据集的平均图像(每行最右那张),第二行为转换后的对齐效果,第三行则显示图像之间的密集对应关系。

图像编辑应用中,GANgealing可以只在平均图像(下图最左)进行示范,就能在数据集中的其他图像上实现同样的效果——不管这些图像的角度和姿势变换有多大。

比如第一行为给小猫加蝙蝠侠眼镜,最后一行为给汽车车身贴上黑色图案。

a7840f33d75f1c4a2c6fc2197d75c876.png

视频编辑中,GANgealing在每一帧上的效果都相当丝滑,尤其是和监督光流算法(比如如RAFT)对比,差距非常明显

4b4cf9ecd8a46f2f73811b0fe04e8de7.gif

因此作者也表示,GANgealing可以用在混合现实应用中。

而在定量实验中,GANgealing在非常精确的阈值(<2像素误差容限)条件下优于现有的监督方法,在有的数据集上甚至表现出很大的优势。

489b03edf9828481edad1b81fb7eadea.png

再在具有挑战的SPair-71K数据集上将GANgealing与几种自监督SOTA方法进行性能评估。

比的则是PCK-Transfer值(PCK,percentage of keypoints),它衡量的是关键点从源图像转换到目标图像的百分比。

结果发现,GANgealing在3个类别上的表现都明显优于目前的方法,尤其是在自行车和猫图集上实现了对自监督方法CNNgeo和A2Net的两倍超越。

f713f7a357c2be09a885ad6c472f87b6.png

当然,GANgealing在数据集图片与示例差太多时表现得就不太好,比如面对下面这种侧脸的猫以及张开翅膀的小鸟。

2869608f2b24e4033c5ec140debe5a08.png

作者介绍

GANgealing的作者们分别来自UC伯克利、CMU、Adobe以及MIT。

bac5d74c92a9549b2e83b17e458111db.png

一作为UC伯克利三年级的博士生Bill Peebles,研究方向为无监督学习,重点是图像和视频的深度生成模型。

目前在CMU担任助理教授的青年大牛朱俊彦也在其中。

通讯作者为Adobe Research的高级首席科学家Eli Shechtman,他发表了100多篇论文,曾获得ECCV 2002最佳论文奖、WACV 2018最佳论文奖、FG 2020最佳论文亚军以及ICCV 2017的时间检验奖等荣誉。

论文地址:
https://arxiv.org/abs/2112.05143

代码:
https://github.com/wpeebles/gangealing

项目主页:

https://www.wpeebles.com/gangealing

ICCV和CVPR 2021论文和代码下载后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF
CVer-Transformer交流群成立
扫码添加CVer助手,可申请加入CVer-Transformer 微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。
一定要备注:研究方向+地点+学校/公司+昵称(如Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群▲长按加小助手微信,进交流群
▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看29263cf297931cfc632e9fcd3c18373f.gif

这篇关于朱俊彦团队最新论文:用GAN监督学习给猫狗加表情!真的很丝滑!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/203611

相关文章

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)

《MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)》本文给大家介绍MyBatis的xml中字符串类型判空与非字符串类型判空处理方式,本文给大家介绍的非常详细,对大家的学习或... 目录完整 Hutool 写法版本对比优化为什么status变成Long?为什么 price 没事?怎

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注