# 双目立体匹配 等 算法 论文
双目立体视觉技术实质就是模拟人的双眼视觉处理系统来处理通过摄像机采集所
获取的图像,它利用两台或多台摄像机在一定约束条件下采集同一场景的图像,对采集
到的图像进行信息提取和整合,最终恢复图像中场景的三维信息。
基于双目视觉的立体匹配算法研究涉及模式识别、人工智能、机器视觉、计算机图
形学等领域的许多相关复杂的研究课题。随着许多著名专家学者对此问题不断深入地研
究,立体匹配算法的精度越来越高,实时性越来越好。
[kitti双目算法评测](http://www.cvlibs.net/datasets/kitti/eval_scene_flow.php?benchmark=stereo)
[Middlebury Stereo Evaluation - Version 2 算法评测](http://vision.middlebury.edu/stereo/eval/)
[立体匹配的研究背景以及意义](https://blog.csdn.net/wangyaninglm/article/details/51533549)
[立体匹配导论](https://blog.csdn.net/wangyaninglm/article/details/51531333)
[三维重建技术概述 pcl 点云配准](https://blog.csdn.net/wangyaninglm/article/details/51558656)
[三维重建基础 背景意义 双目立体视觉 tof 结构光 ](https://blog.csdn.net/wangyaninglm/article/details/51558310)
机器人视觉技术中所涉及的立体匹配通常是指应用于机器人立体视觉系统
中的一项关键技术,是指采用行之有效的方法来分析从不同的视角条件下获取
的目标物体的左右图像(图像对)之间的一致性或相似性,并识别出左右图像
(图像对)间的对应点或同名点; 立体匹配技术都是指应用于机
器人双目立体视觉系统中的。
当三维空间场景中的标定物被投影为二维图像时,二维图像信息丢失了标定物的深度信息 z,
立体匹配就是要恢复物体的深度信息 z,它是模拟人的双眼感知外部事物的过程。
具体来讲,立体匹配是对所选图像对中的图像特征点的计算,来建立不同图像特
征空间点中的像素对应关系。换句话说,就是将世界坐标系中的空间特征点与图像坐标
系中相对应的图像特征点进行一一映射,经过匹配算法等处理计算出空间特征点的三维
坐标,最终获得其对应的视差图。在视差图中,所得的是图像某一点以像素为单位的视
差值,它一般是一个整数估计值,由是差值就可得到场景的深度信息。
根据采用最优化理论方式的不同,立体匹配算法又分为基于局部的立体匹配算法和基于全局的立体匹配算法。
基于局部的立体匹配算法的核心在于匹配代价的计算和代价聚合阶段。
基于全局的立体匹配算法在视差计算阶段处理算法中的大部分计算问题,最终得到的视差图精准度更高,
基本上满足人们在实际生产应用中对匹配精度的要求
# 全局
基于全局的立体匹配算法使用全局约束来解决由于遮挡或重复纹理造成的像素误
匹配问题,是基于优化理论方法估计视差值。全局匹配问题通常被描述为能量最小化问
题,在其建立的能量函数中,除了数据项之外,还有平滑项。数据项主要是测量像素之
间的相似性问题,而平滑项是平滑像素之间的视差关系,保证相邻像素之间视差的平滑
性.基于全局的立体匹配算法需要构造一个能量函数,其形式一般为:
E = Edata + Esmooth
其中数据项 Edata 描述了匹配程度,平滑项 Esmooth体现了场景中的各种约束。
![](http://5b0988e595225.cdn.sohucs.com/images/20171108/68b743e24def436ea0c4f9a30953aaf8.jpeg)
## 基于动态规划的立体匹配算法
全局立体匹配算法中动态规划算法是使用比较多的一种经典算法,
传统的动态规划立体匹配算法基于极线约束,
在每条极线上面运用动态规划方法来寻找最佳匹配点,
并通过动态寻优的方法来寻求全局能量最小化,得到视差匹配图。
但由于只是扫描了水平极线上像素点,导致视差图的条纹现象十分明显。
KunpengLi通过先提取图像中的特征点,然后将特征点用最近邻搜索算法进行匹配的
方法,以缓解传统的动态规划算法引起的横条纹效应;为了更加高效的利用动态规划立体匹配
算法,CarlosLeung提出了一种快速最小化方案,通过使用迭代动态规划算法来进行立体匹
配,该算法对行和列进行迭代以达到实现快速立体匹配的目的;TingboHu考虑到动态规划
匹配算法对图像边缘不能有效匹配的问题,将单一的极线搜索改进成单向四连接树的匹配算
法,并针对SDFC树设计了快速动态规划优化方法,这样可以在有效的提高匹配精度的同时,
将计算复杂度降低到传统动态规划算法的1/12。
## 基于图割法的立体匹配算法
图割法是一种能量优化算法,通过一个无向图来表示要分割的图像,并利用Ford和Fulk-
erson的最大流-最小割理论求出最小割,也就是最优的图像分割集合,
通过该方法可以很好的解决动态规划引起的条纹现象,但是缺点是时间复杂度比较大。
颜轲先将图像进行分割并建立立体匹配的马尔科夫有随机场模型,然后通过约束条件
保留分割的信息,提高了匹配的精度;Lempitsky通过将图像进行最优分割,然后对分割后
的图像进行分别计算,最后将结果进行结合,确保准确率不会下降的情况下,大大提高图割法的运行速度.
## 基于置信度传播的立体匹配算法
置信度传播的立体匹配算法由马尔科夫随机场模型组成。其将像素点作为网络传输的节点,
每个节点包含数据信息和消息信息两种,分别保存像素的视差值和每个节点的信息值。
置信度传播算法通过像素在四邻域网格上进行,在匹配的时候设定编号的模型,
通过对编号相同的点进行搜索。它的消息值是自适应的,在低纹理区域能够将消息传播到很远。
虽然匹配的精度提高了,但由于单个像素点容易产生误匹配,并且进行的是全局图像像素的搜索,
算法时 间复杂度非常大。因此如何快速有效的运用该算法也成为了研究的热点。
# 局部
基于局部的立体匹配算法采用局部优化的理论方法进行像素视差估计,研究的重点
在于匹配代价的计算和匹配代价的累积上。它是在最大视差的范围内找出匹配代价最小
的像素点作为目标匹配像素,利用局部信息求出匹配代价最小的像素点从而计算出视
差。与全局立体匹配算法相同,这类算法是通过寻找能量最小化方法进行像素视差估计,
但是,在能量函数中只有数据项没有平滑项。实时立体视觉系统多采用匹配速度较快的
局部匹配算法来处理获得的图像。
基于局部的立体匹配算法主要有 SSD、SAD 等算法,大致可以分为三类:自适应
窗体立体匹配算法、自适应权值立体匹配算法和多窗体立体匹配算法。
这些算法都是从邻域像素中选择最佳的支持区域和支持像素,即尽可能选择与要计算像素具有相同真实
视差的像素点作为其支持像素,利用支持像素作为邻域约束条件,从而得到比较好的局
部视差估计。自适应窗体是窗体在自适应进行变化,包含大小和形状,针对不同的变化
规则�
没有合适的资源?快使用搜索试试~ 我知道了~
# 双目匹配 ## 手工设计的特征 匹配代价 1. 像素差的绝对值(SAD, Sum of Absolute D
共148个文件
cpp:38个
md:29个
h:20个
0 下载量 164 浏览量
2023-07-21
22:09:29
上传
评论
收藏 16.01MB ZIP 举报
温馨提示
# 双目匹配 ## 手工设计的特征 匹配代价 1. 像素差的绝对值(SAD, Sum of Absolute Differences) 2. 像素差的平方和(SSD, Sum of Squared Differences) 3. 图像的相关性(NCC, Normalized Cross Correlation) 4. Census 局部空间结构 汉明距离 匹配代价 5. AD + Census 6. SD + Census 7. ...
资源推荐
资源详情
资源评论
收起资源包目录
# 双目匹配
## 手工设计的特征 匹配代价
1. 像素差的绝对值(SAD, Sum of Absolute D (148个子文件)
my_rgbd_depth_adjusted.cc 20KB
my_rgbd.cc 15KB
config.cfg 2KB
ImagePublisher.cfg 719B
FindConfig++.cmake 1KB
triangle.cpp 366KB
elas.cpp 51KB
stereo_match_point_cloud.cpp 40KB
StereoMatch.cpp 31KB
stereo_match_bm_sgbm_adcense.cpp 27KB
calibration.cpp 24KB
matrix.cpp 22KB
stereoprocessor.cpp 20KB
filter.cpp 20KB
stereo_calib.cpp 19KB
show_ponit3d_xyzrgb_registrated.cpp 18KB
disparityrefinement.cpp 17KB
show_ponit3d_registrated.cpp 14KB
main.cpp 13KB
show_ponit3d_rgb_not_reg.cpp 12KB
main_0n_Line.cpp 12KB
SimpleView_Registration.cpp 12KB
stereo_match.cpp 11KB
main.cpp 9KB
scanlineoptimization.cpp 9KB
stereo_match_on_line.cpp 9KB
image_publisher_nodelet.cpp 8KB
aggregation.cpp 6KB
imageprocessor.cpp 5KB
imageprocessor.cpp 5KB
RGBPointCloudViewer.cpp 4KB
PointCloudViewer.cpp 4KB
PointCloudViewer.cpp 4KB
show_ponit3d_xyzrgb_registrated_class.cpp 4KB
adcensuscv.cpp 4KB
descriptor.cpp 3KB
stereo_match_my_class.cpp 3KB
MatViewer.cpp 2KB
MatViewer.cpp 2KB
stereo_cap.cpp 2KB
imagelist_creator.cpp 2KB
main_Live.cpp 1KB
main.cpp 779B
main.cpp_back 6KB
TY_API.h 52KB
TY_API.h 52KB
elas.h 12KB
StereoMatch.h 9KB
matrix.h 4KB
filter.h 3KB
image.h 3KB
disparityrefinement.h 3KB
stereoprocessor.h 2KB
triangle.h 2KB
timer.h 2KB
adcensuscv.h 2KB
TYImageProc.h 1KB
TYImageProc.h 1KB
scanlineoptimization.h 1KB
descriptor.h 1KB
aggregation.h 1KB
imageprocessor.h 863B
imageprocessor.h 768B
common.h 414B
DepthRender.hpp 9KB
DepthRender.hpp 9KB
Utils.hpp 4KB
Utils.hpp 4KB
common.hpp 3KB
common.hpp 2KB
MatViewer.hpp 2KB
MatViewer.hpp 2KB
PointCloudViewer.hpp 606B
PointCloudViewer.hpp 606B
RGBPointCloudViewer.hpp 531B
right01.jpg 106KB
right02.jpg 104KB
right01.jpg 102KB
left01.jpg 102KB
left02.jpg 99KB
left01.jpg 94KB
left06.jpg 28KB
right06.jpg 27KB
analytics_ncnn.launch 2KB
readme.md 72KB
readme.md 26KB
双目立体匹配.md 23KB
readme.md 15KB
readme.md 12KB
readme.md 8KB
双目概述.md 2KB
readme.md 468B
readme.md 218B
readme.md 177B
readme.md 135B
readme.md 53B
readme.md 42B
readme.md 38B
readme.md 35B
readme.md 34B
共 148 条
- 1
- 2
资源评论
智达教育
- 粉丝: 2w+
- 资源: 279
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功