腾讯 AI Lab 与复旦大学、普林斯顿大学、Intel Labs 合作提出一种端对端的深度学习框架,可从单张彩色图片直接生成三维网格(3d mesh)。该研究论文被顶级会议 ECCV 2018 收录,以下是技术详细解读。

ECCV(European Conference on Computer Vision,计算机视觉欧洲大会)将于 9 月 8 日-14 日在德国慕尼黑举办,该会议与 CVPR、ICCV 共称为计算机视觉领域三大顶级学术会议,每年录用论文约 300 篇。腾讯 AI Lab 是第二次参与该会议,录取文章数高达 19 篇,位居国内前列。在刚结束的计算机视觉领域另外两大会议 CVPR,ICCV 中也收获颇丰,分别录取 21 篇和 7 篇论文。

■ 论文 | Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images

■ 链接 | https://www.paperweekly.site/papers/2283

■ 源码 |https://github.com/nywang16/Pixel2Mesh

该论文由复旦大学、普林斯顿大学、Intel Labs 和腾讯 AI Lab 合作完成。文章提出了一种端到端的深度学习框架,可从单张彩色图片直接生成三维网格(3D Mesh)。

受深度神经网络特性的限制,以前的方法通常用 volume 或者 point cloud 表示三维形状,将它们转换为更易于使用的 mesh 并非易事。与现有方法不同,本文使用图卷积神经网络表示 3D mesh,利用从输入图像中提取的特征逐步对椭球进行变形从而产生正确的几何形状。本文使用由粗到精的模式进行生成,使得整个变形过程更加稳定。

此外,本文还定义了几种与 mesh 相关的损失函数捕捉不同级别的特性,以保证视觉上有吸引力并且物理上高重建精度。大量实验表明,本文的方法不仅定性上可以生成细节更加充分的 mesh 模型,而且与当前最好的方法相比也实现了更高的重建精度。

三维数据有多种表示形式,包括 volume、point cloud、mesh 等。volume 是一种规则的数据结构,即将物体表示为的 N3 格子,受分辨率和表达能力限制,这种表示方法通常缺乏细节。

point cloud 是一种不规则的数据结构,由于点之间没有局部连结关系,点云往往缺乏物体的表面信息;3D Mesh 同样是一种不规则的数据结构,由点、边和面组成,由于其轻量、形状细节丰富等特性,在虚拟现实、动画游戏、生产制造等实际产业中应用越来越广泛,本文研究如何从单张 RGB 图重建出对应的 3D mesh 模型。

模型架构

▲ Figure 1: Pixel2Mesh的架构

Pixel2Mesh 的架构如图 1 所示。对于输入图像,设计一个多层的卷积神经网络,用于提取图片不同层次的特征。对于输出三维网格,设计了 3 个级联的变形模块,由图神经网络构成。Perceptual feature pooling 层可根据网格顶点坐标得到投影的图片特征,然后根据此特征不断对初始的椭球进行变形,以逼近真实形状。Graph unpooling 层用于增加三维网格节点和边的数量。

本文的目的在于提出一种生成结果光滑、重建精度高的利用单张彩色图生成物体三维网格模型的方法。本文没有直接采用生成 3D Mesh 的方法,而是采用将一个固定的椭球依据图像特征逐渐形变成目标形状的策略。本文针对两个三维网格重建难点给出了解决方案:

1. 3D Mesh 的表示问题—引入图卷积神经网络。3D mesh 一般使用非规则数据形式—图(Graph)来表示,而同时整个网络还需要对其输入的规则的图像数据进行特征抽取。本文使用图卷积网络(GCN)来处理三维网格,使用类似于 VGG-16 的网络来提取二维图像特征。为了将两者联系在一起,设计了一个投影层使得网格中的每个节点能对应获取相应的二维图像的特征。

上图(a)中 P 是从输入图片得来的特征,是顶点的位置,两者组合可得到相应的投影特征,再与 GCN 的特征简单合并送入网格形变模块(Mesh Deformation Block)中。整个网络包含若干该模块。上图(b)是依据相机参数进行投影的示意图。

2. 如何有效地更新网格的形状—引入图的上池化层。实验发现,直接训练网络使其预测 mesh 的效果并不好。一个原因是如果直接预测较大数量的点的网格,顶点的感受野会有受限,即 mesh 的顶点无法有效地检索邻近顶点的特征。为了解决这个问题,本文设计了一个图的上池化层(Graph unpooling layer),使得点的数量逐渐由少到多,相应的网格形状由粗到细,既保留了全局信息,又具有细节的表达。

上图是图的上池化过程。(a)中的黑色顶点即为新增的顶点,连接的虚线即为新增的边。这是 Edge-based 的方式,还有一种 Face-based 的方式,即在每个三角形中心添加一个顶点,但这样会造成网格顶点不均衡的问题,如(b)所示。在实际操作中,每个新增的点位于旧三角形的边的中点位置,特征的值取相邻两顶点的均值。

损失函数

本文定义了四种不同的损失函数来促使网格更好地形变。

1. Chamfer 损失函数:其作用是限制网格顶点的具体位置;

2. Normal 损失函数:其作用是增强网格表面法向的一致性(增加表面光滑度);

3. Laplacian 正则化:其作用是在形变时维持临近顶点的相对位置;

4. Edge length 正则化:其作用是防止个别异常顶点的出现。

本方法对输入图像进行的三维网格建模的结果:

▲ Qualitative results. (a) Input image; (b) Volume from 3D-R2N2 [1], converted using Marching Cube [4]; (c) Point cloud from PSG [2], converted using ball pivoting [5]; (d) N3MR[3]; (e) Ours; (f) Ground truth.

实验结果

F-score (%)

本文提出的方法在 ShapeNet 测试数据集上的表现,除了当阈值为时在 watercraft 类低于 PSG,其他指标均达到了最好水平。

CD 和 EMD

对于 CD 和 EMD,在 ShapeNet 测试集上,本文的方法在多数情况下都达到了最好水平。

参考文献

[1]. Choy, C.B., Xu, D., Gwak, J., Chen, K., Savarese, S.: 3d-r2n2: A unified approach for single and multi-view 3d object reconstruction. In: ECCV. (2016)

[2]. Fan, H., Su, H., Guibas, L.J.: A point set generation network for 3d object reconstruction from a single image. In: CVPR. (2017)

[3]. Kato, H., Ushiku, Y., Harada, T.: Neural 3d mesh renderer. In: CVPR. (2018)

[4]. Lorensen, W.E., Cline, H.E.: Marching cubes: A high resolution 3d surface construction algorithm. In: SIGGRAPH. (1987)

[5]. Bernardini, F., Mittleman, J., Rushmeier, H.E., Silva, C.T., Taubin, G.: The ball-pivoting algorithm for surface reconstruction. IEEE Trans. Vis. Comput. Graph. 5(4) (1999) 349–359

点击以下标题查看更多论文解读:

#投 稿 通 道#

让你的论文被更多人看到

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢? 答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

ECCV 2018 | Pixel2Mesh:从单帧RGB图像生成三维网格模型相关推荐

  1. ICCV 2019 | 从多视角RGB图像生成三维网格模型Pixel2Mesh++

    本文发表于 ICCV 2019,由复旦大学.Google 公司和 NURO 公司合作完成.文章提出了从几张已知相机位置的多视角彩色图片生成三角网格模型(3D Mesh)的网络结构. Github 链接 ...

  2. Pixel2Mesh从单个RGB图像生成三维网格ECCV2018

    目录 摘要 1.Introduction 2.Related Work 3.Method 3.1.准备工作:基于图的卷积 3.2.系统概述 3.3.初始椭球 3.4.Mesh deformation ...

  3. ECCV 2022 | 从单目RGB图像中进行类别级6D物体姿态估计的物体级深度重构

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 题目:Object Level Depth Reconstruction for Category Leve ...

  4. ECCV22 | 从单目RGB图像中进行类别级6D物体姿态估计的物体级深度重构

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 题目:Object Level Depth Reconstructi ...

  5. 时隔两年,盘点ECCV 2018影响力最大的20篇论文

    上周CV君盘点了去年CVPR中引用量最高的 20 篇论文: 时隔一年,盘点CVPR 2019影响力最大的20篇论文 不少朋友催更ECCV 2018的. 同样是计算机视觉领域顶级会议,ECCV 每两年举 ...

  6. ECCV 2018论文解读 | DeepVS:基于深度学习的视频显著性方法

    作者丨蒋铼 学校丨北京航空航天大学在校博士,大不列颠哥伦比亚大学联合培养博士 研究方向丨计算机视觉 本文概述了来自北京航空航天大学徐迈老师组 ECCV 2018 的工作 DeepVS: A Deep ...

  7. ECCV 2018最佳论文解读:基于解剖结构的面部表情生成

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  8. ICCV 2019 | 基于无标签单目视频序列的单帧三维人体姿态估计算法

    作者丨王璇 学校丨西安交通大学 研究方向丨人体姿态估计 我们都知道,要训练一个准确的三维人体姿态估计深度神经网络,需要大量有三维标签的数据,越多越好.而在现实生活中,我们很难得到很多有标签数据,而无标 ...

  9. ECCV 2018 | 腾讯AI Lab 罗切斯特大学合作提出视频再定位任务

    感谢阅读腾讯 AI Lab 微信号第37篇文章,ECCV大会正在德国举办,我们每天深度解读一篇入选论文,今天是第2篇. ECCV 2018(European Conference on Compute ...

最新文章

  1. Loading(二)--ThreeBodyLoadingView
  2. build vue 静态化_页面静态化
  3. ASP.NET 网站管理工具中的“安全”制表页
  4. qsort(bsearch,lsearch)—标准库排序,查找
  5. 迎开学水题狂欢赛(舞踏会[dp+三叉树],HH去散步[矩阵快速幂],排序[模拟],铁路旅行[线段树])
  6. 产品经理经验谈100篇(四)-B端交互设计规范
  7. 用cocos2d-html5做的消除类游戏《英雄爱消除》(1)——系统主菜单
  8. mybatis 使用in 查询时报错_为什么使用samtools检查bam质量时报错?
  9. Python之文章生成器(升级版,也就是更傻瓜式运行)
  10. tuxedo错误码6_TUXEDO启动常见错误和解决方法
  11. 最长递增子序列(LIS longest-increment-subsequence)最长连续递增子序列 最大连续子序列和
  12. echarts graph图重叠_借官方关系图尝试下屏蔽鼠标浮在 links 上弹出的提示框
  13. 照片教你eclipse通过使用gradle 打包Android
  14. 如何做 ASO 优化?
  15. 正则表达式去除空格、符号,只保留中文、英文、数字
  16. 服务器信号满格但网速很慢,信号满格网速太慢是什么原因,网速慢是什么原因-...
  17. 服务器运维辐射,【服务器辐射】服务器辐射大吗_服务器防辐射_服务器辐射距离_佰佰安全网...
  18. win7禁用驱动签名验证_如何在64位Windows 8或10上禁用驱动程序签名验证(以便可以安装未签名的驱动程序)...
  19. JavaScript网页特效编程百宝箱pdf
  20. 小鸟云数据盘如何进行挂载?

热门文章

  1. 【经验总结】VS2010下建立MFC程序
  2. css3动画应用-音乐唱片旋转播放特效
  3. 创建javascript对象的几种方式
  4. VS 团队资源管理 强制解锁锁定文件
  5. 《大话移动 APP 测试》
  6. 心态很容易受别人影响_为什么说缠论中的走势中枢容易影响短线买卖交易心态?...
  7. python 轮廓矩阵_二进制二维矩阵的python轮廓
  8. spark 数据存储
  9. java代码调用python_java 直接调用python脚本,并传递参数代码实例|chu
  10. ajax文件上传报400,js ajaxfileupload.js上传报错的解决方法