CN102263957B - 一种基于搜索窗口自适应的视差估计方法 - Google Patents

一种基于搜索窗口自适应的视差估计方法 Download PDF

Info

Publication number
CN102263957B
CN102263957B CN 201110207607 CN201110207607A CN102263957B CN 102263957 B CN102263957 B CN 102263957B CN 201110207607 CN201110207607 CN 201110207607 CN 201110207607 A CN201110207607 A CN 201110207607A CN 102263957 B CN102263957 B CN 102263957B
Authority
CN
China
Prior art keywords
piece
sad
parallax
width
target image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 201110207607
Other languages
English (en)
Other versions
CN102263957A (zh
Inventor
祝世平
于洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN 201110207607 priority Critical patent/CN102263957B/zh
Publication of CN102263957A publication Critical patent/CN102263957A/zh
Application granted granted Critical
Publication of CN102263957B publication Critical patent/CN102263957B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

本发明提出一种基于搜索窗口自适应的视差估计方法,本方法属于双目数字图像处理领域,涉及一种搜索窗口自适应的视差估计方法。该方法为对水平摄像机组同步拍摄的两幅图像分别进行以不同大小块为单位的遍历扫描,求出块大小不同时的匹配误差和视差矢量,然后选取匹配误差最小的视差矢量作为最终视差的方法。首先分别以左右图像为目标图像,并先后将其分成不同大小的块,在参考图像中搜索目标图像每一块的最佳匹配结果,当块大小不同时,最佳匹配块位置并不完全一致,按照一定准则对每一块的匹配模式进行选择,最终得到准确视差场。本发明所述方法,较固定块匹配方案提高了视差估计的准确性,能得到适用于压缩编码和虚拟视点绘制的准确视差场。

Description

一种基于搜索窗口自适应的视差估计方法
技术领域
本方法属于双目数字图像处理领域,涉及一种搜索窗口自适应的视差估计方法。
背景技术
交互式立体视频,由于其与单目视频相比,增加了景物深度信息表征,因而在视频会议、自动导航、远程教育、立体电视、虚拟现实等领域有广泛应用前景。由于增加了临场感的代价是增加了若干倍的信息量,所以对多目摄像机组拍摄的数据进行存储、传输及合适的表达成为当前多媒体领域研究的热点问题。
视差估计(Disparity Estimation)技术,着眼点在于摄像机组对景物进行同步拍摄后,不同视点之间对象位置的几何对应关系,是立体视频技术中的重要基础。一方面,在立体视频编码中,视差估计技术可以与视差补偿预测(DCP)结合,以去除立体图像对间的相关性,从而对立体视频的多个视角的视频数据进行高比率压缩,去除冗余,使其传输、存储成为可能;另一方面,在虚拟绘制当中,视差估计得到的结果提供了视点之间的几何约束关系,和对应像素的位置规律,使得基于图像直接进行虚拟视点合成变得可行。
根据匹配基元的不同,可以把视差估计简单的分为基于区域(参见Parisa Moslemi,Zeynab Mirzadeh.An Efficient Disparity Algorithm Based on Adaptive WindowSelection for 3D Reconstruction in Stereo[C].The 10th International Conference onInformation Science,Signal Processing and their Applications,2010,pp.113-116.)和基于特征两大类。基于区域的视差估计在平坦而纹理丰富的区域可以获得比较高的精度,并且匹配的结果不受特征检测精度和密度的影响,可以获得稠密的视差场。基于特征的视差估计与基于区域的方法相比,优点在于可以很好的解决歧义性问题,且对因光线、对比度变化而发生的变化不是很敏感。但与此同时,特征点的提取本身是比较困难的,准确度较低,导致基于特征的视差估计准确度比较不理想;并且由于特征点数量较少,得到的视差场是比较稀疏的,如果要通过插值得到较稠密视差场,那么视差准确度就会进一步降低。由于这两类视差估计方法的特点,目前人们的目光主要集中在基于区域的视差估计方法上。
基于区域的视差估计方法中,Yihua Xu等人提出的方法根据初始视差的分布来确定窗口内各像素的支持权值,该方法有赖于初始视差估计的准确性(参见Xu Yi-hua,WangDong-sheng,Feng Tao,Shum Heung-Yeung.Stereo Computation Using RadialAdaptive Windows[C].16th International Conference on Pattern Recognition,2002,vol.3,pp.595-598.);吕朝辉的方法调整对匹配窗口内每一像素的支持权值,使与待匹配点位于同一区域的像素权值增大,从而获得最终视差,但这种对于多纹理区域的匹配并不理想,固有遮挡问题也未作考虑(参见吕朝晖,袁惇.一种基于自适应权值的立体匹配方法[J].光学技术,2007,vol.33,no.4,pp.501-504.);Zheng Jiali提出基于比例偏差最优化函数自动选择视差匹配模式的方法,该方法克服了视差估计缺乏鲁棒性的缺点,但同时引进了巨大的数据量(参见Zheng Jia-li,Qin Tuan-fa.Adaptive DisparityEstimation for Stereoscopic Video Coding[C].IEEE Youth Conference onInformation Computing and Telecommunications(YC-ICT),2010,pp.214-217.)。
基于以上介绍可以得知,视差估计作为多视点系统中不可或缺的技术,已经得到越来越多的重视和关注,各种算法也在近几年相继提出。但目前视差估计技术仍未成熟,没有一种具有普适性的视差估计方法,能够对所有多目数据的视差信息进行估计;同时,目前的视差估计技术在快速性方面仍有所欠缺,基本不能达到视觉系统实时性的要求。
发明内容
本发明要解决的技术问题是:为克服现有问题的不足,本发明提供一种基于搜索窗口自适应的视差估计方法,在运算复杂度降低,视差估计速度提高的同时,得到较好的视差图,能够用于多目视频编码和虚拟绘制等领域。
本发明解决其技术问题所采用的技术方案包括:
一种基于搜索窗口自适应的视差估计方法,其特征在于实现步骤如下:
(1)读入两幅初始图像,并按照视差估计的要求对读入的两幅初始图像进行预处理;
(2)令预处理后的两幅图像中的一幅图像为目标图像,另一幅图像为参考图像,首先将目标图像分成尺寸均为M×N像素的块,在参考图像中一定范围内搜索每一个块的最佳匹配块,并记录每一个块与最佳匹配块之间的最小绝对值误差和MSAD和位移矢量d;然后将目标图像分成尺寸均为(M/2)×(N/2)像素的块,按照相同过程搜索每一个块的最佳匹配块,并记录每一块与最佳匹配块之间的最小绝对值误差和MSAD和位移矢量d;
(3)按照最小SAD准则,对目标图像的每一个位置进行判断,依据最小SAD准则选择最终的匹配结果,所述匹配结果是M×N块的搜索结果和(M/2)×(N/2)块的搜索结果之一,并将以块为单位的视差扩展至以像素为单位,形成与读入的初始图像尺寸相同的视差场。
所述步骤(1)中,在视差估计之前对输入的两幅图像进行预处理的具体实现如下:
(1.1)读入两幅初始图像,所述两幅初始图像由水平摄像机组在同一时刻拍摄自同一场景,使这两幅初始图像仅在拍摄视角上存在差异;
(1.2)判断两幅初始图像的宽度和高度是否相同,若不同,则无法进行匹配,提示报错并跳出;若相同,继续执行步骤(1.3);
(1.3)若两幅输入图像为彩色图像,则分别将其转化为灰度图像,然后执行步骤(2);若两幅输入图像为灰度图像,则执行步骤(2);
所述步骤(2)中,对目标图像中的每一个块,在参考图像一定范围内搜索最佳匹配块的步骤具体为:
(2.1)对参考图像进行扩边处理,在参考图像的左右各增加b个像素,b须满足包含所有双目视图中只存在于一幅视图的场景内容,并令增加的像素灰度值为0,参考图像高度不变,宽度增加2×b个单位,且增加的部分为黑色;
(2.2)首先将目标图像分为M×N的块,称为宏块,其中M为每块宽度,N为长度,求出目标图像与参考图像对应位置块的SAD,作为搜索时用于比较的初始值,SAD定义为目标图像块与参考图像块之间的绝对值误差和,计算方法如下:
SAD [ T ( m , n ) , R ( p , q ) ] = Σ i = 1 M Σ j = 1 N | G T ( m + i , n + j ) - G R ( p + i , q + j ) |
为其中块的大小为M×N,T(m,n)为目标图像中某一块的左上角点,(m,n)为T的位置坐标;R(p,q)为参考图像中某一块的左上角点,(p,q)为R的位置坐标;GT、GR分别为目标图像和参考图像在某一坐标点的灰度值;i、j为遍历参数,分别依次取从0到M-1和从0到N-1之间的整数;
(2.3)对目标图像中某一块在参考图像中寻找最接近块,将搜索起点设置为目标图像中待匹配块的左上角点T(m,n),在区间[m-b,m+b]内进行匹配,求出[m-b,m+b]内每个匹配位置与待匹配块之间的SAD,使SAD值取得最小的参考图像对应位置即为最佳匹配块,并保留这个SAD最小值,记为
Figure BDA0000078081460000032
其中上标M×N代表所使用块的宽度乘以高度,代表尺寸;下标min代表这个SAD是所有匹配位置得到的SAD的最小值;当块的尺寸为正方形,即M=N时,将这个SAD最小值记为
Figure BDA0000078081460000033
将搜索到的最佳匹配块位置记录下来,并求出目标块与最佳匹配块之间的位移矢量,即视差,记作
Figure BDA0000078081460000041
d ( m , n ) M × N = ( m - p , n - q )
其中上标M×N代表所使用块的宽度乘以高度,表示尺寸;下标(m,n)代表待匹配的目标块的左上角坐标,(i,j)表示视差矢量值,即水平方向和垂直方向上目标块和最佳匹配块的相对位移;当块的尺寸为正方形,即M=N时,同一块的视差值记作
Figure BDA0000078081460000043
如果接受匹配的是目标图像中位于右下角的块,即待匹配块左上角坐标为(W-M,H-N)(其中W、H分别为目标图像宽和高,M、N分别为匹配块的宽和高),则结束匹配,保存所有位置的SAD最小值和对应位置的视差矢量;否则,找到下一个待匹配的目标图像块,返回步骤(2.3);
(2.4)将目标图像重新分块,分为(M/2)×(N/2)的块,称为子块,其中每块宽度为M/2,长度为N/2,求出目标图像与参考图像对应位置块的SAD,作为搜索时用于比较的初始值,然后依据如下公式计算每个(M/2)×(N/2)大小块的SAD:
SAD [ T ′ ( m , n ) , R ′ ( p , q ) ] = Σ i = 1 M / 2 Σ j = 1 N / 2 | G T ′ ( m + i , n + j ) - G R ′ ( p + i , q + j ) |
公式中参数除了块的高度和宽度分别变为步骤(2.2)公式中块高度和宽度的1/2之外,其它参数不变;
(2.5)按照步骤(2.3)中对目标图像中的每一个块在参考图像中寻找最接近块的方法,将搜索起点设置为目标图像中待匹配块的左上角点T′(m,n),在区间[m-b,m+b]内进行匹配,求出[m-b,m+b]内每个匹配位置与待匹配块之间的SAD,使SAD值取得最小的参考图像对应位置即为最佳匹配块,并保留这个SAD最小值,记为
Figure BDA0000078081460000045
将搜索到的最佳匹配块位置记录下来,,并求出每一个目标块与最佳匹配块之间视差矢量。此时块的宽和高分别变为步骤(2.3)中块高度和宽度的1/2;
如果接受匹配的是目标图像中位于右下角的块,即待匹配块左上角坐标为(W-M/2,H-N/2),其中W、H分别为目标图像宽和高,M/2、N/2分别为匹配块的宽和高,则结束匹配,保存所有位置的SAD最小值和对应位置的视差矢量;否则,找到下一个待匹配的目标图像块,返回步骤(2.5);
上述步骤(3)中,选择较好匹配模式的步骤具体为:
(3.1)第一次分块时块的宽和高均为第二次分块的两倍,1个宏块在第二次分块中被分为4个子块;1个宏块与4个子块在位置上是对应的;在自适应选择宏块视差还是子块视差时,使用SAD最小准则,即比较1个M×N大小的宏块与最佳匹配块之间的SAD值
Figure BDA0000078081460000051
和4个(M/2)×(N/2)大小的子块与它们各自的最佳匹配块之间的SAD值之和,记为如果则选择宏块视差
Figure BDA0000078081460000054
如果
Figure BDA0000078081460000055
则选择子块视差矩阵,记为
Figure BDA0000078081460000056
其中(m,n)表示4个子块中最左上角的坐标;符号[·]4表示子块视差矩阵由与宏块位置对应的4个子块组成:
[ d ( m , n ) ( M / 2 ) × ( N / 2 ) ( i , j ) ] 4 = d ( m , n ) ( M / 2 ) × ( N / 2 ) ( i , j ) d ( m , n + N / 2 ) ( M / 2 ) × ( N / 2 ) ( i , j ) d ( m + M / 2 , n ) ( M / 2 ) × ( N / 2 ) ( i , j ) d ( m + M / 2 , n + N / 2 ) ( M / 2 ) × ( N / 2 ) ( i , j )
(3.2)将以块为单位的视差扩展至以像素为单位,形成与输入图像尺寸相同的视差场,对目标图像中的某一宏块,如果在步骤(3.1)中选择了宏块视差
Figure BDA0000078081460000058
则令宏块中每一点的视差矢量
Figure BDA0000078081460000059
其中(x,y)为图像坐标系中某点坐标;如果在步骤(3.1)中选择了子块视差矩阵
Figure BDA00000780814600000510
则令每个子块中的每一点的视差矢量分别等于这些点所在子块的视差矢量
Figure BDA00000780814600000511
从而得到两幅由水平摄像机组,在同一时刻拍摄的两幅图像的视差图。
本发明与现有技术相比所具有的优点:
(1)本发明能够自适应的选择视图匹配窗口,根据输入图像的纹理信息,以匹配误差作为度量,选择较为准确的视差矢量,准确度较固定块搜索方案有较大提升;
(2)本发明依据双目视觉原理,针对水平摄像机组得到的图像理论上不存在垂直方向视差这一特点进行视差估计,仅对水平方向进行匹配,大大减小了搜索范围,从而减少了运算量,减少了算法运行时间。
(3)本发明在实际应用中能得到较好的视差图。
附图说明
图1所示为本发明的基于搜索窗口自适应的视差估计方法流程图。
图2所示分别为标准视频序列“ballroom.yuv”中第3、4视点的第60帧。
图3所示分别为对两幅读入图像进行灰度化和扩边处理后的结果。
图4所示为使用单一块匹配模式(M×N)的搜索流程图,块大小为16×16。
图5所示为本发明所使用自适应块匹配视差估计算法所得结果。
图6所示分别为使用固定块匹配方法对相同输入视图进行视差估计所得结果,其中(a)图块大小为16×16;(b)图块大小为8×8。
具体实施方式
本发明为一种基于搜索窗口自适应的视差估计方法,属于双目数字图像处理领域的视差估计范畴,具体为对水平摄像机组同步拍摄的两幅图像分别进行以不同大小块为单位的遍历扫描,求出块大小不同时的匹配误差和视差矢量,然后选取匹配误差最小的视差矢量作为最终视差。
本实例中所有“视图”、“图像”均指数字位图,横坐标为从左至右,纵坐标为从上至下,均为从0为初始计数点,像素点表示形式为(x,y)。图1所示为本发明的基于搜索窗口自适应的视差估计方法流程图。本发明具体实施步骤如下:
(1)读入两幅初始图像,并按照视差估计的要求对读入的两幅初始图像进行预处理,这一步骤的具体实施过程包括如下三个步骤:
(1.1)读入标准视频序列“ballroom.yuv”中第3、4视点的第60帧作为初始图像,以下分别称为左视图和右视图。所述两幅初始图像满足由水平摄像机组在同一时刻拍摄自同一场景的条件,仅在拍摄视角上存在差异(参见图2)。对一组初始图像的以上要求满足双目原理,分别相当于用“左右眼”对场景进行观察和记录。而本发明的目的在于搜索计算得出两幅满足条件视图之间的视点差异造成的,同一对象在不同视点下位置的差异,即视差矢量图;
(1.2)判断两幅输入图像的宽度和高度是否相同,若不同,则无法进行匹配,提示报错并跳出;若相同,继续执行步骤(1.3);
(1.3)若两幅输入图像为彩色图像,则分别将其转化为灰度图像,然后执行步骤(2);若两幅输入图像为灰度图像,则直接执行步骤(2)。在灰度转化过程中,每个像素点的灰度值按照如下公式对RGB三个色彩分量进行加权得到:
gray(x,y)=0.11R(x,y)+0.59G(x,y)+0.30B(x,y)
其中(x,y)表示某一像素点位置,gray、R、G、B分别表示位于同一位置的像素点的灰度值、红色分量、绿色分量和蓝色分量。
(2)令预处理后的两幅图像中的右视图为目标图像,左视图为参考图像,所要求的视差图即是从左到右的视差。首先将目标图像分成尺寸均为M×N像素的块,在参考图像中一定范围内搜索每一个块的最佳匹配块,并记录每一个块与最佳匹配块之间的最小绝对值误差和MSAD和位移矢量d;然后将目标图像分成尺寸均为(M/2)×(N/2)像素的块,按照相同过程搜索每一个块的最佳匹配块,并记录每一块与最佳匹配块之间的最小绝对值误差和MSAD和位移矢量d,在本例中,为保证块大小有一定纹理容量,且达到对整幅图像的整数次匹配,选用M=N=16。这一步具体执行步骤如下:
(2.1)对参考图像进行扩边处理,在参考图像的左右各增加b个像素,b须满足包含所有双目视图中只存在于一幅视图的场景内容,并令增加的像素灰度值为0,即参考图像高度不变,宽度增加2×b个单位,且增加的部分为黑色。经试验,本实例中取b=50,既能满足包含所有双目视图中只存在于一副视图的场景内容,又能将搜索点控制在一定范围内,减小计算量和误匹配的可能性。对读入的左视图和右视图进行灰度处理后扩边的结果见图3;
(2.2)首先将目标图像分为M×N的块,称为宏块,其中M为每块宽度,N为长度,本例中取M=N=16。求出目标图像与参考图像对应位置块的SAD,作为搜索时用于比较的初始值,SAD定义为目标图像块与参考图像块之间的绝对值误差和,计算方法如下:
SAD [ T ( m , n ) , R ( p , q ) ] = Σ i = 1 M Σ j = 1 N | G T ( m + i , n + j ) - G R ( p + i , q + j ) |
为其中块的大小为M×N,T(m,n)为目标图像中某一块的左上角点,(m,n)为T的位置坐标;R(p,q)为参考图像中某一块的左上角点,(p,q)为R的位置坐标;GT、GR分别为目标图像和参考图像在某一坐标点的灰度值;i、j为遍历参数,分别依次取从0到M-1和从0到N-1之间的整数;
该定义对下文中所有SAD均适用;
(2.3)对目标图像中某一块在参考图像中寻找最接近块,将搜索起点设置为目标图像中待匹配块的左上角点T(m,n),在区间[m-b,m+b]内进行匹配,求出[m-b,m+b]内每个匹配位置与待匹配块之间的SAD,使SAD值取得最小的参考图像对应位置即为最佳匹配块,并保留这个SAD最小值,记为
Figure BDA0000078081460000072
其中上标M×N代表所使用块的宽度乘以高度,代表尺寸;下标min代表这个SAD是所有匹配位置得到的SAD的最小值;当块的尺寸为正方形,即M=N时,将这个SAD最小值记为
Figure BDA0000078081460000073
将搜索到的最佳匹配块位置记录下来,并求出目标块与最佳匹配块之间的位移矢量,即视差,记作
Figure BDA0000078081460000074
d ( m , n ) M × N = ( m - p , n - q )
其中上标M×N代表所使用块的宽度乘以高度,表示尺寸;下标(m,n)代表待匹配的目标块的左上角坐标,(i,j)表示视差矢量值,即水平方向和垂直方向上目标块和最佳匹配块的相对位移;当块的尺寸为正方形,即M=N时,同一块的视差值记作
Figure BDA0000078081460000081
如果接受匹配的是目标图像中位于右下角的块,即待匹配块左上角坐标为(W-M,H-N)(其中W、H分别为目标图像宽和高,M、N分别为匹配块的宽和高),则结束匹配,保存所有位置的SAD最小值和对应位置的视差矢量;否则,找到下一个待匹配的目标图像块,返回步骤(2.3)。采用这种方法,对目标图像进行遍历之后,将可以得到以M×N块为单位的固定块匹配视差估计结果。使用M×N块进行最佳匹配块搜索的具体步骤参见图4;
(2.4)将目标图像重新分块,分为(M/2)×(N/2)的块,称为子块,其中每块宽度为M/2,长度为N/2,求出目标图像与参考图像对应位置块的SAD,作为搜索时用于比较的初始值,然后依据如下公式计算每个(M/2)×(N/2)大小块的SAD:
SAD [ T ′ ( m , n ) , R ′ ( p , q ) ] = Σ i = 1 M / 2 Σ j = 1 N / 2 | G T ′ ( m + i , n + j ) - G R ′ ( p + i , q + j ) |
公式中参数除了块的高度和宽度分别变为步骤(2.2)公式中块高度和宽度的1/2之外,其它参数不变。
(2.5)按照步骤(2.3)中对目标图像中的每一个块在参考图像中寻找最接近块的方法,将搜索起点设置为目标图像中待匹配块的左上角点T′(m,n),在区间[m-b,m+b]内进行匹配,求出[m-b,m+b]内每个匹配位置与待匹配块之间的SAD,使SAD值取得最小的参考图像对应位置即为最佳匹配块,并保留这个SAD最小值,记为
Figure BDA0000078081460000083
将搜索到的最佳匹配块位置记录下来,并求出每一个目标块与最佳匹配块之间视差矢量。此时块的宽和高分别变为步骤(2.3)中块高度和宽度的1/2;
如果接受匹配的是目标图像中位于右下角的块,即待匹配块左上角坐标为(W-M/2,H-N/2)(其中W、H分别为目标图像宽和高,M/2、N/2分别为匹配块的宽和高),则结束匹配,保存所有位置的SAD最小值和对应位置的视差矢量;否则,找到下一个待匹配的目标图像块,返回步骤(2.4)。采用这种方法,对目标图像进行遍历之后,将可以得到以(M/2)×(N/2)块为单位的固定块匹配视差估计结果。块大小分别为M×N和(M/2)×(N/2)时,即为两种不同的匹配模式,下面的步骤将通过判断绝对值误差和SAD的值,来确定对每一个像素点,最终选择哪一种匹配模式。
(3)按照最小SAD准则,对目标图像的每一个位置进行判断,依据最小SAD准则选择最终的匹配结果,所述匹配结果是M×N块的搜索结果和(M/2)×(N/2)块的搜索结果之一,并将以块为单位的视差扩展至以像素为单位,形成与输入图像尺寸相同的视差场。这一步具体执行步骤如下:
(3.1)第一次分块时块的宽和高均为第二次分块的两倍,1个宏块在第二次分块中被分为4个子块;1个宏块与4个子块在位置上是对应的;在自适应选择宏块视差还是子块视差时,使用SAD最小准则,即比较1个M×N大小的宏块与最佳匹配块之间的SAD值和4个(M/2)×(N/2)大小的子块与它们各自的最佳匹配块之间的SAD值之和,记为
Figure BDA0000078081460000092
如果
Figure BDA0000078081460000093
则选择宏块视差
Figure BDA0000078081460000094
如果
Figure BDA0000078081460000095
则选择子块视差矩阵,记为
Figure BDA0000078081460000096
其中(m,n)表示4个子块中最左上角的坐标;符号[·]4表示子块视差矩阵由与宏块位置对应的4个子块组成:
[ d ( m , n ) ( M / 2 ) × ( N / 2 ) ( i , j ) ] 4 = d ( m , n ) ( M / 2 ) × ( N / 2 ) ( i , j ) d ( m , n + N / 2 ) ( M / 2 ) × ( N / 2 ) ( i , j ) d ( m + M / 2 , n ) ( M / 2 ) × ( N / 2 ) ( i , j ) d ( m + M / 2 , n + N / 2 ) ( M / 2 ) × ( N / 2 ) ( i , j )
(3.2)将以块为单位的视差扩展至以像素为单位,形成与输入图像尺寸相同的视差场,对目标图像中的某一宏块,如果在步骤(3.1)中选择了宏块视差则令宏块中每一点的视差矢量
Figure BDA0000078081460000099
其中(x,y)为图像坐标系中某点坐标;如果在步骤(3.1)中选择了子块视差矩阵
Figure BDA00000780814600000910
则令每个子块中的每一点的视差矢量分别等于这些点所在子块的视差矢量
Figure BDA00000780814600000911
从而得到两幅由水平摄像机组,在同一时刻拍摄的两幅图像的视差图。
将本发明提出的算法与固定块匹配算法进行比较,可以明显看出,本发明方法得到的视差图较有立体感,能够完整表达因深度不同造成的轮廓边缘,并且运行时间基本等同于固定块匹配算法,因而本发明方法优于固定块匹配算法。输入图像相同,均为标准视频序列“ballroom.yuv”中第3、4视点的第60帧,本发明方法得到的视差图见图5,固定块匹配算法对得到的视差图见图6。由图可见,在固定块匹配算法得到的结果中,使用16×16块进行块匹配,将无法得到视差的细节信息;使用8×8块进行匹配,则由于对纹理信息的容量有限,造成了大量错误匹配。而本发明方法能较好的结合这两种匹配模式的优点,从而得到较好的匹配结果。该视差估计匹配结果的精度,足以应用于双目视频压缩编码,以及虚拟视点绘制。

Claims (4)

1.一种基于搜索窗口自适应的视差估计方法,其特征在于实现步骤如下:
(1)读入两幅初始图像,并按照视差估计的要求对读入的两幅初始图像进行预处理;
(2)令预处理后的两幅图像中的一幅图像为目标图像,另一幅图像为参考图像,首先将目标图像分成尺寸均为M×N像素的块,在参考图像中一定范围内搜索每一个块的最佳匹配块,并记录每一个块与最佳匹配块之间的最小绝对值误差和MSAD和位移矢量d;然后将目标图像分成尺寸均为(M/2)×(N/2)像素的块,按照相同过程搜索每一个块的最佳匹配块,并记录每一块与最佳匹配块之间的最小绝对值误差和MSAD和位移矢量d;
(3)按照最小SAD准则,对目标图像的每一个位置进行判断,依据最小SAD准则选择最终的匹配结果,所述匹配结果是M×N块的搜索结果和(M/2)×(N/2)块的搜索结果之一,并将以块为单位的视差扩展至以像素为单位,形成与读入的初始图像尺寸相同的视差场。
2.根据权利要求1所述的一种基于搜索窗口自适应的视差估计方法,其特征在于:所述步骤(1)具体为:
(1.1)读入两幅初始图像,所述两幅初始图像由水平摄像机组在同一时刻拍摄自同一场景,使这两幅初始图像仅在拍摄视角上存在差异;
(1.2)判断两幅初始图像的宽度和高度是否相同,若不同,则无法进行匹配,提示报错并跳出;若相同,继续执行步骤(1.3);
(1.3)若两幅初始图像为彩色图像,则分别将其转化为灰度图像,然后执行步骤(2);若两幅输入图像为灰度图像,则执行步骤(2)。
3.根据权利要求1所述的一种基于搜索窗口自适应的视差估计方法,其特征在于:所述步骤(2)中的具体实现如下:
(2.1)对参考图像进行扩边处理,在参考图像的左右各增加b个像素,b须满足包含所有双目视图中只存在于一幅视图的场景内容,并令增加的像素灰度值为0,参考图像高度不变,宽度增加2×b个单位,且增加的部分为黑色;
(2.2)首先将目标图像分为M×N的块,称为宏块,其中M为每块宽度,N为长度,求出目标图像与参考图像对应位置块的SAD,作为搜索时用于比较的初始值,SAD定义为目标图像块与参考图像块之间的绝对值误差和,计算方法如下:
SAD [ T ( m , n ) , R ( p , q ) ] = Σ i = 1 M Σ j = 1 N | G T ( m + i , n + j ) - G R ( p + i , q + j ) |
其中块的大小为M×N,T(m,n)为目标图像中某一块的左上角点,(m,n)为T的位置坐标;R(p,q)为参考图像中某一块的左上角点,(p,q)为R的位置坐标;GT、GR分别为目标图像和参考图像在某一坐标点的灰度值;i、j为遍历参数,分别依次取从1到M和从1到N之间的整数;
(2.3)对目标图像中某一块在参考图像中寻找最接近块,将搜索起点设置为目标图像中待匹配块的左上角点T(m,n),在区间[m-b,m+b]内进行匹配,求出[m-b,m+b]内每个匹配位置与待匹配块之间的SAD,使SAD值取得最小的参考图像对应位置即为最佳匹配块,并保留这个SAD最小值,记为
Figure FDA00003078297200022
其中上标M×N代表所使用块的宽度乘以高度,代表尺寸;下标min代表这个SAD是所有匹配位置得到的SAD的最小值;当块的尺寸为正方形,即M=N时,将这个SAD最小值记为
Figure FDA00003078297200027
将搜索到的最佳匹配块位置记录下来,并求出目标块与最佳匹配块之间的位移矢量,即视差,记作
Figure FDA00003078297200023
d ( m , n ) M × N = ( m - p , n - q )
其中上标M×N代表所使用块的宽度乘以高度,表示尺寸;下标(m,n)代表待匹配的目标块的左上角坐标,等式右边的(m-p,n-q)表示视差矢量值,即水平方向和垂直方向上目标块和最佳匹配块的相对位移;当块的尺寸为正方形,即M=N时,同一块的视差值记作
Figure FDA00003078297200025
如果接受匹配的是目标图像中位于右下角的块,即待匹配块左上角坐标为(W-M,H-N),其中W、H分别为目标图像宽和高,M、N分别为匹配块的宽和高,则结束匹配,保存所有位置的SAD最小值和对应位置的视差矢量;否则,找到下一个待匹配的目标图像块,返回步骤(2.3);
(2.4)将目标图像重新分块,分为(M/2)×(N/2)的块,称为子块,其中每块宽度为M/2,长度为N/2,求出目标图像与参考图像对应位置块的SAD,作为搜索时用于比较的初始值,然后依据如下公式计算每个(M/2)×(N/2)大小块的SAD:
SAD [ T ′ ( m , n ) , R ′ ( p , q ) ] = Σ i = 1 M / 2 Σ j = 1 N / 2 | G T ′ ( m + i , n + j ) - G R ′ ( p + i , q + j ) |
公式中参数除了块的高度和宽度分别变为步骤(2.2)公式中块高度和宽度的1/2之外,其它参数不变;
(2.5)按照步骤(2.3)中对目标图像中的每一个块在参考图像中寻找最接近块的方法,将搜索起点设置为目标图像中待匹配块的左上角点T'(m,n),在区间[m-b,m+b]内进行匹配,求出[m-b,m+b]内每个匹配位置与待匹配块之间的SAD,使SAD值取得最小的参考图像对应位置即为最佳匹配块,并保留这个SAD最小值,记为
Figure FDA00003078297200031
将搜索到的最佳匹配块位置记录下来,并求出每一个目标块与最佳匹配块之间的视差矢量;此时块的宽和高分别变为步骤(2.3)中块高度和宽度的1/2;
如果接受匹配的是目标图像中位于右下角的块,即待匹配块左上角坐标为(W-M/2,H-N/2),其中W、H分别为目标图像宽和高,M/2、N/2分别为匹配块的宽和高,则结束匹配,保存所有位置的SAD最小值和对应位置的视差矢量;否则,找到下一个待匹配的目标图像块,返回步骤(2.4)。
4.根据权利要求1所述的一种基于搜索窗口自适应的视差估计方法,其特征在于:所述步骤(3)中的具体实现如下:
(3.1)第一次分块时块的宽和高均为第二次分块的两倍,1个宏块在第二次分块中被分为4个子块;1个宏块与4个子块在位置上是对应的;在自适应选择宏块视差还是子块视差时,使用SAD最小准则,即比较1个M×N大小的宏块与最佳匹配块之间的SAD值和4个(M/2)×(N/2)大小的子块与它们各自的最佳匹配块之间的SAD值之和,记为如果 SAD min M × N ≤ Σ i = 1 4 SAD min ( M / 2 ) × ( N / 2 ) , 则选择宏块视差
Figure FDA00003078297200035
如果 SAD min M × N ≤ Σ i = 1 4 SAD min ( M / 2 ) × ( N / 2 ) , 则选择子块视差矩阵,记为
Figure FDA00003078297200037
其中(m,n)表示4个子块中最左上角的坐标;符号[·]4表示子块视差矩阵由与宏块位置对应的4个子块组成;i、j为遍历参数:
[ d ( m , n ) ( M / 2 ) × ( N / 2 ) ( i , j ) ] 4 = d ( m , n ) ( M / 2 ) × ( N / 2 ) ( i , j ) d ( m , n + N / 2 ) ( M / 2 ) × ( N / 2 ) ( i , j ) d ( m + M / 2 , n ) ( M / 2 ) × ( N / 2 ) ( i , j ) d ( m + M / 2 , n + N / 2 ) ( M / 2 ) × ( N / 2 ) ( i , j )
(3.2)将以块为单位的视差扩展至以像素为单位,形成与输入图像尺寸相同的视差场,对目标图像中的某一宏块,如果在步骤(3.1)中选择了宏块视差
Figure FDA00003078297200039
则令宏块中每一点的视差矢量
Figure FDA00003078297200041
其中(x,y)为图像坐标系中某点坐标;如果在步骤(3.1)中选择了子块视差矩阵
Figure FDA00003078297200043
则令每个子块中的每一点的视差矢量分别等于这些点所在子块的视差矢量
Figure FDA00003078297200042
从而得到两幅由水平摄像机组,在同一时刻拍摄的两幅图像的视差图。
CN 201110207607 2011-07-25 2011-07-25 一种基于搜索窗口自适应的视差估计方法 Expired - Fee Related CN102263957B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110207607 CN102263957B (zh) 2011-07-25 2011-07-25 一种基于搜索窗口自适应的视差估计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110207607 CN102263957B (zh) 2011-07-25 2011-07-25 一种基于搜索窗口自适应的视差估计方法

Publications (2)

Publication Number Publication Date
CN102263957A CN102263957A (zh) 2011-11-30
CN102263957B true CN102263957B (zh) 2013-07-03

Family

ID=45010385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110207607 Expired - Fee Related CN102263957B (zh) 2011-07-25 2011-07-25 一种基于搜索窗口自适应的视差估计方法

Country Status (1)

Country Link
CN (1) CN102263957B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327346B (zh) * 2012-03-22 2015-04-01 奇景光电股份有限公司 判断凹区块以及凸区块的立体匹配装置及其方法
CN105513038B (zh) * 2014-10-20 2019-04-09 网易(杭州)网络有限公司 图像匹配方法及手机应用测试平台
CN108665406B (zh) * 2018-04-25 2022-06-28 珠海全志科技股份有限公司 一种硬件加速器的加速方法
CN109035328B (zh) * 2018-07-12 2021-08-10 曾成 一种图像指向性的识别方法、系统、装置和存储介质
CN109741306B (zh) * 2018-12-26 2021-07-06 北京石油化工学院 应用于危险化学品库房堆垛的图像处理方法
CN109840894B (zh) * 2019-01-30 2021-02-09 湖北亿咖通科技有限公司 视差图精修方法、装置及存储介质
CN110473247A (zh) * 2019-07-30 2019-11-19 中国科学院空间应用工程与技术中心 立体匹配方法、装置及存储介质
CN112686937B (zh) * 2020-12-25 2024-05-31 杭州海康威视数字技术股份有限公司 一种深度图像的生成方法、装置及设备
CN117635613B (zh) * 2024-01-25 2024-04-16 武汉大学人民医院(湖北省人民医院) 一种眼底病灶监测装置及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1767655A (zh) * 2005-10-18 2006-05-03 宁波大学 一种多视点视频图像视差估计的方法
CN101248670A (zh) * 2005-09-22 2008-08-20 三星电子株式会社 估计视差矢量的方法以及使用该视差矢量估计方法对多视角运动图像编码和解码的方法和设备
CN101600108A (zh) * 2009-06-26 2009-12-09 北京工业大学 一种多视点视频编码中的运动和视差联合估计方法
CN101895749A (zh) * 2010-06-29 2010-11-24 宁波大学 一种快速视差估计和运动估计方法
CN102075779A (zh) * 2011-02-21 2011-05-25 北京航空航天大学 一种基于块匹配视差估计的中间视图合成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101248670A (zh) * 2005-09-22 2008-08-20 三星电子株式会社 估计视差矢量的方法以及使用该视差矢量估计方法对多视角运动图像编码和解码的方法和设备
CN1767655A (zh) * 2005-10-18 2006-05-03 宁波大学 一种多视点视频图像视差估计的方法
CN101600108A (zh) * 2009-06-26 2009-12-09 北京工业大学 一种多视点视频编码中的运动和视差联合估计方法
CN101895749A (zh) * 2010-06-29 2010-11-24 宁波大学 一种快速视差估计和运动估计方法
CN102075779A (zh) * 2011-02-21 2011-05-25 北京航空航天大学 一种基于块匹配视差估计的中间视图合成方法

Also Published As

Publication number Publication date
CN102263957A (zh) 2011-11-30

Similar Documents

Publication Publication Date Title
CN102263957B (zh) 一种基于搜索窗口自适应的视差估计方法
RU2382406C1 (ru) Способ улучшения карты диспарантности и устройство для реализации способа
CN102665086B (zh) 利用基于区域的局部立体匹配获取视差的方法
CN102075779B (zh) 一种基于块匹配视差估计的中间视图合成方法
CN101986716B (zh) 一种快速深度视频编码方法
CN104662896A (zh) 用于图像处理的装置、方法和计算机程序
CN101635859A (zh) 一种实现平面视频转立体视频的方法和装置
CN108932725B (zh) 基于卷积神经网络的场景流估计方法
CN110189294B (zh) 基于深度可信度分析的rgb-d图像显著性检测方法
CN114067197B (zh) 一种基于目标检测及双目视觉的管道缺陷识别与定位方法
CN103384343B (zh) 一种填补图像空洞的方法及其装置
CN103248911A (zh) 多视点视频中基于空时结合的虚拟视点绘制方法
US20100302234A1 (en) Method of establishing dof data of 3d image and system thereof
CN106210449A (zh) 一种多信息融合的帧率上变换运动估计方法及系统
CN103024421A (zh) 自由视点电视中的虚拟视点合成方法
CN104331890B (zh) 一种全局视差估计方法和系统
CN112270701B (zh) 基于分组距离网络的视差预测方法、系统及存储介质
CN110889349A (zh) 一种基于vslam的稀疏三维点云图的视觉定位方法
CN110969653A (zh) 一种基于深度学习和傅里叶域分析的图像深度估计算法
CN109493373A (zh) 一种基于双目立体视觉的立体匹配方法
CN110009675A (zh) 生成视差图的方法、装置、介质及设备
CN104065946A (zh) 基于图像序列的空洞填充方法
CN111292425A (zh) 一种基于单双目混合数据集的视图合成方法
CN102750694B (zh) 基于局部最优置信传播算法的双目视频深度图求取方法
CN111368882B (zh) 一种基于简化独立成分分析和局部相似性的立体匹配方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130703

Termination date: 20140725

EXPY Termination of patent right or utility model