深度摄像头测距原理简介

深度检测主要技术方法:
1.双目匹配(双RGB摄像头+可选的照明系统)
三角测量原理即目标点在左右两幅视图中成像的横坐标之间存在的差异(视差Disparity),与目标点到成像平面的距离成反比例的关系:Z = ft/d;得到深度信息。
双目匹配采用三角测量原理完全基于图像处理技术,通过寻找两个图像中的相同的特征点得到匹配点,从而得到深度值。
双目测距中光源是环境光或者白光这种没有经过编码的光源,图像识别完全取决于被拍摄的物体本身的特征点,因此匹配一直是双目的一个难点。
匹配的精度和正确性很难保证,因此出现了结构光技术来解决匹配问题。
技术点:立体匹配算法,一般步骤:匹配代价计算,匹配代价叠加,视差获取,视差细化(亚像素级)
优点:
给定的工作条件下,较好效果,硬件简单。
缺点:
双目使用的是物体本身的特征点,对表面颜色和纹理特征不明显的物体失效。
因为结构光光源带有很多特征点或者编码,因此提供了很多的匹配角点或者直接的码字,可以很方便的进行特征点的匹配。
换句话说,不需要使用被摄物体本身的特征点,因此能提供很好的匹配结果。

2.一般结构光(一个RGB摄像头+结构光投射器(红外)+结构光深度感应器(CMOS))

结构光测距的不同点在于对投射光源进行了编码或者说特征化。这样拍摄的是被编码的光源投影到物体上被物体表面的深度调制过的图像。

结构光基本原理:
通过投影一个预先设计好的图案作为参考图像(编码光源),将结构光投射至物体表面,再使用摄像机接收该物体表面反射的结构光图案,这样,同样获得了两幅图像,
一幅是预先设计的参考图像,另外一幅是相机获取的物体表面反射的结构光图案,由于接收图案必会因物体的立体型状而发生变形,故可以通过该图案在摄像机上的位置和形变程度来计算物体表面的空间信息。普通的结构光方法仍然是部分采用了三角测距原理的深度计算。
同样是进行图像匹配,这种方法比双目匹配好的地方在于,参考图像不是获取的,而是经过专门设计的图案,因此特征点是已知的,而且更容易从测试图像中提取。
结构光采用三角视差测距,基线(光源与镜头光心的距离)越长精度越高。
技术点:提供什么样的辅助信息来帮助快速而精确的对应点匹配是结构光编码方法的衡量标准。
优点:
成熟,经验证,可量产
缺点:
有限的供应商,技术和供应链门槛,阳光干扰敏感,多设备之间存在严重干扰

3.Light coding(激光散斑光源)
与结构光不同,Light coding的光源为“激光散斑”,是激光照射到粗糙物体或穿透毛玻璃后随机形成的衍射斑点。这些散斑具有高度的随机性,而且会随着距离的不同而变换图案。也就是说空间中任意两处的散斑图案都是不同的。只要在空间中打上这样的光,整个空间都被做了标记,把一个物体放进这个空间,只要看看物体上面的散斑图案,就可以知道这个物体在什么位置了。当然在这之前要把整个空间的散斑图案都记录下来,所以要先做一次光源标定。primesense公司的三维测量使用的就是激光散斑技术。primesense将该技术称为光源标定技术。光源标定技术在整个空间中每隔一段距离选取一个参考平面,把参考平面上的散斑图案保存下来。

Light coding不是通过空间几何关系求解的,它的测量精度只和标定时取得参考面的密度有关,参考面越密测量越精确。不用为了提高精度而将基线拉宽。
缺点:

激光器发出的编码光斑容易被太阳光淹没掉

来源:http://blog.youkuaiyun.com/jaylinzhou/article/details/70810300

### 奥比中光深度相机的测距原理 奥比中光的深度相机主要依赖于其先进的3D传感技术,尤其是结构光技术来实现高精度的距离测量。以下是关于该技术的具体实现机制: #### 结构光技术概述 结构光是一种主动式的三维重建技术,它通过向目标物体投射已知图案(通常是红外线),并利用摄像头捕捉经过物体表面调制后的变形图案来进行距离计算[^1]。这种技术的核心在于精确控制光源和接收装置之间的相对位置关系。 #### 距离测量过程详解 当结构光投影仪发出特定模式的光线照射到被摄对象上时,由于不同景深处的目标会使得原本规则排列的条纹发生不同程度的变化,因此可以通过分析这些变化推导出对应像素点的实际物理坐标信息。具体来说,这一流程涉及以下几个方面: - **图案设计与优化**: 需要精心设计适合远近场需求的不同频率正弦波形或其他复杂几何图形以便更好地适应多种应用场景下的性能要求[^2]。 - **图像采集处理**: 使用专门定制化的CMOS或者CCD传感器配合窄带滤光片最大程度减少外界自然光照干扰因素的影响,从而提高信噪比确保最终获取数据的质量可靠稳定[^2]。 - **三角法解算模型构建**: 根据双目立体视觉原理建立数学方程组求解未知量即各点至镜头中心轴垂直方向上的偏移量d,进而得到完整的三维空间分布图谱[^4]。 ```python import numpy as np def calculate_distance(disparity_map, baseline, focal_length): """ 计算深度图 参数: disparity_map (numpy.ndarray): 视差图 baseline (float): 双目摄像头基线长度(m) focal_length (float): 焦距(px) 返回: depth_map (numpy.ndarray): 深度图 """ depth_map = (baseline * focal_length) / disparity_map return depth_map ``` 此函数展示了如何依据视差图、基线长度以及焦距来简单估算场景内的深度值。实际应用当中还需要考虑更多校准参数补偿光学畸变等问题才能获得更加精准的结果。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值