openvinotoolkit/open_model_zoo · 上手攻略
- 仓库:openvinotoolkit/open_model_zoo
- 链接:https://github.com/openvinotoolkit/open_model_zoo
- 分类:计算机视觉 · 预训练模型库
- 作者:Tom
- 更新:2026-07-29
是什么
Open Model Zoo 是 Intel 维护的预训练深度学习模型仓库,为 OpenVINO™ Toolkit 提供大量已优化模型和演示程序。包含 200+ 模型,覆盖目标检测、图像分类、图像分割、姿态估计、语音识别、文本转语音等主流 CV 任务,并配有可直接运行的 C++ / Python Demo 示例。
模型分为两大类:
- Intel 预训练模型(models/intel/):Intel 官方训练,已转为 OpenVINO IR 格式,可直接下载使用
- 公开预训练模型(models/public/):来自社区的 PyTorch/TensorFlow/ONNX 模型,需用 Model Converter 转 IR
⚠️ 注意:Open Model Zoo 已进入维护模式(Maintenance Mode),新模型来源建议转向 openvino_notebooks 中的模型教程。
解决什么问题
从头训练 CV 模型成本极高,且大多数开发者只需要"快速验证想法"或"直接部署"。Open Model Zoo 提供:
- 开箱即用的预训练模型:无需自己训练,直接下载并用 OpenVINO 推理
- 标准化模型下载工具:
omz_downloader一键下载,自动按目录结构组织 - 配套 Demo 程序:每个模型都有完整可运行的 C++/Python 示例,降低原型验证门槛
- Accuracy Checker:评测工具,验证模型在自有数据集上的精度
快速安装
安装 OpenVINO Development Tools
pip install openvino-dev
这会一并安装 omz_downloader(模型下载器)、omz_converter(模型格式转换)、omz_info_dumper(模型信息导出)等工具。
安装模型下载器(独立使用)
# 从源码安装(获取最新版本)
git clone https://github.com/openvinotoolkit/open_model_zoo.git
cd open_model_zoo/tools/model_tools
pip install .
下载第一个模型
以目标检测模型 person-vehicle-bike-detection-0200 为例:
omz_downloader \
--name person-vehicle-bike-detection-0200 \
--output_dir ./models \
--precision FP16
下载完成后目录结构:
models/
└── intel/
└── person-vehicle-bike-detection-0200/
└── FP16/
├── person-vehicle-bike-detection-0200.xml # 网络结构
└── person-vehicle-bike-detection-0200.bin # 权重文件
核心用法
Python 推理示例
from openvino.runtime import Core
import cv2
ie = Core()
# 加载模型(IR 格式)
model = ie.read_model("models/intel/person-vehicle-bike-detection-0200/FP16/person-vehicle-bike-detection-0200.xml")
compiled_model = ie.compile_model(model, device_name="CPU")
# 读取图像
image = cv2.imread("input.jpg")
h, w = image.shape[:2]
# 预处理(OpenVINO 要求 NCHW 格式,FP32)
input_tensor = cv2.resize(image, (512, 512))
input_tensor = input_tensor.transpose(2, 0, 1) # HWC -> CHW
input_tensor = input_tensor.reshape(1, 3, 512, 512).astype("float32")
# 推理
output = compiled_model.infer_new_request({0: input_tensor})
# 解析结果(后处理根据具体模型而定)
detections = output[compiled_model.output(0)]
print(f"检测到 {len(detections)} 个目标")
C++ 推理示例
#include <openvino/openvino.hpp>
#include <opencv2/opencv2.hpp>
int main() {
ov::Core core;
auto model = core.read_model("models/intel/person-vehicle-bike-detection-0200/FP16/person-vehicle-bike-detection-0200.xml");
auto compiled_model = core.compile_model(model, "CPU");
cv::Mat image = cv::imread("input.jpg");
// ... 预处理 ...
ov::InferRequest infer_request = compiled_model.create_infer_request();
// 设置输入,运行推理,解析输出
}
模型信息查询
# 列出所有可用模型
omz_info_dumper --print_all
# 搜索特定任务模型
omz_info_dumper --print_all | grep -i "detection"
# 导出特定模型信息为 JSON
omz_info_dumper --name person-vehicle-bike-detection-0200
模型转换(公开模型 → IR)
公开模型(非 Intel 预训练)需要先下载再转换:
# 下载公开模型(以 YOLOv8 为例,取决于该模型是否在 OMZ 清单中)
omz_downloader --name yolov8n-pytorch --output_dir ./public_models
# 转换为 OpenVINO IR 格式
omz_converter --name yolov8n-pytorch --download_dir ./public_models --output_dir ./ir_models
运行 Demo 程序
以目标检测 Demo 为例:
# 下载模型(同上)
# 运行 Python Demo
python /opt/openvino_model_zoo/demos/security_barrier_camera_demo/ \
--model models/intel/person-vehicle-bike-detection-0200/FP16/person-vehicle-bike-detection-0200.xml \
--input_video <your_video.mp4> \
--device CPU
Demo 目录结构:
demos/<demo_name>/下有 Python 和 C++ 两套实现。
典型适用场景
- 快速原型验证:选一个预训练模型跑通 pipeline,不用自己训练
- Intel 硬件部署优化:在 Intel CPU / GPU / VPU / FPGA 上做 CV 推理,OpenVINO 对这些硬件有专项优化
- 边缘视觉应用:配合 Intel NCS2(Myriad X)、OpenVINO 工具链做边缘部署
- Benchmark 对比:用 Accuracy Checker 在自有数据集上对比不同模型的精度和速度
- 产品化 Demo:用现成的 Demo 程序快速搭建产品演示版本
坑与注意
- 已处于维护模式:新模型不再追加,主要价值是已有的 200+ 模型的稳定版本;新项目建议评估是否要迁移到 openvino_notebooks
- 模型下载依赖网络:部分模型文件较大(如 OCR 模型可达 1GB+),内网环境可能需要配置代理或离线下载
- IR 格式版本兼容:OpenVINO 版本需要与模型下载器版本匹配;老版本 IR 可能不兼容新版 OpenVINO Runtime;建议使用匹配的 LTS 版本
- 部分模型需注册/许可:极少数 Intel 模型含额外许可条款,商用前需阅读 LICENSE
- 预处理必须严格对齐:OpenVINO 推理前预处理(resize、normalize、RGB/BGR 顺序)必须与模型训练时一致,否则精度会严重下降
- FP16 需确认硬件支持:INT8/FP16 量化加速需对应硬件支持(如 Intel Gen9+ GPU);在旧 CPU 上会 fallback 到 FP32,精度不变但速度不提升
- omz_converter 依赖框架:
omz_converter转换 PyTorch 模型时需 PyTorch 环境,转换 TF 模型需 TensorFlow;安装openvino-dev时需带上相应框架支持
与同类对比
| 仓库 | 规模 | 硬件优化 | 配套 Demo | 维护状态 |
|---|---|---|---|---|
| Open Model Zoo | 200+ | Intel 全家桶最优 | C++/Python 丰富 | 维护模式 |
| TensorFlow Model Garden | 100+ | TPU/TF 优化 | 有 | 活跃 |
| PyTorch Hub / TIMM | 1000+ | 通用 | 少 | 活跃 |
| ONNX Model Zoo | 100+ | 跨框架 | 少 | 低活跃 |
| HuggingFace Hub | 100,000+ | 通用 | 无 | 活跃 |
Open Model Zoo 的差异化在于 Intel 硬件原生优化 + 开箱即用的生产级 Demo,如果你用 Intel 平台做 CV 产品,这是最省力的路径;如果需要更多模型选择或非 Intel 硬件,应考虑 HuggingFace/TIMM。
一句话推荐结论
在 Intel 硬件上快速搭建计算机视觉产品原型的最佳起点——200+ 预训练模型配合完整 Demo 和 OpenVINO 优化,开箱即用;但新项目应评估迁移到 openvino_notebooks 以获得更活跃的模型更新支持。