qg777钱柜误乐

热门关键词: qg777钱柜误乐

三个维度重新建立综述

常用的三种类型的深度相机[1],大致分为以下三种:基于主动投射结构光的深度相机(如Kinect 1.0, Intel RealSense, Enshape, Ensenso等)、被动双目相机(如STEROLABS 推出的 ZED 2K Stereo Camera, Point Grey 公司推出的 BumbleBee)以及ToF[2]相机(如微软的Kinect 2.0, MESA 的 SR4000 , Google Project Tango 中使用的PMD Tech 的TOF相机,Intel 的 SoftKinect DepthSense, Basler基于松下的芯片开发的TOF相机以及国内一些初创公司基于TI的方案开发的TOF相机等等)

随着机器视觉、自动驾驶、机器人的火爆,采用深度相机采集环境的深度信息然后进行物体识别、环境建模等越来普遍;相对于传统2D相机,3D相机增加了一维的深息,因而,能够更好的对真实世界进行描述;在许多领域如安防、监控、机器视觉、机器人等,拓展了更多的可能;如自动驾驶中的物体识别和障碍物检测,工业中散乱码放物体的识别、分拣、拆垛、码垛,物流场景中物体的货架抓取等等。

原文地址AC4Fun.com, 转载请注明出处~,谢谢

目前市面上常有的 3D 相机方案就就是下面3种,对应上面的: 结构光(Structured-light),代表公司有奥比中光(国产,比较推荐,性价比可以,也有高分辨率的款),苹果(Prime Sense),微软 Kinect-1,英特尔RealSense, Mantis Vision 等。 双目视觉,代表公司 Leap Motion, ZED, 大疆; 光飞行时间法,代表公司微软 Kinect-2,PMD,SoftKinect, 联想Phab。

深度相机,顾名思义,指的是可以测量物体到相机距离(深度)的相机,如微软的Kinect, Kinect 2, Intel 的 RealSense甚至包括激光雷达也可以归为深度相机。

背景

  • 对几何3D模型不断增长的需求:电影 游戏 虚拟环境等行业
  • VR&AR的火爆
  • 房地产 三维地图等领域的需求

图片 1image_1cs5el5cb14m9bhr9ts11rvgve4i.png-82.7kB

从原理上来讲,深度相机测量深度主要分为两大类:

应用

  • 中国古代建筑三维数字化保护
  • 三维数字化城市
  • 三维地图
  • VR&&AR游戏,电影等
  • 医疗行业:三维心脏
  • 教育行业等

先给出结论,KinectV2的精度在2mm~4mm左右,距离越近精度越高,越远精度稍微差点;kinectV1误差约2mm~30mm

1) 基于特征匹配的深度测量原理,如基于红外散斑结构光原理的Kinect 1, 基于红外条纹结构光的Intel RealSense, 基于可见条纹结构光的Enshape,甚至单纯采用双目视觉的BumbleBee等等;上述几类相机无论采用哪种结构光或者不采用结构光,其最终计算深度时本质上采用的均可以看作是特征匹配的方法;

方法介绍

传统的三维重建主要是依靠昂贵的三维扫描设备,并且需要被扫描的目标保持一段时间的稳定。近年来,由于计算机硬件大规模计算能力的发展,特别是GPU和分布式计算的发展,实时高效的解决方案成为了可能。目前主流的方法主要分为以下两类:

  • 基于深度相机的三维重建
  • 基于图像的三维重建

Kinectv2 for Mobile Robot Navigation: Evaluationand Modeling

2) 基于反射时间的深度测量原理,如Kinect 2.0, MESA 的 SR4000,SR4500,Google Project Tango 采用的PMD Tech 的相机 ,Intel 的 SoftKinect DepthSense 甚至包括无人驾驶领域L3和L4的分水量激光雷达等等;上述几类相机在计算深度信息时无一例外地均采用发射光与反射光之间的时间差计算深度;

基于深度相机的三维重建

  • Kinect v2在不同位置的精度问题

下面分别对基于特征匹配的深度测量原理以及基于反射时间的深度测量原理进行详细的描述;

深度相机

原理 主要有以下三种:

  • 结构光,这个技术的代表产品是 Kinect 一代,它的传感器芯片用的是 PrimeSense 家的。PrimeSense 现在是苹果旗下的公司。
  • TOF,time-of-flight,代表产品是 Kinect 二代,由于微软对于 One 这个单词的热爱,它的官方名字是 Kinect One。
  • 双目摄像头,代表产品是 Google Tango 以及 Leap Motion,前者配有四台摄像头,后者有两个

主要设备有Kinect, ASUS Xtion PRO等

图片 2image_1cs6h8fbdokn1ljf1npuogg1g2b5p.png-1587.5kB

基于特征匹配的深度测量原理

Kinect 1代与kinect 2代比较

  • Kinect v1对应Xbox 360, Kinect v2对应Xbox One
  • Kinect v1,彩色摄像头为640480,深度摄像头为320240,只能识别两个人的骨骼数据。
  • Kinect v2,彩色为1080P,深度摄像头为512*424,能识别六个人的骨骼,并且识别稳定精度高。有红外线感应,1代没有
  • 功能(2代): 通过人体骨骼追踪识别与跟踪运动人群,手势识别,面部追踪,目标测距;语音识别,声源定位

目前基于深度相机进行三维重建的工作有很多,最经典的应该属微软剑桥研究院的Kinect Fusion, 2011, 微软有自己的SDK, 注意一代和二代的原理有很大的不同,分别下载对应的SDK,目前对Kinect 2代的支持还不是特别好,它对硬件也有一定的要求(特别是USB3.0接口):

Kinect SDK2.0 System Requirements.png

当然,开源社区也有许多基于Kinect Fusion的开源实现,如由PCL团队开发的KinFu),论文在这里。高通公司nullspace的开源项目kfusion, 但是个人觉得目前效果最好的,应该要属Kintinuous,Real-time large scale dense visual SLAM system了。不过Kintinuous对kinect 2代的支持效果还不好,目前Kinect 1代和华硕的Xtion支持比较好(可能和他们都是PrimeSense的TOF原理有关吧)

如上图所示,右侧大三角是KinectV2在纵向的精度分布,下侧大三角是KinectV2在水平面上的精度分布。在绿色区域精度最高,误差小于2mm,在黄色区域误差在2~4mm,红色区域误差大于4mm。所以在设计交互场景时,在黄色区域以内会达到最好的效果。如果对精度要求很高,如控制机械,最好在绿色区域进行交互。

无论是主动投影光斑的结构光深度相机还是基于被动双目视觉原理的深度相机,其本质上均为首先对投影仪投射的光斑与相机之间拍摄图像(或双相机拍摄图像)进行特征匹配,然后在此基础上基于三角测量原理(通过测量三角形3条边3个角中的三个量:如角边角,边角边等计算其余三个量)计算特征点距离相机的距离。如下图所示:

基于图像的三维重建(3D Reconstruction from multiple Images)

关键点 实时要求/室内场景/大范围场景/点云精确度要求
由于基于深度相机(RGB-D)会受到红外距离的限制,如kinect支持的距离为0.5-5m,而且容易产生空洞(holes),所以比较适合室内场景,目前应用最多的是机器人Visual SLAM方面。但是从三维重建的实际应用角度来看,不够方便(主要是Kinect需要使用外接电源,而且需要连接电脑),目前工业界用的最多的方法应该是基于图像的三维几何重建了,其主要步骤包括局部特征匹配Structure-from-Motion, Multi-View StereoSurface ReconstructionSurface Texturing 等。
这种方法主要需要解决的问题是判断相机的姿态(位置和方向),这点和Visual SLAM比较类似。

立体视觉的核心问题

通过对照片特征的检测与匹配,得到相机的姿态,并计算出稀疏的场景三维点云。

目前比较好的算法主要有:

  • [VisualSFM](http://ccwu.me/vsfm/)
  • OpenMVG
  • 经典的Bundler
  • MVE

图片 3性能表对比

 

目前已知的研究小组有:#

百度深度学习研究院
中科院自动化所模式识别国重机器视觉课题组
美国明德学院(Middlebury college)
香港科技大学
德国达姆施塔特工业大学MVE
OpenMVG)

相关人物
王亮
章国峰

Kinect v2的rgb视场是84.1 x 53.8,关于FOV的建模和模型可以参考。

图片 4

一些资料收藏

深度数据RGBD集合

图片 5image_1cs6hgs884u61c4cs061tp61d9466.png-274.2kB

上图中O所在位置为Projector光源所在位置或者双目视觉中左相机光心,(b,0,0)所在位置为右相机光心;(x0,y0,f0)和(x1,y1,f1)分别为特征点在左相机像平面和右相机相平面中的投影;

参考文献#

3D Photography Gallery
wedidstuff

基于图像的三维重建是我的研究重点,接下来将会对具体的技术,如特征提取算法,稀疏重建,立体匹配与重建,表面重建等分别说明。

如果上面有什么不对的地方,欢迎大家指教。

如图所示,KinectV1随着距离增加,误差指数性增加,在距离达到4m时,kinectV1误差接近0.2m。而KinectV2的误差几乎不随距离增加而变化。V2比V1追踪准确度好20%。V2可以在户外进行人体跟踪,最远到4m。V2在近距离有比V1高2倍的精度,在6m有高数十倍的精度。

根据成像原理,O,(x0,y0,f0),(x,y,z)共线,O,(x1,y1,f1),(x,y,z)g共线;

  • kinectv1和kinectv2比较

  • |KinectV1|KinectV2----|----|----检测范围(Range of Detecton)|0.8–6.0m|0.5 –4.5m深度误差(depth Uncertainty)|2mm-30mm|<0.5% of range角度(Angle,horizontal-vertical)|57-43|70-60

根据射影原理:

LeapMotion的精度平均下来是0.7mm的精度,也是达不到所谓的0.01mm的。

图片 6

Analysis of the Accuracy and Robustness of the LeapMotion Controller

图片 7

上面的论文对初步版本中的Leap Motion控制器进行研究,分别在静态与动态设置下的精度和准确性,考虑到人手的可达到的平均约为0.4mm,实验用设备使用参考笔,位置精度可达0.2mm,且参考笔对仪器精度测量无可观察到的影响。在基于静态设置的测量下,获得了期望的3D位置与小于0.2mm的测量位置之间的与轴无关的偏差。在动态情况下,独立于平面,可以获得小于2.5mm的精度。重复性平均小于0.17毫米。在基于姿势的用户界面方面,在实际条件下不可能实现0.01mm的理论精度,而是高精度(总平均精度为0.7mm)。

根据上述两式便可以计算得到:

1. Microsoft Kinect

图片 8image_1cs835f4eiaa4gb1ln31cndcb2an.png-99.9kB

优点:

  • 可以获取深度数据、rgb
  • 数据、声音、骨骼节点
  • 拥有三套 SDK:微软 SDK、OpenNI、libfreenect
  • 后两个 SDK 是跨平台,支持各种开发语言
  • 价格便宜
  • 社区成熟,开发资源丰富

缺点:

  • 传感器分辨率不够,看不清手指
  • 由于使用结构光技术,深度传感器的可视范围无法重叠
  • OpenNI 和 libfreenect 虽然跨平台,但是功能远不如微软 SDK
  • 设备尺寸大,需要一坨电源线
  • 致命缺点,微软已宣布停止生产 Kinect 一代

图片 9

2. Microsoft Kinect One

图片 10image_1cs83c41h1bpip0qjqvc2s1aub4.png-84.5kB

优点:

  • 分辨率更大、可以看到更广阔的场景
  • 可以检测到的人体关节点更多,能看清手指
  • 拥有两套 SDK:微软 SDK、libfreenect2
  • 可以开发 Windows Store 应用

缺点:

  • libfreenect2 基本不能检测骨骼,功能缺太多,同时 OpenNI 也不支持它,因此局限于 Windows 平台
  • 设备尺寸比一代更大,需要一坨电源线,比一代贵一些
  • 致命缺点:只能运行在 64 位 Windows 8 系统上,必须使用 USB 3.0 端口

图片 11

3. Intel / Creative / SoftKinetic

图片 12image_1cs83s6uv6941lg0gaonlg1ocp19.png-259.3kB

优点:

  • 小巧,普通 USB 摄像头的尺寸
  • 不需要外界电源线
  • 近距离使用,可实现表情分析和手势识别

缺点:

  • 不适合远距离交互,也无法检测完整的身体
  • 只能在中高端的 Intel CPU 上才能运行

图片 13

4. Leap Motion

图片 14image_1cs83t6bukpppr9f021dtt1cdo1m.png-170.4kB

优点:

  • 小巧,一根 usb 线就可以使用
  • 跨平台
  • 支持的开发语言比较多,甚至通过 WebSocket
  • 实现了浏览器中的 JavaScript API
  • 跟踪手指和手掌,精度较高

缺点:

  • 检测范围小,手臂酸疼
  • 不能检测身体和脸部
  • 作为生产力工具,完全无法替代鼠标键盘
  • 致命缺点:找不到合适的使用场景

根据上述原理,在特征点已经匹配的基础上,无论是主动投影结构光深度相机还是纯被动双目相机,均可以计算出特征点的深度信息;

5. PrimeSense / Apple / 华硕

图片 15image_1cs8479dm6sncqr1ulgb1e1l5r23.png-80.6kB

和 Kinect 一代的优缺点类似,

然而,特征点的匹配并不是一件非常简单的事情,尤其是纯双目视觉中特征点的匹配,涉及到非常复杂的计算过程;

a) 主动投射结构光深度相机;

为了更加简单方便的对匹配特征点,许多学者和公司采用主动投影方法,提出了多种不同的方案,如投射激光散斑、投射可见光条纹、投射激光条纹、投射包含颜色信息的编码条纹等等;甚至有学者提出使用一个简单的金属杆模拟激光线条等,方法不一而足,但组中目的都是为了能够简单快速的匹配特征点;

 

图片 16

各种不同的特征

 

 

上述基于主动投射光源的深度相机,由于特征经过特殊设计,因而,特征的提取与匹配非常简单;同时,经过合理的设计,能够在一定范围内达到较高的精度,因而,在实际应用中使用相对较多,如Kinect 1.0, Intel RealSense, Enshape, Ensenso等,采用的均为主动投射光源的x方案;但,同时,可以想见,在投射光源的特征固定的情况下,物体距离相机越远,光斑越大,因而,相对应的测量精度越差,即相机精度随着距离的增大而大幅降低;因而,基于主动投影的深度相机往往在测量距离较近时应用较多;

本文由qg777发布于编程,转载请注明出处:三个维度重新建立综述

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。