当前位置: 首页 > news >正文

3D视觉之深度相机方案

随着机器视觉,自动驾驶等颠覆性的技术逐步发展,采用 3D 相机进行物体识别,行为识别,场景 建模的相关应用越来越多,可以说 3D 相机就是终端和机器人的眼睛。

3D 相机

3D 相机又称之为深度相机,顾名思义,就是通过该相机能检测出拍摄空间的景深距离,这也是与普 通摄像头最大的区别。普通的彩色相机拍摄到的图片能看到相机视角内的所有物体并记录下来,但是其 所记录的数据不包含这些物体距离相机的距离。仅仅能通过图像的语义分析来判断哪些物体离我们比较 远,哪些比较近,但是并没有确切的数据。而 3D 相机则恰恰解决了该问题,通过 3D 相机获取到的数据, 我们能准确知道图像中每个点离摄像头距离,这样加上该点在 2d 图像中的(x,y)坐标,就能获取图像中每 个点的三维空间坐标。通过三维坐标就能还原真实场景,实现场景建模等应用。 

从上面描述可以看出,我们的眼睛就是一个天然的 3D 相机,这主要得益于偏光原理,当人眼在看 任何物体时,由于两只眼睛在空间有一定间距约为 5cm,即存在两个视角。这样形成左右两眼所看的图 像不完全一样,称为视差。这种细微的视差通过视网膜传递到大脑里,就能显示出物体的前后远近,产 生强烈的立体感,这是 1839 年,英国科学家温特斯顿发现的奇妙现象。自然的人类就想到通过两个一 定距离的普通摄像头来模拟人眼来获取 3D 数据。这就是最初的双目立体相机,鉴于双目相机的一些缺 陷,后来人们又发明了结构光和 TOF 的方法来获取 3D 数据。目前市面上常有的 3D 相机方案就就是这 3 种:飞行时间(TOF),RGB双目和结构光法

(1)结构光(Structured-light),代表公司有奥比中光,苹果(Prime Sense),微软 Kinect-1,英特尔 RealSense, Mantis Vision 等。

(2)双目视觉(Stereo),代表公司 Leap Motion, ZED, 大疆;

(3)光飞行时间法(TOF),代表公司微软 Kinect-2,PMD,SoftKinect, 联想 Phab。

下图是这三种方式的一个简单而形象的图片介绍
 

 

 

 

 

 

结构光


结构光,英文叫做 Structured light,通常采用特定波长的不可见的红外激光作为光源,它发射出来的光经过 一定的编码投影在物体上,通过一定算法来计算返回的编码图案的畸变来得到物体的位置和深度信息。根 据编码图案不同一般有条纹结构光---enshape ,编码结构光---Mantis Vision, Realsense(F200), 散斑结构光 ---apple(primesense), 奥比中光。下图是一个典型的结构光相机的示意图:
 

苹果公司的 IphoneX 采用收购至 primesense 的技术,也是散斑结构光,所谓散斑就是是激光照射到粗糙物 体或穿透毛玻璃后随机形成的衍射斑点。这些散斑具有高度的随机性,而且会随着距离的不同而变换图案。也就是说空间中任意两处的散斑图案都是不同的。只要在空间中打上这样的结构光,整个空间就都被做了 标记,把一个物体放进这个空间,只要看看物体上面的散斑图案,就可以知道这个物体在什么位置了。当 然,在这之前要把整个空间的散斑图案都记录下来,所以要先做一次光源标定, 通过对比标定平面的光斑 分布,就能精确计算出当前物体距离相机的距离。
 

 

随着结构光三维测量技术不断发展,实际应用价值不断提高。在工业测量领域中,上世纪九十年代,Dr.Steinbichler、Dr.Wolf 以及 Reinhold Ritter 教授等分别成立了Steinbichler GmbH、Dr. Wolf GmbH 和 GOM GmbH 公司标志着结构光测量技
术的产品化。目前国外结构光中代表性的 GOM 公司的 Atos 系列和 FARO 公司的Cobalt 系列结构光三维测量产品广泛应用在汽车、航空和消费品行业中。近年来国内结构光工业产品也不断发展,其中具有代表性的北京天远 OKIO 系列产品也不断涌入激烈的竞争市场之中,如图 1.3 所示,图中(a),(b),©分别表示 FARO、GOM 和北京天远的结构光产品。

在这里插入图片描述

 

娱乐消费领域中激光散斑结构光作为一种空间编码结构光近年来其应用尤为突出,2011 年 6 月,微软发布了 Kinect V1,现早已应用在体感游戏和机器人视觉等领域。2017 年 9 月,苹果公司发布的 iPhone X 中也采用了 PrimeSense 提供的散斑结构光,开启了手机平台上人脸的三维信息测量。国内散斑结构光代表公司奥比中光的 ASTRA 系列也运用在移动设备、3D 人脸识别、机器人视觉等领域,如图 1.4 所示,图中(a),(b),©分别表示苹果公司、微软公司和奥比中光的结构光产品。

在这里插入图片描述

结构光的双目视觉技术是一种主动式测量的三维重建技术。将平面光束照射在物体表面形成与原光带不一致的偏转信息,通过解码进行深度信息求解,从而精确快速地获取三维深度信息。投影面结构光,即投影一组平行的结构光,同时将物体置于可旋转任意角度工作台上,分批进行处理不同平面上的三维信息,计算出深度信息和进行匹配融合,能重建物体整体的三维信息。

图 1.5 所示的是一型号为 OKIO-H 的工业级三维扫描仪[23],采用进口高精密工业 131 万像素 CCD 传感器,适用于航天航空、风电水电等精密装备制造领域。

在这里插入图片描述

 

结构光方法在工业上有重要的应用,例如从传送带上检测工件,工件的逆工
程;在图形建模方面也有重要的应用,如人体建模,包括头部等躯体模型,雕塑物件造型的数字化,实际上三维扫描仪的基本原理也是在结构光方法的基础上进行改造的。投影的编码图案由投影仪投影至物体表面,而后相机进行采集。编码图案是否得当有效,将直接影响三维测量重建的精度和效率。图 1.6 所示的双模手持式三维激光扫描仪[24]极大地简化了三维重建的过程。

在这里插入图片描述

 

结构光深度相机的分类

      主要分为单目结构光双目结构光相机。

       单目结构光容易受光照的影响,在室外环境下,如果是晴天,激光器发出的编码光斑容易太阳光淹没掉。双目结构光可以在室内环境下使用结构光测量深度信息,在室外光照导致结构光失效的情况下转为纯双目的方式,其抗环境干扰能力、可靠性更强,深度图质量有更大提升空间。此外,结构光方案中的激光器寿命较短,难以满足7*24小时的长时间工作要求,其长时间连续工作很容易损坏。因为单目镜头和激光器需要进行精确的标定,一旦损坏,替换激光器时重新进行两者的标定是非常困难的。

单目结构光的原理 

      通常采用特定波长的不可见的红外激光作为光源,它发射出来的光经过一定的编码投影在物体上,通过一定算法来计算返回的编码图案的畸变来得到物体的位置和深度信息。 根据编码图案不同一般有条纹结构光enshape ,编码结构光Mantis Vision, Realsense(F200), 散斑结构光apple(primesense)。由于结构光主动投射编码光,因而非常适合在光照不足(甚至无光)、缺乏纹理的场景使用。结构光投影图案一般经过精心设计,所以在一定范围内可以达到较高的测量精度。技术成熟,深度图像可以做到相对较高的分辨率。

双目结构光的原理 

      双目结构光,就是纯双目和单目结构光结合的解决方案,结构光等于是给物体加了纹理,计算深度依然采用视差的原理。


主要生产厂家

     国外结构光方案开发的公司有Prime Sense(苹果)、英特尔,以色列Mantis Vision(小米);

     国内结构光方案开发的公司有深圳奥比中光科技有限公司(单目结构光OPPO),南京华捷艾米软件有限公司(单目结构光),丘钛科技,上海图漾信息科技有限公司(双目结构光)。

 

 

结构光(散斑)的优点主要有:

1)方案成熟,相机基线可以做的比较小,方便小型化。

2)资源消耗较低,单帧 IR 图就可计算出深度图,功耗低。

3)主动光源,夜晚也可使用。

4)在一定范围内精度高,分辨率高,分辨率可达 1280x1024,帧率可达 60FPS

散斑结构光的缺点与结构光类似:

1)容易受环境光干扰,室外体验差。

2)随检测距离增加,精度会变差。
 

 双目视觉


双目立体视觉(Binocular Stereo Vision)是机器视觉的一种重要形式,他是基于视差原理并利用成像设备 从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的 方法。目前有主动双目,被动双目之分,被动双目就是采用可见光,好处是不需要额外光源,但是晚上无 法使用,主动双目就是主动发射红外激光做补光,这样晚上也能使用。

双目视觉仅仅依靠图像进行特征匹配,对附加设备要求低,在使用双目视觉相机前必须对双目中两个 摄像头的位置进行精确标定。下面图片很好的简单阐述了双目相机如何获取物体的深度数据。同一直线上 的 3 个点在下端的相机都投影到 cmos 同一个点,因此单独的这个相机没法分辨三个点的距离,但是这 3 各 点在上端相机的投影位置不同,通过三角测量办法和两个相机基线距离 B,我们就可以计算出这 3 个点离相 机平面距离。
 

当然完整的双目深度计算非常复杂,主要涉及到左右相机的特征匹配,计算会非常消耗资源。

双目相机的主要优点有:

1)硬件要求低,成本也低。普通 CMOS 相机即可。

2)室内外都适用。只要光线合适,不要太昏暗。

但是双目的缺点也是非常明显:

1)对环境光照非常敏感。光线变化导致图像偏差大,进而会导致匹配失败或精度低。

2)不适用单调缺乏纹理的场景。双目视觉根据视觉特征进行图像匹配,没有特征会导致匹配失败。

3)计算复杂度高。该方法是纯视觉的方法,对算法要求高,计算量较大。

4)基线限制了测量范围。测量范围和基线(两个摄像头间距)成正比,导致无法小型化


 

光飞行时间法(TOF)


顾名思义是测量光飞行时间来取得距离,具体而言就是通过给目标连续发射激光脉冲,然后用传感器 接收从反射光线,通过探测光脉冲的飞行往返时间来得到确切的目标物距离。因为光速激光,通过直接测 光飞行时间实际不可行,一般通过检测通过一定手段调制后的光波的相位偏移来实现。

TOF 法根据调制方法的不同,一般可以分为两种:脉冲调制(Pulsed Modulation)和连续波调制 (Continuous Wave Modulation)。脉冲调制需要非常高精度时钟进行测量,且需要发出高频高强度激光,目前大多采用检测相位偏移办法来实现 TOF 功能。

下面图片描述了 TOF 相机(连续波)的基本原理,实际应用中,通常采用的是正弦波调制。由于接收 端和发射端正弦波的相位偏移和物体距离摄像头的距离成正比,因此可以利用相位偏移来测量距离。
 

因为 TOF 并非基于特征匹配,这样在测试距离变远时,精度也不会下降很快,目前无人驾驶以及一些高

端的消费类 Lidar 基本都是采用该方法来实现。

TOF 的优点主要有:

1)检测距离远。在激光能量够的情况下可达几十米。

2)受环境光干扰比较小。

但是 TOF 也有一些显而易见的问题:

1)对设备要求高,特别是时间测量模块。

2)资源消耗大。 该方案在检测相位偏移时需要多次采样积分,运算量大。

3)边缘精度低。

4)限于资源消耗和滤波,帧率和分辨率都没办法做到较高。目前消费类最大也就 VGA。

结论


从上面三种主流的 3D 相机成像方案来看,各有优劣,但是从实际应用场景来看,在非无人驾驶领域,结构 光,特别是散斑结构光的用途是最广泛。因为从精度,分辨率,还有应用场景的范围来看双目和 TOF 都没 有办法做到最大的平衡。而且对于结构光容易受环境光干扰,特别是太阳光影响问题,鉴于此类相机都有 红外激光发射模块,非常容易改造为主动双目来弥补该问题。     
 

 当然这三种方案在发展过程中也有一些互相融合趋势,如主动双目+结构光,取长补短,使 3D 相机能适应 更多的场景。也有一些同时使用,如手机前置基本确认会采用结构光来做 FaceId,但是后置用来做 AR 应用, 结构光和 TOF 都有机会。虽然项目具体使用哪种方案,要结合当前硬件资源,对性能要求等来确定,但从 最广泛的使用角度来看,散斑结构光无疑是目前最佳的方案。
 

 

 

————————————————
 https://blog.csdn.net/weixin_44470443/article/details/94861813

车载双目ADAS(六):结构光深度相机_bobuddy的博客-CSDN博客

结构光三维扫描概述_江南又旧雨的博客-CSDN博客 

为什么要研究《双目结构光》?_Orange Wu的博客-CSDN博客

相关文章:

3D视觉之深度相机方案

随着机器视觉,自动驾驶等颠覆性的技术逐步发展,采用 3D 相机进行物体识别,行为识别,场景 建模的相关应用越来越多,可以说 3D 相机就是终端和机器人的眼睛。 3D 相机 3D 相机又称之为深度相机,顾名思义&…...

Mysql列的完整性约束详解(主键约束)

文章目录 前言一、设置表字段的主键约束(PRIMARY KEY,PK) 1.单字段主键2.多字段主键总结 前言 完整性约束条件是对字段进行限制,要求用户对该属性进行的操作符合特定的要求。如果不满足完整性约束条件,数据库系统将不再…...

母婴市场竞争激烈,如何通过软文营销脱颖而出

如今,随着宝宝数量增加以及人们对孩子的重视程度的增加,母婴市场愈发火爆。然而,母婴行业的竞争也越来越激烈,企业需要不断开拓新市场才能生存。在这样的情况下,软文营销成为了母婴企业拓展市场的一种有效方式。 首先&…...

java--线程池

目录 1.线程池概 2 为什么要使用线程池 1创建线程问题 2解决上面两个问题思路: 3线程池的好处 4线程池适合应用场景 3 线程池的构造函数参数 1.corePoolSize int 线程池核心线程大小 2.maximumPoolSize int 线程池最大线程数量 3.keepAliveTime long 空闲…...

asp.net765数码手机配件租赁系统

员工部分功能 1.员工登录,员工通过自己的账号和密码登录到系统中来,对租赁信息进行管理 2.配件查询,员工可以查询系统内的配件信息 3.客户信息管理,员工可以管理和店内有业务往来的客户信息 4.配件租赁,员工可以操作用…...

有关态势感知(SA)的卷积思考

卷积是一种数学运算,其本质是将两个函数进行操作,其中一个函数是被称为卷积核或滤波器的小型矩阵,它在另一个函数上滑动并产生新的输出。在计算机视觉中,卷积通常用于图像处理和特征提取,它可以通过滤波器对输入图像进…...

Docker快速部署springboot项目

有很多开发者在项目部署过程中都会遇到一些繁琐的问题,比如打包、上传、部署等。而使用Docker可以非常方便地解决这些问题。在本文中,将详细讲解如何使用IDEA中的docker打包插件,将代码打包并直接发布到服务器上。这样,我们就可以…...

Linux命令rsync增量同步目录下的文件

业务场景描述 最近遇到一个问题,需要编写相应的Linux命令,增量同步/var/mysql里的所有文件到另外一个目录/opt/mysql,但是里面相关的日志文件xx.log是不同步的,这个场景,可以使用rsync来实现 什么是rsync命令&#x…...

项目管理---(1)项目管理一般知识

一、项目管理一般知识 1.1 项目的一般知识 1.1.1 项目的定义: 项目是为创造独特的产品、服务或成果而进行的临时性工作。 1.1.2 项目的目标: 项目的目标包括成果性目标和约束性目标。 成果性目标:指通过项目开发出满足客户要求的产品、系…...

超过50多个热门的免费可用 API 分享

今天吃什么:随机返回一顿美味食物,解决你今天吃什么的难题。万年历:获取公历日期对应的农历、农历节日节气、天干地支纪年纪月纪日、生肖属相、宜忌、星座等信息。支持查询未来15天。笑话大全:各种最新、最及时的幽默、搞笑段子&a…...

记一次死锁问题

最近在做一个需求,碰到了死锁的问题,记录下解决问题的过程 背景 这个需求要改动一个接口,我这边称为A接口,原先的逻辑是A接口内部会调用c方法,c方法是一个dubbo方法, 现在需要再A接口里添加调用B方法&…...

Bean 作⽤域和⽣命周期

目录 1.lombok 1.1 1.添加依赖:(pom.xml) 1.2 在实体类上使用lombok提供的注解 1.3 安装插件 2. Bean 的 6 种作⽤域(Scope) 2.1 singleton(默认模式) 2.2 prototype(原型模式…...

SVN通过备份、过滤、再导入的方式彻底删除废弃目录

文章目录 前言简要步骤操作示例总结 前言 SVN占用的空间随着项目版本迭代越来越大,因为保存了历史记录中的各个版本,所以即使本地把废弃的目录删掉提交,也不会释放出多余的空间,大概率因为操作删除增加了一个版本号,使…...

golang支持优雅关闭和core错误记录

#经过测试,不能使用 ENTRYPOINT ["/modapi/modapi", "1>> /dev/null","2>> ./logs/stderr.log"],原因是虽然这种方案可以 #保证modapi命令为1号程序,能够接收到os的signal信号。但是如果程序core了…...

Basics of Container Isolation 容器隔离的实现原理

目录 容器隔离的实现原理 1. 使用cgroups实现资源隔离 自定义一个cgroup 设置进程的内存使用 启动一个docker 容器,观察cgroup的创建情况 2. 使用Namespaces进行资源分区 namespace继承关系引发的问题 3. 结合来使用Namespaces 和chroot 4. 结论 参考文档…...

EBS R12.1 注册客户化应用的步骤

创建客户化应用目录 登录成 applxxx 用户 -- applxxx 改成所需用户名 # 以标准INV模块作为客户化应用目录的模板 cd $APPL_TOP mkdir -p cust cp -r inv cust/template cd cust # 删除template 目录下的文件,只保留目录结构 cd $APPL_TOP/cust for rm_list in …...

算法记录 | Day38 动态规划

对于动态规划问题,将拆解为如下五步曲 确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组 509.斐波那契数 思路: 确定dp数组(dp table)以及下标的含义&#x…...

PMP项目管理-[第六章]进度管理

进度管理知识体系: 规划进度管理: 定义活动: 排列活动顺序: 估算活动持续时间: 制定进度计划: 6.1 规划进度管理 定义:为规划、编制、管理、执行和控制项目进度而制定政策、程序和文档的过程 作…...

Python变量

一、变量的定义 变量名的命名规范:变量名是标识符的一种,变量名不能随便起,要遵守 Python 标识符命名规范。 ## 常用的命名规范有以下几种: 1. 变量名为单个单词的话全部小写 name "张三" 2. 多个单词组成的话&#…...

准备换工作的看过来~

大家好,最近有不少小伙伴在后台留言,得准备面试了,又不知道从何下手!为了帮大家节约时间,特意准备了一份面试相关的资料,内容非常的全面,真的可以好好补一补,希望大家在都能拿到理想…...

免费AI人工智能在线写作伪原创-百度ai自动写文章

免费伪原创洗稿工具 免费伪原创洗稿工具现在终于推出了!你是否在写作的时候,经常因为缺乏灵感而苦恼?或者,你在撰写文章的时候,发现自己的语言表述不够丰富,缺乏变化,语句重复率太高&#xff1f…...

互联网摸鱼日报(2023-04-21)

互联网摸鱼日报(2023-04-21) InfoQ 热门话题 3年不用云能节省4亿美元!想知道我们为什么敢不用AWS吗? 华为周红:通过行业大模型促进AI价值创造 建设业务规划、交付和反馈闭环| BizDevOps 公开课 云原生时…...

5.3、web服务器简介HTTP协议

代码地址 5.3、web服务器简介HTTP协议 1.Web-Server(网页服务器)2.HTTP协议(应用层的协议)①简介②概述③工作原理④HTTP请求报文格式⑤HTTP响应报文格式⑥HTTP请求方法⑦HTTP状态码 1.Web-Server(网页服务器) 一个 Web Server …...

【观察】华为:新一代楼宇网络,使能绿建智慧化

“碳达峰”、“碳中和”目标是我国生态文明建设和高质量可持续发展的重要战略安排,将推动全社会加速向绿色低碳转型。作为全球既有建筑和每年新建建筑量最大的国家,大力发展绿色建筑对中国全方位迈向低碳社会、实现高质量发展具有重要意义。 《“十四五”…...

【C# .NET】chapter 13 使用多任务改进性能和可扩展性

目录 一、物理内存和虚拟内存使用(Recorder 类) 二、 对比 string的“”操作与stringbuilder 操作 的处理效率,内存消耗情况, 三、异步运行任务、三种启动任务方法、将上一任务方法处理结果作为参数传给下一任务方法 四、嵌套…...

CA(证书颁发机构)

CA 根证书路径/csk-rootca/csk-ca.pem; ~ 签发数字证书,颁发者信息:(仅包含如下信息) C CN ST China L BeiJing O skills OU Operations Departments CN CSK Global Root CA 1.修改证书的路径以及相关配置 vi /etc/pki/tls/op…...

辛弃疾最有代表性的十首词

辛弃疾的词,风格多样,题材广阔,几乎涉及到生活中的各个方面,从爱国情怀到日常生活,甚至连戒酒这种事都能写入词中。辛弃疾也是两宋词人中,存词最多的作家之一,现存的六百多首作品。 辛弃疾的词…...

MC9S12G128开发板—实现按键发送CAN报文指示小车移动功能

实验环境:MC9S12G128开发板 基本功能:控制开发板上的按键,模拟车辆移动的上下左右四个方位,通过can通信告诉上位机界面,车辆轨迹的移动方位。 1. 1939报文发送的示例代码 MC9S12G128开发板1939协议发送can报文数据的…...

尚融宝22-提交借款申请

目录 一、需求介绍 二、图片上传 (一)前端页面 (二)实现图片上传 三、数据字典展示 (一)后端 (二)前端 四、表单信息提交 (一)后端 1、VO对象&…...

机器学习在生态、环境经济学中的实践技术应用及论文写作

近年来,人工智能领域已经取得突破性进展,对经济社会各个领域都产生了重大影响,结合了统计学、数据科学和计算机科学的机器学习是人工智能的主流方向之一,目前也在飞快的融入计量经济学研究。表面上机器学习通常使用大数据&#xf…...