DepthAI v2 has been superseded by DepthAI v3. You are viewing legacy documentation.

本页目录

  • 神经网络推理与深度图融合
  • 3D物体定位
  • 3D地标定位
  • 语义深度
  • 立体神经网络推理

空间AI

空间AI使机器人或计算机能够像人类一样感知世界——识别物体或特征是什么——以及它们在物理世界中的位置。DepthAI平台通过将神经网络与OAK相机上的深度感知相融合,利用了空间AI有几种不同的方法来实现AI与深度的融合:
  1. 神经网络推理与深度图融合
  2. 语义深度
  3. 立体神经网络推理

神经网络推理与深度图融合

DepthAI可以将神经网络推理(物体/地标检测)结果与深度图融合,以估算场景中所有物体/地标的空间坐标(XYZ)。这种技术对于现有的(预训练)2D物体/特征检测器非常有效,因为它对彩色/单色帧进行推理,并利用生成的边界框确定ROI(感兴趣区域)。然后DepthAI在这些ROI内对深度图中的深度值进行平均,并据此计算空间坐标。

3D物体定位

首先,让我们定义什么是物体检测。它是在图像的像素空间(即像素坐标)中找到感兴趣物体的边界框的技术术语。
物体检测
3D物体定位(或3D物体检测)是指在物理空间而非像素空间中找到物体。它在实时测量或与物理世界交互时非常有用。下图展示了物体检测与3D物体定位之间的区别:
空间AI可视化
DepthAI将这些2D神经网络(例如MobileNet、Yolo)与空间信息结合,赋予它们3D上下文。
物体定位
在上图中,DepthAI应用在RGB摄像头流上运行MobileNet物体检测器,并将其与深度图[RGB-D]融合,以估算每个检测到的物体的3D位置(详见MobileNetSpatialDetectionNetwork节点)。

3D地标定位

地标定位的过程类似。这里,神经网络检测的不是单独的物体,而是地标(手部/姿态/特征)。一个示例是在DepthAI上运行的手部地标检测器(如下演示)。使用普通摄像头时,该网络返回所有21个手部地标的2D(XY)坐标(手指所有关节的轮廓)。而使用相同的网络与DepthAI,这些21个手部地标现在成为物理空间中的3D点,而非像素空间中的2D点。
手部地标检测
演示:手部地标(上图)、人体姿态地标面部地标检测演示。

语义深度

自主机器人导航/执行中的一个经典问题是未知物体。已知物体在安装前被指定为可能遇到的,例如工具、其他机器、工人、设备和设施。我们无法预料未知物体——包括那些不可知或从未见过的物体。训练物体检测器对于已知物体是足够的,因为这是一种“正向”的物体检测形式:“路径中有堆,停下。”“路径中有铲子,停下。”等等。这种通用的避障场景需要一种“负向”的物体检测系统,而一个非常有效的技术是使用RGB、深度或RGB+深度的语义分割
分割
在这种“负向”系统中,语义分割系统在所有非物体的表面上进行训练。因此,任何不是该表面的物体都被视为物体——允许导航知道其位置并采取相应行动(停止、绕行、转向等)。因此,语义深度对于避障导航规划应用极具价值。在上图中,一个人体语义分割模型正在RGB帧上运行,并根据结果裁剪深度图,仅包含人的深度。
在上面的示例中,自动割草机将仅在草地区域周围导航,并避开所有其他物体(树木、树根、井盖、路径等)。

立体神经网络推理

在此模式下,神经网络推理(地标检测)在左右摄像头上运行,以产生立体推理结果。与单目神经网络推理结合立体深度不同——这里没有最大视差搜索限制——因此最小距离仅受限于(a)立体摄像头本身的水平视场角(HFOV)和(b)摄像头的超焦距(物体清晰聚焦的最小距离)中的较大值。在得到来自左/右摄像头的2D地标位置后,我们可以计算结果之间的视差,然后通过校准的相机内参进行三角测量,以给出所有检测到的特征的3D位置。
三角测量演示
更多信息,请查看立体神经网络推理演示示例包括寻找以下物体的3D位置:
  • 面部地标(眼睛、耳朵、鼻子、嘴角等)
  • 产品上的特征(螺丝孔、瑕疵等)
  • 人体关节(例如肘部、膝盖、髋部等)
  • 车辆上的特征(例如后视镜、前灯等)
  • 植物上的害虫或病害(即对于物体检测+立体深度而言过小的特征)
此模式不需要神经网络使用深度数据进行训练。DepthAI采用标准的现成2D网络(这类网络更为常见),并利用这种立体推理产生精确的3D结果。

需要帮助?

请前往 OAKChina 官网 获取技术支持或解答您的任何疑问。