深度图像增强方法和装置转让专利

申请号 : CN201210364574.8

文献号 : CN103679641B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宫卫涛张文波李磊

申请人 : 株式会社理光

摘要 :

提供了一种深度图像增强方法和装置,该方法可以包括:对于当前帧的深度图像的区域,基于深度图像序列,检测运动;对于当前帧的深度图像的区域,根据运动检测的结果,在时域上确定要选取的先前帧的数目,并且对于所选取的先前帧和当前帧从区域中选择像素形成像素组;利用该像素组通过训练或更新来维护预定概率统计模型;以及基于维护的概率统计模型,修正当前帧的该区域中的每个像素的深度值。通过根据区域的运动程度来确定像素组的时域范围(和/或空域范围),制备用于维护模型的数据;依据所选的像素组来动态训练或更新预定概率统计模型,相比于用单个像素来建模的情况,得到更准确的概率统计模型和概率估计,更适当地修正像素的深度值。

权利要求 :

1.一种深度图像增强方法,包括:

对于当前帧的深度图像的区域,基于深度图像序列,检测运动;

对于当前帧的深度图像的区域,根据运动检测的结果,在时域上确定要选取的先前帧的数目,并且对于所选取的先前帧和当前帧从区域中选择像素形成像素组;

利用该像素组通过训练或更新来维护概率统计模型,当以每个像素的深度值或者像素组的深度值作为概率统计模型的输入时,概率统计模型给出表征该像素的深度值的准确概率的准确度或者像素组的深度值的准确概率的准确度作为输出;以及基于维护的概率统计模型,修正像素组中当前帧的该区域中的每个像素的深度值。

2.根据权利要求1的深度图像增强方法,其中基于维护的概率统计模型,修正像素组中当前帧的该区域中的每个像素的深度值包括:基于像素组的深度值的准确度,修正像素组的深度值;以及基于修正后的像素组的深度值和像素组中当前帧的该区域中每个像素的深度值是否有效,修正像素组中当前帧的该区域中每个像素的深度值。

3.根据权利要求1的深度图像增强方法,还包括:

对所述像素组进行统计分析以获得关于像素组的深度值的统计特征;以及基于像素组深度值的统计特征,确定更新概率统计模型的学习速度。

4.根据权利要求1的深度图像增强方法,还包括:

对所述像素组进行统计分析以获得关于像素组的深度值的统计特征;

其中,修正像素组中当前帧的该区域中的每个像素的深度值包括:基于像素组深度值的统计特征和基于概率统计模型两者来修正像素组中当前帧的该区域中的每个像素的深度值。

5.根据权利要求4的深度图像增强方法,其中概率统计模型为混合高斯模型,以及其中基于像素组深度值的统计特征和基于概率统计模型两者来修正像素组中当前帧的该区域中的每个像素的深度值包括:如果像素组的深度值的准确度大于等于预定阈值,基于像素组的深度值、像素组的深度值的准确度、混合高斯模型中与像素组匹配的分布的参数,修正像素组的深度值;

如果像素组的深度值的准确度小于预定阈值,基于像素组的深度值、像素组的准确度、像素组深度值的统计特征,修正像素组的深度值;以及基于修正后的像素组的深度值和像素组中当前帧的该区域中每个像素的深度值是否有效,修正像素组中当前帧的该区域中每个像素的深度值。

6.根据权利要求2或5的深度图像增强方法,其中基于修正后的像素组的深度值和像素组中当前帧的该区域中每个像素的深度值是否有效,修正像素组中当前帧的该区域中每个像素的深度值包括:如果像素组中当前帧的该区域中的一个像素的深度值无效,则用像素组的深度值作为该像素的深度值;以及如果像素组中当前帧的该区域中的一个像素的深度值有效,则基于像素组的深度值修正该像素的深度值。

7.根据权利要求1的深度图像增强方法,其中利用该像素组通过训练或更新来维护概率统计模型包括:如果根据运动检测的结果,确定该区域是运动的,则初始化概率统计模型,并利用该像素组通过训练来维护概率统计模型;以及如果根据运动检测的结果,确定该区域不是运动的,则利用该像素组通过更新来维护概率统计模型。

8.根据权利要求1的深度图像增强方法,其中根据运动检测的结果,在时域上确定要选取的先前帧的数目包括:在时域上选择的先前帧的数目随着区域的运动程度的增加而减少。

9.根据权利要求1或8的深度图像增强方法,其中选择像素形成像素组还包括:根据区域的运动程度,在空域上调整区域的大小,使得调整后的区域的运动程度小于调整前的区域的运动程度,以及对于所选取的先前帧和当前帧从调整后的区域中选择像素形成像素组。

10.一种深度图像增强装置,包括:

区域运动检测部件,对于当前帧的深度图像的区域,基于深度图像序列,检测运动;

像素组形成部件,对于当前帧的深度图像的区域,根据运动检测的结果,在时域上确定要选取的先前帧的数目,并且对于所选取的先前帧和当前帧从区域中选择像素形成像素组;

概率统计模型维护部件,利用该像素组通过训练或更新来维护概率统计模型,当以每个像素的深度值或者像素组的深度值作为概率统计模型的输入时,概率统计模型给出表征该像素的深度值的准确概率的准确度或者像素组的深度值的准确概率的准确度作为输出;

以及

深度值修正部件,基于维护的概率统计模型,修正像素组中当前帧的该区域中的每个像素的深度值。

说明书 :

深度图像增强方法和装置

技术领域

[0001] 本发明总体地涉及图像处理,更具体地涉及深度图像增强方法和装置。

背景技术

[0002] 基于视觉的深度测量广泛用于人机交互、目标检测和跟踪等领域。
[0003] 但是,由于周围环境、硬件或软件的计算资源的限制等因素,仍存在深度测量准确性上不能满足要求的问题,例如不能满足触摸屏之类的人机交互场景下所需的高准确率。
[0004] 在题为“Method,medium,and apparatus of filtering depth noise using depth information”的美国专利公开US20100183236公开的技术中,采用深度信息来过滤深度噪声,其中直接利用通用的彩色图像噪声滤波器,并且根据深度信息调整滤波器参数。
[0005] 在题为“APPARATUS,METHOD AND COMPUTER-READABLE MEDIUM GENERATING DEPTH MAP”的美国专利公开US20110026808公开的技术中,基于2个像素,即t时刻的第一像素P1(x,y,t)和t+Δt时刻的第二像素P2(x+Δx,y+Δy,t+Δt),的深度值相似度、距离和区别来为人类视觉感知(Human Visual Perception,HVP)模型计算平滑度S(P1,P2),其中根据期待的平滑效果手工决定Δx、Δy和Δt的大小。
[0006] 在题为“Method and device for processing depth image sequence”的华为技术有限公司的国际申请公开WO2010083750中公开的技术中,为了解决深度图像序列的图像质量和时间一致性低(静止区域的深度值抖动)的问题,同时解决由此造成的深度图像压缩算法的压缩预测残差和比特率升高的问题,利用视频压缩技术来修正噪声,例如:采用运动估计的方法,计算深度图像序列的绝对差别的总和(SAD),计算纹理图像序列的运动向量,然后根据运动估计的结果调整深度值。

发明内容

[0007] 根据发明人的观察,深度测量结果中的不准确像素的特征有以下几个(:1)即便是不准确的像素,有时也会有准确的结果(;2)一些周围的像素的深度值是准确的;(3)不准确的测量结果由环境、硬件和软件等多种问题引起,这些错误的检测结果的模式很复杂,难以精确解释。
[0008] 关于不准确的深度测量结果修正,发明人认为目前有以下几个重要问题:(1)普通的彩色图像增强方法不适合深度图像处理,因为彩色图像和深度图像的特征不一样;(2)数据动态建模的方法可以分割出稳定性不同的数据分布,但对于单个像素的深度数据建模,由于深度不准确的像素值准确的概率很低,所以无法获得它准确的深度数据;(3)因为物体移动在人机交互场景下很常见,所以需要考虑物体移动对检测的影响。
[0009] 基于上述发现,为了解决上述问题中的一个或多个,发明人做出了如下发明。
[0010] 根据本发明的实施例,提供了一种深度图像增强方法,可以包括:对于当前帧的深度图像的区域,基于深度图像序列,检测运动;对于当前帧的深度图像的区域,根据运动检测的结果,在时域上确定要选取的先前帧的数目,并且对于所选取的先前帧和当前帧从区域中选择像素形成像素组;利用该像素组通过训练或更新来维护预定概率统计模型,当以每个像素的深度值或者像素组的深度值作为概率统计模型的输入时,概率统计模型给出表征该像素的深度值或者像素组的深度值的准确概率的准确度作为输出;以及基于维护的概率统计模型,修正像素组中当前帧的该区域中的每个像素的深度值。
[0011] 根据本发明的另一实施例,提供了一种深度图像增强装置,可以包括:一种深度图像增强装置,可以包括:区域运动检测部件,对于当前帧的深度图像的区域,基于深度图像序列,检测运动;像素组形成部件,对于当前帧的深度图像的区域,根据运动检测的结果,在时域上确定要选取的先前帧的数目,并且对于所选取的先前帧和当前帧从区域中选择像素形成像素组;概率统计模型维护部件,利用该像素组通过训练或更新来维护预定概率统计模型,当以每个像素的深度值或者像素组的深度值作为概率统计模型的输入时,概率统计模型给出表征该像素的深度值或者像素组的深度值的准确概率的准确度作为输出;以及深度值修正部件,基于维护的概率统计模型,修正像素组中当前帧的该区域中的每个像素的深度值。
[0012] 利用根据本发明实施例的深度图像增强方法和深度图像增强装置,根据区域的运动程度来确定像素组的时域范围(和/或空域范围),从而制备用于维护模型的数据;并且依据所选的像素组来动态训练或更新预定概率统计模型,并根据概率统计模型估计的像素组或者单个像素的深度数据准确的概率,来修正像素的深度值,因此相比于用单个像素来建模的情况,能更准确地获得适当模型,从而得到更准确的概率统计模型和概率估计,由此更适当地修正像素的深度值。

附图说明

[0013] 图1示出了根据本发明一个实施例的应用本发明技术的场景的示例的示意图。
[0014] 图2示出了根据本发明第一实施例的深度图像增强方法的总体流程图。
[0015] 图3示出了以伪色彩图像形式显示的视差图像或深度图像的示例。
[0016] 图4示意性地示出了建模数据制备的概率处理流程示例。
[0017] 图5示意性地给出了相关像素组的数据动态建模的例子。
[0018] 图6示出了根据本发明实施例的基于概率统计模型修正像素的深度值的第一示例性方法的流程图。
[0019] 图7示出了根据本发明实施例的基于概率统计模型修正像素的深度值的第二示例性方法的流程图。
[0020] 图8示出了相关像素组的数据统计分析的例子。
[0021] 图9示出了根据本发明一个实施例基于像素组深度值的统计特征和基于概率统计模型两者来修正像素组中当前帧的区域中的每个像素的深度值的方法示例的流程图。
[0022] 图10示出了根据本发明一个实施例的含基于像素组的统计特征和概率统计模型修正深度值的步骤的完整的示例性时间序列。
[0023] 图11示出了根据本发明实施例的深度图像增强装置的功能配置框图。
[0024] 图12是示出按照本发明实施例的深度图像增强系统的总体硬件框图。

具体实施方式

[0025] 为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明作进一步详细说明。
[0026] 将按下列顺序进行描述:
[0027] 1、应用场景示例
[0028] 2、第一实施例(深度图像增强方法)
[0029] 2.1、深度图像增强方法的总体流程
[0030] 2.2、基于概率统计模型修正像素的深度值的第一示例
[0031] 2.3、基于概率统计模型修正像素的深度值的第二示例
[0032] 2.4、基于像素组的统计特征和概率统计模型修正深度值的完整顺序概述[0033] 2.5、概率统计模型中学习速率α的确定
[0034] 3、第二实施例(深度图像增强装置)
[0035] 4、系统硬件配置
[0036] 5、总结
[0037] 1、应用场景示例
[0038] 图1示出了根据本发明一个实施例的应用本发明技术的场景的示例的示意图。如图所示,诸如双目相机的图像捕捉设备拍摄测量对象的例如左右图像序列或者直接得到深度图像序列,并将其发给诸如个人计算机、工作站等的深度计算设备,深度计算设备计算得到测量结果的深度图,其中在计算过程中应用了本发明实施例的深度图像增强技术。
[0039] 2、第一实施例(深度图像增强方法)
[0040] 2.1、深度图像增强方法的总体流程
[0041] 图2示出了根据本发明第一实施例的深度图像增强方法100的总体流程图。
[0042] 如图2所示,在步骤S110中,对于当前帧的深度图像的区域,基于深度图像序列,检测运动。
[0043] 这里,假定深度图像序列已经获得,例如可以是本地实时计算的,从外部例如通过网络输入的等等。
[0044] 图3示出了以伪色彩图像形式显示的视差图像或深度图像的示例。因为专利文件中不允许彩色图像的形式,因此这里以不同灰度的黑白图像形式显示,不同的灰度指示不同的视差或深度。
[0045] 关于深度图像的区域,例如,在运动检测之前,可以把深度图像按照预定义切分大小分为多个小区域,例如预定义切分大小为3个像素*3个像素。然后在每个独立的小区域内进行运动检测来检测该区域内是否存在移动。
[0046] 当然,也可以是仅仅针对深度图像的某个感兴趣区域进行运动检测以及后续的动态建模、深度增强等处理。
[0047] 可以使用现有技术来检测运动。例如,获得当前帧和前一帧的对应区域之间的差值,当然也用当前帧和前一帧相减,然后计算相应区域内的不同。然后把两帧的对应区域的差值和预定义的运动差分阈值相比。如果关于当前帧的区域差值比阈值更大,则认为当前帧的该区域存在移动。另外,也可以为针对该区域计算运动程度,来标示区域运动程度的大小。区域运动程度的值可以被标准化到[0,1]来标示运动程度的大小。
[0048] 这里,采用当前帧和前一帧共两帧来检测当前帧某区域内是否存在运动仅为示例,本发明并不局限于此,当然也可以采用当前帧和之前多帧例如前两帧来检测当前帧的区域运动,例如分别计算先前帧和前两帧差值、并利用平均差值来评价当前帧某区域内是否存在运动。
[0049] 在步骤S120中,对于当前帧的深度图像的区域,根据运动检测的结果,在时域上确定要选取的先前帧的数目,并且对于所选取的先前帧和当前帧从区域中选择像素形成像素组。
[0050] 在时域上确定要选取的先前帧的数目即确定时域的范围,其表示在多少个连续的深度图像序列中选取相关的像素点。例如,时域的范围可以利用下述公式(1)根据像素组的运动程度(d)来计算,例如:
[0051]
[0052] 可见运动程度越大,选取的先前帧的数目越少,这是因为运动的程度越大,之前帧可以提供用来构建相关像素组的有效相关像素就更少。当然,上述公式(1)仅为示例,可以根据需要设计各种形式的适当公式。
[0053] 选择像素形成像素组还可以包括:根据区域的运动程度,在空域上调整区域的大小,使得调整后的区域的运动程度小于调整前的区域的运动程度,以及对于所选取的先前帧和当前帧从调整后的区域中选择像素形成像素组。
[0054] 空域的大小,也即空域的范围,表示我们选取多少个临近的相关像素点来构建相关像素组。例如,缺省的空域范围大小为3个像素*3个像素。还可以根据预定运动程度阈值d_spsize来判断是否当前的空域范围需要被扩大。例如,如果当前的像素组运动程度d大于预定运动程度阈值d_spsize,增大空域范围到10个像素*10个像素,然后使用与上述计算运动程度相同的方法计算这个增大后的相关像素组的运动程度(d1)。如果增大后的相关像素组的运动程度(d1)比之前的相关像素组的运动程度(d)小,我们则保留这个大的空域范围作为新的空域范围,否则我们仍使用缺省的空域范围。进行上述操作是因为希望通过增大空域范围来减小运动对检测结果造成的影响。
[0055] 通过诸如图4所示的深度图像的序列进行预处理来准备后续用于维护预定概率统计模型的数据。
[0056] 图4示意性地示出了建模数据制备的概率处理流程示例。在这个例子中,将以右上角和右下角两区域作为示例来说明依据运动程度不同而在时域(可选地结合空域)设置不同的选择范围,其中右上角框中的区域内是稳定即不存在运动或者运动程度低于预定阈值的区域,右下角区域是检测出存在运动或运动程度高于阈值的区域。示例性地,缺省空域范围是3个像素*3个像素。示例性地,稳定区域即右上角内的时域范围为10帧连续的输入图像,或者说所选取的先前帧的数目为9帧,运动区域即右下角内的时域范围为1帧输入图像,或者说所选取的先前帧的数目为0帧。然后从所选取的图像序列中从缺省的空域范围中选择像素形成相关像素组。示例性地,如图4所示,可以把每个相关像素组转化成一个数据矩阵。其中,数据矩阵的水平方向表示空域的维度,竖直方向表示表示时域的维度,可见右上角稳定区域的数据矩阵为10*9的矩阵,而右下角运动区域的数据矩阵为1*9的矩阵。请注意,在本文中,“像素组”和“相关像素组”表示同样的含义,可以替换使用。
[0057] 可见,在本示例中,可以为各个相关像素组准备范围9-90个像素的数据。各个相关像素组被用来训练或者更新对应区域的预定概率统计模型。
[0058] 在图4所示的示例中,为描述方便,对各个区域,仅根据运动程度改变时域范围,而未调整空域范围。不过这仅为示例,本发明并不局限于此,可以根据运动程度既改变时域范围也改变空域范围。
[0059] 顺便说一下,前面的示例考虑的是普通帧的情况。对于例如图像序列中的初始帧,因为不存在先前帧,此时可以仅以默认的空域范围来准备像素组。替代地,也可以对初始一帧或者初始预定帧不进行深度增强处理,而当具有了足够的图像帧时才开始进行图像深度增强处理,例如从第10帧开始才进行深度增强处理。
[0060] 根据运动程度来从时域或空域改变相关像素组的大小,考虑了运动对检测或跟踪的影响,提供比单个像素处理更细节的深度信息,能够更适当地以及更准确地确定概率统计模型,从而能够更准确地增强图像的深度值。
[0061] 在步骤S120中制备得到数据,即区域相关的像素组后,前进到步骤S130。
[0062] 在步骤S130中,利用该像素组通过训练或更新来维护预定概率统计模型,当以每个像素的深度值或者像素组的深度值作为概率统计模型的输入时,作为输出,概率统计模型会给出表征该像素的深度值或者像素组的深度值的准确概率的准确度。
[0063] 在本实施例中,采用了动态数据建模方法,也就是说所建立的模型不是静止不变的,而是随着新数据的输入而被不断更新。
[0064] 动态数据建模可以根据数据的不同的分布稳定性来分割数据。在本实施例中,对一组时域和空域中相关的像素集数据进行动态建模,而不是对单一的像素数据建模,这样同时在一组时域和空域中相关的像素集数据上使用动态建模,可以获得比单个像素的图像处理更多的统计特征。目前有很多已知的数据动态建模方法,可以用来解决数据特征建模和分割问题,例如,我们可以采用一种常见的方法:混合高斯模型(GMM)。
[0065] GMM方法的主要思想是采用多个高斯分布模型来描述每个像素数据的统计特征,因为一个像素的数据会由于环境、硬件和软件的问题不断变化。GMM方法是一种常见的聚类方法,可以处理数据稳定的像素聚类的缓慢变化,适合在深度图像区分准确的深度值和噪声深度值。在GMM方法中,每个像素都使用混合高斯模型来建模。每个高斯分布的混合权重和其他参数都会根据新输入的图像数据来自适应调整。目前,我们在建模过程中使用相关像素组的数据来代替单一的像素数据。例如,我们可以对相关像素组中的所有像素数据使用一组混合高斯模型来建模。相关像素组中的所有像素都被用来创建和更新这一组混合高斯模型,而不是仅仅使用一个单一的像素的数据。
[0066] 这是一个相对复杂的建模方法。假设视频图像序列中的像素组p的历史数据如下式(2)所示:
[0067] {X1,...Xt}={Ii(φ):1≤i≤t}...(2)
[0068] 这里,I是视频图像序列,Ii(φ)是t时刻的像素组p的深度数据。需要说明的是,这里当前像素组P的值Xt即为先前步骤S120中所得到的相关像素组,该相关像素组在时域上的范围(或空域范围)是根据运动程度而变化,并不是仅仅包含当前帧的像素,而是可能包含例如先前9帧和当前帧(即共十帧)在空域范围上的像素,该说明同样适用于X1,…,Xt。GMM方法采用多个(通常3-5个)高斯分布来对该像素组的历史深度数据进行建模,从而观察当前像素组p的值为Xt时的概率分布,定义如下式(3)所示:
[0069]
[0070] 此处,K是分布模型的个数,ωi,t是第i个高斯分布在第t时刻的权重估计值,例如可以用符合此分布的数据所占比例来表征。在t时刻的混合分布模型中, 表示第i个高斯分布的数据的均值,σi,t表示第i个高斯分布模型的方差,η是高斯分布的概率密度函数,定义如下式(4)所示:
[0071]
[0072] 当输入当前像素组Xt中的任一像素数据,即深度值时,把该像素数据和已有的分布模型去比较,找到与该像素数据匹配的分布模型,即当将该像素数据输入GMM分布模型中的各个高斯分布模型时,每个高斯分布模型均给出对应概率,以给出最高概率的高斯分布模型作为与该像素数据匹配的分布模型。分布匹配完成后,GMM分布模型的参数将会被更新。在一次更新过程(由一个像素数据输入引发)中,仅本次匹配的分布模型会被更新,定义如下式(5)-(8):
[0073]
[0074]
[0075]
[0076] ωk,t=(1-α)ωk,t-1+αMk,t   …(8)
[0077] 此处,α是更新的学习速率,Mk,t为分布模型权重更新因子,例如与像素数据匹配的分布模型的Mk,t是1,未成功匹配的是0。经过本次处理,GMM分布模型中的K个分布的权重被重新标准化。模型的更新速率定义为1/α。未匹配的分布模型的参数 和σt保持不变。
[0078] 通过将当前相关像素组Xt中的各个像素数据依次输入并不断更新匹配的分布模型,实现了对GMM的更新。
[0079] 另外,对于某个区域的第一数据集,即第一个相关像素组,需要初始化概率统计模型的参数,例如在GMM模型中存在n个高斯分布模型时,将GMM模型中该n个高斯分布的均值分别设置为该像素组中第1到n个像素的深度数据、而将方差和权重设置为初始值,一般将方差设置的尽量大些(如100),而权值则尽量小些(如0.001)。初始化后,利用该相关像素组来通过训练来维护预定概率统计模型。
[0080] 根据另一示例,如果根据运动检测的结果,确定一个区域是运动的,则初始化该区域相关联的预定概率统计模型,并利用该像素组通过训练来维护预定概率统计模型;相反,如果根据运动检测的结果,确定该区域不是运动的,则利用该像素组通过更新来维护预定概率统计模型
[0081] 上述学习速率参数α,可以根据经验设定,或者如后文将描述的,根据当前像素组的统计特征来确定。
[0082] 图5示意性地给出了相关像素组的数据动态建模的例子。在这个例子中,每个相关像素组的数据根据深度数据的稳定性拥有4个分布,其中4个分布用标号1、2、3、4标示,对应分布的均值μ和方差σ的取值按照从上至下分别对应于分布1、2、3、4的顺序标示于图的右上角。当新的图像帧输入时,这些分布和它们的权重将会被更新。
[0083] 当在步骤S130中得到训练或更新后的概率统计模型后,前进到步骤S140。
[0084] 在步骤S140中,基于维护的概率统计模型,修正像素组中当前帧的区域中的每个像素的深度值。
[0085] 在一个示例中,可以基于像素组的深度值来首先得到像素组深度值的准确度,然后修正像素组的深度值,进而对于像素组中每个像素的深度值进行修正。所谓像素组的深度值,是表征像素组的代表性深度的深度值,例如,可以选用平均深度值、出现频率最高的深度值等等作为像素组的深度值。利用这种方式,无需对每个像素均确定与之匹配的分布模型,在分别处理,因此可以节省处理资源。下面将参考图6到图10进行详细描述。
[0086] 在另一个示例中,基于概率统计模型,修正像素组中当前帧的区域中的每个像素的深度值可以包括:对于当前帧关注区域中的每个像素,将其深度值输入概率统计模型中,得到该像素的深度值的准确概率,然后基于该准确概率来修正该像素的深度值。
[0087] 利用上述实施例的深度增强方法,因为根据区域的运动程度来确定像素组的时域范围(和/或空域范围),从而制备用于维护模型的数据;并且依据所选的像素组来动态训练或更新预定概率统计模型,并根据概率统计模型估计的像素组或者单个像素的深度数据准确的概率,来修正像素的深度值,因此相比于用单个像素来建模的情况,能更准确地获得适当模型,从而得到更准确的概率统计模型和概率估计,由此更适当地修正像素的深度值。
[0088] 上述实施例中,以混合高斯模型GMM作为预定概率统计模型的例子,不过这仅为示例,也可以根据需要选用其它的统计模型,例如简单的高斯分布,或者其它的统计模型。
[0089] 2.2、基于概率统计模型修正像素的深度值的第一示例
[0090] 图6示出了根据本发明实施例的基于概率统计模型修正像素的深度值的第一示例性方法140的流程图。该示例性方法140可以应用于图1中所示的步骤S140。
[0091] 如图6所示,在步骤S141中,基于概率统计模型,计算表征像素组的深度值的准确概率的准确度。
[0092] 这里,关于像素组的深度值,可以利用像素组中所有像素的深度值的平均值作为像素组的深度值,或者采用直方图方法取出现最频繁的深度值或深度值区间的中值来作为像素组的深度值,例如可以考察像素值中所有像素深度值的分布,按照预定深度取值间隔考察落入该取值间隔的像素的数目,确定像素出现最频繁的深度取值区间,以该深度取值区间的中值(或者均值)作为像素组的深度值。再或者,可以先从像素组中去除很可能为噪声的野点,然后在以剩余像素的均值作为像素组的深度值。
[0093] 上述确定像素组的深度值的方法仅为示例,本领域技术人员可以根据需要适当地确定表征像素组的代表性深度值的深度值。
[0094] 将像素组的深度值作为输入,确定GMM分布模型中的K个分布模型哪个与该深度值匹配,假设GMM分布模型中的第s个分布模型被匹配上,可以根据下式(9)来基于所有分布的权重来计算像素组的深度值的准确概率p(t):
[0095]
[0096] 其中,ωi,t是第i个分布模型的权重。
[0097] 公式(9)表明一个输入样本,与之匹配的分布权重越大,该样本值的准确概率越高。这是因为,不同分布模型的权重估计表示该分布是否稳定的概率。如果一个分布模型的权重估计越大,表征该分布越稳定,从而与该分布模型匹配的数据准确的概率越大。
[0098] 在步骤S142中,基于像素组的深度值的准确度,修正像素组的深度值。
[0099] 例如,假设修正前像素组的深度值为dt,准确性概率为pt、匹配分布的均值参数为μt,例如,可以根据下式(10)来修正像素组的深度值dt,得到修正后的像素组的深度值dt’:
[0100] d′t=(1-pt)*dt+pt*μt…(10)
[0101] 在步骤S143中,基于像素组的深度值和像素组中每个像素的深度值是否有效,修正像素组中每个像素的深度值。
[0102] 例如:
[0103] 如果原始像素的深度值vx,y无效(即因某种原因未求得其深度值,表现为取值为零或NULL),则根据式(11)将该像素的深度值vx,y直接设置为像素组的修正后的深度值dt’:
[0104] vx,y=dt’    …(11)
[0105] 如果原始像素的深度值vx,y有效,则根据式(12)进行修正:
[0106] vx,y=f(dt’,vx,y)…(12)
[0107] 关于式(12)的具体形式,例如可以为dt’和vx,y的加权平均。
[0108] 所以该相关像素组中的不准确的和没有值的像素的数据都可以通过该方法来增强。
[0109] 2.3、基于概率统计模型修正像素的深度值的第二示例
[0110] 图7示出了根据本发明实施例的基于概率统计模型修正像素的深度值的第二示例性方法140’的流程图。该示例性方法140’可以应用于图1中所示的步骤S140。
[0111] 如图7所示,在步骤S141’中,对像素组进行统计分析以获得关于像素组的深度值的统计特征。
[0112] 在统计分析和概率论原理中,已有一些已知的统计概念,包括均值、标准差和协方差。均值是用来表示数据集的中间或典型的值,它体现了数据集集中的趋势和集中的位置。标准差是数据分布的体现,它表示了和均值相比,数据变化的幅度大小。标准差小表示数据集中的元素和均值很接近,标准差大表示数据集中的元素值分散的范围比较大。协方差用来表示不止1个维度的数据同时变化的程度大小,也就是它们的相关性。在本发明的某些实施例中,还可以定义一些其他的统计特征,例如:置信区间值和置信区间偏差。置信区间值表示数据集出现可能性最大的数值区间,也是数据中出现频率最高的数值区间,例如在采用直方图的统计形式的情况下,对深度值的取值范围以预定间隔进行分割,然后统计落入每个间隔中像素个数,像素个数最多的取值间隔即可以作为这里的置信区间值。置信空间偏差是另一种的方差,表示和置信区间值相比,数据变化的幅度大小和数据集中的元素值分散的范围。
[0113] 另外,还可以同时在不同的数据维度中计算统计分析特征,因为相关像素组的数据来自于时域和空域的两维内。时域的维度表示同一个像素在不同时期的数值的变化。空域的维度表示选择的相关像素在同一时刻的数据特征。
[0114] 图8示出了相关像素组的数据统计分析的例子。表中的第一行是统计分析方法的数据维度,第一列是使用的统计分析方法。表中给出了一些统计分析的实例,其中:
[0115] 在均值行中,WMV表示相关像素组的数据集在同时时域和空域的维度中的均值,TMV示相关像素组的数据集在时域的维度中的均值,SMV示相关像素组的数据集在空域的维度中的均值。
[0116] 在置信区间值行中,WCV表示相关像素组的数据集在同时时域和空域的维度中的置信区间值,TCV表示相关像素组的数据集在时域的维度中的置信区间值,SCV表示相关像素组的数据集在空域的维度中的置信区间值。
[0117] 在标准差行中,WSD表示相关像素组的数据集在同时时域和空域的维度中的标准差,TSD表示相关像素组的数据集在时域的维度中的标准差,SSD表示相关像素组的数据集在空域的维度中的标准差。
[0118] 另外,还可以计算像素组中的数据在不同时刻之间的协方差,或者在相同时刻不同空间范围的协方差。该协方差可以进一步用于决定是否缩小或者增加时域范围或者空域范围,例如如果前一帧数据和当前帧数据之间的协方差大,即表明两者之间相关度高时,可以将前一帧加入相关像素组中;反之,如果两者协方差小,表明两者之间相关度低,可以不将前一帧加入相关像素组中。如果在当前帧中,此3个像素*3个像素的区域和右侧的3个像素*3个像素的区域的协方差大,表征两者相关度高,则可以将此两个区域合并作为新的空域范围。
[0119] 在步骤S142’中,基于像素组深度值的统计特征和基于概率统计模型两者来修正像素组中当前帧的区域中的每个像素的深度值。
[0120] 图9示出了根据本发明一个实施例基于像素组深度值的统计特征和基于概率统计模型两者来修正像素组中当前帧的区域中的每个像素的深度值的方法示例1420的流程图。该方法示例1420可以应用于图7中所示的步骤S 142。
[0121] 在图9所示的示例方法中,预定概率统计模型为混合高斯模型。
[0122] 在步骤S1421中,基于概率统计模型,计算表征像素组的深度值的准确概率的准确度。该步骤可以采用与图6中所示的步骤S141中同样的方法进行。
[0123] 在步骤S1422中,判断像素组的深度值的准确度是否大于等于预定阈值,如果答案为是,则前进到步骤S1423;如果答案为否,则前进到步骤S1424。
[0124] 在步骤S1423中,基于像素组的深度值、像素组的深度值的准确度、混合高斯模型中与像素组匹配的分布的参数,修正像素组的深度值;
[0125] 在步骤S1424中,基于像素组的深度值、像素组的准确度、像素组深度值的统计特征,修正像素组的深度值。
[0126] 例如,假设修正前像素组的深度值为dt,准确性概率为pt、匹配分布的均值参数为μt,统计特征st,其中st为除了用于获得像素组的深度值使用的统计特征之外的统计特征,步骤S1423和步骤S1424可以例如基于下式(13)来修正像素组的深度值dt,得到修正后的像素组的深度值dt’:
[0127]
[0128] 即,当确定修正前像素组的深度值准确度低于预定阈值Threshold时,采用像素组自己的统计特征st来修正像素组的深度值,而当确定修正前像素组的深度值准确度高于预定阈值Threshold时,利用与该修正前像素组的深度值匹配的分布的均值来μt修正像素组的深度值。
[0129] 在步骤S1425中,基于修正后的像素组的深度值和像素组中每个像素的深度值是否有效,修正像素组中每个像素的深度值。该步骤可以采用图6中步骤S143所示相同的方法来进行,这里省略对其的描述。
[0130] 2.4、基于像素组的统计特征和概率统计模型修正深度值的完整顺序概述[0131] 下面参照图10描述含基于像素组的统计特征和概率统计模型修正深度值的步骤的示例性的时间序列。
[0132] 图10示出了根据本发明一个实施例的含基于像素组的统计特征和概率统计模型修正深度值的步骤的完整的示例性时间序列。
[0133] 如图10所示,在该示例中,整体上包括深度图像输入、数据准备、数据统计、数据建模、数据校正五大步骤。
[0134] 具体地,在步骤S1中,基于深度图像序列对当前帧的某区域进行运动检测。
[0135] 在步骤S2中,根据运动检测结果从时域和/或空域上确定像素选择范围。
[0136] 在步骤S3中,基于确定的范围选择像素组成像素组。
[0137] 在步骤S4中,计算像素组的统计特征。
[0138] 在步骤S5中,对像素组进行概率统计模型训练或更新。
[0139] 在步骤S6中,基于概率统计模型,计算像素组的深度。
[0140] 在步骤S7中,修正像素组的深度,该修正既基于像素组的统计特征也基于概率统计模型。
[0141] 在步骤S8中,修正当前帧该区域中的像素的深度值。
[0142] 需要说明的是,上述时间序列仅为示例,除非存在相互依赖关系,某些步骤在某些情况下可以并行或以相反顺序进行,例如,当在步骤S5中进行模型更新时,此时并不依赖于像素组的统计特征,因此步骤S4和步骤S5之间可以并行执行或者可以先执行步骤S5后执行步骤S4。
[0143] 2.5、概率统计模型中学习速率α的确定
[0144] 如前所述,前述公式(8)中出现的学习速率α可以根据经验设定,或者根据当前像素组的统计特征来确定。
[0145] 下面给出基于相关像素组的统计特征调整控制模型更新的学习速率α的示例。
[0146]
[0147] 如前所述,WSD表示相关像素组的数据集在同时时域和空域的维度中的标准差,WMV表示相关像素组的数据集在同时时域和空域的维度中的均值。
[0148] 上述WSD和WMV可以分别用相关像素组的数据集在时域的维度中的标准差TSD和相关像素组的数据集在时域的维度中的均值TMV代替。或者上述WSD和WMV可以分别用相关像素组的数据集在空域的维度中的标准差SSD和相关像素组的数据集在空域的维度中的均值SMV代替。
[0149] 或者上述标准差可以用对应维度中的协方差来代替。
[0150] 通过采用适当的学习速率,可以有助于适当地控制相关像素组数据分布的更新,如适当地加速或减速分布模型的更新。
[0151] 3、第二实施例(深度图像增强装置)
[0152] 下面参考图11描述根据本发明实施例的深度图像增强装置的配置。
[0153] 图11示出了根据本发明实施例的深度图像增强装置900的功能配置框图。
[0154] 如图11所示,深度图像增强装置900可以包括:区域运动检测部件910,对于当前帧的深度图像的区域,基于深度图像序列,检测运动;像素组形成部件920,对于当前帧的深度图像的区域,根据运动检测的结果,在时域上确定要选取的先前帧的数目,并且对于所选取的先前帧和当前帧从区域中选择像素形成像素组;概率统计模型维护部件930,利用该像素组通过训练或更新来维护预定概率统计模型,当以每个像素的深度值或者像素组的深度值作为概率统计模型的输入时,概率统计模型给出表征该像素的深度值或者像素组的深度值的准确概率的准确度作为输出;以及深度值修正部件940,基于维护的概率统计模型,修正像素组中当前帧的该区域中的每个像素的深度值。
[0155] 上述区域运动检测部件910、像素组形成部件920、概率统计模型维护部件930、以及深度值修正部件940的具体功能和操作可以参考上述和图1到图10相关的描述。这里省略有关重复描述。
[0156] 4、系统硬件配置
[0157] 本发明还可以通过一种深度图像增强硬件系统来实施。图12是示出按照本发明实施例的深度图像增强系统1000的总体硬件框图。如图12所示,深度图像增强1000可以包括:输入设备1100,用于从外部输入有关图像或信息,例如摄像机拍摄的左图像和右图像或直接的深度图像序列等,例如可以包括键盘、鼠标器、以及通信网络及其所连接的远程输入设备等等;处理设备1200,用于实施上述的按照本发明实施例的深度图像增强方法,或者实施为上述的深度图像增强装置,例如可以包括计算机的中央处理器或其它的具有处理能力的芯片等等,可以连接到诸如因特网的网络(未示出),根据处理过程的需要向远程传送处理后的深度图像等等;输出设备1300,用于向外部输出实施上述匹配测度确定(或图像匹配,或视差计算)过程所得的结果,例如可以包括显示器、打印机、以及通信网络及其所连接的远程输出设备等等;以及存储设备1400,用于以易失或非易失的方式存储上述物体检测(跟踪)过程所涉及的诸如左右图像、深度图像序列、运动程度、像素组数据、像素组的统计特征、预定概率统计模型、修正后的像素的深度值,例如可以包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘、或半导体存储器等等的各种易失或非易失性存储器。
[0158] 5、总结
[0159] 根据本发明的实施例,提供了一种深度图像增强方法,可以包括:对于当前帧的深度图像的区域,基于深度图像序列,检测运动;对于当前帧的深度图像的区域,根据运动检测的结果,在时域上确定要选取的先前帧的数目,并且对于所选取的先前帧和当前帧从区域中选择像素形成像素组;利用该像素组通过训练或更新来维护预定概率统计模型,当以每个像素的深度值或者像素组的深度值作为概率统计模型的输入时,概率统计模型给出表征该像素的深度值或者像素组的深度值的准确概率的准确度作为输出;以及基于维护的概率统计模型,修正像素组中当前帧的该区域中的每个像素的深度值。
[0160] 根据本发明的另一实施例,提供了一种深度图像增强装置,可以包括:一种深度图像增强装置,可以包括:区域运动检测部件,对于当前帧的深度图像的区域,基于深度图像序列,检测运动;像素组形成部件,对于当前帧的深度图像的区域,根据运动检测的结果,在时域上确定要选取的先前帧的数目,并且对于所选取的先前帧和当前帧从区域中选择像素形成像素组;概率统计模型维护部件,利用该像素组通过训练或更新来维护预定概率统计模型,当以每个像素的深度值或者像素组的深度值作为概率统计模型的输入时,概率统计模型给出表征该像素的深度值或者像素组的深度值的准确概率的准确度作为输出;以及深度值修正部件,基于维护的概率统计模型,修正像素组中当前帧的该区域中的每个像素的深度值。
[0161] 利用根据本发明实施例的深度图像增强方法和深度图像增强装置,根据区域的运动程度来确定像素组的时域范围(和/或空域范围),从而制备用于维护模型的数据;并且依据所选的像素组来动态训练或更新预定概率统计模型,并根据概率统计模型估计的像素组或者单个像素的深度数据准确的概率,来修正像素的深度值,因此相比于用单个像素来建模的情况,能更准确地获得适当模型,从而得到更准确的概率统计模型和概率估计,由此更适当地修正像素的深度值。
[0162] 前述描述仅为说明性的,可以进行很多修改和/或替换。
[0163] 前面的附图和描述中,提到的是对深度值进行增强,需要说明的是,这里的深度值应该从广义上进行理解,包括通过简单变化的等效数值。例如,本领域技术人员清楚,深度值和视差值之间存在一定的换算关系,因此当然,本发明也可以并且因而包括对视差值进行增强。
[0164] 在前面的描述中,以混合高斯分布GMM模型作为预定概率统计模型。不过,这仅为示例,本发明并不局限于此,根据需要和应用,可以选择其它概率统计模型,如高斯分布,、均匀分布、指数分布、伽马分布等。前面的G混合高斯分布GMM模型中某个高斯分布的概率密度函数采用公式(4)的形式,不过这仅为示例,当从多维角度考察变量这里例如Xt时,可以应用更普遍的含协方差而非方差的概率密度函数。此时概率密度函数形式为式(15)所示,其中U表示协方差矩阵,其它参数含义与公式(4)中相同。
[0165]
[0166] 以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
[0167] 因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。
[0168] 还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
[0169] 上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。