作者:御剑飞行
什么是3D智能相机
3D智能相机是一种能够捕捉三维空间中物体形状和位置信息的相机。它可以在一个瞬间同时捕捉到物体的深度和颜色信息,并用这些数据创建一个三维模型。
3D智能相机工作方式示意图,图源@御剑飞行
3D智能相机能够捕获物体的更详细信息,包括其尺寸、形状和位置,这对于工业环境中的搬运和其他操作至关重要。该技术已广泛应用于制造和物流行业。
本文介绍了 3D 智能相机的一些优势、应用以及原理。
3D智能相机有什么优势?
3D 智能相机由多个摄像头组成,可以查看目标对象的环境、位置和方向,使用激光位移传感器技术执行表面检查功能,包括测量距离和体积,即使在减少相机数量的情况下也能确定形状并生成 3D 图像。
3D 智能相机通过三维扫描技术测量生成物体的3D数字模型,在工业环境中的一些用途包括光学测量、非接触式 3D 测量、条形码和 OCR 读取以及制造和物流中的过程控制。
3D智能相机工作过程示意图,图源@御剑飞行
3D智能相机有什么应用?
虚拟现实和增强现实: 3D智能相机可以为虚拟现实和增强现实应用提供更加真实的场景感知和交互体验。
智能家居和机器人: 通过安装3D智能相机,可以让智能家居和机器人更加智能化和具备环境感知的能力,从而更好地完成人机交互任务。
医疗和安防: 3D智能相机可以用于医疗影像的获取和安防监控中,从而提高诊断准确性和安全性
三维建模: 利用3D智能相机可以轻松地创建一个物体的三维模型,这在制造、建筑、设计等领域非常有用。
3D智能相机的原理是啥?
1,结构光成像
结构光,英文叫做 Structured light,其原理是基本原理是,通过近红外激光器,将具有一定结构特征的光线投射到被拍摄物体上,再由专门的红外摄像头进行采集。这种具备一定结构的光线,会因被摄物体的不同深度区域,而采集不同的图像相位信息,然后通过运算单元将这种结构的变化换算成深度信息,以此来获得三维结构。简单来说就是,通过光学手段获取被拍摄物体的三维结构,再将获取到的信息进行更深入的应用。通常采用特定波长的不可见的红外激光作为光源,它发射出来的光经过 一定的编码投影在物体上,通过一定算法来计算返回的编码图案的畸变来得到物体的位置和深度信息。
结构光成像法示意图,图源@御剑飞行
2,激光三角成像
激光三角测量,可精确捕获3D形状(数百万个点)。更精确地说,它们的工作原理是将激光点或激光线投射到物体上,然后用传感器捕获其反射。由于传感器的位置与激光源的距离已知,因此可以通过计算激光的反射角来进行精确的点测量。有了扫描仪到物体的距离的知识,扫描硬件就可以绘制物体的表面,从而记录3D扫描。
这种方法称为三角剖分,因为激光点(或线),传感器和激光发射器形成一个三角形,如下图所示。它们可以在短距离内工作。 激光还有一个强大的优点是可以在狭窄的波长范围内引导强光,因此它们几乎可以在任何环境下保持良好稳定的工作。
激光三角示意图,图源@御剑飞行
3,飞行时间成像
顾名思义是测量光飞行时间来取得距离,具体而言就是通过给目标连续发射激光脉冲,然后用传感器 接收从反射光线,通过探测光脉冲的飞行往返时间来得到确切的目标物距离。因为光速激光,通过直接测光飞行时间实际不可行,一般通过检测通过一定手段调制后的光波的相位偏移来实现。 TOF 法根据调制方法的不同,一般可以分为两种:脉冲调制(Pulsed Modulation)和连续波调制 (Continuous Wave Modulation)。脉冲调制需要非常高精度时钟进行测量,且需要发出高频高强度激光,目前大多采用检测相位偏移办法来实现 TOF 功能。简单来说就是,发出一道经过处理的光,碰到物体以后会反射回来,捕捉来回的时间,因为已知光速和调制光的波长,所以能快速准确计算出到物体的距离。
飞行时间法示意图,图源@御剑飞行
4,双目立体视觉
双目立体视觉法是一种基于多个相机捕捉物体不同视角图像,然后通过对这些视角的图像进行匹配来推断物体的三维结构。这种方法的优点是对光照和遮挡不敏感,但需要使用多个相机。它是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的 方法。当然完整的双目深度计算非常复杂,主要涉及到左右相机的特征匹配,计算会非常消耗资源。
基于双目立体视觉的3D相机类似人类的双眼,它不对外主动投射光源,完全依靠拍摄的两张图片(彩色RGB或者灰度图)来计算深度,因此有时候也被称为被动双目深度相机。比较知名的产品有STEROLABS 推出的 ZED 2K Stereo Camera和Point Grey 公司推出的 BumbleBee。
说到这里,有些读者会问啦:为什么非得用双目相机才能得到深度?我闭上一只眼只用一只眼来观察,也能知道哪个物体离我近哪个离我远啊!是不是说明单目相机也可以获得深度?
在此解答一下:首先,确实人通过一只眼也可以获得一定的深度信息,不过这背后其实有一些容易忽略的因素在起作用:一是因为人本身对所处的世界是非常了解的(先验知识),因而对日常物品的大小是有一个基本预判的(从小到大多年的视觉训练),根据近大远小的常识确实可以推断出图像中什么离我们远什么离我们近;二是人在单眼观察物体的时候其实人眼是晃动的,相当于一个移动的单目相机,这类似于运动恢复结构(Structure from Motion, SfM)的原理,移动的单目相机通过比较多帧差异确实可以得到深度信息。
但是实际上,相机毕竟不是人眼,它只会傻傻的按照人的操作拍照,不会学习和思考。下图从物理原理上展示了为什么单目相机不能测量深度值而双目可以的原因。我们看到红色线条上三个不同远近的黑色的点在下方相机上投影在同一个位置,因此单目相机无法分辨成的像到底是远的那个点还是近的那个点,但是它们在上方相机的投影却位于三个不同位置,因此通过两个相机的观察可以确定到底是哪一个点。
为啥双眼可以更快的辨别物体在哪里,图源@御剑飞行
更进一步的,关于双目立体视觉的深层原理,大家可以看下图,以便了解。由于涉及到更多的数学知识,本文不在此展开。
双目立体视觉法示意图,图源@御剑飞行
3D智能相机扫描的结果是啥?
可以生成多种数据格式,其中最常见的是点云数据格式。点云是一种由大量三维坐标点组成的数据格式,每个点都有其自身的X、Y、Z坐标值。这些点云数据可以通过不同的软件进行分析和处理,以生成精确的三维模型或者进行三维重建。
除了点云数据格式之外,3D智能相机还可以生成其他一些常用的数据格式。
其中之一是STL格式,即立体光刻格式。这种格式常用于快速原型制造和3D打印。它是一种三角网格数据格式,可以描述物体的表面几何形状,而不仅仅是物体的内部结构。
另一种常用的数据格式是obj格式,即开放式三维模型格式。它是一种通用的三维模型数据格式,可以描述三维模型的几何形状、纹理、光照等信息。obj格式被广泛应用于电影制作、游戏开发、建筑设计等领域。
除此之外,还有一些其他的三维数据格式,例如ply格式、xyz格式等。这些格式都有其自身的特点和适用范围。
点云示意图,图源@御剑飞行
想不想让3D智能相机扫描的模型在数字世界里显示出来?
来了来了,Mapmost 平台(Mapmost Alpha、Mapmost SDK for UE、Mapmost Studio、Mapmost SDK for WebGL)支持多种三维模型显示在数字孪生世界里,你想要的效果我们都能做。
Mapmost,图源@Mapmost官网 [https://www.mapmost.com]
关注Mapmost,持续更新GIS、三维美术、计算机技术干货
Mapmost是一套以三维地图和时空计算为特色的数字孪生底座平台,包含了空间数据管理工具(Studio)、应用开发工具(SDK)、应用创作工具(Alpha)。平台能力已覆盖城市时空数据的集成、多源数据资源的发布管理,以及数字孪生应用开发工具链,满足企业开发者用户快速搭建数字孪生场景的切实需求,助力实现行业领先。
欢迎进入官网体验使用:Mapmost——让人与机器联合创作成为新常态
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。微信公众号:Mapmost
原文链接:https://juejin.cn/post/7348797898493280290 作者:Mapmost