求求你别在重新造轮子了,这里有快速搭建人脸/行人/车辆等热门应用的简单方法...

求求你别在重新造轮子了,这里有快速搭建人脸/行人/车辆等热门应用的简单方法..._第1张图片

点击上方蓝字关注我们

转载自:OpenCV学堂

欢迎星标或者置顶

OpenVINO介绍

求求你别在重新造轮子了,这里有快速搭建人脸/行人/车辆等热门应用的简单方法..._第2张图片

OpenVINO是英特尔推出一套基于深度学习的计算机视觉加速优化框架,支持其它机器学习平台模型的压缩优化、加速计算等功能。 自发布以后就得到开发者的青睐,其强大的模型优化与压缩能力与加速计算引擎带来的速度提升让人十分惊喜,前面发布过一篇文章,详细介绍了OpenVINO的架构与其加速引擎(Inference Engine-IE)使用,如何帮助开发者在CPU上对深度学习的模型跑出实时帧率,文章链接如下:

相关内容链接



其下载地址如下:

https://software.intel.com/en-us/openvino-toolkit/choose-download/free-download-windows

核心组件与功能

OpenVINO主要包括两个核心组件一个预训练模型库

求求你别在重新造轮子了,这里有快速搭建人脸/行人/车辆等热门应用的简单方法..._第3张图片

核心组件-模型优化器

模型优化器Model Optimizer,模型优化器支持的深度学习框架包括

-ONNX

核心组件-推断引擎

推断引擎(Inference Engine)支持硬件指令集层面的深度学习模型加速运行,同时对传统的OpenCV图像处理库也进行了指令集优化,有显著的性能与速度提升。支持的硬件平台包括如下:

-GPU

公开模型库

Intel发布的大量预训练模型,这些模型包括

求求你别在重新造轮子了,这里有快速搭建人脸/行人/车辆等热门应用的简单方法..._第4张图片

求求你别在重新造轮子了,这里有快速搭建人脸/行人/车辆等热门应用的简单方法..._第5张图片

这些模型库涵盖了很多视觉应用场景的通用模型,可以快速的搭建项目原型,得到效果,同时还支持把tensorflow/caffe等框架训练出来的模型通过模型优化器,优化处理成为二进制IR模型。

使用预训练模型实现车辆与车牌检测

OpenCV4.0 DNN模块支持直接加载这些模型,API为:

Net cv::dnn::readNetFromModelOptimizer(
    const String &xml,
    const String &bin
)
其中
Xml表示模型配置信息文件
Bin表示二进制的模型文件

 

在OpenCV DNN中加载车辆与车牌检测模型,代码如下:

// 加载模型
Net net = readNetFromModelOptimizer(xmlInfo, binModel);
net.setPreferableBackend(DNN_BACKEND_INFERENCE_ENGINE);
net.setPreferableTarget(DNN_TARGET_CPU);

使用模型进行预测代码如下:

// 运行网络
Mat blob = blobFromImage(image, 1.0, Size(300, 300), Scalar(), false, false, 5);
net.setInput(blob);
Mat detection = net.forward();

对输出的detection进行解析之后显示:

 
          

 

运行结果如下所示:

求求你别在重新造轮子了,这里有快速搭建人脸/行人/车辆等热门应用的简单方法..._第6张图片

图像大小为1600x1200, i7 CPU笔记本上运行,这速度还用多说吗?

觉得有用,请给个好看!

精彩内容推荐

系列 | OpenVINO视觉加速库使用二

系列 | OpenVINO视觉加速库使用三

系列 | OpenVINO视觉加速库使用四

你可能感兴趣的:(求求你别在重新造轮子了,这里有快速搭建人脸/行人/车辆等热门应用的简单方法...)