基于距离场的网格模型骨架提取

合集下载

距离变换图和骨架图生成算法

距离变换图和骨架图生成算法
其中,点P 1 ( i,j )和P 2 (m,n) 的坐标值i, j ,m , n 都是整数。
只要图中a、b、c 的取值满足1< b/a < 2, 1<c/b < 2, 那么 它就是欧几里德距离的一个在栅格空间中的整数近似值。
6.8 距离变换图和骨架图生成算法
1、距离变换图算法
(3)基于栅格图像间的运算
6.8 距离变换图和骨架图生成算法
1、距离变换图算法
(2)基于“欧几里德距离”公式的距离变换图算法
在二维平面上定义两点,那么他们之间的欧氏距离表示为 :
在二值图像中,1代表目标点,0代表背景;在灰度图像中,栅格的灰度值 表示该栅格点到最近目标点的距离值。这样一张M×N的图像可以表示为 一个二维数组A[M][N],其中A[i][j]=1对应的栅格表示目标点,A[i][j]=0对应 的栅格表示背景点。设B={(x,y)|A[i][j]=1}为目标点集合,则欧氏距离变换 就是对A中所有的栅格点求:
6.8 距离变换图和骨架图生成算法
2、骨架图算法
基于距离变换的骨架图生成算法
6.8 距离变换图和骨架图生成算法
3、距离变换图和骨架图的应用
距离变换图常用于地图制图、地理空间的各种量度 (如面积、密度、坡度、坡向等)及空间分析(如缓冲 区分析、Voronoi分析、DEM分析等)等方面。
其中
从而得到二值图像A的欧氏距离变换图。
欧氏距离变换1
欧氏距离变换2
加权欧氏距离变换
6.8 距离变换图和骨架图生成算法
1、距离变换图算法
(2)基于“欧几里德距离”公式的距离变换图算 法
栅格空间中的“欧几里德距离”距离变(i, j , m, n) (m i ) 2 (n j ) 2

基于距离场的骨架细化算法

基于距离场的骨架细化算法

基于距离场骨架的细化算法摘要:骨架是现在物体识别的一种有效手段,保存和处理对象的拓扑信息,是图像分析的重要研究之一。

传统的距离场和基于图像求取的骨架难以保证连通,而细化所得的骨架受噪声影响较大,不能保证结果的准确性,但是细化在骨架识别中起到举重若轻的作用。

本文提出一种优良的骨架细化和骨架提取算法,将经典的距离变换和细化相结合,使骨架在原有识别的基础上更加的精确。

关键词:骨架提取;细化算法;距离场。

1引言骨架(Skeleton)是一种中轴变换用来描述物体的拓扑结构的主要手段之一,首先由Blum提出,它是一种线条状的几何体,线条位于物体的几何中心,有着和原物体相同的拓扑结构,在保持原物体的形状信息的同时,尽量减少了原物体的冗余信息。

骨架有着广泛的应用比如形状描述、文字识别、工程图处理、图像重建、压缩编码和红外图像识别等。

骨架的提取算法主要分为两类:一类是基于细化的算法,另一类是基于距离场的方法。

细化算法是采用迭代的手段不断的剥除目标的边界点,并且保留边界上满足骨架特性的点,直到没有多余的边界可以剥除,剩下的就是骨架。

这个方法在连续域是正确的,但由于图像是离散点,在向内推进过程中无法按照图像的收缩方向进行。

提取的骨架是连续的,但骨架的定位不确定,这两种细化算法在距离场中都对距离场中的脊线有所偏离。

距离场的脊就是骨架线,由于脊的判断方法不准确,有时候很难鉴定一个点是否为距离场的脊,所有得到的点往往是一些离散点,一般的做法是找出距离场中的最大值按照一定的拓扑结构连接起来就构成了原图的骨架如图(1),此方法的结果是准确的但是不连续。

(1)2 基于细化的骨架提取图像的细化是对一个二值图像进行收缩的过程,按照原来的形状让其等比列变小,在连线域上即使收缩到很小的程度还是保持着原来的的形状。

根据细化过程的特点,便有人提出各种算法进行提取骨架,比如“烧草”算法,它的核心思想是,将目标内的所有点看做一个草原,同时从边界点火,再向目标内部蔓延,在蔓延的过程中,燃烧点重合的地方即为骨架点。

基于力场的点云树木骨架提取方法

基于力场的点云树木骨架提取方法

Mar., 2016
基于力场的点云树木骨架提取方法
张 冬1,2 ,云 挺1,2 ,薛联凤1∗ ,阮宏华2
(1.南京林业大学信息科学技术学院,江苏 南京 210037;2.南京林业大学生物与环境学院,
南京林业大学南方现代林业协同创新中心,江苏 南京 210037)
摘要:树木骨架是树木仿真及建模的基础,笔者根据树木的拓扑原理,直接利用地面激光雷达扫描获得的单木点
ZHANG Dong 1,2 , YUN Ting 1,2 , XUE Lianfeng 1∗ , RUAN Honghua 2
(1. College of Information Science and Technology, Nanjing Forestry University, Nanjing 210037,China;
Then, the surface skeleton is compressed into trees by applying force field. Finally, the final skeleton will be acquired by
polishing it according to a threshold setting. The experimental results indicate that the algorithm can provide an satisfac⁃
基金项目:国家自然科学基金项目( 31300472) ;江苏省自然科学基金项目 ( BK2012418) ;江 苏高校优势学科建设工程 资助项目
2. Co⁃Innovation Center Sustainable Forestry Studies in Southern China, College of Biology and the Environment,

无线传感器网络中基于距离变换的骨架提取

无线传感器网络中基于距离变换的骨架提取

无线传感器网络中基于距离变换的骨架提取刘文平【期刊名称】《计算机应用研究》【年(卷),期】2011(28)12【摘要】In wireless sensor networks, skeleton information has been successfully used to improve routing performance; and also can be used in localization, navigation and segmentation, etc. Existing solutions often assume that all boundary nodes have been correctly recognized, in most cases, especially for networks with low node density, the boundary nodes are hardly fully identified. This paper proposed a distributed skeleton extraction algorithm of low complexity based on distance transform. The proposed algorithm did not require that all boundary nodes were correctly identified. Experiment results show that the pro-posed algorithm can achieve a good approximation of skeleton even under incomplete or inaccurate boundaries, and also is ro-bust to the boundary incompleteness.%在无线传感器网络中,利用骨架信息可以提高路由性能,也可以用于网络定位、导航以及分割等.以往的骨架算法往往假定边界节点被全部识别,但在绝大多数网络中,尤其是低密度网络,边界节点往往很难被全部正确识别.提出了一种基于距离变换的低复杂度、分布式骨架提取算法,该算法不要求所有边界节点被识别.实验结果表明,该算法对于边界不准确时能够得到较好骨架,同时对于边界点缺失具有鲁棒性.【总页数】3页(P4688-4690)【作者】刘文平【作者单位】华中科技大学电子与信息工程系,武汉430074;湖北经济学院统计与应用数学系,武汉430205【正文语种】中文【中图分类】TP391【相关文献】1.基于距离变换与路径规划的骨架提取算法 [J], 张超;芦勤;罗述谦2.基于距离变换的三维连通骨架提取算法 [J], 万雅娟;李海生;刘璇;蔡强3.基于距离变换的A*搜索骨架提取方法 [J], 唐姝;刘俊4.基于数字距离变换的3D模型骨架提取算法 [J], 樊雅萍;黄生学;温佩芝;史泽林5.基于距离变换的新型骨架提取方法 [J], 徐超;肖潇;骆燕;胡慧杰;刘明因版权原因,仅展示原文概要,查看原文内容请购买。

基于距离变换与路径规划的骨架提取算法

基于距离变换与路径规划的骨架提取算法
s∈ S
那么 p1 就是局部距离变换 最 大 值 点,所 有 最 大 值点的集合为 Lmax。图 5是根 据 图 3得 出 的 距 离 变 换局部最大值的图像。
定义 2:距离 变 换 梯 度 的 模 同 样 反 应 骨 架 点 的 情况。假 设 p2 象 素 的 距 离 变 换 梯 度 的 模 的 值 为 ‖f(p2)‖,p2 的 8邻 域 象 素 点 为 集 合 S,如 果 满 足以下条件:
基于骨架提取 的 重 要 性,在 文 献 中 提 出 了 大 量 的骨架提取算法。这些骨架提取算法大致可以分为 四 类 [3]:① 中 轴 变 换 (medicalaxistransform)[4-5]; ② 细化算 法 (thinningalgorithm)[6-8];③ 距 离 变 换 (distancetransform)[9-12];④ 路 径 规 划 算 法 (path planningalgorithm)[9,13-14]。
中轴在数学术语中可以用最大内切圆的相关术 语定义,一个对称点 是 两 个 或 多 个 有 着 相 等 长 度 的 圆盘法线的交点。其中圆盘法线是从对称点到边界 的最短长度的线段。由于一个目标内点的最大内切 圆在边界上至少有 两 个 切 点,所 以 每 个 对 称 点 有 两 个或多个圆盘法线。中轴变换实现起来较为困难, 中轴变换用于识别 的 最 大 缺 点 就 是:边 界 上 的 很 小 变化会使得对称轴人为产生冗余的长分支。细化算 法的基本思想是通过利用分层单向或双向迭代的方 法更改目标边缘的 点 为 背 景 点,直 到 目 标 变 成 了 一 些单象素宽的曲线所构成的结合。尽管细化算法可 以很好地保留物体 的 拓 扑 形 状,但 是 生 成 的 骨 架 依 赖于初始条件,且 迭 代 过 程 耗 时 较 大。 文 献 讨 [8] 论 了接近 300种细 化 算 法,近 年 来 也 提 出 了 许 多 新 的 细化算法,如势 能 场、水 平 集、主 曲 线 评 价 法 等。 传 统的距离变换算法通过在高一维空间中生成的距离 曲面形成的脊线来建立骨架。它们的主要特点是骨 架 位 置 准 确 ,外 形 顺 滑 ,缺 点 在 于 容 易 受 到 边 缘 噪 声 的干扰且难以保证骨架的准确性。而路径规划算法 通过寻找两点间的 最 短 路 径,通 过 定 义 骨 架 的 起 始 点与终止点,两点 间 的 最 短 路 径 即 是 骨 架。 路 径 规 划算法可以将物体的拓扑性与连续性很好地保留。

基于Reeb图的三维网格模型骨架提取算法

基于Reeb图的三维网格模型骨架提取算法

基于Reeb图的三维网格模型骨架提取算法
刘辉;秦茂玲;徐海峰
【期刊名称】《信息技术与信息化》
【年(卷),期】2012(000)005
【摘要】针对目前骨架提取算法存在计算复杂度高、骨架结构不够精确等问题,本文基于Reeb思想提出一种改进的三角网格模型骨架提取算法.首先对三角网格模型进行有效简化,计算简化后的模型特征点,以特征点为聚合点,测地距离函数为映射函数,根据不同顶点的函数值进行特征区域划分,然后利用不同分支的顶点信息进行拓扑分析,连接拓扑构造出的骨架点,并对多余骨架点做删除操作.实验结果表明,可得到较好的骨架提取结果.
【总页数】4页(P92-95)
【作者】刘辉;秦茂玲;徐海峰
【作者单位】山东师范大学信息学科学与工程学院山东济南250014;山东省分布式计算机软件新技术重点实验室 250014;山东省分布式计算机软件新技术重点实验室 250014
【正文语种】中文
【相关文献】
1.基于距离变换的三维连通骨架提取算法 [J], 万雅娟;李海生;刘璇;蔡强
2.一种人体三维Reeb图计算方法 [J], 关华;郭立;李文;魏一方
3.改进的多分辨率Reeb图骨架抽取算法 [J], 黄坤武;唐杰;武港山
4.三角网格模型骨架提取算法 [J], 王洪申;张家振;张小鹏
5.针对面片的Reeb图骨架抽取算法 [J], 黄坤武;唐杰;武港山
因版权原因,仅展示原文概要,查看原文内容请购买。

骨架提取算法

骨架提取算法

骨架提取算法
骨架提取算法是一种常用的图像处理算法,它可以从图像中提取出物体的骨架,即物体的主要轮廓线条。

骨架提取算法在计算机视觉、图像识别、机器人等领域有着广泛的应用。

骨架提取算法的基本思想是将物体的轮廓线条缩小到一个像素宽度,然后通过一系列的操作,得到物体的骨架。

这个过程可以分为两个步骤:轮廓线条的细化和骨架的提取。

轮廓线条的细化是指将物体的轮廓线条缩小到一个像素宽度。

这个过程可以通过一些经典的算法来实现,比如Zhang-Suen算法、Guo-Hall算法等。

这些算法都是基于局部像素的形态学操作,可以将轮廓线条细化到一个像素宽度。

骨架的提取是指从细化后的轮廓线条中提取出物体的骨架。

这个过程可以通过一些经典的算法来实现,比如Medial Axis Transform 算法、Distance Transform算法等。

这些算法都是基于距离变换的思想,可以将轮廓线条转换成距离场,然后通过一些操作,得到物体的骨架。

骨架提取算法的优点是可以提取出物体的主要轮廓线条,可以减少图像处理的复杂度,提高图像处理的效率。

同时,骨架提取算法还可以用于物体的形状分析、物体的匹配等领域。

骨架提取算法的应用非常广泛,比如在计算机视觉领域,可以用于物体的识别、跟踪、分割等;在机器人领域,可以用于机器人的导航、路径规划等;在医学领域,可以用于医学图像的分析、诊断等。

骨架提取算法是一种非常重要的图像处理算法,它可以提取出物体的主要轮廓线条,可以用于物体的形状分析、物体的匹配等领域。

随着计算机视觉、机器人、医学等领域的不断发展,骨架提取算法的应用前景将会越来越广阔。

三角网格模型骨架提取算法

三角网格模型骨架提取算法

随着计算机图形学的发展,对三维模型的研究日益深入,骨架作为形状表示的一种有效形式,在三维模型的各个研究领域被运用。

骨架的狭义定义最初由Blum [1]提出,当时他称骨架为“中轴”(Medial Axis )[2]。

骨架的经典定义有两种[3]:一种是烧草模型,如图1所示,从模型表面开始点火,火焰从物体边界上的两点同时向内部推进,轨迹随时间形成等距的同心圆,同心圆的相遇点所构成的集合即为骨架;另外一种是更直观的定义,即最大圆盘模型。

如图2所示,骨架点是所有最大圆盘的圆心集合,最大圆盘即是完全包含在物体内部且至少与物体边界相切于两点的圆。

骨架上的每一个点都是这些内切圆的圆心,这些圆沿着骨架分布正好填充物体的内部。

由于模型的骨架很好地保留了模型的拓扑形收稿日期:2019-05-14作者简介:王洪申(1969—),男,甘肃兰州人,博士,教授,研究方向:CAD/CAM 。

†通讯联系人,E-mail :*****************三角网格模型骨架提取算法王洪申,张家振†,张小鹏(兰州理工大学机电工程学院,甘肃兰州730000)摘要:骨架图能够直观表达三维模型几何形状,很好地反映模型的拓扑特征,在工业机器人抓取、特征识别等领域有着广泛的应用。

针对三角网格表达的工业零件给出一种骨架提取算法,该算法采用Reeb 图对三角网格进行骨架的抽取运算。

首先读取三角网格文件,并对复杂的三角网格进行简化处理,然后遍历所有的三角网格,采用Dijkstra 算法抽取基本点集,根据定义的连续函数计算每个顶点的函数值,最后根据函数值得出模型的基本骨架。

实验表明,该算法具有良好的计算效果和效率,提取出的骨架图较好地保存了三维模型拓扑结构和姿态,可作为后续研究三维模型搜索的特征描述符。

关键词:骨架图;三角网格;三维模型;拓扑结构;Reeb 图中图分类号:G633.6文献标识码:ATriangular Mesh Model Skeleton Extraction AlgorithmWANG Hong-shen ,ZHANG Jia-zhen †,ZHANG Xiao-peng(School of Mechanical and Electrical Engineering ,Lanzhou University of Technology ,Lanzhou ,Gansu 730000,China )Abstract :The skeleton diagram can visually express the geometry of the 3D model and reflect the topological features of themodel well.It has a wide range of applications in the fields of industrial robot capture and feature recognition.A skeleton extraction al -gorithm is proposed for the industrial parts expressed by the triangle mesh.The algorithm uses the Reeb diagram to extract the skeleton from the triangular mesh.First read the triangle mesh file ,and simplify the complex triangle mesh ,then traverse all the triangle mesh -es ,extract the basic point set by Dijkstra algorithm ,calculate the function value of each vertex according to the defined continuous function ,and finally The function deserves the basic skeleton of the model.Experiments show that the proposed algorithm has goodcomputational efficiency and efficiency.The extracted skeleton map preserves the topology and pose of the 3D model ,and can be usedas a feature descriptor for the subsequent research of 3D model search.Key words :skeleton diagram ;triangular mesh ;3D model ;topology ;Reeb diagram第39卷第2期2020年6月计算技术与自动化Computing Technology and AutomationVol.39,No.2Jun.2020文章编号:1003—6199(2020)02—0145—05DOI :10.16339/ki.jsjsyzdh.202002029态及其连接特性,所以经常被用于模型渲染、模型表面重建、碰撞检测、模型检索等应用中,在工业零件的视觉识别领域也有广泛的用途。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于距离场的网格模型骨架提取缪永伟;陈程【摘要】作为三维模型的一维表示方式,曲线骨架在计算机视觉和可视化应用中扮演着重要角色.为有效地从网格模型中提取高质量骨架,提出了一种新的基于距离场的骨架提取方法.首先,用户对输入的三维模型进行最小包围盒计算,并将该空间按照一定精度划分成一个个小立方块空间;其次,对每个小立方块空间进行判定,剔除模型外部立方块并计算内部立方块的距离值,完成模型体素化;接着,对每块体素进行距离值局部最大求解,完成对体素的初步选取;然后,对选取的体素迭代进行最大内切球约束去除冗余体素得到骨架点;最后,对选择的骨架点按照一定的规则进行有序连接形成骨架.实验结果表明:该方法能准确地提取质量较好的三维模型骨架.【期刊名称】《浙江工业大学学报》【年(卷),期】2019(047)004【总页数】8页(P417-424)【关键词】曲线骨架;距离场;包围盒;体素;最大内切球【作者】缪永伟;陈程【作者单位】浙江工业大学计算机科学与技术学院,浙江杭州 310023;浙江工业大学计算机科学与技术学院,浙江杭州 310023【正文语种】中文【中图分类】TP3113D模型在计算机辅助设计、计算机图形学和科学可视化等领域中扮演重要角色。

作为重要研究对象,3D模型被广泛应用,包括三维模型特征提取[1]、孔洞修复[2]、模型重建[3]和遥感等。

传统计算机图形学中的三维形状表示方法一般表示的是模型表面信息,并不描述模型内部结构和模型拓扑信息[4-5]。

而模型的三维表示是“昂贵的”,许多应用需要模型的可替代的紧凑表示[6]。

有这样的一种“线状”或“棒状”表示方法,称之为“骨架表示”或“曲线骨架”[7]。

Blum[8]以中轴的形式建立了骨架化的基础,该骨架由具有较低维度的对称平面/轴组成。

理论上讲,Blum的骨架或中轴是使用草火传播过程定义的。

假设物体是干草材质,在物体边界用火点燃,火焰以均匀的速度在物体内部传播。

骨架被定义为两条独立火线相遇点的集合。

模型骨架提取方法可以分为以下几类:1) 拓扑细化法(Topology thinning),又称为模拟烧草模型法。

此类算法从边界开始,反复迭代地逐层剥离离散后的模型形成骨架。

绝大部分细化方法依靠简单点作用于离散空间(体素),去除之后不会改变形状的拓扑结构的点(体素)称之为简单点[9]。

为提供拓扑保护,文献[10]提出了两种分别用于提取“表面骨架”和“曲线骨架”的8 次子迭代算法,其中每次子迭代只能去除某种特定类型的边界点。

文献[11]提出了一种拓扑保护的三维骨架化方法,该方法主要计算体素标记为D6距离模型的面骨架或曲线骨架。

考虑笛卡尔超立方网格,文献[12]提供了一个数学框架,其中给出了迭代细化过程去除点的显式布尔条件。

2) 基于距离场的方法。

首先,需要估计一个距离图,然后视中轴为距离图的脊,通过脊跟踪算法在此距离图中抽取得到中轴。

物体内部每点的距离值DT被定义为此点离模型边界点的最短距离[13]。

由于骨架对模型整体而言是处于中心位置应具有较大的DT值,因此DT能作为骨架提取的一种重要参考指标。

Bitter等[14]通过梯度搜寻方法检测非均匀梯度的相邻部分,并标记这些点为候选体素。

Bouix等[15]用散度计算选取优先函数并由用户自定义阈值来进行体素的简单点移除。

3) 基于拓扑与几何分析的方法,通过构造模型的Voronoi图和Reeb图来得到骨架。

Voronoi图将空间划分成子区域,Voronoi图的内部边和面可用于提取形状的中轴面(骨架)的近似值。

笔者提出了一种基于距离场的骨架提取方法,通过寻找距离域的“脊线” 从而找到骨架。

笔者主要的贡献在于提出了最大内切球算法来对候选体素进行约束,能很好地去除冗余体素点。

笔者提供了几个模型的实验结果并将之与经典骨架提取方法进行比较,实验结果表明:笔者方法能得到一个质量较好的三维模型骨架。

1 算法流程笔者提出了基于距离场的骨架提取方法,通过包围盒技术确定包裹模型的最小立方体空间。

根据所求得的包围盒将模型体素化,从而将模型划分为一个个立方块空间。

再计算每块体素的距离值,找出单位空间内距离值最大的体素作为骨架点的潜在体素。

比较过后,所得的候选体素并非全部属于骨架点所在体素,提出最大内切球逼近算法来对体素做出约束,去除冗余的体素,从而找出最终的骨架点。

最后,根据所求得的体素,按照一定规则有序连接形成骨架。

具体算法流程如图1所示。

图1 算法流程Fig.1 Pipeline of skeleton extraction method如图1所示,笔者方法主要步骤如下:1) 模型内部体素化。

此过程主要包括包围盒计算和模型外部体素去除。

由于笔者方法的核心思想是基于距离场来找到处于中心的那条“脊线”。

因此,模型外部体素可用信息不大。

根据需求,对于包围盒的选取笔者选择的是AABB盒,主要是其操作简单且存储空间小。

在判断体素是否外部体素时,充分利用了模型边界点的法向量指向模型外部这一信息,根据向量积的正负,成功地去除掉外部体素。

2) 单位空间内最大距离值体素的选取及最大内切球约束。

模型内部体素化后,从边界到中心,体素的距离值是递增的。

因此,位于模型中心的骨架的距离值一定是最大的,所要找的就是这类体素。

因此,事先设定一单位空间,然后找出该空间内的最大距离值的体素,比较完所有体素后得到初始筛选的候选体素。

然而,这些体素并非全部都属于骨架。

因此,利用最大内切球再对这些候选体素进行约束,对于每个候选体素找出其最大内切球,将此最大内切球所包裹的所有体素再进行距离值比较,选择其中距离值最大的体素与最大内切球球心距离值(半径)作比较。

若该体素距离值大于该最大内切球半径,则将此体素作为该局部的骨架点。

若该体素距离值小于该最大内切球半径,则将此最大内切球的球心作为该局部的体素点。

3) 骨架点连接形成骨架。

此部分主要是考虑骨架点连接的规则,根据已求得的骨架点形成骨架。

必须保证骨架点连接不能重复、乱序和错漏。

2 最大内切球逼近三维模型骨架就是模型M中所有最大内切球球心的集合[6]。

笔者提出的最大内切球逼近算法主要思想:从模型内部任一点出发,计算其与表面最近点之间的矢量并向模型内部延伸来调整点的位置,从而将初始点位置从低距离值往高距离值的场内移动,经多次调整内部点位置便可以找到三维模型的最大内切球及其球心。

设三维网格模型M(x,y,z)={vk,k=1,2,…,N},其中(x,y,z)是顶点v的坐标,N是顶点数目,则距离值函数为D(p(x′,y′,z′),v(x,y,z))=(1)式中v为距离点p最近的模型表面点。

图2为Human模型局部放大距离场灰度编码图,颜色越浅代表距离值越大(模型中心为灰白色,模型边界为灰黑色)。

图2 距离场灰度编码Fig.2 Distance field color coding定义函数Extend_Len(p′,p″,l)来调整点的位置。

假设给定点p′和点p″,沿矢量p′p″延长距离l得到点p‴,则p‴(x‴,y‴,z‴)=Extend_Len(p′,p″,l)(2)结合公式(1,2)可得x‴y‴z‴(3)最大内切球逼近算法流程如下:Step 1 最近点计算。

针对模型内部任一点p1,遍历模型表面点,找到与其距离最近的模型表面点v1,并计算p1的距离值以及矢量v1p1。

Step 2 反向延伸调整位置,找到距离新点的模型最近点并计算两点间的矢量。

沿矢量v1p1方向向p1的距离值等值线内部延长距离l2,其中l2=β×L (0<β<1.0),L为模型网格平均边长。

由式(2)确定模型内新点p2=Extend_Len(v1,p1,l2),并找到距离p2最近的模型边界点v2,计算p2的距离值以及矢量v2p2。

Step 3 重复执行Step 2,计算pk的距离值以及矢量vkpk,直到‖vk+1pk+1‖<‖vkpk‖为止,即当pk+1的距离值小于pk的距离值,此时pk的距离值达到最大。

则以pk为球心,‖vkpk‖为半径可以得到模型最大内切球,其球心为模型骨架点。

图3为horse模型的最大内切球逼近效果图。

图3(a)为模型内部初始点位置,图3(b)为其逼近的最大内切球效果图,其中β取0.1,耗时52 ms。

图3 最大内切球逼近Fig.3 Maximum inscribed ball approximation3 三维模型体素化体素化是将模型的几何形式表示转换成一种最接近该物体的离散表示形式,产生体数据集。

表示模型的空间体素跟表示图像的二维像素比较相似,只不过从二维的面扩展到三维的立方体单元,而且基于体素的三维模型技术被广泛应用。

笔者算法主要思路就是操作离散化模型,找到属于骨架的体素点。

3.1 三维模型体素化基于几种包围盒技术理论,在选择包围体类型时充分考虑各种包围体类型的优缺点以及笔者方法的需求性,最终选择轴对齐包围盒(AABB),主要是因为其构造比较简单,存储空间小。

设三维网格模型M(x,y,z)={vk,k=1,2,…,N},其中(x,y,z)是顶点v坐标,N是顶点数目。

遍历这N个顶点,找到Xmin,Xmax,Ymin,Ymax,Zmin,Zmax这6 个值,从而确定包围盒的8 个顶点。

依次为:P1(Xmin,Ymax,Zmin),P2(Xmin,Ymin,Zmin),P3(Xmin,Ymin,Zmax),P4(Xmin,Ymax,Zmax),P5(Xmax,Ymax,Zmin),P6(Xmax,Ymin,Zmin),P7(Xmax,Ymin,Zmax),P8(Xmax,Ymax,Zmax)。

图4为Human模型AABB包围盒,其中图4(a)为Human模型初始图,图4(b)是其包围盒生成图。

图4 包围盒生成Fig.4 Bounding box generation3.2 模型内部体素提取离散化操作中,选取精度为d(2 个单位的平均网格边长度)来将包围盒所包裹的空间划分成一个个体素块。

根据得到的包围盒信息,全部体素数量应为Num=Nx×Ny×Nz。

其中,Nx=(Xmax-Xmin)/d,Ny=(Ymax-Ymin)/d,Nz=(Zmax-Zmin)/d。

这些体素主要分为3 部分:模型外部体素、模型边界体素和模型内部体素。

实验中,实验外部体素通过判定条件剔除,模型边界体素也不可能是骨架所在的体素,真正需要的是模型内部体素。

图5(a)提供了人体模型体素化后(已剔除外部体素)的效果图,为更清楚观察体素化后的内部情况,图5(b)提供了身躯的局部放大图。

其中,精度为2 个单位的平均网格边长度。

为清楚观察每块体素,放置半径为0.5 个平均网格边长度单位的小球在每块体素的中心。

相关文档
最新文档