基于组合的深度提示从单视场图像生成深度图转让专利

申请号 : CN201380055544.1

文献号 : CN104756491B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴琛D·穆克赫吉M·王

申请人 : 谷歌公司

摘要 :

基于用于图像的颜色深度图、空间深度图和运动深度图的加权组合针对单视场图像生成了组合的深度图,每个深度图描述图像中的像素相对于图像平面的深度。颜色深度图根据像素的颜色来确定像素的深度,空间深度图根据图像中像素的位置来确定像素的深度,以及运动深度图根据图像中像素的运动来确定像素的深度。深度图中的每个深度图与用于生成加权组合的权重相关联。权重自适应地说明不同单视场图像之间的变化。

权利要求 :

1.一种用于生成图像的深度图的方法,所述方法包括:访问所述图像,所述图像包括多个像素,其中每个像素具有颜色和在所述图像中的位置;

基于所述图像中的所述像素的所述颜色来确定用于所述图像的颜色深度图;

基于像素的所述位置和用于在图像的样本集中的相似位置中的像素的历史深度信息来确定用于所述图像的空间深度图;

基于两帧之间的所述像素的运动来确定用于所述图像的运动深度图;

确定颜色深度图权重、空间深度图权重和运动深度图权重,所述颜色深度权重通过以下操作来确定:分析所述图像中的所述像素的所述颜色的分布,以及基于所述颜色的所述分布来确定所述颜色深度图权重;以及从由所述颜色深度图权重加权的所述颜色深度图、由所述空间深度图权重加权的所述空间深度图和由所述运动深度图加权的所述运动深度图的组合生成用于所述图像的组合的深度图。

2.根据权利要求1所述的方法,其中确定所述空间深度图权重包括:确定用于在图像的样本集中的相似位置中的所述像素的历史深度方差信息,所述历史深度方差信息描述了所述历史深度信息的方差;以及基于所述历史深度方差信息来确定所述空间深度图权重。

3.根据权利要求1所述的方法,其中确定所述运动深度图权重包括确定所述图像中具有局部运动的像素的百分比,所述运动深度图权重基于具有局部运动的像素的所述百分比。

4.根据权利要求1所述的方法,其中基于所述颜色的所述分布来确定所述颜色深度图权重包括:确定与描述所述颜色的所述分布的直方图相关联的熵,所述熵基于所述颜色的所述分布;

确定所述熵与最大熵的比值,所述最大熵与所述图像相关联,所述比值描述了所述颜色的相对分布;以及基于所述比值来确定所述颜色深度图权重,所述颜色深度图权重与所述比值成正比。

5.根据权利要求2所述的方法,其中基于所述历史深度方差信息来确定所述空间深度图权重包括:获取与所述图像中的位置相关联的历史深度方差信息;

确定第一乘数,所述第一乘数具有大于一的值;

确定第二乘数,所述第二乘数具有小于一的值;

比较与所述位置相关联的所述历史深度方差信息和方差阈值;

其中确定所述空间深度图权重包括:

响应于确定与所述位置相关联的所述历史深度方差信息高于所述方差阈值,将所述空间深度图权重乘以所述第一乘数;以及响应于确定与所述位置相关联的所述历史深度方差信息低于所述方差阈值,将所述空间深度图权重乘以所述第二乘数。

6.根据权利要求3所述的方法,进一步包括:基于第二图像中具有局部运动的像素的百分比来确定用于所述第二图像的运动深度图权重,在视频序列中所述第二图像在所述图像之前;

确定第一乘数,所述第一乘数具有大于一的值;

确定第二乘数,所述第二乘数具有小于一的值;以及比较所述图像中具有局部运动的像素的所述百分比和运动阈值;

其中确定用于所述图像的所述运动深度图权重包括:响应于确定所述图像中具有局部运动的像素的所述百分比高于所述运动阈值,将用于所述第二图像的所述运动深度图权重乘以所述第一乘数;以及响应于确定所述图像中具有局部运动的像素的所述百分比低于所述运动阈值,将用于所述第二图像的所述运动深度图权重乘以所述第二乘数。

7.一种用于生成图像的深度图的设备,包括:用于访问所述图像的装置,所述图像包括多个像素,其中每个像素具有颜色和在所述图像中的位置;

用于基于所述图像中的所述像素的所述颜色来确定用于所述图像的颜色深度图的装置;

用于基于像素的所述位置和用于在图像的样本集中的相似位置中的像素的历史深度信息来确定用于所述图像的空间深度图的装置;

用于基于两帧之间的所述像素的运动来确定用于所述图像的运动深度图的装置;

用于确定颜色深度图权重、空间深度图权重和运动深度图权重的装置,所述颜色深度权重通过以下操作来确定:分析所述图像中的所述像素的所述颜色的分布,以及基于所述颜色的所述分布来确定所述颜色深度图权重;以及用于从由所述颜色深度图权重加权的所述颜色深度图、由所述空间深度图权重加权的所述空间深度图和由所述运动深度图加权的所述运动深度图的组合生成用于所述图像的组合的深度图的装置。

8.根据权利要求7所述的设备,其中确定所述空间深度图权重包括:确定用于在图像的样本集中的相似位置中的所述像素的历史深度方差信息,所述历史深度方差信息描述了所述历史深度信息的方差;以及基于所述历史深度方差信息来确定所述空间深度图权重。

9.根据权利要求7所述的设备,其中确定所述运动深度图权重包括确定所述图像中具有局部运动的像素的百分比,所述运动深度图权重基于具有局部运动的像素的所述百分比。

10.根据权利要求7所述的设备,其中基于所述颜色的所述分布确定所述颜色深度图权重包括:确定与描述所述颜色的所述分布的直方图相关联的熵,所述熵基于所述颜色的所述分布;

确定所述熵与最大熵的比值,所述最大熵与所述图像相关联,所述比值描述了所述颜色的相对分布;以及基于所述比值来确定所述颜色深度图权重,所述颜色深度图权重与所述比值成正比。

11.根据权利要求8所述的设备,其中基于所述历史深度方差信息来确定所述空间深度图权重包括:获取与所述图像中的位置相关联的历史深度方差信息;

确定第一乘数,所述第一乘数具有大于一的值;

确定第二乘数,所述第二乘数具有小于一的值;

比较与所述位置相关联的所述历史深度方差信息和方差阈值;

其中确定所述空间深度图权重包括:

响应于确定与所述位置相关联的所述历史深度方差信息高于所述方差阈值,将所述空间深度图权重乘以所述第一乘数;以及响应于确定与所述位置相关联的所述历史深度方差信息低于所述方差阈值,将所述空间深度图权重乘以所述第二乘数。

12.根据权利要求9所述的设备,所述确定所述运动深度图权重进一步包括:基于第二图像中具有局部运动的像素的百分比来确定用于所述第二图像的运动深度图权重,在视频序列中所述第二图像在所述图像之前;

确定第一乘数,所述第一乘数具有大于一的值;

确定第二乘数,所述第二乘数具有小于一的值;以及比较所述图像中具有局部运动的像素的所述百分比和运动阈值;并且其中确定用于所述图像的所述运动深度图权重包括:响应于确定所述图像中具有局部运动的像素的所述百分比高于所述运动阈值,将用于所述第二图像的所述运动深度图权重乘以所述第一乘数;以及响应于确定所述图像中具有局部运动的像素的所述百分比低于所述运动阈值,将用于所述第二图像的所述运动深度图权重乘以所述第二乘数。

13.一种用于生成图像的深度图的系统,所述系统包括:非瞬态计算机可读存储介质,所述非瞬态计算机可读存储介质存储计算机程序指令,所述计算机程序指令可执行为执行以下步骤,所述步骤包括:访问所述图像,所述图像包括多个像素,其中每个像素具有颜色和在所述图像中的位置;

基于所述图像中的所述像素的所述颜色来确定用于所述图像的颜色深度图;

基于像素的所述位置和用于在图像的样本集中的相似位置中的像素的历史深度信息来确定用于所述图像的空间深度图;

基于两帧之间的所述像素的运动来确定用于所述图像的运动深度图;

确定颜色深度图权重、空间深度图权重和运动深度图权重,所述颜色深度权重通过以下操作来确定:分析所述图像中的所述像素的所述颜色的分布,以及基于所述颜色的所述分布来确定所述颜色深度图权重;以及从由所述颜色深度图权重加权的所述颜色深度图、由所述空间深度图权重加权的所述空间深度图和由所述运动深度图加权的所述运动深度图的组合生成用于所述图像的组合的深度图;

处理器,所述处理器用于执行所述计算机程序指令。

14.根据权利要求13所述的系统,其中确定所述空间深度图权重包括:确定用于在图像的样本集中的相似位置中的所述像素的历史深度方差信息,所述历史深度方差信息描述了所述历史深度信息的方差;以及基于所述历史深度方差信息来确定所述空间深度图权重。

15.根据权利要求13所述的系统,其中确定所述运动深度图权重包括确定所述图像中的移动像素的百分比,所述运动深度图权重基于移动像素的所述百分比。

16.根据权利要求13所述的系统,其中基于所述颜色的所述分布来确定所述颜色深度图权重包括:确定与描述所述颜色的所述分布的直方图相关联的熵,所述熵基于所述颜色的所述分布;

确定所述熵与最大熵的比值,所述最大熵与所述图像相关联,所述比值描述了所述颜色的相对分布;以及基于所述比值来确定所述颜色深度图权重,所述颜色深度图权重与所述比值成正比。

17.根据权利要求14所述的系统,其中基于所述历史深度方差信息来确定所述空间深度图权重包括:获取与所述图像中的位置相关联的历史深度方差信息;

确定第一乘数,所述第一乘数具有大于一的值;

确定第二乘数,所述第二乘数具有小于一的值;

比较与所述位置相关联的所述历史深度方差信息和方差阈值;

其中确定所述空间深度图权重包括:

响应于确定与所述位置相关联的所述历史深度方差信息高于所述方差阈值,将所述空间深度图权重乘以所述第一乘数;以及响应于确定与所述位置相关联的所述历史深度方差信息低于所述方差阈值,将所述空间深度图权重乘以所述第二乘数。

说明书 :

基于组合的深度提示从单视场图像生成深度图

技术领域

[0001] 本公开涉及视频处理,并且具体地,涉及单视场图像向立体3D图像的转换。

背景技术

[0002] 立体或者“3D”视频通过仿真立体视觉增强深度感知的错觉,从而通过视差的仿真创造了深度的错觉。然而,延缓立体视频的普遍采用的一个方面是立体格式的视频的可用性。传统上讲,生成立体视频的主要方法是使用从不同视点设置角度的两台不同的相机进行立体拍摄以捕获深度信息。由于与立体拍摄相关联的难度和成本,至今比较少的立体视频已经被生成。
[0003] 此外,尽管目前有可能从单视场图像创建立体视频,但是一些现有技术依赖于对象分割以识别图像内的对象,然后近似来确定对象相对于图像平面的深度。对象分割可能错误地确定对象的边界,引起错误的深度赋值,错误的深度赋值使得观看者很难辨别图像中的什么对象突出而什么对象凹陷。因此,现有技术通常不能够以一致并精确的方式从描绘图像中的对象的深度的单视场图像创建立体图像。

发明内容

[0004] 基于用于图像的颜色深度图、空间深度图和运动深度图的加权组合针对单视场图像生成了组合的深度图,其中图中的每个图描述图像中的每个像素相对于图像平面的深度。在一个实施例中,单个深度图中的每个深度图与用于计算组合的深度图的权重相关联。权重可以自适应地说明不同单视场图像之间的变化。在一些情况下,深度图可以与权重集相关联,每个权重对应于图像的一部分,权重集包括每个单独的像素或者像素组的权重。
[0005] 颜色深度图基于像素的颜色来描述图像中的每个像素的深度。基于确定具有相似颜色的像素很有可能具有相似的深度来生成颜色深度图,颜色深度图提供将像素的颜色与其深度的确定关联的颜色深度函数。在一个实施例中,基于图像中颜色的分布来确定用于颜色深度图的权重。根据颜色对比度来缩放颜色深度图权重,该颜色对比度表示用于基于颜色来量化深度的置信度。
[0006] 通过对跨众多典型单视场图像的每个位置处的像素的深度取平均值来生成空间深度图。在生成空间深度图中,指示每个像素位置处的像素深度的方差的方差图也可以被生成。基于由方差图指示的方差来确定空间深度图权重。针对待分析的每个像素位置,访问了方差图并且反向于每个位置处的方差来缩放空间深度图权重。
[0007] 运动深度图使用具有较快运动的像素更靠近图像的前景的判定基于它们的局部运动来确定像素的深度。通过从两帧之间的像素的总体运动减去相机运动来计算局部运动。运动深度函数将所计算的局部运动与像素深度的图相关联。基于图像中的运动量来确定用于运动深度图的权重。图像中的具有局部运动的像素的百分比被确定,并且运动深度图权重按照移动像素的百分比的函数被增加或者减少。
[0008] 在本发明内容和以下详细描述中描述的特征和优点不是包含所有的。鉴于附图、说明书及其权利要求,很多附加的特征和优点将对于本领域技术人员是显而易见的。

附图说明

[0009] 图1图示了根据一个实施例的生成图像的组合的深度图的概况。
[0010] 图2是根据一个实施例的深度图生成模块的框图。
[0011] 图3是图示根据一个实施例的用于生成运动深度图的过程的流程图。
[0012] 图4是图示根据一个实施例的用于生成图像的组合的深度图的过程的流程图。
[0013] 附图仅为了说明的目的而描绘本发明的各个实施例。本领域技术人员从以下讨论中将容易认识到本文所图示的结构和方法的备选实施例可以在不偏离本文所描述的本发明的原理的情况下被使用。

具体实施方式

[0014] 概况
[0015] 图1图示了用于生成图像的组合的深度图的过程的概况。视频帧102是单视场图像,该单视场图像在一个实施例中是由单视场相机拍摄的视频的帧。视频帧102具有多个像素,并且可以描绘一个或者多个对象。因为视频帧102由单视场相机捕获,所以视频帧102的像素在相同平面上,该相同平面在本文中称为图像平面。像素并不明确地描述由视频帧102描绘的对象的原始深度关系。
[0016] 然而,视频帧102的像素的原始深度关系的表示可以通过生成用于视频帧102的各种深度图来创建。颜色深度图104使用像素的颜色作为它们的深度的指标来确定视频帧102中的像素的深度。基于图像中某些位置的对象将具有特定深度的假设,空间深度图106使用图像中的像素的位置来确定深度。运动深度图108使用诸如帧I-1与帧I之间的两帧之间的运动来确定像素深度。颜色深度图104、空间深度图106和运动深度图108中的每个深度图提供逐像素深度值,像素深度值描述表示像素垂直于视频帧102的平面突出或者凹陷的量。在一个实施例中,较大的深度值指示像素靠近帧的背面,而小的或者负的深度指示像素靠近平面的前面。
[0017] 使用图像的多种特性以确定像素深度的改善的深度图可以通过组合若干深度图来生成。组合的深度图110是颜色深度图104、空间深度图106和运动深度图108的线性组合。在一个实施例中,组合的深度图110以逐像素为基础来计算。例如,给定由颜色深度图104指示的深度Dcolor、由空间深度图106指示的深度Dspatial以及由运动深度图108指示的深度Dmotion,每个深度描述了视频帧102中的位置(x,y)处的像素的深度,组合的深度图D(x,y)可以表示为:
[0018] D(x,y)=w1*Dcolor(x,y)+w2*Dspatial(x,y)+w3*Dmotion(x,y)  (1)[0019] 其中w1为颜色深度图权重,w2为空间深度图权重,并且w3为运动深度图权重。在另一实施例中,针对图像的像素组来确定组合的深度图110。可以使用对视频帧102的各个像素的相同或者不同权重、使用图像的不同部分的不同特征来生成组合的深度图110,以最精确地确定在每个部分处的深度。
[0020] 组合深度图110可以用于从单视场图像生成立体图。在一个实施例中,基于深度图像的绘制(DIBR)可以用于生成与视频帧102完全相同但具有偏移像素的帧。例如,如果视频帧102被用作左帧,则DIBR基于由组合的深度图110所描述的深度通过从左帧偏移像素来创建右帧。
[0021] 图2是根据一个实施例的配置用于生成组合的深度图110的深度图生成模块200的框图。深度图生成模块200包括颜色深度图生成器202、空间深度图生成器204、运动深度图生成器206以及组合的深度图模块208。深度图生成模块200的备选实施例具有与本文所描述的实施例不同和/或附加的模块。类似地,功能可以以与本文所描述的不同的方式被分布在模块之间。
[0022] 深度图生成模块200被配置以与视频数据库212通信。在一个实施例中,深度图生成模块200通过诸如因特网之类的网络与视频数据库212通信。在其他实施例中,深度图生成模块202通过硬件或者专用数据通信技术与视频数据库212通信。视频数据库212存储从各种源获得的单视场和立体视频。视频数据库212可以附加地或者备选地存储单独的图像。视频数据库212中的视频或者图像可以从用户获得,例如通过用户向视频仓库或者视频托管网站上传视频。视频数据库212中的视频包括多个帧,每个帧具有二维的像素阵列。像素的特定颜色可以被定义在颜色空间中,诸如RGB或者YCbCr颜色空间。
[0023] 深度生成模块200处理视频帧以生成一个或者多个深度图,该一个或者多个深度图描述每个帧中的相对于图像平面的像素深度。在一个实施例中,深度生成模块200生成若干深度图,并且将深度图组合成像素深度的单个表示,其中每个深度图使用帧中的不同的深度提示被创建。深度生成模块200的颜色深度图生成器202、空间深度图生成器204和运动深度图生成器206均使用不同的深度提示来生成深度图,该深度图由深度图模块208组合。
[0024] 颜色深度图生成器202接收视频帧102作为输入,并且使用颜色提示来生成用于帧的深度图以确定像素的深度。总体上讲,颜色深度图生成器202基于关联像素颜色和深度的启发式定义的规则将不同颜色(或者颜色的范围)与不同深度相关联。在一个实施例中,这样的规则通过历史深度数据的分析来定义。颜色深度图生成器202分析视频数据库212中的用立体透镜捕获的并且具有针对每个像素颜色的已知的深度信息的图像的样本集。像素颜色可以由指示像素中的每个原色的强度的三元组(triplet)指定。例如,在RGB颜色空间中,白色可以由(100%,100%,100%)、(255,255,255)或者#FFFFFF表示,指示红、绿和蓝分量的最大强度。基于该历史颜色深度数据,颜色深度图生成器202针对每个颜色或者颜色范围的像素确定平均深度(或者其他品质因数)。平均深度可以被合并到颜色深度先验中,诸如将每个颜色三元组与深度值相关联的查找表。例如,由颜色深度图生成器202生成的颜色深度先验可以指示与具有更多红色的像素相关联的小的深度值(即,更靠近帧的前面),以及与具有更多蓝色的像素相关联的更高深度值(即,更靠近帧的背面)。这样的关系可以源于通常存在于图像背景中的诸如天空或者树(主要具有蓝色)之类的对象,而诸如人之类的对象(主要具有红色)通常定位在前景中。
[0025] 在另一实施例中,颜色深度图生成器202可以基于像素颜色的红色和蓝色分量的相对强度使用查找表(或者等价函数)来将较低深度值(即,更靠近帧的前面)与红色像素相关联以及将较高深度值(即,更靠近帧的背面)与蓝色像素相关联。例如,在YCbCr颜色空间中,查找表(或者等价函数)可以将像素的蓝色(Cb)和红色(Cr)差分量的线性组合与确定的像素深度关联。基于蓝色像素通常与靠近帧的背面的对象相关联的假设,颜色深度函数可以被加权使得较大的Cb分量导致较大的像素深度,而较大的Cr成分导致较小或者负的像素深度。例如,像素深度Dcolor可以由具有如下形式的颜色深度函数表示:
[0026] Dcolor=α(Cb)+(1-α)(β-Cr)  (2)
[0027] 其中,α和β从像素导出。值β表示Cb和Cr的可能值的范围的大小。例如,如果Cb和Cr可以具有0与255之间的任何值,则β等于255。
[0028] 在一个实施例中,颜色深度图生成器202通过执行主成分分析来确定α,该主成分分析确定所分析的图像或者多幅图像的像素的差分量Cb和Cr之间的在图像内(或者跨若干图像的)最大扩展的方向。在将像素的颜色的RGB表示转换为YCbCr表示之后,如果适用,颜色深度图生成器202针对每个分析的像素值确定a和b,其中a=Cr-128并且b=Cb-128。三个不同的期望值被计算:Sa=E(a2),Sb=E(b2)以及sab=E(ab),其中期望E(z)是对所有所分析的像素的z的平均值。期望值Sa、Sb和Sab用于创建矩阵C,矩阵C被定义为:
[0029]
[0030] 主成分分析确定C的特征值和特征向量,并且选择对应于两个特征值中的较大值的特征向量v。当被缩放使得其元素总和为1时,v具有元素α和1-α。颜色深度图生成器202使用方程(2)的颜色深度函数来生成用于视频帧102的颜色深度图104。
[0031] 在一个实施例中,颜色深度图生成器202通过按照描绘室外场景或者室内场景对图像进行分类来改善颜色深度图。图像的分类可以通过收集包括室内、室外和背景图像的图像训练集来确定,每幅图像使用其分类来标注。从训练图像提取特征,诸如每幅图像中的像素的颜色。颜色深度图生成器202使用诸如支持向量机(SVM)之类的分类器,基于图像标签根据所提取的特征来构建用于对图像进行分类的模型。可以针对每个分类生成不同的颜色深度先验。当接收到新的未分类的图像时,颜色深度图生成器202从新图像中提取相同特征并且应用训练的模型以确定新图像的分类。然后,从针对图像分类的颜色深度先验确定图像中的像素的深度。
[0032] 空间深度图生成器204基于帧中的各个位置处的平均像素深度来生成用于视频帧102的另一深度图。为了确定平均像素深度,空间深度图生成器204分析视频数据库212中的用立体透镜捕获并且具有针对每个像素位置的已知的深度信息的图像的样本集。像素位置可以按照实际坐标对(x,y)来表示,或者按照基于与图像原点的偏移的百分比的相对位置来表示,例如(x%,y%),其中x%为对于给定像素的总图像宽度的百分比。因此,640×480图像中的(320,240)处的像素在位置(0.5,0.5)处。通过对跨大量3D图像的在预定位置处的已知像素深度取平均值,空间图生成器204生成空间深度先验(表示每个位置处的像素深度的统计平均值)和方差先验(表示每个位置处的像素深度的方差)。空间深度先验可以被配置为将像素位置与深度关联的查找表。类似地,方差先验可以被配置为将像素位置与深度方差关联的查找表。
[0033] 由于靠近帧的中心和底部的对象通常被定位在图像的前景中,由空间图生成器204生成的空间深度先验可以指示与定位在靠近图像的中心和底部的像素相关联的小的深度值以及用于靠近顶部和两侧的像素的大的深度值。在一个实施例中,空间深度图生成器
204确定若干空间深度先验,针对若干可能的场景分类中的每一个场景分类确定一个空间深度先验。例如,空间深度图生成器204可以生成由上文所描述的支持向量机分类的用于室外和室内场景的分离的空间深度先验。在一个实施例中,当空间深度图生成器204接收单视场视频帧102作为输入时,它通过根据像素的位置在图像深度先验中设置用于图像的像素的深度值来生成空间深度图106;该确定针对图像中的每个像素(或者像素组)而做出。在另一实施例中,空间深度图生成器204可以缩放由空间深度先验指定的值以生成用于像素的深度值。例如,空间深度先验中的平均值可以被缩放以便对于落入“室外”分类的图像变得更大,说明室外场景中的潜在地更大的景深。
[0034] 运动深度图生成器206基于相对于相机的运动的视频帧102的像素的运动,生成用于视频帧102的深度图。运动深度图生成器206使用具有最大运动的对象通常靠近帧的前面的假设来确定深度。图3图示了由运动深度图生成器206采用以计算两帧之间的运动并且基于运动来确定深度的过程。
[0035] 为了计算运动,运动深度图生成器206接收两个或者更多视频帧作为输入,诸如视频帧102和视频序列中在帧102之前的帧。使用诸如对于本领域技术人员已知的特征检测算法从帧中提取(302)特征。这些特征可以包括多个图像特征中的任何图像特征,诸如颜色特征(例如,HSV颜色空间中的色调和饱和度)、纹理特征(例如,来自伽柏(Gabor)小波)、边缘特征(例如,由坎尼(Canny)边缘探测器检测到的那些)、线特征(例如,由概率哈夫(Hough)变换检测到的那些)或者诸如SIFT(尺度不变特征变换)、GLOH(梯度位置朝向直方图)、LESH(基于局部能量的形状直方图)或者SURF(加速稳健特征)之类的特征。在一个实施例中,高斯—拉普拉斯(Laplacian-of-Gaussian)滤波器用于检测一帧中的兴趣点,并且通过计算局部区域上的纹理特征的118维伽柏(Gabor)小波来确定局部特征。在一个实施例中,运动深度图生成器206在103的量级上从每个帧提取特征。
[0036] 在提取特征之后,运动深度图生成器206通过计算输入帧之间的所提取的特征点的运动来确定304图像的全局运动。全局运动表示相机自身的移动。例如,如果相机从左向右以固定速率摇镜头同时捕获视频,则视频将具有对应于该固定速率的全局运动。为了确定全局流,假定视频中的具有局部运动的对象将包括每个帧的像素的小的子集;大多数像素很可能在两帧之间具有完全相同的运动。由大多数像素共享的运动是图像的全局运动。在一个实施例中,随机抽样一致性(RANSAC)算法可以用于确定流的稳健拟合,忽略具有局部运动的外围像素以确定全局流。不具有局部运动的像素由RANSAC算法确定为内围层,内围层是其分布可以由全局流解释的数据点。RANSAC被描述在Martin A.Fischler和Robert C.Bolles(1981年6月),“Random Sample Consensus:A Paradigm for Model Fitting with Application to Image Analysis and Automated Cartography”,Comm.of the ACM 
24(6):381-395中,其通过引用并入本文。
[0037] RANSAC算法输出将一帧中的像素的位置映射到其在下一帧中的位置的单应性矩阵A。例如,给定在帧I0中的位置(x0,y0)处并且在帧I1中的(x1,y1)处的像素,RANSAC确定了3×3的单应性矩阵A以最小化变换错误
[0038]
[0039] 对于确定为内围层的所有像素,假定λ为标量值。在确定单应性矩阵之后,运动深度图生成器206计算矩阵A的行列式M,该行列式M量化视频帧102的像素的全局运动。
[0040] 运动深度图生成器206也针对图像中的每个像素生成(306)总运动向量。在一个实施例中,总运动向量由对于本领域技术人员已知的光流算法确定。例如,光流算法由Berthold K.P.Horn和Brian G.Schunck(1981),“Determining Optical Flow”,Artificial Intelligence17:185-203来描述。由运动深度图生成器206采用的光流算法基于像素强度的空间和时间的导数来测量视频中的帧之间的像素的速度,像素强度的空间和时间导数通过诸如块匹配、相位相关之类的方法或者若干变分法来求解。
[0041] 运动深度图生成器206通过从单个像素的运动向量减去(308)帧的全局运动M来计算每个像素的局部运动。具体地,局部运动是总运动向量的幅度与单应性矩阵A的行列式M之间的差值。然后可以基于较快移动对象在帧的前景中的假设来确定像素深度(310)。在一个实施例中,运动深度图生成器206将阈值应用于每个像素的局部运动以将每个像素分类为具有运动或者不具有运动。确定为具有运动的那些像素可以被赋予为0的深度值(将它们置于前景中),并且确定为不具有运动的像素可以被赋予255的深度值(将它们置于背景中)。
[0042] 深度图模块208通过计算颜色深度图、空间深度图和运动深度图的加权组合来生成组合的深度图。颜色深度图权重w1、空间深度图权重w2和运动深度图权重w3使得深度图模块208能够从单个深度图中的每个深度图产生组合的深度图110。在一个实施例中,权重w1、w2和w3均具有在0和1之间并且包括0和1的值,并且一起总和为1。
[0043] 在一个实施例中,深度图模块208启发式地确定权重w1、w2和w3。在另一实施例中,权重基于帧的特征自适应,并且根据各位置处的特征而跨帧地变化。
[0044] 自适应颜色深度图权重
[0045] 在一个实施例中,深度图模块208基于图像中颜色的分布来确定用于图像的颜色深度图的自适应权重。自适应的颜色深度图权重w1表示能够使用颜色提示来生成深度图的置信度。如果图像具有窄的颜色分布,则图像中的所有像素将具有相同的颜色或者类似的颜色,不管它们在图像中的深度。因此,当颜色分布窄时,更多地依靠诸如空间提示或者运动提示之类的备选深度提示来确定深度是有利的。另一方面,当图像具有更宽的颜色分布时,颜色深度模块208将能够确定更准确的颜色深度,意味着当颜色分布宽时增加颜色深度图权重是有利的。
[0046] 在一个实施例中,深度图模块208通过计算图像的颜色对比度来量化颜色的分布。例如,深度图模块208可以根据如下表达式基于图像中的像素的强度来计算均方根(RMS)图像对比度c
[0047]
[0048] 对于m×n大小的图像,Iij是在位置(i,j)处的像素的强度并且ī是图像中像素的平均强度。c的值被归一化在范围[0,1]中。分别给定颜色深度图权重的上限w1_max和下限w1_min,颜色深度图权重w1根据如下公式基于对比度c来确定
[0049] w1=w1_min+c(w1_max-w1_min).  (4)
[0050] 在另一实施例中,深度图模块基于计算用于直方图的离散熵来计算用于图像的颜色分布。例如,在YCbCr颜色空间中,深度图模块208可以获取在x轴上量化为B(例如,255)个直条(bin)的颜色直方图hist_y、hist_cb和hist_cr。直方图针对颜色空间中的每个颜色通道在每个颜色直条中表示帧中的像素数目。深度图模块208计算每个直方图的熵H(x)以及具有B个直条的均匀直方图的熵。表示每个通道中的所有颜色的均匀分布的均匀直方图具有最大的可能的熵H(unif)。在计算分别表示Y、Cb和Cr通道中的直方图的熵的H(hist_y)、H(hist_cb)和H(hist_cr)之后,深度图模块208通过对直方图与H(unif)的比值取平均值来确定颜色深度图权重w1:
[0051]
[0052] 在方程(5)中,w1_max是对w1的值的启发式选择的上限。
[0053] 自适应运动深度图权重
[0054] 在一个实施例中,深度图模块208基于视频的两帧或者更多帧之间的像素的局部运动的量来确定用于运动深度图的自适应权重。如果图像的像素几乎不具有局部运动,则具有相似局部运动的像素将很可能具有不同深度。作为结果,自适应运动深度图权重w2表示使用运动来确定深度的置信度。
[0055] 深度图模块208基于帧中具有局部运动的像素的百分比来计算自适应的运动深度图权重。在一个实施例中,单个像素被赋予二进制运动值,该二进制运动值指定像素处于运动中或者不处于运动中。距离阈值可以被应用到由运动深度图生成器206计算的差向量的幅度,使得拥有具有高于阈值的幅度的差向量的像素被确定为处于运动中(并且被赋予运动值“1”),而拥有具有低于阈值的幅度的差向量的像素被确定为静止的(并且被赋予运动值“0”)。在将距离阈值应用于差向量之后,深度图模块208确定了帧中具有局部运动的像素的百分比p,即p=(MV_1/N),其中MV_1是具有运动值=1的像素的数目,N是图像中的像素的数目。
[0056] 运动深度图权重w2按照百分比p的函数来调整。在一个实施例中,深度估算模块208将运动阈值应用于具有局域运动的像素的百分比。如果百分比p高于运动阈值,则将w2从预设值增加小的量。如果百分比p低于运动阈值,则将w2减少小的量。具体地,给定阈值ε和百分比p,深度估算模块208可以通过将w2i乘以接近1.0的值相对于w2i-1来确定w2i的值,w2i对应于帧i中的像素的运动深度图权重,w2i-1对应于帧i-1中的相同像素的运动深度图权重。例如,深度估算模块208可以根据如下公式确定w2i
[0057]
[0058] 乘数值(在该示例中的1.02和0.98)可以被启发式地确定,并且任何合适值可以被深度图模块208使用。深度图模块208也可以定义约束运动深度图权重可以偏离预设值的量的w2的上下限。
[0059] 自适应空间深度图权重
[0060] 在一个实施例中,深度图模块208基于空间深度先验的方差来确定用于图像的空间深度图的自适应权重。如由空间深度先验所指定的,低方差指示在像素位置处的平均深度值准确地预测像素的深度的较高概率。由空间深度图生成器204生成的方差先验描述了在每个像素位置处的深度方差。为了生成用于在位置(x,y)处的像素的自适应空间深度图权重w3,深度图模块208在方差先验中找到(x,y)处的方差。如果方差小,则深度图模块208增加w3的值,而如果方差大,则减少w3。在一个实施例中,深度图模块208通过与由方程(6)描述的方法类似的方法来确定w3,如果方差高于或者低于预设阈值则将w3乘以预定值。
[0061] 生成组合的深度图
[0062] 如果自适应权重被用于生成用于图像的组合的深度图,则深度图模块208可以在三个权重总和是1.0的约束下,使用上文所描述的方法来确定一个或者两个自适应权重并且基于所确定的权重来计算剩余权重。例如,如果深度图模块208生成一个自适应权重(诸如自适应w1),剩余两个权重可以被定义为具有固定的比值α使得
[0063] α=w2/w3  (7)然后,w2和w3的值可以通过以下公式来确定
[0064]
[0065] 以及
[0066]
[0067] 备选地,如果深度图模块208生成两个自适应权重,则第三权重可以通过从1.0的约束值减去两个已生成的权重来确定。
[0068] 图4是图示用于生成单视场图像的组合的深度图的过程的流程图。过程的步骤可以由深度图生成模块200执行。其他实施例可以具有附加的或者更少的步骤,并且可以以不同的顺序来执行步骤。
[0069] 深度图生成模块200访问(402)具有多个像素的单视场图像。在一个实施例中,图像是视频的帧,诸如视频帧102。通过使用像素的颜色以确定它们的深度来确定(404)用于图像的颜色深度图。基于具有相似颜色的像素将具有相似深度的假设来生成颜色深度图。在一个实施例中,深度图生成模块200访问图像中的像素的颜色信息并且基于历史深度信息或者颜色深度函数来计算颜色深度图。
[0070] 深度图生成模块200还通过使用像素的位置以确定它们的深度来确定(406)用于图像的空间深度图。通过对从大量3D图像中获取到的在各个位置处的已知像素深度取平均值计算的空间深度先验提供图像中的像素的位置与其深度的图之间的相关性。在一个实施例中,空间深度先验是将像素的位置与其深度关联的查找表。
[0071] 深度图生成模块200通过使用两帧之间的像素的运动以确定它们的深度来确定(408)用于图像的运动深度图。像素运动通过从相同两帧之间的像素的总运动减去两帧之间的全局运动来确定。
[0072] 颜色深度图权重、空间深度图权重和运动深度图权重也被确定(410)。权重是介于0和1之间的值,并且一起总和为1.0。在一个实施例中,权重在图像之间以及跨每幅图像是自适应的,说明图像中的不同特征和用于准确量化不同特征的深度的每个深度图方法的可靠性。
[0073] 最后,深度图生成模块200生成(412)组合的深度图。组合的深度图是由颜色深度图权重加权的颜色深度图、由空间深度图权重加权的空间深度图以及由运动深度图权重加权的运动深度图的线性组合。通过生成组合的深度图,深度图生成模块200提供图像中的与由单个图单独提供的像素深度的图相比更准确的像素深度的图。
[0074] 附加配置考虑
[0075] 本发明的实施例的前述描述已经为了说明的目的被呈现;其不旨在穷尽或者将本发明限制于所公开的精确形式。相关领域技术人员可以领会根据上述公开的很多修改和变化是可能的。
[0076] 本描述的一些部分在对信息的操作的算法和符号表示方面描述了本发明的实施例。这些算法描述和表示通常被数据处理领域技术人员用来向本领域其他技术人员有效地传达他们工作的实质。当这些操作被功能地、计算地或者逻辑地描述时,应当被理解为由计算机程序或者等价电路、微代码等实现。此外,在不失一般性的情况下,还已经证明有时将这些操作的布置称为模块是方便的。所描述的操作和它们相关联的模块可以被体现在软件、固件、硬件或其任何组合中。
[0077] 本文所描述的任何步骤、操作或者处理可以利用一个或者多个硬件或者软件模块,单独地或者与其他设备结合地被执行或者实现。在一个实施例中,软件模块利用包括含有计算机程序代码的计算机可读介质的计算机程序产品来实现,计算机程序代码可以由用于执行描述的步骤、操作或者过程中的任何或者全部的计算机处理器执行。
[0078] 本发明的实施例也可以涉及一种用于执行本文的操作的装置。该装置可以为了需要的目的而专门构建,和/或它可以包括由存储在计算机中的计算机程序选择性激活或者重新配置的通用计算设备。这样的计算机程序可以被存储在非瞬态、有形的计算机可读存储介质或者适合用于存储电子指令的任何类型的介质中,介质可以被耦合到计算机系统总线。此外,在本说明书中涉及的任何计算系统可以包括单处理器或者可以是采用为了增加的计算性能而设计的多处理器的架构。
[0079] 本发明的实施例也可以涉及由本文所描述的计算过程生产的产品。这样的产品可以包括源于计算过程的信息,其中信息被存储在非瞬态、有形的计算机可读存储介质上并且可以包括计算机程序产品或者本文所描述的其他数据组合的任何实施例。
[0080] 最后,在本说明书中使用的语言已经主要为了可读性和教导的目的而选择,并且它可能没有被选择以描绘或者限制发明主题。因此,本发明的范围旨在不由该详细描述限制,而是由基于此来发布申请的任何权利要求限制。因此,本发明的实施例的公开旨在是说明性的而不是限制本发明的范围,本发明的范围在以下权利要求书中被阐述。