# Robotics Vision Core 4 (RVC4)

机器人视觉核心4（简称RVC4）是第四代RVC。主要规格：

 * 6核 ARMv8 CPU，运行 Linux

 * [AI](#Robotics%2520Vision%2520Core%25204%2520(RVC4)-AI)：48TOPS INT8，12 FP16 TOPS

 * GPU：4 FP16 TOPS

 * [计算机视觉](#Computer%20vision%20engine)：立体深度、帧扭曲引擎、光流、特征检测、描述匹配、模板匹配

 * [ISP](#Image%20Signal%20Processor)：5路相机流、HDR、EIS、3A

 * 编码：4K @ 240FPS 解码，4K @ 120FPS 编码（H264和H265）。也支持VP9、AV1解码

## 计算机视觉引擎

 * 立体深度：最大800P @ 60FPS，默认4位亚像素，64视差搜索。8位置信度图，空间一致性、遮挡和纹理掩码，±3像素线校正误差容限
   * 最大立体分辨率为1280x1280
 * 图像扭曲引擎：吞吐量1080P @ 240FPS
 * 光流：半稠密：1080P @ 60FPS；全稠密：VGA @ 60FPS
 * 特征检测：Harris角点检测，1080P @ 60FPS
 * 描述匹配：ORB计算和内联匹配。描述符：256位。最大1080P，每500个描述符1ms（计算+匹配）
 * 模板匹配：最大1080P，500个模板1.2ms，每帧最多1024个补丁

## 图像信号处理器

RVC4的图像信号处理器（ISP）具有以下特性：

 * 最多3路并发相机流（带ISP处理）
   * 3路36MP @ 30FPS 或者
   * 1路36MP + 1路72MP @ 30FPS 或者
   * 1路108MP @ 30FPS
 * 最多2路额外原始输出流（无ISP处理）
 * 3A（自动曝光、自动白平衡、自动对焦）
 * 支持18 bpp（每像素位数）
 * 硬件HDR：交错HDR、数字重叠、非重叠
 * 图像稳定（EIS），良好的弱光性能

## AI

RVC4神经网络模型基准测试（峰值性能）：

| 模型名称 | 尺寸 | FPS | 任务 |
| --- | --- | --- | --- |
| YoloV5m | 640x640 | 280 | 目标检测 |
| YoloV6n | 512x288 | 2340 | 目标检测 |
| YoloV7-W6 | 640x640 | 162 | 目标检测 |
| ResNet-50 | 224x224 | 934 | 分类 |
| ViT-Tiny | 224x224 | 650 | 分类 |
| BiSeNetv1-MBNV2 | 512x228 | 647 | 语义分割 |
| eWaSR | 512x384 | 309 | 语义分割 |

### AI功耗

RVC4的AI系统设计为功耗高效且可根据用户需求进行配置。AI系统可配置为在不同功耗等级（FPS速度）下运行，这将影响AI系统的性能。 下表显示了不同FPS速度下的模型FPS和[功耗]：

| 模型名称 | 低FPS | 中FPS | 高FPS | 最大FPS |
| --- | --- | --- | --- | --- |
| BiSeNet-MBNV2 (512x288) | 80 [0.67 W] | 133 [1.04 W] | 391 [3.02 W] | 647 [5 W] |
| eWaSR ResNet18 (512x384) | 59 [0.79 W] | 106 [1.51 W] | 229 [3.55 W] | 309 [5.25 W] |
| MobileVit-xxs (224x224) | 104 [0.63 W] | 199 [1 W] | 277 [1.82 W] | 488 [3.27 W] |
| Repvgg_a2 (224x224) | 181 [1.07 W] | 327 [2.22 W] | 466 [3.75 W] | 1250 [10.4 W] |
| ResNet101 (224x224) | 115 [1.05 W] | 243 [2.4 W] | 339 [3.57 W] | 718 [8.62 W] |
| ResNet50-v2-7 (224x224) | 145 [0.96 W] | 260 [1.9 W] | 380 [2.83 W] | 934 [7.65 W] |
| ViT-Tiny patch16 (224x224) | 124 [0.7 W] | 228 [1.25 W] | 300 [1.88 W] | 615 [4.27 W] |
| Yolo6N (512x288) | 190 [0.7 W] | 307 [1.1 W] | 702 [3.8 W] | 2340 [7.5 W] |
| YoloV5M (640x640) | 48 [0.93 W] | 72 [1.75 W] | 212 [6.05 W] | 280 [8.4 W] |
| YoloV7-W6 (640x640) | 34 [1.05 W] | 60 [2.48 W] | 139 [7.45 W] | 162 [7.85 W] |

功耗测量是在整个RVC4板子上运行10秒推理时进行的。因此AI功耗略低，因为芯片的其他部分（主要是CPU）也消耗功率。

> 请注意，最大FPS值是在RVC4的峰值性能下记录的。在大多数使用场景中，RVC4会被降频以避免过热。

### Jetson对比

Nvidia的Jetson系列目前最为通用的边缘AI平台。我们测试了Jetson Orin Nano 8GB（标准版，非Super版本），它有40 TOPS（GPU）和6核ARM CPU。以下是RVC4与Jetson Orin Nano
8GB的1:1对比，两者都使用INT8精度和相同的图像尺寸：

| 模型名称 | RVC4 [FPS] | Jetson Orin Nano 8GB [FPS] |
| --- | --- | --- |
| InceptionV4, BS1 | 691 | 170 |
| InceptionV4, BS32 | 608 | 358 |
| ResNet50, BS1 | 1369 | 502 |
| ResNet50, BS32 | 1644 | 1191 |
| VGG19, BS1 | 269 | 183 |
| VGG19, BS32 | 560 | 362 |
| 超分辨率, BS1 | 36* | 202 |
| SSD MobileNet V1, BS1 | 1910 | 920 |
| SSD MobileNet V1, BS32 | 2688 | 2260 |
| UNet分割, BS1 | 323 | 142 |
| YoloV3 Tiny, BS1 | 1342 | 563 |

观察Jetson系列基准测试（见底部），Nvidia报告了BS32模型（批量大小为32，即一次性推断32张图像）的FPS。根据我们自身的测试，这些数据是真实可信的，但他们的BS1模型（批量大小为1，即单张图像）性能约比BS32模型低2倍。若需实时性能（延迟不超过+1秒），则需使用BS1模型。

* 由于SoC是全新的，模型优化器仍在更新中，未来将添加更多层以在加速模块上处理。对于超分辨率模型，有几个层是在CPU上处理的。这就是RVC4性能较低的原因。

### 能效

我们还测量了RVC4和Jetson Orin Nano 8GB的功耗。我们将两个设备都设置为最大性能（即RVC4的最大FPS），并测量了整个板卡的功耗。Orin Nano的功耗波动较大，因此我们取了10秒内的平均功耗。我们始终使用Batch
Size=1的模型（即单张图像）。

| 模型名称 | RVC4 [W] | Jetson Orin Nano 8GB [W] |
| --- | --- | --- |
| InceptionV4 | 9.1 | 12 |
| ResNet50 | 10.2 | 13 |
| VGG19 | 9.5 | 11 |
| YoloV3 Tiny | 9.9 | 10 |
| YoloV5 M (416x416) | 9.3 | 11 |

结论： 在速度快1.9倍的同时，RVC4的能效比Jetson Orin Nano 8GB高出15%。

## 自定义应用

用户可以完全访问RVC4的强大功能：

 * 通过[OAK Hub](https://docs.luxonis.com/cloud/hub.md)开箱即用地轻松开发和部署自定义容器化应用
 * 使用[Halide](https://halide-lang.org/)在加速硬件模块上开发和运行高速CV管道
 * 与GPIO和通信接口交互
 * 由于RVC4也可以作为主机计算机，因此可以将其他基于[RVC2](https://docs.luxonis.com/hardware/platform/rvc/rvc2.md)的OAK（PoE）摄像头连接到它。

## 功耗

RVC4本身的最大功率峰值约为25瓦，主要由其内置的专用定制系统级芯片消耗。

 * 最大峰值：25W
 * 最大平均：10-15W
 * 平均空闲：1.6W
 * 启动峰值：12W
 * 启动平均：2.3W（约15秒）
