CN103136750B - 双目视觉系统的立体匹配优化方法 - Google Patents

双目视觉系统的立体匹配优化方法 Download PDF

Info

Publication number
CN103136750B
CN103136750B CN201310035045.8A CN201310035045A CN103136750B CN 103136750 B CN103136750 B CN 103136750B CN 201310035045 A CN201310035045 A CN 201310035045A CN 103136750 B CN103136750 B CN 103136750B
Authority
CN
China
Prior art keywords
pixel
value
point
calculation template
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
CN201310035045.8A
Other languages
English (en)
Other versions
CN103136750A (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.)
Guangxi University of Science and Technology
Original Assignee
Guangxi University of Science and Technology
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 Guangxi University of Science and Technology filed Critical Guangxi University of Science and Technology
Priority to CN201310035045.8A priority Critical patent/CN103136750B/zh
Publication of CN103136750A publication Critical patent/CN103136750A/zh
Application granted granted Critical
Publication of CN103136750B publication Critical patent/CN103136750B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)

Abstract

本发明旨在提供一种双目视觉系统的立体匹配优化方法,包括以下步骤:a.从双目视频系统获取双目图像;b.对双目图像进行畸变矫正与极线校正;c.将双目图像由彩色图像转换为灰度图像;d.以灰度图像中的其中一幅图像为基准,用另外一幅图像依据像素的模版来匹配;e.优化ZNCC因子;f.以优化的ZNCC因子作为相似性度量进行匹配计算,确定各像素点的匹配视差;g.根据各像素点的匹配视差生成稠密视差图。本发明通过对ZNCC因子计算公式和计算方法的优化,大幅度减少了运算次数,大大降低计算芯片运算负荷。本发明在降低日常及军事领域高精度图像识别的成本的同时,还能够提高立体匹配实时性。

Description

双目视觉系统的立体匹配优化方法
技术领域
本发明涉及计算机视觉领域,具体涉及一种双目视觉系统的立体匹配优化方法。
背景技术
随着计算机视觉的发展,立体视觉技术被广泛应用于机器人导航、智能交通、军事制导等方面。立体视觉是利用空间中同一点在两摄像机平面上的视差值计算空间点的三维坐标,而视差的获得须通过立体匹配实现,因此立体匹配是立体视觉测量中最重要也是最难实现的步骤之一。根据匹配基元的不同,立体匹配方法可大致分为两种:基于区域和基于特征的立体匹配。基于特征的立体匹配方法是有选择的提取特征并进行匹配,由于特征的稀疏性和不规则性,须经过后期复杂的插值计算才能形成致密的视差图,且受特征检测精度的影响较大,而基于区域的匹配方法直接获得致密的视差图,可满足三维重构、场景重建等方面的应用需求,成为目前图像匹配研究的热点问题之一。
基于区域的匹配方法以区域灰度的相似性作为测度条件,采用相似性度量的指标中零均值归一化交叉相交(ZNCC)因子进行匹配计算,可对图像的亮度差异进行补偿,减少图像的误匹配,增加准确度。但是由于ZNCC的计算因子相对复杂,对图像中所有像素点进行相关运算需要较高的计算代价,需要使用能够承载更高运算负荷的计算芯片,大大增加了应用成本,同时立体匹配的速度也不尽理想,无法满足要求高速识别的快速行车以及军事制导领域应用。
现有技术中为了提高匹配速度,并保证匹配模板在整幅图像中的计算特性保持不变,针对ZNCC计算因子本身的改进方法均是将其计算式展开,考虑相邻像素匹配过程中模板的平移特性,利用BOX滤波的方法,对展开部分的相关计算进行优化,减少匹配过程中的冗余计算,但这些方法未能对ZNCC计算因子进行充分化简与整合,同时未能充分考虑计算过程中模板的整体和内部相关性,仍然没有脱离像素点计算模板上各点逐点计算的框架,并且运算复杂程度随着模板的大小增加而增大,对于越高精度的立体匹配,对计算芯片的要求和其立体匹配速度就存在越大的限制,不利于其在日常及军事领域高需要精度图像识别时的应用。
发明内容
本发明的目的在于提供一种双目视觉系统的立体匹配优化方法,克服现有技术方案计算速度慢的缺陷,大大降低了对计算芯片的要求,能够快速完成立体匹配,生成稠密的视差图。
本发明所述的双目视觉系统的立体匹配优化方法,包括以下几个步骤:
a、从双目视频系统获取双目图像;
b、对双目图像进行畸变矫正与极线校正;
c、将双目图像由彩色图像转换为灰度图像;
d、以灰度图像中的其中一幅图像为基准,用另外一幅图像依据像素的模版来匹配;
e、优化零均值归一化交叉相交ZNCC因子计算规则,将其优化成为
ZNCC ( x , y , d ) = cov ( x , y , d ) var ( x , y + d , I 2 ) ①,
式①中,d为水平视差,
cov ( x , y , d ) = Σ i = - M M Σ j = - N N I 1 ( x + i , y + j ) · I 2 ( x + i , y + d + j ) - SI 1 ( x , y ) · SI 2 ( x , y + d ) W ②,
var ( x , y + d , I 2 ) = Σ i = - M M Σ j = - N N I 2 2 ( x + i , y + d + j ) - ( SI 2 ( x , y + d ) ) 2 W ③,
式②和③中,I1(x,y)为作为基准的图像中像素点(x,y)的灰度值,I2(x,y+d)为用来匹配的图像中像素点(x,y+d)的灰度值,即为作为基准的图像中以像素点(x,y)为中心的计算模板上各点的灰度值和,即为用来匹配的图像中以像素点(x,y+d)为中心的计算模板上各点的灰度值和;
为作为基准的图像中以像素点(x,y)为中心的计算模板与用来匹配的图像中以像素点(x,y+d)为中心的计算模板上各对应点灰度的乘积之和;
为用来匹配的图像中以像素点(x,y+d)为中心的计算模板上各点灰度的平方和;W=(2M+1)×(2N+1)即为计算模板大小;
f、以优化后的零均值归一化交叉相交ZNCC因子作为相似性度量计算,以[0,D]为视差搜索范围,采用从左到右、从上到下的顺序匹配,计算出作为基准的图像中各像素点在视差搜索范围内不同视差所对应的ZNCC值,各像素点的ZNCC值中最大值所对应的视差记为该像素点的匹配视差;
g、根据作为基准的图像中各像素点的匹配视差生成稠密视差图。
所述步骤f中各像素点计算模板的优化计算描述如下:
设所述计算模板位于最上面的一行为首行,位于最下面的一行为尾行,位于最左边的一列为首列,位于最右边的一列为尾列;
作为基准的图像中第一个像素点按照计算式进行计算,计算完成后将第一个像素点的计算模板的和值以及其计算模板各列的和值存入存储单元作为中间值供后续像素点的计算使用;
将作为基准的图像中除图像第一个像素点外的像素点进行分类定义,定义位于首行的像素点为第1类点,定义位于首列的像素点为第2类点,定义位于非首行和非首列的其他位置的像素点为第3类点;
对于以上3个分类像素点,在进行所述步骤e中ZNCC因子中的四个和值SI1(x,y)、SI2(x,y,d)、 Σ i = - M M Σ j = - N N I 1 ( x + i , y + j ) · I 2 ( x + i , y + d + j ) , Σ i = - M M Σ j = - N N I 2 2 ( x + i , y + d + j ) 公式计算时,分别按以下的原则进行优化计算处理:
对于第1类点,计算像素点(x,y)计算模板各点相应计算值的和值,调用像素点(x,y-1)计算模板各点相应计算值的和值、像素点(x,y-1)计算模板首列各点相应计算值的和值,用像素点(x,y-1)计算模板各点相应计算值的和值减去像素点(x,y-1)计算模板首列各点相应计算值的和值再加上像素点(x,y)计算模板尾列各点相应计算值的和值,即得;每次计算完成后将像素点(x,y)计算模板各点相应计算值的和值与像素点(x,y)计算模板尾列各点相应计算值的和值存入存储单元;
对于第2类点,计算像素点(x,y)计算模板各点相应计算值的和值,调用像素点(x-1,y)计算模板各点相应计算值的和值,用像素点(x-1,y)计算模板各点相应计算值的和值减去像素点(x-1,y)计算模板首行各点相应计算值的和值再加上像素点(x,y)计算模板尾行各点相应计算值的和值,即得;每次计算完成后将像素点(x,y)计算模板各点相应计算值的和值与像素点(x,y)计算模板各点相应计算值以列为单位求和得到的和值存入存储单元;
对于第3类点,像素点(x,y)计算模板各点相应计算值的和值等于a加上b;其中a的计算,调用像素点(x,y-1)计算模板各点相应计算值的和值、像素点(x,y-1)计算模板首列各点相应计算值的和值,用像素点(x,y-1)计算模板各点相应计算值的和值减去像素点(x,y-1)计算模板首列各点相应计算值的和值,即得;b的计算,调用像素点(x-1,y)计算模板尾列各点相应计算值的和值,用像素点(x-1,y)计算模板尾列各点相应计算值的和值减去该计算模板尾列位于首行的点的相应计算值再加上像素点(x,y)计算模板尾列位于尾行的点的相应计算值,即得;每次计算完成后将像素点(x,y)计算模板各点相应计算值的和值与像素点(x,y)计算模板尾列各点相应计算值的和值存入存储单元。
在现有技术中,ZNCC(x,y,d)的计算式如下:
ZNCC ( x , y , d ) = cov ( x , y , d ) var ( x , y + d , I 2 ) ①,
式(1)中,d为水平视差,
cov ( x , y , d ) = Σ i = - M M Σ j = - N N I 1 ( x + i , y + j ) · I 2 ( x + i , y + d + j ) - W I 1 ( x , y ) ‾ · I 2 ( x , y + d ‾ ) ④,
var ( x , y + d , I 2 ) = Σ i = - M M Σ j = - N N I 2 2 ( x + i , y + d + j ) - W · ( I 2 ( x , y + d ) ‾ ) 2 ⑤,
式④中,表示作为基准的图像中以像素点(x,y)为中心的计算模板内各点灰度的均值,表示用来匹配的图像中以像素点(x,y+d)为中心的计算模板内各点灰度的均值,W=(2M+1)×(2N+1)即为计算模板大小;
在计算ZNCC(x,y,d)时,设d=0,1,2…D,下面统计与本发明技术方案相区别的各子模块计算需要的乘、除法次数:
1.计算时需要1次除法,
2.计算时需要(D+1)次除法,
3.计算时需要2*(D+1)次乘法,
4.计算时需要2*(D+1)次乘法。
在本发明中,ZNCC(x,y,d)的计算式如下:
ZNCC ( x , y , d ) = cov ( x , y , d ) var ( x , y + d , I 2 ) - - - ( 1 ) ,
式(1)中,d为水平视差,
cov ( x , y , d ) = Σ i = - M M Σ j = - N N I 1 ( x + i , y + j ) · I 2 ( x + i , y + d + j ) - SI 1 ( x , y ) · SI 2 ( x , y + d ) W - - - ( 2 ) ,
var ( x , y + d , I 2 ) = Σ i = - M M Σ j = - N N I 2 2 ( x + i , y + d + j ) - ( SI 2 ( x , y + d ) ) 2 W - - - ( 3 ) ;
式(2)中, SI 1 ( x , y ) = Σ i = - M M Σ j = - N N I 1 ( x + i , y + j ) , SI 2 ( x , y , d ) = Σ i = - M M Σ j = - N N I 2 ( x + i , y + d + j ) ;
在计算ZNCC(x,y,d)时,设d=0,1,2…D,下面统计与现有技术方案中相对应的各子模块计算需要的乘、除法次数:
1.计算SI1(x,y)时需要0次除法,
2.计算SI2(x,y,d)时需要0次除法,
3.计算 SI 1 ( x , y ) · SI 2 ( x , y + d ) W , 即计算 1 W · SI 1 ( x , y ) · SI 2 ( x , y + d ) 时需要2*(D+1)次乘法,
4.计算 ( SI 2 ( x , y + d ) ) 2 W , 即计算 1 W · SI 2 ( x , y + d ) · SI 2 ( x , y + d ) 时需要2*(D+1)次乘法;
综上所述,在对图像中某个像素点(x,y)的ZNCC(x,y,d)计算中,本发明的技术方案比现有技术方案减少了(D+2)次除法,由于D为视差搜索范围,所述当视差搜索范围扩大时,本发明技术方案减少的运算次数则随之增加;同时,图像是由巨大数量的像素点构成的,因此在整幅图像的计算中,本发明的技术方案的应用能大幅度减少除法运算次数,加速立体匹配的计算过程,提供更好的实时性,降低了计算芯片运算负荷,使得整体的双目视觉系统的立体匹配能够更快更好的实现。
本发明的步骤f结合上述步骤e优化之后的公式,形成了新的图像立体匹配计算结构,对于图像中第三类像素点计算过程进行了大幅度的优化。本发明的步骤f将已计算像素点计算模板中各点相应计算值以列为单位求和并对和值进行存储,在后续运算过程中进行调用,使得本发明中第三类像素点的计算只需要进行2次减法、2次加法和对2个像素点进行相应计算,并且运算复杂度不随模板大小的变化而变化,模板越大,本方案对冗余计算减少、对运算时间减少的作用越明显。其中,在计算模板尾列的计算中,只需要对2个像素点进行相应计算,然后进行1次减法与1次加法计算即可;这一计算过程不论模板大小,都只需要对2个像素点进行相应的计算,较现有技术逐点进行相应计算再多次相加的方法,进一步减少了运算复杂程度。
本发明使用长度为计算模板宽度的循环队列来存储上述和值,用当前计算的模板尾列各点相应计算值的和值代替其左边相邻像素点计算模板的首列各点相应计算值的和值,这样循环存储单元只需要设置2N+1个存储单元就能够实现提高循环队列的利用率,减少循环队列占用的空间的技术效果,减轻了处理器的负担。
本发明的双目视觉系统的立体匹配优化方法通过对匹配计算中计算因子的整合,以及对计算模板各点相应计算值列向和值的存储与调用,实现减少冗余计算、减低匹配计算代价、提高系统实时性的技术效果,使得本发明的技术方案既具备较高的准确性,又具备较快的匹配速度。对于越高精度的立体匹配,本发明的优势就越明显,能够大大降低对计算芯片的要求,使得日常及军事领域高需要精度图像识别应该能够获得更低的成本,同时还能够提高立体匹配实时性。因此,本发明有着广阔的应用前景,具有突出的实质性特点和显著的进步。
附图说明
图1为本发明技术方案的步骤示意图
图2为本发明步骤f中对第3类点优化计算示意图
图3为本发明步骤f中对SI2(x,y,d)值与式的优化计算示意图
具体实施方式
如图1所示,本发明的双目视觉系统的立体匹配优化方法包括以下步骤:
a.从双目视频系统获取双目图像;
b.对双目图像进行畸变矫正与极线校正;
c.将双目图像由彩色图像转换为灰度图像;
d.以转换为灰度图像后的双目图像中的左图为基准,用右图依据像素的模版来匹配;
e.优化ZNCC因子;
f.以优化的ZNCC因子作为相似性度量进行匹配计算,确定各像素点的匹配视差;
g.根据各像素点的匹配视差生成稠密视差图。
如图2所示,此处F(x,y,d)的计算示意图适用于ZNCC因子中的四个和值SI1(x,y)、SI2(x,y,d)、 Σ i = - M M Σ j = - N N I 1 ( x + i , y + j ) · I 2 ( x + i , y + d + j ) , Σ i = - M M Σ j = - N N I 2 2 ( x + i , y + d + j ) 公式优化计算,F(x,y,d)表示像素点(x,y)视差为d时计算模板的计算结果,F(x,y-1,d)表示像素点(x,y-1)视差为d时计算模板的计算结果,P表示像素点(x,y-1)视差为d时计算模板首列相应计算结果的和值,Q表示像素点(x-1,y)视差为d时计算模板尾列相应计算结果的和值,R(x-1-m,y+n)表示像素点(x-1,y)视差为d时计算模板尾列中位于首行的点的相应计算结果,R(x-1+m,y+n)表示像素点(x-1,y)视差为d时计算模板尾列中位于尾行的点的相应计算结果,R(x-m,y+n)表示像素点(x,y)视差为d时计算模板尾列中位于首行的点的相应计算结果,R(x+m,y+n)表示像素点(x,y)视差为d时计算模板尾列中位于尾行的点的相应计算结果,以上的R(x-1-m,y+n)、R(x-1+m,y+n)、R(x-m,y+n)、R(x+m,y+n)位于同一列,其中F(x,y-1,d)、P、Q在之前像素点的计算后已经存储至存储单元,在本次计算中直接进行调用即可,而R(x-1-m,y+n)、R(x+m,y+n)为本次计算中需要重新进行计算的部分,由此得到像素点(x,y)视差为d时计算模板的计算结果即F(x,y,d)的计算式如下:
F(x,y,d)=F(x,y-1,d)-P+Q-R(x-1-m,y+n)+R(x+m,y+n)
如图3所示,此处F(x,y,d)的计算示意图适用于SI2(x,y,d)与公式优化计算,在一行中除F(x,1,d)需按照图2优化方式逐个计算[0,D]的值外,由于视差递增时计算模板的平移与像素点匹配时的平移相一致,本行其余像素点(x,y)的前D个F(x,y,d)值分别与像素点(x,y-1)的后D个F(x,y-1,d)值一一对应,即像素点(x,y)在d=[0,D-1]范围内计算出的F(x,y,d)值分别与像素点(x,y-1)在d=[1,D]范围内计算出的F(x,y-1,d)值一一对应。因此对于像素点(x,y)的F(x,y,d)值只有第D+1个F(x,y,d)值即F(x,y,D)需要通过计算得到。
下面结合实施例具体说明本发明的技术方案。
本发明的技术方案工作过程如下:
a.从双目视频系统左、右两个摄像机获取左、右两幅图像;
b.利用对两个摄像机进行立体标定后得到的参数对左、右图进行畸变校正,然后对畸变校正后的左、右图进行极线校正,使得左、右图中对应的像素点都位于同一行中;
c.将左、右图由彩色图像转换为灰度图像,以便进行基于灰度的匹配计算;
d.以转换为灰度图像后的双目图像中的左图为基准,用右图依据像素的模版来匹配;
e.优化零均值归一化交叉相交ZNCC因子计算规则,将其优化成为
ZNCC ( x , y , d ) = cov ( x , y , d ) var ( x , y + d , I 2 ) ①,
式①中,d为水平视差,
cov ( x , y , d ) = Σ i = - M M Σ j = - N N I 1 ( x + i , y + j ) · I 2 ( x + i , y + d + j ) - SI 1 ( x , y ) · SI 2 ( x , y + d ) W ②,
var ( x , y + d , I 2 ) = Σ i = - M M Σ j = - N N I 2 2 ( x + i , y + d + j ) - ( SI 2 ( x , y + d ) ) 2 W ③,
式②和③中,I1(x,y)为左图中像素点(x,y)的灰度值,I2(x,y+d)为右图中像素点(x,y+d)的灰度值,即为左图中以像素点(x,y)为中心的计算模板上各点的灰度值和,即为右图中以像素点(x,y+d)为中心的计算模板上各点的灰度值和;为左图中以像素点(x,y)为中心的计算模板与右图中以像素点(x,y+d)为中心的计算模板上各对应点灰度的乘积之和;为右图中以像素点(x,y+d)为中心的计算模板上各点灰度的平方和;W=(2M+1)×(2N+1)即为计算模板大小;
f、以优化后的零均值归一化交叉相交ZNCC因子作为相似性度量计算,以[0,D]为视差搜索范围,采用从左到右、从上到下的顺序匹配,计算出参照图中各像素点在视差搜索范围内不同视差所对应的ZNCC值,各像素点的ZNCC值中最大值所对应的视差记为该像素点的匹配视差;
步骤f中各像素点计算模板的优化匹配运算方法描述如下,结合步骤e优化后的②式与③式进行:
设所述计算模板位于最上面的一行为首行,位于最下面的一行为尾行,位于最左边的一列为首列,位于最右边的一列为尾列;
左图第一个像素点按照计算式进行计算,计算完成后将第一个像素点的计算模板各点相应计算值的和值以及该点计算模板各点相应计算的值以列为单位求和得到的和值存入存储单元作为中间值供后续像素点的计算调用;
将左图中除图像第一个像素点外的像素点进行分类定义:
定义位于首行的像素点为第1类点;
定义位于首列的像素点为第2类点;
定义位于其他位置的像素点为第3类点;
(一)对 Σ i = - M M Σ j = - N N I 1 ( x + i , y + j ) · I 2 ( x + i , y + d + j ) 的优化:
SI 1 I 2 ( x , y , d ) = Σ i = - M M Σ j = - N N I 1 ( x + i , y + j ) · I 2 ( x + i , y + d + j ) ,
1.对于第1类点:计算式如下:
SI 1 I 2 ( x , y , d ) = SI 1 I 2 ( x , y - 1 , d )
- Σ i = - M M I 1 ( x + i , y - 1 - N ) · I 2 ( x + i , y - 1 - N + d )
+ Σ i = - M M I 1 ( x + i , y + N ) · I 2 ( x + i , y + N + d )
其中SI1I2(x,y-1,d)为像素点(x,y-1)对应的SI1I2(x,y-1,d)值,从存储单元中调用;
为像素点(x,y-1)计算SI1I2(x,y-1,d)值时计算模板首列各对应点灰度乘积的和值,从存储单元中调用;
为像素点(x,y)计算SI1I2(x,y,d)值时计算模板尾列各对应点灰度乘积的和值;
计算完成后将SI1I2(x,y,d)的值以及像素点(x,y)计算SI1I2(x,y,d)值时计算模板尾列各对应点灰度乘积的和值存入存储单元,供后续像素点的计算调用;
2.对于第2类点:计算式如下:
SI 1 I 2 ( x , y , d ) = SI 1 I 2 ( x - 1 , y , d )
- Σ j = - N N I 1 ( x - 1 - M , y + j ) · I 2 ( x - 1 - M , y + j + d )
+ Σ j = - N N I 1 ( x + M , y + j ) · I 2 ( x + M , y + j + d )
其中SI1I2(x-1,y,d)为像素点(x-1,y)对应的SI1I2(x-1,y,d)值,从存储单元中调用;
式中为像素点(x-1,y)计算SI1I2(x-1,y,d)值时计算模板首行各对应点灰度乘积的和值;
式中为像素点(x,y)计算SI1I2(x,y,d)值时计算模板尾行各对应点灰度乘积的和值;
计算完成后将SI1I2(x,y,d)的值以及像素点(x,y)计算SI1I2(x,y,d)值时计算模板各对应点灰度乘积以列为单位求和得到的和值存入存储单元,供后续像素点的计算调用;
3.对于第3类点:计算式如下:
SI 1 I 2 ( x , y , d ) = SI 1 I 2 ( x , y - 1 , d )
- Σ i = - M M I 1 ( x + i , y - 1 - N ) · I 2 ( x + i , y - 1 - N + d )
+ Σ i = - M M I 1 ( x - 1 + i , y + N ) · I 2 ( x - 1 + i , y + N + d )
- I 1 ( x - 1 - M , y + N ) · I 2 ( x - 1 - M , y + N + d )
+ I 1 ( x + M , y + N ) · I 2 ( x + M , y + N + d )
其中SI1I2(x,y-1,d)为像素点(x,y-1)对应的SI1I2(x,y-1,d)值,从存储单元中调用;
为像素点(x,y-1)计算SI1I2(x,y-1,d)值时计算模板首列各对应点灰度乘积的和值,从存储单元中调用;
为像素点(x-1,y)计算SI1I2(x-1,y,d)值时计算模板尾列各对应点灰度乘积的和值,从存储单元中调用;
I1(x-1-M,y+N)·I2(x-1-M,y+N+d)为像素点(x-1,y)计算SI1I2(x-1,y,d)值时计算模板位于首行尾列的对应点灰度乘积;
I1(x+M,y+N)·I2(x+M,y+N+d)为像素点(x,y)计算SI1I2(x,y,d)值时计算模板位于尾行尾列的对应点灰度乘积;
计算完成后将SI1I2(x,y,d)的值以及像素点(x,y)计算SI1I2(x,y,d)值时计算模板尾列各对应点灰度乘积的和值存入存储单元,供后续像素点的计算调用;
(二)对 SI 1 ( x , y ) = Σ i = - M M Σ j = - N N I 1 ( x + i , y + j ) 的优化:
1.对于第1类点:计算式如下:
SI 1 ( x , y ) = SI 1 ( x , y - 1 )
- Σ i = - M M I 1 ( x + i , y - 1 - N ) + Σ i = - M M I 1 ( x + i , y + N )
其中SI1(x,y-1)为像素点(x,y-1)对应的SI1(x,y-1)值,从存储单元中调用;
为像素点(x,y-1)计算SI1(x,y-1)值时计算模板首列各点灰度的和值,从存储单元中调用;
为像素点(x,y)计算SI1(x,y)值时计算模板尾列各点灰度的和值;
计算完成后将SI1(x,y)的值以及像素点(x,y)计算SI1(x,y)值时计算模板尾列各点灰度的和值存入存储单元,供后续像素点的计算调用;
2.对于第2类点:计算式如下:
SI 1 ( x , y ) = SI 1 ( x - 1 , y )
- Σ j = - N N I 1 ( x - 1 - M , y + j ) + Σ j = - N N I 1 ( x + M , y + j )
其中SI1(x-1,y)为像素点(x-1,y)对应的SI1(x-1,y)值,从存储单元中调用;
为像素点(x-1,y)计算SI1(x-1,y)值时计算模板首行各点灰度的和值;
为像素点(x,y)计算SI1(x,y)值时计算模板尾行各点灰度的和值;
计算完成后将SI1(x,y)的值以及像素点(x,y)计算SI1(x,y)值时计算模板各点灰度以列为单位求和得到的和值存入存储单元,供后续像素点的计算调用;
3.对于第3类点:计算式如下:
SI 1 ( x , y ) = SI 1 ( x , y - 1 )
- Σ i = - M M I 1 ( x + i , y - 1 - N ) + Σ i = - M M I 1 ( x - 1 + i , y + N )
- I 1 ( x - 1 - M , y + N ) + I 1 ( x + M , y + N )
其中SI1(x,y-1)为像素点(x,y-1)对应的SI1(x,y-1)值,从存储单元中调用;
为像素点(x,y-1)计算SI1(x,y-1)值时计算模板首列各点灰度的和值,从存储单元中调用;
为像素点(x-1,y)计算SI1(x-1,y)值时计算模板尾列各点灰度的和值,从存储单元中调用;
I1(x-1-M,y+N)为像素点(x-1,y)计算SI1(x-1,y)值时计算模板位于首行尾列的点的灰度值;
I1(x+M,y+N)为像素点(x,y)计算SI1(x,y)值时计算模板位于尾行尾列的点的灰度值;
计算完成后将SI1(x,y)的值以及像素点(x,y)计算SI1(x,y)值时计算模板尾列各点灰度的和值存入存储单元,供后续像素点的计算调用;
(三)对 SI 2 ( x , y , d ) = Σ i = - M M Σ j = - N N I 2 ( x + i , y + d + j ) 的优化:
1.对于第一个像素点(0,0):
当d=0时,
SI 2 ( 0,0,0 ) = Σ i = - M M Σ j = - N N I 2 ( i , j ) ,
计算完成后将SI2(0,0,0)的值以及像素点(0,0)计算SI2(0,0,0)时的计算模板各点灰度值以列为单位求和得到的和值存入存储单元;
当d=1,2…D时,
SI 2 ( 0,0 , d ) = SI 2 ( 0,0 , d - 1 ) - Σ i = - M M I 2 ( i , - N + d - 1 ) + Σ i = - M M I 2 ( i , N + d ) ,
其中SI2(0,0,d-1)为像素点(0,0)对应的SI2(0,0,d-1)值,从存储单元中调用;
为像素点(0,0)计算SI2(0,0,d-1)值时计算模板首列各点灰度的和值,从存储单元中调用;
为像素点(0,0)计算SI2(0,0,d)值时计算模板尾列各点灰度的和值;
计算完成后将SI2(0,0,d)的值以及像素点(0,0)计算SI2(0,0,d)值时计算模板尾列各点灰度的和值存入存储单元,供后续像素点的计算调用;
2.对于第1类点:
当d=0,1,2…D-1时,
SI2(x,y,d)=SI2(x,y-1,d+1);
其中SI2(x,y-1,d+1)为像素点(x,y-1)对应的SI2(x,y-1,d+1)值,从存储单元中调用;
当d=D时,
SI 2 ( x , y , D ) = SI 2 ( x , y - 1 , D )
- Σ i = - M M I 2 ( x + i , y - 1 - N + D ) + Σ i = - M M I 2 ( x + i , y +N+D )
其中SI2(x,y-1,D)为像素点(x,y-1)对应的SI2(x,y-1,D)值,从存储单元中调用;
为像素点(x,y-1)计算SI2(x,y-1,D)值时计算模板首列各点灰度的和值,从存储单元中调用;
为像素点(x,y)计算SI2(x,y,D)值时计算模板尾列各点灰度的和值;
计算完成后将SI2(x,y,d)的值以及像素点(x,y)计算SI2(x,y,D)时的计算模板尾列各点灰度的和值存入存储单元,供后续像素点的计算调用;
3.对于第2类点:计算式如下:
SI 2 ( x , y , d ) = SI 2 ( x - 1 , y , d )
- Σ j = - N N I 2 ( x - 1 - M , y + j + d ) + Σ j = - N N I 2 ( x + M , y + j + d )
其中SI2(x-1,y,d)为像素点(x-1,y)对应的SI2(x-1,y,d)值,从存储单元中调用;
为像素点(x-1,y)计算SI2(x-1,y,d)值时计算模板首行各点灰度的和值;
为像素点(x,y)计算SI2(x,y,d)值时计算模板尾行各点灰度的和值;
计算完成后将SI2(x,y,d)的值以及像素点(x,y)计算SI2(x,y,d)值时计算模板各点灰度值以列为单位求和得到的和值存入存储单元,供后续像素点的计算调用;
4.对于第3类点:
当d=0,1,2…D-1时,
SI2(x,y,d)=SI2(x,y-1,d+1);
其中SI2(x,y-1,d+1)为像素点(x,y-1)对应的SI2(x,y-1,d+1)值,从存储单元中调用;
当d=D时,
SI 2 ( x , y , D ) = SI 2 ( x , y - 1 , D )
- Σ i = - M M I 2 ( x + i , y - 1 - N + D ) + Σ i = - M M I 2 ( x - 1 + i , y +N+D )
- I 2 ( x - 1 - M , y + N + D ) + I 2 ( x + M , y + N + D )
其中SI2(x,y-1,D)为像素点(x,y-1)对应的SI2(x,y-1,D)值,从存储单元中调用;
为像素点(x,y-1)计算SI2(x,y-1,D)值时计算模板首列各点灰度的和值,从存储单元中调用;
为像素点(x,y)计算SI2(x,y,D)值时计算模板尾列各点灰度的和值,从存储单元中调用;
I2(x-1-M,y+N+D)为像素点(x-1,y)计算SI2(x-1,y,D)值时计算模板位于首行尾列的点的灰度值;
I2(x+M,y+N+D)为像素点(x,y)计算SI2(x,y,D)值时计算模板位于尾行尾列的点的灰度值;
计算完成后将SI2(x,y,d)的值以及像素点(x,y)计算SI2(x,y,D)时计算模板尾列各点灰度的和值存入存储单元,供后续像素点的计算调用;
(四)对 Σ i = - M M Σ j = - N N I 2 2 ( x + i , y + d + j ) 的优化:
SI 2 2 ( x , y , d ) = Σ i = - M M Σ j = - N N I 2 2 ( x + i , y + d + j ) ;
1.对于第一个像素点(0,0):
当d=0时,
SI 2 2 ( 0,0,0 ) = Σ i = - M M Σ j = - N N I 2 2 ( i , j ) ,
计算完成后将的值以及像素点(0,0)计算时的计算模板各点灰度值的平方以列为单位求和得到的和值存入存储单元;
当d=1,2…D时,
SI 2 2 ( 0,0 , d ) = SI 2 2 ( 0,0 , d - 1 ) - Σ i = - M M I 2 2 ( i , - N + d - 1 ) + Σ i = - M M I 2 2 ( i , N + d ) ,
其中为像素点(0,0)对应的值,从存储单元中调用;
为像素点(0,0)计算值时计算模板首列各点灰度的平方的和值,从存储单元中调用;
为像素点(0,0)计算值时计算模板尾列各点灰度的平方的和值;
计算完成后将的值以及像素点(0,0)计算值时计算模板尾列各点灰度的平方的和值存入存储单元,供后续像素点的计算调用;
2.对于第1类点:
当d=0,1,2…D-1时,
SI 2 2 ( x , y , d ) = SI 2 2 ( x , y - 1 , d + 1 ) ;
其中为像素点(x,y-1)对应的值,从存储单元中调用;
当d=D时,
SI 2 2 ( x , y , D ) = SI 2 2 ( x , y - 1 , D )
- Σ i = - M M I 2 2 ( x + i , y - 1 - N + D ) + Σ i = - M M I 2 2 ( x + i , y + N + D )
其中为像素点(x,y-1)对应的值,从存储单元中调用;
为像素点(x,y-1)计算值时计算模板首列各点灰度的平方的和值,从存储单元中调用;
为像素点(x,y)计算值时计算模板尾列各点灰度的平方的和值;
计算完成后将的值以及像素点(x,y)计算时的计算模板尾列各点灰度的平方的和值存入存储单元,供后续像素点的计算调用;
3.对于第2类点:计算式如下:
SI 2 2 ( x , y , d ) = SI 2 2 ( x - 1 , y , d )
- Σ j = - N N I 2 2 ( x - 1 - M , y + j + d ) + Σ j = - N N I 2 2 ( x + M , y + j + d )
其中为像素点(x-1,y)对应的值,从存储单元中调用;
为像素点(x-1,y)计算值时计算模板首行各点灰度的平方的和值;
为像素点(x,y)计算值时计算模板尾行各点灰度的平方的和值;
计算完成后将的值以及像素点(x,y)计算值时计算模板各点灰度值的平方以列为单位求和得到的和值存入存储单元,供后续像素点的计算调用;
4.对于第3类点:
当d=0,1,2…D-1时,
SI 2 2 ( x , y , d ) = SI 2 2 ( x , y - 1 , d + 1 ) ;
其中为像素点(x,y-1)对应的值,从存储单元中调用;
当d=D时,
SI 2 2 ( x , y , D ) = SI 2 2 ( x , y - 1 , D )
- Σ i = - M M I 2 2 ( x + i , y - 1 - N + D ) + Σ i = - M M I 2 2 ( x - 1 + i , y + N + D )
- I 2 2 ( x - 1 - M , y + N + D ) + I 2 2 ( x + M , y + N + D )
其中为像素点(x,y-1)对应的值,从存储单元中调用;
为像素点(x,y-1)计算值时计算模板首列各点灰度的平方的和值,从存储单元中调用;
为像素点(x,y)计算值时计算模板尾列各点灰度的平方的和值,从存储单元中调用;
为像素点(x-1,y)计算值时计算模板位于首行尾列的点灰度值的平方,
为像素点(x,y)计算值时计算模板位于尾行尾列的点灰度值的平方;
计算完成后将的值以及像素点(x,y)计算时的计算模板尾列各点灰度值的平方的和值存入存储单元,供后续像素点的计算调用;
g.根据左图中各像素点的匹配视差生成稠密视差图。
以上所述,仅是本发明的实施例之一,并非对本发明的技术范围作任何限制,在实际使用中也可以以右图为基准,用左图进行匹配,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明的技术方案的范围内。

Claims (2)

1.一种双目视觉系统的立体匹配优化方法,其特征在于包括以下几个步骤:
a、从双目视频系统获取双目图像;
b、对双目图像进行畸变矫正与极线校正;
c、将双目图像由彩色图像转换为灰度图像;
d、以灰度图像中的其中一幅图像为基准,用另外一幅图像依据像素的计算模板来匹配;
e、优化零均值归一化交叉相交ZNCC因子计算规则,将其优化成为 ZNCC ( x , y , d ) = cov ( x , y , d ) var ( x , y + d , I 2 )  ①,
式①中,d为水平视差,
cov ( x , y , d ) = Σ i = - M M Σ j = - N N I 1 ( x + i , y + j ) · I 2 ( x + i , y + d + j ) - SI 1 ( x , y ) · SI 2 ( x , y + d ) W  ②,
var ( x , y + d , I 2 ) = Σ i = - M M Σ j = - N N I 2 2 ( x + i , y + d + j ) - ( SI 2 ( x , y + d ) ) 2 W  ③,
式②和③中,I1(x,y)为作为基准的图像中像素点(x,y)的灰度值,I2(x,y+d)为用来匹配的图像中像素点(x,y+d)的灰度值,即为作为基准的图像中以像素点(x,y)为中心的计算模板上各点的灰度值和,即为用来匹配的图像中以像素点(x,y+d)为中心的计算模板上各点的灰度值和;
为作为基准的图像中以像素点(x,y)为中心的计算模板与用来匹配的图像中以像素点(x,y+d)为中心的计算模板上各对应点灰度的乘积之和;为用来匹配的图像中以像素点(x,y+d)为中心的计算模板上各点灰度的平方和;W=(2M+1)×(2N+1)即为计算模板大小;
f、以优化后的零均值归一化交叉相交ZNCC因子作为相似性度量计算,以[0,D]为视差搜索范围,采用从左到右、从上到下的顺序匹配,计算出作为基准的图像中各像素点在视差搜索范围内不同视差所对应的ZNCC值,各像素点的ZNCC值中最大值所对应的视差记为该像素点的匹配视差;
g、根据作为基准的图像中各像素点的匹配视差生成稠密视差图。
2.如权利要求1所述的双目视觉系统的立体匹配优化方法,其特征在于,所述步骤f的匹配运算中,各像素点计算模板的优化计算描述如下:
设所述计算模板位于最上面的一行为首行,位于最下面的一行为尾行,位于最左边的一列为首列,位于最右边的一列为尾列;
作为基准的图像中第一个像素点按照计算式进行计算,计算完成后将第一个像素点的计算模板的和值以及其计算模板各列的和值存入存储单元作为中间值供后续像素点的计算使用;
将作为基准的图像中除图像第一个像素点外的像素点进行分类定义,定义位于首行的像素点为第1类点,定义位于首列的像素点为第2类点,定义位于非首行和非首列的其他位置的像素点为第3类点;
对于以上3个分类像素点,在进行所述步骤e中ZNCC因子中的四个和值SI1(x,y)、SI2(x,y,d)、 Σ i = - M M Σ j = - N N I 1 ( x + i , y + j ) · I 2 ( x + i , y + d + j ) , Σ i = - M M Σ j = - N N I 2 2 ( x + i , y + d + j ) 公式计算时,分别按以下的原则进行优化计算处理:
对于第1类点,计算像素点(x,y)计算模板各点相应计算值的和值,调用像素点(x,y-1)计算模板各点相应计算值的和值、像素点(x,y-1)计算模板首列各点相应计算值的和值,用像素点(x,y-1)计算模板各点相应计算值的和值减去像素点(x,y-1)计算模板首列各点相应计算值的和值再加上像素点(x,y)计算模板尾列各点相应计算值的和值,即得;每次计算完成后将像素点(x,y)计算模板各点相应计算值的和值与像素点(x,y)计算模板尾列各点相应计算值的和值存入存储单元;
对于第2类点,计算像素点(x,y)计算模板各点相应计算值的和值,调用像素点(x-1,y)计算模板各点相应计算值的和值,用像素点(x-1,y)计算模板各点相应计算值的和值减去像素点(x-1,y)计算模板首行各点相应计算值的和值再加上像素点(x,y)计算模板尾行各点相应计算值的和值,即得;每次计算完成后将像素点(x,y)计算模板各点相应计算值的和值与像素点(x,y)计算模板各点相应计算值以列为单位求和得到的和值存入存储单元;
对于第3类点,像素点(x,y)计算模板各点相应计算值的和值等于a加上b;其中a的计算,调用像素点(x,y-1)计算模板各点相应计算值的和值、像素点(x,y-1)计算模板首列各点相应计算值的和值,用像素点(x,y-1)计算模板各点相应计算值的和值减去像素点(x,y-1)计算模板首列各点相应计算值的和值,即得;b的计算,调用像素点(x-1,y)计算模板尾列各点相应计算值的和值,用像素点(x-1,y)计算模板尾列各点相应计算值的和值减去该计算模板尾列位于首行的点的相应计算值再加上像素点(x,y)计算模板尾列位于尾行的点的相应计算值,即得;每次计算完成后将像素点(x,y)计算模板各点相应计算值的和值与像素点(x,y)计算模板尾列各点相应计算值的和值存入存储单元。
CN201310035045.8A 2013-01-30 2013-01-30 双目视觉系统的立体匹配优化方法 Expired - Fee Related CN103136750B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310035045.8A CN103136750B (zh) 2013-01-30 2013-01-30 双目视觉系统的立体匹配优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310035045.8A CN103136750B (zh) 2013-01-30 2013-01-30 双目视觉系统的立体匹配优化方法

Publications (2)

Publication Number Publication Date
CN103136750A CN103136750A (zh) 2013-06-05
CN103136750B true CN103136750B (zh) 2015-08-19

Family

ID=48496540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310035045.8A Expired - Fee Related CN103136750B (zh) 2013-01-30 2013-01-30 双目视觉系统的立体匹配优化方法

Country Status (1)

Country Link
CN (1) CN103136750B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104091308B (zh) * 2014-06-12 2017-02-15 华南理工大学 一种减少图像畸变的极线校正方法
CN105376543B (zh) * 2014-08-06 2017-08-08 深圳市Tcl高新技术开发有限公司 一种3d图像的视差图获取方法及系统
CN106780711B (zh) * 2015-11-18 2020-05-26 深圳先进技术研究院 一种立体匹配方法和装置
CN106023230B (zh) * 2016-06-02 2018-07-24 辽宁工程技术大学 一种适合变形图像的稠密匹配方法
CN105955067A (zh) * 2016-06-03 2016-09-21 哈尔滨工业大学 基于四旋翼无人机的多星智能集群控制仿真系统及采用该系统实现的仿真方法
CN106447661A (zh) * 2016-09-28 2017-02-22 深圳市优象计算技术有限公司 一种深度图快速生成方法
CN106952304B (zh) * 2017-03-22 2019-09-20 南京大学 一种利用视频序列帧间相关性的深度图像计算方法
CN107194931A (zh) * 2017-05-09 2017-09-22 西安交通大学 一种基于双目图像匹配获取目标深度信息的方法和系统
CN107677682B (zh) * 2017-11-07 2024-03-08 泉州创力模具有限公司 一种鞋模表面破损检测装置及检测方法
CN109465809B (zh) * 2018-12-17 2024-07-19 中北大学 一种基于双目立体视觉定位识别的智能垃圾分类机器人
CN112130256A (zh) * 2020-11-06 2020-12-25 南京天兴通电子科技有限公司 一种新型光纤类型识别系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101887589A (zh) * 2010-06-13 2010-11-17 东南大学 一种基于立体视觉的实拍低纹理图像重建方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4297501B2 (ja) * 2004-08-11 2009-07-15 国立大学法人東京工業大学 移動体周辺監視装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101887589A (zh) * 2010-06-13 2010-11-17 东南大学 一种基于立体视觉的实拍低纹理图像重建方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
High performance FPGA-based image correlation;Almudena Lindoso et al.;《Real-Time Image Proc》;20071204;第2卷;第223-233页 *
基于哈特莱变换的快速图像模板匹配算法;龚俊斌等;《宇航学报》;20110531;第32卷(第5期);第1115-1123页 *

Also Published As

Publication number Publication date
CN103136750A (zh) 2013-06-05

Similar Documents

Publication Publication Date Title
CN103136750B (zh) 双目视觉系统的立体匹配优化方法
CN106780590B (zh) 一种深度图的获取方法及系统
CN108648161B (zh) 非对称核卷积神经网络的双目视觉障碍物检测系统及方法
CN102665086B (zh) 利用基于区域的局部立体匹配获取视差的方法
CN109598754B (zh) 一种基于深度卷积网络的双目深度估计方法
Cambuim et al. An FPGA-based real-time occlusion robust stereo vision system using semi-global matching
CN104966270A (zh) 一种多图像拼接方法
CN105528785A (zh) 一种双目视觉图像立体匹配方法
CN108305277B (zh) 一种基于直线段的异源图像匹配方法
CN113705796B (zh) 基于epi特征强化的光场深度获取卷积神经网络
CN112270701B (zh) 基于分组距离网络的视差预测方法、系统及存储介质
CN116612468A (zh) 基于多模态融合与深度注意力机制的三维目标检测方法
CN106952304A (zh) 一种利用视频序列帧间相关性的深度图像计算方法
CN116091574A (zh) 一种基于平面约束与位置约束的3d目标检测方法及系统
CN116912405A (zh) 一种基于改进MVSNet的三维重建方法及系统
Ambrosch et al. Hardware implementation of an SAD based stereo vision algorithm
CN214587004U (zh) 一种立体匹配加速电路、图像处理器及三维成像电子设备
CN114155406A (zh) 一种基于区域级特征融合的位姿估计方法
CN106210696A (zh) 一种实时虚拟视点合成的方法及装置
CN112489097A (zh) 基于混合2d卷积和伪3d卷积的立体匹配方法
CN104616304A (zh) 一种基于fpga的自适应支撑权重的立体匹配方法
CN117115343A (zh) 动态场景自主定位与线上高精度三维重建方法
CN107330934A (zh) 低维度的集束调整计算方法与系统
CN115239559A (zh) 一种融合视图合成的深度图超分辨率方法及系统
CN113850293B (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
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 545006 the Guangxi Zhuang Autonomous Region East Ring Road, Liuzhou, No. 268

Applicant after: Guangxi University of Science and Technology

Address before: 545006 the Guangxi Zhuang Autonomous Region East Ring Road, Liuzhou, No. 268

Applicant before: Guangxi University of Technology

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: GUANGXI UNIVERSITY OF TECHNOLOGY TO: GUANGXI UNIVERSITY OF SCIENCE + TECHNOLOGY

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: 20150819

Termination date: 20160130

EXPY Termination of patent right or utility model