English | 中文
OpenIVA
OpenIVA 是一个端到端的基于多推理后端的智能视频分析开发套件,旨在帮助个人用户和初创企业快速启动自己的视频AI服务。
OpenIVA实现了各种主流的面部识别、目标检测、分割和关键点检测算法。并且提供了高效的轻量级服务部署框架,采用模块化设计,用户只需要替换用于自己任务的算法模型。
特色
- 常用主流算法
- 提供最新的主流预训练模型,用于面部识别、目标检测、分割和关键点检测等任务
- 多推理后端
- 支持 TensorlayerX/ TensorRT/ onnxruntime
- 高性能表现
- 在 CPU/GPU/Ascend 等硬件平台取得高性能表现, 实现3000it/s以上的推理速度
- 异步 & 多线程
- 在推理和预/后处理过程中使用多线程和队列以达到高设备占用率
- 轻量级服务
- 模块化设计
- 你只需要替换AI模型就可以快速启动自己的智能分析服务
- 图形界面的可视化工具
- 只需要点击几个按钮就可以启动分析任务, 并且可以在GUI窗口里展示可视化的结果,适合多种任务
性能基准
测试环境
- i5-10400 6c12t
- RTX3060
- Ubuntu18.04
- CUDA11.1
- TensorRT-7.2.3.4
- onnxruntime with EPs:
- CPU(Default)
- CUDA(Compiled)
- OpenVINO(Compiled)
- TensorRT(Compiled)
性能表现
人脸识别
运行
python test_landmark.py
batchsize=8
, top_k=68
, 图片中有67张人脸
运行
python test_face.py
batchsize=8
- Face embedding
Model arc_mbv2_ccrop_sim
onnxruntime EPs |
faces per sec |
CPU |
212 |
OpenVINO |
865 |
CUDA |
1790 |
TensorRT(FP32) |
2132 |
TensorRT(FP16) |
2812 |
物体检测
运行
python test_yolo.py
batchsize=8
, 图片中有4件物体
-
YOLOX objects detect
Model yolox_s(ms_coco)
onnxruntime EPs |
FPS |
Objects per sec |
CPU |
9.3 |
37.2 |
OpenVINO |
13 |
52 |
CUDA |
77 |
307 |
TensorRT(FP32) |
95 |
380 |
TensorRT(FP16) |
128 |
512 |
Model yolox_m(ms_coco)
onnxruntime EPs |
FPS |
Objects per sec |
CPU |
4 |
16 |
OpenVINO |
5.5 |
22 |
CUDA |
46.8 |
187 |
TensorRT(FP32) |
64 |
259 |
TensorRT(FP16) |
119 |
478 |
Model yolox_nano(ms_coco)
onnxruntime EPs |
FPS |
Objects per sec |
CPU |
47 |
188 |
OpenVINO |
80 |
320 |
CUDA |
210 |
842 |
TensorRT(FP32) |
244 |
977 |
TensorRT(FP16) |
269 |
1079 |
Model yolox_tiny(ms_coco)
onnxruntime EPs |
FPS |
Objects per sec |
CPU |
33 |
133 |
OpenVINO |
43 |
175 |
CUDA |
209 |
839 |
TensorRT(FP32) |
248 |
995 |
TensorRT(FP16) |
327 |
1310 |
进度