双目测距
好的,我们来详细解释一下双目测距(Binocular Ranging / Stereo Vision Distance Measurement)的原理和过程。
核心思想: 模仿人类的双眼视觉。通过两个在水平方向上有一定距离(称为基线)的摄像头,同时拍摄同一场景,然后计算空间中同一点在两个图像中出现位置的差异(称为视差),利用三角几何原理推算出该点到摄像头的距离(深度)。
核心公式: 距离 (Z) = (焦距 (f) * 基线 (B)) / 视差 (d)
f:摄像头的焦距(通常以像素为单位)。B:两个摄像头光心之间的水平距离(基线长度)。d:同一个空间点在左图像和右图像中的对应像素点之间的水平坐标差(视差)。d = x_left - x_right。Z:目标点到摄像头平面的垂直距离(深度)。
关键步骤:
-
摄像头标定 (Camera Calibration):
- 目的: 确定每个摄像头的内部参数(内参)和两个摄像头之间的相对位置姿态(外参)。
- 内参: 焦距
f、主点坐标(cx, cy)、畸变系数(径向畸变、切向畸变)。通常通过拍摄已知精确尺寸的标定板(如棋盘格)来求解。 - 外参: 主要是两个摄像头之间的旋转矩阵 R 和平移向量 T。其中平移向量 T 在水平方向上的分量就是基线长度 B。这是整个双目系统的核心参数之一。
- 输出: 消除畸变后的图像,精确的 f, cx, cy, R, T。
-
图像校正 (Stereo Rectification):
- 目的: 对左右图像进行几何变换,使得:
- 两个摄像头的成像平面共面(理想情况下平行)。
- 极线(即一个图像中的点,其在另一个图像中的对应点可能所在的线)变为水平线。
- 左右图像中对应点的行坐标(y坐标)相同。
- 为什么重要: 极大地简化了后续的立体匹配步骤!匹配时只需在同一水平扫描线上搜索对应点即可,大大减小搜索范围,提高效率和精度。
- 输出: 校正后的左图像(Rectified Left Image)和校正后的右图像(Rectified Right Image)。
- 目的: 对左右图像进行几何变换,使得:
-
立体匹配 (Stereo Matching):
- 目的: 对于左图像中的每一个像素点(或特征点),在右图像中找到其对应点(即图像中同一个空间点的投影)。这是双目视觉中最关键、最复杂也最容易出错的步骤。
- 难点: 遮挡(一个摄像头能看到,另一个看不到)、重复纹理(难以找到唯一匹配点)、弱纹理区域(缺乏特征)、光照差异、透视变形等。
- 主要方法:
- 局部匹配: 最常用。对左图像中的一个像素点,在其右图像对应的水平扫描线(根据校正结果)上的一定搜索范围内,以一个像素块(Window)为单位,计算该左图像块与每一个候选右图像块之间的相似度(如 SAD - 绝对差和, SSD - 平方差和, NCC - 归一化互相关)。选择相似度最高的位置作为匹配点。
- 半全局匹配 (Semi-Global Matching, SGM): 效果更好但计算量更大。不仅考虑单个像素或局部窗口的相似度,还考虑同一行、同一列甚至对角线方向上像素的视差一致性(平滑性约束),通过动态规划或路径聚合来优化全局或半全局的视差图。
- 全局匹配: 定义全局能量函数(包含数据项和平滑项),通过图割(Graph Cut)或置信度传播(Belief Propagation)等优化算法求解最优视差图。精度高但计算量巨大。
- 输出: 视差图 (Disparity Map)。这是一个和输入图像同样大小的图像,但每个像素的值不再是颜色,而是该像素对应的视差值 d(通常是整数)。离摄像头近的物体视差大(在左右图像中的位置差大),远的物体视差小。
-
深度计算 (Depth Calculation):
- 目的: 利用标定得到的内参(f, cx, cy)和外参(主要是 B),结合视差图 d,根据核心公式
Z = (f * B) / d计算每个像素点的深度值Z。 - 输出: 深度图 (Depth Map)。这也是一个和输入图像同样大小的图像,每个像素的值是其到摄像头平面的距离
Z。
- 目的: 利用标定得到的内参(f, cx, cy)和外参(主要是 B),结合视差图 d,根据核心公式
应用场景:
- 机器人导航与避障
- 自动驾驶(环境感知)
- 无人机(地形测绘、避障)
- 工业检测(尺寸测量、缺陷检测)
- AR/VR(场景理解、手势交互)
- 三维重建
优点:
- 原理清晰,模拟人眼,直观。
- 被动式(只需环境光),成本相对较低(相比激光雷达)。
- 能获取密集的深度信息(整个场景的深度图)。
- 硬件成熟(普通摄像头即可)。
局限性:
- 计算复杂度高: 立体匹配算法耗时,尤其在追求高精度和高分辨率深度图时。
- 精度依赖基线长度和焦距: 基线 B 越大,理论上测距精度越高、有效距离越远,但也会带来更大的盲区和视场角减小的问题(近处物体可能只有一个摄像头能看到)。焦距 f 越大,视野越窄,但视差精度可能更高(相同距离物体在图像中更大)。
- 匹配难度: 在无纹理区域(如白墙)、重复纹理区域(如草地、百叶窗)、遮挡区域、强反光区域等,匹配容易失败,导致深度数据缺失或错误。
- 光照要求: 光线太暗或太强(曝光过度)都会影响图像质量和匹配效果。
- 校准精度要求高: 标定参数的精度直接影响最终测距精度。
总结:
双目测距是一种基于三角测量原理,利用两个摄像头拍摄的图像计算目标距离的技术。其核心步骤包括:摄像头标定(获取精确参数)、图像校正(使匹配更简单)、立体匹配(找到左右图像对应点,生成视差图)和深度计算(利用视差图和参数生成深度图)。它在众多领域有广泛应用,但也面临计算复杂度高、匹配困难、依赖光照和标定精度等挑战。
LabVIEW开发自动驾驶的双目测距系统
LabVIEW开发自动驾驶的双目测距系统 随着车辆驾驶技术的不断发展,自动驾驶技术正日益成为现实。从L2级别的辅助驾驶技术到L3级别的受条件约束的自动驾驶技术,车辆安全性和智能化水平正在不断提升
双目测宽仪高质量生产利器 测宽仪价格
双目测宽仪是基于机器视觉原理及模拟人的双眼进行宽度尺寸自动测量的仪器,是一种高度自动化的工业实时在线宽度检测仪表。 双目测宽仪是一种智能化的全自动工业在线实时宽度检测设备,两个工业相机就像人的双眼
机器视觉双目测宽仪具体有什么优势?
双目测宽仪是机器视觉原来制造而成的智能宽度检测设备,广泛应用于板材类产品的宽度检测。通过测宽仪的使用,实时了解产品宽度品质,进行超差提示,减少废品的生产。 双目测宽仪优势 测量软件界面显示:产品规格
YOLO v5与双目测距结合实现目标的识别和定位测距
的python3.6的虚拟环境) yolov5模型版本:YOLO v5s 双目摄像头间距:12cm 双目摄像头焦距:100度/3mm 双目摄像头
资料下载
姚小熊27
2022-10-18 14:23:25
双目测距系列(一)标定工具的开发
双目摄像头标定是测距及其三维建模非常重要的步骤,因为标定出来的内外参数将会用来对原始图像进行反畸变校正,而反畸变的效果对立体匹...
资料下载
石正厚
2022-01-25 20:04:56
怎么样才能使用机器视觉技术实现内窥镜手术导航的测距详细说明
简单,实时性强,误差小,能够满足微创心脏外科手术术中定位的要求。今后要考虑摄像机镜头在较大几何畸变下对测量精度的影响,提高测量精度,进一步完善该单目测距方法.
资料下载
佚名
2020-08-12 16:03:29
使用双目立体视觉实现CCD测距系统设计的资料说明
视觉的CCD测距技术。双目立体视觉的基本原理是模仿人眼与人类视觉的立体感知过程,从两个视点观察同一景物,以获取不同视角下的感知图像,通过三角测量原理计算图像像素间的位置偏差,以获取景物的三维信息。一个完整的CCD
资料下载
佚名
2019-11-26 12:05:39
新品双目测宽仪测量原理 宽厚板材在线检测
宽厚板材在线测宽,可采用双目测宽仪,如果采用平行光检测法,有可能会因为倾斜导致测量不准,因此采用双目测宽仪进行宽度尺寸的检测。 双目测宽仪测量原
双目测距的机器视觉简单实例分享
本实例背景较为简单,只能适用于固定场合的零件检测,水果品质检测等。基本的几何知识是必要的,例如求直线的交点,一元函数的线性回归。
2023-07-19 12:43:15
双目视觉深度检测的测距原理
双目测距的原理就说到这里,为了避免大家看到大段纯叙述性的文字头晕,下面的行文将会以FAQ的形式围绕着实现双摄像头测距过程中碰到的几点疑惑展开。
2023-04-26 16:47:37
基于双目立体视觉的测距原理、工作流程及优点分析
简单来说,基于双目立体视觉的测距类似人类的双眼,和基于TOF、结构光原理的测距不同,它不对外主动投射光源,完全依靠拍摄的两张图片( RGB 或者
2022-11-18 14:21:28
单/双目的测距原理区别
上图中的人和椰子树,人在前,椰子树在后,最下方是双目相机中的成像。其中,右侧相机成像中人在树的左侧,左侧相机成像中人在树的右侧,这是因为双目的角度不一样。
2022-09-26 09:37:44
双目测距系列(一):标定工具的开发
双目摄像头标定是测距及其三维建模非常重要的步骤,因为标定出来的内外参数将会用来对原始图像进行反畸变校正,而反畸变的效果对立体匹...
2020-12-08 22:27:24
双目测距系列(二):鱼眼镜头双目标定及测距
这几天把基于opencv C++ api将鱼眼镜头的双目标定以及测距功能实现完毕,效果还可以,至少对齐得非常棒。 这里把其流程及其关键函数在这...
2020-12-08 22:11:06
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机