一种虚实物体之间碰撞及遮挡检测方法及系统与流程

文档序号:16091036发布日期:2018-11-27 23:01阅读:265来源:国知局

本发明涉及一种虚拟三维模型(计算机生成)与真实物体(物理环境)的碰撞干涉检测和遮挡检测方法及系统,属于增强现实、信息物理融合系统领域。



背景技术:

增强现实(Augmented Reality,AR)是指将计算机生成的虚拟模型、虚拟模型场景或虚拟提示信息叠加到真实场景中,从而实现对现实环境的增强。增强现实技术均有虚实结合、实时交互和三维注册的特点。其中三维注册一直是增强现实系统关键技术,是指把虚拟模型准确叠加到和真实场景上显示,实现三维空间位置的一致性和视觉显示的一致性。增强现实技术实现了虚拟模型和真实环境视觉的一致性,在增强现实仿真应用(如虚实装配、基于增强现实的机器人路径规划)中,虚实模型的碰撞及遮挡检测尤为重要。

公开号为CN102254346A的发明专利公布了《基于云计算的增强现实虚实碰撞检测方法》,该方法通过提取关键帧的特征点;估计实际物体姿势及运动,建立虚拟物体的包围盒树进行碰撞检测。公开号为CN102194248A的发明专利《基于增强现实的虚实碰撞检测及响应方法》,该方法对摄像头获得的实际物体进行预处理,估计实际物体姿势和运动;然后根据虚拟物体质心到碰撞平面的位置关系进行虚实碰撞检测。上述两种方法都需要对实际物体进行姿态估计,需要有物体姿态的先验数据。公开号CN105046710A的发明专利公布了《基于深度图分割与代理几何体的虚实碰撞交互方法及装置》,该方法对深度图像中的场景进行分割,并基于分割结果构建代理几何体的方法来实现虚、实物体的碰撞交互的方法,同样需要构建物体的包围盒模型。

基于物体空间的碰撞及遮挡检测多是用深度相机获取真实物体的空间点云,将点云数据处理用包围盒或者其他代理几何体代替,与虚拟物体进行碰撞,这样的方式计算量大,要求计算机硬件要求高,同时前期处理点云数据工作量大,如果包围盒构建的不好,会导致的包围盒紧密性比较差,会导致未发生碰撞而误报发生碰撞。

综上,无论是对物体的姿态进行估计还是构建物体的包围盒模型都需要大量的计算时间,不适合虚实模型的实时碰撞及遮挡检测。为此本发明提出一种物理深度相机和虚拟相机相结合并且直接利用深度图像实现机器人虚实物体碰撞及遮挡检测的系统及方法。



技术实现要素:

为了解决上述技术问题,本发明提供一种虚实物体之间碰撞及遮挡检测方法,是一种基于深度图像的碰撞及遮挡检测方法,将深度图像栅格化,从整体到局部进行搜索碰撞区域,进行碰撞及遮挡检测,其处理速度快,碰撞及遮挡检测准确。

本发明提供还提供一种虚实物体之间碰撞及遮挡检测系统。

技术方案一:

一种虚实物体之间碰撞及遮挡检测方法,包括如下步骤:

步骤10、统一计算机端虚拟模型场景坐标系和真实环境坐标系,使虚实物体都在同一个世界坐标系下,然后将待检测物体的虚拟三维模型定位在计算机端的虚拟模型场景中;

步骤20、在真实环境中物理深度相机拍摄真实环境深度图像,同时,利用方位跟踪系统获得物理深度相机在世界坐标系中的位置和方位;

步骤30、计算机端采集方位跟踪系统的数据,得到物理深度相机的三维方位,定义为第一方位;依据第一方位选择能够拍摄到虚拟三维模型潜在碰撞区域的第二方位,将虚拟深度相机置于第二方位上;同时,计算机端采集真实环境深度图像,并根据深度相机成像模型合成虚拟三维模型在虚拟深度相机上所成的第一合成深度图像;

步骤40、根据第二方位与第一方位之间的方位关系以及深度相机成像模型,计算第一合成深度图像上各有效像素点转换成点云数据,根据点云数据在第一方位上的深度值,计算合成获得第二合成深度图像;

步骤50、利用第二合成深度图像和真实环境深度图像进行虚实物体之间的碰撞或遮挡检测和虚实物体之间的距离计算。

更优地,改变所述物理深度相机的方位,重复所述步骤30至步骤50,进行不同方位的虚实物体之间的碰撞或遮挡检测,以及虚实物体之间的距离计算。

更优地,所述第一合成深度图像和第二合成深度图像均是通过深度相机成像模型计算并合成而得,所述深度相机成像模型是物理深度相机的成像原理数学表达式。

更优地,所述步骤50中,碰撞或遮挡的判断过程为:比较第二合成深度图像和真实环境深度图像上像素坐标相通的像素点的深度值大小,如果真实环境深度图像像素点的深度值大于第二合成深度图像对应像素点的深度值,则不存在遮挡或者碰撞,否则,则存在遮挡或者碰撞。

更优地,所述步骤50中,虚实物体之间的距离计算方法如下:

步骤51、区域分层分隔:将第二合成深度图像和真实环境深度图像按照相同方式进行四叉树结构的递归剖分,分隔成大小相同的分隔区域;递归层数为n,第1层为根节点,第2层至第n-1层均为子节点,第n层为叶子节点;

步骤52、计算分隔区域深度值范围:在每一层节点的每个分隔区域中存储该区域中深度值的范围,即深度值的最大值和最小值,然后分别建立第二合成深度图像和真实环境深度图像的四叉树递归分割模型;

步骤53、基于层次递进的搜索第二合成深度图像和真实环境深度图像的深度值范围有交集的区域:使用第二合成深度图像和真实环境深度图像的四叉树递归分割模型,按照逐层递进的方法进行搜索查找,首先比较两张深度图像的第一层根节点的深度值范围是否存在交集,若无交集,则证明二者之间不存在遮挡或碰撞,则不进行距离计算,若存在交集,则继续逐个检查下一层子节点的各分隔区域的深度值范围是否存在交集,若无交集,则不进行距离计算,若存在交集,则检查存在交集的分隔区域的下一层子节点的各分隔区域的深度值范围是否存在交集,同理类推,直至检查至叶子节点的各分隔区域的深度值范围存在交集时,则要根据存在交集的分隔区域内像素的位置坐标进一步计算该分隔区域内虚实物体之间实际距离;

步骤54、利用深度相机成像模型将第二合成深度图像和真实环境深度图像在叶子节点中存在交集的分隔区域内的所有相对应像素转为两组3D点云数据,通过两组点云数据计算虚实物体之间的实际距离。

技术方案二:

一种虚实物体之间碰撞及遮挡检测系统,包括物理深度相机、方位跟踪系统以及计算机系统,所述物理深度相机拍摄真实环境的深度图像,所述方位跟踪系统获取物理深度相机在物理环境坐标系中的位置和方位;所述物理深度相机和方位跟踪系统均连接至计算机系统,将采集到的深度图像和跟踪到的方向位置传送给计算机系统;所述计算机系统运行时实现以下步骤:

步骤1、统一计算机端虚拟模型场景坐标系和真实环境坐标系,使虚实物体都在同一个世界坐标系下,然后将待检测物体的虚拟三维模型定位在计算机端的虚拟模型场景中;

步骤2、计算机端采集方位跟踪系统的数据,得到物理深度相机的三维方位,定义为第一方位;依据第一方位选择能够拍摄到虚拟三维模型潜在碰撞区域的第二方位,将虚拟深度相机置于第二方位上;同时,计算机端采集真实环境深度图像,并根据深度相机成像模型合成虚拟三维模型在虚拟深度相机上所成的第一合成深度图像;

步骤3、根据第二方位与第一方位之间的方位关系以及深度相机成像模型,计算第一合成深度图像上各有效像素点转换成点云数据,根据点云数据在第一方位上的深度值,计算合成获得第二合成深度图像;

步骤4、利用第二合成深度图像和真实环境深度图像进行虚实物体之间的碰撞或遮挡检测,以及虚实物体之间的距离计算。

更优地,所述第一合成深度图像和第二合成深度图像均是通过深度相机成像模型计算并合成而得,所述深度相机成像模型是物理深度相机的成像原理数学表达式。

所述步骤4中,碰撞或遮挡的判断过程为:比较第二合成深度图像和真实环境深度图像上像素坐标相通的像素点的深度值大小,如果真实环境深度图像像素点的深度值大于第二合成深度图像对应像素点的深度值,则不存在遮挡或者碰撞,否则,则存在遮挡或者碰撞。

更优地,所述步骤4中,虚实物体之间的距离计算方法如下:

步骤401、区域分层分隔:将第二合成深度图像和真实环境深度图像按照相同方式进行四叉树结构的递归剖分,分隔成大小相同的分隔区域;递归层数为n,第1层为根节点,第2层至第n-1层均为子节点,第n层为叶子节点;

步骤402、计算分隔区域深度值范围:在每一层节点的每个分隔区域中存储该区域中深度值的范围,即深度值的最大值和最小值,然后分别建立第二合成深度图像和真实环境深度图像的四叉树递归分割模型;

步骤403、基于层次递进的搜索第二合成深度图像和真实环境深度图像的深度值范围有交集的区域:使用第二合成深度图像和真实环境深度图像的四叉树递归分割模型,按照逐层递进的方法进行搜索查找,首先比较两张深度图像的第一层根节点的深度值范围是否存在交集,若无交集,则证明二者之间不存在遮挡或碰撞,则不进行距离计算,若存在交集,则继续逐个检查下一层子节点的各分隔区域的深度值范围是否存在交集,若无交集,则不进行距离计算,若存在交集,则检查存在交集的分隔区域的下一层子节点的各分隔区域的深度值范围是否存在交集,同理类推,直至检查至叶子节点的各分隔区域的深度值范围存在交集时,则要根据存在交集的分隔区域内像素的位置坐标进一步计算该分隔区域内虚实物体之间实际距离;

步骤404、利用深度相机成像模型将第二合成深度图像和真实环境深度图像在叶子节点中存在交集的分隔区域内的所有相对应像素转为两组3D点云数据,通过两组点云数据计算虚实物体之间的实际距离。

本发明具有如下有益效果:

本发明首先使用物理深度像机拍真实场景深度图像,利用深度相机成像模型合成的虚拟深度像机拍摄到包含虚拟三维模型的第一合成深度图像;再将第一合成深度图像,转换得到世界坐标下的点云数据,根据点云数据在第一方位上(物理深度相机)的深度值,计算合成获得第二合成深度图像;得到同一坐标系下虚拟三维模型和真实环境易碰撞区域的深度图像,将两幅深度图像栅格化,从整体到局部进行搜索碰撞区域,进行碰撞遮挡检测和虚实距离计算。实验证明:利用深度图像栅格化进行碰撞遮挡检测,运算时间短,适合增强现实下虚实物体实施碰撞遮挡检测检测,以及碰撞距离的计算。

附图说明

图1为本发明一种虚实物体之间碰撞及遮挡检测方法的流程图;

图2为本发明一种虚实物体之间碰撞及遮挡检测系统框图;

图3为本发明中深度图像四叉树递归分割;

图4为本发明中深度值范围有交集的叶子区域的四叉树搜索示意图;

图5为本发明中四叉树递归中碰撞阈值确定时n的取值原理图;

图6为本发明中实际距离计算原理示意图;

图7为本发明一种虚实物体之间碰撞及遮挡检测系统的计算机运行流程图。

图中附图标记表示为:

1、物理深度相机;2、位于第二方位的虚拟深度相机;3、虚拟三维模型;4、真实环境深度图像;5、第一合成深度图像;6、第二合成深度图像;7、真实环境;8、待装配减速器;9、工作人员;10、增强现实注册卡;11、虚实融合后图像。

具体实施方式

下面结合附图和具体实施例来对本发明进行详细的说明。

实施例一

请参阅图1和图2,一种虚实物体之间碰撞及遮挡检测方法,包括如下步骤:

步骤10、统一计算机端虚拟模型场景坐标系和真实环境坐标系,使虚实物体都在同一个世界坐标系下,然后将待检测物体的虚拟三维模型3(图中以虚拟机器人为例)定位在计算机端的虚拟模型场景中;该定位可以利用增强现实注册等方法,例如,可以采用增强现实注册卡10,将增强现实注册卡10当做世界坐标系,完成准确定位;

步骤20、在真实环境中物理深度相机1拍摄真实环境深度图像4,同时,利用方位跟踪系统获得物理深度相机1在世界坐标系中的位置和方位;所述物理深度相机1可以是独立的深度传感器(如Kinect),也可以是附属在其他设备上的深度传感器(如增强现实智能眼镜Holole世界坐标系ns上的深度传感器);所述方位跟踪系统可以采用optritack运动捕捉系统,其为本领域应用较为普遍的一种跟踪系统,其跟踪精确度较高,除此之外,还可以采用其他光学式动作捕捉系统以及惯性式动作捕捉系统。

步骤30、计算机端采集方位跟踪系统的数据(即物理深度的方向和位置),得到物理深度相机1的三维方位,定义为第一方位;依据第一方位选择能够拍摄到虚拟三维模型3潜在碰撞区域的第二方位,将虚拟深度相机2置于第二方位上;同时,计算机端采集物理深度相机1拍摄到的真实环境深度图像4(深度图像中的像素值记录了摄影机与像素所对应的场景靠近相机的点的深度值),并根据深度相机成像模型合成虚拟三维模型3在虚拟深度相机2(即第二方位上)上所成的第一合成深度图像5;所述深度相机成像模型是物理深度相机1的成像原理数学表达式。具体地,所述深度相机成像模型公开于《A Depth Space Approach for Evaluating Distance to Objects》,其中“Cartesian Space”(笛卡尔空间)和“Depth Space”(深度空间)这两个章节,介绍了深度相机成像模型的数学表达式。一般地,方位跟踪系统获取物理深度相机1的方向和位置分别用R1和T1表示,R1是3x3旋转矩阵,T1是3x1的平移向量,将R1和T1经过(R,T)转换得到虚拟深度相机2的第二方位R2和T2,以及两个方位之间相对变换,其中,R为旋转矩阵,T为平移矩阵;

步骤40、根据第二方位与第一方位之间的方位关系以及深度相机成像模型,计算第一合成深度图像5上各有效像素点转换成点云数据,根据点云数据在第一方位上的深度值,计算合成获得第二合成深度图像6;有效像素点是指经过深度图像滤波处理之后像素值不为0的点 ;

步骤50、由于第二合成深度图像6和真实环境深度图像4是从同一方位(即第一方位)获得的虚实深度图像,利用第二合成深度图像6和真实环境深度图像4进行虚实物体之间的碰撞或遮挡检测和虚实物体之间的距离计算。请参阅图4,为便于理解碰撞及遮挡检测过程,图中最后一张为虚实融合后图像11,使碰撞过程可视化,但在检测碰撞和计算距离时,是分别采用第二合成深度图像6和真实环境深度图像4的像素点数据。

通过步骤10至50可以获得一个方向上的碰撞及遮挡检测,例如,将虚拟深度相机2沿着物理深度相机1主光轴的方向上设置,则完成前后方向的碰撞及遮挡检测,改变所述物理深度相机1的方位,重复所述步骤30至步骤50,进行不同方位的虚实物体之间的碰撞或遮挡检测,以及虚实物体之间的距离计算,则可以实现对虚拟三维模型3多角度的碰撞及遮挡检测,以及虚实物体间的距离计算,检测结果更加准确。

所述步骤50中,碰撞或遮挡的判断过程为:比较第二合成深度图像6和真实环境深度图像4上像素坐标相通的像素点的深度值大小,如果真实环境深度图像4像素点的深度值大于第二合成深度图像6对应像素点的深度值,则不存在遮挡或者碰撞,否则,则存在遮挡或者碰撞。

请参阅图4,所述步骤50中,虚实物体之间的距离计算方法如下:

步骤51、区域分层分隔:请参阅图3,将第二合成深度图像6和真实环境深度图像4按照相同方式进行四叉树结构的递归剖分,分隔成大小相同的分隔区域;递归层数为n,第1层为根节点,第2层至第n-1层均为子节点,第n层为叶子节点;请参阅图5,n的取值由设定的碰撞阈值和深度值大小决定,当设置碰撞阈值时,深度值越大,图像中邻像素间代表的实际距离大,分割层数n越大,图5中,碰撞阈值D相同,上图的深度值小于下图的深度值,因此,上图的深度图分割层数n=3,下图的深度图分割层数n=4。同时,n受到碰撞阈值的约束,若碰撞阈值越小,分割层数越多,n越大;

步骤52、计算分隔区域深度值范围:在每一层节点的每个分隔区域中存储该区域中深度值的范围,即深度值的最大值和最小值,然后分别建立第二合成深度图像6和真实环境深度图像4的四叉树递归分割模型;

步骤53、基于层次递进的搜索第二合成深度图像6和真实环境深度图像4的深度值范围有交集的区域:使用第二合成深度图像6和真实环境深度图像4的四叉树递归分割模型,按照逐层递进的方法进行搜索查找,首先比较两张深度图像的第一层根节点的深度值范围是否存在交集,若无交集,则证明二者之间不存在遮挡或碰撞,则不进行距离计算,若存在交集,则继续逐个检查下一层子节点的各分隔区域的深度值范围是否存在交集,若无交集,则不进行距离计算,若存在交集,则检查存在交集的分隔区域的下一层子节点的各分隔区域的深度值范围是否存在交集,同理类推,直至检查至叶子节点的各分隔区域的深度值范围存在交集时,则要根据存在交集的分隔区域内像素的位置坐标进一步计算该分隔区域内虚实物体之间实际距离;

步骤54、请参阅图6,利用深度相机成像模型将第二合成深度图像6和真实环境深度图像4在叶子节点中存在交集的分隔区域内的所有相对应像素转为两组3D点云数据,通过两组点云数据计算虚实物体之间的实际距离。例如,真实环境深度图像4中在叶子节点中存在交集的分隔区域内有N个像素,第二合成深度图像6中对应区域有M个像素,每个像素对应一个3D点云坐标,从N个像素中取一个像素的坐标与M个像素之间求距离,然后在从M个像素中取另外一个像素再与M个像素之间求距离,同理,直至M各像素全部计算完,得到一个距离集合。

本发明在增强现实环境中建立虚拟深度相机2,利用虚拟深度相机2合成虚拟模型场景的深度图像,真实环境中的物理深度相机1获取真实环境深度图像4,通过对两张深度图像进行运算实现基于视角的虚实碰撞实时检测及碰撞时虚实物体之间实际距离的计算。

实施例二

请参阅图2,图2展示了包含待装配减速器8及其工作人员9的真实环境7。一种虚实物体之间碰撞及遮挡检测系统,包括物理深度相机1、方位跟踪系统以及计算机系统,所述物理深度相机1拍摄真实环境的深度图像,所述方位跟踪系统获取物理深度相机1在物理环境坐标系中的位置和方位;所述物理深度相机1和方位跟踪系统均连接至计算机系统,将采集到的深度图像和跟踪到的方向位置传送给计算机系统;请参阅图7,所述计算机系统运行时,实现以下步骤:

步骤1、统一计算机端虚拟模型场景坐标系和真实环境坐标系,使虚实物体都在同一个世界坐标系下,然后将待检测物体的虚拟三维模型3(图中以虚拟机器人为例)定位在计算机端的虚拟模型场景中;该定位可以利用增强现实注册等方法,例如,可以采用增强现实注册卡10,将增强现实注册卡10当做世界坐标系,完成准确定位;

步骤2、计算机端采集方位跟踪系统的数据,得到物理深度相机1的三维方位,定义为第一方位;依据第一方位选择能够拍摄到虚拟三维模型3潜在碰撞区域的第二方位,将虚拟深度相机2置于第二方位上;同时,计算机端采集真实环境深度图像4,并根据深度相机成像模型合成虚拟三维模型3在虚拟深度相机2上所成的第一合成深度图像5;

步骤3、根据第二方位与第一方位之间的方位关系以及深度相机成像模型,计算第一合成深度图像5上各有效像素点转换成点云数据,根据点云数据在第一方位上的深度值,计算合成获得第二合成深度图像6;

步骤4、利用第二合成深度图像6和真实环境深度图像4进行虚实物体之间的碰撞或遮挡检测,以及虚实物体之间的距离计算。

通过步骤1至4可以获得一个方向上的碰撞及遮挡检测,例如沿着物理深度相机1主光轴的方向上,完成前后方向的碰撞及遮挡检测,改变所述物理深度相机1的方位,重复所述步骤2至步骤4,进行不同方位的虚实物体之间的碰撞或遮挡检测,以及虚实物体之间的距离计算,则可以实现对虚拟三维模型3多角度的碰撞及遮挡检测,以及虚实物体间的距离计算,检测结果更加准确。

所述第一合成深度图像5和第二合成深度图像6均是通过深度相机成像模型计算并合成而得,所述深度相机成像模型是物理深度相机1的成像原理数学表达式。

所述步骤4中,碰撞或遮挡的判断过程为:比较第二合成深度图像6和真实环境深度图像4上像素坐标相通的像素点的深度值大小,如果真实环境深度图像4像素点的深度值大于第二合成深度图像6对应像素点的深度值,则不存在遮挡或者碰撞,否则,则存在遮挡或者碰撞。

所述步骤4中,虚实物体之间的距离计算方法如下:

步骤401、区域分层分隔:请参阅图3,将第二合成深度图像6和真实环境深度图像4按照相同方式进行四叉树结构的递归剖分,分隔成大小相同的分隔区域;递归层数为n,第1层为根节点,第2层至第n-1层均为子节点,第n层为叶子节点;请参阅图5,n的取值由设定的碰撞阈值和深度值大小决定,当设置碰撞阈值时,深度值越大,图像中邻像素间代表的实际距离大,分割层数n越大,图5中,碰撞阈值D相同,上图的深度值小于下图的深度值,因此,上图的深度图分割层数n=3,下图的深度图分割层数n=4。同时,n受到碰撞阈值的约束,若碰撞阈值越小,分割层数越多,n越大;

步骤402、计算分隔区域深度值范围:在每一层节点的每个分隔区域中存储该区域中深度值的范围,即深度值的最大值和最小值,然后分别建立第二合成深度图像6和真实环境深度图像4的四叉树递归分割模型;

步骤403、请参阅图4,基于层次递进的搜索第二合成深度图像6和真实环境深度图像4的深度值范围有交集的区域:使用第二合成深度图像6和真实环境深度图像4的四叉树递归分割模型,按照逐层递进的方法进行搜索查找,首先比较两张深度图像的第一层根节点的深度值范围是否存在交集,若无交集,则证明二者之间不存在遮挡或碰撞,则不进行距离计算,若存在交集,则继续逐个检查下一层子节点的各分隔区域的深度值范围是否存在交集,若无交集,则不进行距离计算,若存在交集,则检查存在交集的分隔区域的下一层子节点的各分隔区域的深度值范围是否存在交集,同理类推,直至检查至叶子节点的各分隔区域的深度值范围存在交集时,则要根据存在交集的分隔区域内像素的位置坐标进一步计算该分隔区域内虚实物体之间实际距离;

步骤404、利用深度相机成像模型将第二合成深度图像6和真实环境深度图像4在叶子节点中存在交集的分隔区域内的所有相对应像素转为两组3D点云数据,通过两组点云数据计算虚实物体之间的实际距离。请参阅图6,例如,真实环境深度图像4中在叶子节点中存在交集的分隔区域内有N个像素,第二合成深度图像6中对应区域有M个像素,每个像素对应一个3D点云坐标,从N个像素中取一个像素的坐标与M个像素之间求距离,然后在从M个像素中取另外一个像素再与M个像素之间求距离,同理,直至M各像素全部计算完,得到一个距离集合。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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