第十九周周报

文章目录

  • 摘要
  • 文献阅读
    • DeepHuman: 3D Human Reconstruction from a Single Image(ICCV 2019)
      • 贡献
      • 摘要
      • 网络结构
      • 总结
    • PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization
      • 贡献
      • 摘要
      • 网络结构
      • 总结
    • Animated 3D human avatars from a single image with GAN-based texture inference
      • 贡献
      • 摘要
      • 网络结构
      • 总结
  • 部分笔记
  • 总结

摘要

  本周阅读了提出DeepHuman、PIFU、InterGAN的三篇文章,知道在3维人体重建中的比较主流的步骤;首先通过一些方法比如:SMPL等,先构建表面,然后另一个管道生成表面的纹理。
最后两者综合生成出来最后的模型。

  Translated into English: This week, I read three articles introducing DeepHuman, PIFU, and InterGAN. I gained insights into the mainstream steps in 3D human body reconstruction. The typical process involves initially constructing the surface using methods such as SMPL. Subsequently, another pipeline is employed to generate the texture of the surface. Finally, the combination of these two processes results in the generation of the final model.

文献阅读

DeepHuman: 3D Human Reconstruction from a Single Image(ICCV 2019)

贡献

  建立了一个基于真实世界的3D真人模型数据库-THUman,其中包含7000个模型。
  设计了一个通过输入单张真人图片输出3D预测模型的SOTA方法。

摘要

 作者提出了一种image-guided volume-to-volume translation进行单图真人三维重建的CNN算法。 为了减少表面重建的模糊噪声(包含不可见区域重建,指相机视角看不见的地方),作者提出通过SMPL模型生成的密集语义作为输入。(即神经网络的输入为图片、无背景的二维人体语义图和语义volume)。 这个网络的一个关键特征就是,通过空间特征变换,将不同尺寸的图像特征融合到3D空间中,有助于恢复平面几何的精确度。(图像搭配语义图,由于语义图具有一定的梯度性,能够将3D模型表面恢复得更光滑平整,指网络结构图中橙+蓝+绿部分)。 可视的平面(相机视角)细节通过一般细化网络(Normal Refinement Network,黄色部分)进一步细化, 使用我们提出的容积法向投影层(Volumetric Normal Projection Layer, 结尾最后交汇的箭头),与容积生成网络(Volume Generation Network, 指图中的蓝色和绿色的volume-to-volume translation network)使用连接(concat)操作,用于支持end-to-end的训练。 还有贡献了一个三维基于真实世界的3D真人模型数据集-THUman。由于作者网络架构的设计与数据集的多样性,只需要给出单张图片,就能优于现在大多数的单图人体三维重建方法。

网络结构

在这里插入图片描述
 紫色箭头就是文章中描述的volume-to-normal部分,三维投影到二维,然后与input的原图和语义map一起进入normal refinement network进行处理。

总结

将三维人体重建任务分解为三个子任务:
a)从输入图像进行参数化人体估计
b)从图像和估计的身体进行表面重建
c)根据图像进行可见表面细节细化

PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization

贡献

目前唯一支持表面材料预测的深度学习方法

摘要

作者们介绍了Pixel-aligned Implicit Function (PIFu), 一种2D图片与其对应3D物体的全局信息进行局部像素对其的隐式表达方法。 PIFu是一种能够从单图或多图预测目标3D表面和材质的针对数字化高细节化穿着人体的end-to-end的深度学习方法。 高度复杂的形状,例如:头发、衣服,以及他们的变化和形变都可以统一数字化。对比现在已有的深度学习方法,PIFu可以产生大量的高分辨率的表面(包含如人的背部等看不到区域)。 尤其是不同于那种体积元素(内存密集型)表示的,它是内存高效的,能够掌控任意的拓扑,和结果表面是空间对齐输入的图片。 此外, 以前的算法是用来处理单个或者多个视觉的,PIFu可以自然地拓扑到多个视觉。PIFu在公共基准上达到了SOTA的性能,已经优于先前单一穿着人体图像数字化的工作。

网络结构

在这里插入图片描述

总结

1.给定一个单视图或多视图图像,在保留图像细节的同时,重建一个穿着衣服的人的底层 3D几何结构和纹理。
2.引入了像素对齐隐函数(PIFu),它是一种存储效率高、空间对齐的三维曲面表示方法。
3.在曲面上进行纹理推理

Animated 3D human avatars from a single image with GAN-based texture inference

贡献

引入了 Infer- GAN,它可以使用一个正面纹理来推断不同视角下的纹理不仅可以通过单个图像重建人体的完整几何形状和详细纹理,还可以通过传递参数化人体模型的权值和关节位置得到一个动画模型。

摘要

在本文中,作者们提出了一种从单个图像重建三维人体形状化身的管道。该方法以单一的 RGB图像作为输入,同时重建三维人体几何和全身纹理图。我们首先从图像中分割出人体部位,然后通过拟合一个参数化模型得到初始的人体几何形状。接下来,作者利用基于剪影的密集对应,将初始的几何形状变形为最终的形状。最后,为了从正面图像中推断不可见的背面纹理,作者提出了一个名为 InferGAN的网络。基于人体语义信息,提出了一种通过单独重建被遮挡的人体部位来处理局部遮挡的方法。综合实验表明,作者的解决方案在公共数据集和我们自己的数据集上都是稳健和有效的。人类化身可以很容易地使用动作
捕捉数据进行操纵和动画。作者已经开发了一个移动应用程序,展示了这种能力的AR应用程序。

网络结构

在这里插入图片描述
在这里插入图片描述

总结

1.对单一的RGB图像使用人体服装分割方法,对人体形状进行分割
2.将SMPL可变性参数模型拟合到对应分割身体部分
3.使用轮廓定义的对应关系来改变SMPL参数化模型的深度图
4.使用反裁剪渲染技术生成背面几何图形
5.提出了一种被称为 InferGAN的GAN网络结构来恢复被遮挡的背部纹理

部分笔记

非刚性变形的思想是:皮肤变形,不是由单一骨骼的运动来控制,而是由许多骨头的共同运作的结果来支配。
非刚性变形包括依赖关节的局部变形,骨架驱动变形,交叉轮廓变形。
《模式识别》绪论书中提到,“当你握一个物体或者打个响指等时候,你的手所经历的变形就是非刚性变形。

Voxel:体素,就是立体像素
Kinect Fusion:是一种利用Kinect相机的深度数据进行实时三维重建的技术, 开创了Fusion 系列方法的先河,并提出利用GPU+TSDF方法实时场景重建。
1.深度数据处理:利用相机内参将深度图转换成3D点云,并计算每个点的法向量;
2.相机追踪:将当前帧3D点云和由现有模型生成的预测的3D点云进行ICP匹配,计算得到当前相机的位姿;
3.深度数据融合:根据所计算出的当前相机位姿,使用TSDF点云融合算法将当前帧的3D点云融合到现有模型中;
4.场景渲染:是使用光线跟踪的方法,根据现有模型和当前相机位姿预测出当前相机观察到的环境点云,一方面用于显示,另一方面提供给步骤2)进行ICP匹配。
Dynamic Fusion:Dynamic Fusion8 是在Kinect Fusion 的基础上,增加了非刚体的变形估计。 解决了非刚体的实时动态重建。
BodyFusion提出了一种骨架嵌入式表面表面融合,Dynamic Fusion 的基础上增加了人体骨骼的约束,基于骨架和图形节点之间的附带信息来共同解决骨骼和图形节点的形变问题。但是在快速运动以及初始人体姿态(骨骼)估计错误的情况下,该重构方法会失效。

DoubleFusion基于SMPL提出了“双层表面表示”模型对人体进行实时的3D重建,内层(inner body layer)是依据观测到的关节点和人体形状推测的SMPL模型,而外层(outer surface)则是利用深度信息融合出的人体表面,他们相互制约,相互融合和优化,最终生成完整的人体模型。当然Double Fusion还是存在局限,例如,当用户穿着较厚的衣服时,这个方案在捕捉过程中会将衣服的厚度都当成人的身体来计算,导致身体建模的误差出现;另外,目前的方案还无法处理人物对象之间的交互。

总结

在阅读PIFU的时候,该篇文章也有用多视角图像作为输入,输出最后的人体模型,比较具有参考性,同时注意到,人体的背面,以及不可见遮挡的区域,对于三维人体重建是一个挑战。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

已解决Error:AttributeError: module ‘numpy‘ has no attribute ‘bool‘.

文章目录 引言报错分析解决方案1:降低NumPy版本解决方案2:更改NumPy源码 结尾 引言 在Python编程的世界里,NumPy无疑是一个不可或缺的库。它不仅在处理大规模数值计算中发挥着核心作用,而且为众多开发者提供了强大的支持。然而&a…

自然语言处理--双向匹配算法

自然语言处理作业1--双向匹配算法 一、概述 双向匹配算法是一种用于自然语言处理的算法,用于确定两个文本之间的相似度或匹配程度。该算法通常使用在文本对齐、翻译、语义匹配等任务中。 在双向匹配算法中,首先将两个文本分别进行处理,然后…

Redis核心技术与实战【学习笔记】 - 1.Redis为什么高性能

作为键值数据库,Redis 的应用非常广泛,如果你是后端工程师,我猜你出去面试,八成都会被问到与它相关的性能问题。比如说,为了保证数据的可靠性,Redis 需要在磁盘上读写 AOF 和 RDB,但在高并发场景…

WPF入门到跪下 第十一章 Prism(四)View与ViewModel的自动关联

View与ViewModel的自动关联 一、ViewModelLocator 在学习MvvmLight框架时,也使用了ViewModelLocator类。但在MvvmLight框架中,ViewModelLocator只是一个自定义类,与框架无关,目的就是初始化IoC容器。而在Prism框架中则不同&…

机房及设备安全智慧监管AI+视频方案的设计和应用

一、背景分析 随着互联网的迅猛发展,机房及其配套设施的数量持续攀升,它们的运行状况对于企业运营效率和服务质量的影响日益显著。作为企业信息化的基石,机房的安全监测与管理的重要性不容忽视。它不仅关乎企业的稳定运营,同时也…

elementui-table组件列表中的tooltip内容过长超出屏幕换行显示

elementui-table组件列表中的tooltip内容过长超出屏幕换行显示 el-table列属性中带的有show-overflow-tooltip,可以设置内容超出列宽度显示为…,并且有tooltip提示,但是内容过多时,提示会超出屏幕: 但是el-table组件…

Vue 3.0中Treeshaking特性(详细解析)

文章目录 一、是什么二、如何做Vue2 项目Vue3 项目 三、作用参考文献 一、是什么 Tree shaking 是一种通过清除多余代码方式来优化项目打包体积的技术,专业术语叫 Dead code elimination 简单来讲,就是在保持代码运行结果不变的前提下,去除…

逆向 jsvmp 之_signature实例

预备:a.v_jstools 插件,用来解析混淆 b.浏览器启动本地替换 c.nodejs 用来快速调试js 准备好后开搞: 1.首先找到 jsvmp入口点 2.用v_jstools解析混淆,再次刷新,进入入口,找到循环点 3.打日志,分析代码功能

察势而动,破界争先!COSP深圳户外电源展2024重磅开幕!

随着国内疫情逐渐消退,中央政府积极出台了一系列恢复民生的政策。其中,“地摊经济”的火爆,成为了人们茶余饭后的热门话题。这个政策的出台,不仅推动了地摊经济的发展,也让户外电源市场迎来了新的机遇。 随着户外电源产…

Git标签推送

标签默认属于本地分支&#xff0c;推送分支的时候并不会上传。需要自己手动推送 通过命令 git push origin <tagname>推送指定的标签 通过命令git push origin --tags批量推送所有的标签 在VS里打开git命令行窗口的方法&#xff1a;Git更改-操作-打开命令行提示符 对于…

【java】常见的面试问题

目录 一、异常 1、 throw 和 throws 的区别&#xff1f; 2、 final、finally、finalize 有什么区别&#xff1f; 3、try-catch-finally 中哪个部分可以省略&#xff1f; 4、try-catch-finally 中&#xff0c;如果 catch 中 return 了&#xff0c;finally 还会执行吗&#…

【C++】入门

结束数据结构初阶的学习后&#xff0c;很高兴继续学习C&#xff0c;欢迎大家一起交流~ 目录 C关键字 命名空间 命名空间定义 命名空间使用 C输入&输出 缺省参数 缺省参数概念 缺省参数分类 函数重载 函数重载概念 C支持函数重载的原理--名字修饰 引用 引用概念…

MacOS平台翻译OCR软件,双管齐下,还可自定义插件,为其添砖加瓦!

小编昨天为大家分享了Windows系统下的一款功能强大且免费的 OCR 开源工具 Umi-OCR。 今天则为大家推荐一款 MacOS系统下的一款 翻译 OCR 多功能双管齐下的桌面应用软件 Bob。这款软件虽然也上线了GitHub&#xff0c;但它不是一款开源软件&#xff0c;仓库只是作者为了用户反馈…

线程池调优,深入理解,线程池各个参数的含义(keepAliveTime 展开说说?)

线程池调优&#xff0c;深入理解&#xff0c;线程池各个参数的含义&#xff08;keepAliveTime 展开说说&#xff1f;&#xff09;目录 线程池核心组件核心线程、最大线程、阻塞队列的关系&#xff08;重点&#xff09;线程池调优&#xff08;运行流程&#xff09;keepAliveTime…

C++ 利用容器适配器,仿函数实现栈,队列,优先级队列(堆),反向迭代器,deque的介绍与底层

C 利用容器适配器,仿函数实现栈,队列,优先级队列【堆】,反向迭代器,deque的介绍与底层 一.容器适配器的介绍二.利用容器适配器实现栈和队列1.stack2.queue 三.仿函数介绍1.什么是仿函数2.仿函数的使用3.函数指针的使用1.函数指针的用处2.利用函数指针完成回调3.利用仿函数完成回…

CSS之粘性定位

让我为大家介绍一下粘性定位吧&#xff01; 大家应该都了解过绝对定位&#xff0c;它是相对于父级定位 那么粘性定位相对于谁呢&#xff1f; 它相对于overflow:hidden; 如果没找到就会跟fixed固定定位一样&#xff0c;相对于视口 <!DOCTYPE html> <html lang"en…

实习日志5

活字格图片上传功能&#xff08;批量&#xff09; 这个报错真的恶心&#xff0c;又看不了他服务器源码&#xff0c;接口文档又是错的 活字格V9获取图片失败bug&#xff0c;报错404-CSDN博客 代码BUG记录&#xff1a; 问题&#xff1a;上传多个文件的base64编码被最后一个文…

76 C++对象模型探索。多重继承中虚函数表分析

多重继承非重点内容&#xff0c;在实际开发中使用的不多&#xff0c; 这里只是为了知识点的完整&#xff0c;记录一下。 直接上结论。 一个类&#xff0c;如果继承于多个基类&#xff0c;且这个多个基类中有虚函数&#xff0c;那么 这个类 会有多个 虚函数表。 这个 类的对…

THM学习笔记——john

John the Ripper是目前最好的哈希破解工具之一。 John基本语法&#xff1a; john [options] [path to file] john&#xff1a;调用John the Ripper程序。 [path to file]&#xff1a;包含你要尝试破解的哈希的文件&#xff0c;如果它们在同一个目录中&#xff0c;你就不需要命名…

Docker容器基本管理

目录 一、概述 &#xff08;一&#xff09;为什么要用到容器 &#xff08;二&#xff09;docker概念 1.镜像 2.容器 3.仓库 &#xff08;三&#xff09;Docker与虚拟机的区别 &#xff08;四&#xff09;Linux namespace的六大类型 二、安装docker容器引擎 &#xff…