CN103778632A - 一种基于fpga的立体匹配方法 - Google Patents
一种基于fpga的立体匹配方法 Download PDFInfo
- Publication number
- CN103778632A CN103778632A CN201410023790.5A CN201410023790A CN103778632A CN 103778632 A CN103778632 A CN 103778632A CN 201410023790 A CN201410023790 A CN 201410023790A CN 103778632 A CN103778632 A CN 103778632A
- Authority
- CN
- China
- Prior art keywords
- image
- matching
- pixel
- value
- row
- 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
Images
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明提出一种基于FPGA的立体匹配方法。去除左右两幅原始图像的高斯白噪声后将左右两幅图像的匹配点矫正在同一行上,采用FPGA流水线结构,对图像矫正后行对齐的左右两幅图像先进行SAD列匹配,然后进行SAD行匹配,SAD匹配算法采用积分图方式,获得右图相对于左图的视差值和左图相对于右图的视差值,然后对两个视差进行左右一致性校验。本发明计算量小,避免了匹配在遮挡区域容易出现错误的问题。
Description
技术领域
本发明属于立体视觉技术领域,具体涉及一种基于FPGA的立体匹配方法。
背景技术
立体匹配是双目立体视觉中最重要也是最困难的一步,立体匹配的准确度和算法的复杂度直接影响三维场景重建的质量和工程运用中的可行性。为了实现立体像的重建,国内外提出了许多立体匹配算法,概况起来可以分为三大类:1)基于区域匹配法;2)基于特征匹配法;3)基于相位匹配法;第一类方法基于区域的匹配算法可得到稠密的视差图,同时基于区域的匹配算法又可分为两大类:一种是基于局部窗口的匹配方法,这种方法简单、计算量小,但不利于场景单调下的匹配效果;另一种是基于全局的匹配方法,该类方法匹配效果好,但计算量大,不适用于实时***。第二类方法基于特征的匹配算法,其是通过提取空间位置相对不变的景物特征(如角点,边缘等)进行匹配,该方法在图像的不连续、阴影与被遮挡处,都能达到较好的效果,且比区域匹配算法可靠,但缺点是该方法是基于特征点的匹配算法,只能得到稀疏的视差图,不利于稠密视差计算。第三类方法是基于相位的匹配方法,该方法是假定像对中对应点的局部相位是相等,根据傅里叶定理,将空间域上的平移信息转移到频域上的相位信息进行分析,该方法对高频噪声抑制效果好,但对于稠密视差的立体匹配而言并不适用,相位匹配法只能计算整体图像的位移量。目前,对于稠密视差图的区域匹配方法中比较经典的有SAD(Sum of Absolute differences)算法,SSD(Sum of Squared differences)算法,STAD(Sum of truncated absolute differences)算法,ASW(Adaptive Support-Weight)算法;如ASW算法是利用匹配像素点内的颜色和距离相似性来分配匹配点权重,该法能计算出比较好的视差值,但在计算机上实现计算速度慢,不能并行处理,不利于实时***的运用。
发明内容
本发明针对现有立体匹配算法计算量大、匹配在遮挡区域容易出现错误等问题,提出了一种基于FPGA的立体匹配方法。
本发明解决上述问题的技术方案为:一种基于FPGA的立体匹配方法,包括以下步骤:
步骤一、对左右摄像机获得的原始图像IL0(i,j)和IR0(i,j)进行滤波处理去除传感器所引入的高斯白噪声干扰,获得预处理后的左图像IL(i,j)和右图像IR(i,j);
步骤二、使用左图像IL(i,j)的相机变换矩阵HL和右图像IR(i,j)的相机变换矩阵HR分别对预处理后的左图像IL(i,j)和右图像IR(i,j)进行图像矫正,获得匹配点在同一行上的左右两幅图;
步骤三、同时以相同的方法分别以左图为基准计算右图相对于左图的视差值以及以右图为基准计算左图相对于右图的视差值,所述相同的方法为:
采用FPGA流水线结构,对图像矫正后行对齐的左右两幅图像先进行SAD列匹配,然后进行SAD行匹配,获取每个像素点在视差d∈[dmin,dmax]范围内的行列匹配值,最小的行列匹配值即为该像素点的视差值,所述SAD匹配算法采用积分图的方式;
步骤四、将步骤三获得的右图相对于左图的视差值和左图相对于右图的视差值代入公式(1)中进行左右一致性校验,若公式(1)成立则将该视差值作为最终的视差结果输出,若公式(1)不成立则,则用该像素点的视差邻域内的中值代替该像素点的视差值,
|e(i,j)-e'(i,j)|<Th (1)
式(1)中,e(i,j)为步骤三获得的右图相对于左图在像素点(i,j)坐标下的视差值,e'(i,j)为左图相对于右图在像素点(i,j)坐标下的视差值,Th为判定阈值。
本发明与现有技术相比,其显著优点在于,本发明对采集到的左右视频图像进行行矫正,对输入的视频流进行行列延迟,保证一帧的视差图只有几行的延迟,实现了帧与帧之间的实时性;在FPGA中采用积分图方式和流水线技术对图像进行SAD匹配,减少了大量的重复匹配点,有利于提高了***的计算速度,减少FPGA内部使用的逻辑;通过对匹配的图像进行左右一致性校验,滤除了大部分遮挡区域的错误匹配点,提升了视差不连续区域的边缘质量。
附图说明
图1是本发明方法流程图。
图2是本发明方法中FPGA处理的整体流程图。
图3是本发明方法对左右两幅图像进行SAD列匹配的流程图。
图4是本发明方法对左右两幅图像进行SAD行匹配的流程图。
图5是本发明方法左右两幅图像视差的计算过程示意图。
图6是采用国际标准的“tsukuba”图对本发明方法进行测试时的实验图,其中,图6(a)为“tsukuba”左图,图6(b)为“tsukuba”右图,图6(c)为使用本发明方法处理图6(a)和图6(b)后获得的视差图,图6(d)为用于与图6(c)进行效果比较的标准视差图。
具体实施方式
如图1所示,对左右摄像机获得的大小为M0×N0的左右两幅原始图像IL0(i,j)和IR0(i,j),使用本发明方法进行立体匹配获取视差图的步骤如下:
步骤一:对原始图像IL0(i,j)和IR0(i,j)进行滤波处理去除传感器所引入的高斯白噪声干扰,获得预处理后的左图像IL(i,j)和右图像IR(i,j);
本发明选用高斯函数来对图像进行滤波,从而有效的消除传感器所引入的高斯白噪声。高斯函数的滤波模板采用(2k+1)×(2k+1)维(其中k=1,2,3,...)的离散高斯卷积核,计算方式如公式(1)所示:
式(1)中,(i,j)为图像像素点的坐标值,(u,v)为离散高斯点坐标,G(u,v)为离散高斯核函数在(u,v)处的归一化值,σ为高斯函数尺度值。
步骤二:使用左图像IL(i,j)的相机变换矩阵HL和右图像IR(i,j)的相机变换矩阵HR分别对预处理后的左图像IL(i,j)和右图像IR(i,j)进行图像矫正,获得匹配点在同一行上的左右两幅图。
根据射影几何原理,左右摄像机拍摄的两幅图像满足极线约束,但极线并不是在同一行上。此时,如果直接使用匹配算法对左右两幅图像进行匹配,计算量会比较大。为了减少匹配算法的算法量,同时便于计算机处理,可以对左右两幅图像进行矫正,使左右两幅图像行对齐,这样在匹配过程中只需要在相应行上去搜索匹配点,可以减少算法量。图像矫正的计算方法如公式(2)所示:
式(2)中,(xL,yL)为左图像的行、列坐标值,(xR,yR)为右图像的行、列坐标值,XL0为原始左图的坐标向量,XL为变换后左图的坐标向量,XR0为原始右图的坐标向量,XR为变换后右图的坐标向量,T为转置运算符。
步骤三:以相同的方法同时分别以左图为基准计算右图相对于左图的视差值以及以右图为基准计算左图相对于右图的视差值。具体方法为:
采用FPGA流水线结构,对图像矫正后行对齐的左右两幅图像进行SAD立体匹配,获取每个像素点在视差d∈[dmin,dmax]范围内的行列匹配值,最小的行列匹配值即为该像素点的视差值,其中,SAD匹配算法采用积分图的方式。如图2所示,以左图为基准为例,本步骤SAD立体匹配过程为:
先进行SAD列匹配,如图3所示,左右匹配的像素点作差,将每个像素点的差值依次通过n个寄存器延迟后对n个寄存器内的差值ΔI(i,j)进行积分求和并存储该积分和,该积分和即为每个像素点对应的列匹配值。这样,当像素点的差值个数大于n时,循环从第一个寄存器进行存储,依次到n后再循环,每次求和的结果为n个寄存器内的像素点差值的积分和,n个寄存器内的像素点差值之和即为该像素点的列匹配值,即该积分和即为第n个寄存器内差值对应的像素点的列匹配值。
然后同样运用积分图的方式,对列匹配后的每个像素点再进行SAD行匹配,如图4所示,采用具有m行空间大小的先进先出缓存器FIFO对每个像素点的列匹配值进行行延迟,当延迟行数大于m行后,用第m+1行的列匹配值替换第1行存储的列匹配值,并依次对延迟后的m行列匹配值进行求和,所求之和即为每个像素点的行列匹配值。
上述行列匹配值的完整求取过程可以用图5表示。采用前述方法,可以提高立体匹配的运算速度,保证视差求取过程中的实时性。
进一步,所述采用积分图的SAD立体匹配的计算方式如公式(3)所示:
式(3)中,d∈[dmin,dmax]。
步骤四:将步骤三获得的右图相对于左图的视差值和左图相对于右图的视差值代入公式(4)中进行左右一致性校验,若公式(4)成立则将该视差值作为最终的视差结果输出,若公式(4)不成立则,则用该像素点的视差邻域内的中值代替该像素点的视差值,
|e(i,j)-e'(i,j)|<Th (4)
式(4)中,e(i,j)为步骤3中右图相对于左图在点(i,j)坐标下的视差值,e'(i,j)为左图相对于右图在点(i,j)坐标下的视差值,Th为判定阈值。
左右一致性校验过程采用FPGA并行处理的方式,即通过步骤三同时计算右图相对于左图的视差值和左图相对于右图的视差值然后通过步骤四一致性校验,这样既能保证***的实时性,又可以极大地滤除大部分遮挡区域的错误匹配,同时提升视差不连续区域的边缘质量。
本发明的有益效果可以根据以下实验进一步说明:
采用国际标准的“tsukuba”图进行本发明方法测试。如图6所示,是采用国际标准的“tsukuba”图对本发明方法进行测试时的实验图,其中,图6(a)为“tsukuba”左图,图6(b)为“tsukuba”右图,图6(c)为使用本发明方法处理图6(a)和图6(b)后获得的实验视差图,图6(d)为用于与图6(c)进行效果比较的标准视差图。将图6(c)的效果与图6(d)进行比较,可以看出本发明方法能比较好的在FPGA上运用SAD匹配算法实时计算视差图。
Claims (5)
1.一种基于FPGA的立体匹配方法,其特征在于,包括以下步骤:
步骤一、对左右摄像机获得的原始图像IL0(i,j)和IR0(i,j)进行滤波处理去除传感器所引入的高斯白噪声干扰,获得预处理后的左图像IL(i,j)和右图像IR(i,j);
步骤二、使用左图像IL(i,j)的相机变换矩阵HL和右图像IR(i,j)的相机变换矩阵HR分别对预处理后的左图像IL(i,j)和右图像IR(i,j)进行图像矫正,获得匹配点在同一行上的左右两幅图;
步骤三、同时以相同的方法分别以左图为基准计算右图相对于左图的视差值以及以右图为基准计算左图相对于右图的视差值,所述相同的方法为:
采用FPGA流水线结构,对图像矫正后行对齐的左右两幅图像先进行SAD列匹配,然后进行SAD行匹配,获取每个像素点在视差d∈[dmin,dmax]范围内的行列匹配值,最小的行列匹配值即为该像素点的视差值,所述SAD匹配算法采用积分图的方式;
步骤四、将步骤三获得的右图相对于左图的视差值和左图相对于右图的视差值代入公式(1)中进行左右一致性校验,若公式(1)成立则将该视差值作为最终的视差结果输出,若公式(1)不成立则,则用该像素点的视差邻域内的中值代替该像素点的视差值,
|e(i,j)-e'(i,j)|<Th (1)
式(1)中,e(i,j)为步骤三获得的右图相对于左图在像素点(i,j)坐标下的视差值,e'(i,j)为左图相对于右图在像素点(i,j)坐标下的视差值,Th为判定阈值。
2.如权利要求1所述的基于FPGA的立体匹配方法,其特征在于,步骤一中采用高斯函数来对图像进行滤波,高斯函数的滤波模板采用(2k+1)×(2k+1)维的离散高斯卷积核,其中k=1,2,3,...,计算方式如公式(1)所示:
式(2)中,(i,j)为图像像素点的坐标值,(u,v)为离散高斯点坐标,G(u,v)为离散高斯核函数在(u,v)处的归一化值,σ为高斯函数尺度值。
3.如权利要求1所述的基于FPGA的立体匹配方法,其特征在于,步骤二中图像矫正的计算方法如公式(3)所示:
式(3)中,(xL,yL)为左图像的行、列坐标值,(xR,yR)为右图像的行、列坐标值,XL0为原始左图的坐标向量,XL为变换后左图的坐标向量,XR0为原始右图的坐标向量,XR为变换后右图的坐标向量,T为转置运算符。
4.如权利要求1所述的基于FPGA的立体匹配方法,其特征在于,步骤三中,
所述SAD列匹配过程为:左右匹配的像素点作差,将每个像素点的差值依次通过n个寄存器延迟后对n个寄存器内的差值ΔI(i,j)进行积分求和并存储该积分和;当像素点的差值ΔI(i,j)个数大于n时,循环从第一个寄存器进行存储,依次到n后再循环;每次积分求和的结果均为n个寄存器内差值ΔI(i,j)的积分和,该积分和即为第n个寄存器内差值对应的像素点的列匹配值;
所述SAD行匹配过程为:采用具有m行空间大小的先进先出缓存器FIFO对每个像素点的列匹配值进行行延迟,当延迟行数大于m行后,用第m+1行的列匹配值替换第1行存储的列匹配值,并依次对延迟后的m行列匹配值进行积分求和,所求积分和即为每个像素点的行列匹配值。
5.如权利要求1或4所述的基于FPGA的立体匹配方法,其特征在于,步骤三中所述的SAD立体匹配的计算方式如公式(4)所示:
式(4)中,d∈[dmin,dmax]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410023790.5A CN103778632A (zh) | 2014-01-18 | 2014-01-18 | 一种基于fpga的立体匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410023790.5A CN103778632A (zh) | 2014-01-18 | 2014-01-18 | 一种基于fpga的立体匹配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103778632A true CN103778632A (zh) | 2014-05-07 |
Family
ID=50570829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410023790.5A Pending CN103778632A (zh) | 2014-01-18 | 2014-01-18 | 一种基于fpga的立体匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103778632A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065954A (zh) * | 2014-07-03 | 2014-09-24 | 中国传媒大学 | 一种高清立体视频的视差范围快速检测方法 |
CN104616304A (zh) * | 2015-02-11 | 2015-05-13 | 南京理工大学 | 一种基于fpga的自适应支撑权重的立体匹配方法 |
CN105405131A (zh) * | 2015-10-29 | 2016-03-16 | 中国科学技术大学 | 一种资源共享的立体匹配方法 |
CN106525004A (zh) * | 2016-11-09 | 2017-03-22 | 人加智能机器人技术(北京)有限公司 | 双目立体视觉***及深度测量方法 |
CN106780711A (zh) * | 2015-11-18 | 2017-05-31 | 深圳先进技术研究院 | 一种用于芯片集成的立体匹配方法和装置 |
CN110033426A (zh) * | 2018-01-12 | 2019-07-19 | 杭州海康威视数字技术股份有限公司 | 一种用于对视差估计图像进行处理的装置 |
CN110191330A (zh) * | 2019-06-13 | 2019-08-30 | 内蒙古大学 | 基于双目视觉绿色作物视频流的深度图fpga实现方法与*** |
CN110223257A (zh) * | 2019-06-11 | 2019-09-10 | 北京迈格威科技有限公司 | 获取视差图的方法、装置、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050008220A1 (en) * | 2003-01-31 | 2005-01-13 | Shinichi Miyazaki | Method, apparatus, and program for processing stereo image |
CN102902355A (zh) * | 2012-08-31 | 2013-01-30 | 中国科学院自动化研究所 | 移动设备的空间交互方法 |
-
2014
- 2014-01-18 CN CN201410023790.5A patent/CN103778632A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050008220A1 (en) * | 2003-01-31 | 2005-01-13 | Shinichi Miyazaki | Method, apparatus, and program for processing stereo image |
CN102902355A (zh) * | 2012-08-31 | 2013-01-30 | 中国科学院自动化研究所 | 移动设备的空间交互方法 |
Non-Patent Citations (3)
Title |
---|
岳陈平: "基于SAD算法的立体匹配硬件实现的研究", 《中国学位论文全文数据库》 * |
徐彦泓: "基于FPGA的实时立体匹配***的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
贾桂福: "卷积在数字图像处理中的应用", 《数字技术与应用》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065954A (zh) * | 2014-07-03 | 2014-09-24 | 中国传媒大学 | 一种高清立体视频的视差范围快速检测方法 |
CN104065954B (zh) * | 2014-07-03 | 2016-05-18 | 中国传媒大学 | 一种高清立体视频的视差范围快速检测方法 |
CN104616304A (zh) * | 2015-02-11 | 2015-05-13 | 南京理工大学 | 一种基于fpga的自适应支撑权重的立体匹配方法 |
CN105405131A (zh) * | 2015-10-29 | 2016-03-16 | 中国科学技术大学 | 一种资源共享的立体匹配方法 |
CN105405131B (zh) * | 2015-10-29 | 2019-06-07 | 中国科学技术大学 | 一种资源共享的立体匹配方法 |
CN106780711A (zh) * | 2015-11-18 | 2017-05-31 | 深圳先进技术研究院 | 一种用于芯片集成的立体匹配方法和装置 |
CN106780711B (zh) * | 2015-11-18 | 2020-05-26 | 深圳先进技术研究院 | 一种立体匹配方法和装置 |
CN106525004A (zh) * | 2016-11-09 | 2017-03-22 | 人加智能机器人技术(北京)有限公司 | 双目立体视觉***及深度测量方法 |
CN110033426A (zh) * | 2018-01-12 | 2019-07-19 | 杭州海康威视数字技术股份有限公司 | 一种用于对视差估计图像进行处理的装置 |
CN110033426B (zh) * | 2018-01-12 | 2021-07-09 | 杭州海康威视数字技术股份有限公司 | 一种用于对视差估计图像进行处理的装置 |
CN110223257A (zh) * | 2019-06-11 | 2019-09-10 | 北京迈格威科技有限公司 | 获取视差图的方法、装置、计算机设备和存储介质 |
CN110191330A (zh) * | 2019-06-13 | 2019-08-30 | 内蒙古大学 | 基于双目视觉绿色作物视频流的深度图fpga实现方法与*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103778632A (zh) | 一种基于fpga的立体匹配方法 | |
Wu et al. | Virtual sparse convolution for multimodal 3d object detection | |
US10762645B2 (en) | Stereo visual odometry method based on image gradient joint optimization | |
CN102831582B (zh) | 一种微软体感装置深度图像增强方法 | |
CN101968881B (zh) | 一种运动模糊和散焦复合模糊的图像复原方法 | |
CN105761233A (zh) | 一种基于fpga的实时全景图像拼接方法 | |
CN104036480A (zh) | 基于surf算法的快速消除误匹配点方法 | |
CN104268880A (zh) | 基于特征和区域匹配相结合的深度信息获取方法 | |
CN105023013A (zh) | 基于局部标准差和Radon变换的目标检测方法 | |
CN105469110A (zh) | 基于局部线性迁移的非刚性变换图像特征匹配方法及*** | |
CN105259410A (zh) | 一种强噪声干扰下的欠采样波形的频率估计方法及其装置 | |
CN103473749B (zh) | 一种基于全变分图像融合的方法及装置 | |
Qin et al. | π-ba: Bundle adjustment acceleration on embedded fpgas with co-observation optimization | |
CN103345765A (zh) | 基于dsp+fpga的移动平台下运动目标检测装置及其方法 | |
Pradeep et al. | VLSI implemetation of euler number computation and stereo vision concept for cordic based image registration | |
CN103295222A (zh) | 红外图像配准实现方法及其装置 | |
CN105488754A (zh) | 基于局部线性迁移和仿射变换的图像特征匹配方法及*** | |
CN104616304A (zh) | 一种基于fpga的自适应支撑权重的立体匹配方法 | |
CN103325140A (zh) | 一种三维重建方法及*** | |
KR101713986B1 (ko) | 이동체 검출을 위한 광학흐름 추정 장치 및 방법 | |
Chang et al. | The Weyl problem with nonnegative Gauss curvature in hyperbolic space | |
EP4148658A1 (en) | Method and system for super-resolution reconstruction of heterogeneous stereoscopic images | |
Ou et al. | A scene segmentation algorithm combining the body and the edge of the object | |
CN103530872B (zh) | 一种基于角度约束的误匹配删除方法 | |
Zhang et al. | N2mvsnet: Non-local neighbors aware multi-view stereo network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140507 |