网格分割

原文链接

网格分割是什么

网格由顶点和面组成,我们对网格顶点或者面的进行分类,就是网格分割。它是一个分类问题,而分类问题是机器学习里的经典问题。

分割需要对数据进行特征建模,这个建模方法可以是人工的,比如各种几何相关的特征构建;建模方法也可以是自动的,比如深度学习的特征学习方法。

分类的方法,可以是自动分类,比如无监督学习里的各种分类方法;也可以是监督学习,因为分类是一个很主观的问题,我们可以从学习集里学习到分类的标准;还有最近用的比较多的深度学习。下面这张图很好的给网格分割方法做了个分类。


常见的几何特征

  • 曲率
  • 测地距离
  • 形状直径函数
  • 法线
  • 对称性
  • 凹凸性
  • 滑动分析
  • 图元属性


监督学习的方法

网格分割是一个分类问题,有时候分类结果是很主观的。比如这个图形,我们可以有不同的分割结果,每个结果都有道理。具体选择哪一个结果,可能要根据具体的应用来决定。而监督学习的训练集,就可以很好体现出这种主观性。

常见的几何特征有非常多的种类,到底选择哪一种或者哪几种来进行分类,是个很头疼的问题。监督学习的方法,可以从训练集里学习出这种特征选择。比如下面这个学习方法(Learning 3D Mesh Segmentation and Labeling - Siggraph2010),不同的物体的分类,其几何特征的选择是不同的,并且几何特征在分类过程中的权重也是不同的。

这类方法的讨论:

  • 虽然监督学习可以对特征进行选择,但是特征集合的创建对学习结果影响还是很大的。特征的创建需要有丰富领域知识经验的专家来创建。
  • 训练集的数量对训练结果影响很大。我们知道,三维数据集的数量级别是不大的。
  • 每次学习只能针对特定类型的模型进行分割,对于一般的模型分割,还是不行的。

交互式的分割方法

用户的分割意图,也可以通过交互来体现。比如这个例子,用户想分割出兔子的头,在兔头上画了一条蓝色的线,在兔子身上画了一条红色的线,得到了一个分割结果。这个结果不是很理想,于是用户再用红色的线标记了兔子身体,得到了期望的分割结果。

交互的方法,需要尽量的简单,并且分割结果要进来的准确。这类分割问题一般采用图割的方法来分出前景和背景区域。比如下面是一些不同的交互方式。


深度学习的方法

网格特征的建模,需要丰富的有经验的领域专家来设计。这其实是有一定的局限性的。深度学习可以直接进行端到端的学习,跨过领域特征建模这个模块。

深度学习在图像分割领域发展了很多年了,已经很成熟了。一个直观的想法是直接应用图像分割的方法来对网格进行分割。图像和网格的信息结构是有差异的,图像是规则的二维矩阵,网格是不规则的图结构。那么最简单的可以把网格转化未规则的信息结构,比如把网格映射到二维图像,或者网格体素化。早些时候的网格深度学习方法就是采用的这些方法。最近几年,开始有直接把深度学习应用到不规则的信息结构上,比如三维点云,三维网格。

下面这个方法(MeshCNN: A Network with an Edge – Siggraph2019),就是直接在不规则的网格上进行深度学习:

  • 网格的边类比图像的像素。这样边有稳定的四邻域结构,可以定义卷积算子和Pooling算子。

  • 边的特征信息为边的二面角+两个对角+两个边长比。这个特征信息类似图像像素的RGB值。

  • Pooling算子采用了网格简化的方法,边简化的顺序跟学习目标相关。比如下面这个例子,上面一排的简化顺序用于识别花瓶是否有把手;下面一排的简化顺序用于识别花瓶是否有瓶颈。

  • 下面是一个人体分割的例子

有兴趣的读者,欢迎参考视频版本

原文地址:https://www.cnblogs.com/threepark/p/11706639.html

时间: 2024-10-09 04:09:15

网格分割的相关文章

Unity 2DSprite

Unity官方意识到在4.3版本之前,并没有自带的支持2D游戏工具,商店里面有很多有名2D插件Uni2D,2DToolkit,在4.3版本之后就出现UISprite精灵来支持2D游戏开发,我用这个很多次了.现在才知道它就是Unity原生2D,用起来应该是没有Uni2D方便的,=.=实际开发大家应该不习惯这个 http://www.tudou.com/programs/view/mzW7lKEJrLw/  Unity2D中文介绍地址 http://unity3d.9tech.cn/news/201

UVA-572-搜索基础题

题意 GeoSurvComp 地理调查公司负责发现石油存储,这次GeoSurvComp公司在一个大型矩形区域上工作,它用一个网格分割地表,然后用可感知装备来单独分析每块小方格区域下是否包含石油,有油的地块叫做pocket,如果俩个相邻的pocket,那么它们是相同石油存储的一部分,石油存储能够非常大,可能会包含多个pocket,你的任务是计算出在一个方格中有多少不同的石油存储. 输入输入文件里包含一个或多个方格,每个方格由一行包含m,n俩个数字开头,m是方格的行,n是列.如果m=0代表输入结束,

Geodesic-based robust blind watermarking method for three-dimensional mesh animation by using mesh segmentation and vertex trajectory

之前因为考试,中断了实验室的工作,现在结束考试了,不能再荒废了. 最近看了一篇关于序列水印的文章,大体思想是:对于一个网格序列,首先对第一帧进行处理,在第一帧上,用网格分割算法(SDF)将网格分割成几个有意义的区域.在每个区域中,计算区域中的点到区域边界的测地线距离,根据测地线距离再将区域里的点分到不同的集合中,然后使集合中测地线距离的平均值保持在规定的范围内,从而嵌入水印. 下面介绍具体做法. 水印序列:+1.-1序列,由伪随机函数生成 网格分割算法:Shape Diameter Functi

Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

这周看了一篇Ryutarou Ohbuchi网格水印的论文,论文中提出在网格的频率域中加入水印.对于网格而言,没有如图像中的DCT等转换到频率域的变换,因此用什么量来模拟传统频率域中的系数,是很关键的.本文提出的水印算法在给定的3D多边形网格的变换域中嵌入水印,该变换域在本文中指网格频谱分析.同时,3D多边形网格的形状是由它的点连接关系和顶点坐标定义的. 文中通过更改网格频谱系数来实现水印的嵌入.先将原始网格变换到频率域中,然后修改频率域系数,嵌入水印信息,最后将模型从频率域反变换到空域即可得到

Unity 2D 终结手册 (3) - 精灵编辑_Unity3d开发

Unity 2D 终结手册 (3) - 精灵编辑_Unity3d开发_蓝鸥 有时,一个精灵纹理(Texture)只包含一个精灵元素(Element),但是更常见的是,在一张图像中包含多个相关的精灵元素,这样使用起来会更方便.例如,在一张图像中可以包含一个角色身上的所有部位,或者包含一辆车的车轮.车身等.对于这样的图像资源,Unity 提供了一个方便的工具,能够快速地提取出里面的元素并让我们进行编辑,这就是精灵编辑器(Sprite Editor). 通过以下两个步骤打开精灵编辑器(Sprite E

Android翻页效果原理实现之模拟扭曲

尊重原创转载请注明:From AigeStudio(http://blog.csdn.net/aigestudio)Power by Aige 侵权必究! 炮兵镇楼 上一节我们实现了翻页的曲线效果,但是效果有点小瑕疵不知道大家发现没有: 如图,我们发现折叠区域怪怪的,并没有实现我们之前的"弯曲"效果,为什么呢?是计算错了么?其实不是的,我们之前测试的时候使用的将canvas填色,但是这里我们用到的是一张位图,虽然我们的Path是曲线.Region有曲线区域,但是我们的Bitmap是个规

Femap 11.2 新功能:建模

在上篇中,我们介绍了Femap 11.2在几何编辑方面的功能增强,本次我们将进一步来了解Femap 11.2 在有限元建模方面的功能改进,更多功能欢迎访问西门子Femap官方网站 http://www.plm.automation.siemens.com/zh_cn/products/femap/index.shtml. Contact Manager Data Surface (接触管理器数据面) 当处理复杂装配体或组件时,零部件间的交互关系对于分析结果的准确性有着至关重要的影响,但随着模型的

CSimsoft.Trelis.Pro.v15.0.0.Win64 1CD有限元分析

CSimsoft.Trelis.Pro.v15.0.0.Win64 1CD有限元分析Trelis 是高端的FEA和CFD前处理商业软件,由csimsoft公司出品,基于桑迪亚国家实验室开发的Cubit?. 二十多年来,csimsoft公司与Sandia国家实验室共同开发Cubit,同时是软件用于学术或商业用途的的授权经销商.名称的更迭Csimsoft与桑迪亚国家实验室以Cubit为研究平台改善并开发新的网格生成算法已有二十余年. 在2010年,csimsoft公司开始转换Cubit研发平台为可公

重新网格化(Remesh)

原文链接 Remesh并没有一个严格的定义,简单的讲,Remesh就是从一个输入网格生成另一个网格,并且满足一定的要求.根据网格改动大小,可以分为这么几类: 保持顶点拓扑和几何信息,优化网格连接关系 保持顶点拓扑信息,同时优化顶点几何和网格连接关系 顶点重采样,优化网格连接关系 Remesh对原网格的改动比较大,实际应用中要谨慎使用.尽量使用改动比较小的Remesh方法. Delaunay三角化 Delaunay三角化,是点云的一种三角化方法,它具有某些好的性质: 网格中的最小角最大化 任意三角