深度相机:结构光、TOF、双目相机
随着人工智能与机器人、无人驾驶的火热,深度相机的技术和应用也受到关注,何谓深度相机?
顾名思义,就是可以测量物体到相机的距离(深度)
传统的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、双目相机的更多相关文章
- 干货 | LIDAR、ToF相机、双目相机如何科学选择?
点击"计算机视觉life"关注,置顶更快接收消息! 本文阅读时间约5分钟 本文翻译自卡内基梅隆大学 Chris asteroid 三维视觉技术的选择 传感器参数及定义 LIDAR ...
- 教你如何认识人脸识别开发套件中的双目摄像、3D结构光摄像头、单目摄像头的区别及详细讲解
深圳市宁远电子提供的人脸识别模组可支持双目摄像头和3D结构光摄像头,在客户咨询中经常有被问到双目的为什么会比单目的成本高,区别在哪里,他们的适用于哪些场景呢?在此,深圳市宁远电子技术工程师就为大家详细 ...
- TOF与结构光技术分析
TOF与结构光技术分析 一.概述 结构光(Structuredlight),通常采用特定波长的不可见的激光作为光源,它发射出来的光带有编码信息,投射在物体上,通过一定算法来计算返回的编码图案的畸变来得 ...
- 双目相机标定以及立体测距原理及OpenCV实现
单目相机标定的目标是获取相机的内参和外参,内参(1/dx,1/dy,Cx,Cy,f)表征了相机的内部结构参数,外参是相机的旋转矩阵R和平移向量t.内参中dx和dy是相机单个感光单元芯片的长度和宽度,是 ...
- 基于USB3.0的双目相机测试小结之CC1605配合CS5642 双目 500w摄像头
基于USB3.0的双目相机测试小结之CC1605配合CS5642 双目 500w摄像头 CC1605双目相机评估板可以配合使用柴草电子绝大多数摄像头应用 如:OV5640.OV5642.MT9P03 ...
- CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评
CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评 摄像头配置:ov5640.OV5642.mt9p031.mt9m001c12stm OV5640 xclk:24 ...
- Autoware 进行 Robosense-16 线雷达与 ZED 双目相机联合标定!
项目要标定雷达和相机,这里记录下我标定过程,用的速腾 Robosense - 16 线雷达和 ZED 双目相机. 一.编译安装 Autoware-1.10.0 我没有安装最新版本的 Autoware, ...
- 3D-camera结构光原理
3D-camera结构光原理 目前主流的深度探测技术是结构光,TOF,和双目.具体的百度就有很详细的信息. 而结构光也有双目结构光和散斑结构光等,没错,Iphone X 的3D深度相机就用 散斑结构光 ...
- 3D结构光
3D结构光 3D结构光的整个系统包含结构光投影设备.摄像机.图像采集和处理系统.其过程就是投影设备发射光线到被测物体上,摄像机拍摄在被测物体上形成的三维光图形,拍摄图像经采集处理系统处理后获得被测物体 ...
- 【已解决】WebUploader 0.1.5 安卓手机不能访问相机、IOS直接访问相机 的问题
WebUploader 0.1.5 安卓手机不能访问相机.IOS直接访问相机 的问题 打开 webuploader.js if(navigator.userAgent.indexOf('Android ...
随机推荐
- EL_获取域中存储的值_ List 集合&Map集合值和EL _ empty 运算符&隐式对象 pageContext
3.获取对線. List 集合. Map 集合的值 1.对線:${域名称,键名.属性名}本质上会去调用对線的 getter 方法 2. List 集合:${域名称.键名[索引]} List list ...
- python之自动化连连看脚本-第一关不动-小记
(如想转载,请联系博主或贴上本博地址) 仅供学习python之用,勿用做商业用途.运行环境为1920*1080屏幕,python3.7,win7,谷歌浏览器版本 75.0.3770.100. 参考ht ...
- Spring boot 入门-从idea 创建一个Spring boot应用!
1.File->New Project. http://start.springboot.io 2.下一步. 3.选择依赖. 4.生成项目. 5.运行. 6.设置Tomcat端口 src\mai ...
- python abseil库(app, flags, logging)总结
absl (Abseil PythonCommon Libraries)(https://abseil.io/docs/python/)是用于构建Python应用程序的Python库代码集合,它包括三 ...
- BaseMapperX
package cn.iocoder.yudao.framework.mybatis.core.mapper; import cn.iocoder.yudao.framework.common.poj ...
- 内存取证 volatility的使用
volatility 简介: volatility(挖楼推了推) 是一个开源的框架,能够对导出的内存镜像进行分析,能够通过获取内核的数据结构,使用插件获取内存的详细情况和运行状态,同时可以直接dump ...
- 手把手 Golang 实现静态图像与视频流人脸识别
说起人脸识别,大家首先想到的实现方式应该是 Python 去做相关的处理,因为相关的机器学习框架,库都已经封装得比较好了.但是我们今天讨论的实现方式换成 Golang,利用 Golang 去做静态图像 ...
- CF309E 题解
11:30,过题.12:50,忘记做法. 吃饭时不该看未来日记的,Ynoj 害人不浅(确信). 以上为个人吐槽. 题目大意 不知道题目翻译是个啥...但讨论区有大佬给出了精确的翻译.我改得符合题目背景 ...
- swiper.js Bscroll 轮播
<!-- 轮播banner图 --> <div class="banner"> <div class="swiper-container&q ...
- 使用golang+antlr4构建一个自己的语言解析器(一)
Antlr4 简介 ANTLR(全名:ANother Tool for Language Recognition)是基于LL(*)算法实现的语法解析器生成器(parser generator),用Ja ...