当前位置: 首页 > 专利查询>浙江大学专利>正文

基于模型识别码的三维面片模型文件相似性检测方法技术

技术编号:20045845 阅读:26 留言:0更新日期:2019-01-09 04:27
本发明专利技术公开了一种基于模型识别码的三维面片模型文件相似性检测方法,包括如下步骤:首先输入三角面片模型,计算各面片内角角度;然后将各面片三内角排序那个格式化为字符串,并对模型各片面对应的字符串进行排序,从而建立不同模型之间面片及面片内角度的一一对应关系;最后将排序之后的字符串拼接为长字符串,计算其MD5码,结合模型中面片个数,输出模型文件唯一识别码,最后进行相似性判断。本发明专利技术得到的模型文件识别码包含模型的几何拓扑信息,可作为三维打印模型数据库中海量模型相似性检测的一种高效手段。

【技术实现步骤摘要】
基于模型识别码的三维面片模型文件相似性检测方法
本专利技术属于本专利技术涉及云存储中海量三维模型文件相似性检测领域,具体是涉及一种基于模型识别码的三维面片模型文件相似性检测方法。
技术介绍
近年来,随着三维打印技术的迅猛发展,各种三维打印服务网站也开始逐渐进入公众的视线。这些网站一般提供三维模型库服务,用户只需注册登录便可按网站约定的规则下载或上传三维模型。对三维打印来说,三维模型一般指面片模型,特别是STL格式的面片模型。网站为扩大模型库中模型数量,一般会对上传模型的用户提供一定的激励,如奖励积分、升级权限等。这种激励政策可能导致的一种不良后果是用户反复恶意上传同一个模型文件或相似模型文件,导致数据库出现大量冗余模型。针对用户反复上传同一个模型文件这种情况,网站可简单地通过校验新上传模型文件和数据库中已有模型文件的MD5码予以避免。但针对相似模型文件,文件自身内容发生了改变,传统的MD5码校验将失效。以两个模型为例,相似模型是指其中一个模型经过简单的几何变换,包括平移、旋转、缩放后,能够变换成和另一个模型别无二致的模型。此外,由于面片模型文件中面片一般是相互独立、无序存放的,因此即使在文件中改变各面片的存放顺序,最终得到的模型仍和原模型一致。事实上,上述几何变换或文件变换虽然改变了模型文件文本(或字节)内容(MD5码也随之改变),但并没有创造新的模型,因此变换模型也不具备收藏价值。对模型数据库,为避免数据冗余,应对模型的相似性进行检测。针对两个模型,理论上,高效的相似性检测应和文件MD5码校验类似,不过这里不是根据模型文件的文本(或字节)内容计算识别码,而是根据模型几何拓扑信息产生唯一的简短的识别码,然后比较各自识别码以确定两模型是否相似。这种方式相当于将模型几何拓扑信息压缩成识别码,每个模型只需计算一次识别码,该识别码便可作为模型属性字段终身使用。这种方式尤其适合海量模型相似性检测。关于包含几何拓扑信息的面片模型文件识别码的计算方法,目前尚无相关文献报道。与之相关的在模型相似性检测方面的文献收集如下:中国专利文献CN102567465A(申请号201110387765.1)公开了一种复眼视觉基础上的三维模型几何相似性搜索方法。该方法的基本原理是:首先在模型中心建立球面,并将球面均匀划分成一系列网格点(即球面像素点);然后计算从球心射出,经过各像素点的射线和模型的交点,并以球心到交点的距离作为对应像素点的灰度值,将三维模型转化为球面图像;最后在球面图像上通过定义类SIFT局部形状描述得出模型相似性检测结果。该方法的不足之处在于:球面像素点只能记录一个模型上一个交点的距离信息,而事实上,从球心出发的射线可能和模型有多个交点,易造成检测冲突。比如检测包含一层球壳的模型和包含多层球壳的模型,理论上该方法的判定结果为相似,这显然是错误的。中国专利文献CN103295240A(申请号201310257324.9)公开了一种评价自由曲面相似性方法。该方法主要思路是:自由曲面的相似性取决于其内部的各个不同子区域之间的相似性,从自由曲面中提取出多个类SIFT算子,每一个类SIFT算子均可以描述曲面中的一个子区域的形状,通过比较类SIFT算子的距离实现自由曲面的相似性评价。该方法不仅可以实现自由曲面的整体相似性评价,还可以准确的实现自由曲面的局部相似性评价。但目前该方法只适用于自由曲面相似性检测,无法直接用于面片模型的相似性检测。中国专利文献CN101446958A(申请号200810187194.5)公开了一种基于拓扑邻接逼近的CAD模型检索方法。该方法原理为:首先提取CAD模型的边界信息,并建立CAD模型的边界几何与拓扑信息模型;建立用于计算任意不同类型边界面之间相似性的统一度量方法;以检索条件与检索对象之间的初始边界匹配作为输入,给出并利用拓扑邻接逼近算法进行逼近运算,获得满足绝对误差限的相似度。但该方法实施难度较大。综上所述,现有文献中的方法以形状“相近”检测或搜索为主。几何模型的形状“相近”指模型整体形状一致,但局部形状略有不同,如局部孔位有无、孔位直径差异等。这些方法一般需要实时两两逐一比较模型上的局部特征,最终输出百分数形式比较结果,整体效率必然不如使用模型识别码直接比较的方式高。使用识别码检测最终输出的是判断模型是否相似的布尔量(即是或否)。
技术实现思路
为了提高三维打印服务网站中面片模型相似性检测效率以及模型数据库利用率,填补面片模型识别码计算方面的空白,本专利技术提供了一种基于模型识别码的三维面片模型文件相似性检测方法。该方法的原理是:对两个三角面片模型,如果两个模型相似,即它们可通过平移、旋转、缩放相互转化,那么这两个模型中的对应三角面片必然相似;反之,如果两个模型中的三角面片个数相同,且对应三角面片一一相似,那么在工程实践中,就可认为这两个模型相似的概率极大,即认定两模型相似。该原理的难点在于建立两个模型中三角面片的一一对应关系。由于三角面片模型中的面片一般是相互独立且无序存放的,因此不能简单地通过三角面片在文件或内存数组中的序号建立对应关系。由于模型间可能存在旋转关系,因此也无法通过简单的包络或面片顶点坐标建立对应关系。考虑到在平移、旋转、缩放变换中,模型中各三角面片的角度是时刻保持不变的,因此本专利技术方法考虑使用各模型中三角面片顶点角度建立面片之间的对应关系。这一过程需要对面片角度进行两次排序,一次对面片内三内角角度进行排序,一次对各面片内角角度格式化的文本进行排序。一种基于模型识别码的三维面片模型文件相似性检测方法,包括:(1)读取某一待检测的三维面片模型文件,构建三角面片集合;(2)求取三角面片集合中的所有三角面片的三个顶点内角;(3)对所有三角面片的三个顶点内角进行编码,得到所有三角面片对应的字符串集合;(4)对字符串集合,按字符串表示的数值大小直接对其中各元素进行排序,得到排序后的字符串集合{Ti},其中1≤i≤N;(5)对排序后的字符串集合,按顺序依次将所有元素拼接为一个长字符串,记为TS,计算所述长字符串TS的MD5码;(6)将面片个数N和MD5码组合转化为新字符串,得到该三维模型文件的识别码;(7)将该三维模型文件的识别码与其他的三维模型文件的识别码进行对比,得到相似性检测结果。步骤(1)中,所述的面片模型文件是指逻辑上以三角面片方式组织及存储几何模型的文件,文件格式包括但不仅限于常用的STL格式、OBJ格式、TRI格式、XYZ格式等。这些格式一般以文本或二进制方式直接存储面片顶点或法向量坐标值,数据读取简单直观。步骤(1)中,构建的三角面片集合定义为{Δi},其中1≤i≤N,N为面片总数,为大于零的自然数,对任意三角面片Δk,记其三个顶点分别为Ak、Bk、Ck;k为1~N之间的任意自然数。进一步地,步骤(2)中,在三角形三顶点坐标已知的情况下,可先计算三边边长,然后通过余弦定理计算各内角角度值。对面片集合{Δi}中的任一三角面片Δk,计算各顶点内角,记顶点Ak、Bk、Ck对应的内角角度分别为αk、βk、γk。步骤(3)中,对所有三角面片的三个顶点内角进行编码的步骤如下:(3-1)选取其中两个较小的内角(此处选择较小的两个内角,主要是为了提高对比效率,当然也可以选择较大的两个内本文档来自技高网
...

【技术保护点】
1.一种基于模型识别码的三维面片模型文件相似性检测方法,其特征在于,包括:(1)读取某一待检测的三维面片模型文件,构建三角面片集合;(2)求取三角面片集合中的所有三角面片的三个顶点内角;(3)对所有三角面片的三个顶点内角进行编码,得到所有三角面片对应的字符串集合;(4)对字符串集合,按字符串表示的数值大小直接对其中各元素进行排序,得到排序后的字符串集合;(5)对排序后的字符串集合,按顺序依次将所有元素拼接为一个长字符串,计算所述长字符串的MD5码;(6)将面片个数和MD5码组合转化为新字符串,得到该三维模型文件的识别码;(7)将该三维模型文件的识别码与其他的三维模型文件的识别码进行对比,得到相似性检测结果。

【技术特征摘要】
1.一种基于模型识别码的三维面片模型文件相似性检测方法,其特征在于,包括:(1)读取某一待检测的三维面片模型文件,构建三角面片集合;(2)求取三角面片集合中的所有三角面片的三个顶点内角;(3)对所有三角面片的三个顶点内角进行编码,得到所有三角面片对应的字符串集合;(4)对字符串集合,按字符串表示的数值大小直接对其中各元素进行排序,得到排序后的字符串集合;(5)对排序后的字符串集合,按顺序依次将所有元素拼接为一个长字符串,计算所述长字符串的MD5码;(6)将面片个数和MD5码组合转化为新字符串,得到该三维模型文件的识别码;(7)将该三维模型文件的识别码与其他的三维模型文件的识别码进行对比,得到相似性检测结果。2.根据权利要求1所述的基于模型识别码的三维面片模型文件相似性检测方法,其特征在于,所述三维面片模型文件为STL文件、OBJ文件、TRI文件、XYZ文件。3.根据权利要求1所述的基于模型识别码的三维面片模型文件相似性检测方法,其特征在于,步骤(2)中,利用余弦定理求取其三个顶点内角。4.根据权利要求1所述的基于模型识别码的三维面片模型文件相似性检测方法,其特征在于,步骤(3)中,对所有三角面片...

【专利技术属性】
技术研发人员:林志伟傅建中沈洪垚高庆
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1