论文笔记:Image Anaimation经典论文-运动关键点模型(Monkey-Net)

news2025/1/17 5:55:26

在这里插入图片描述
Monkey-Net(MOviNg KEYpoints)
paper: https://arxiv.org/pdf/1812.08861, CVPR 2019
code: https://github.com/AliaksandrSiarohin/monkey-net/tree/master

相关工作

视频生成演变过程:
  1. spatio-temporal network: 如基于GAN网络的生成模型,一次生成多帧图像
  2. recurrent neural networks: 使用LSTM + GAN网络,生成视频,以此来增加时序信息。这类方法还可以在输入增加条件信息,如动作类别标签,以此生成所需动作的高质量视频。
  3. 两阶段级联结构(hierarcchical video prediction model):第一阶段生成一些列lanmark(如使用lstm);然后使用landmark生成图像帧。
Image Anaimation:*
  • 该任务定义为给定一幅静态图像,和一个参考动作视频,让静态图像中物体按照参考图像中物体运动。

  • 该任务的核心可以分为解偶-重构两个阶段:

    • 将视频中运动信息和内容信息解偶
    • 然后再根据运动信息和内容重构视频的过程

在人脸Animation中,经典3D MM模型是经常被使用的模型,但其局限性非常明显:

  • 3DMM 模型仅限于人脸,domain-specific非常明显。
  • 3DMM模型在一些具有挑战的情况下性能急剧下降,如人脸遮挡。

本文贡献

结合下图,贡献如下:

  1. 设计了一个无监督关键点检测模块,用于提取物体关键点。

    • KeyPoint Detector: 输入为参考图像和驱动视频帧,输出为稀疏关键点。
    • 由于训练过程是无监督的,因此不需要标注关键点信息。
    • 实际上,两帧之间稀疏关键点差异可以看做一种紧致的运动表征。
  2. 设计了密集运动估计网络:用于从稀疏关键点中重建运动热图(motion heatmaps),热图用于更好地表征运动信息。

    • Dense Motion prediction network:输入为1中的稀疏关键点,输出为运动热图。以此来估计参考图像和驱动图像之间的光流。
    • 这样做有两个动机:
      1. 使得1中关键点检测网络不仅关注物体的结构信息,也关注运动信息。使得自监督的关键点检测网络检测到的关键点必需落在运动大的位置。
      2. 传统encoder-decoder密集预测模型未考虑到输出输出之间较大的像素不对齐问题。增加光流信息希望促进输入输出之间差异比较大时的对齐。
  3. 设计了一个运动迁移网络:使用运动热图,和从从参考图像中提取的内容表征生成视频帧图像。
    Motion Transfer network: 输入为参考图像和运动热图,输出为重构后的视频帧。经典encoder-decoder结构。

训练过程核心思路:

  • 生成器G需要根据参考图像、参考图像关键点、驱动图像关键点三个部分重建出驱动图像( x ′ x' x);通过这个过程,参考图像( x x x)和驱动图像之间( x ′ x' x)的关系被隐式建模。
    在这里插入图片描述

实现细节

无监督关键点检测网络:
  1. encoder-decoder结构,输出为K个HxW的heatmap,每个heatmap对应一个关键点,使用softmax将输出归一化至[0, 1]。
  2. 使用heatmap的动机:更好地适配卷积网络。
  3. 为了学习关键点位置信息,将每个heatmap拟合至一个高斯分布,使得模型间接学习关键点。
  4. 模型不仅拟合了关键点的位置信息,还拟合了关键点的协方差矩阵。目的是同时学习关键点的位置和方向信息。以人的腿为例,关键点不仅包括腿部关键点的位置信息,还可以学习到腿的运动信息。
运动迁移网络:
  • 主干网络还是U-Net like 的encoder-decoder结构,增加了变形模块(Deformation module)融入光流信息。
  • 核心内容:使用一个warp function将光流信息和encoder中特征进行融合。本质是一个可微的非线性变换,具体操作看代码吧:
def deform_input(self, inp, deformations_absolute):
    # 获取 deformations_absolute 的形状
    bs, d, h_old, w_old, _ = deformations_absolute.shape
    # 获取 inp 的形状
    _, _, _, h, w = inp.shape
    
    # 调整 deformations_absolute 的维度顺序,从 (bs, d, h_old, w_old, _) 变为 (bs, _, d, h_old, w_old)
    deformations_absolute = deformations_absolute.permute(0, 4, 1, 2, 3)
    
    # 使用插值方法调整 deformations_absolute 的大小,使其与 inp 的大小匹配
    deformation = F.interpolate(deformations_absolute, size=(d, h, w), mode=self.interpolation_mode)
    
    # 再次调整 deformation 的维度顺序,从 (bs, _, d, h, w) 变为 (bs, d, h, w, _)
    deformation = deformation.permute(0, 2, 3, 4, 1)
    
    # 使用 grid_sample 函数对 inp 进行变形
    deformed_inp = F.grid_sample(inp, deformation)
    
    # 返回变形后的输入
    return deformed_inp
从稀疏关键点到密集光流
  • 密集运动估计网络M输入包括两个:1. 参考图像关键点和驱动图像关键点map的差值。2. 参考图像本身。
  • 假设在每个物体上的关键点是局部刚性的,那么光流预测问题就变为:根据关键点预测掩模,这些掩模根据关键点信息将物体刚性的分成不同部分。
  • 预测的密集光流可根据预测的刚性掩模和光流信息点乘得到。
  • 注意:最终预测的光流信息,有一个粗粒度结果和一个残差结果相加得到。

在这里插入图片描述

网络训练
  • 整个网络训练是一个端到端的过程
  • 损失函数包括:对抗损失、特征匹配损失
结果

定量指标就不放了。这里自监督的可学习关键点很有意思,每个物体的关键点都不一样,即使是类内的关键点也会有差异。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

探索重庆耶非凡科技:揭秘其背后的技术实力与市场布局

重庆耶非凡科技有限公司,作为重庆当地一家知名的综合性服务型企业,近年来在多个领域取得了显著的成绩。其业务范围广泛,不仅涵盖了传统的行业服务,还积极探索并实践了一系列创新项目,其中最为引人注目的便是选品师项目…

第100+9步 ChatGPT文献复现:ARIMA预测百日咳

基于WIN10的64位系统演示 一、写在前面 我们来继续换一篇文章来学习学习: 《BMC Public Health》杂志的2022年一篇题目为《ARIMA and ARIMA-ERNN models for prediction of pertussis incidence in mainland China from 2004 to 2021》文章的模拟数据做案例。 这…

C++之类(class)的三种成员修饰符(public、private、protected)总结

1、背景介绍 在C中,类(class)中成员的三种访问修饰符(access specifiers)用于控制类的成员(属性和方法)的访问权限。这些修饰符决定了类成员在类的外部和内部是否可以被访问。以下是这三种访问…

一份不知道哪里来的第十五届国赛模拟题

这是一个不知道来源的模拟题目,没有完全完成,只作代码记录,不作分析和展示,极其冗长,但里面有长按短按双击的复合,可以看看。 目录 题目代码底层驱动主程序核心代码关键:双击单击长按复合代码 …

[有监督学习]1.详细图解线性回归

线性回归(linear regression)是用于预测回归问题的算法。该算法不难理解,算法中根据训练数据计算使损失最小的参数的做法是有监督学习算法的共同之处。 概述 线性回归是对“目标变量随着某个特征变量的增大而增大(或者减小&#…

如何利用智能算法降低成本,扩大收益?

算法交易(Algorithm Trading)是一种投资策略,它使用计算机算法来分析市场数据,制定交易决策,并自动执行交易。算法交易的主要目标是利用市场价格波动来获取利润,同时降低人为干预的风险和成本。 量化交易中…

django中,出现CSRF verification failed. Request aborted.错误

这是跨站点访问的防范机制&#xff0c;csrf是一个令牌&#xff0c;会验证登录&#xff0c;需要在setting中把 "django.middleware.csrViewMiddleware" 注释掉 并在html文件中的<body>内添加 {% csrf token %} 就可以了

使用shell命令开启隧道转发的方式

1.适用场景 中转电脑可以通公网&#xff0c;也可以通内网&#xff0c;想把内网映射出去&#xff0c;公网其他电脑就可以通过该隧道远程访问内网的情况 2.命令 开隧道&#xff08;21235是自定义的转发端口&#xff09;&#xff1a; ssh -R 21235:内网地址:ssh端口 用户名公网服…

DuDuTalk:营业厅智能质检终端在通信运营商线下营业厅应用价值

在通信行业日益竞争的今天&#xff0c;线下营业厅网点是企业与客户互动的黄金触点&#xff0c;但由于缺乏有效管控和人员能力素质的层次不齐&#xff0c;如何提升线下营业厅的服务质量、提高运营效率&#xff0c;成为各大通信运营商亟待解决的问题。 在此背景下&#xff0c;我…

本地电脑通过远程服务器进行ssh远程转发

☆ 问题描述 想要实现这样一个事情&#xff1a; 我想要提供一个ai服务&#xff0c;但是租计算服务器太贵了&#xff0c;我自己有配的台式机。那么用我的台式机作为服务器&#xff0c;租一个服务器做端口转发可行吗&#xff1f; ★ 解决方案 1. 修改服务器上的sshd_config文件…

一、初识Qt 之 Hello world

一、初识Qt 之 Hello world 提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 初识Qt 之 Hello world文章目录 一、Qt 简介二、Qt 获取安装三、Qt 初步使用四、Qt 之 Hello world1.新建一个项目 总结 一、Qt 简介 C &#xf…

html+css web前端 多边形

<!DOCTYPE html><html><head><meta charset"UTF-8"><title>多边形</title><style type"text/css">#pentagon_6_1 {position: absolute;top: 0px;height: 0; width: 100; border-left: 100px solid rgb(255, 255…

5.31——进军MYSQL

目录 简略版&#xff1a; 详解版&#xff1a; 一. myaql概述&#xff1a; 数据库&#xff1a; 数据库管理系统&#xff1a; SQL&#xff1a; 二. masql的安装&#xff1a; 启动与停止&#xff1a; 1. MYSQL提供的命令行 2. windows提供的命令行工具 三.数据模型 …

快手发布大模型产品“可图”,超20种创新AI图像玩法限免上线

近日&#xff0c;快手自研大模型产品“可图”&#xff08;Kolors&#xff09;正式对外开放&#xff0c;支持文生图和图生图两类功能&#xff0c;已上线20余种AI图像玩法。目前&#xff0c;用户可以通过“可图大模型”官方网站和微信小程序&#xff0c;免费使用各项AI图像功能。…

光学仪器镀膜上下料设备:智能化生产的引领者

当智能技术与制造业相融合&#xff0c;富唯智能镀膜上下料设备成为智能化生产的新引擎。它不仅将智能化、自动化理念融入到生产的各个环节&#xff0c;更为企业带来了生产效率的提升和成本的降低。 富唯智能镀膜上下料设备以其卓越的性能&#xff0c;在实现单面和两面镀膜的上料…

RocketMQ学习(2) 深入学习

RokcetMQ的介绍和基础知识见这篇博客——RocketMQ学习(1) 快速入门 本篇为上一篇的深入学习&#xff0c;很多基础知识不再赘述。 目录 消息重复消费问题(去重;幂等)布隆过滤器 重试机制死信消息 SpringBoot集成RocketMQ集成SpringBoot发送不同消息模式(同步消息)异步消息单向消…

预编码算法(个人总结)

引言 预编码算法是现代无线通信系统中的关键技术&#xff0c;特别是在多输入多输出&#xff08;MIMO&#xff09;系统中。它们通过在发送端对信号进行处理&#xff0c;减少干扰并提高信道容量。这种技术广泛应用于5G、Wi-Fi和卫星通信系统中。本教程将详细介绍预编码算法的背景…

高精度GNSS模块的无人机导航

高精度GNSS模块提供更高的精度和可靠性&#xff0c;有助于提高无人机的安全性和效率。这些模块允许无人机遵循预定的飞行路线&#xff0c;与障碍物保持安全距离&#xff0c;并以更高的精度悬停。高精度GNSS模块广泛应用于测绘、农业建设、石油天然气、公安等行业。 GNSS模块技…

文件系统小册(FusePosixK8s csi)【1 Fuse】

文件系统小册&#xff08;Fuse&Posix&K8s csi&#xff09;【1 Fuse&#xff1a;用户空间的文件系统】 Fuse(filesystem in userspace),是一个用户空间的文件系统。通过fuse内核模块的支持&#xff0c;开发者只需要根据fuse提供的接口实现具体的文件操作就可以实现一个文…

LNMP部署及应用

目录 1.LNMP概述 Nginx 特点 Nginx 作用 2.分布式部署LNMP操练 Nginx主机&#xff1a;CentOS 7-1 PHP主机: CentOS 7-2 1.LNMP概述 Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器&#xff0c;而且支持热部署&#xff0c;几乎可以做到 7 * 24 小时不间断运行&…