用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
物联网
›
物联网
›
立体匹配的题目及基本办理思绪与流程
立体匹配的题目及基本办理思绪与流程
钜形不锈钢水箱
论坛元老
|
2025-3-16 19:10:03
|
显示全部楼层
|
阅读模式
楼主
主题
1944
|
帖子
1944
|
积分
5832
参考
一文详解三维重建中的立体匹配
1.立体匹配的困难之处
2.基本办理思绪
2.1 图像预处理 Preprocess
假如是由于两幅图像的亮度、噪声不一致,一般会先对图像做预处理,使得两幅图像的整体质量区域一致。
经典方法有:
对图像做滤波操纵去除图像中的噪声,好比高斯拉普拉斯滤波和双边滤波等
对图像亮度做归一化操纵,好比减去范畴的均值
对图像做特征变换,提取图像中稳定的特征供后续处理,如Census变换
2.2 代价计算 Cost Computation
若计算同名点匹配代价时采用的是单个像素点的绝对值的差异,很容易受到噪声的干扰。
规避方法有二:
换用更鲁棒的单像素的代价函数
采用邻域支持窗来计算整体代价
下面细说。
1.换用更鲁棒的单像素的代价函数
如像素差异绝对值 Absolute Differences,平方差 Squared Differences,截断绝对差 Truncated Absolute Differences (TAD),
2.采用邻域支持窗来计算整体代价
仅仅考虑单个像素,照旧很难得到好的效果。
更好的方式是通过计算所关注的像素点的邻域的整体情况,来提升信噪比,减少噪声的影响。我们把这个邻域范围称为“支持窗(Support Window)”,通过支持窗内全部像素来计算一个匹配代价值。
这种策略就是把单个像素的计算转换为一个支持窗内的整体计算了。
如:像素绝对差值和 Sum of Absolute differences (SAD),像素差值平方和Sum of Squared differences (SSD),截断绝对差值和 Sum of truncated absolute differences (STAD)。
除了这些简单的代价函数,还有更多方法,好比使用两个图像的相互关信息的,使用图像梯度域信息的,或是使用一些非参数方法的,等等。
总之,我们可以为R中的每个像素点和选定的T中的像素点计算一个代价,并且这个代价还具有很高的区分度。
是在一个范围[dmin, dmax]中搜索匹配点,因此对任何一个R中的像素点,可以算出dmax - dmin + 1种代价值。假如图像的宽高分别为W和H,那么我们总共会得到W x H x (dmax - dmin + 1)种代价值。全部这些代价值可以存储到一个立方体中,这就是所谓的代价立方体。
2.3 代价聚合(Cost Aggregation)和视差优化(Disparity Optimization)
通过支持窗计算代价已经对图像的噪声、光照不一致等等提升了肯定的鲁棒性,但依然有许多题目遗留下来。
比起最基础的方案,视差图好像平滑了许多,没有了大片的噪声。但是许多局部是错误的。
固定支持窗,英文是Fixed Window,简称FW。上述效果不够理想,是由于FW策略违反了一些基础假设。
FW假设支持窗是正对相机的平面,支持窗内的全部点的视差是一致的,这显然和现实情况不一样。
支持窗忽略了窗口内深度不连续,乃至有突变的情况,而强行把窗口内的视差值加权平均到一起。这就会导致产生的视差图内出现大量的物体边沿错误。
就地景中有大面积的重复纹理、无纹理的部门时,小尺寸的支持窗无法办理同名点计算错误的题目,这种情况下可能出现许多候选像素点的代价值都一样,难以区分的情况。
尽管固定支持窗有这样那样的缺点,但它明白和实现都很容易,且非常便于并行化,在现代处理器上也比较容易做到实时运行,非常容易采用FPGA这样的硬件举行实现,性价比很足!所以许多传统算法的代价计算这一步都是采用固定大小支持窗来完成的。而要继续提升最终算法的效果,还得靠后续的步骤。
主要有两大类思绪,也就是局部聚合思绪,和全局优化思绪。
2.3.1. 代价聚合(Cost Aggregation)
局部聚合思绪通过对代价立方体中同一视差的代价举行某种程度的聚合,来减少或消除错误代价的影响,这一步就是所谓的代价聚合(Cost Aggregation)。
同一个视差的窗口我们会扩大并将代价立方体中相应的代价聚合在一起。
一般来说是通过调整支持窗的位置、外形、窗内各像素的权重等等来完成聚合的。
2.3.2 视差优化(Disparity Optimization)
全局优化思绪,则是希望寻找到每个像素的最优视差效果,使得全局的、整体的匹配代价最小,这一步被称为视差优化(Disparity Optimization)。
这个过程就变成了一个最优化某个能量函数的过程,该函数通常写成如下的形式:
等号右边第1项是数据项,用于束缚全局代价最小化。
但是代价立方体中通常含有噪声和错误,直接最小化求得的效果也会有许多题目,所以还需要第2项平滑项。这一项一般用于给出某些额外的束缚条件,好比通常假设整个图像的视差是平滑厘革的。这样视差的大厘革只会在场景内视差边沿处产生,一般也和图像内物体边沿高度相干。
如:图割法、置信度传播法、动态规划法等
2.4 视差后处理(Disparity Refinement)
前面先容的步骤最终将输出一张视差图,然而正如你已经看到的,即便是在上面那些受束缚的场景,得到的视差图依然不是完善的,照旧有许多错误。
因此,还需要一个后处理的步骤,来消除此中的错误,得到更正确的视差图。
需要办理的题目有:
亚像素插值:我们上面计算的视差值都是离散的整数值,但现实场景物体存在连续厘革的视差,我们希望得到以浮点数表现的更精致的视差值。一般来说,会采用某种二次的抛物线插值法,得到连续的视差值,计算量也比较低,效果也不错。
噪声和错误消除:偶然候会简单采用图像滤波的技术来处理视差图,也能得到不错的效果。从简单的中值滤波,到复杂的双边滤波都有人尝试。别的一个重要的本领是双向匹配,这种方法分别以双目图像中左图和右图作为参考图像R计算两个视差图(缺点:增加了计算量)。然后它以为一对匹配点的视差值是互反的,也就是说一对准确匹配点的视差值会非常接近。假如不满足这个条件那么对应的视差值应该就是错误的。
3. 如何确定视差范围
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
钜形不锈钢水箱
论坛元老
这个人很懒什么都没写!
楼主热帖
Linux——环境基础开发工具的使用 ...
详细介绍如何在ubuntu20.04中安装ROS系 ...
Android Studio第12课关于databinding ...
架构师说低代码:走出半生,归来仍是“ ...
HCIA学习笔记四:华为设备登录信息 ...
Android Studio实现音乐播放器2.0 ...
【小程序专栏】多种开发方式对比-跨端 ...
SAP FICO+MM测试环境
Jenkins发布uniapp开发的H5遇到的问题 ...
在Web前端基于CAD图实现等值线在线分析 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
程序人生
快速回复
返回顶部
返回列表