三维模型的遮挡确定方法、装置、计算机设备和存储介质与流程

文档序号:16634179发布日期:2019-01-16 06:51阅读:380来源:国知局
三维模型的遮挡确定方法、装置、计算机设备和存储介质与流程

本发明涉及计算机技术领域,特别是涉及一种三维模型的遮挡确定方法、装置、计算机设备和存储介质。



背景技术:

三维模型是物体的多边形表示,通常用计算机或者其它视频设备进行显示。由于三维模型的复杂拓扑和视线的相互关系,导致视线方向上三维模型的某些局部对另一部分产生了遮挡而不可见,我们将这种现象称为遮挡现象。遮挡现象在三维扫描和三维建模过程中普遍存在,随着三维模型在不同领域的大量应用,我们有必要计算三维模型与每个视线的遮挡关系。

目前,计算上述遮挡关系的方法有多种,例如,将三维模型映射到二维平面中,根据几何知识判断二维平面中的两个三角形是否有交集,并根据交集中的交点是否在三角形内部来确定遮挡关系。或者,计算三维模型的直方图来判断遮挡区域与非遮挡区域之间的相似性,根据相似性得到视差插值,根据该视差插值确定遮挡关系。又或者,技术人员通过计算三维模型中的遮挡像素点与邻域非遮挡像素点的颜色和距离的相似性,根据相似性进行遮挡区视差填充。

但是,传统的计算方法存在计算复杂度高、遮挡检测率低的问题。



技术实现要素:

基于此,有必要针对现有技术中计算复杂度高以及遮挡检测率低的问题,提供一种能够提高遮挡检测率、降低计算复杂度的三维模型的遮挡确定方法、装置、计算机设备和存储介质。

第一方面,本发明实施例提供一种三维模型的遮挡确定方法,所述方法包括:

将三维模型中的目标采样点与视点之间的第一线段进行等间隔划分,得到三维分割点集合;所述三维分割点集合包括所述第一线段上的所有分割点;

确定所述三维分割点集合中的每个点所在的第一体素;

判断各所述第一体素对应的第一采样点集合是否均为空,获取判断结果;所述第一采样点集合包括所述第一体素对应的所有采样点;

根据所述判断结果确定所述目标采样点与所述视点之间的遮挡关系。

本实施例提供的三维模型的遮挡确定方法,计算机设备将三维模型中的目标采样点与视点之间的第一线段进行等间隔划分,得到三维分割点集合,并确定三维分割点集合中的每个点所在的第一体素,进而判断第一体素对应的第一采样点集合是否为空,获取判断结果,最终根据判断结果确定目标采样点与视点之间的遮挡关系。计算机设备将第一线段进行分割,确定每个分割点对应的第一体素,从而根据第一体素对应的第一采样点集合是否为空来确定目标采样点相对于视点是否被遮挡,该计算过程的每一个步骤都十分简单,大大降低了计算复杂度,加快了计算效率,而且,遮挡检测精度高。

在其中一个实施例中,所述根据所述判断结果确定所述目标采样点与所述视点之间的遮挡关系,包括:

若所述判断结果为各所述第一体素对应的第一采样点集合均为空,则所述目标采样点相对于所述视点不被遮挡;

若所述判断结果为各所述第一体素对应的第一采样点集合中至少一个非空,则根据第二采样点集合确定所述遮挡关系;所述第二采样点集合包括所述第一采样点集合中的所有采样点。

在其中一个实施例中,所述根据第二采样点集合确定所述遮挡关系,包括:

获取所述第二采样点集合中的每个采样点与所述第一线段之间的垂直距离;

获取第一向量与第二向量之间的夹角;所述第一向量为所述目标采样点到所述第二采样点集合中的采样点的向量,所述第二向量为所述目标采样点到所述视点的向量;

根据所述垂直距离和所述夹角确定所述遮挡关系。

在其中一个实施例中,所述根据所述垂直距离和所述夹角确定所述遮挡关系,包括:

若所述第二采样点集合中的任意一个采样点满足预设的遮挡条件,则所述目标采样点相对于所述视点被遮挡;所述遮挡条件包括所述第二采样点集合中的采样点对应的垂直距离小于预设阈值,且所述第二采样点集合中的采样点对应的夹角小于预设夹角;

若所述第二采样点集合中的采样点均不满足所述遮挡条件,则所述目标采样点相对于所述视点未被遮挡。

在其中一个实施例中,所述方法还包括:根据所述三维模型的空间尺寸、空间位置、扫描系统的扫描距离参数,构建第一立方体;所述第一立方体包括所述三维模型和所述扫描系统中的所有视点的最小立方体空间;

根据预设的间距对所述第一立方体进行网格划分,得到多个第二立方体;

根据多个所述第二立方体,确定体素集合;所述体素集合中包括每个所述第二立方体的体素;

根据所述体素集合,确定多个所述第一采样点集合。

在其中一个实施例中,所述根据所述体素集合,确定多个所述第一采样点集合,包括:

根据所述三维模型的每个采样点的位置坐标,确定所述三维模型的每个采样点所在的体素;

根据所述三维模型的每个采样点所在的体素,确定多个所述第一采样点集合;不同的所述第一采样点集合对应的体素不同,每个所述第一采样点集合中的所有采样点的体素均相同。

在其中一个实施例中,所述根据所述三维模型的每个采样点的位置坐标,确定所述三维模型的每个采样点所在的体素,包括:

根据所述三维模型的每个采样点的位置坐标(xi,yi,zi)以及公式确定所述三维模型的每个采样点所在的体素vi=(vx,vy,vy);式中,(xmin,ymin,zmin)为所述第一立方体的最小坐标值,δd为所述预设的间距。

在其中一个实施例中,所述将三维模型中的目标采样点与视点之间的第一线段进行等间隔划分,得到三维分割点集合,包括:

根据第三采样点集合中最近邻采样点之间的平均间距,确定线段数量;所述第三采样点集合包括所述三维模型的所有采样点;

根据所述线段数量将所述第一线段进行等间隔划分,得到三维分割点集合。

在其中一个实施例中,所述根据第三采样点集合中最近邻采样点之间的平均间距,确定线段数量,包括:

根据公式计算所述线段数量n;其中,w为细分权重,为所述第一线段的长度,为所述平均间距。

第二方面,本发明实施例提供一种三维模型的遮挡计算装置,所述装置包括:

分割模块,用于将三维模型中的目标采样点与视点之间的第一线段进行等间隔划分,得到三维分割点集合;所述三维分割点集合包括所述第一线段上的所有分割点;

第一确定模块,用于确定所述三维分割点集合中的每个点所在的第一体素;

判断模块,用于判断所述第一体素对应的第一采样点集合是否均为空,获取判断结果;所述第一采样点集合包括所述第一体素对应的所有采样点;

第二确定模块,用于根据所述判断结果确定所述目标采样点与所述视点之间的遮挡关系。

第三方面,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

将三维模型中的目标采样点与视点之间的第一线段进行等间隔划分,得到三维分割点集合;所述三维分割点集合包括所述第一线段上的所有分割点;

确定所述三维分割点集合中的每个点所在的第一体素;

判断各所述第一体素对应的第一采样点集合是否均为空,获取判断结果;所述第一采样点集合包括所述第一体素对应的所有采样点;

根据所述判断结果确定所述目标采样点与所述视点之间的遮挡关系。

第四方面,本发明实施例提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

将三维模型中的目标采样点与视点之间的第一线段进行等间隔划分,得到三维分割点集合;所述三维分割点集合包括所述第一线段上的所有分割点;

确定所述三维分割点集合中的每个点所在的第一体素;

判断各所述第一体素对应的第一采样点集合是否均为空,获取判断结果;所述第一采样点集合包括所述第一体素对应的所有采样点;

根据所述判断结果确定所述目标采样点与所述视点之间的遮挡关系。

本实施例提供的三维模型的遮挡确定装置、计算机设备和存储介质,能够使得计算机设备将三维模型中的目标采样点与视点之间的第一线段进行等间隔划分,得到三维分割点集合,并确定三维分割点集合中的每个点所在的第一体素,进而判断第一体素对应的第一采样点集合是否为空,获取判断结果,最终根据判断结果确定目标采样点与视点之间的遮挡关系。计算机设备将第一线段进行分割,确定每个分割点对应的第一体素,从而根据第一体素对应的第一采样点集合是否为空来确定目标采样点相对于视点是否被遮挡,该计算过程的每一个步骤都十分简单,大大降低了计算复杂度,加快了计算效率,而且,遮挡检测精度高。

附图说明

图1为一个实施例提供的计算机设备的内部结构示意图;

图2为一个实施例提供的一种三维模型的遮挡确定方法的流程示意图;

图3为另一个实施例提供的一种三维模型示意图;

图4为另一个实施例提供的一种三维模型的遮挡确定方法的流程示意图;

图5为另一个实施例提供的一种三维模型的遮挡确定方法的流程示意图;

图6为另一个实施例提供的一种三维模型的遮挡确定方法的流程示意图;

图7为另一个实施例提供的一种三维模型的遮挡确定方法的流程示意图;

图8为另一个实施例提供的一种三维模型的遮挡确定方法的流程示意图;

图9为一个实施例提供的一种三维模型的遮挡确定方法的流程示意图;

图10为一个实施例提供的一种三维模型的遮挡确定装置结构示意图;

图11为另一个实施例提供的一种三维模型的遮挡确定装置结构示意图;

图12为另一个实施例提供的一种三维模型的遮挡确定装置结构示意图;

图13为另一个实施例提供的一种三维模型的遮挡确定装置结构示意图;

图14为另一个实施例提供的一种三维模型的遮挡确定装置结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本发明实施例提供的三维模型的遮挡确定方法,可以适用于如图1所示的计算机设备。该计算机设备包括通过系统总线连接的处理器、存储器,该存储器中存储有计算机程序,处理器执行该计算机程序时可以执行下述方法实施例的步骤。可选的,该计算机设备还可以包括网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器,该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。可选的,该计算机设备可以是服务器,可以是pc,还可以是个人数字助理,还可以是其他的终端设备,例如pad、手机等等,还可以是云端或者远程服务器,本发明实施例对计算机设备的具体形式并不做限定。

本申请实施例提供的三维模型的遮挡确定方法的执行主体为图1所示场景实施例中的计算机设备。

下面以具体的实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。

图2为一个实施例提供的一种三维模型的遮挡确定方法的流程示意图,本实施例涉及的是将采样点与视点之间的线段分割,根据每个分割点对应的体素来确定遮挡关系的具体实现过程。如图2所示,该方法可以包括:

s201,将三维模型中的目标采样点与视点之间的第一线段进行等间隔划分,得到三维分割点集合;所述三维分割点集合包括所述第一线段上的所有分割点。

其中,上述三维模型是物体的多边形表示,显示的物体可以是现实世界的实体,也可以是虚构的物体,例如器官的精确模型、化合物的精确模型、卡通动画中的活动人物等。等间隔划分可以是通过预先设定的间隔值进行划分,该间隔值可以是本领域技术人员根据实际经验设置的数值,也可以是根据第一线段的长度计算出来的数值,或者,还可以根据预先设定的等分数来划分第一线段,本实施例对此不做限定。采样点为三维模型表面上的任意一个点,视点是扫描系统中除三维模型之外的点。

图3为本申请实施例提供的一种三维模型示意图。图中b为第一立方体空间中的任意一个视点,a为第一立方体空间中的目标采样点。本实施例中,可以采用预设线段长度对第一线段ab进行等间隔划分,还可以是根据预设的线段数目对第一线段ab进行划分,将第一线段上的所有分割点记录在三维分割点集合中。例如,若预设的线段数目为n,则可以将第一线段ab等间隔划分为n等份,其分割点组成的三维分割点集合为l={l0,l1,l,ln,l,ln}。

s202,确定所述三维分割点集合中的每个点所在的第一体素。

其中,体素是体积元素的简称,体素用恒定的标量或者向量表示一个立体的区域,是三维空间分割上的最小单位。第一体素为三维模型的部分区域对应的体素。

在本实施例中,可以按照预设的划分规则对扫描系统所在的空间模型进行划分,将其划分为多个小的立体区域,每个立体区域包含多个采样点,每个立体区域对应一个体素。体素用于表示区域的位置信息,获取每个采样点的位置信息,可以根据采样点的位置信息确定该采样点位于哪个小的立体区域,从而可以确定该采样点所在的体素。或者,也可以直接建立采样点与体素之间的对应关系,例如,对每个采样点进行编号,每个编号对应一个体素,则根据采样点的编号即可以获得采样点所在的第一体素。

s203,判断各所述第一体素对应的第一采样点集合是否均为空,获取判断结果;所述第一采样点集合包括所述第一体素对应的所有采样点。

其中,第一采样点集合包括第一体素对应的所有采样点,第一体素为三维模型的部分区域对应的体素。例如,将扫描系统所在的空间模型划分为4个区域,第一体素对应第一区域,第一区域包括10个采样点,则第一采样点集合中包括这10个采样点的编码或者位置信息。

在本实施例中,若各第一体素对应的第一采样点集合中一个采样点也没有,则该判断结果为各所述第一体素对应的第一采样点集合均为空;若任意一个第一体素对应的第一采样点集合中包括了至少一个采样点,则该判断结果为各所述第一体素对应的第一采样点集合非空。

s204,根据所述判断结果确定所述目标采样点与所述视点之间的遮挡关系。

其中,遮挡关系为目标采样点与视点之间的相对位置关系,用于表示目标采样点相对于视点是否被遮挡。

在本实施例中,若各所述第一体素对应的第一采样点集合均为空,则所述目标采样点相对于视点不被遮挡;若各所述第一体素对应的第一采样点集合为非空,则还可以根据第一线段上经过所述第一体素对应的立方体的分割点,进一步确定所述目标采样点相对于视点是否被遮挡。

本实施例提供的三维模型的遮挡确定方法,计算机设备将三维模型中的目标采样点与视点之间的第一线段进行等间隔划分,得到三维分割点集合,并确定三维分割点集合中的每个点所在的第一体素,进而判断第一体素对应的第一采样点集合是否为空,获取判断结果,最终根据判断结果确定目标采样点与视点之间的遮挡关系。计算机设备将第一线段进行分割,确定每个分割点对应的第一体素,从而根据第一体素对应的第一采样点集合是否为空来确定目标采样点相对于视点是否被遮挡,该计算过程的每一个步骤都十分简单,大大降低了计算复杂度,加快了计算效率,而且,遮挡检测精度高。

图4为另一个实施例提供的一种三维模型的遮挡确定方法的流程示意图,本实施例涉及的是确定遮挡关系的具体实现过程。在上述实施例的基础上,可选的,上述s204可以包括:

s401,若所述判断结果为各所述第一体素对应的第一采样点集合均为空,则所述目标采样点相对于所述视点不被遮挡。

在本实施例中,判断结果为空是指第一采样点集合不包括第一体素对应的小立方体上的任意一个采样点,也就是说所述视点和所述目标采样点不在同一个立体区域,那么所述目标采样点相对于所述视点不被遮挡。

s402,若所述判断结果为各所述第一体素对应的第一采样点集合中至少一个非空,则根据第二采样点集合确定所述遮挡关系;所述第二采样点集合包括所述第一采样点集合中的所有采样点。

在本实施例中,第一线段上的分割点只要有一个点和视点在同一个立体区域,那么判断结果就为非空,需要根据第二采样点集合确定所述遮挡关系。如图3所示,点a为三维模型上的任意一采样点,点b为视点,点ln为第一线段上的点,点sk为第二采样点集合中任一采样点,点pk为第一线段上的目标分割点。

可选地,在图4所示实施例的基础上,如图5所示,步骤s402“根据第二采样点集合确定所述遮挡关系”可以包括以下步骤:

s501,获取所述第二采样点集合中的每个采样点与所述第一线段之间的垂直距离。

如图3所示,在本实施例中,线段ab为所述第一线段,点sk为第二采样点集合中的任意一点,点sk与第一线段ab之间的垂直距离为dk。

s502,获取第一向量与第二向量之间的夹角;所述第一向量为所述目标采样点到所述第二采样点集合中的采样点的向量,所述第二向量为所述目标采样点到所述视点的向量。

如图3所示,在本实施例中,点a为目标采样点,目标采样点a到第二采样点集合中任意一采样点sk的方向为所述第一向量的方向;目标采样点a到视点b的方向为所述第二向量的方向,θk为所述第一向量与第二向量之间的夹角。

s503,根据所述垂直距离和所述夹角确定所述遮挡关系。

如图3所示,在本实施例中,可以根据预设的规则来确定目标采样点与视点之前的遮挡关系,该预设的规则可以包括预设的距离和夹角,当点sk与线段ab之间的垂直距离dk与预设的垂直距离、目标采样点到所述第二采样点集合中的采样点的向量和目标采样点到所述视点的向量之间的夹角θk与预设的夹角之间分别满足一定的关系时,可以确定出遮挡关系。

可选地,上述根据所述垂直距离和所述夹角确定所述遮挡关系包括:若所述第二采样点集合中的任意一个采样点满足预设的遮挡条件,则所述目标采样点相对于所述视点被遮挡;若所述第二采样点集合中的采样点均不满足所述遮挡条件,则所述目标采样点相对于所述视点未被遮挡。其中,所述遮挡条件包括所述第二采样点集合中的采样点对应的垂直距离小于预设距离,且所述第二采样点集合中的采样点对应的夹角小于预设夹角。例如,预设距离阈值为d,预设夹角阈值为θt,若垂直距离为dk,夹角为θk,若dk<d并且θk<θt则所述目标采样点相对于所述视点被遮挡;若垂直距离dk,夹角θk有一个不满足所述遮挡条件则所述目标采样点相对于所述视点不被遮挡。

在本实施例中,通过判断第二采样点集合中的采样点对应的垂直距离与预设距离之间的关系,以及第二采样点集合中的采样点对应的夹角与预设夹角之间的关系,根据距离关系和角度关系来确定遮挡关系,每一个步骤都十分简单,从而大大降低了计算复杂度,加快了计算效率

可选地,还可以计算第二采样点集合中的采样点对应的垂直距离与预设距离之间的距离差值,以及第二采样点集合中的采样点对应的夹角与预设夹角之间的角度差值,根据距离差值和角度差值的正负来确定遮挡关系。例如,距离差值为负表示预设距离大于所述第二采样点集合中的采样点对应的垂直距离,角度差值为负表示预设夹角大于所述第二采样点集合中的采样点对应的夹角;当距离差值为负并且角度差值为负时,所述目标采样点被遮挡;反之,所述目标采样点不被遮挡。

图6为另一个实施例提供的一种三维模型的遮挡确定方法的流程示意图,本实施例涉及的是计算机设备确定多个所述第一采样点集合的过程。在上述实施例的基础上,可选的,上述方法还包括:

s601,根据所述三维模型的空间尺寸、空间位置、扫描系统的扫描距离参数,构建第一立方体;所述第一立方体包括所述三维模型和所述扫描系统中的所有视点的最小立方体空间。

在本实施例中,所述方法首先确定三维模型的空间大小和空间位置,并结合扫描系统的扫描距离参数,构建第一立方体,该立方体可以为包含三维模型和包含所有视点的最小立方体空间,也称作最小包围盒。该扫描距离参数可以是使得第一立方体的体积最小的参数,对不同的三维模型可以通过该三维模型粗略的初模点云坐标确定三维模型的空间大小和空间位置,扫描系统的扫描距离参数对于不同的设备和系统来说其参数值是不同的,因此可以根据不同的设备和系统确定其相应的扫描距离参数,本实施例对此不做限定。

s602,根据预设的间距对所述第一立方体进行网格划分,得到多个第二立方体。

在本实施例中,对第一立方体空间按照预设的距离间隔δd进行网格的划分,得到多个第二立方体。所述预设间隔值δd是综合考虑了点云规模和算法的运行效率之后确定的一个经验值,不同的三维模型对应的距离间隔值不同,没有一个限定的具体数值,本实施例对此不做限定。

s603,根据多个所述第二立方体,确定体素集合;所述体素集合中包括每个所述第二立方体的体素。

s604,根据所述体素集合,确定多个所述第一采样点集合。

其中,一个第二立方体对应一个体素,由多个所述第二立方体可以确定包括每个所述第二立方体的体素的体素集合;一个第二立方体上包括多个采样点,每个第二立方体上的所有采样点构成一个第一采样点集合。

可选地,如图7所示,步骤604可以包括以下步骤:

s701,根据所述三维模型的每个采样点的位置坐标,确定所述三维模型的每个采样点所在的体素。

可选地,在本实施例中,上述确定所述三维模型的每个采样点所在的体素的方法包括:根据所述三维模型的每个采样点的位置坐标(xi,yi,zi)以及公式确定所述三维模型的每个采样点所在的体素vi=(vx,vy,vy);式中,(xmin,ymin,zmin)为所述第一立方体的最小坐标值,δd为所述预设的间距。

s702,根据所述三维模型的每个采样点所在的体素,确定多个所述第一采样点集合;不同的所述第一采样点集合对应的体素不同,每个所述第一采样点集合中的所有采样点的体素均相同。

可选地,在本实施例中,假设三维模型采样点集合为{sk|k∈n+},第i个体素的编号为vi,遍历模型采样点集合,根据每个模型采样点sk所在的体素vi,并将体素vi中所包含的所有模型采样点记录在集合中。

在本实施例中,根据所述三维模型的每个采样点的位置坐标以及相应的公式就可以确定所述三维模型的每个采样点所在的体素,根据所述三维模型的每个采样点所在的体素,确定多个所述第一采样点集合,计算过程方便简单,降低了计算复杂度,加快了计算效率。

图8为另一个实施例提供的一种三维模型的遮挡确定方法的流程示意图,本实施例涉及的是得到三维分割点集合的过程。在上述实施例的基础上,可选地,如图8所示,s201可以包括以下步骤:

s801,根据第三采样点集合中最近邻采样点之间的平均间距,确定线段数量;所述第三采样点集合包括所述三维模型的所有采样点。

在本实施例中,最近邻采样点是在距离上最近的两个采样点,距离可以通过多种方式来度量,如欧几里得距离、曼哈顿距离等。如图3所示,图中点l0、点l1为所述第三采样点集合中最近邻的两个采样点。

可选地,根据公式计算线段数量n;其中,w为细分权重,为所述第一线段的长度,d为所述平均间距。

s802,根据所述线段数量将所述第一线段进行等间隔划分,得到三维分割点集合。

在本实施例中,根据第三采样点集合中最近邻采样点之间的平均间距,确定线段数量,根据线段数量将所述第一线段进行等间隔划分,得到三维分割点集合,所述每一个步骤都十分简单,从而大大降低了计算复杂度,加快了计算效率,遮挡检测率也随之提高。

为了便于本领域技术人员的理解,以下对本发明提供的三维模型的遮挡确定方法进行详细介绍,如图9所示,该方法可以包括:

s901,将三维模型中的目标采样点与视点之间的第一线段进行等间隔划分,得到三维分割点集合。

s902,确定所述三维分割点集合中的每个点所在的第一体素。

s903,判断所述第一体素对应的第一采样点集合是否为空,若为空,则执行步骤s904,若非空,则执行步骤s905。

s904,目标采样点相对于所述视点不被遮挡。

s905,获取第二采样点集合中的每个采样点与第一线段之间的垂直距离,获取第一向量与第二向量之间的夹角。

其中,所述第二采样点集合包括所述第一采样点集合中的所有采样点;所述第一向量为所述目标采样点到所述第二采样点集合中的采样点的向量,所述第二向量为所述目标采样点到所述视点的向量。

s906,判断所述垂直距离和夹角是否满足预设的遮挡条件,若是,则执行步骤s907,若否则执行步骤s904。

其中,遮挡条件包括所述第二采样点集合中的采样点对应的垂直距离小于预设阈值,且所述第二采样点集合中的采样点对应的夹角小于预设夹角。

s907,所述目标采样点相对于所述视点被遮挡。

需要说明的是,针对上述s901-s907中的描述可以参见上述实施例中相关的描述,且其效果类似,本实施例在此不再赘述。

应该理解的是,虽然图2-9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-9中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

图10为一个实施例提供的三维模型的遮挡确定装置结构示意图。如图10所示,该装置可以包括:分割模块10、第一确定模块11、判断模块12和第二确定模块13。其中:

分割模块10,用于将三维模型中的目标采样点与视点之间的第一线段进行等间隔划分,得到三维分割点集合;所述三维分割点集合包括所述第一线段上的所有分割点;

第一确定模块11,用于确定所述三维分割点集合中的每个点所在的第一体素;

判断模块12,用于判断所述第一体素对应的第一采样点集合是否为空,获取判断结果;所述采样点集合包括所述第一体素对应的所有采样点;

第二确定模块13,用于根据所述判断结果确定所述目标采样点与所述视点之间的遮挡关系。

图11为一个实施例提供的三维模型的遮挡确定装置结构示意图。在上述图10所述的实施例基础上,如图11所示,上述第二确定模块13包括:第一确定单元131和第二确定单元132,其中,

所述第一确定单元131,用于若所述判断结果为各所述第一体素对应的第一采样点集合均为空,则确定所述目标采样点相对于所述视点不被遮挡;

所述第二确定单元132,用于若所述判断结果为各所述第一体素对应的第一采样点集合中至少一个非空,则根据第二采样点集合确定所述遮挡关系;所述第二采样点集合包括所述第一采样点集合中的所有采样点。

在一个实施例中,所述第二确定单元132具体用于获取所述第二采样点集合中的每个采样点与所述第一线段之间的垂直距离;获取第一向量与第二向量之间的夹角;所述第一向量为所述目标采样点到所述第二采样点集合中的采样点的向量,所述第二向量为所述目标采样点到所述视点的向量;根据所述垂直距离和所述夹角确定所述遮挡关系。

在一个实施例中,所述第二确定单元132根据所述垂直距离和所述夹角确定所述遮挡关系,包括:所述第二确定单元132若确定所述第二采样点集合中的任意一个采样点满足预设的遮挡条件,则所述目标采样点相对于所述视点被遮挡;所述遮挡条件包括所述第二采样点集合中的采样点对应的垂直距离小于预设距离,且所述第二采样点集合中的采样点对应的夹角小于预设夹角;若确定所述第二采样点集合中的采样点均不满足所述遮挡条件,则所述目标采样点相对于所述视点未被遮挡。

图12为一个实施例提供的三维模型的遮挡确定装置结构示意图。在上述图10所示的实施例基础上,如图12所示,所述三维模型的遮挡确定装置还包括:构建模块14、划分模块15、第三确定模块16、和第四确定模块17,其中:

构建模块14,用于根据所述三维模型的空间尺寸、空间位置、扫描系统的扫描距离参数,构建第一立方体;所述第一立方体包括所述三维模型和所述扫描系统中的所有视点;

划分模块15,用于根据预设的间距对所述第一立方体进行网格划分,得到多个第二立方体;

第三确定模块16,用于根据多个所述第二立方体,确定体素集合;所述体素集合中包括每个所述第二立方体的体素;

第四确定模块17,用于根据所述体素集合,确定多个所述第一采样点集合。

图13为一个实施例提供的三维模型的遮挡确定装置结构示意图。在上述图12所示的实施例基础上,如图13所示,上述第四确定模块17包括:第三确定单元171和第四确定单元172,其中,

所述第三确定单元171,用于根据所述三维模型的每个采样点的位置坐标,确定所述三维模型的每个采样点所在的体素;

所述第四确定单元172,用于根据所述三维模型的每个采样点所在的体素,确定多个所述第一采样点集合;不同的所述第一采样点集合对应的体素不同,每个所述第一采样点集合中的所有采样点的体素均相同。

在一个实施例中,所述第三确定单元171具体用于根据所述三维模型的每个采样点的位置坐标(xi,yi,zi)以及公式确定所述三维模型的每个采样点所在的体素vi=(vx,vy,vy);式中,(xmin,ymin,zmin)为所述第一立方体的最小坐标值,δd为所述预设的间距。

图14为一个实施例提供的三维模型的遮挡确定装置结构示意图。在上述图12所示的实施例基础上,如图14所示,上述划分模块15包括:第五确定单元:151和划分单元152,其中,

所述第五确定单元151,用于根据第三采样点集合中最近邻采样点之间的平均间距,确定线段数量;所述第三采样点集合包括所述三维模型的所有采样点;

所述划分单元152,用于根据所述线段数量将所述第一线段进行等间隔划分,得到三维分割点集合。

在一个实施例中,所述第五确定单元151用于根据公式计算所述线段数量n;其中,w为细分权重,为所述第一线段的长度,为所述平均间距。

本实施例提供的三维模型的遮挡计算装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

将三维模型中的目标采样点与视点之间的第一线段进行等间隔划分,得到三维分割点集合;所述三维分割点集合包括所述第一线段上的所有分割点;

确定所述三维分割点集合中的每个点所在的第一体素;

判断各所述第一体素对应的第一采样点集合是否为均空,获取判断结果;所述第一采样点集合包括所述第一体素对应的所有采样点;

根据所述判断结果确定所述目标采样点与所述视点之间的遮挡关系。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

若所述判断结果为各所述第一体素对应的第一采样点集合均为空,则所述目标采样点相对于所述视点不被遮挡;

若所述判断结果为各所述第一体素对应的第一采样点集合中至少一个非空,则根据第二采样点集合确定所述遮挡关系;所述第二采样点集合包括所述第一采样点集合中的所有采样点。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

获取所述第二采样点集合中的每个采样点与所述第一线段之间的垂直距离;

获取第一向量与第二向量之间的夹角;所述第一向量为所述目标采样点到所述第二采样点集合中的采样点的向量,所述第二向量为所述目标采样点到所述视点的向量;

根据所述垂直距离和所述夹角确定所述遮挡关系。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

若所述第二采样点集合中的任意一个采样点满足预设的遮挡条件,则所述目标采样点相对于所述视点被遮挡;所述遮挡条件包括所述第二采样点集合中的采样点对应的垂直距离小于预设距离,且所述第二采样点集合中的采样点对应的夹角小于预设夹角;

若所述第二采样点集合中的采样点均不满足所述遮挡条件,则所述目标采样点相对于所述视点未被遮挡。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据所述三维模型的空间尺寸、空间位置、扫描系统的扫描距离参数,构建第一立方体;所述第一立方体包括所述三维模型和所述扫描系统中的所有视点的最小立方体空间;

根据预设的间距对所述第一立方体进行网格划分,得到多个第二立方体;

根据多个所述第二立方体,确定体素集合;所述体素集合中包括每个所述第二立方体的体素;

根据所述体素集合,确定多个所述第一采样点集合。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据所述三维模型的每个采样点的位置坐标,确定所述三维模型的每个采样点所在的体素;

根据所述三维模型的每个采样点所在的体素,确定多个所述第一采样点集合;不同的所述第一采样点集合对应的体素不同,每个所述第一采样点集合中的所有采样点的体素均相同。

在一个实施例中,所述根据所述三维模型的每个采样点的位置坐标,确定所述三维模型的每个采样点所在的体素,包括:根据所述三维模型的每个采样点的位置坐标(xi,yi,zi)以及公式确定所述三维模型的每个采样点所在的体素vi=(vx,vy,vy);式中,(xmin,ymin,zmin)为所述第一立方体的最小坐标值,δd为所述预设的间距。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

根据第三采样点集合中最近邻采样点之间的平均间距,确定线段数量;所述第三采样点集合包括所述三维模型的所有采样点;

根据所述线段数量将所述第一线段进行等间隔划分,得到三维分割点集合。

在一个实施例中,所述根据第三采样点集合中最近邻采样点之间的平均间距,确定线段数量,包括:根据公式计算所述线段数量n;其中,w为细分权重,为所述第一线段的长度,为所述平均间距。

上述实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。

在一个实施例中,提供了一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

将三维模型中的目标采样点与视点之间的第一线段进行等间隔划分,得到三维分割点集合;所述三维分割点集合包括所述第一线段上的所有分割点;

确定所述三维分割点集合中的每个点所在的第一体素;

判断各所述第一体素对应的第一采样点集合是否均为空,获取判断结果;所述第一采样点集合包括所述第一体素对应的所有采样点;

根据所述判断结果确定所述目标采样点与所述视点之间的遮挡关系。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

若所述判断结果为各所述第一体素对应的第一采样点集合均为空,则所述目标采样点相对于所述视点不被遮挡;

若所述判断结果为各所述第一体素对应的第一采样点集合中至少一个非空,则根据第二采样点集合确定所述遮挡关系;所述第二采样点集合包括所述第一采样点集合中的所有采样点。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

获取所述第二采样点集合中的每个采样点与所述第一线段之间的垂直距离;

获取第一向量与第二向量之间的夹角;所述第一向量为所述目标采样点到所述第二采样点集合中的采样点的向量,所述第二向量为所述目标采样点到所述视点的向量;

根据所述垂直距离和所述夹角确定所述遮挡关系。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

若所述第二采样点集合中的任意一个采样点满足预设的遮挡条件,则所述目标采样点相对于所述视点被遮挡;所述遮挡条件包括所述第二采样点集合中的采样点对应的垂直距离小于预设距离,且所述第二采样点集合中的采样点对应的夹角小于预设夹角;

若所述第二采样点集合中的采样点均不满足所述遮挡条件,则所述目标采样点相对于所述视点未被遮挡。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据所述三维模型的空间尺寸、空间位置、扫描系统的扫描距离参数,构建第一立方体;所述第一立方体包括所述三维模型和所述扫描系统中的所有视点的最小立方体空间;

根据预设的间距对所述第一立方体进行网格划分,得到多个第二立方体;

根据多个所述第二立方体,确定体素集合;所述体素集合中包括每个所述第二立方体的体素;

根据所述体素集合,确定多个所述第一采样点集合。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据所述三维模型的每个采样点的位置坐标,确定所述三维模型的每个采样点所在的体素;

根据所述三维模型的每个采样点所在的体素,确定多个所述第一采样点集合;不同的所述第一采样点集合对应的体素不同,每个所述第一采样点集合中的所有采样点的体素均相同。

在一个实施例中,所述根据所述三维模型的每个采样点的位置坐标,确定所述三维模型的每个采样点所在的体素,包括:根据所述三维模型的每个采样点的位置坐标(xi,yi,zi)以及公式确定所述三维模型的每个采样点所在的体素vi=(vx,vy,vy);式中,(xmin,ymin,zmin)为所述第一立方体的最小坐标值,δd为所述预设的间距。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据第三采样点集合中最近邻采样点之间的平均间距,确定线段数量;所述第三采样点集合包括所述三维模型的所有采样点;

根据所述线段数量将所述第一线段进行等间隔划分,得到三维分割点集合。

在一个实施例中,所述根据第三采样点集合中最近邻采样点之间的平均间距,确定线段数量,包括:根据公式计算所述线段数量n;其中,w为细分权重,所述第一线段的长度,为所述平均间距。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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