3D感知和建模关键硬件技术:双目、3D结构光和TOF

techbrood 发表于 2019-02-28 14:28:08

标签: ar, xr, hardware

- +

无论VR、AR和3D打印,其核心技术包含3D成像和建模。

而3D建模属于劳动密集型的工作,耗时耗力,凡这类工作都会是被新技术革命的地方,自动3D建模技术就是为了解决这样的产业瓶颈。

而自动3D建模的一个技术前提是需要设备(如手机或专业的3D扫描仪)能够有效(高精度且快速)感知3D景深

这就引出了本文的主题,也就是当前主流的几种3D视觉解决方案:双目、3D结构光和TOF。

由于本站并非专业的硬件网站,所以尽量从应用层面以浅显易懂的方式来介绍这些硬件方案的特性和工作方式。

1.jpg

上图是这3种解决方案的工作原理和技术特点。

双目方案是根据自然光线下双摄像头成像的计算机视觉差异来判断景深,类似人眼的判断方式。

缺点是计算量大,功耗高,受环境影响大(比如雾天人就很难感知周围环境)。

3D结构光和TOF方案都是类似雷达探测的方式,也就是依靠额外的专门的光源来探测景深,以及关联硬件对该特殊光源的特定处理。

由于无需处理复杂的自然光,这些硬件能够更为高效精准的获得景深数据,而且不依赖于现实光照情况。

3D结构光

3D结构光本身是优点颇多的,精度高、功耗低、全天候、环境适应性好,非常适合用作人脸识别、支付,以及对自拍美颜进行细节补充。所以,在iPhone X搭载这项技术后,有的Android旗舰也开始搭载这项技术。OPPO Find X就是Android阵营的3D结构光代表。

以散斑结构光为基础原理的3D结构光,发射衍射光斑到物体上,传感器接收到发生形变的光斑,从而根据光斑形变的量来判断深度信息。它所发射的衍射光斑在一定距离外能量密度会降低,所以不适用于远距离的深度信息采集。3D结构光的工作距离范围很短,仅0.2m-1.2m,适合手机前置摄像头,而需要长距离信息的后置摄像头也不适用3D结构光。

3.jpg

TOF

TOF是Time of Flight即飞行时间的缩写。其具体原理是通过给被测目标连续发送光信号,然后在传感器端接收从被测目标返回的光信号,再通过计算发射和接收光信号的往返飞行时间来得到被测目标的距离。和3D结构光一样,TOF是一个用以补充图像Z轴深度信息的技术。

不过,和3D结构光不同的是,TOF技术是发射的不是散斑,而是面光源,所以在一定距离内,TOF的光信息不会出现大量的衰减,同时TOF感光元件的单位像素非常大,为10μm,对于光的采集有足够的保障,理论上只要提高发射端的功率,TOF的使用距离会非常远。一般情况下,TOF的工作距离范围是0.4m-5m。因此整体上来看,TOF更适合用在后置摄像头上。

TOF的解决方案里,用的图像传感器是CCD,功耗颇高,这对于电池续航本就捉襟见肘的手机不啻为一个大问题。

好在,索尼在2017年12月推出的IMX456QL CMOS解决了功耗问题,其功耗仅为CCD方案的1/5~1/3。该传感器结合了两种像素技术,一是提高反射光信号读取精度的像素技术,二是背照式CMOS影像传感器的像素技术,从而大幅提升了光线收集率和测距速度。该传感器搭载了高感光度的驱动模式,即使远距离也可实现高精度测距。

2.jpg


possitive(23) views8425 comments0

发送私信

最新评论

请先 登录 再评论.
相关文章
  • 微信公众号在线生成二维码带参数怎么搞?

    带参数二维码是微信公众号渠道二维码的一种实现
    微信的带参数二维码有两种,一种是临时二维码,一种是永久二维码,但是永久二维码的生成是有个数限制的,微...

  • WebAssembly工作原理和JavaScript语言性能对比分析

    本文简单说明WebAssembly(简称wasm)工作原理和高性能的原由(和JavaScript相比)。不过需要提醒的是Wasm并非设计来完全替代JS,而是对JS的一个强大补充,JS中...

  • JavaScript事件模型图解

    在JavaScript中用户交互的核心部分就是事件处理。本文为对事件模型和处理机制的总体性描述。Event是什么?
    event是用户操作网页时发生的交互动作,比如clic...

  • 常见面试题JavaScript闭包(ES5语法)

    JavaScript闭包(Closure)是常见的JS面试题,是否理解闭包是一个简单的区分JS初级和高级程序员的判例。几乎每个JS程序员都在使用闭包,有意或无意间。比如编写一个jQuery鼠标点击处理函数:$(function()

  • Web界面编程状态变化和JS开发框架(React/Angular/Ember)

    UI编程中的一个关键课题就是界面组件化(可复用)以及组件状态管理。稍早一些的windows程序员可能接触过MFC,其界面编程中有一个DDX(DoDataExchange)的机制,...

  • 深入理解JS和CSS3动画性能问题和技术选择

    本文对比了JS及其框架和CSS3的动画性能,并深入剖析了其内在原因。技术结论大致如下:1. jQuery出于设计原因,在动画性能上表现最差2. CSS3由于把动画逻辑推给了...

  • 三维向量的简单运算和实用意义

    在WebGL的实际应用中我们广泛使用向量的几何运算来计算角度、距离,判断点线、点面之间的关系,比如物体之间的碰撞检测。本文简要介绍三维计算机图形学中常用的...

  • Blender2.7 快捷键一览表

    通用操作
    停止当前操作:ESC
    快捷搜索:SPACE撤销:ctrl+z重做:ctrl+shift+z渲染:F12
    单选:鼠标右键(RMB)全选:A
    框选:B
    刷选:...

  • S3TC(S3 Texture Compression)纹理压缩格式详解

    使用S3TC格式存储的压缩纹理是以4X4的纹理单元块(texel blocks)为基本单位存储的,每纹理单元块(texel blocks)有64bit或者128bit的纹理单元数据(texel data)。这...

  • IE各版本CSS Hack(兼容性处理)语法速查表

    为了兼容IE各个版本,需要在CSS中添加额外的代码,比如以前常用的_width。之所以工作,是因为浏览器会忽略不能解析的样式规则,因此举个例子来说,把_width写在w...

  • 浏览器控制台报JS脚本执行错误:Module is not defined

    现在JS分成了两个分支,一部分在服务器端发展如NodeJS,一部分是传统的浏览器运行环境。
    有些插件在编写JS代码时,是针对Node编写的,所以直接在浏览器中使...

  • inline-block元素设置overflow:hidden属性导致相邻行内元素向下偏移

    在表单修改界面中常会使用一个标签、一个内容加一个修改按钮来组成单行界面,如图1所示。那么在表单总长度受限的情况下,当中间的邮箱名称过长时,会遮盖到旁边...

  • 使用CSS3实现流星雨动画教程

    很多营销页面中需要实现类似流星雨的动画背景,营造节日浪漫的气氛。要实现这样的效果,有两种方法,一个是使用Canvas,一个是使用纯CSS3,我们这里介绍第2种方...

  • 更多...