一种高清立体视频的视差范围快速检测方法

文档序号:7808165阅读:631来源:国知局
一种高清立体视频的视差范围快速检测方法
【专利摘要】本发明涉及一种高清立体视频的视差范围快速检测方法。所述方法包括快速立体匹配的步骤、提高快速匹配准确度的步骤、视差范围提取的步骤、空间精度补偿的步骤和时间精度补偿的步骤。本发明将快速稠密立体匹配与检测方法相结合,通过阈值判决的方式快速提取立体图像的视差范围;采用分布式思路,通过跟踪画面出屏最大物体的方式计算视频的最大出屏范围,大幅降低了计算量,提高了计算速度;本发明不需要计算立体视频每一帧的稠密视差图像,通过截取窗口及视差范围继承的方式快速估计非计算帧的视差范围。与现有技术相比,本发明能够在抽帧处理的同时保证视差信息时间上的连续性,能够准实时地逐帧计算高清视频的视差范围。
【专利说明】一种高清立体视频的视差范围快速检测方法 【技术领域】
[〇〇〇1] 本发明涉及立体匹配技术,具体涉及大数据量立体图像的快速匹配技术,以及高 清立体视频的视差范围快速检测方法。 【背景技术】
[0002] 随着人们对3D业务兴趣的不断增长,3D视频的观看舒适度和安全性受到了越来 越广泛的关注。目前,3D业务舒适度和安全性已经成为了阻碍3D业务进入大众视频市场的 主要瓶颈之一。因此,对于3D视频的制作者而言,表征3D业务舒适度的指标,如视频的视 差范围等信息,就显得尤为重要。制作不当的3D视频不仅不能够让观看者产生愉悦的观看 体验,还可能会导致观看者产生身体上的不适,甚至可能会对部分观看者(如未成年人)的 视觉能力造成负面影响。
[0003] 视差信息是衡量数字立体视频系统舒适程度及安全性的重要指标,获取画面的视 差信息能够得知整个场景的深度分布情况,从而无需为传输场景的深度要素增加额外的传 输代价。深度信息是监控立体视频质量、调整立体视频深度范围的重要信息。因此,如何从 立体视频内容中快速、准确地获取场景的深度信息具有很高的实用价值。
[0004] D. Scharsteinand及R. Szeliski等人将稠密立体匹配分为全局匹配和区域匹配 两大类。区域匹配的特点是采用窗口作为匹配单元,根据所设定的窗口对匹配代价的结果 进行整合,得到窗口中心点的视差值。区域匹配的优点在于匹配计算过程与图像内容无关, 能够优化为一种快速匹配方法;缺点在于视差图像普遍精度较低,容易出现大面积的视差 计算错误。全局匹配的特点是将匹配点的搜索问题转换为了求解某个全局函数的最优解问 题。全局匹配的优点在于匹配计算过程能够通过图像内容调整目标全局能量函数,从而得 到高精度的匹配视差图;缺点在于全局能量函数优化过程的计算量非常大,准确但耗时较 长。可见,在稠密立体匹配中:区域匹配计算速度很快,适合实时应用,但其计算准确度低, 无法用于立体视频的视差范围提取;全局匹配计算准确度高,能够准确提取立体视频的视 差范围,但其计算效率太低,不适合于视差范围的快速提取。
[0005] 基于角点的立体匹配方法是目前快速提取立体图像视差范围的主要方法。基于角 点的立体匹配方法并不计算整幅视差图像,而是通过提取图像中的部分点进行计算。具体 步骤主要包括角点提取、角点匹配、边缘提取、边缘点匹配。基于角点的立体匹配方法优点 在于能够在很小的计算量下给出部分点的视差值,适合于进行图像的视差范围检测;缺点 在于不能够生成视差全图,因此对深度分布的估计能力较差,且运算速度不够快,距离实时 处理商清视频有较大差距。
【发明内容】

[0006] 本发明针对现有技术中存在的匹配速度慢、匹配点数少等问题,提出一种高清立 体视频的视差范围快速检测方法,基于稠密立体匹配,通过添加约束条件的方式,快速估计 立体图像的视差范围。
[0007] 为了实现上述目的,本发明采用以下技术方案。
[0008] -种高清立体视频的视差范围快速检测方法,包括快速立体匹配的步骤、提高快 速匹配准确度的步骤、视差范围提取的步骤、空间精度补偿的步骤和时间精度补偿的步骤。
[0009] 快速立体匹配的步骤,包括以下内容:
[〇〇1〇] 本发明从计算冗余和串行转并行两方面优化了固定窗口匹配的计算过程。
[0011] 固定窗口匹配的计算冗余主要包括相邻点的计算冗余和相邻窗口的计算冗余,如 图1所示。消除相邻点的计算冗余能够将每个匹配窗口 L2次的计算量减少到了 4次。消 除相邻窗口的计算冗余够将每点4次的计算量进一步减少到每点2次。
[0012] 除了计算冗余,还可采用单指令多数据流(Single Instruction Multiple Data, SMD)技术,将串行计算转化为并行处理,进一步提高效率。图2为能够进行并行计算的图 像区域范围。图中,黑点白底区域为需要进行匹配代价计算的点,白点黑底区域为核心计算 区域,该区域中每点的匹配代价计算次数为2次,是可以进行并行处理的区域。本方法选用 了 SMD技术中的MMX指令集,一个MMX指令能够同时处理8个8比特的亮度数据,即能够 将计算的循环次数减少到原先的1/8,大幅提高了运算的效率。
[0013] 提高快速匹配准确度的步骤,包括以下内容:
[0014] 对于稠密立体匹配,存在快速区域匹配方法不准确与全局匹配方法不能够快速处 理的矛盾。本发明针对立体视频视差范围的检测这一应用,提出了如下实现思路:由于对立 体视频视差范围的检测并不需要准确的视差图全图,因此可以采用寻找快速匹配方法中的 准确信息的方式,将快速区域匹配技术应用于立体视频视差范围的检测当中。
[0015] 一个典型的基于固定窗口的立体匹配及其误匹配区域如图4所示。图中方框内区 域表示了三类代表性的错误区域,分别是重复纹理区域、低纹理区域、遮挡区域。针对这三 类错误,需要使用不同的约束条件进行错误检测。左右一致性检测从匹配对应关系的角度, 分析快速匹配中存在的误匹配。视差集中性检测和显著性检测从匹配结果显著程度的角 度,分析快速匹配中存在的误匹配。
[〇〇16] 视差范围提取的步骤,包括以下内容:
[0017] 通过多次测算及比较,为了达到快速或实时处理的要求,同时保证视差精度不会 有太大的损失,对原始高清立体图像进行1/4的下采样。采样后立体图像的计算耗时大大 下降,可以接近实时处理。在不考虑程序其他模块耗时的情况下,对原始序列进行时间上 1/3的抽帧处理就能够达到实时处理的效果。
[0018] 高清图像在经过下采样、抽帧、视差计算之后,便得到了低精度视差图像。所得到 的视差图像经过前文中介绍的方法进行错误匹配区域检查,可得到经过错误检查的低精度 视差图像,如图8所示。在实际立体视频中,由于近大远小的透视原理,距离摄像机最近的 物体一般会占据屏幕一部分的区域,并且这个区域一般不会很小。根据这个假设,可以定义 一个阈值,当具有最大视差值像素的像素数量大于这个阈值时,就认为该视差值是整个场 景的最大视差,否则就判定该视差值为误匹配。图9为最大视差的提取方法流图程,最小视 差的提取方法与之类似。
[0019] 空间精度补偿的步骤,包括以下内容:
[0020] 上一步所得到的是粗略的视差图像,该步骤所得到的视差图能够提供两个重要的 信息:一是大致的视差范围。通过粗略视差图的计算,可以获得原立体图像大致的视差范 围,后续计算可以在粗略的视差极值附近搜索精确的视差极值,大大减少了搜索范围和计 算量。二是最大视差物体的大概位置。通过粗略视差图的计算,可以得知原立体图像大致 的视差分布情况,通过设定不同的视差阈值范围,能够获取距离摄像机特定位置物体的大 致区域及位置。当获取了最大视差物体的大致区域之后,通过对该区域内像素坐标的计算, 能够得出最大视差物体中心位置的坐标估值。之后,只需要设定窗口的大小,就能够在原高 清立体图像中"剪裁"出目标物体的高清晰度纹理信息。这一过程的一个具体实例如图11 所示。
[0021] 首先,原始高清图像经过视差范围提取的步骤,能够得到经检测的粗略视差图像 与大致的视差范围;其次,根据粗略的视差图像计算拥有最大视差物体的大致范围,并根据 该范围对原高清图像进行截取,得到含有最大视差物体的截取后高清图像;之后,根据得到 的匹配计算范围,对截取后的部分高清图像近行匹配比较,其中,采用两图之间的绝对差值 作为匹配比较的方式;最后,比较不同视差位置上的匹配误差,选择匹配误差最小的位置作 为匹配位置,并将精细的匹配位置与原粗略的匹配位置相加,从而得到高精度的视差信息。
[0022] 时间精度补偿的步骤,包括以下内容:
[0023] 基于上面提出的快速高精度视差提取方法,本发明提出了一种快速的时间精度补 偿方法。前面提到,即使对原高清图像进行1/4的空间下采样,仍无法达到实时处理,需要 在时间上进行进一步的采样,经过抽帧的图像在时间上的视差值将会出现不连续。由于视 频信息在时间上有着连续变化的特点,相邻视频帧之间的画面场景一般不会出现太大的变 化,同样的,相邻视频帧的深度分布也有着很强的相关性。一般来说,在连续几帧画面之内, 画面主体的位置及深度均不会产生太大的变化。
[0024] 根据这种特性,可以采用图13所示方法对立体视频的视差信息进行时间精度上 的补偿。对于非抽取帧,采用空间精度补偿的方法进行视差值的计算与提取。对抽取帧,在 读入该帧图像后,不进行耗时较长的视差计算,而是直接使用前一帧计算得到的视差估值 及截取范围计算本帧的视差信息,即可得到本帧立体画面的高精度视差范围。
[0025] 与现有技术相比,本发明具有以下优点:
[0026] (1)本发明将快速稠密立体匹配与检测方法相结合,通过阈值判决的方式快速提 取立体图像的视差范围。在稠密立体匹配方法中,全局匹配技术计算速度普遍很慢,无法进 行大数据量立体图像的快速视差计算;而快速的区域立体匹配技术则存在大量误匹配,无 法应用于视差范围提取。与基于角点的立体匹配方法相比,本发明得到的有效匹配点数多, 一般大于全图像素数量的50%,而基于角点的匹配方法所得到的匹配点数则一般不超过全 图像素数量的5%。
[0027] (2)本发明采用分布式思路,通过跟踪画面出屏最大物体的方式计算视频的最大 出屏范围,大幅降低了计算量,提高了计算速度。对于一幅1920X1080的高清图像,搜索范 围为-128?+128时,本发明能够以约0. 16秒的速度获取高清精度的最大出屏范围,而仅 使用快速稠密立体匹配方法进行计算则至少需要耗时2秒以上,且在不使用本发明所提出 的立体图像视差范围快速提取方法的情况下,无法取得画面的视差范围。
[0028] (3)本发明不需要计算立体视频每一帧的稠密视差图像,通过截取窗口及视差范 围继承的方式快速估计非计算帧的视差范围。与其他需要抽帧处理的实时高清视差范围 计算方法相比,本发明能够在抽帧处理的同时保证视差信息时间上的连续性,能够准实时 (约15fps)地逐帧计算高清视频的视差范围,远快于基于角点等匹配方法的计算速度。 【专利附图】

【附图说明】
[0029] 图1为固定窗口算法的计算冗余示意图;
[0030] 图2为能够进行并行计算的像素范围示意图;
[0031] 图3为图像预处理示意图;
[0032] 图4为基于固定窗口的立体匹配结果,左侧为原始图像,中间为真实视差图,右侧 为基于点的匹配结果;
[0033] 图5为左右一致检测结果;
[0034] 图6为集中性检测及显著性检测结果;
[0035] 图7为综合检测结果;
[0036] 图8为经过错误检测的快速匹配结果;
[0037] 图9为视差范围检测方法流程图;
[0038] 图10为视差范围检测结果;
[0039] 图11为视差空间精度补偿实现流程图;
[0040] 图12为视差空间精度补偿结果;
[0041] 图13为视差时间精度补偿实现过程示意图;
[0042] 图14为视差时间精度补偿结果。 【具体实施方式】
[0043] 一种高清立体视频的视差范围快速检测方法,包括以下步骤:
[0044] 步骤1,初始化及预处理,方法如下:
[0045] (1)配置立体匹配的基本参数。包括图像基本信息、匹配搜索范围、快速稠密立体 匹配中的匹配窗口大小、对匹配精度的要求、对匹配速度的要求。其中,匹配搜索范围需要 为8的整数倍、匹配窗口大小应为大于1的奇数。
[0046] (2)读入目标立体图像。若目标图像或视频为压缩格式,需要对原图像或视频进行 解码处理,得到YCrCb的非压缩图像。
[0047] (3)提取亮度信息。将YCrCb格式图像中的亮度信息Y进行提取和保存,用于后续 处理,舍弃色度信息CrCb。
[0048] (4)对立体图像进行偏移。如图3所示。设立体匹配的搜索范围为[0,L],为了使 不同拍摄方式的立体视频能够采用同样的匹配方法进行处理,需要对图像进行偏移。若原 始立体图像采用平行式立体拍摄,不需要进行偏移处理;若原始立体图采用交叉式立体拍 摄,需要对参考图像进行向左L/2像素的偏移。
[0049] (5)对立体图像进行下采样。对原始立体图像的目标图像及偏移后的参考图像进 行水平及垂直方向上1/4的空间下采样。根据使用者对匹配速度的实际要求,对原始序列 进行一定比例的时间下采样(抽帧),采用比例为1/3的空间下采样能够达到实时处理。
[0050] 步骤2,快速立体匹配实现,方法如下:
[0051] (1)采用快速稠密立体匹配方法对立体图像进行立体匹配。匹配方法选用固定窗 口算法,匹配代价函数选择SAD (绝对差值和),匹配窗口大小和匹配搜索范围根据立体图 像实际情况进行选择。
[0052] (2)改写匹配代价SAD的计算代码。如图2所示。设参考图像为L,目标图像为R, 图像宽度为Width,高度为Height,匹配窗口宽度为W,对于图像中不同位置的点L(x,y) :
[0053] 对于参考图像中的点Iu(x, y) (X = W/2, y = W/2),匹配代价函数SAD的表达式为:
【权利要求】
1. 一种高清立体视频的视差范围快速检测方法,其特征在于包括以下步骤: 步骤1,初始化及预处理,方法如下: (1) 配置立体匹配的基本参数;包括图像基本信息、匹配搜索范围、快速稠密立体匹配 中的匹配窗口大小、对匹配精度的要求、对匹配速度的要求;其中,匹配搜索范围需要为8 的整数倍、匹配窗口大小应为大于1的奇数; (2) 读入目标立体图像;若目标图像或视频为压缩格式,需要对原图像或视频进行解 码处理,得到YCrCb的非压缩图像; (3) 提取亮度信息;将YCrCb格式图像中的亮度信息Y进行提取和保存,用于后续处 理,舍弃色度信息CrCb ; (4) 对立体图像进行偏移;设立体匹配的搜索范围为[0,L],为了使不同拍摄方式的立 体视频能够采用同样的匹配方法进行处理,对图像进行偏移:若原始立体图像采用平行式 立体拍摄,不需要进行偏移处理;若原始立体图采用交叉式立体拍摄,需要对参考图像进行 向左L/2像素的偏移; (5) 对立体图像进行下采样;对原始立体图像的目标图像及偏移后的参考图像进行水 平及垂直方向上1/4的空间下采样;根据使用者对匹配速度的实际要求,对原始序列进行 一定比例的时间下采样即抽帧,采用比例为1/3的空间下采样能够达到实时处理; 步骤2,快速立体匹配实现,方法如下: (1) 采用快速稠密立体匹配方法对立体图像进行立体匹配;匹配方法选用固定窗口算 法,匹配代价函数选择绝对差值和SAD,匹配窗口大小和匹配搜索范围根据立体图像实际情 况进行选择; (2) 改写匹配代价SAD的计算代码;设参考图像为L,目标图像为R,图像宽度为Width, 高度为Height,匹配窗口宽度为W,对于图像中不同位置的点L(x,y):对于参考图像中的点 IK(x, y), X = W/2, y = W/2,匹配代价函数SAD的表达式为: SAD{.\\y,d) = //.(.v, v·)- /,. (x + d,y) \ 式中,d为参考图像与目标图像之间对应点的视差值,S为匹配代价聚合窗口,Ικ为参 考图像,Ιτ为目标图像; 对于点 L(x, y),X = W/2, y e [W/2+1, Height]),将原 SAD 算法改写如下: SAD (x, y+1, d) = SAD (x, y, d) +U (x, y+1, d) L-l SAD(x,y,d) = ^IL(.v + /, y + /)- R(x + d + /,v + /.)| ..L-\ W=-了 L-l L-\ Liv, v+l,.</)= /Xr+/,v+^+l)-i<x+<i+/,.v+^+l)- ^ IXx+j,y-^)-^\-+d+j,v-^-) la 2 2 I la\ 2 2 对于点 L(x,y),(x = [W/2+1,W+W/2],y e [W/2+1,Height]),将原 SAD 算法改写如下: SAD (x, y+1, d) = SAD (x, y, d) +U (x, y+1, d) U(x,y+l,d) =U(x-l,y+l,d) + |A-A' |-|B-B' |-(|D-D' |-|C-C' I) 其中,A、B、C、D为参考图像中的点,A为匹配窗口外左上方相邻处的像素,B为匹配窗 口外右上方相邻处的像素,C为匹配窗口内右下方的像素点,D为匹配窗口外左下方的像素 点;A'、B'、C'、D'为目标图像中的点; 对于点 L(x,y), (x= [W+W/2+1, Width], ye [W/2+1, Height]),将原 SAD 算法改写如 下: SAD (x+wd, y, d) = SAD (x+wd, y-1, d) +U (x+wd, y, d) U (x+wd, y, d) = U (x+wd-1, y, d) +S (x, y, d) -1 Bwd_Bwd' I +1 Cwd_Cwd' S (x, y, d) = -1B-B,I +1 C-C' 其中,B、C、Bwd、Cwd为参考图像中点,B'、C'、Bwd'、C wd'为目标图像中的点;B为中心点 P(x,y,d)窗口外右上方相邻处的像素点,C为中心点P(x,y,d)窗口内右下方的像素点,Bwd 为中心点P(x+wd,y,d)窗口外右上方相邻处的像素点,Cwd为中心点P(x+wd,y,d)窗口内右 下方的像素点; (3)用并行指令改写核心匹配代码;对于点L(x,y),(x= [W+W/2+l,Width],y e [W/2+ 1,Height]),采用SIMD中的MMX指令集改写原代码;具体地,将原始图像以8个点为一组进 行打包,保存到MMX专用寄存器中进行并行处理;同时,将匹配搜索的循环次数减少至原先 的 1/8 ; 步骤3,快速立体匹配优化,方法如下: (1) 对快速匹配结果视差图像进行左右一致性检测;对于所述步骤2中描述的快速匹 配方法,在匹配代价选择的过程中,增加目标图像相对与参考图像的匹配代价选择过程,记 录目标图像每个点的视差选择结果;根据结果将目标图像与参考图像的视差值进行比对, 若二者相同,则认为目标图像原匹配结果可靠,保留该匹配结果;若二者不相同,则认为目 标图像原匹配结果不可靠,舍弃该匹配结果; (2) 对快速匹配结果视差图像进行视差显著性检测;对于目标图像的匹配过程,采用 如下公式进行误匹配检测: N Σ((η) - 其中,emin为匹配代价最小值,ei为N个匹配代价次小值,δ e为阈值;若计算结果小于 阈值\,则认为匹配结果不显著,舍弃该匹配结果; (3) 对快速匹配结果视差图像进行视差集中性检测;对于目标图像的匹配过程,采用 如下公式进行误匹配检测: 其中,dmin为匹配代价最小值的视差值,diSN个匹配代价次小值的视差值,δ d为阈 值;若计算结果大于阈值S d,则认为匹配结果不集中,舍弃该匹配结果; 步骤4,视差范围提取,方法如下: (1)判断图像最大视差范围;将所述步骤1、2计算得到的视差图像称为Dmap,将所述步 骤3检测得到的视差图像称为DmapR;在视差搜索范围[_L,L]内,以L为起始值对搜索范围 [_L,L]进行遍历;记DmapR中视差值为1 e [-L,L]的点数为Cntl,设定最大视差范围的判 断阈值s d_为全图像素数量的1% ;若Cntl小于δ dmax,则减小1值继续遍历;若Cntl大 于等于S dmax,则停止遍历,并将此时的1值Dmax记录为该立体图像的最大视差范围; (2)判断图像最小视差范围;在视差搜索范围[-L,L]内,以-L为起始值对搜索范围 [-L,L]进行遍历;记DmapR中视差值为1 e [-L,L]的点数为Cntl,设定最大视差范围的判 断阈值S dmin为全图像素数量的5% ;若Cntl小于δ dmin,则减小1值继续遍历;若Cntl大 于等于S dmin,则停止遍历,并将此时的1值Dmin记录为该立体图像的最小视差范围; 步骤5,空间精度补偿,方法如下: ⑴获取最大出屏物体位置;对于DmapR,以δ dmax±t为视差范围截取原视差图像;其 中,t为最大出屏物体识别范围,建议取值范围为t e [〇, 2],本文档的实例中均取t = 1 ; 对于截取后的视差图像,计算并记录全部有视差值点的平局水平位置AvgX和平均垂直位 置 AvgY ; (2)截取最大出屏物体;设Th为截取窗口的高度,Tw为截取窗口的宽度;设图像宽度 为 Width,高度为 Height :若 AvgX - Tw/2〈0,则将 AxgX 设置为 Tw/2 ;若 AvgX+Tw/2>Width, 则将AxgX设置为Width-Tw/2 ;若AvgY - Th/2〈0,则将AxgY设置为Th/2 ;若 AvgY+Th/2>Height,则将 AxgY 设置为 Height-Th/2 ;以 AxgX土Tw/2、AxgY土Th/2 为范围对 参考图像进行截取; ⑶设[_ δ u δ J为视差微调范围,根据下采样的比例确定叭的大小;在 1 e δ J的范围内,比较(2)中截取的参考图像与目标图像中心为(AxgX+l,AxgY), 范围为AxgX+1 土Tw/2、AxgY土Th/2的区域进行SAD计算,记录[-δ u δ J范围内拥有最小 SAD的位置lSADmin ;记Dmax+lSADmin为该立体图像的精确最大出屏范围; 步骤6,时间精度补偿,方法如下: (1) 在时间上进行视频帧分类;对于抽帧比例为S的一次视频实时视差范围提取过程, 记帧数fn()skip = nS的画面为非抽取帧,记帧数fskip = nS+k,k e [1,S-1]的画面为非抽取 中贞,η为正整数;对于第fmskip巾贞;进行步骤5的计算,记录该次计算中的Dmax、AvgX、AvgY ; (2) 计算抽取帧的精确视差值;对于第fskip帧,将时间上距离第fskip帧最近的fMskip帧 的Dmax、AvgX、AvgY作为本巾贞的Dmax、AvgX、AvgY,并采用该数值进行步骤5的计算,所得到 结果即为该抽取帧的精确视差值。
2.根据权利要求1所述的一种高清立体视频的视差范围快速检测方法,其特征在于, 所述视差范围提取步骤应用于实时监测视频粗略视差范围的场景,只需辅以一定比例的抽 帧,不需要进行时间和空间的精度补偿;所述空间精度补偿步骤应用于快速获得高精度的 视差范围,但不要求实时处理的场景,只需进行空间精度补偿,不必进行时间精度补偿,对 视频进行逐帧的计算;所述空间精度补偿和时间精度补偿可同时应用于获得准实时的高精 度视差范围的场景,在损失少量时间精度的情况下大幅提高处理速度。
【文档编号】H04N13/04GK104065954SQ201410315437
【公开日】2014年9月24日 申请日期:2014年7月3日 优先权日:2014年7月3日
【发明者】郑冠雯, 姜秀华 申请人:中国传媒大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1