# Robotics Vision Core

Robotics Vision Corfe 2（简称 RVC2）是我们的第二代 RVC。系列 2 OAK 设备和我们的首批设备均基于 RVC2 构建。

RVC2 包含两个主要组件：

 * 针对特定 SoC 微调的 DepthAI 功能
 * 高性能 SoC 及其所有支持电路（高速 PCB 布局、电源分配网络、高效散热等）

## RVC2 性能

4 TOPS 处理能力（1.4 TOPS 用于AI） - [RVC2 NN 性能](https://docs.luxonis.com/hardware/platform/rvc/rvc2.md) 运行任何 AI 模型，甚至是自定义架构/构建的模型 -
模型需要[进行转换](https://docs.luxonis.com/software/ai-inference/conversion.md)。 编码：H.264、H.265、MJPEG - 4K/30FPS、1080P/60FPS 计算机视觉：通过
[ImageManip](https://docs.luxonis.com/software/depthai-components/nodes/image_manip.md)
节点进行畸变/去畸变、缩放、裁剪，[边缘检测](https://docs.luxonis.com/software/depthai/examples/edge_detector.md)，[特征跟踪](https://docs.luxonis.com/software/depthai/examples/feature_tracker.md)。您还可以[运行自定义
CV 函数](https://docs.luxonis.com/software-v3/depthai/tutorials/on-device-programming.md) 目标跟踪：使用
[ObjectTracker](https://docs.luxonis.com/software/depthai-components/nodes/object_tracker.md) 节点进行 2D 和 3D 跟踪
设备端编程：在设备上运行自定义逻辑/任务（[指南](https://docs.luxonis.com/software-v3/depthai/tutorials/on-device-programming.md)）

## RVC2 神经网络性能

[点击此处](https://docs.google.com/spreadsheets/d/1yMD4L3gNTkv9d-CqwHTYkn1_on9qDwjeDSUiW2x_H8k/edit?usp=sharing)查看包含 81 个测试结果的完整表格。

| 模型名称 | 尺寸 | FPS | 延迟 [毫秒] |
| --- | --- | --- | --- |
| ResNet-50 | 224x224 | 26.5 | 56.5 |
| MobileOne S0 | 224x224 | 165.5 | 11.1 |
| Resnet18 | 224x225 | 94.8 | 19.7 |
| DeepLab V3 | 256 x 256 | 36.5 | 48.1 |
| DeepLab V3 | 513 x 513 | 6.3 | 253.1 |
| YOLOv6n R2 | 416x416 | 65.5 | 29.3 |
| YOLOv6n R2 | 640x640 | 29.3 | 66.4 |
| YOLOv6t R2 | 416x416 | 35.8 | 54.1 |
| YOLOv6t R2 | 640x640 | 14.2 | 133.6 |
| YOLOv6m R2 | 416x416 | 8.6 | 190.2 |
| YOLOv7t | 416x416 | 46.7 | 37.6 |
| YOLOv7t | 640x640 | 17.8 | 97.0 |
| YOLOv8n | 416x416 | 31.3 | 56.9 |
| YOLOv8n | 640x640 | 14.3 | 123.6 |
| YOLOv8s | 416x416 | 15.2 | 111.9 |
| YOLOv8m | 416x416 | 6.0 | 273.8 |
| YOLOv9t | 416x416 | 21.70 | 46.09 |
| YOLOv9t | 640x640 | 10.69 | 93.60 |
| YOLOv9s | 416x416 | 12.74 | 78.49 |
| YOLOv9m | 416x416 | 4.71 | 212.31 |
| YOLOv10n | 416x416 | 27.07 | 36.95 |
| YOLOv10n | 640x640 | 12.62 | 79.21 |
| YOLOv10s | 416x416 | 14.03 | 71.29 |
| YOLOv10m | 416x416 | 6.05 | 165.26 |
| YOLO11n | 416x416 | 28.08 | 35.61 |
| YOLO11n | 640x640 | 12.80 | 78.11 |
| YOLO11s | 416x416 | 12.17 | 82.14 |
| YOLO11m | 416x416 | 3.90 | 256.20 |

模型编译使用 8 个 SHAVE，并在 2 个神经网络推理线程上运行。延迟包括通过 USB3 从设备获取结果的时间。

每个模型运行 5 次迭代，FPS 取平均值。

## 神经网络性能估算

您可以通过以下图表估算模型的性能。该图表根据 FLOPs 和参数提供 RVC2 上模型的 FPS 估算。

[https://docs.google.com/spreadsheets/u/8/d/e/2PACX-1vQ_tVk2PhOhnFeJrL5t2rtncxHeDVYX8j1o52vdZozRzXJ5C3gq8EngVvx32suCPasIelIwU5Ny6tLE/pubhtml?gid=41416082&single=true](https://docs.google.com/spreadsheets/u/8/d/e/2PACX-1vQ_tVk2PhOhnFeJrL5t2rtncxHeDVYX8j1o52vdZozRzXJ5C3gq8EngVvx32suCPasIelIwU5Ny6tLE/pubhtml?gid=41416082&single=true)

点击图片查看常见模型更详细的 FPS 评估。

## 功耗

RVC2 本身最大功耗约为 4.5W，主要由集成在 RVC2 内部的 SoC 芯片组 消耗。

## 硬件模块与加速器

该 SoC 集成了多个硬件加速器，DepthAI API 旨在最优地利用它们：

 * 2 个 Leon CPU 核心：
   
   * Leon CSS 处理：USB/以太网协议栈（由 XLink 框架管理）、IMU、3A 算法。降低 CSS CPU 消耗的一种方法是减少 3A 频率，目前通过降低相机 FPS 实现。我们也在研究跳过某些帧的 3A（例如，仅每 3 帧运行一次
     3A）。POE 模型上 CSS CPU 消耗更高，因为它还运行以太网协议栈。
   * Leon MSS 处理其他所有事务：调度硬件加速功能、使用 SHAVE 等。

 * ISP - 图像信号处理器，用于图像处理，如去噪、锐化等。整个 ISP 配置通过 API 暴露，由 [ColorCamera
   节点](https://docs.luxonis.com/software/depthai-components/nodes/color_camera.md) 和 [MonoCamera
   节点](https://docs.luxonis.com/software/depthai-components/nodes/mono_camera.md) 提供。

 * 2 个 NCE（神经网络计算引擎）专为一系列操作/层而设计，但有些操作未实现，这些将在 SHAVE 核心上实现。

 * 16 个 SHAVE 核心 - 向量处理器。用于执行某些神经网络操作/层，它们用途广泛，也可用于其他任务，例如计算机视觉算法（重新格式化图像、执行某些 ISP 等）。
   
   * 更高分辨率消耗更多 SHAVE：对于 1080P，使用 3 个 SHAVE；对于 4K，使用 6 个 SHAVE。
   * DepthAI 内部的资源管理器协调 SHAVE 的使用，并在给定管线配置请求过多资源时发出警告。

 * 20 个 CMX 切片 - 这些是快速 SRAM 内存块（每个 128kB），用于临时存储计算结果。它们被神经网络模型、相机 ISP（1080P 或更低分辨率使用 3 个 CMX 切片）、图像处理过程等使用。注意，4 个 CMX 切片是预分配的，因此只有
   16 个空闲。

 * 立体视觉管线 - 立体匹配（Census 变换、代价匹配和代价聚合），由 [StereoDepth
   节点](https://docs.luxonis.com/software/depthai-components/nodes/stereo_depth.md#internal-block-diagram-of-stereodepth-node) 使用。

 * 视频编码器，支持 MJPEG、H264 和 H265 编解码器。由 [VideoEncoder
   节点](https://docs.luxonis.com/software/depthai-components/nodes/video_encoder.md) 使用。

 * 视觉模块：
   
   * 边缘检测 - 由 [EdgeDetector 节点](https://docs.luxonis.com/software/depthai-components/nodes/edge_detector.md) 使用。
   * 3 个 Warp 引擎 - 由 [ImageManip 节点](https://docs.luxonis.com/software/depthai-components/nodes/image_manip.md) / [Warp
     节点](https://docs.luxonis.com/software/depthai-components/nodes/warp.md) 使用，用于扭曲、立体矫正、去畸变等。
   * 角点检测（Harris/Shi-Thomasi）- 由 [FeatureTracker
     节点](https://docs.luxonis.com/software/depthai-components/nodes/feature_tracker.md) 使用。
   * 运动估计 - 由 [FeatureTracker 节点](https://docs.luxonis.com/software/depthai-components/nodes/feature_tracker.md) 使用。
   * 最小值/最大值计算器 - 由 [FeatureTracker 节点](https://docs.luxonis.com/software/depthai-components/nodes/feature_tracker.md) 用于非极大值抑制（针对
     Harris 角点检测）。

您可以通过启用[调试信息](https://docs.luxonis.com/software/depthai/debugging.md#resource-debugging)来检查 SHAVE 和 CMX 的使用情况。
