数据驱动三维建模的方法分类

从方法学角度来看,数据驱动的三维建模大致可分为两类:参数方法(parametric methods)和非参数方法(non-parametric methods)。

参数方法建立三维模型几何或结构变化的概率模型,并通过统计学习得到概率模型的参数,用于描述或约束三维建模过程。上文提到的用于描述几何变化的统计建模就是典型的参数方法。为实现形变建模,参数模型需要在大量同类对象的三维模型之间建立稠密的点对应。参数化方法也可用于描述三维模型的结构变化,代表方法有基于概率图模型的方法和基于参数模板的方法。这些方法都需要对训练模型进行预分割或部件语义标注,即部件级语义对应。

Chaudhuri等人提出了基于概率图模型的三维建模方法的。该方法基于预分割、有标注的三维模型集,建模和学习各部件之间的概率因果关系,实现三维模型的结构推理。例如,在交互式建模中为用户提供部件推荐。随后,该方法被Kalogerakis等人拓展运用于三维模型的自动生成。Kim等人提出从同类物体的大量三维模型中学习一个基于部件包围盒的可形变模板,以建模此类物体的结构先验。该参数化模板可用于三维模型的保结构编辑、基于三维点云的结构恢复等应用。但是这种模板结构简单且固定,不能描述模型之间的拓扑结构变化。

非参数方法主要通过对三维模型集进行联合分析,构建模型之间的结构和语义关联,支持三维模型的几何形变和结构重组,实现智能化的模型构建与编辑。因此,部件的分解、对应和重组是非参数方法的主要途径:基于内容复用思想,对输入样例模型进行部件分析,通过上下文相关的部件自动重组实现三维模型的自动合成。实例建模就是一种典型的非参数方法。笔者所在研究组提出的三维模型集自动演化也是一种非参数方法,该方法将生物演化的思想引入三维建模:将三维模型看作生物个体,将模型集合看作生物种群;为三维模型定义了部件级交叉和变异两种基本遗传操作,通过种群遗传演化的方式快速生成大量新颖且结构合理的三维模型。一些数据驱动的过程式建模也属于非参数方法,这类方法从样例中学习模型生成规则以实现自动合成。

近年来,随着深度学习技术不断深入发展,基于深度神经网络的三维表示学习和三维几何生成模型得到了图形、视觉、人工智能等多个领域学者的广泛关注。深度学习在参数和非参数方法中都得到了大量应用,为三维内容生成带来了新的机遇和挑战。

深度学习技术为数据驱动三维建模带来了深刻变革和全新挑战。深度神经网络习得的三维几何和拓扑表征,可支持从几何推断、结构推理到语义理解多个层次的数据驱动三维建模,实现更加智能、灵活、通用的三维内容生成。同时,端到端训练的深度学习网络可将局部的几何合成和全局的“结构-语义”约束统一在同一个生成模型中,实现从低层表征到高层推理的“全栈式”数据驱动建模,改变了以往方法对人为定义的三维表示及相应约束规则的依赖。但是,不同于二维图像天然具有矩阵参数化表示的特性,三维曲面是非欧氏的流形表示,并不直接适合于深度学习。因而,适用于深度学习的几何数据表示是三维深度学习面临的最重要挑战,也是其发展明显滞后于二维深度学习的主要原因。

1. 深度三维表征学习

三维深度学习大约从2015年开始受到大量研究和关注。为了将卷积神经网络应用于不同的三维表示,人们尝试在多种几何表示上设计卷积操作。最直接的做法是在三维体素表示上的三维卷积操作。但是体卷积的计算和存储开销很大。因此,人们提出了基于空间自适应划分的卷积技术。另一种做法是将三维几何体表示为多视点投影的二维图像,通过提取和融合多幅二维图像的卷积特征来实现三维表征学习。在几何处理领域中,曲面网格是最通用的三维几何表示。基于局部或全局网格参数化,可以定义三维曲面的卷积操作。本质上说,曲面参数化将三维曲面卷积转化为二维参数域卷积。但曲面参数化是非常难以实现的,且难免引入参数化误差。三维数据获取的最原始形态是点云,直接对三维点云进行卷积操作,似乎是最通用、灵活的三维表征学习方式。

2. 深度三维生成模型

深度表征学习为基于深度学习的三维几何生成奠定了基础。基于体卷积构建深度置信网络,普林斯顿大学的Wu等人提出了第一个三维几何深度生成模型。随后,麻省理工学院的Wu等人提出基于体表示的三维对抗生成网络(3D-GAN)。该模型通过对抗训练的方式习得三维形状空间,实现了维模型的随机生成。Wang等人研究了基于八叉树卷积神经网络的三维模型生成,以较低的时间和存储开销实现了高质量三维表面模型的合成。Kar等人提出了可微分的多视点立体视觉,用于学习从多视点图像生成三维几何。近年来,直接合成维隐式场的深度网络模型也得到了较多关注。Fan等人提出了首个三维点云生成模型,实现了基于单幅图像的点云重建。

3. 结构化表征学习与生成模型

现有的深度三维生成模型大多基于结构无关的几何表示,只关注生成结果的几何外形,难以保证拓扑结构的正确合理性。根据三维模型结构的定义,结构相关的三维表示应能表达三维模型的部件构成及部件间的关系,基于该三维表示的深度学习可实现部件结构推理,从而达到结构相关的三维模型自动生成。

4. 基于深度学习的三维重建

三维深度学习强大的表征学习能力和几何推理能力,为基于单视点图像或不完整点云数据的三维重建带来了实质性发展。目前,基于深度学习的三维重建主流方法大致有两种:一是基于几何推理的判别模型;二是面向形状空间学习的生成模型前者训练端到端神经网络,将输人图像或几何数据直接映射到目标三维几何。后者训练深度生成模型学习三维对象的形状空间,然后基于度量学习将输入图像或几何数据嵌入到该形状空间中,最后从该嵌入向量解码出目标三维模型。

深度学习数据集制作_深度学习时代的数据驱动建模之探讨相关推荐

  1. 深度学习数据集制作_一篇文章搞定人工智能之深度学习创建训练数据集的方法

    基础数据准备 训练所需要的数据集合都存储在数据库中,还有部分文本文件 首先对数据进行分类结构化存储[因为涉及到的是多分类问题] 整理并存储原始数据集 使用numpy将所有需要数据读取出来 splitl ...

  2. 深度学习数据集制作工作_创建我的第一个深度学习+数据科学工作站

    深度学习数据集制作工作 My Home Setup 我的家庭设置 Creating my workstation has been a dream for me, if nothing else. 创 ...

  3. 深度学习实践:计算机视觉_深度学习与传统计算机视觉技术:您应该选择哪个?

    深度学习实践:计算机视觉 计算机视觉 (Computer Vision) Deep Learning(DL) is undeniably one of the most popular tools u ...

  4. 深度学习数据更换背景_开始学习数据科学的最佳方法是了解其背景

    深度学习数据更换背景 数据科学教育 (DATA SCIENCE EDUCATION) 目录 (Table of Contents) The Importance of Context Knowledg ...

  5. 深度学习数据自动编码器_如何学习数据科学编码

    深度学习数据自动编码器 意见 (Opinion) When I first wanted to learn programming, I coded along to a 4 hour long Yo ...

  6. 深度学习 免费课程_深入学习深度学习,提供15项免费在线课程

    深度学习 免费课程 by David Venturi 大卫·文图里(David Venturi) 深入学习深度学习,提供15项免费在线课程 (Dive into Deep Learning with ...

  7. 深度学习课程大纲_深度学习必备前置课程:数据准备和特征工程上线啦

    "Garbage in, garbage out !",在计算机科学界一直广为流传!这句话放到数据科学上也同样成立,高质量的数据永远排在第一位.但是数据总会存在不完整.噪声.不一致 ...

  8. 深度学习英文文献_深度学习中英文电子版(直领)

    <深度学习>中英文电子版链接: 链接:https://pan.baidu.com/s/1d4XqYNm-k91E3obKY-pcMA 提取码:znsf 或本公众号[智能算法]回复 &quo ...

  9. 迁移学习 迁移参数_迁移学习简介

    迁移学习 迁移参数 介绍 (Introduction) We as humans have the ability to transfer the knowledge gained in one ta ...

最新文章

  1. c 语言乘法代码,C++实现大数乘法算法代码
  2. 人工智能、物联网和大数据如何拯救蜜蜂
  3. [剑指offer]面试题第[45]题[JAVA][把数组排成最小的数][快排][ Comparator][PriorityQueue]
  4. arcgis报错常用解决方法
  5. linux yum 安装播放器,centos6.5 常用影音播放器安装
  6. 蚁群算法最短路径规划多出口情况及问题答疑
  7. java webservice 开发总结
  8. 一套不错的php,一套不错的PHP笔试题-附答案.pdf
  9. java随机点名器的代码_巧用Excel制作随机点名器,简单易学,快来尝试吧
  10. esxi安装报错解决方案
  11. python对大小写敏感吗_python中对于大小写是否敏感
  12. Linux Swap 介绍
  13. 橱柜高度与身高对照表_橱柜高度与身高对照表 橱柜高度怎么根据身高定制?...
  14. C++ 的placement new和placement delete
  15. wechall靶场training系列通关记录
  16. 网络安全学习笔记——红队实战攻防(上)
  17. 14-TSS切换实验
  18. Linux tshark安装
  19. nobody用户介绍
  20. JavaScript DOM编程-佟刚-专题视频课程

热门文章

  1. 【Flink】java.lang.NumberFormatException: Not a version: 9
  2. 【Yarn】yarn local dirs的管理实现
  3. Kudu : tablet=null, server=null, status=Timed out: can not complete before timeout: Batch
  4. Kudu : 命令行接口
  5. 【SpringBoot】spring boot + mybatis + druid
  6. Mac下安装Flink的local模式(flink-1.5.2)
  7. Spark的ShuffleManager
  8. hadoop家族简介
  9. MSDN 教程短片 WPF 20(绑定3-ObjectDataProvider)
  10. codeforces 798D