目录

1、什么是深度相机?

2、主流3D技术对比

3、如何为机械臂与AMR选择3D相机?

4、深度相机应用实例-机械臂&AMR

5、奥比中光提供哪些3D相机?

6、不同3D相机如何取舍?

7、替代升级微软Azure Kinect DK

8、轻松使用OpenCV软件进行开发

9、提供完整软件支持

10、携手NVIDIA赋能全球机器人客户

3D视觉技术是机器人实现精准感知的关键。针对不同的机器人应用,如何选择最合适的3D相机?近期,知名开源计算机视觉和机器学习软件库OpenCV邀请了奥比中光机器人业务总监Brad Suessmith进行互动直播分享,由 OpenCV首席执行官Satya Mallick、OpenCV内容与创意总监Phil Nelson主持。

Brad Suessmith

Brad Suessmith是一名在机器人视觉行业深耕多年的行业老兵,于2024年加入奥比中光。在此之前,Brad Suessmith在英特尔工作了超过13年,在深度相机行业及机器人视觉领域拥有丰富的经验。他的分享主题为《使用奥比中光3D相机轻松实现机器人感知》。在直播中,他介绍了深度相机及3D视觉技术在机器人中的具体应用,并基于机械臂和 AMR等应用案例,为全球机器人客户及开发者如何选择3D相机提供了直观的参考。

↑点击上方图片观看完整直播回顾视频

以下为Brad Suessmith在OpenCV的直播分享&对话内容节选:

01

什么是深度相机?

Brad Suessmith:普通2D相机为场景中的每个像素生成红、绿、蓝(RGB)值,而深度相机则为每个像素增加一个额外的值,表示到该像素的距离,通常是16位值。对于计算机来说,它只需要查看数据,不需要进行可视化。但对人类来说,我们使用深度图来可视化深度图像。这张红绿蓝图片就是一个深度图,奥比中光使用红色表示靠近相机的像素,绿色表示中间距离的像素,蓝色表示远离相机的像素。

3D相机为2D图像赋予深度数据

02

主流3D技术对比

Brad Suessmith: 目前有三种主要技术用于生成深度数据,包括双目立体视觉、结构光、飞行时间(ToF)。

三种3D视觉技术对比

双目立体视觉的工作原理与我们的眼睛完全相同。两个相机传感器根据物体的距离视差或视角变化计算距离。靠近相机的物体在视角上变化较大,而远离相机的物体变化较小。

结构光相机通过一个近红外投影仪,向场景投射一个编码图案,然后相机传感器捕捉该编码图像,并通过图像的畸变来计算像素的距离。

至于飞行时间(ToF),人们通常将其与激光雷达联系在一起:发出一束光,并测量光返回相机所需的时间。ToF 技术主要有两种,一种叫直接飞行时间(dToF),直接测量光的行程时间;另一种叫间接飞行时间(iToF),通过观察光波返回相机时的相位变化来测量。

这些技术各有优缺点,取决于照明条件、目标距离、运动、功耗和成本等因素,不同技术在不同方面表现不同。

Satya Mallick:在某些相机系统中,有时相机在处理平面时效果不好。于是人们会添加一个红外投影仪,以便获得一些纹理。我们看到有两种结构光,一种有一个相机和一个投影仪;另一种是两个相机和一个投影仪,投影仪只是为环境添加纹理。

Brad Suessmith: 是的,奥比中光同时提供单目结构光与双目结构光的相机。其中一个小的区别是,投影仪投射的图案是伪随机点和破折号阵列,通常不是编码的,这允许多个立体相机共享同一场景而不会互相干扰。

Satya Mallick:对于这三种使用场景,在哪些情况下更适合选择哪种相机系统?

Brad Suessmith:一般来说,双目立体视觉可能是最适应户外操作条件的。大多数被动双目立体视觉能够在全阳光下操作,因为户外有很多自然纹理,如草、树、汽车和房屋。而结构光相机和ToF相机在940纳米波长工作。在该波长下,太阳会发出大量红外能量,这往往会淹没投影仪或光源,所以它们在户外操作时通常会遇到困难。

另一方面,立体相机往往在边缘定义方面表现较差,因为总有一些像素是左传感器能看到但右传感器看不到的,这是ToF相机的优势之一:光子要么击中物体返回相机,要么继续通过物体,所以可以得到非常清晰的边缘,这对拾放应用非常有帮助。

结构光相机在精度方面非常强大。如果你需要最佳的精度,将相机生成的数据与物体的实际测量结果进行比较,结构光会给你最好的精度。不过,结构光相机的精度在更长的距离上呈指数级下降,你可以通过增加基线来补偿这一点,即传感器之间的距离,但这样相机会变得非常大,并且更难保持校准。

03

如何为机械臂与AMR选择3D相机?

Brad Suessmith: 深度相机技术被用于各种市场领域,在这我会重点介绍机械臂和自主移动机器人应用。

对于机械臂应用,人们往往倾向于选择ToF相机(尽管偶尔也会用双目立体视觉相机)。ToF相机的一些优势对机械臂而言很重要。首先,物体是静止的,ToF相机在处理静止物体时表现良好,它们有高保真的边缘定义,并且误差值在工作距离上通常是恒定的。当构建一个大型的托盘化机械臂系统时,通常相机必须离场景有一定距离,因为你需要有空间让大型工业臂在下面操作,而 ToF相机在较长距离上可提供良好的准确性。

另外,大多数机械臂是在室内可控光照条件下操作,不必担心阳光干扰。并且,由于相机通安装在系统顶部,甚至在天花板上,电缆到计算机的距离相当长。奥比中光提供的ToF飞行时间相机有两个型号(Femto Mega,Femto Mega I)提供以太网接口,使得长电缆的运行成为可能。

一般而言,ToF相机更适用于机械臂,双目立体视觉相机更适用于 AMR

自主移动机器人使用的3D相机需要在运动时生成稳定的图像,它们往往在多变的光照条件下操作,如送餐机器人需要在阳光下穿越人行道;室内机器人往往在仓库和为人类设计的环境中工作,阳光会透过这些仓库的天窗或窗户,这可能会干扰ToF或结构光相机。双目立体视觉相机在这种环境中表现良好,因为它们可以相互操作而不互相干扰。

AMR经常需要在透光、反光地面运行

另外,当你在一个机器人上有10台相机时,成本因素更重要了。双目立体视觉相机往往比其他技术便宜一些,这使得它们更加合适。

Satya Mallick:这些相机对电力的需求如何?

Brad Suessmith: 双目立体视觉相机,特别是被动式立体视觉相机,功耗通常较低,因为它们可以在没有投影仪的情况下运行。尽管投影仪的功耗相对较低,但它却是相机中的主要功耗部件,决定了相机的整体功耗。ToF 相机和结构光相机,由于采用主动技术,依赖于VCSEL 激光照亮场景,功耗往往更高。特别是如果你想要更长的距离,功耗会增加。

Satya Mallick:低功耗的相机非常适合自主移动机器人。而对于固定的机器人臂,它们可以依靠接入电源。

Brad Suessmith:对,特别是当一个机器人上有16台相机时,电力需求会非常快地增加起来。

Satya Mallick:这些以太网电缆的长度是以太网规范允许的长度吗?

Brad Suessmith:是的,奥比中光提供的相机具备千兆以太网接口,只要是千兆以太网标准允许的长度即可,通常最大约100米。而对于USB 3.0接口,通常被动电缆设计的最大长度限制在3米以内,超过这个长度你需要主动电缆或集线器或某种中继机制。

04

深度相机应用实例-机械臂&AMR

对于机械臂应用,深度数据的功能包括从一个非结构化的物体容器中拾取物品,深度数据非常有助于识别单个物体,并将它从背景和容器内的其他物体中分割出来,以便机械臂单独抓取物体,还可以识别抓取器应该放置在手指或吸盘的位置,以可靠地抓取物体而不掉落。

深度数据对机械臂不可或缺

另外,如果你有一个托盘化机器人,你需要将拾取的物品放置到托盘上,你需要识别托盘上的空闲空间。显然,深度信息可以提供这些数据,因为你可以看到到顶面的大距离和周围区域的小距离。

如果你有多个机械臂一起工作,深度相机可以让它们协作更紧密:相机会在一个臂接近另一个臂时减慢速度,在距离较远时加快速度。工业机械臂具有一定的危险性,通常人们会将它们放在笼子里,但如果有安全认证的相机阵列,就可以保护人类免受机械臂的危险:当人类接近时,减慢机械臂的速度,直至完全停止机械臂工作。

对于自主移动机器人,情况则简单一些。3D相机提供的深度数据主要有两个功能,一个是建图,标记出所有货架、墙壁、柱子和可能遇到的障碍物,以及所有目的地位置等。要做到这一点,机器人需要生成包含所有障碍物的地图,还需要能够识别场景中的特征,这些特征可以让运行机器人的计算机提取视觉数据,从而启用其同时定位与建图(SLAM)功能,让机器人在任何给定时间内都能理解它在仓库中的位置。

3D相机是移动机器人建图和避障的关键

另一个主要功能是避障。当机器人在移动时,它会与人类、其他机器人和叉车等一起工作,所以机器人需要理解前方有障碍物,并识别障碍物的类型,决定是减速、停止还是重新规划路径绕过障碍物。这是深度相机在机器人设计中常见的用例,特别是自主移动机器人。

05

奥比中光提供哪些3D相机?

Brad Suessmith:奥比中光提供三种主要技术路线的相机,包括Gemini系列双目立体视觉相机、Femto系列 ToF相机、Astra系列结构光相机。

奥比中光提供全面技术路线的3D相机

奥比中光Gemini 330系列包括两种,一种是短基线相机 Gemini 335/336,另一种是长基线相机Gemini 335L/336L,均采用最新自研的MX6800 ASIC,支持主动和被动双目立体视觉技术。其中,新品Gemini 336和 336L增加了红外滤光板,在室内强光源反光区域、高动态环境中的暗部区域等特定场景,可实现更优的深度成像质量。

双目立体视觉相机面临的另一个挑战,就是来自光滑表面的眩光和反射,这在仓库或零售店中很常见,因为这些地方有抛光地板,可以反射顶部的灯光。这种眩光会在深度图中创建所谓的“空洞”。一般来说,如果相机传感器的像素因光线过亮而饱和,就难以在场景中生成深度数据。滤光板的作用是过滤掉可见光谱,只允许近红外光谱通过,从而解决了反射问题。

06

不同3D相机如何取舍?

Brad Suessmith:你可能会想,为什么我要买短距离相机,而不是直接买长距离相机,看到远处的一切?

双目立体视觉相机在最小距离上有一个限制,传感器间的距离越远,最小距离也越长。所以有一种权衡,很多公司会在一个机器人上混合使用这些相机。比如一个需要以相对较高速度行驶的送餐机器人,前面部分使用 Gemini 335L,因为它需要看到相当远的距离,以便在遇到障碍物时减速或停止;侧面或后面使用Gemini 335,因为它不需要在这些方向上看到很远的距离。

Satya Mallick:在这两种情况下,深度的颗粒度会有所不同吗?比如基线小的时候,所有的位数都可以分配到0.2 米到3米的范围内,而在另一个情况下,这些都分配到更大的距离,还是没有这个问题?

Brad Suessmith: 对,我们可以改变相机设置,以调整每一步的最小增量距离。Gemini 335L在0.5米的精度与 Gemini 335在2.6米时的精度相同,最小距离始终是相机的最佳工作点,那是它最准确的工作距离。

Satya Mallick:深度相机行业目前没有标准吗?每个相机制造商都会有自己的基线和视野等参数?

Brad Suessmith:是的,总的来说,每家公司都以自己的方式实现深度技术。目前除了USB或以太网接口,其它相机和SDK都是特定于某个制造商的。也许随着时间的推移,会有更多的标准化。

07

替代升级微软Azure Kinect DK

Phil Nelson:几年前,基本上只有RealSense在以相对消费级的价格销售相机,这些相机具有深度信息和内置滤波器。现在我们有了奥比中光,让深度相机的价格大幅降低,不再像以前那样每台1500美元,这是一个非常激动人心的深度硬件行业革新。

Satya Mallick:在这之前,还有微软的Azure Kinect DK 进入市场作为一个消费级3D相机产品。

Brad Suessmith:奥比中光是微软Azure Kinect DK技术的独家授权者之一。自从微软退出市场后,奥比中光的 Femto系列成为了Azure Kinect DK替代及升级的选择。首先是Femto Bolt,原先使用微软Azure Kinect DK相机的人,可以非常快速和轻松地迁移到Femto Bolt。其次,奥比中光还针对用户需求进行了产品升级,如Femto Mega增加了英伟达Jetson Nano SOC以在相机内进行深度处理,还增加了以太网供电接口。Femto Mega I是 Femto Mega的工业版本,具有IP65防护等级,并有用于以太网、电源和数据的M12连接器和同步信号。我们还提供一个Wrapper,将你的微软SDK代码转换为Orbbec SDK代码,所以你不需要重写API调用。

08

轻松使用OpenCV软件进行开发

Satya Mallick:这些相机可以直接与OpenCV的软件一起使用,OpenCV可以读取来自相机的帧,包括深度图,对吗?

Brad Suessmith:是的,没错。除了双目立体视觉和 ToF产品,我们还提供结构光系列产品,其中Astra 2是最新最先进的结构光相机,即使在8米长距离也非常准确,具有非常高的分辨率,最高可达1600×1200。Astra Mini Pro是一个非常低成本、非常小的产品,大小与AA电池相当,非常便宜,但分辨率限于VGA,距离也相对较短,适用于对成本敏感的应用。

Satya Mallick: 奥比中光的深度相机有同步信号功能吗?

Brad Suessmith:我们所有的双目立体视觉相机和 Femto Mega相机都具有同步接口。我们已经标准化了接口,可以购买现成的电缆和同步集线器,使用RJ45连接器将相机连接起来,而不必自己设计电缆和焊接连接器,这样可以大大简化工作。

Satya Mallick:一切都要标准化,这真的很有帮助。

Brad Suessmith:是的,尤其是当你试图在机器人周围使用同步电缆时,会遇到很多电磁干扰问题,而使用双绞线布线,就可以消除屏蔽双绞线的干扰。

09

提供完整软件支持

Brad Suessmith: 我简要介绍一下我们的软件产品。奥比中光免费提供的SDK,可以在GitHub 上找到,它支持所有奥比中光的深度相机,无论是哪种3D视觉技术,都不需要重新学习或更换SDK。我们支持跨操作系统,大多数机器人使用Ubuntu,但如果你使用Android或 Windows或其他操作系统,奥比中光也支持。我们还提供ROS 1和ROS 2的包装,以及Unity和Python等编程环境。我们还有一个Wrapper,可将Azure Kinect代码转换为Orbbec SDK代码。

奥比中光为所有相机提供SDK支持

这是Orbbec Viewer的应用程序截图,它用于评估相机并确定它是否满足你的需求和一些开发。这允许你可视化相机生成的数据并控制和配置相机,生成深度图、深度到RGB的映射、颜色视频流以及IMU数据,包括惯性测量、加速度计和陀螺仪数据。

Orbbec Viewer 应用截图

10

携手NVIDIA赋能全球机器人客户

Brad Suessmith: 奥比中光还是NVIDIA合作伙伴网络的正式成员。当前,NVIDIA是机器人领域的主导CPU架构。当然,奥比中光也支持Intel和AMD的x86 CPU架构,并且有客户使用高通的Snapdragon和NXP的IMX8 处理器,任何处理器都可以支持,但NVIDIA是机器人领域的巨头,所以我特别提到它们。

我们在Femto系列中集成了Jetson Nano,并且我们还提供USD模型,可以集成到Isaac Sim和Omniverse中。如果你想在虚拟环境中模拟机器人操作,可以集成我们的模型进行虚拟测试。

奥比中光是NVIDIA NPN合作伙伴

今年5月,我们发布了一个视频,展示了奥比中光与 NVIDIA IsaacROS VSLAM和Nvblox技术的集成,Nvblox是英伟达的场景重建算法。可以看到,机器人在我们的总部大楼中穿行,构建了一个地图,展示了机器人在环境中的轨迹和本地化功能。所有的小点是相机检测到的环境特征。

NVIDIA Perceptor架构

在2024年的GTC大会上,NVIDIA发布了他们的 Perceptor架构,这是一个完整的AMR参考软件堆栈。他们最初使用了一个没有内置深度处理ASIC的立体相机,所以需要在Jetson AGX Orin的GPU中进行计算,这种设计可以工作,但需要较高的计算性能和功耗。

奥比中光最近与NVIDIA密切合作,将这种相机替换为我们的Gemini 335和335L相机,它们内置深度处理 ASIC,从而将GPU从深度处理任务中解放出来,可以用于推理和其他重要任务。

总结一下我的分享,奥比中光致力于通过一系列高质量的3D相机、USB和以太网的即插即用连接性、简单易用的Orbbec Viewer软件等,使机器人开发更容易。我们支持ROS 1和ROS 2驱动程序,与NVIDIA Jetson生态系统有很好的集成,提供设计和制造服务,并在全球范围内提供本地销售和技术支持。