一种基于密度聚类的混合空间加速结构构建方法

文档序号:37750591发布日期:2024-04-25 10:37阅读:14来源:国知局
一种基于密度聚类的混合空间加速结构构建方法

本发明属于医学影像的三维重建加速渲染,尤其涉及一种基于密度聚类的混合空间加速结构构建方法。


背景技术:

1、近年来,为了在基于体绘制的医学影像三维重建领域获得更精细、更拟真的渲染效果,人们在三维成像过程中加入了光线追踪技术,光线追踪过程中最重要的环节是找到光线与场景中的哪些物体发生了碰撞,并要求准确的求出相交位置。如果每求一次光线与物体的交点都要遍历整个场景的所有体素的话那么计算量将是巨大的,特别是在光线还会发生多次折射和反射的情况下,这个计算次数乘上光线总数的最终计算规模将难以估计。将空间加速结构引入光线与物体求交过程将大大减小计算量,该结构可以使光线可以跳过大量对它来说无意义的体素从而达到加速求交的目的。

2、边界包围盒层次结构bvh(bounding volume hierarchies)是一种经典的空间加速结构,它是一种二叉树的数据结构,每一个非叶子节点存储了两个子节点的包围盒信息,叶子节点存储则记录了该包围盒中的所有细分单元的信息(例如三维体素点或三角形网格信息)。在求光线与物体交点时先递归的从bvh根节点开始做光线与包围盒相交测试,若不与该包围盒相交则一定不与该包围盒内的细分单元相交,否则继续与其子节点包围盒做测试,直到递归到叶子节点。有向距离场sdf(signed distance field)是另一种空间加速结构,sdf中的每个顶点记录了该点到范围内离它最近物体表面的距离,在做光线求交时只要访问当前sdf节点就能得到一个安全的步进距离作为下一次光线行进的长度,循环上述步骤直至与某一物体相交。

3、bvh作为经典的空间加速结构其优点是能够跳过大量对当前光线没有贡献的细分单元,但遇到细分单元密度较高的场景时bvh的深度会加深从而导致查询次数增加。sdf的优点在于访问速度快,它不需要如bvh那样层层查找而是访问节点直接返回结果,但是sdf每一次只能步进一个相对较短的安全距离,光线在细分单元稀疏的场景中可能需要多次步进才能找到与物体的交点。


技术实现思路

1、针对现有技术中的上述不足,本发明提供的一种基于密度聚类的混合空间加速结构构建方法,解决了现有空间加速结构在由医学影像构建的三维纹理体素单元分布不均匀情况下加速效率不够高、加速效果不理想的问题。

2、为了达到以上目的,本发明采用的技术方案为:一种基于密度聚类的混合空间加速结构构建方法,包括以下步骤:

3、s1、根据医学影像构建的三维体素确定体素单元数据,并获取场景数据;

4、s2、根据步骤s1处理的结果,构建体素单元包围盒和场景包围盒,并将场景包围盒作为混合空间加速结构树的根节点;

5、s3、判断节点包围盒内是否只有一个体素单元,若是,则结束对混合空间加速结构树的构建,否则,将当前节点包围盒中的体素单元按基于密度聚类方法分为两个子包围盒,作为当前混合空间加速结构树节点的子节点,并进入步骤s4;

6、s4、根据已构建的混合空间加速结构树的子节点,获取其节点包围盒内部体素单元包围盒的数据,计算得到混合空间加速结构树节点包围盒中体素单元的密度;

7、s5、根据混合空间加速结构树节点包围盒中体素单元的密度,判断是否构建sdf,若是,则构建sdf作为混合空间加速结构树叶节点,否则,返回步骤s3,生成新的混合空间加速结构树子节点;

8、s6、将新的混合空间加速结构树子节点或混合空间加速结构树叶节点,加入至混合空间加速结构树中,完成对混合空间加速结构的构建。

9、本发明的有益效果是:本发明采用边界层次包围盒bvh与有向距离场sdf混合的方式构造加速结构,利用bvh快速逼近体素单元密度较高的区域,再通过局部有向距离场精确查找与光线相交的体素单元;在自顶向下构造bvh时,对于每个节点(叶子节点除外)都采用高斯混合模型gmm划分并记录该节点分成两个子包围盒的密度信息,根据密度信息判断该bvh节点的子节点是sdf节点还是按照bvh方法继续划分,不需要人工干预;按照bvh的包围范围生成一个局部有向距离场作为混合空间加速结构树的叶子节点。

10、需要说明的是,最终构建的混合空间加速结构树节点包含两种类型的节点,分别是bvh节点和sdf节点,它们均为混合空间加速结构树节点,但因为构造方法不同需要加以区分。由于在s5进行密度判定之前无法确定该节点是bvh节点还是sdf节点,所以在s5及之前的步骤中统称为混合空间加速结构树节点。

11、进一步地,所述步骤s2包括以下步骤:

12、s201、根据步骤s1处理的结果,遍历场景中所有体素点,对每个体素单元绘制最优的轴对齐包围盒aabb;

13、s202、将体素单元顶点的三维空间坐标分别排序,将最大值组合(xmax+xunit,ymax+yunit,zmax+zunit)作为第一控制点,将其最小值组合(xmin,ymin,zmin)作为第二控制点,其中,(xunit,yunit,zunit)表示体素点的长宽高,xmax、ymax和zmax分别表示体素单元里所有有效体素点中在x,y,z三个轴向上的最大值,xmin、ymin和zmin分别表示体素单元里所有有效体素点中在x,y,z三个轴向上的最小值;

14、s203、根据步骤s202的处理结果,构成体素单元包围盒,并将其作为混合空间加速结构树的叶节点;

15、s204、将体素单元顶点位置和索引信息存储至混合空间加速结构树的叶节点中;

16、s205、在遍历场景的同时,记录整体场景所有体素单元包围盒中在三个轴方向上最大的值组合(xmax+xunit,ymax+yunit,zmax+zunit)和最小值的组合(xmin,ymin,zmin),并将其作为整体场景的轴对齐包围盒aabb,即场景包围盒,同时将该场景包围盒作为混合空间加速结构树的根节点。

17、上述进一步方案的有益效果是:本发明通过对所有体素单元构建aabb继而为后续混合空间加速结构树的构建提供叶子节点;aabb与光线求交的运算过程既简便速度又快。

18、再进一步地,所述步骤s3包括以下步骤:

19、s301、访问当前混合空间加速结构树节点,并判断当前混合空间加速结构树节点是否包含体素单元,若是,则该混合空间加速结构树节点为混合空间加速结构树的叶子节点,结束对混合空间加速结构树的构建,否则,该混合空间加速结构树节点不为混合空间加速结构树树的叶子节点,并进入步骤s302;

20、s302、将当前混合空间加速结构树节点包围盒中包含的所有体素单元特征放入至子高斯混合模型,并利用期望最大化em算法估计每个高斯分布的参数以及每个高斯分布在数据中的权重,得到两个子包围盒,并进入步骤s4。

21、再进一步地,所述步骤s302包括以下步骤:

22、s3021、初始化参数;

23、s3022、将当前节点包围盒中包含的所有体素单元特征放入至子高斯混合模型;

24、s3023、根据当前参数,计算每个体素单元特征属于子高斯混合模型的概率;

25、s3024、根据步骤s3023的计算结果,计算下一次迭代的高斯分布参数;

26、s3025、判断子高斯混合模型是否收敛,若是,则完成对高斯混合模型的训练,并根据训练后的高斯混合模型的分类结果,得到两个子包围盒,并进入步骤s4,否则,返回步骤s3023。

27、上述进一步方案的有益效果是:本发明根据高斯混合模型gmm框架提供的数据点类属概率,可以灵活的选择该点属于哪个子包围盒;高斯混合模型gmm能够适应数据的各种分布形状,因为每个类别都是用高斯分布建模的,这使得高斯混合模型gmm能够捕捉簇的大小、形状和方向上的差异,适用于各种复杂的情况;高斯混合模型gmm可以通过不同的协方差类型来建模类别间的关系,如全协方差、对角协方差等,这种灵活性允许本技术更准确地适应数据的真实分布。

28、再进一步地,所述s3023中每个体素单元特征属于子高斯混合模型的概率的表达式如下:

29、

30、

31、

32、

33、

34、其中,xj表示第j个体素单元,γjk表示第j个体素单元特征来自第k个子高斯混合模型的概率,ak表示体素单元特征属于第k个子高斯混合模型的概率,φ(xj|θk)表示第k个子高斯混合模型的高斯分布密度函数,j=1,2,...,n,k=1,2,...,k,n表示第n个体素单元特征,k表示第k个子高斯混合模型,μk表示第k个子高斯混合模型的平均值,σk表示标准数据差;其中,第k个子高斯混合模型的协方差∑k的表达式如下:

35、

36、其中,t表示转置。

37、再进一步地所述s3025判断高斯混合模型是否收敛的表达式如下:

38、||θi+1-θi||<ε

39、其中,ε表示正数,θi表示子高斯混合模型在第i次迭代后于高斯混合模型中发生的概率,θi+1表示子高斯混合模型在第i+1此迭代后于高斯混合模中发生的概率。

40、再进一步地,所述步骤s4中子节点包围盒中体素单元的密度的表达式如下:

41、

42、其中,ρ表示子节点包围盒中体素单元的密度,k'表示混合空间加速结构树子节点中体素单元包围盒的数量,。

43、上述进一步方案的有益效果是:本发明通过由密度信息判断混合空间加速结构树中内部节点与sdf节点衔接位置,能够高效、清晰地分离出场景中体素单元密度差异较大的区块。

44、再进一步地,所述步骤s5包括以下步骤:

45、s501、判断当前子节点包围盒的密度是否超过阈值,若是,则进入步骤s502,否则,返回步骤s3,生成新的混合空间加速结构树节点;

46、s502、将需要改造为sdf的节点包围盒,根据体素单元大小划分为体素网格;

47、s503、针对每一个体素网格点,遍历包围盒中所有体素单元包围盒到该体素网格点的距离;

48、s504、判断是否所有的体素网络点是否均已遍历,若是,则根据编历结果,完成对sdf的构建,将sdf作为叶节点,否则,返回步骤s50。

49、再进一步地,所述步骤s503中距离的表达式如下:

50、

51、dx=max(xmin-xp,0,xp-xmax)

52、dy=max(ymin-yp,0,yp-ymax)

53、dz=max(zmin-zp,0,zp-zmax)

54、其中,dis表示距离,(xp,yp,zp)表示体素网络点p的坐标。

55、上述进一步方案的有益效果是:本发明利用有向距离场sdf作为体素单元高密度区块的空间加速结构,可以在很大程度上提高光线与物体求交时效率,有向距离场sdf允许快速查询任意点到一个表面或形状的最近距离;若所包围区域出现融合、分割等变形情况,有向距离场sdf也可以在短时间内做出响应。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1