OpenCV 模型库与基准测试
OpenCV DNN 优化模型库,包含在不同平台上的基准测试。
指南:
- 安装最新版
opencv-python
:python3 -m pip install opencv-python # 或升级到最新版本 python3 -m pip install --upgrade opencv-python
- 克隆此仓库以下载所有模型和演示脚本:
# 从 https://git-lfs.github.com/ 安装 git-lfs git clone https://github.com/opencv/opencv_zoo && cd opencv_zoo git lfs install git lfs pull
- 要在您的硬件设置上运行基准测试,请参阅 benchmark/README。
模型与基准测试结果
硬件配置:
x86-64:
- Intel Core i7-12700K:8个性能核心(3.60 GHz,最高可达4.90 GHz),4个能效核心(2.70 GHz,最高可达3.80 GHz),20线程。
ARM:
- Khadas VIM3:Amlogic A311D SoC,配备2.2GHz四核ARM Cortex-A73 + 1.8GHz双核Cortex-A53 ARM CPU,以及5 TOPS NPU。基准测试使用逐张量量化模型。按照此指南构建启用TIM-VX后端的OpenCV。
- Khadas VIM4:Amlogic A311D2 SoC,配备2.2GHz四核ARM Cortex-A73和2.0GHz四核Cortex-A53 CPU,以及3.2 TOPS内置NPU。
- Khadas Edge 2:Rockchip RK3588S SoC,CPU为2.25 GHz四核ARM Cortex-A76 + 1.8 GHz四核Cortex-A55,以及6 TOPS NPU。
- Atlas 200 DK:Ascend 310 NPU,INT8下22 TOPS。按照此指南构建启用CANN后端的OpenCV。
- Atlas 200I DK A2:SoC,配备1.0GHz四核CPU和Ascend 310B NPU,INT8下8 TOPS。
- NVIDIA Jetson Nano B01:四核ARM A57 @ 1.43 GHz CPU,以及128核NVIDIA Maxwell GPU。
- NVIDIA Jetson Nano Orin:6核Arm® Cortex®-A78AE v8.2 64位CPU,以及1024核NVIDIA Ampere架构GPU,配备32个Tensor核心(最高频率625MHz)。
- Raspberry Pi 4B:Broadcom BCM2711 SoC,配备四核Cortex-A72(ARM v8)64位@ 1.5 GHz。
- Horizon Sunrise X3:地平线机器人的SoC,配备四核ARM Cortex-A53 1.2 GHz CPU和5 TOPS BPU(即NPU)。
- MAIX-III AXera-Pi:Axera AX620A SoC,配备四核ARM Cortex-A7 CPU和3.6 TOPS @ int8 NPU。
- Toybrick RV1126:Rockchip RV1126 SoC,配备四核ARM Cortex-A7 CPU和2.0 TOPs NPU。 RISC-V:
- StarFive VisionFive 2:采用
StarFive JH7110
SoC,配备 RISC-V 四核 CPU,最高可提升至 1.5GHz,以及来自 Imagination 的IMG BXE-4-32 MC1
型号 GPU,工作频率最高可达 600MHz。 - 全志 Nezha D1:全志 D1 SoC,搭载 1.0 GHz 单核 RISC-V 玄铁 C906 CPU,支持 RVV 0.7.1。目前已测试 YuNet。更多详情请访问此处。
重要说明:
- 上表中每个硬件设置列下的数据代表一次推理(预处理、前向传播和后处理)的耗时。
- 时间数据为经过预热后 10 次运行的平均值。某些特定模型可能采用不同的评估指标。
- 所有基准测试结果的批处理大小均为 1。
---
表示该模型无法在设备上运行。- 查看 benchmark/config 获取更多关于不同模型基准测试的详细信息。
一些示例
以下列举了一些示例。您可以在每个模型的目录中找到更多示例!
使用 YuNet 进行人脸检测
使用 SFace 进行人脸识别
使用 Progressive Teacher 进行面部表情识别
使用 PP-HumanSeg 进行人体分割
使用 EfficientSAM 进行图像分割
使用 LPD_YuNet 进行车牌检测
使用 NanoDet 和 YOLOX 进行目标检测
使用 VitTrack 进行目标跟踪
使用 MP-PalmDet 进行手掌检测
使用 MP-HandPose 进行手部姿势估计
使用 MP-PersonDet 进行人员检测
使用 MP-Pose 进行姿势估计
使用 WeChatQRCode 进行二维码检测和解析
中文文本检测 PPOCR-Det
英文文本检测 PPOCR-Det
使用CRNN进行文本检测
许可证
OpenCV Zoo 采用 Apache 2.0 许可证。请参考不同模型的许可证。