CN104156997B - 一种基于渲染的快速体数据骨架提取方法 - Google Patents
一种基于渲染的快速体数据骨架提取方法 Download PDFInfo
- Publication number
- CN104156997B CN104156997B CN201410363994.3A CN201410363994A CN104156997B CN 104156997 B CN104156997 B CN 104156997B CN 201410363994 A CN201410363994 A CN 201410363994A CN 104156997 B CN104156997 B CN 104156997B
- Authority
- CN
- China
- Prior art keywords
- curve
- point
- volume data
- dimensional
- rendering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Image Generation (AREA)
Abstract
本发明涉及一种基于渲染的快速体数据骨架提取方法,包括以下步骤:在上下前后左右6个视点下,用RayCasting直接体绘制算法对三维体数据进行渲染,得到6个2D图像;对所有直接体绘制获得的2D图像提取其轮廓及部分关键特征线;将获得的2D轮廓线及关键特征线反投影回3D空间,获得3D候选曲线;对空间采样,计算空间采样点的曲线密度,构建曲线密度场;获得曲线密度场后,用三维Sobel算子采样点的梯度;根据采样点的梯度值,用最小二乘方法计算采样点的曲线方向;将采样点的曲线方向赋值给其所对应的三维体数据的体素;根据体素的方向,构建包围盒,计算包围盒体素平均值获得表征节点;连接表征节点并平滑曲线最终得到三维体数据骨架。
Description
技术领域
本发明属于骨架提取及体绘制技术领域,具体涉及基于渲染的快速体数据骨架提取方法。
背景技术
骨架作为形状表示的一种有效形式在三维模型的各个研究领域中被广泛采用。Blum1967年给出了骨架的最初定义:骨架(中轴)是模型内部各个最大内切球中心的集合。它还有一个grassfire的模拟定义,从模型表面开始点火,各个方向上的火的相遇点所构成的集合。因为模型的骨架很好的保留了模型的拓扑连接性及其几何形状信息,所以经常被用于碰撞检测、三维动画、模型渲染、模型表面重建、模型检索、三维形状识别与检索、模型编辑、简化以及三维分割等应用中,也有研究人员采用骨架为模型的分解做矫正。不同的应用,对于骨架应该保存的信息要求不完全相同,故而抽取思路也不完全相同。
对三维模型骨架的研究由来已久,出现过很多方法,有的是源于对二维图像的扩展,有的是针对三维模型提出的,大体上来说,面向三维网格模型或者三维体素模型的骨架提取方法主要包括:细化、距离变换、分解等。
提取三维体素模型骨架的拓扑细化方法的基本思想是:由外向内,层层剥离不改变模型拓扑特性的体素来实现骨架抽取,它检测物体数据的拓扑相关性,而不是形状的几何特征。这种方法在保持物体拓扑性质的同时,在离散域中反复的逐层剥离去物体的表面,其中判断一个体素是否需要剥离的检测过程比较耗时,这种发方法需要完全分割好的、紧凑的并且相互连接的物体模型。Bertrand提出一种简单的并行细化方法抽取骨架。Ju采用边细化边去除冗余体素的方法抽取骨架。Melada提出结合欧式距离测度与细化过程的骨架抽取方法。但这些方法产生的骨架包含杂枝,甚至破坏了骨架的连续性。
基于距离变换的骨架提取方法:它一般的计算对象要求也必须是体素表示的模型,通过计算每个体素的距离来求取模型的脊点。Zhou提出了边界距离变换和种子点距离变换,采用体素编码的方式抽取并优化骨架结构,但骨架在分支处的中心性较差。Wan的方法采用精确的边界距离变换,建立极小扩张树提取骨架,从而使得到的骨架点尽量不偏离中心,但会出现中心线的“扰动”现象。基于Level Set的骨架提取方法稳定性较好,也具有较高的拓扑无关性,能够有效消除尖点、骨架断裂等问题,但是即便采用了Fast MarchingMethod策略,其计算复杂度依然很高。Fan引入snake模型调整骨架点的位置,改善了骨架点的中心性,但复杂度也同时增大。
相对于基于细化和距离变换两种方法而言,基于形状分解或者分割的三维骨架提取方法将骨架提取和形状分割结合起来,骨架提取与形状分解二者相辅相成具有显著优势。基于拓扑连接信息,先行对三维模型进行分解;基于分解结果可以降低骨架提取的复杂度、提高骨架的精确度。按照拓扑结构,正确分解三维模型能够保证快速准确地获取骨架,反之,骨架作为拓扑结构的参考能够保证模型分解的准确性。基于分解的方法源于对形体的认识,Hoffman和Richards把形体自然分解成基本部件,把分解用于分类。Rom等提出利用中轴逐步分解二维形体的方法,先分解形体,在提取分解区域的中轴,而中轴是二维形体的自然表示,但是这些方法难以提取中心良好的三维立体形体的分级骨架。Minimal RuleLien等提出基于模型近似图面体分解,通过计算三维模型顶点的凹凸性展开分解,并通过迭代生成骨架,但得到的骨架中心性较差,也难以建立层次关系。
基于Reeb图思想。该类算法首先在模型上定义一个连续函数,计算每个模型顶点的函数值,将具有相同函数值的顶点聚合成一个顶点,得到模型的骨架。Hilaga等人提出了基于Reeb图思想的多分辨率Reeb图(MRG),将Reeb图用于骨架提取,并将映射函数定义为顶点到整个模型表面所有顶点的最短距离与面积之乘积的和。Julien Tierny等人使用了更加合理的标量函数计算方法。
亦有学者将二维图像领域中的Voronoi图技术引入到三维骨架抽取中,Dey等人提出过一种利用Voronoi图直接近似中轴的算法。因为对三维模型而言只有部分Voronoi顶点能够汇聚成骨架,所以他通过定义角度和比例这两个与大小、比重都无关的筛选标准来实现它的中轴近似算法,并证明该方法能够保证收敛。Voronoi图方法对于复杂的三维模型,理论上可以实现,但计算量庞大。Voronoi图方法多用于生成多尺度骨架,但对于边界噪声非常敏感,导致Voronoi图过于稠密,需要额外进行剪枝处理,而且规则复杂,导致该方法实用性不光。
体绘制技术是一种重要的科学可视化技术,采用该技术,不经过复杂的特征算法,就能够交互地浏览数据内部结构特征。该项技术广泛应用于医学、气象和地质等领域。目前直接体绘制算法主要有Ray Casting算法、Shear-Warp算法、足迹算法、Texture Mapping算法等。LevoyM等将体数据递归均匀子分成一个八叉树结构,在光线投射算法中遍历八叉树来跳过包含当前采样点的最大空区域,以此达到加速的效果。
综上所述,现有的技术存在着计算复杂度大,计算时间长,骨架连续性、中心性差、有扰动,骨架对噪声敏感等缺点,本发明提供一种快速、精确、噪声扰动不敏感的骨架提取方法。
发明内容
本发明要解决的技术问题是:克服了现有技术计算时间长、骨架中心性差、对噪声敏感的不足,提供一种提取体数据骨架的方法,能够快速地提取出三维体数据模型的骨架,并且能得到较好的效果。
本发明解决上述技术问题的技术方案为:基于渲染的快速体数据骨架提取方法,利用NVIDIA GPU硬件的计算能力,提高了计算效率,该方法主要利用具有视觉意义的2D轮廓线及部分关键特征线,并根据能量最小化函数,计算对应的三维特征线,对空间采样后构建曲线密度场进而求取采样点的曲线方向,并将采样点方向赋值给相应体素以构建包围盒得到表征节点,连接这些表征节点并平滑曲线得到体数据骨架。
如图1所示,具体实现如下步骤:
1)3D候选曲线的提取
步骤(1)、在X、Y、Z3个坐标轴的正负方向(上下前后左右)上设置六个视点,用RayCasting直接体绘制算法对三维体数据进行渲染,得到6幅2D图像;该方法是对图像的每一个像素,沿固定方向(通常是视线方向)发射一条光线,光线穿越体数据的整个图像序列,并在这个过程中,对图像序列进行采样获取颜色信息,同时依据光线吸收模型将颜色值进行累加,直至光线穿越整个图像序列,最后得到的颜色值就是渲染图像的颜色。该过程可以在GPU上实现,利用CUDA(计算统一设备架构)的硬件加速,大大提高渲染速度。
步骤(2)、对步骤(1)得到的6幅2D图像,使用轮廓检测算法提取2D图像的轮廓,直接提取的轮廓需要收缩以获得有效轮廓线,另外为表示更多细节需要使用Canny算子对2D图像进行部分关键特征线的提取。Canny算子是一阶算子,其边缘检测可以分为三个步骤:①高斯平滑函数。目的是为了平滑以消除噪声;②一阶差分卷积模板。目的是为了达到边缘增强;③非极大值抑制(NMS)。目的是保留梯度方向上的最大值。其贡献在于给出了一种寻找最优算子的思路,即确立了最优准则。
步骤(3)、2D曲线在二维上是具有明显视觉意义的线,其表征了体数据的拓扑和几何结构。为了更准确的表示体数据的结构信息将这些2D曲线反投回三维空间,找到每条2D曲线对应3D候选曲线。然而2D曲线与3D曲线是一对多的关系,为了求解一条最有3D对应曲线,定义了一个能量最小化函数,因此求解3D曲线问题转化为一个全局最小化问题。3D曲线上点有位置信息,不透明度信息,颜色信息,都是在最小化问题需要考虑的因子。由于求解的最优3D曲线是曲线上的相连点之间能量最小,因此能量最小化问题可以转化为最短路径问题,利用动态规划算法可以求解该问题,并且借助GPU并行计算能力,大大提高计算效率。在GPU上每个线程负责一条3D线的计算过程。
2)曲线方向场生成
步骤(4)、将2D曲线反投射回3D空间后,对3D空间进行采样,求得的3D曲线在采样空间内会经过若干采样点,利用卷积曲面的方法,对经过采样点一定范围的曲线进行积分求得采样点的曲线密度,以构建曲线密度场。曲线密度场中每个采样点的密度值是衡量其空间范围内的曲线的多和少,由于很多采样点周围并没有曲线经过,因此其曲线密度值为零,对这些点则可以通过预计算剔除,只需计算剩余采样点的曲线密度值即可。该过程是在GPU上实现,在预计算阶段,每个线程控制一条曲线,将其经过范围的采样点标记,没被标记的点则是被剔除的点。在采样点曲线密度求解阶段,每个线程控制一个剩余采样点的计算,大大提高了计算速度。
步骤(5)、构建完曲线密度场后,用Sobel算子求得采样点的梯度,由于步骤(4)已经剔除了值为零的采样点,所以此过程只需计算非零采样点的梯度值。梯度表征了曲线密度场的变化率最大的方向,因此采样点的梯度大致垂直曲线方向,然后在利用最小二乘方法可以在梯度基础上求得采样点的曲线方向,该方向与3D曲线的走势基本一致。该过程是在GPU上实现,每个线程控制一个非零采样点的计算过程,大大提高了计算速度。
3)体数据模型骨架的生成
步骤(6)、生成曲线方向场后,由于空间采样点与体素在空间位置上有对应关系,将非零采样点的方向赋值到其对应的体素上,以具有方向的体素的位置和方向为依据构建包围盒,包围盒的构建过程是以连通性为依据,在体素方向上上下一定距离L处构建两个个垂直于体素方向的平面,两个平面之间所有联通的体素归为一组,然后将包围盒内所有体素求一个平均值并作归中处理,得到表征节点。
步骤(7)、以步骤(6)得到的表征节点为节点,以表征节点之间的距离为权,构建无向完全图G,并用Prim算法求解图G的最小生成森林,检测出森林中树的叶节点和分叉点,从而进一步生成Polyline曲线。对于得到的Polyline曲线,由于是把各个表征节点点进行连接得到,这样的曲线是不够圆滑的,采用B样条拟合方法,Polyline上的点作为控制点,计算出更多的插值点,求得B样条曲线,使得曲线更光滑,得到最终体数据模型骨架。
本发明与现有技术相比的优点在于:本发明能够快速地提取出三维体数据模型的骨架并且能得到较好的效果。本发明主要有两点贡献:第一,给出了一种基于渲染求解曲线方向场的方法,该方法是从RayCasting直接体绘制算法渲染的2D图像出发,提取其轮廓和部分关键特征线,进而投射回3D空间,并根据3D候选曲线利用卷积曲面方法构建曲线密度场,在此基础上进而生成了曲线方向场,所有过程均在GPU上并行进行,具有快速高效并较准确的优点。第二,将曲线方向赋值到体素上,并有体素位置和方向构建包围盒求得表征节点,连接这些节点并利用B样条进行平滑拟合得到体数据模型的骨架,该过程降低了计算量使得骨架提取过程快速而准确。
附图说明
图1为本发明整体流程图;
图2为RayCasting直接体绘制原理图;
图3为射线穿越体数据示意图;
图4为体绘制渲染的2D图像效果图;
图5为提取的2D曲线效果图;
图6为2D曲线反投射回3D空间示意图;
图7为3D候选曲线效果图;
图8为计算采样点曲线密度场示意图;
图9为采样空间曲线密度场效果图;
图10为采样点梯度效果图;
图11为采样点曲线方向效果图;
图12为体素方向效果图;
图13为表征节点效果图;
图14为体数据模型骨架效果图。
具体实施方式
下面结合附图以及本发明的具体实施方式进一步说明本发明。
如图1所示,给定体数据由体素组成,本发明针对三维体数据的骨架提取包括以下步骤:
步骤(1)如图2(只设了3个)在X、Y、Z3个坐标轴的正负方向(上下前后左右)上设置六个相机,用RayCasting直接体绘制算法对三维体数据进行渲染,得到6幅2D图像;基于图像空间的算法,对图像的每一个像素,沿固定方向(通常是视线方向)发射一条光线,光线穿越体数据的整个图像序列,并在这个过程中,对图像序列进行采样获取颜色信息,同时依据光线吸收模型将颜色值进行累加,直至光线穿越整个图像序列,最后得到的颜色值就是渲染图像的颜色。采用了从前面到背面进行采样合成,其中颜色和不透明度的累加公式如公式(1):
Ci Δ=(1-αi-1 Δ)Ci+Ci-1 Δ (1)
αi Δ=(1-αi-1 Δ)αi+αi-1 Δ
其中,Ci和αi分别是在体纹理上采样所得到的颜色值和不透明度,其实也就是体素中蕴含的数据;Ci Δ和αi Δ表示累加的颜色值和不透明度。i表示当前步骤,i-1表示前一步骤。
如图3所示,假定光线从f点投射到立方体中,并从l点投出,在立方体中穿越的距离为m。当光线从f点投射到立方体中,穿越距离为n(n<m)时进行采样,则存在公式(2):
t=tstart+d*Δ (2)
其中tstart表示立方体表面被投射点f的体纹理坐标;d表示投射方向;Δ表示采样间隔,随着n的增加而递增;t为求得的采样纹理坐标。通过求得的采样纹理坐标就可以在体纹理上查询体素数据。直到n>m,或者透明度累加超过1,一条射线的采样过程才结束。
该过程可以在GPU上实现,利用CUDA(计算统一设备架构)的硬件加速,大大提高渲染速度。得到6个2D渲染结果,如图4。
步骤(2)、对步骤(1)得到的6幅2D图像,使用轮廓检测算法提取2D图像的轮廓,直接提取的轮廓需要收缩以获得有效轮廓线,另外为表示更多细节需要使用Canny算子对2D图像进行部分关键特征线的提取。Canny算子是一阶算子,其边缘检测可以分为三个步骤:①高斯平滑函数。目的是为了平滑以消除噪声;②一阶差分卷积模板。目的是为了达到边缘增强;③非极大值抑制(NMS)。将提取的轮廓线与用Canny提取出特征线融合得到效果图图5,图5中同一颜色的线代表为一2D曲线。
步骤(3)、2D曲线在二维上是具有明显视觉意义的线,其表征了体数据的拓扑和几何结构。为了更准确的表示体数据的结构信息,将这些2D曲线反投回三维空间,如图6其中由空心的点连接成的曲线是一条2D曲线,需要找到2D曲线对应3D候选曲线,在图6中由实线连接黑色实心点而成的曲线是得到的3D曲线。由图6可知一个2D点反投射回3D空间对应多个3D点,即图6中一个空心点对应多个实心点。定义了一个能量最小化函数(3):
其中,E表示两个3D点之间的能量值,f(di)表示di点的不透明度函数,g(di-1,di)表示两个3D点di-1与di之间的颜色和位置的函数。k1与k2是颜色和位置的比例参数。表示两个3D点di-1与di之间颜色(RGB)向量的模,表示两个3D点di-1与di之间空间位置的欧氏距离。
其中c、α和p表示曲线上点的颜色值,不透明度和空间位置。因此求解3D曲线问题转化为一个全局最小化问题。由于求解的最优3D曲线是曲线上的相连点之间能量最小,因此能量最小化问题也就转化成了最短路径问题,如果单纯使用暴力求解,则需要O(n!)复杂度。利用动态规划算法可以求解该问题大大将低了复杂度,并且借助GPU并行计算能力,大大提高计算效率。在GPU上每个线程负责一条3D线的计算过程,效果如图7。
步骤(4)、得到了3D候选线,能够较好的反应出体数据的结构,但是这些线还比较多和杂乱。将3D空间进行采样,采用卷积曲面的方法,对经过采样点一定范围的曲线进行积分求得采样点的曲线密度,以构建曲线密度场。曲线密度场中每个采样点的密度值是衡量其空间范围内的曲线的多和少。定义一标量场,该标量场衡量其空间一定空间范围内的曲线密度,即曲线的多和少。如图8所示,设点P(x,y,z)是3D空间中的一个点P∈R3定义一个积分函数(4)
对曲线进行积分操作以求得采样点的曲线密度值。采用高斯核函数(5)作为被积函数:
其中F(P)表示3D空间中的一个点P(x,y,z)的曲线密度值,f(P-Q)表示曲线V上的点Q(x,y,z)对点P(x,y,z)的曲线密度影响函数并将其作为被积函数。δ为函数的宽度参数,控制了函数的径向作用范围。r=||P-Q||是3D空间R3内点P和点Q的欧拉距离。由于很多采样点周围并没有曲线经过,因此其曲线密度值为零,对这些点则可以通过预计算剔除,只需计算剩余采样点的曲线密度值即可。该过程是在GPU上实现,在预计算阶段,每个线程控制一条曲线,将其经过范围的采样点标记,没被标记的点则是被剔除的点。在采样点曲线密度求解阶段,每个线程控制一个剩余采样点的计算,大大提高了计算速度。结果如图9所示。
步骤(5)、构建完曲线密度场后,用Sobel算子求得采样点的梯度,由于步骤(4)已经剔除了值为零的采样点,所以此过程只需计算非零采样点的梯度值。梯度表征了曲线密度场的变化率最大的方向,因此采样点的梯度大致垂直曲线方向,该过程是在GPU上实现,每个线程控制一个非零采样点的计算过程,大大提高了计算速度。结果见效果图10。然后在利用最小二乘方法可以在梯度基础上求得采样点的曲线方向,对每个非零采样点构造一个4*4*4的包围盒,将包围盒内所有与当前采样点联通的点归入集合A内,对A内的点构建矩阵X,设A内有k各点,由于每个点具有1*3大小的ni梯度矢量,那么X矩阵的维度是口*3大小。用最小二乘求解公式(6): 其中,pi为集合A内的采样点,ni是其梯度方向,v为采样点的曲线方向,求解能使公式最下化的v,该方向与3D曲线的走势基本一致。该过程是在GPU上实现,每个线程控制一个非零采样点的计算过程,大大提高了计算速度。结果见效果图11。
步骤(6)、生成曲线方向场后,由于空间采样点与体素在空间位置上有对应关系,将非零采样点的方向赋值到其对应的体素上结果见图12,以具有方向的体素的位置和方向为依据构建包围盒,包围盒的构建过程是以连通性为依据,在体素方向上上下一定距离L处构建两个个垂直于体素方向的平面,两个平面之间所有联通的体素归为一组,然后将包围盒内所有体素求一个平均值并作归中处理,得到表征节点,结果见图13。
步骤(7)、以步骤(6)得到的表征节点为节点,这些点并没有连接信息。采用Prim算法来对这些点进行连接,步骤如下:
①构建无向完全图G,其中图中的节点是步骤(6)得到的表征节点,边的权重表示两个表征节点的距离,具体距离定义公式为(7):
Dis=d(P,Q)×(2-g(P,Q)) (7)
其中d(P,Q)=||P-Q||表示3D空间中节点P和Q之间的欧式距离,g(vP,vQ)=||cos(vP,vQ)||节点P和Q之间方向的Cos值。如果两个节间的Dis值过大则认为两个节点之间相距太远,设定其间的距离为无穷大。
②用Prim算法求解图G构建最小生成森林,检测出森林中树的叶节点和分叉点,从而进一步生成Polyline曲线。
具体实现为;
设G=(V,E)是一个具有n个顶点的带权无向连通图,T(U,TE)是G的最小生成树,其中U是T的顶点集,TE是T的边集,则构造G的最小生成森林的步骤如下:
a.初始状态,TE为空,U={v0},v0∈V;
b,在所有u∈U,v∈V-U的边(u,v)∈E中找一条代价最小的边(u′,v′)并入TE,同时将v′并入U;
c.重复执行步骤(2)多次,若V中剩余的点与U中的点的距离都为无限远,则一棵最小生成树生成完成,再在U中的剩余点中开始继续执行步骤a生成新的最小生成树,直到U中剩余点为零为止,则生成了G的最小生成森林。
d.检测出森林中每棵树的叶节点和分叉点,将树在分叉点处断开,从而生成了多条Polyline曲线。
③对于得到的Polyline曲线,由于是把各个表征节点点进行连接得到,这样的曲线是不够圆滑的,采用B样条拟合方法,Polyline上的点作为控制点,计算出更多的插值点,求得B样条曲线,使得曲线更光滑,得到最终体数据模型骨架。假设给出n+1个控制点位置:Pk=(xk,yk,zk),这里k可以取0到n。这些点将混合产生下列位置P(u),用来描述P0和Pn间逼近Bezier多项式函数的路径:
Bk,n(u)=C(n,k)uk(1-u)n-k (8)
其中,P(u)表示P0到Pn比例u处点的位置,Bk,n(u)表示点P(k)处追踪函数用于表示点P(k)对位置P(u)的影响。C(n,k)表示从n个不同元素中取出k个元素的排列数。
在本发明,原来Polyline曲线上的点相当于Bezier曲线的控制点,用公式(8)计算出更多的点,这样能够生成更加光滑的曲线,得到最终体数据模型骨架,本过程是在GPU上实现,每个线程控制一条曲线的计算过程,大大提高了计算速度。最终结果见图14.
本发明的实现使用的软件平台为Microsoft visual studio2008与OpenGL,使用了CUDA来加速并行算法的计算效率。硬件平台为Intel(R)Core(TM)i73.90GHz CPU、8GB内存以及NVIDIA GeForce GTX570GPU。方法效果图如图11所示。输出屏幕分辨率为512*512,体数据三维大小为256*256*256,其中利用RayCasting直接体绘制的时间是109ms,用轮廓检测技术及Canny算子求2D曲线的时间是702ms,2D曲线反投射回3D空间得到3D曲线的时间大概是203ms,构建曲线密度场时间大概为374ms,生成曲线方向场的时间是249ms。构建包围盒并求出表征节点的时间是968ms,最后生成Polyline曲线并平滑的时间是50ms。整个过程的计算时间总和为2.65s。
Claims (3)
1.一种基于渲染的快速体数据骨架提取方法,其特征在于包括如下步骤:
(1)在X、Y、Z,3个坐标轴的正负方向即上下前后左右上设置六个视点,用RayCasting直接体绘制算法对三维体数据进行渲染,得到6个2D图像;
(2)利用轮廓线检测方法对得到的6个2D图像进行轮廓线的提取时,直接提取的轮廓需要收缩以获得有效轮廓线,并用Canny算子提取所有2D图像的部分关键特征线,将轮廓线与部分关键特征线融合以获得有效2D曲线,这些2D曲线体现了体数据的几何及拓扑结构;所述部分关键特征线即关节部位的特征线;
(3)对步骤(2)提取的2D曲线反投射回三维,由于每条2D曲线与3D曲线是一对多的关系,故定义一个能量最小化函数,利用动态规划算法求解最优解,得到2D曲线所对应的最优3D曲线;上述过程是在GPU上实现,每个线程控制一条曲线的求解过程,大大提高了求解速度;(4)对空间进行采样,求得的3D曲线在采样空间内会经过若干采样点,采用卷积曲面的方法,对经过采样点一定范围的曲线进行积分求得采样点的曲线密度,以构建曲线密度场;由于很多采样点周围并没有曲线经过,因此其曲线密度值为零,对这些点则通过预计算剔除,只需计算剩余采样点的曲线密度值即可;上述过程是在GPU上实现,在预计算阶段,每个线程控制一条曲线,将其经过范围的采样点标记,没被标记的点则是被剔除的点;在采样点曲线密度求解阶段,每个线程控制一个剩余采样点的计算,大大提高了计算速度;
(5)获得曲线密度场后,用Sobel算子求得采样点的梯度,由于步骤(4)已经剔除了值为零的采样点,所以此过程只需计算非零采样点的梯度值;梯度表征了场的变化率最大的方向,因此采样点的梯度大致垂直曲线方向,利用最小二乘方法可以在梯度基础上求得采样点的曲线方向,该过程是在GPU上实现,每个线程控制一个非零采样点的计算过程,大大提高了计算速度;
(6)由于3D曲线表征了体数据的几何和拓扑结构,求得采样点的曲线方向后,将采样点的曲线方向赋值给其所对应的体素,以体素的位置和方向为依据构建包围盒,包围盒的构建过程是以连通性为依据,将包围盒内所有体素求平均值,得到表征节点;
(7)用Prim算法将所用表征节点用最小生成树连接成Polyline曲线,最后用B样条将求得的Polyline曲线平滑拟合,得到最终体数据骨架。
2.根据权利要求1所述的基于渲染的快速体数据骨架提取方法,其特征在于:所述步骤(1)包括:从X,Y,Z正负轴方向设置6个相机,用RayCasting直接体绘制算法对三维体数据进行渲染,得到6个2D图像,上述过程是在GPU上实现,利用计算统一设备架构CUDA的硬件加速,大大提高渲染速度,并利用PBO,FBO技术渲染到纹理,并保存到2D渲染结果。
3.根据权利要求1所述的基于渲染的快速体数据骨架提取方法,其特征在于:所述步骤(7)具体实现为:以这些表征节点为节点,以表征节点之间的距离为权,构建无向完全图G,并用Prim算法求解图G的最小生成森林,检测出森林中树的叶节点和分叉点,从而进一步生成Polyline曲线;采用B样条拟合方法,Polyline上的点作为控制点,计算出更多的插值点,求得B样条曲线,得到更加的光滑体数据骨架。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410363994.3A CN104156997B (zh) | 2014-07-28 | 2014-07-28 | 一种基于渲染的快速体数据骨架提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410363994.3A CN104156997B (zh) | 2014-07-28 | 2014-07-28 | 一种基于渲染的快速体数据骨架提取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104156997A CN104156997A (zh) | 2014-11-19 |
CN104156997B true CN104156997B (zh) | 2017-02-01 |
Family
ID=51882485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410363994.3A Active CN104156997B (zh) | 2014-07-28 | 2014-07-28 | 一种基于渲染的快速体数据骨架提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104156997B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780637B (zh) * | 2016-12-07 | 2020-09-04 | 中国石油大学(华东) | 一种基于脉冲神经膜系统的快速并行图像细化方法 |
CN107856292B (zh) * | 2017-12-20 | 2020-07-21 | 武汉星客智行科技有限公司 | 一种基于图像处理进行3d打印的方法 |
CN108362698B (zh) * | 2018-02-06 | 2020-08-11 | 北京农业智能装备技术研究中心 | 一种秧苗主茎节点检测方法及装置 |
CN110781547B (zh) * | 2019-10-24 | 2022-12-09 | 杭州电子科技大学上虞科学与工程研究院有限公司 | 一种基于中轴线的三维构筑物加固方法 |
CN111179401B (zh) * | 2019-12-31 | 2023-07-25 | 北京真景科技有限公司 | 基于3d曲面数据的拓扑分组方法 |
CN111369661B (zh) * | 2020-03-10 | 2023-03-17 | 四川大学 | 一种基于OpenCL的三维体数据可视化并行渲染方法 |
CN113658318A (zh) * | 2020-04-28 | 2021-11-16 | 阿里巴巴集团控股有限公司 | 数据处理方法及系统、训练数据生成方法和电子设备 |
CN112907719A (zh) * | 2021-03-22 | 2021-06-04 | 武汉中旗生物医疗电子有限公司 | 一种超声体数据渲染成像方法、设备及存储介质 |
CN113256486A (zh) * | 2021-05-25 | 2021-08-13 | 深圳市博克时代科技开发有限公司 | 三维箱包二维化方法、装置、计算机设备及存储介质 |
CN115097867B (zh) * | 2022-08-23 | 2022-11-15 | 无锡海纳智能科技有限公司 | 一种风机巡检航线下无人机拍摄姿态的确定方法 |
CN115828054B (zh) * | 2023-02-10 | 2023-05-02 | 成都信息工程大学 | 一种通过改进拉普拉斯自动识别南支槽的方法 |
CN118279302A (zh) * | 2024-05-31 | 2024-07-02 | 东莞市东南部中心医院(东莞市东南部中医医疗服务中心) | 面向脑肿瘤图像的三维重建检测方法及系统 |
CN118351018A (zh) * | 2024-06-17 | 2024-07-16 | 昇显微电子(苏州)股份有限公司 | 一种异形屏边缘自动获取并平滑处理的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117490A (zh) * | 2009-12-30 | 2011-07-06 | 上海幻维数码创意科技有限公司 | 基于描述数据的角色模块化骨架系统构造方法及装置 |
CN103366395A (zh) * | 2013-07-06 | 2013-10-23 | 北京航空航天大学 | 一种基于gpu加速的体数据非真实感绘制方法 |
-
2014
- 2014-07-28 CN CN201410363994.3A patent/CN104156997B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117490A (zh) * | 2009-12-30 | 2011-07-06 | 上海幻维数码创意科技有限公司 | 基于描述数据的角色模块化骨架系统构造方法及装置 |
CN103366395A (zh) * | 2013-07-06 | 2013-10-23 | 北京航空航天大学 | 一种基于gpu加速的体数据非真实感绘制方法 |
Non-Patent Citations (3)
Title |
---|
Direct Extraction of Feature Curves from Volume Image for Illustration and Vectorization based on 2D/3D Curve Mapping;Liping Wang et al.;《2013 13th International Conference on Computer-Aided Design and Computer Graphics》;20131116;第401-402页 * |
一种基于骨架提取的虚拟内窥镜漫游新方法;潘晓 等;《第六届全国几何设计与计算学术会议论文集》;20130719;第1-5页 * |
双源CT心脏图像的三维显示系统;宋薇 等;《CT理论与应用研究》;20120930;第21卷(第3期);第387-399页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104156997A (zh) | 2014-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104156997B (zh) | 一种基于渲染的快速体数据骨架提取方法 | |
CN103258345B (zh) | 一种基于地面激光雷达三维扫描的树木枝干参数提取方法 | |
CN106780751A (zh) | 基于改进的屏蔽泊松算法的三维点云重建方法 | |
CN104268934B (zh) | 一种由点云直接重建三维曲面的方法 | |
CN108198145A (zh) | 用于点云数据修复的方法和装置 | |
CN110223370A (zh) | 一种从单视点图片生成完整人体纹理贴图的方法 | |
CN102521869B (zh) | 一种几何特征引导的三维模型表面纹理空洞填补方法 | |
CN103366395B (zh) | 一种基于gpu加速的体数据非真实感绘制方法 | |
CN111028335B (zh) | 一种基于深度学习的点云数据的分块面片重建方法 | |
CN107767453A (zh) | 一种基于规则约束的建筑物lidar点云重构优化方法 | |
CN103530907A (zh) | 基于图像的复杂三维模型绘制方法 | |
CN105261062A (zh) | 一种人物分段建模方法 | |
CN108010122A (zh) | 一种人体三维模型重建与测量的方法及系统 | |
Rasoulzadeh et al. | Strokes2Surface: Recovering Curve Networks From 4D Architectural Design Sketches | |
Mandikal et al. | Capnet: Continuous approximation projection for 3d point cloud reconstruction using 2d supervision | |
Gong | Application and Practice of Artificial Intelligence Technology in Interior Design | |
Brett et al. | A Method of 3D Surface Correspondence for Automated Landmark Generation. | |
Pasko et al. | Implicit curved polygons | |
Lin et al. | Fusion of disconnected mesh components with branching shapes | |
CN104616343B (zh) | 一种纹理实时采集在线映射的方法和系统 | |
Li et al. | Hair modeling using kinect sensors and DSLR cameras | |
Burla | Improved normal estimation from cross-section drawings | |
Ku et al. | Single Image 3D Reconstruction Algorithm Based on Parallel Double-Branch Pyramid Stacking Network | |
CN114445587A (zh) | 一种在Lambert光照模型下单目RGB图片的渐进式三维重建方法 | |
Zhao et al. | Rapid reconstruction of tree skeleton based on voxel space |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |