随着人工智能与机器人、无人驾驶的火热,深度相机的技术和应用也受到关注,何谓深度相机?

顾名思义,就是可以测量物体到相机的距离(深度)

传统的RGB彩色普通相机称为2D相机,只能拍摄相机视角内的物体,没有物体到相机的距离信息,只能凭感觉感知物体的远近,没有明确的数据

RGB-D深度相机(又称3D相机,其中D代表Depth为深度信息)可获取物体到相机的距离信息,加之2D平面的X,Y坐标,可计算出每个点的三维坐标,以此我们可推断深度相机的应用,如三维重建、目标定位、识别

深度相机分类

目前主流的深度相机有结构光、时间飞行法、双目立体三种

a、结构光深度相机

基本原理:主要硬件有投射仪、相机,通过投射仪主动发射(因此称为主动测量)肉眼不可见IR红外光到被测物体表面,然后通过一个或多个相机拍摄被测物体采集结构光图像,将数据发送到计算单元,通过三角测量原理计算获取位置和深度信息,从而实现3D重建

结构光顾名思义就是将光结构化,有多种投影图案方式,如正弦条纹的相移法、二进制编码的格雷码、相移法+格雷码等


结构光原理图

优点

技术成熟,功耗小,成本低

主动投影,适合弱光照使用

近距离(1米内)精度较高,毫米级

缺点

远距离精度差,随着距离的拉长,投影图案变大,精度也随之变差

室外强光照不宜使用,强光容易干扰投影光

代表产品

Kinect1.0,微软官方早已停产,目前市面上多为翻新机、山寨

PrimeSense,3D传感技术鼻祖,苹果13年收购,用于苹果的Face ID,AR应用,人像特效拍摄

RealSense,Intel出品,旗下有很多系列,协作机械臂、无人车上用的比较多

奥比中光,国内入局较早,多轮融资,后为魅族开发过TOF解决方案,不仅仅局限于结构光技术

Xtion PRO,芯片使用的是苹果收购的PrimeSense,行业老大

Zivid,支持ROS,挪威出品,据说20年研发

Pickit,支持ROS,试用多种机械臂ABB、UR、KUKA、Fanuc、Yaskawa等

Allied Vision,主要应用在工业

Photoneo,支持ROS,宣称使用坏境光抑制技术

b、时间飞行法(TOF)深度相机

基本原理:TOF就是时间飞行法,就是给目标发射连续的光脉冲,经过目标反射,通过传感器接受回来的光,记录飞行的时间,计算出到目标的距离,一般分脉冲调制和连续波调制两种

因其主动发射脉冲光,也属于主动测量方式


脉冲与连续波调制原理

优点:

TOF的测量距离较远,不受表面灰度和特征影响,达百米,可用于无人驾驶

深度距离计算,不会随距离的变化而变化,稳定在厘米级

不像双目相机、结构光需要经过算法处理才能输出三维数据,TOF可以直接输出被测物体三维数据

相比于结构技术的静态场景,TOF更适合动态场景

缺点:

精度较差,很难达毫米级,因其对时间测量设备要求高,这点比不上结构光的近距离(1m内)应用,限制在近距离高精度领域的应用

室外强光照基本不能使用

代表产品

Kinect2.0,同Kinect1.0一样,微软官方已停产

Basler,RGB、深度图像、点云图

Terabee,支持ROS,也提供时间飞行传感模块

c、双目立体深度相机

基本原理:通过左右两个摄像头获取图像信息,计算视差

关于视差,类似人的双眼,你单独睁开左、右眼,与同时睁开双眼观看物体的位置、远近不同

双目相机不主动对外发射光源,因此称为被动深度相机,目前多应用在科研领域


双目相机原理

优点

不需要结构光、TOF的发射器和接收器,因此硬件成本低

因为依靠自然光,可在室内外使用,但强光和暗光效果受影响

缺点

强光、暗光影响较大,因为依赖于自然光

对单一环境影响较大,如纯色墙,因双目相机依据视觉特征进行图像匹配,单一问题引起匹配失效

视觉匹配算法复杂

代表产品

ZED,广泛应用在科研机构的无人车、协作机械臂上

PointGrey Bumblebee,同ZED一样科研领域用在无人车、协作机械臂上较多,目前已到3代,2代已停产

小觅,据说公司经营不太好,售后找不到人

图漾,双目+结构光,宣称为了解决单一纹理环境,引入结构光,加入物理纹理

Viper,内置NVIDIA TX2,支持ROS

总结

测量原理

结构光、双目相机:基于特征匹配

TOF:基于飞行时间测

光源

结构光、TOF:红外光

双目相机:自然光

精度与距离

结构光:0.1-10m,短距离(1m)内精度较高,达厘米级

双目相机:0.3-25m,短距离范围内0.01mm-1cm

TOF:0.1-100m,一般稳定在厘米级

应用领域

结构光:智能手机前置摄影、人脸识别、AR/VR

双目相机:无人驾驶、手势识别、深度探测,目前科研领域用的较多

TOF:无人驾驶、智能手机后置摄影、AR/VR

下图为几种深度相机对比,仅供参考


图片来源网络,侵删

深度相机:结构光、TOF、双目相机的更多相关文章

  1. 干货 | LIDAR、ToF相机、双目相机如何科学选择?

    点击"计算机视觉life"关注,置顶更快接收消息! 本文阅读时间约5分钟 本文翻译自卡内基梅隆大学 Chris asteroid 三维视觉技术的选择 传感器参数及定义 LIDAR ...

  2. 教你如何认识人脸识别开发套件中的双目摄像、3D结构光摄像头、单目摄像头的区别及详细讲解

    深圳市宁远电子提供的人脸识别模组可支持双目摄像头和3D结构光摄像头,在客户咨询中经常有被问到双目的为什么会比单目的成本高,区别在哪里,他们的适用于哪些场景呢?在此,深圳市宁远电子技术工程师就为大家详细 ...

  3. TOF与结构光技术分析

    TOF与结构光技术分析 一.概述 结构光(Structuredlight),通常采用特定波长的不可见的激光作为光源,它发射出来的光带有编码信息,投射在物体上,通过一定算法来计算返回的编码图案的畸变来得 ...

  4. 双目相机标定以及立体测距原理及OpenCV实现

    单目相机标定的目标是获取相机的内参和外参,内参(1/dx,1/dy,Cx,Cy,f)表征了相机的内部结构参数,外参是相机的旋转矩阵R和平移向量t.内参中dx和dy是相机单个感光单元芯片的长度和宽度,是 ...

  5. 基于USB3.0的双目相机测试小结之CC1605配合CS5642 双目 500w摄像头

    基于USB3.0的双目相机测试小结之CC1605配合CS5642  双目 500w摄像头 CC1605双目相机评估板可以配合使用柴草电子绝大多数摄像头应用 如:OV5640.OV5642.MT9P03 ...

  6. CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评

    CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评 摄像头配置:ov5640.OV5642.mt9p031.mt9m001c12stm OV5640 xclk:24 ...

  7. Autoware 进行 Robosense-16 线雷达与 ZED 双目相机联合标定!

    项目要标定雷达和相机,这里记录下我标定过程,用的速腾 Robosense - 16 线雷达和 ZED 双目相机. 一.编译安装 Autoware-1.10.0 我没有安装最新版本的 Autoware, ...

  8. 3D-camera结构光原理

    3D-camera结构光原理 目前主流的深度探测技术是结构光,TOF,和双目.具体的百度就有很详细的信息. 而结构光也有双目结构光和散斑结构光等,没错,Iphone X 的3D深度相机就用 散斑结构光 ...

  9. 3D结构光

    3D结构光 3D结构光的整个系统包含结构光投影设备.摄像机.图像采集和处理系统.其过程就是投影设备发射光线到被测物体上,摄像机拍摄在被测物体上形成的三维光图形,拍摄图像经采集处理系统处理后获得被测物体 ...

  10. 【已解决】WebUploader 0.1.5 安卓手机不能访问相机、IOS直接访问相机 的问题

    WebUploader 0.1.5 安卓手机不能访问相机.IOS直接访问相机 的问题 打开 webuploader.js if(navigator.userAgent.indexOf('Android ...

随机推荐

  1. NRF52832的FDS程序,参考非蓝牙例程修改而来(需要增加DFU的基础上只要增加如下程序即可解决)

    /* Dummy configuration data. */ static configuration_t m_dummy_cfg = { .config1_on = false, .config2 ...

  2. Spyglass CDC工具使用(四)

    最近一直在搞CDC (clock domain crossing) 方面的事情,现在就CDC的一些知识点进行总结. 做CDC检查使用的是Spyglass工具.以下内容转载自:Spyglass之CDC检 ...

  3. python学习记录(六)-系统内置模块

    序列化 什么是序列化?序列化是指把python中的数据以文本或二进制形式进行转换,还能反序列化为原来的数据 为什么需要序列化?便于数据在程序与网络之间的传输和存储 json:文本序列化 pickle: ...

  4. k8s中的kubeclt命令

    一.kubectl 基本命令 1.陈述式资源管理方法: 1.kubernetes集群管理集群资源的唯一入口是通过相应的方法调用apiserver的接口 2.kubectl 是官方的CLI命令行工具,用 ...

  5. C#中静态字段声明时赋值与构造函数中赋值

    C#中静态字段是属于类的,访问的时候:用类名点成员名的方式. 赋值初始化的时候,可以在声明的时候赋值,也可以在静态构造函数中赋值. 如果在声明中.静态构造函数中都赋值,那么最终该成员的值,是取自哪一个 ...

  6. MS12-020 拒绝服务 蓝屏攻击

    漏洞概要 MS12-020是一个3389远程桌面rdp协议的一个漏洞 攻击者通过特意构造的rdp数据包发送给靶机3389端口,造成系统崩溃,蓝屏重启 影响范围:windows xp .2003.200 ...

  7. DecimalFormat--控制输出格式

    DecimalFormat的相关应用 整数的实现: 小数的实现: 科学计数法: 分组分隔符: 举个例子吧!-- 关于前缀后缀: 本地化货币符号: 引用特殊的字符,作为前缀或者后缀: 实例来袭! 1.0 ...

  8. PMP常见会议小结

    转载请注明出处: 会议是吸引项目团队和其他干系人参与的重要方式.它们是整个项目的主要沟通方式. 一. 项目启动会 召开时间:是启动阶段结束时召开的会议. 主要任务:发布项目章程,并任命项目经理,赋予项 ...

  9. MongoDB基础知识梳理

    简介 MongoDB 是由 C++ 编写的开源 NoSQL 和基于文档的数据库.MongoDB 提供了面向文档的存储方式,操作起来比较简单和容易,支持"无模式"的数据建模,可以存储 ...

  10. 关于在vue3中使用vuex与在vue2中使用vuex的区别

    首先vue2中vuex版本是4.x以下,vue3中使用vuex需要保证vuex版本在4.x及以上. 以下说一说怎么在vue3中使用vuex,与vue2大同小异 首先在views新建一个store文件夹 ...