深度图像增强方法和装置制造方法
【专利摘要】提供了一种深度图像增强方法和装置,该方法可以包括:对于当前帧的深度图像的区域,基于深度图像序列,检测运动;对于当前帧的深度图像的区域,根据运动检测的结果,在时域上确定要选取的先前帧的数目,并且对于所选取的先前帧和当前帧从区域中选择像素形成像素组;利用该像素组通过训练或更新来维护预定概率统计模型;以及基于维护的概率统计模型,修正当前帧的该区域中的每个像素的深度值。通过根据区域的运动程度来确定像素组的时域范围(和/或空域范围),制备用于维护模型的数据;依据所选的像素组来动态训练或更新预定概率统计模型,相比于用单个像素来建模的情况,得到更准确的概率统计模型和概率估计,更适当地修正像素的深度值。
【专利说明】深度图像增强方法和装置
【技术领域】
[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时刻的第一像素 Pl(x, y, t)和t+At时刻的第二像素P2(x+Ax,y+Ay, t+A t),的深度值相似度、距离和区 别来为人类视觉感知(Human Visual Perception, HVP)模型计算平滑度S (PI, P2),其中根 据期待的平滑效果手工决定AX、Ay和At的大小。
[0006]在题为“Method and device for processing depth image sequence” 的华为 技术有限公司的国际申请公开W02010083750中公开的技术中,为了解决深度图像序列的 图像质量和时间一致性低(静止区域的深度值抖动)的问题,同时解决由此造成的深度图像 压缩算法的压缩预测残差和比特率升高的问题,利用视频压缩技术来修正噪声,例如:采用 运动估计的方法,计算深度图像序列的绝对差别的总和(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所示,在步骤SllO中,对于当前帧的深度图像的区域,基于深度图像序列,检测运动。
[0043]这里,假定深度图像序列已经获得,例如可以是本地实时计算的,从外部例如通过网络输入的等等。
[0044]图3示出了以伪色彩图像形式显示的视差图像或深度图像的示例。因为专利文件中不允许彩色图像的形式,因此这里以不同灰度的黑白图像形式显示,不同的灰度指示不同的视差或深度。
[0045]关于深度图像的区域,例如,在运动检测之前,可以把深度图像按照预定义切分大小分为多个小区域,例如预定义切分大小为3个像素*3个像素。然后在每个独立的小区域内进行运动检测来检测该区域内是否存在移动。
[0046]当然,也可以是仅仅针对深度图像的某个感兴趣区域进行运动检测以及后续的动态建模、深度增强等处理。
[0047]可以使用现有技术来检测运动。例如,获得当前帧和前一帧的对应区域之间的差值,当然也用当前帧和前一帧相减,然后计算相应区域内的不同。然后把两帧的对应区域的差值和预定义的运动差分阈值相比。如果关于当前帧的区域差值比阈值更大,则认为当前帧的该区域存在移动。另外,也可以为针对该区域计算运动程度,来标示区域运动程度的大小。区域运动程度的值可以被标准化到[0,I]来标示运动程度的大小。
[0048]这里,采用当前帧和前一帧共两帧来检测当前帧某区域内是否存在运动仅为示例,本发明并不局限于此,当然也可以采用当前帧和之前多帧例如前两帧来检测当前帧的区域运动,例如分别计算先前帧和前两帧差值、并利用平均差值来评价当前帧某区域内是否存在运动。
[0049]在步骤S120中,对于当前帧的深度图像的区域,根据运动检测的结果,在时域上确定要选取的先前帧的数目,并且对于所选取的先前帧和当前帧从区域中选择像素形成像素组。
[0050]在时域上确定要选取的先前帧的数目即确定时域的范围,其表示在多少个连续的深度图像序列中选取相关的像素点。例如,时域的范围可以利用下述公式⑴根据像素组的运动程度(d)来计算,例如:
[0051]
Temporal size = 1(1 - d2) * IOj⑴
[0052]可见运动程度越大,选取的先前帧的数目越少,这是因为运动的程度越大,之前帧可以提供用来构建相关像素组的有效相关像素就更少。当然,上述公式(I)仅为示例,可以根据需要设计各种形式的适当公式。
[0053]选择像素形成像素组还可以包括:根据区域的运动程度,在空域上调整区域的大小,使得调整后的区域的运动程度小于调整前的区域的运动程度,以及对于所选取的先前帧和当前帧从调整后的区域中选择像素形成像素组。
[0054]空域的大小,也即空域的范围,表示我们选取多少个临近的相关像素点来构建相关像素组。例如,缺省的空域范围大小为3个像素*3个像素。还可以根据预定运动程度阈值cLspsize来判断是否当前的空域范围需要被扩大。例如,如果当前的像素组运动程度d大于预定运动程度阈值(Lspsize,增大空域范围到10个像素*10个像素,然后使用与上述计算运动程度相同的方法计算这个增大后的相关像素组的运动程度(dl)。如果增大后的相关像素组的运动程度(dl)比之前的相关像素组的运动程度(d)小,我们则保留这个大的空域范围作为新的空域范围,否则我们仍使用缺省的空域范围。进行上述操作是因为希望通过增大空域范围来减小运动对检测结果造成的影响。
[0055]通过诸如图4所示的深度图像的序列进行预处理来准备后续用于维护预定概率统计模型的数据。
[0056]图4示意性地示出了建模数据制备的概率处理流程示例。在这个例子中,将以右上角和右下角两区域作为示例来说明依据运动程度不同而在时域(可选地结合空域)设置不同的选择范围,其中右上角框中的区域内是稳定即不存在运动或者运动程度低于预定阈值的区域,右下角区域是检测出存在运动或运动程度高于阈值的区域。示例性地,缺省空域范围是3个像素*3个像素。示例性地,稳定区域即右上角内的时域范围为10帧连续的输入图像,或者说所选取的先前帧的数目为9帧,运动区域即右下角内的时域范围为I帧输入图像,或者说所选取的先前帧的数目为O帧。然后从所选取的图像序列中从缺省的空域范围中选择像素形成相关像素组。示例性地,如图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的历史数据如下式⑵所示:
[0067](X1,...XJ = {II(Φ):1 ≤ i ≤ t}...(2)
[0068]这里,I是视频图像序列,Ii (Φ)是t时刻的像素组P的深度数据。需要说明的是,这里当前像素组P的值Xt即为先前步骤S120中所得到的相关像素组,该相关像素组在时域上的范围(或空域范围)是根据运动程度而变化,并不是仅仅包含当前帧的像素,而是可能包含例如先前9帧和当前帧(即共十帧)在空域范围上的像素,该说明同样适用于X1,…,XtO GMM方法采用多个(通常3-5个)高斯分布来对该像素组的历史深度数据进行建模,从而观察当前像素组P的值为Xt时的概率分布,定义如下式(3)所示:[0069]
【权利要求】
1.一种深度图像增强方法,包括: 对于当前帧的深度图像的区域,基于深度图像序列,检测运动; 对于当前帧的深度图像的区域,根据运动检测的结果,在时域上确定要选取的先前帧的数目,并且对于所选取的先前帧和当前帧从区域中选择像素形成像素组; 利用该像素组通过训练或更新来维护预定概率统计模型,当以每个像素的深度值或者像素组的深度值作为概率统计模型的输入时,概率统计模型给出表征该像素的深度值或者像素组的深度值的准确概率的准确度作为输出;以及 基于维护的概率统计模型,修正像素组中当前帧的该区域中的每个像素的深度值。
2.根据权利要求1的深度图像增强方法,其中基于概率统计模型维护结果,修正像素组中当前帧的该区域中的每个像素的深度值包括: 基于概率统计模型,计算表征像素组的深度值的准确概率的准确度; 基于像素组的深度值的准确度,修正像素组的深度值;以及 基于像素组的深度值和像素组中当前帧的该区域中每个像素的深度值是否有效,修正像素组中当前帧的该区域中每个像素的深度值。
3.根据权利要求1的深度图像增强方法,还包括: 对所述像素组进行统计分析以获得关于像素组的深度值的统计特征;以及 基于像素组深度值的统计特征,确定更新预定概率统计模型的学习速度。
4.根据权利要求1的深度图像增强方法,还包括: 对所述像素组进行统计分析以获得关于像素组的深度值的统计特征; 其中,修正像素组中当前帧的该区域中的每个像素的深度值包括:基于像素组深度值的统计特征和基于概率统计模型两者来修正像素组中当前帧的该区域中的每个像素的深度值。
5.根据权利要求4的深度图像增强方法,其中预定概率统计模型为混合高斯模型,以及其中基于像素组深度值的统计特征和基于概率统计模型两者来修正像素组中当前帧的该区域中的每个像素的深度值包括: 基于概率统计模型,计算表征像素组的深度值的准确概率的准确度; 如果像素组的深度值的准确度大于等于预定阈值,基于像素组的深度值、像素组的深度值的准确度、混合高斯模型中与像素组匹配的分布的参数,修正像素组的深度值; 如果像素组的深度值的准确度小于预定阈值,基于像素组的深度值、像素组的准确度、像素组深度值的统计特征,修正像素组的深度值;以及 基于修正后的像素组的深度值和像素组中当前帧的该区域中每个像素的深度值是否有效,修正像素组中当前帧的该区域中每个像素的深度值。
6.根据权利要求2或5的深度图像增强方法,其中基于修正后的像素组的深度值和像素组中当前帧的该区域中每个像素的深度值是否有效,修正像素组中当前帧的该区域中每个像素的深度值包括: 如果像素组中的一个像素的深度值无效,则用像素组的深度值作为该像素的深度值;以及 如果像素组中的一个像素的深度值有效,则基于像素组的深度值修正该像素的深度值。
7.根据权利要求1的深度图像增强方法,其中利用该像素组通过训练或更新来维护预定概率统计模型包括: 如果根据运动检测的结果,确定该区域是运动的,则初始化预定概率统计模型,并利用该像素组通过训练来维护预定概率统计模型;以及 如果根据运动检测的结果,确定该区域不是运动的,则利用该像素组通过更新来维护预定概率统计模型。
8.根据权利要求1的深度图像增强方法,其中根据运动检测的结果,在时域上确定要选取的先前帧的数目包括: 在时域上选择的先前帧的数目随着区域的运动程度的增加而减少。
9.根据权利要求1或8的深度图像增强方法,其中选择像素形成像素组还包括: 根据区域的运动程度,在空域上调整区域的大小,使得调整后的区域的运动程度小于调整前的区域的运动程度,以及 对于所选取的先前帧和当前帧从调整后的区域中选择像素形成像素组。
10.一种深度图像增强装置,包括: 区域运动检测部件,对于当前帧的深度图像的区域,基于深度图像序列,检测运动; 像素组形成部件,对于当前帧的深度图像的区域,根据运动检测的结果,在时域上确定要选取的先前帧的数目,并且对于所选取的先前帧和当前帧从区域中选择像素形成像素组; 概率统计模型维护部件,利用该像素组通过训练或更新来维护预定概率统计模型,当以每个像素的深度值或者像素组的深度值作为概率统计模型的输入时,概率统计模型给出表征该像素的深度值或者像素组的深度值的准确概率的准确度作为输出;以及 深度值修正部件,基于维护的概率统计模型,修正像素组中当前帧的该区域中的每个像素的深度值。
【文档编号】G06T5/00GK103679641SQ201210364574
【公开日】2014年3月26日 申请日期:2012年9月26日 优先权日:2012年9月26日
【发明者】宫卫涛, 张文波, 李磊 申请人:株式会社理光