CN108932733A - 立体视觉实现方法和立体视觉实现***、显示装置 - Google Patents
立体视觉实现方法和立体视觉实现***、显示装置 Download PDFInfo
- Publication number
- CN108932733A CN108932733A CN201810772258.1A CN201810772258A CN108932733A CN 108932733 A CN108932733 A CN 108932733A CN 201810772258 A CN201810772258 A CN 201810772258A CN 108932733 A CN108932733 A CN 108932733A
- Authority
- CN
- China
- Prior art keywords
- grayscale image
- pixel
- window
- benchmark
- matching
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20228—Disparity calculation for image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明属于显示技术领域,具体涉及一种立体视觉实现方法和立体视觉实现***、显示装置。该立体视觉实现***包括:所述数据缓存模块,包括两组数据缓冲单元,用于接收同一物体的两个灰度图,并对两个所述灰度图的灰阶数据分别进行缓存;所述区域立体匹配模块,用于以乒乓操作方式读取缓存的两个所述灰度图中设定窗口的灰阶数据进行灰度归一化互相关计算,并将两个灰度图中的设定窗口内具有最大灰度互相关系数的两个像素点确定为一对立体匹配点;所述视差计算模块,用于根据所述立体匹配点,依次计算对应的所述像素点的坐标差,得到像素点的视差距离。其抗白噪声干扰能力强,降低了环境光照差异的影响,提高***的准确性,且极大提高***处理速度。
Description
技术领域
本发明属于显示技术领域,具体涉及一种立体视觉实现方法和立体视觉实现***、显示装置。
背景技术
立体视觉(Stereo Vision)***通过对同一场景同时采集多幅画面,对画面中每一像素点在其他画面中邻近区域进行立体匹配计算,判断该像素点对应的特征匹配点,二者的差值可以得到图像的视差图(Dispari ty Map),使得机器获取场景内的深度信息。
目前,该立体视觉实现***主要通过PC端算法实现,受速度、运算能力限制,限制了其在移动设备上的应用,如VR设备的空间定位实现。该立体视觉实现***除了不利于在移动端应用,由于现有的立体视觉实现***主要使用简单的灰度差比较的立体匹配方法,这种方法在实际使用中容易受到光照等环境条件差异的影响。
发明内容
本发明所要解决的技术问题是针对现有技术中上述不足,提供一种立体视觉实现方法和立体视觉实现***、显示装置,抗白噪声干扰能力强,降低了环境光照差异的影响,提高***的准确性,且极大提高***处理速度。
解决本发明技术问题所采用的技术方案是该立体视觉实现***,包括数据缓存模块、区域立体匹配模块和视差计算模块,其中:
所述数据缓存模块,包括两组数据缓冲单元,用于接收同一物体的两个灰度图,并对两个所述灰度图的灰阶数据分别进行缓存;
所述区域立体匹配模块,用于以乒乓操作方式读取缓存的两个所述灰度图中设定窗口的灰阶数据进行灰度归一化互相关计算,并将两个灰度图中的设定窗口内具有最大灰度互相关系数的两个像素点确定为一对立体匹配点;
所述视差计算模块,用于根据所述立体匹配点,依次计算对应的所述像素点的坐标差,得到像素点的视差距离。
优选的是,一所述灰度图为基准灰度图,另一所述灰度图为匹配灰度图,所述区域立体匹配模块包括地址读取控制器、像素点运算模块、像素区运算模块、除法器和比较器,其中:
所述地址读取控制器,用于控制两组所述数据缓冲单元存储的读出地址和写入地址;
所述像素点运算模块,用于计算所述基准灰度图与匹配灰度图中设定窗口内对应像素点的灰阶数据的卷积值,并将所述卷积值传送至所述除法器的被除数输入端;
所述像素区运算模块,用于分别计算所述基准灰度图或所述匹配灰度图中设定窗口内的每一行像素点的灰阶数据平方和,并将所述基准灰度图和所述匹配灰度图中设定窗口的同行的所述平方和进行求积、开方的综合运算得到综合运算值,将所述综合运算值传送至所述除法器的除数输入端;
所述除法器,用于将所述卷积值和所述综合运算值进行求商,商值作为所述基准灰度图和所述匹配灰度图中设定窗口内对应像素点的最大灰度互相关系数,并将商值传输至所述比较器;
所述比较器,用于比较所述基准灰度图和所述匹配灰度图的设定窗口内各像素点的最大灰度互相关系数,并以具有最大灰度互相关系数的两个像素点为一对立体匹配点。
优选的是,两组所述数据缓冲单元为第一数据缓冲单元和第二数据缓冲单元,用于对应存储所述基准灰度图和所述匹配灰度图的灰阶数据,其中:
所述地址读取控制器,用于控制所述基准灰度图和所述匹配灰度图的灰阶数据的读出地址,以从所述基准灰度图和所述匹配灰度图得到并行的两个设定窗口的数据;以及,为卷积值和平方积分值指定存储地址;
所述像素点运算模块包括第一乘法累加器,用于将所述基准灰度图中设定窗口与所述匹配灰度图沿行方向偏移视差窗格范围逐列移动的设定窗口遍历,将对应像素点的灰阶数据进行乘加运算,实现设定窗口的卷积运算,得到设定窗口内各像素点灰阶数据的卷积值;
所述像素区运算模块包括平方积分计算单元、乘法器和开方查询器,其中:
所述平方积分计算单元,包括相同结构的两组,一组用于计算所述基准灰度图中设定窗口内的每一行像素点的灰阶数据的平方之和,另一组用于计算所述匹配灰度图中相对偏移视差窗格范围的所述设定窗口每一行像素点的灰阶数据的平方之和,以分别得到两个所述灰度图对应行像素点的平方积分值;
所述乘法器,用于对所述基准灰度图和所述匹配灰度图对应行像素点的平方积分值进行求积,并将求得的积值传输至所述开方查询器的输入端;
所述开方查询器,用于对接收到的积值进行开方,并将开方值传输至所述除法器;
其中,设定窗口为n*m个像素组成的矩形窗口,偏移视差窗格为d,n为小于灰度图画面行像素数量的自然数,m为小于灰度图画面列像素数量的自然数,d为绝对值不大于m、n的整数。
优选的是,m、n为大于1的奇数,且m=n,d为-(m-1)/2至(m-1)/2间的整数。
优选的是,所述平方积分计算单元包括第二乘法累加器和第二累加器,其中:
所述第二乘法累加器,用于对所述基准灰度图中设定窗口内的像素点的灰阶数据进行乘加运算,得到设定窗口内某行中某列像素点的灰阶数据;
所述第二累加器,用于对某行某列的像素点的灰阶数据与该行中该列之前的像素点的逐列灰阶数据累加值进行累加,并将累加和同时进行缓存和传输至所述乘法器,得到某行像素点的平方积分值。
优选的是,所述第一数据缓冲单元、所述第二数据缓冲单元为块随机存储器,所述块随机存储器能以乒乓操作交替完成所述基准灰度图和所述匹配灰度图灰阶数据的写入和读出。
优选的是,还包括图像采集模块、图像预处理模块,其中:
所述图像采集模块,用于在平行于主光轴的同一直线上获取同一物体的两个图像,并将获得的两个图像传送至图像预处理模块2;
所述图像预处理模块,用于将接收到的两个图像分别各转换为一个灰度图,并将所述灰度图传送至所述数据缓存模块。
优选的是,所述第一数据缓冲单元和所述第二数据缓冲单元以所述灰度图的行数据进行缓存;
所述图像采集模块,包括设置在与所述灰度图的行方向平行的同一水平线的两个摄像头
一种立体视觉实现方法,包括步骤:
接收同一物体的两个灰度图,并对两个所述灰度图的灰阶数据分别进行缓存;
以乒乓操作方式读取缓存的两个所述灰度图中设定窗口的灰阶数据进行灰度归一化互相关计算,并将两个灰度图中的设定窗口内具有最大灰度互相关系数的两个像素点确定为一对立体匹配点;
根据所述立体匹配点,依次计算对应的所述像素点的坐标差,得到像素点的视差距离。
优选的是,一所述灰度图为基准灰度图,另一所述灰度图为匹配灰度图,确定立体匹配点的步骤中,控制两组数据缓冲单元存储的读出地址和写入地址,以进行如下操作:
计算所述基准灰度图与匹配灰度图中设定窗口内对应像素点的灰阶数据的卷积值;
分别计算所述基准灰度图或所述匹配灰度图中设定窗口内的每一行像素点的灰阶数据平方和,并将所述基准灰度图和所述匹配灰度图中设定窗口的同行的所述平方和进行求积、开方的综合运算得到综合运算值;
将所述卷积值和所述综合运算值进行求商,商值作为所述基准灰度图和所述匹配灰度图中设定窗口内对应像素点的最大灰度互相关系数,;
比较所述基准灰度图和所述匹配灰度图的设定窗口内各像素点的最大灰度互相关系数,并以具有最大灰度互相关系数的两个像素点为一对立体匹配点。
优选的是,确定立体匹配点的步骤中,包括:
在所述基准灰度图、所述匹配灰度图中分别选取设定窗口;
以所述基准灰度图的设定窗口为基准窗口,以所述匹配灰度图沿行方向偏移视差窗格范围逐列移动的设定窗口进行遍历,根据归一化互相关公式计算匹配窗口内像素点与基准窗口内像素点的最大灰度互相关系数;
选择所述基准灰度图和所述匹配灰度图中最大灰度互相关系数最大的像素点作为立体匹配点;
其中:设定窗口为n*m个像素组成的矩形窗口,偏移视差窗格为d,n为小于灰度图画面行像素数量的自然数,m为小于灰度图画面列像素数量的自然数,d为绝对值不大于m、n的整数。
优选的是,m、n为大于1的奇数,且m=n,d为-(m-1)/2至(m-1)/2间的整数。
优选的是,归一化互相关公式为:
其中:IL(x+i,y+j)为基准灰度图中像素点的灰阶数据,IR(x+i+d,y+j)为匹配灰度图中像素点的灰阶数据,x、y为设定窗口参考像素点的坐标,i、j为设定窗口内像素相对于参考像素点的横坐标和纵坐标,U为设定窗口,d为偏移视差窗格数,C(x,y,d)为匹配窗口内像素点与基准窗口内像素点的相关系数;
部分,通过基准灰度图设定窗口和匹配灰度图设定窗口的卷积运算得到;
部分,通过基准灰度图设定窗口和匹配灰度图设定窗口的平方积分运算获得。
优选的是,对两个灰度图分别进行缓存之前还包括:
在平行于主光轴的同一直线上获取同一物体的两个图像;
将接收到的两个图像分别各转换为一个灰度图。
一种显示装置,包括上述的立体视觉实现***。
本发明的有益效果是:
采用该立体视觉实现方法和相应的立体视觉实现***,抗白噪声干扰能力强,降低了环境光照差异的影响,提高***的准确性。在FPGA上通过合理的优化和硬件实现,达到在获得输入图像数据后可实现归一化互相关公式中各个参数的计算过程,极大提高***处理速度,实时获得输入图像的立体信息。
附图说明
图1为本发明实施例1中立体视觉实现***的结构框图;
图2为本发明实施例1中立体视觉实现***的完整示例结构框图;
图3为图1中区域立体匹配模块的结构框图;
图4为图3中区域立体匹配模块的细化结构框图;
图5为图4中像素点运算模块的工作原理示意图;
图6为图4中一组平方积分计算单元的工作原理示意图;
图7为本发明实施例1中基准窗口和匹配窗口的相对偏移示意图;
图8为本发明实施例1中立体视觉实现方法的流程图;
图9为图像卷积计算的示意图;
附图标识中:
1-图像采集模块;2-图像预处理模块;3-数据缓存模块;4-区域立体匹配模块;5-视差计算模块。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明立体视觉实现方法和立体视觉实现***、显示装置作进一步详细描述。
实施例1:
本实施例提供一种立体视觉实现***及其相应的立体视觉实现方法,其能有效提高***速率;同时通过归一化处理,提高***鲁棒性,可以消除噪声和光照的影响,降低了环境光照差异的影响,抗白噪声干扰能力强,***准确性高。
如图1所示,该立体视觉实现***至少包括:数据缓存模块3、区域立体匹配模块4和视差计算模块5,实现灰度的归一化互相关(Normal ized Cross Correlation,简称NCC)匹配算法,得到两个采集画面的视差图,进而可以实时获得画面中场景的深度信息。
如图2所示,该立体视觉实现***一个更实时的结构包括:图像采集模块1、图像预处理模块2、数据缓存模块3、区域立体匹配模块4和视差计算模块5,其中:
图像采集模块1,用于在平行于主光轴的同一直线上获取同一物体的两个图像,并将获得的两个图像传送至图像预处理模块2。图像采集模块1可以为两个间隔设置的摄像头,摄像头采集的图像通常为RGB图像。摄像头采集一个物体的图像,在立体视觉匹配过程中同一物点在两个图像中的相对位置不同,而根据该相对位置,就可算出该物点与摄像头间的距离,即景深,根据景深即可实现立体显示。
通过对双路摄像头采集的画面进行实时处理,获得立体匹配点的,以下各步骤可以以具有优异运算处理速度的芯片为载体,例如在FPGA上实现灰度归一化互相关(NCC)的立体匹配算法,搭建实时立体视觉实现***,通过对图像的处理和计算,确定两图像中点的对应关系(即哪两个点对应一个图像中的同一个像素点),得到立体匹配点。由于FPGA并行运算功能,在输入图像数据后可并行完成归一化互相关公式中各个参数的计算,极大的提高了***速率。
图像预处理模块2,用于将接收到的两个图像分别各转换为一个灰度图,并将灰度图传送至数据缓存模块3。一般输入图像为彩色RGB888或RGB565格式,根据应用环境可以采用RGB565转灰度的算法。
数据缓存模块3,包括两组数据缓冲单元,用于接收同一物体的两个灰度图,并对两个灰度图的灰阶数据分别进行缓存。两个灰度图中,一灰度图为基准灰度图,另一灰度图为匹配灰度图,数据缓存模块3可以保存基准灰度图像素点和匹配灰度图像素点的灰阶数据及坐标值。比如可以为块随机存储器(Block Random Access Memory,简称BRAM),分别缓存灰度图的行灰阶数据。
区域立体匹配模块4,用于以乒乓操作方式读取缓存的两个灰度图中设定窗口的灰阶数据进行灰度归一化互相关计算,并将两个灰度图中的设定窗口内具有最大灰度互相关系数的两个像素点确定为一对立体匹配点。通过归一化处理,可以提高***鲁棒性,消除噪声和光照的影响,降低了环境光照差异的影响,因此抗白噪声干扰能力强,提高***的准确性。
通过两组BRAM间进行乒乓操作,交替完成FPGA的写入和读出图像数据。“乒乓操作”即输入数据流通过地址选择将数据流等时分配到两个数据缓冲区,数据缓冲模块可以为任何存储模块,比较常用的存储单元为双口RAM(DPRAM)、FIFO等。由于单端口RAM难以满足时序要求,本实施例可暂不做考虑。
视差计算模块5,用于根据立体匹配点,依次计算对应的像素点的坐标差,也即通过匹配点坐标得到像素点的视差距离。
区域立体匹配模块4的架构图如图3所示,区域立体匹配模块4包括地址读取控制器、像素点运算模块、像素区运算模块、除法器和比较器,其中:
地址读取控制器,用于控制两组数据缓冲单元存储的读出地址和写入地址;
像素点运算模块,用于计算基准灰度图与匹配灰度图中设定窗口内对应像素点的灰阶数据的卷积值,并将卷积值传送至除法器的被除数输入端;
像素区运算模块,用于分别计算基准灰度图或匹配灰度图中设定窗口内的每一行像素点的灰阶数据平方和,并将基准灰度图和匹配灰度图中设定窗口的同行的平方和进行求积、开方的综合运算得到综合运算值,将综合运算值传送至除法器的除数输入端;
除法器,用于将卷积值和综合运算值进行求商,商值作为基准灰度图和匹配灰度图中设定窗口内对应像素点的最大灰度互相关系数,并将商值传输至比较器;
比较器,用于比较基准灰度图和匹配灰度图的设定窗口内各像素点的最大灰度互相关系数,并以具有最大灰度互相关系数的两个像素点为一对立体匹配点。即通过比较器比较d范围内计算得到的相关度C,选择相关度C中最大值的点作为匹配点。
对于像素点运算模块、像素区运算模块的结构,更细化的结构可参考图4。两组数据缓冲单元为第一数据缓冲单元和第二数据缓冲单元,用于对应存储基准灰度图和匹配灰度图的灰阶数据,其中:
地址读取控制器,用于控制基准灰度图和匹配灰度图的灰阶数据的读出地址,以从基准灰度图和匹配灰度图得到并行的两个设定窗口的数据;以及,为卷积值和平方积分值指定存储地址。
像素点运算模块包括第一乘法累加器,用于将基准灰度图中设定窗口与匹配灰度图沿行方向偏移视差窗格范围逐列移动的设定窗口遍历(设定窗口偏移以其中心像素点沿行方向逐列移动,窗口偏移的具体示意请参考图7)。像素点运算模块的工作原理示意图如图5所示,通过对n行块随机存储器的读出地址进行控制,得到两个窗口并行的n行数据,将两个窗口对应数值进行乘加运算,依次移动读出地址,实现n*m的卷积运算。匹配灰度图中的设定窗口维持固定大小相对于基准灰度中的设定窗口进行左右移动,不仅考虑正对的两个灰度图中设定窗口的像素点、还考虑在左右两侧偏移一定范围的设定窗口的像素点,从而分别进行将对应像素点的灰阶数据进行乘加运算,实现设定窗口的卷积运算,得到设定窗口内各像素点灰阶数据的卷积值。
像素区运算模块,通过逐个读出图像行缓存单元BRAM_1中灰度数值在乘加运算单元中进行依次进行平方运算并逐个累加,得到当前行的灰度平方的累加值。在第二乘法累加器MAC中与BRAM_2中存储的列累加值逐个累加,得到当前行的灰度平方积分值。该值一方面与另一个窗口对应像素的灰度平方积分值相乘(图2中乘法器完成)并开方(使用查找表完成,未画出),得到分母部分计算结果;另一方面存入BRAM_2中继续用于计算下一行的列累加值。具体的,像素区运算模块包括平方积分计算单元、乘法器和开方查询器,其中:
平方积分计算单元,包括相同结构的两组,一组用于计算基准灰度图中设定窗口内的每一行像素点的灰阶数据的平方之和,另一组用于计算匹配灰度图中相对偏移视差窗格范围的设定窗口每一行像素点的灰阶数据的平方之和,以分别得到两个灰度图对应行像素点的平方积分值;
乘法器,用于对基准灰度图和匹配灰度图对应行像素点的平方积分值进行求积,并将求得的积值传输至开方查询器的输入端;
开方查询器,用于对接收到的积值进行开方,并将开方值传输至除法器;
如图7所示,设定窗口为n*m个像素组成的矩形窗口,偏移视差窗格为d,n为小于灰度图画面行像素数量的自然数,m为小于灰度图画面列像素数量的自然数,d为绝对值不大于m、n的整数。优选的是,m、n为大于1的奇数,且m=n,d为-(m-1)/2至(m-1)/2间的整数,例如d=±1,±2……±(m-1)/2。
进一步的,平方积分计算单元的工作原理示意图如图6所示,平方积分计算单元包括第二乘法累加器和第二累加器,其中:
第二乘法累加器,用于对基准灰度图中设定窗口内的像素点的灰阶数据进行乘加运算,得到设定窗口内某行中某列像素点的灰阶数据;
第二累加器,用于对某行某列的像素点的灰阶数据与该行中该列之前的像素点的逐列灰阶数据累加值进行累加,并将累加和同时进行缓存和传输至乘法器,得到某行像素点的平方积分值。
其中,第一数据缓冲单元、第二数据缓冲单元为块随机存储器,块随机存储器能以乒乓操作交替完成基准灰度图和匹配灰度图灰阶数据的写入和读出。
相应的,本实施例提供的立体视觉实现方法,用于获得立体匹配点。如图8所示,立体视觉实现方法包括步骤:
在平行于主光轴的同一直线上获取同一物体的两个图像;
将接收到的两个图像分别各转换为一个灰度图;
接收同一物体的两个灰度图,并对两个灰度图的灰阶数据分别进行缓存;
以乒乓操作方式读取缓存的两个灰度图中设定窗口的灰阶数据进行灰度归一化互相关计算,并将两个灰度图中的设定窗口内具有最大灰度互相关系数的两个像素点确定为一对立体匹配点;
根据立体匹配点,依次计算对应的像素点的坐标差,得到像素点的视差距离。
优选的是,一灰度图为基准灰度图,另一灰度图为匹配灰度图,确定立体匹配点的步骤中,控制两组数据缓冲单元存储的读出地址和写入地址,以进行如下操作:
计算基准灰度图与匹配灰度图中设定窗口内对应像素点的灰阶数据的卷积值;
分别计算基准灰度图或匹配灰度图中设定窗口内的每一行像素点的灰阶数据平方和,并将基准灰度图和匹配灰度图中设定窗口的同行的平方和进行求积、开方的综合运算得到综合运算值;
将卷积值和综合运算值进行求商,商值作为基准灰度图和匹配灰度图中设定窗口内对应像素点的最大灰度互相关系数,;
比较基准灰度图和匹配灰度图的设定窗口内各像素点的最大灰度互相关系数,并以具有最大灰度互相关系数的两个像素点为一对立体匹配点。
其中,在基准灰度图、匹配灰度图中分别选取设定窗口;
以基准灰度图的设定窗口为基准窗口,以匹配灰度图沿行方向偏移视差窗格范围逐列移动的设定窗口进行遍历,根据归一化互相关公式计算匹配窗口内像素点与基准窗口内像素点的最大灰度互相关系数;
选择基准灰度图和匹配灰度图中最大灰度互相关系数最大的像素点作为立体匹配点;
其中:设定窗口为n*m个像素组成的矩形窗口,偏移视差窗格为d,n为小于灰度图画面行像素数量的自然数,m为小于灰度图画面列像素数量的自然数,d为绝对值不大于m、n的整数。优选m、n为大于1的奇数,且m=n,d为-(m-1)/2至(m-1)/2间的整数。
区域立体匹配的处理方法为,在两个灰度图像中选取n*m大小窗口,以其一为基准窗口,在视差搜索范围d内,在另一内沿极线方向遍历,根据如下的归一化互相关公式计算匹配窗口内点与基准窗口内点的相关性C(x,y,d),最终选择相关性最大点作为立体匹配点。
归一化互相关公式为:
其中:IL(x+i,y+j)为基准灰度图中像素点的灰阶数据,对于行设置的摄像头可以理解为左侧灰度图,IR(x+i+d,y+j)为匹配灰度图中像素点的灰阶数据,对于行设置的摄像头可以理解为右侧灰度图,x、y为设定窗口参考像素点的坐标,i、j为设定窗口内像素相对于参考像素点的横坐标和纵坐标,U为设定窗口,d为偏移视差窗格数,C(x,y,d)为匹配窗口内像素点与基准窗口内像素点的相关系数;
部分,通过基准灰度图设定窗口和匹配灰度图设定窗口的n*m窗口卷积运算得到;
部分,通过基准灰度图设定窗口的n*m窗口平方积分运算获得。
在FPGA硬件结构的实现中,归一化互相关公式中的分子部分可由如图5所示的左侧灰度图和右灰度图的互相n*m窗口卷积运算得到;分母部分
在卷积过程中,通过块随机存储器对灰度图按行存储灰阶数据,并通过乒乓操作读出基准灰度图和匹配灰度图中设定窗口内的灰阶数据进行卷积。两个灰度图在卷积计算中关系是相对的,任一为基准灰度图,则另一为匹配灰度图,对于基准灰度图或匹配灰度图的选定并不做限定。每一次卷积可计算得到基准灰度图中设定窗口中心点取值的卷积值,虽然匹配灰阶图中设定窗口相对于该基准灰度图的偏移,可以计算得到设定窗口中心点所在行各像素点的卷积值。在一行像素点的卷积计算完成后,可继续计算下一行像素点的各卷积值(即将m*n窗口下移一个像素)。
这里应该理解的是,对于在行首或行末的像素点的卷积计算,匹配窗口在偏移窗格d时若超出灰度图的有效区别,可以在设定窗口无对应像素点的区域补零,后续不再重复赘述。
其中涉及的图像卷积方式可参考图9,对于图9中m*n为3*3的设定窗口而言,其窗口中心的像素点的卷积值计算过程为:
以上的窗口中心的像素点的卷积值计算过程以互相n*m窗口卷积运算为例,即参与卷积的两个窗口分属于两个不同的灰度图(涉及部分)。
本发明通过设计一种基于FPGA的立体视觉实现***的实现方式,通过两路摄像机采集图像,对输入图像数据进行并行处理,实现了实时视差图获取。并且在立体匹配计算过程中,使用归一化互相关算法对灰度进行计算,将计算得到的归一化互相关系数最高的区域进行匹配,然后根据匹配关系计算两幅图的视差,得到具有深度信息的视差图。
采用该立体视觉实现方法和相应的立体视觉实现***,抗白噪声干扰能力强,降低了环境光照差异的影响,提高***的准确性。在FPGA上通过合理的优化和硬件实现,达到在获得输入图像数据后可实现归一化互相关公式中各个参数的计算过程,极大提高***处理速度,实时获得输入图像的立体信息。
实施例2:
本实施例提供一种显示装置,该显示装置包括实施例1的立体视觉实现***。
本实施例中的显示装置,基于立体视觉实现方法和相应的立体视觉实现***,特别适合应用于图像处理领域,可以解决VR/AR、机器人视觉等多应用的立体视觉问题,实时获得输入图像的立体信息,提高用户体验。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (15)
1.一种立体视觉实现***,其特征在于,包括数据缓存模块、区域立体匹配模块和视差计算模块,其中:
所述数据缓存模块,包括两组数据缓冲单元,用于接收同一物体的两个灰度图,并对两个所述灰度图的灰阶数据分别进行缓存;
所述区域立体匹配模块,用于以乒乓操作方式读取缓存的两个所述灰度图中设定窗口的灰阶数据进行灰度归一化互相关计算,并将两个灰度图中的设定窗口内具有最大灰度互相关系数的两个像素点确定为一对立体匹配点;
所述视差计算模块,用于根据所述立体匹配点,依次计算对应的所述像素点的坐标差,得到像素点的视差距离。
2.根据权利要求1所述的立体视觉实现***,其特征在于,一所述灰度图为基准灰度图,另一所述灰度图为匹配灰度图,所述区域立体匹配模块包括地址读取控制器、像素点运算模块、像素区运算模块、除法器和比较器,其中:
所述地址读取控制器,用于控制两组所述数据缓冲单元存储的读出地址和写入地址;
所述像素点运算模块,用于计算所述基准灰度图与匹配灰度图中设定窗口内对应像素点的灰阶数据的卷积值,并将所述卷积值传送至所述除法器的被除数输入端;
所述像素区运算模块,用于分别计算所述基准灰度图或所述匹配灰度图中设定窗口内的每一行像素点的灰阶数据平方和,并将所述基准灰度图和所述匹配灰度图中设定窗口的同行的所述平方和进行求积、开方的综合运算得到综合运算值,将所述综合运算值传送至所述除法器的除数输入端;
所述除法器,用于将所述卷积值和所述综合运算值进行求商,商值作为所述基准灰度图和所述匹配灰度图中设定窗口内对应像素点的最大灰度互相关系数,并将商值传输至所述比较器;
所述比较器,用于比较所述基准灰度图和所述匹配灰度图的设定窗口内各像素点的最大灰度互相关系数,并以具有最大灰度互相关系数的两个像素点为一对立体匹配点。
3.根据权利要求2所述的立体视觉实现***,其特征在于,两组所述数据缓冲单元为第一数据缓冲单元和第二数据缓冲单元,用于对应存储所述基准灰度图和所述匹配灰度图的灰阶数据,其中:
所述地址读取控制器,用于控制所述基准灰度图和所述匹配灰度图的灰阶数据的读出地址,以从所述基准灰度图和所述匹配灰度图得到并行的两个设定窗口的数据;以及,为卷积值和平方积分值指定存储地址;
所述像素点运算模块包括第一乘法累加器,用于将所述基准灰度图中设定窗口与所述匹配灰度图沿行方向偏移视差窗格范围逐列移动的设定窗口遍历,将对应像素点的灰阶数据进行乘加运算,实现设定窗口的卷积运算,得到设定窗口内各像素点灰阶数据的卷积值;
所述像素区运算模块包括平方积分计算单元、乘法器和开方查询器,其中:
所述平方积分计算单元,包括相同结构的两组,一组用于计算所述基准灰度图中设定窗口内的每一行像素点的灰阶数据的平方之和,另一组用于计算所述匹配灰度图中相对偏移视差窗格范围的所述设定窗口每一行像素点的灰阶数据的平方之和,以分别得到两个所述灰度图对应行像素点的平方积分值;
所述乘法器,用于对所述基准灰度图和所述匹配灰度图对应行像素点的平方积分值进行求积,并将求得的积值传输至所述开方查询器的输入端;
所述开方查询器,用于对接收到的积值进行开方,并将开方值传输至所述除法器;
其中,设定窗口为n*m个像素组成的矩形窗口,偏移视差窗格为d,n为小于灰度图画面行像素数量的自然数,m为小于灰度图画面列像素数量的自然数,d为绝对值不大于m、n的整数。
4.根据权利要求3所述的立体视觉实现***,其特征在于,m、n为大于1的奇数,且m=n,d为-(m-1)/2至(m-1)/2间的整数。
5.根据权利要求3所述的立体视觉实现***,其特征在于,所述平方积分计算单元包括第二乘法累加器和第二累加器,其中:
所述第二乘法累加器,用于对所述基准灰度图中设定窗口内的像素点的灰阶数据进行乘加运算,得到设定窗口内某行中某列像素点的灰阶数据;
所述第二累加器,用于对某行某列的像素点的灰阶数据与该行中该列之前的像素点的逐列灰阶数据累加值进行累加,并将累加和同时进行缓存和传输至所述乘法器,得到某行像素点的平方积分值。
6.根据权利要求3所述的立体视觉实现***,其特征在于,所述第一数据缓冲单元、所述第二数据缓冲单元为块随机存储器,所述块随机存储器能以乒乓操作交替完成所述基准灰度图和所述匹配灰度图灰阶数据的写入和读出。
7.根据权利要求1-6任一项所述的立体视觉实现***,其特征在于,还包括图像采集模块、图像预处理模块,其中:
所述图像采集模块,用于在平行于主光轴的同一直线上获取同一物体的两个图像,并将获得的两个图像传送至图像预处理模块;
所述图像预处理模块,用于将接收到的两个图像分别各转换为一个灰度图,并将所述灰度图传送至所述数据缓存模块。
8.根据权利要求7所述的立体视觉实现***,其特征在于,所述第一数据缓冲单元和所述第二数据缓冲单元以所述灰度图的行数据进行缓存;
所述图像采集模块,包括设置在与所述灰度图的行方向平行的同一水平线的两个摄像头。
9.一种立体视觉实现方法,其特征在于,包括步骤:
接收同一物体的两个灰度图,并对两个所述灰度图的灰阶数据分别进行缓存;
以乒乓操作方式读取缓存的两个所述灰度图中设定窗口的灰阶数据进行灰度归一化互相关计算,并将两个灰度图中的设定窗口内具有最大灰度互相关系数的两个像素点确定为一对立体匹配点;
根据所述立体匹配点,依次计算对应的所述像素点的坐标差,得到像素点的视差距离。
10.根据权利要求9所述的立体视觉实现方法,其特征在于,一所述灰度图为基准灰度图,另一所述灰度图为匹配灰度图,确定立体匹配点的步骤中,控制两组数据缓冲单元存储的读出地址和写入地址,以进行如下操作:
计算所述基准灰度图与匹配灰度图中设定窗口内对应像素点的灰阶数据的卷积值;
分别计算所述基准灰度图或所述匹配灰度图中设定窗口内的每一行像素点的灰阶数据平方和,并将所述基准灰度图和所述匹配灰度图中设定窗口的同行的所述平方和进行求积、开方的综合运算得到综合运算值;
将所述卷积值和所述综合运算值进行求商,商值作为所述基准灰度图和所述匹配灰度图中设定窗口内对应像素点的最大灰度互相关系数,;
比较所述基准灰度图和所述匹配灰度图的设定窗口内各像素点的最大灰度互相关系数,并以具有最大灰度互相关系数的两个像素点为一对立体匹配点。
11.根据权利要求10所述的立体视觉实现方法,其特征在于,确定立体匹配点的步骤中,包括:
在所述基准灰度图、所述匹配灰度图中分别选取设定窗口;
以所述基准灰度图的设定窗口为基准窗口,以所述匹配灰度图沿行方向偏移视差窗格范围逐列移动的设定窗口进行遍历,根据归一化互相关公式计算匹配窗口内像素点与基准窗口内像素点的最大灰度互相关系数;
选择所述基准灰度图和所述匹配灰度图中最大灰度互相关系数最大的像素点作为立体匹配点;
其中:设定窗口为n*m个像素组成的矩形窗口,偏移视差窗格为d,n为小于灰度图画面行像素数量的自然数,m为小于灰度图画面列像素数量的自然数,d为绝对值不大于m、n的整数。
12.根据权利要求11所述的立体视觉实现方法,其特征在于,m、n为大于1的奇数,且m=n,d为-(m-1)/2至(m-1)/2间的整数。
13.根据权利要求12所述的立体视觉实现方法,其特征在于,归一化互相关公式为:
其中:IL(x+i,y+j)为基准灰度图中像素点的灰阶数据,IR(x+i+d,y+j)为匹配灰度图中像素点的灰阶数据,x、y为设定窗口参考像素点的坐标,i、j为设定窗口内像素相对于参考像素点的横坐标和纵坐标,U为设定窗口,d为偏移视差窗格数,C(x,y,d)为匹配窗口内像素点与基准窗口内像素点的相关系数;
部分,通过基准灰度图设定窗口和匹配灰度图设定窗口的卷积运算得到;
部分,通过基准灰度图设定窗口和匹配灰度图设定窗口的平方积分运算获得。
14.根据权利要求9-13任一项所述的立体视觉实现方法,其特征在于,对两个灰度图分别进行缓存之前还包括:
在平行于主光轴的同一直线上获取同一物体的两个图像;
将接收到的两个图像分别各转换为一个灰度图。
15.一种显示装置,其特征在于,包括权利要求1-8任一项所述的立体视觉实现***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810772258.1A CN108932733A (zh) | 2018-07-13 | 2018-07-13 | 立体视觉实现方法和立体视觉实现***、显示装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810772258.1A CN108932733A (zh) | 2018-07-13 | 2018-07-13 | 立体视觉实现方法和立体视觉实现***、显示装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108932733A true CN108932733A (zh) | 2018-12-04 |
Family
ID=64447708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810772258.1A Pending CN108932733A (zh) | 2018-07-13 | 2018-07-13 | 立体视觉实现方法和立体视觉实现***、显示装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108932733A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113436057A (zh) * | 2021-08-27 | 2021-09-24 | 绍兴埃瓦科技有限公司 | 数据处理方法及双目立体匹配方法 |
CN117689732A (zh) * | 2024-01-31 | 2024-03-12 | 西南技术物理研究所 | 一种基于fpga的图像灰度直方统计和目标搜索方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101437171A (zh) * | 2008-12-19 | 2009-05-20 | 北京理工大学 | 一种具有视频处理速度的三目立体视觉装置 |
CN103220545A (zh) * | 2013-04-28 | 2013-07-24 | 上海大学 | 一种立体视频实时深度估计***硬件实现方法 |
-
2018
- 2018-07-13 CN CN201810772258.1A patent/CN108932733A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101437171A (zh) * | 2008-12-19 | 2009-05-20 | 北京理工大学 | 一种具有视频处理速度的三目立体视觉装置 |
CN103220545A (zh) * | 2013-04-28 | 2013-07-24 | 上海大学 | 一种立体视频实时深度估计***硬件实现方法 |
Non-Patent Citations (1)
Title |
---|
王心焕: "基于FPGA的实时立体视觉***研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113436057A (zh) * | 2021-08-27 | 2021-09-24 | 绍兴埃瓦科技有限公司 | 数据处理方法及双目立体匹配方法 |
CN117689732A (zh) * | 2024-01-31 | 2024-03-12 | 西南技术物理研究所 | 一种基于fpga的图像灰度直方统计和目标搜索方法及*** |
CN117689732B (zh) * | 2024-01-31 | 2024-04-23 | 西南技术物理研究所 | 一种基于fpga的图像灰度直方统计和目标搜索方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109035394B (zh) | 人脸三维模型重建方法、装置、设备、***及移动终端 | |
EP3794557A1 (en) | Point cloud mapping | |
CN102665086B (zh) | 利用基于区域的局部立体匹配获取视差的方法 | |
CN110148181A (zh) | 一种通用双目立体匹配方法 | |
CN108076338A (zh) | 图像视觉处理方法、装置及设备 | |
CN108805979A (zh) | 一种动态模型三维重建方法、装置、设备和存储介质 | |
WO2004114224A1 (ja) | 仮想視点画像生成方法及び3次元画像表示方法並びに装置 | |
CN115205489A (zh) | 一种大场景下的三维重建方法、***及装置 | |
CN109598754A (zh) | 一种基于深度卷积网络的双目深度估计方法 | |
RU2690757C1 (ru) | Система синтеза промежуточных видов светового поля и способ ее функционирования | |
US20100302234A1 (en) | Method of establishing dof data of 3d image and system thereof | |
CN109493373B (zh) | 一种基于双目立体视觉的立体匹配方法 | |
CN103561257B (zh) | 一种基于深度参考平面的无干扰的光编码深度提取方法 | |
US8687000B2 (en) | Image generating apparatus and computer program | |
CN112837419A (zh) | 点云模型构建方法、装置、设备及存储介质 | |
CN108932733A (zh) | 立体视觉实现方法和立体视觉实现***、显示装置 | |
CN116310131A (zh) | 一种考虑多视图融合策略的三维重建方法 | |
CN104243970A (zh) | 基于立体视觉注意力机制和结构相似度的3d绘制图像的客观质量评价方法 | |
CN107155100A (zh) | 一种基于图像的立体匹配方法及装置 | |
CN101523436A (zh) | 用于恢复视频流中的视差的方法和滤波器 | |
CN113436269A (zh) | 图像稠密立体匹配方法、装置和计算机设备 | |
Kuo et al. | Stereoview to multiview conversion architecture for auto-stereoscopic 3D displays | |
Akin et al. | Real-time free viewpoint synthesis using three-camera disparity estimation hardware | |
CN113592875B (zh) | 数据处理方法、图像处理方法、存储介质及计算设备 | |
CN109379577B (zh) | 一种虚拟视点的视频生成方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |