简介

随着机器视觉,自动驾驶等颠覆性的技术逐步发展,采用3D 相机进行物体识别,行为识别,场景建模的相关应用越来越多,可以说3D 相机就是终端和机器人的眼睛。3D 相机跟之前的普通相机(2D)比,又有哪些差别。3D 相机又称之为深度相机,顾名思义,就是通过该相机能检测出拍摄空间的景深距离,这也是与普通摄像头最大的区别。普通的彩色相机拍摄到的图片能看到相机视角内的所有物体并记录下来,但是其所记录的数据不包含这些物体距离相机的距离。仅仅能通过图像的语义分析来判断哪些物体离我们比较远,哪些比较近,但是并没有确切的数据。而3D 相机则恰恰解决了该问题,通过3D 相机获取到的数据,我们能准确知道图像中每个点离摄像头距离,这样加上该点在2d 图像中的(x,y)坐标,就能获取图像中每个点的三维空间坐标。通过三维坐标就能还原真实场景,实现场景建模等应用。
从上面描述可以看出,我们的眼睛就是一个天然的3D 相机,这主要得益于偏光原理,当人眼在看任何物体时,由于两只眼睛在空间有一定间距约为5cm,即存在两个视角。这样形成左右两眼所看的图像不完全一样,称为视差。这种细微的视差通过视网膜传递到大脑里,就能显示出物体的前后远近,产生强烈的立体感,这是1839 年,英国科学家温特斯顿发现的奇妙现象。自然的,人类就想到通过两个一定距离的普通摄像头来模拟人眼来获取3D 数据。这就是最初的双目立体相机,鉴于双目相机的一些缺陷,后来人们又发明了结构光和TOF 的方法来获取3D 数据。
目前市面上常有的3D 相机方案就就是这3 种。
(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), 奥比中光。下图是一个典型的结构光相机的示意图:


特定波长的Laser 发出的结构光照射在物体表面,其反射的光线被带滤波的camera 相机接收,滤波片保证只有该波长的光线能为camera 所接受。Asic 芯片对接收到的光斑图像进行运算,得出物体的深度数据。其基本的算法原理可参看下图:

A 点:激光投影模块位置
C 点:CMOS 相机位置
d: BaseLine
l: 参考面到相机的距离
Z(X,Y): 物体表面(x,y)点到标定平面的距离。
物体表面任一点P(x,y)的深度信息可以通过比较P(x,y)与激光散斑投射到参考平面(虚线所示)上的点P’(x,y)的x 方向的偏移量得到。以奥比中光的方案为例,采用的是散斑结构光的技术,下图是camera 接收到的散斑图苹果公司的IphoneX 采用收购至primesense 的技术,也是散斑结构光,所谓散斑就是是激光照射到粗糙物体或穿透毛玻璃后随机形成的衍射斑点。这些散斑具有高度的随机性,而且会随着距离的不同而变换图案。
也就是说空间中任意两处的散斑图案都是不同的。只要在空间中打上这样的结构光,整个空间就都被做了标记,把一个物体放进这个空间,只要看看物体上面的散斑图案,就可以知道这个物体在什么位置了。当然,在这之前要把整个空间的散斑图案都记录下来,所以要先做一次光源标定, 通过对比标定平面的光斑分布,就能精确计算出当前物体距离相机的距离。

结构光(散斑)的优点主要有:
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 都有机会。虽然项目具体使用哪种方案,要结合当前硬件资源,对性能要求等来确定,但从最广泛的使用角度来看,散斑结构光无疑是目前最佳的方案。

物体检测学习笔记-3D相机成像原理简介相关推荐

  1. 【3D目标检测】单目相机成像原理

    目录 学习资料 学习笔记 学习资料 2.2 针孔相机模型 3D视觉坐标系与坐标转换 学习笔记 相机结构最基本的理解就是透镜模型,穿过光心的光线没有改变方向,其他光线都会在一定程度上改变方向. 为了方便 ...

  2. 目标检测学习笔记-3D摄像头与 2D摄像头区别

    1. 2D&3D 的定义 首先2D,3D 的D 是什么意思?D 全称是Dimensional,翻译中文为维度.中文解译2D,3D 为二维,三维. 2. 2D 和3D 区别 如果从数学,物理角度 ...

  3. 3D相机测距原理总结

    1.引言 3D相机 ,区别于传统的只能获取平面图像的2D相机,最大的特点在于而已获得景深数据.通过平面坐标(x,y)和摄像头距离该点的深度数据z的组合.可以获取图像中每个点的三维坐标,可以完成真实场景 ...

  4. 【相机标定与三维重建原理及实现】学习笔记1——相机模型数学推导详解

    目录 前言 一.小孔成像模型 二.坐标系的变换 1.世界坐标系到相机坐标系的变换(刚体变换)[xw^→xc^\boldsymbol {\hat{x_{w}}}\rightarrow \boldsymb ...

  5. 【自动驾驶】16.计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换

    本篇博客为转载,我对其中的细节添加了一些说明. 原文链接:https://blog.csdn.net/chentravelling/article/details/53558096 0.前言 最近整理 ...

  6. 计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换(转载)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chentravelling/article/details/53558096 0.前言 最近整理了& ...

  7. [初窥目标检测]——《目标检测学习笔记(2):浅析Selective Search论文——“Selective Search for object recognition”》

    [初窥目标检测]--<目标检测学习笔记(2):浅析Selective Search论文--Selective Search for object recognition> 本文介绍 前文我 ...

  8. 车辆行人检测学习笔记

    车辆行人检测学习笔记 1.目标检测&常见检测网络 目标检测:物体识别是要分辨出图片中有什么物体,输入是图片,输出是类别标签和概率.而目标检测不仅要检测图片中有什么物体,还要输出无异的外框(x, ...

  9. 《南溪的目标检测学习笔记》——模型预处理的学习笔记

    1 介绍 在目标检测任务中,模型预处理分为两个步骤: 图像预处理:基于图像处理算法 数值预处理:基于机器学习理论 关于图像预处理,请参考<南溪的目标检测学习笔记>--图像预处理的学习笔记 ...

  10. 《南溪的目标检测学习笔记》——COCO数据集的学习笔记

    1 COCO数据集 COCO数据集下载链接:COCO_download 1.1 数据概览 数据集大小 train: 118287张 train+val: 123287张 val: 5000张 目标数量 ...

最新文章

  1. 图形旋转的C语言源程序
  2. centos5.5上安装oracle 11g R2[转发-参考用]
  3. 51Nod - 1024 矩阵中不重复的元素(数学)
  4. spark中dataframe解析_Spark-SQL
  5. 使用字符串切割,使手机号中间四位隐藏
  6. WebForm页面间传值方法(转)
  7. 项目过程的几点经验总结
  8. Google Code 5岁啦!
  9. LayaAir UI 组件 # RadioGroup 单选框按钮组
  10. 购物网页设计php实验报告,购物网站设计-Web实验报告
  11. TMR 传感器的原理及应用
  12. 金蝶K3 WISE 13.1版本服务器虚拟机环境部署
  13. windows蓝屏解决方式SYSTEM_THREAD_EXCEPTION_NOT_HANDLED,失败的操作wdf01000.sys
  14. springboot整合微信网页授权登陆
  15. com.esotericsoftware.kryo.KryoException: Encountered unregistered class ID
  16. NYOJ 234 吃土豆(基础dp)
  17. ar ebs 销售订单关闭_ZARA母公司拟关闭1200家门店,拿什么拯救快时尚品牌?
  18. 笔记本电脑外接显示器 卡_如何向Mac笔记本电脑添加和配置外接显示器
  19. tar解压时提示Cannot open: File exists
  20. 虚函数与虚函数表剖析(动多态)

热门文章

  1. Linux删除账号及主目录,linux 删除用户账号和主目录
  2. 关于vscode CloudMusic 插件无法登陆
  3. matlab希尔伯特变换,希尔伯特变换和傅里叶变换MATLAB仿真
  4. IPv6笔记-地址结构与分类
  5. transcad安装教程_Transcad基础视频教程
  6. HTML超链接使用代码
  7. Matlab2017a许可证问题:一直提示激活
  8. MySQL 数据恢复 —— 使用 data 目录
  9. 三菱伺服驱动器示例_三菱伺服电机+编码器(伺服控制器)的接线示例
  10. snmpwalk , snmpget