技术领域
[0001] 本申请涉及深度相机领域,更为具体地涉及用于深度相机的深度点云矫正方法、系统和深度相机。
相关背景技术
[0002] 深度相机可测量被摄物体与相机之间的距离(即,深度),基于这一特点,近年来,深度相机被越来越广泛地应用于AR、视觉SLAM(同步定位和建图)、人脸识别等领域。在实际应用中,深度相机在工作过程中容易受到各种因素的影响,导致测得的深度点云存在误差,相应地,需要对深度点云进行矫正。目前,现有的矫正方法难以满足实际需求,矫正效果不理想。
[0003] 因此,期待一种优化的用于深度相机的深度点云矫正方法,以改善点云矫正效果。
具体实施方式
[0042] 以下描述用于揭露本申请以使本领域技术人员能够实现本申请。以下描述中的实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本申请的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本申请的精神和范围的其他技术方案。
[0043] 申请概述
[0044] 如上所述,深度相机可测量被摄物体与相机之间的距离(即,深度),基于这一特点,近年来,深度相机被越来越广泛地应用于AR、视觉SLAM(同步定位和建图)、人脸识别等领域。在实际应用中,深度相机在工作过程中容易受到各种因素的影响,导致测得的深度点云存在误差,相应地,需要对深度点云进行矫正。目前,现有的矫正方法难以满足实际需求,矫正效果不理想。
[0045] 举例来讲,深度相机包括双目深度相机、结构光深度相机和TOF(Time ofFlight,时间飞行法)深度相机,TOF深度相机中的i‑TOF(Indirect Time of Flight,间接的时间飞行法)深度相机在工作过程中容易受多路径干扰(MPI)的影响,使得所获得的深度点云数据存在误差。
[0046] 具体地,由于图像采集环境中存在着复杂的漫反射和镜面反射,在i‑TOF深度相机的将检测激光投向被摄对象后,被摄对象上与i‑TOF深度相机的镜头之间距离不同的点可能因漫反射或者镜面反射将光线在同一时刻反射至i‑TOF深度相机,导致深度测量值与深度实际值之间存在偏差,使得深度点云中各像素点的深度值存在误差。特别是在有转角的场景中,到达被摄对象的某一点的光线被该点反射后可能被其他点再次反射,导致测量的深度值出现误差。
[0047] 本申请的发明人发现,在矫正深度点云的过程中,判断点云是否异常和修正深度点云数据是影响矫正效果的关键环节。当对异常点云判断不准确时,对“异常点云”进行修正将很大程度地影响矫正效果。在对异常点云做出准确判断的前提下对异常点云进行修正能够提高矫正准确度。
[0048] 相应地,从提高对异常点云的判断准确性入手来改善矫正效果,本申请的发明人提出通过二级判断的方式来提高异常点云的判断准确性。且在此过程中进一步发现,不同的应用场景下,异常点云的成因不同,针对特定的场景需制定相应的判断标准。
[0049] 例如,在判断通过i‑TOF深度相机获得的深度点云是否受到多路径干扰的过程中发现,当深度点云图像中某区域通过深度计算模块生成的第一深度点云数据和深度矫正模块生成的第二深度点云数据之间的绝对差异过大时,该区域的深度点云很可能受到了多路径干扰。为了进一步确定深度点云是否受到多路径干扰,进一步观察发现,所述第一深度点云数据和所述第二深度点云数据之间的相对差异可被用于进一步判断点云是否存在异常。具体地,通常,当所述第一深度点云数据和所述第二深度点云数据之间的绝对差异过大,且所述第一深度点云数据中的深度值大于所述第二深度点云数据中的深度值时,该区域的深度点云受到了多路径干扰。
[0050] 基于此,本申请提出了一种用于深度相机的深度点云矫正方法,其包括:获取由深度相机采集的源数据;基于所述源数据并通过深度计算模块和深度矫正模块生成第一深度点云数据和第二深度点云数据;将所述第一深度点云数据和所述第二深度点云数据通过异常点云检测模块以获得异常点云标记数据,其中,所述异常点云检测模块用于基于所述第一深度点云数据和所述第二深度点云数据之间的绝对差异以及相对差异来标记所述异常点云标记数据;以及,将所述第一深度点云数据、所述第二深度点云数据和所述异常点云标记数据通过深度融合模块以获得最终的深度点云数据。
[0051] 并且,本申请还提供了一种用于深度相机的深度点云矫正系统,其包括:源数据获取模块,用于获取由深度相机采集的源数据;深度计算模块,用于对由所述源数据获取模块获得的源数据以生成第一深度点云数据;深度矫正模块,用于基于由所述源数据获取模块获得的源数据生成第二深度点云数据;异常点云检测模块,用于标记所述第一深度点云数据和所述第二深度点云数据中的异常点云标记数据,其中,所述异常点云检测模块进一步用于基于所述第一深度点云数据和所述第二深度点云数据之间的差值以及差值之间的绝对值来标记所述异常点云标记数据;以及,深度融合模块,用于基于异常点云标记数据将所述第一深度点云数据和所述第二深度点云数据进行融合以生成最终的深度点云数据。
[0052] 在介绍本申请的基本原理之后,下面将参考附图来具体介绍本申请的各种非限制性实施例。
[0053] 示例性深度点云矫正方法
[0054] 如图1所示,根据本申请实施例的用于深度相机的深度点云矫正方法被阐明,所述用于深度相机的深度点云矫正方法包括:S110,获取由深度相机采集的源数据;S120,基于所述源数据并通过深度计算模块和深度矫正模块生成第一深度点云数据和第二深度点云数据;S130,将所述第一深度点云数据和所述第二深度点云数据通过异常点云检测模块以获得异常点云标记数据,其中,所述异常点云检测模块用于基于所述第一深度点云数据和所述第二深度点云数据之间的绝对差异以及相对差异来标记所述异常点云标记数据;以及,S140,将所述第一深度点云数据、所述第二深度点云数据和所述异常点云标记数据通过深度融合模块以获得最终的深度点云数据。
[0055] 在步骤S110中,获取由深度相机采集的源数据。具体地,在本申请的一些实施例中,通过i‑TOF深度相机采集源数据,i‑TOF深度相机的频率可为单频,也可为双频,对此,并不为本申请所局限,频率配比同样不为本申请所局限。
[0056] 应可以理解,在本申请实施例中,也可通过其他深度相机采集源数据,并通过其他方式获得各个像素点的深度值和灰度值。为了便于说明和理解,以下以深度相机被实施为i‑TOF深度相机为示例来说明根据本申请实施例的深度点云矫正方法。
[0057] 所述源数据包括各个像素点不同相位的光电转换值,通过多个像素点对应的多个光电转换值可计算获得各个像素点的深度值和灰度值,以生成深度图和灰度图。进一步地,可将所述深度图转换为深度点云数据。
[0058] 值得一提的是,i‑TOF深度相机在工作过程中容易受多路径干扰(MPI)的影响,使得所获得的深度点云数据存在误差,因此,需对深度点云数据进行矫正。
[0059] 相应地,在步骤S120中,基于所述源数据并通过深度计算模块和深度矫正模块生成第一深度点云数据和第二深度点云数据。所述第一深度点云数据包括:各个像素点的第一深度值,所述第二深度点云数据包括:各个像素点的经过矫正的深度值(即,第二深度值)。在本申请的一些实施例中,所述第一深度点云数据进一步包括各个像素点的第一灰度值,所述第二深度点云数据进一步包括:各个像素点的第二灰度值。
[0060] 如前所述,所述源数据包括各个像素点不同相位的光电转换值。可基于一像素点的相间隔的两个相位的光电转换值的差值与该像素点的相间隔的另外两个相位的光电转换值的差值之间的比值获得相位差,并基于所述相位差和光速确定该像素点的深度值,通过这样的方式获得所有像素点的深度值。可基于一像素点的相间隔的两个相位的光电转换值的差值绝对值与该像素点的相间隔的另外两个相位的光电转换值的差值绝对值确定该像素点的灰度值,通过这样的方式获得所有像素点的灰度值。
[0061] 在本申请实施例中,可分别将所述源数据通过所述深度计算模块和所述深度矫正模块以获得所述第一深度点云数据和所述第二深度点云数据,也可分别将所述源数据和所述第一深度点云数据通过所述深度矫正模块以获得所述第一深度点云数据和所述第二深度点云数据,还可分别将所述源数据和中间结果(例如,每一像素点相间隔的两个相位的光电转换值的差值、每一像素点相间隔的另外两个相位的光电转换值的差值、相位差)分别通过所述深度计算模块和所述深度矫正模块以获得所述第一深度点云数据和所述第二深度点云数据。
[0062] 相应地,在本申请的一些实施例中,以所述源数据作为输入所述深度计算模块和所述深度矫正模块的输入数据。步骤S120,包括:将所述源数据通过所述深度计算模块以获得所述第一深度点云数据;以及,将所述源数据通过所述深度矫正模块以获得所述第二深度点云数据。优选地,以上两个步骤被并行地执行,即,深度计算和深度矫正可同时进行,以提高工作效率。当然两个步骤也可被先后被执行,对此,并不为本申请所局限。
[0063] 在本申请的另一些实施例中,以所述源数据作为输入所述深度计算模块的输入数据,以所述源数据和中间结果,或者,仅以所述中间结果作为输入所述深度矫正模块的输入数据,可通过深度计算模块计算得到所述中间结果后将其输入所述深度矫正模块,也可将存储于存储介质中的中间结果直接输入所述深度矫正模块。步骤S120,包括:将所述源数据通过所述深度计算模块以获得所述第一深度点云数据和中间结果;以及,将所述源数据和/或所述中间结果通过所述深度矫正模块以获得所述第二深度点云数据。
[0064] 在本申请的又一些实施例中,以所述源数据作为输入所述深度计算模块的输入数据,以所述第一深度点云数据作为输入所述深度矫正模块的输入数据,可通过所述深度计算模块计算得到所述第一深度点云数据后将其输入所述深度矫正模块,也可将存储于存储介质中的第一深度点云数据直接输入所述深度矫正模块。步骤S120,包括:将所述源数据通过所述深度计算模块以获得所述第一深度点云数据;以及,将所述第一深度点云数据通过所述深度矫正模块以获得所述第二深度点云数据。
[0065] 在本申请实施例中,可通过深度学习的方法生成所述第二深度点云数据。相应地,所述深度矫正模块包括用于深度数据矫正的神经网络模型,所述神经网络模型通过有监督学习方法训练而成,以获得较为准确的第二深度点云数据。
[0066] 在对点云进行矫正的过程中,需要确定异常区域,在对异常点云做出准确判断的前提下再对异常点云进行修正,以提高矫正准确度。相应地,在步骤S130中,将所述第一深度点云数据和所述第二深度点云数据通过异常点云检测模块以获得异常点云标记数据,如图4所示。
[0067] 特别地,在本申请实施例中,通过二级判断的方式来提高异常点云的判断准确性。如前所述,i‑TOF深度相机在工作过程中容易受多路径干扰(MPI)的影响。在判断通过i‑TOF深度相机获得的深度点云是否受到多路径干扰的过程中,本申请的发明人发现,当深度点云图像中某区域通过深度计算模块生成的第一深度点云数据和深度矫正模块生成的第二深度点云数据之间的绝对差异过大时,该区域的深度点云很可能受到了多路径干扰。为了进一步确定深度点云是否受到多路径干扰,进一步观察发现,所述第一深度点云数据和所述第二深度点云数据之间的相对差异可被用于进一步判断点云是否存在异常。具体地,通常,当所述第一深度点云数据和所述第二深度点云数据之间的绝对差异过大,且所述第一深度点云数据中的深度值大于所述第二深度点云数据中的深度值时,该区域的深度点云受到了多路径干扰。
[0068] 相应地,在本申请实施例中,所述异常点云检测模块包括多路径检测模块,步骤S130,包括:将所述第一深度点云数据和所述第二深度点云数据通过所述多路径检测模块以获得异常点云标记数据,所述异常点云标记数据为多路径干扰异常数据,如图5所示。所述异常点云检测模块用于基于所述第一深度点云数据和所述第二深度点云数据之间的绝对差异进行一级判断,并基于所述第一深度点云数据和所述第二深度点云数据之间的相对差异进行二级判断,以标记所述异常点云标记数据。
[0069] 在将所述第一深度点云数据和所述第二深度点云数据通过异常点云检测模块以获得异常点云标记数据的过程中,首先,计算所述第一深度点云数据和所述第二深度点云数据之间各组对应的像素点之间的深度值之差的绝对值作为两者之间的绝对差异,即,所述第一深度点云数据和所述第二深度点云数据之间的绝对差异用所述第一深度点云数据和所述第二深度点云数据之间各组对应的像素点之间的深度值之差的绝对值来表示。接着,通过所述第一深度点云数据和所述第二深度点云数据之间的绝对差异对点云进行一级判断,如果所述各组对应的像素点之间的深度值之差的绝对值小于等于预设阈值,则确定该组像素点不属于所述异常点云标记数据,所述预设阈值可根据实际需求确定,所述预设阈值的获取方式和具体表现形式并不为本申请所局限,可根据经验获得,也可通过深度学习训练得到的模型获得,可为固定值,也可为自适应阈值;如果所述各组对应的像素点之间的深度值之差的绝对值大于预设阈值,则通过所述第一深度点云数据和所述第二深度点云数据之间的相对差异对点云进行二级判断。
[0070] 具体地,将所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值作为所述第一深度点云数据和所述第二深度点云数据之间的相对差异,即,所述第一深度点云数据和所述第二深度点云数据之间的相对差异用所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值来表示,并判断所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值是否大于0;如果判断所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值大于0,即,该组对应的像素点中所述第一深度点云数据的像素点的深度值大于所述第二深度点云数据的像素点的深度值,则确定该组像素点属于所述异常点云标记数据;如果判断所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值小于等于0,即,该组对应的像素点中所述第一深度点云数据的像素点的深度值小于等于所述第二深度点云数据的像素点的深度值,则确定该组像素点不属于所述异常点云标记数据。
[0071] 相应地,步骤S130,包括:计算所述第一深度点云数据和所述第二深度点云数据之间各组对应的像素点之间的深度值之差的绝对值作为两者之间的绝对差异;如果所述各组对应的像素点之间的深度值之差的绝对值小于等于预设阈值,则确定该组像素点不属于所述异常点云标记数据;如果所述各组对应的像素点之间的深度值之差的绝对值大于预设阈值,则将所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值作为所述第一深度点云数据和所述第二深度点云数据之间的相对差异,并判断所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值是否大于0;和,如果判断所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值大于0,则确定该组像素点属于所述异常点云标记数据;以及,如果判断所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值小于等于0,则确定该组像素点不属于所述异常点云标记数据。
[0072] 确定异常点云标记数据后可对异常的深度点云数据进行修正,以获得最终的深度点云数据。相应地,在步骤S140中,将所述第一深度点云数据、所述第二深度点云数据和所述异常点云标记数据通过深度融合模块以获得最终的深度点云数据。
[0073] 在本申请的一些实施例中,如果所述第一深度点云数据和所述第二深度点云数据中一组对应的像素点被判定为所述异常点云标记数据,则取所述第二深度点云数据中的像素点作为所述最终的深度点云数据的像素点,如果所述第一深度点云数据和所述第二深度点云数据中一组对应的像素点未被判定为所述异常点云标记数据,则取所述第一深度点云数据中的像素点作为所述最终的深度点云数据的像素点。
[0074] 相应地,在本申请的一些实施例中,步骤S140,包括:响应于所述第一深度点云数据和所述第二深度点云数据中一组对应的像素点属于所述异常点云标记数据,则取所述第二深度点云数据中的像素点作为所述最终的深度点云数据的像素点;以及,响应于所述第一深度点云数据和所述第二深度点云数据中一组对应的像素点不属于所述异常点云标记数据,则取所述第一深度点云数据中的像素点作为所述最终的深度点云数据的像素点。
[0075] 在本申请的其他实施例中,可通过其他方式确定最终的深度点云数据,例如,响应于所述第一深度点云数据和所述第二深度点云数据中一组对应的像素点属于所述异常点云标记数据,则基于所述第一深度点云数据和所述第二深度点云数据确定第三深度点云数据,取所述第三深度点云数据中的像素点作为所述最终的深度点云数据的像素点,其中,所述第三深度点云数据的各个像素点的深度值为所述第一深度点云数据和所述第二深度点云数据之间各组对应的像素点之间的深度值的加权和。响应于所述第一深度点云数据和所述第二深度点云数据中一组对应的像素点不属于所述异常点云标记数据,则取所述第一深度点云数据中的像素点作为所述最终的深度点云数据的像素点。
[0076] 在本申请的变形实施例中,可对通过其他类型的深度相机获取的点云进行矫正。以主动双目结构光深度相机为例,在前后景场景中,主动双目结构光深度相机往往会由于视场遮挡问题,导致被摄目标的边界点云错误。在本申请的一个变形实施例中,可针对上述问题对通过主动双目结构光深度相机获得的点云进行矫正。
[0077] 具体地,如图6所示,首先,获取由主动双目结构光深度相机采集的源数据。接着,基于所述源数据并通过深度计算模块和深度矫正模块生成第一深度点云数据和第二深度点云数据。深度矫正模块包括以典型前后景场景数据为输入数据经深度学习训练所得的模型,该模型在前后景边界区域可以获得较好的矫正效果,而在非边界区域的矫正效果不做限制。然后,将所述第一深度点云数据和所述第二深度点云数据通过异常点云检测模块以获得异常点云标记数据。所述异常点云检测模块包括边界检测模块,可将所述第一深度点云数据和所述第二深度点云数据通过所述边界检测模块以获得异常点云标记数据,其中,所述异常点云标记数据为边界区域数据,所述异常点云检测模块用于通过边界检测算法(例如,canny算法、sobel算法)标记边界区域数据。最后,将所述第一深度点云数据、所述第二深度点云数据和所述异常点云标记数据通过深度融合模块以获得最终的深度点云数据。响应于所述第一深度点云数据和所述第二深度点云数据中一组对应的像素点属于所述异常点云标记数据(边界区域数据),则取来自深度矫正模块的第二深度点云数据中的像素点作为最终的深度点云数据的像素点;响应于所述第一深度点云数据和所述第二深度点云数据中一组对应的像素点不属于所述异常点云标记数据(边界区域数据),则取所述第一深度点云数据中的像素点作为所述最终的深度点云数据的像素点。
[0078] 综上,所述用于深度相机的深度点云矫正方法被阐明,所述用于深度相机的深度点云矫正方法提出了一种异常点云的评判体系,以提高对异常点云的判断准确度,进而,基于对异常点云较为准确的判断确定最终的深度点云数据,以改善点云矫正效果。并且,所述用于深度相机的深度点云矫正方法通过二级判断标准判断点云是否存在异常,以提高判断准确性。
[0079] 示例性深度点云矫正系统
[0080] 根据本申请的另一方面,还提供了一种用于深度相机的深度点云矫正系统10,如图2所示,根据本申请实施例的所述用于深度相机的深度点云矫正系统10包括:源数据获取模块11、深度计算模块12、深度矫正模块13、异常点云检测模块14、深度融合模块15。
[0081] 具体地,所述源数据获取单元11用于获取由深度相机采集的源数据。所述源数据包括各个像素点不同相位的光电转换值,通过多个像素点对应的多个光电转换值可计算获得各个像素点的深度值和灰度值,以生成深度图和灰度图。进一步地,可将所述深度图转换为深度点云数据。
[0082] 所述深度计算模块12用于对由所述源数据获取模块获得的源数据以生成第一深度点云数据。述第一深度点云数据包括:各个像素点的第一深度值,在本申请的一些实施例中,所述第一深度点云数据进一步包括各个像素点的第一灰度值。
[0083] 可基于一像素点的相间隔的两个相位的光电转换值的差值与该像素点的相间隔的另外两个相位的光电转换值的差值之间的比值获得相位差,并基于所述相位差和光速确定该像素点的深度值,通过这样的方式获得所有像素点的深度值。可基于一像素点的相间隔的两个相位的光电转换值的差值绝对值与该像素点的相间隔的另外两个相位的光电转换值的差值绝对值确定该像素点的灰度值,通过这样的方式获得所有像素点的灰度值。
[0084] 深度相机在工作过程中容易受各种因素(例如,多路径干扰(MPI))的影响,使得所获得的深度点云数据存在误差,因此,需对深度点云数据进行矫正。所述深度矫正模块13用于基于由所述源数据获取模块获得的源数据生成第二深度点云数据。所述第二深度点云数据包括:各个像素点的经过矫正的深度值(即,第二深度值),在本申请的一些实施例中,所述第二深度点云数据进一步包括:各个像素点的第二灰度值。
[0085] 所述异常点云检测模块14用于标记所述第一深度点云数据和所述第二深度点云数据中的异常点云标记数据,其中,所述异常点云检测模块进一步用于基于所述第一深度点云数据和所述第二深度点云数据之间的差值以及差值之间的绝对值来标记所述异常点云标记数据。
[0086] 特别地,在本申请实施例中,通过二级判断的方式来提高异常点云的判断准确性。如前所述,i‑TOF深度相机在工作过程中容易受多路径干扰(MPI)的影响。在判断通过i‑TOF深度相机获得的深度点云是否受到多路径干扰的过程中,本申请的发明人发现,当深度点云图像中某区域通过深度计算模块生成的第一深度点云数据和深度矫正模块生成的第二深度点云数据之间的绝对差异过大时,该区域的深度点云很可能受到了多路径干扰。为了进一步确定深度点云是否受到多路径干扰,进一步观察发现,所述第一深度点云数据和所述第二深度点云数据之间的相对差异可被用于进一步判断点云是否存在异常。具体地,通常,当所述第一深度点云数据和所述第二深度点云数据之间的相对差异过大,且所述第一深度点云数据中的深度值大于所述第二深度点云数据中的深度值时,该区域的深度点云受到了多路径干扰。
[0087] 相应地,在本申请实施例中,所述异常点云检测模块用于基于所述第一深度点云数据和所述第二深度点云数据之间的绝对差异进行一级判断,并基于所述第一深度点云数据和所述第二深度点云数据之间的相对差异进行二级判断,以标记所述异常点云标记数据,所述异常点云标记数据为多路径干扰异常数据。
[0088] 在将所述第一深度点云数据和所述第二深度点云数据通过异常点云检测模块以获得异常点云标记数据的过程中,首先,计算所述第一深度点云数据和所述第二深度点云数据之间各组对应的像素点之间的深度值之差的绝对值作为两者之间的绝对差异,即,所述第一深度点云数据和所述第二深度点云数据之间的绝对差异用所述第一深度点云数据和所述第二深度点云数据之间各组对应的像素点之间的深度值之差的绝对值来表示。接着,通过所述第一深度点云数据和所述第二深度点云数据之间的绝对差异对点云进行一级判断,如果所述各组对应的像素点之间的深度值之差的绝对值小于等于预设阈值,则确定该组像素点不属于所述异常点云标记数据,所述预设阈值可根据实际需求确定,所述预设阈值的获取方式和具体表现形式并不为本申请所局限,可根据经验获得,也可通过深度学习训练得到的模型获得,可为固定值,也可为自适应阈值;如果所述各组对应的像素点之间的深度值之差的绝对值大于预设阈值,则通过所述第一深度点云数据和所述第二深度点云数据之间的相对差异对点云进行二级判断。
[0089] 具体地,将所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值作为所述第一深度点云数据和所述第二深度点云数据之间的相对差异,即,所述第一深度点云数据和所述第二深度点云数据之间的相对差异用所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值来表示,并判断所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值是否大于0;如果判断所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值大于0,即,该组对应的像素点中所述第一深度点云数据的像素点的深度值大于所述第二深度点云数据的像素点的深度值,则确定该组像素点属于所述异常点云标记数据;如果判断所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值小于等于0,即,该组对应的像素点中所述第一深度点云数据的像素点的深度值小于等于所述第二深度点云数据的像素点的深度值,则确定该组像素点不属于所述异常点云标记数据。
[0090] 相应地,如图3所示,所述异常点云检测模块14包括:绝对值计算单元141、一级判断单元142、二级判断单元143、二级判断结果生成单元144。所述绝对值计算单元141用于计算所述第一深度点云数据和所述第二深度点云数据之间各组对应的像素点之间的深度值之差的绝对值作为两者之间的绝对差异。所述一级判断单元142用于执行:如果所述各组对应的像素点之间的深度值之差的绝对值小于等于预设阈值,则确定该组像素点不属于所述异常点云标记数据。所述二级判断单元143用于执行:如果所述各组对应的像素点之间的深度值之差的绝对值大于预设阈值,则将所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值作为所述第一深度点云数据和所述第二深度点云数据之间的相对差异,并判断所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值是否大于0。所述二级判断结果生成单元144用于执行:如果判断所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值大于0,则确定该组像素点属于所述异常点云标记数据;以及,如果判断所述第一深度点云数据中像素点的深度值减去所述第二深度点云数据中对应像素点的深度值所获得的差值小于等于0,则确定该组像素点不属于所述异常点云标记数据。
[0091] 所述深度融合模块15用于基于异常点云标记数据将所述第一深度点云数据和所述第二深度点云数据进行融合以生成最终的深度点云数据。在本申请的一个具体示例中,所述深度融合模块15进一步用于响应于所述第一深度点云数据和所述第二深度点云数据中一组对应的像素点属于所述异常点云标记数据,则取所述第二深度点云数据中的像素点作为所述最终的深度点云数据的像素点;以及,响应于所述第一深度点云数据和所述第二深度点云数据中一组对应的像素点不属于所述异常点云标记数据,则取所述第一深度点云数据中的像素点作为所述最终的深度点云数据的像素点。
[0092] 综上,所述用于深度相机的深度点云矫正系统10被阐明,所述用于深度相机的深度点云矫正系统10能够通过构建异常点云的评判体系较为准确地判断点云是否存在异常,进而,基于对异常点云较为准确的判断确定最终的深度点云数据,以改善点云矫正效果。并且,所述用于深度相机的深度点云矫正系统通过二级判断标准判断点云是否存在异常,以提高判断准确性。
[0093] 示例性深度相机
[0094] 根据本申请的又一方面,还提供了一种深度相机60,如图7所示,所述深度相机60包括:处理器61和存储器62,在所述存储器62中存储有计算机程序指令,所述计算机程序指令在被所述处理器61运行时使得所述处理器61执行参考图1至图6示意的深度点云矫正方法。这里,所述深度点云矫正方法已经在上面参考图1至图6示意的所述用于深度相机的深度点云矫正方法的描述中得到了详细介绍,并因此,将省略其重复描述。
[0095] 综上,所述深度相机60被阐明,所述深度相机60可执行用于深度相机的深度点云矫正方法来构建异常点云的评判体系,较为准确地判断点云是否存在异常,进而,基于对异常点云较为准确的判断确定最终的深度点云数据,以改善点云矫正效果。并且,所述深度相机通过二级判断标准判断点云是否存在异常,以提高判断准确性。
[0096] 本领域的技术人员应理解,上述描述及附图中所示的本申请的实施例只作为举例而并不限制本申请。本申请的目的已经完整并有效地实现。本申请的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本申请的实施方式可以有任何变形或修改。