《Neural Pose Transfer by Spatially Adaptive Instance Normalization》

2024-03-06 20:38

本文主要是介绍《Neural Pose Transfer by Spatially Adaptive Instance Normalization》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概括: 对identity mesh 做pose transfer, 实际上是让提供目标pose的human mesh 学到identity的style。关键在于要让生成的mesh的点的顺序和identity mesh的一致而不是pose mesh。

 

传统的做法是学习在同一个pose下,不同identity style 之间的correspondence,利用correspondence 去算displacement。

做法:这里用PointNet提取点的特征,把每个vertex当做一个point , 但是注意,mesh和point cloud还是不同的,在mesh里我们还需要考虑face, 也就是每个面上的顶点,点与点的连接方式会影响我们的最后结果。

input data中包含identity mesh和pose mesh,用mesh = pymesh.load_mesh读出来是(6890,3) ,也就是6890个点,3通道代表坐标,mesh.faces 还可以得到这个human body的面(13776,3),一共13776个面,这里的3通道指的是组成一个面的3个连接点的index。

对于pose_mesh,文章里用到两种处理方式, 这里贴出代码可以直观一点。

class PoseFeature(nn.Module):def __init__(self, num_points = 6890):super(PoseFeature, self).__init__()self.conv1 = torch.nn.Conv1d(3, 64, 1)self.conv2 = torch.nn.Conv1d(64, 128, 1)self.conv3 = torch.nn.Conv1d(128, 1024, 1)self.norm1 = torch.nn.InstanceNorm1d(64)self.norm2 = torch.nn.InstanceNorm1d(128)self.norm3 = torch.nn.InstanceNorm1d(1024)### torch.nn.InstanceNorm1d [N,C,L] -> [N,C,L]self.num_points = num_pointsdef forward(self, x): # B, 3,6890x = F.relu(self.norm1(self.conv1(x)))x = F.relu(self.norm2(self.conv2(x)))x = F.relu(self.norm3(self.conv3(x)))
############# model_maxpoolx,_ = torch.max(x, 2) #归一化 B 1024 1x = x.view(-1, 1024)x = x.view(-1, 1024, 1).repeat(1, 1, self.num_points)  # B 1024 6890return x

一种处理方式是在### model__maxpool 上面就结束了,在这一步就把x=F.relu(xxx) 作为最终结果return, 一种处理方式是加上下面三行代码,用torch.max 先对dim=2 归一化,然后再复制6890个,这样子做应该是为了证明无论所有点的Order如何,都不影响最终的结果,因为都是取最大的那个点再复制。

需要注意的是,不同于我们在图像上做2维卷积,会对图像的大小进行改变,随着叠加卷积层,特征图会越来越小(如果不考虑Padding的话),而在3d上做1维卷积,用的都是kernel=1的卷积核,不会改变大小,整个过程只改变了通道数。

后面的decoder是参考图像上spade的方法,之前也有介绍过,就不详述了。

这篇关于《Neural Pose Transfer by Spatially Adaptive Instance Normalization》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

OpenStack实例操作选项解释:启动和停止instance实例

关于启动和停止OpenStack实例 如果你想要启动和停止OpenStack实例时,有四种方法可以考虑。 管理员可以暂停、挂起、搁置、停止OpenStack 的计算实例。但是这些方法之间有什么不同之处? 目录 关于启动和停止OpenStack实例1.暂停和取消暂停实例2.挂起和恢复实例3.搁置(废弃)实例和取消废弃实例4.停止(删除)实例 1.暂停和取消暂停实例

MonoHuman: Animatable Human Neural Field from Monocular Video 翻译

MonoHuman:来自单目视频的可动画人类神经场 摘要。利用自由视图控制来动画化虚拟化身对于诸如虚拟现实和数字娱乐之类的各种应用来说是至关重要的。已有的研究试图利用神经辐射场(NeRF)的表征能力从单目视频中重建人体。最近的工作提出将变形网络移植到NeRF中,以进一步模拟人类神经场的动力学,从而动画化逼真的人类运动。然而,这种流水线要么依赖于姿态相关的表示,要么由于帧无关的优化而缺乏运动一致性

A Comprehensive Survey on Graph Neural Networks笔记

一、摘要-Abstract 1、传统的深度学习模型主要处理欧几里得数据(如图像、文本),而图神经网络的出现和发展是为了有效处理和学习非欧几里得域(即图结构数据)的信息。 2、将GNN划分为四类:recurrent GNNs(RecGNN), convolutional GNNs,(GCN), graph autoencoders(GAE), and spatial–temporal GNNs(S

Error: label vector and instance matrix must be double的解决方法

在使用uci下载的数据时,建模时出现这个错误的解决方法 首先现在UCI上面下载数据 然后右键另存为就行了。这样我们就从UCI里面下载到了训练数据 在matlab 点 导入数据,数据类型要记得选第二个, 如果选择最后一个table就会出现这个问题 最后附上代码 %%之前先import wine.date IMPORTED DATA 设为Numeric Matrix (数值矩

后起之秀 | MySQL Binlog增量同步工具go-mysql-transfer实现详解

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 一、 概述 工作需要研究了下阿里开源的MySQL Binlog增量订阅消费组件canal,其功能强大、运行稳定,但是有些方面不是太符合需求,主要有如下三点: 需要自己编写客户端来消费canal解析到的数据server-client模式,需要同时部署server和client两个组件,我们的项目中有6个业务数据库要实时同步到redis

OpenSNN推文:神经网络(Neural Network)相关论文最新推荐(九月份)(一)

基于卷积神经网络的活动识别分析系统及应用 论文链接:oalib简介:  活动识别技术在智能家居、运动评估和社交等领域得到广泛应用。本文设计了一种基于卷积神经网络的活动识别分析与应用系统,通过分析基于Android搭建的前端采所集的三向加速度传感器数据,对用户的当前活动进行识别。实验表明活动识别准确率满足了应用需求。本文基于识别的活动进行卡路里消耗计算,根据用户具体的活动、时间以及体重计算出相应活

Convolutional Neural Networks for Sentence Classification论文解读

基本信息 作者Yoon Kimdoi发表时间2014期刊EMNLP网址https://doi.org/10.48550/arXiv.1408.5882 研究背景 1. What’s known 既往研究已证实 CV领域著名的CNN。 2. What’s new 创新点 将CNN应用于NLP,打破了传统NLP任务主要依赖循环神经网络(RNN)及其变体的局面。 用预训练的词向量(如word2v

Show,Attend and Tell: Neural Image Caption Generation with Visual Attention

简单的翻译阅读了一下 Abstract 受机器翻译和对象检测领域最新工作的启发,我们引入了一种基于注意力的模型,该模型可以自动学习描述图像的内容。我们描述了如何使用标准的反向传播技术,以确定性的方式训练模型,并通过最大化变分下界随机地训练模型。我们还通过可视化展示了模型如何能够自动学习将注视固定在显着对象上,同时在输出序列中生成相应的单词。我们通过三个基准数据集(Flickr9k,Flickr

COD论文笔记 Adaptive Guidance Learning for Camouflaged Object Detection

论文的主要动机、现有方法的不足、拟解决的问题、主要贡献和创新点如下: 动机: 论文的核心动机是解决伪装目标检测(COD)中的挑战性任务。伪装目标检测旨在识别和分割那些在视觉上与周围环境高度相似的目标,这对于计算机视觉来说是非常困难的任务。尽管深度学习方法在该领域取得了一定进展,但现有方法仍面临有效分离目标和背景的难题,尤其是在伪装目标与背景特征高度相似的情况下。 现有方法的不足之处: 过于

AUTOSAR Adaptive与智能汽车E/E架构发展趋势

AUTOSAR Adaptive是一个面向现代汽车应用需求的标准,特别适用于那些需要高计算能力和灵活性的应用。以下是AUTOSAR Adaptive的典型特性: 高计算能力:AUTOSAR Adaptive支持使用MPU(微处理器),这些处理器的性能与PC或智能手机中的处理器相当。这样的高计算能力是实现半自动驾驶和其他复杂功能所必需的。动态更新和管理:AUTOSAR Adaptive的架构允