双目相机:基于双目视觉的目标测距

article/2025/10/9 16:18:35

双目视觉的目标测距主要任务为利用双目相机完成对场景中物体或障碍物距离的计算,提供场景深度信息。

双目视觉的目标测距流程主要包括以下几个步骤:图像的获取、图像的矫正、立体匹配和距离计算。其中立体匹配是双目视觉中最重要和最困难的环节,不同的立体匹配算法有着不同的匹配策略,其匹配的精度和速度也会有很大差异。

 

目录

立体标定和立体校正

图像的立体匹配原理 

立体匹配算法 

局部匹配算法

半全局匹配算法

实现


立体标定和立体校正

在利用双目图像进行计算视差图和距离的时候,首先要做的步骤就是双目的立体标定和立体校正,它是双目视觉的基础。立体标定的原因是物体在三维空间中的位置与其在二维图像上的位置之间的关系由摄像机的内外参数决定,立体标定的目的是确定二维摄像机图像和三维真实场景之间的映射,基本原理是根据已知的世界坐标系中的点和图像坐标系中的点计算出摄像机模型的内参和外参。双目摄像机标定的内参有相机的内参数矩阵 K 和畸变系数矩阵 D,内部参数主要由相机的类型和制作工艺决定的,其标定可通过单目标定的方法得到。标定的外参有旋转矩阵 R、平移矩阵 T、本征矩阵 E 和基础矩阵 F,外部参数可以描述两个摄像机坐标系的相对关系,可通过双目标定的方法得到。

双目立体视觉在进行距离计算的时候,要在左右相机的图像中精确的匹配到同一像素点,从而计算出视差,再根据视差与距离的关系估计像素点的距离。然而上述的过程是在双目理想状态下建立的,即双目的成像平面处于同一平面,大多数情况下仅仅依靠双目位置的摆放很难达到这个目的,所以就不得不先对双目相机的图像进行立体校正。立体校正是把双目相机获取的没有共面平行的两幅图像校正为共面平行,即将双目相机的成像平面校准到同一平面。已校正的双目系统和未校正的双目系统如下图所示。立体校正之后,由于双目图像成像处于同一平面,立体匹配搜索算法由二维变为一维,这降低了搜索复杂度并提高了立体匹配的搜索效率。 

 

图像的立体匹配原理 

立体匹配是确定左图像和右图像上的场景点的对应,并且获取具有深度信息的视差图的过程。立体匹配算法可以分为三种类型:局部匹配、全局匹配和半全局匹配算法。局部匹配算法使用相似性度量的方法进行视差图的计算,算法结构
简单,时间复杂度低。全局匹配要处理图像的全局信息,通过全局能量函数找到全局或局部最小值,匹配精度很高,但算法很复杂。半全局匹配算法使用互信息计算全局能量代价函数,利用动态规划算法求解代价函数的最小值,在精度上比局部匹配算法有所提高。立体匹配的方法有很多,但主要步骤有图像预处理、匹配代价计算、匹配代价聚合、和视差计算。

 

立体匹配算法 

立体匹配算法中最常用的两种匹配算法分别为局部匹配算法和半全局匹配算法。

局部匹配算法

BM 块匹配算法是基于窗口灰度值的一种局部匹配算法。该匹配算法的主要思想为:首先人为设定一个小的窗口,提取窗口中图像的特征向量,然后使用提取到的特征向量在尚未匹配的图像上进行遍历搜索,在遍历搜索的过程中计算该窗口的特征向量与遍历窗口提取到的特征向量的相似程度,匹配到的最终结果为特征向量相似程度最大的窗口。窗口的大小会对匹配的准确性产生影响,如果窗口寸过小,则窗口不能包含足够多的图像在灰度上的变化,块匹配的过程中会很容易产生误差,如果窗口尺寸过大,包含的图像复杂信息越多,就会影响匹配时的计算效率,导致匹配精度降低,匹配结果也会更粗糙。

半全局匹配算法

SGBM 算法是一种半全局立体匹配算法,其匹配流程为:首先为每个像素点选择视差值以形成初始的视差图,然后设置一个全局能量函数,该函数与视差图相关,最后求解能量函数的最小化问题,从而得到每个像素的最佳视差值

整个算法实现分为四个步骤:

1.预处理

2.代价计算

3.动态规划(默认4条路径)

4.后处理

详情可以参考https://blog.csdn.net/zhubaohua_bupt/article/details/51866567这篇博客

 

实现

双目立体标定

生成视差图:

(a)(b)分别是左右视图,(c)是标准试图,用两种匹配算法分别得到视差图,如图(d)(e)

视差图是将立体匹配计算得到的视差值映射到相对应的 0~255 像素的灰度空间,在视差图中,灰度值越高,像素点越亮,说明物体与摄像机的距离越近,反之,灰度值越低,像素点越暗,说明物理与摄像机的距离越远。从图中可以看出,视差图中可以明显看到各个物体距离相机的距离,距离相机近的物体比较亮,距离相机远的物体比较暗。 

 

计算距离:

根据双目测距原理进行图像像素距离的恢复,得到每个像素点的距离信息,最终获取目标或障碍物与相机的距离。

 

 

参考文章:无人机双目视觉目标检测与测距方法研究

 

 

 

 

 


http://chatgpt.dhexx.cn/article/ehHaQuLQ.shtml

相关文章

双目视觉测量技术介绍

1 双目视觉系统测量原理 双目视觉测量技术是计算机领域重点研究课题,其目标是从左右两相机获取的图像中计算出图像中每个像素点的视差信息,进而获取实际空间中物体的三维信息。基于视觉的测量方法往往是非接触形式的,其以速度快、精度高和无需…

关于双目立体视觉的一些总结(一)

由于项目和毕设的需要,最近在做一些立体视觉的东西,总算是把立体视觉建立起来了,中途查了很多相关资料,这里做一个总结。 1.简介: 双目视觉是模拟人类视觉原理,使用计算机被动感知距离的方法。从两个或者…

双目视觉定位方案设计

双目视觉定位总体方案设计 主要步骤说明: 1)双目相机标定,获取左右摄像头内参、外参,得到图像坐标到世界坐标的映射模型。 2)图像预处理,根据标定得到畸变参数对采集到的图像去畸变,根据测试图…

双目立体视觉概述

导读 为什么非得用双目相机才能得到深度? 双目立体视觉深度相机的工作流程 双目立体视觉深度相机详细工作原理 理想双目相机成像模型 极线约束 图像矫正技术 基于滑动窗口的图像匹配 基于能量优化的图像匹配 双目立体视觉深度相机的优缺点 ------------------------…

白学立体视觉(1): 双目视觉

文章目录 前言什么是双目视觉?双目视觉的应用总结 前言 小伙伴们,大家好,以前学习了新的知识,一段时间之后便忘得差不多了,经常被他人嘲讽: 你真是白学xxx了!。是啊,我确实是白学了…

(一) 双目立体视觉介绍

文章目录 1 针孔相机模型2.双目相机模型3.立体校正(共面行对准、极线校正)3.1极线约束3.2Bouguet算法3.3OpenCV API 介绍 4. 立体匹配与视差图5.深度图5.1 基础介绍5.2OpenCV API 6.双目测距精度分析7.总结 1 针孔相机模型 如基本相机模型及参数中介绍的,首先回忆一…

【技术流派】教你提高双目立体视觉系统的精度!

开源代码免费获取,欢迎关注我的GitHub: https://github.com/ethan-li-coding 双目立体视觉(Binocular Stereo Vision)是机器视觉的一种重要形式,它是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像&am…

来聊聊双目视觉的基础知识(视察深度、标定、立体匹配)

点击上方“AI算法修炼营”,选择“星标”公众号 精选作品,第一时间送达 1 双目视觉的视差与深度 人类具有一双眼睛,对同一目标可以形成视差,因而能清晰地感知到三维世界。因此,计算机的一双眼睛通常用双目视觉来实现&am…

双目视觉(三)立体匹配算法

系列文章: 双目视觉(一)双目视觉系统双目视觉(二)双目匹配的困难和评判标准双目视觉(三)立体匹配算法双目视觉(四)匹配代价双目视觉(五)立体匹配…

双目视觉 1 双目视觉的原理

首先我们讲解一下双目视觉中,我们只有两张二维的图片,我们的目的就是通过这两张二位的图片来构建出一个三维的模型,这就要求我们要通过两张图,推算出来一个图片没有展示出来的深度。深度的计算的原理如下 图片中C1和C2分别对应着我…

单目视觉>双目视觉>RGBD比较

目前,视觉SLAM(SLAM是“Simultaneous Localization And Mapping”的缩写,可译为同步定位与建图)可分为单目、双目(多目)、RGBD这三类,另还有鱼眼、全景等特殊相机,但目前在研究和产品中还属于少数。从实现难…

双目视觉原理(万字总结,包含Halcon代码)

双目视觉原理 1. 双目视觉的视差与深度1.1 总览2. 视差原理 2. 双目相机的坐标系2.1 针孔相机的模型2.2 四大坐标系1 像素坐标系(单位:像素(pixel))2 图像坐标系(单位:mm)3 相机坐标…

来聊聊双目视觉的基础知识(视觉深度、标定、立体匹配)

点击上方“3D视觉工坊”,选择“星标” 干货第一时间送达 1 双目视觉的视差与深度 人类具有一双眼睛,对同一目标可以形成视差,因而能清晰地感知到三维世界。因此,计算机的一双眼睛通常用双目视觉来实现,双目视觉就是通过…

单目视觉技术、双目视觉技术、多目视觉技术

计算机视觉、人工智能 视觉的研究过程:感知、认知、和控制 车载摄像头的要求: 看得远:提供了更充足的反应时间,直接提升了安全性。需要长焦距(D大,欲保持其他地方不变,就需要F增大)…

【双目视觉】双目立体匹配

一、双目立体匹配算法 在opencv中用的比较多的双目立体匹配算法有两种:BM和SGBM。SGBM是BM立体匹配算法的优化版,属于半全局匹配,相对于BM花的时间要更多,但效果优于BM。本文使用的是SGBM半全局匹配方式。 步骤: 1.打…

双目视觉原理及流程概述

双目原理 双目视觉是利用视差原理的一种视觉方法。 如图所示为空间中一点P在左右相机中的成像点Pleft=(Xleft,Yleft),Pright=(Xright,Yright)。将两相机固定在同一平面上,则点P在Y方向的坐标是相同的,即Yleft = Yright =Y。根据三角原理,可得: 视差被定义为相同点在左…

双目视觉(一)双目视觉系统

系列文章: 双目视觉(一)双目视觉系统双目视觉(二)双目匹配的困难和评判标准双目视觉(三)立体匹配算法双目视觉(四)匹配代价双目视觉(五)立体匹配…

双目视觉简介

hi 小伙伴们,人啊,很容易有惰性,很久不跟新了,不做笔记了,如今“良心发现”,毕业之后第一次更新博客。当然还是学习,整合分享给更多的人! 相信关注我博客和微信公众号的人很多都是做…

机器视觉——双目视觉的基础知识(视差深度、标定、立体匹配)

1、双目视觉的视差与深度 人类具有一双眼睛,对同一目标可以形成视差,因而能清晰地感知到三维世界。因此,计算机的一双眼睛通常用双目视觉来实现,双目视觉就是通过两个摄像头获得图像信息,计算出视差,从而使…

双目立体视觉(一) 基本原理和步骤

目录 一、双目立体视觉系统的四个基本步骤 二、各步骤原理 1、相机标定 2、立体校正 3、立体匹配 一、双目立体视觉系统的四个基本步骤 相机标定主要包含两部分内容: 单相机的内参标定和双目相机的外参标定,前者可以获得每个相机的焦距、光心、畸变系数等参数…