前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pytorh与tensorflow对象检测模型如何部署到CPU端,实现加速推理

Pytorh与tensorflow对象检测模型如何部署到CPU端,实现加速推理

作者头像
OpenCV学堂
发布2021-04-21 15:40:02
1.1K0
发布2021-04-21 15:40:02
举报
文章被收录于专栏:贾志刚-OpenCV学堂

导读

对象检测是计算机视觉最常见的任务之一,应用非常广泛,本文主要给给大家价绍两条快速方便的自定义对象检测模型的训练与部署的技术路径,供大家实际项目中可以参考。

tensorflow对象检测框架

该框架支持tensorflow1.x与tensorflow2.x版本,其中tensorflow1.x版本是支持tensorflow1.15.0以上版本,支持的对象检测模型包:

代码语言:javascript
复制
-SSD
-Faster-RCNN
-Mask-RCNN

其中在backbone部分支持不同的骨干网络主要包括:

代码语言:javascript
复制
-MobileNet系列
-ResNet系列
-Inception V2

提供了大量的对象检测预训练模型,支持不同mAP精度的对象检测模型训练,同时支持一键导出推理模型pb文件。OpenVINO框架支持训练好的pb模型转换为中间文件,在CPU端侧加速推理,对SSD系列的模型在酷睿i7 CPU8th端侧推理速度可达到100FPS左右。而且整个训练过程,只需要做好数据采集与标注,简单的执行几个命令行,就可以实现自定义对象检测模型训练。OpenVINO支持C++/Python两种语言部署与推理。之前写过一系列的相关文章可以直接查看这里

Tensorflow + OpenCV4 安全帽检测模型训练与推理

基于OpenCV与tensorflow实现实时手势识别

Tensorflow Object Detection API 终于支持tensorflow1.x与tensorflow2.x了

针对这些文章教程,如今已经录制好了视频教程,实现了VOC数据集从采集,标注与制作、模型配置文件修改与参数修改、模型训练与导出、OpenVINO模型转换与加速推理整个流程。

YOLOv5的Pytorh对象检测框架

Pytorch自带的对象检测框架torchvision支持多种对象检测模型的自定义对象检测,支持Faster-RCNN、Mask-RCNN对象检测等。最经典的对象检测网络YOLOv5的Pytorch版本是官方的标准版本,模型分别为:

代码语言:javascript
复制
YOLOv5s
YOLOv5m
YOLOv5l
YOLOv5x

模型大小从小到大、支持的mAP精度从低到高,而且YOLOv5s非常适合在CPU端侧运行,通过OpenVINO部署框架加速之后,酷睿i7 CPU8th端侧可以达到12FPS左右。可以说使用YOLOv5 Pytorch版本框架,不写一样代码就可以训练导出一个自定义对象检测模型,然后通过OpenVINO框架支持C++与Python端侧部署,非常的方便快捷,之前我写两篇文章专门介绍YOLOv5的训练与部署,感兴趣可以点击这里查看

YOLOv5在最新OpenVINO 2021R02版本的部署与代码演示详解

YOLOv5实现自定义对象训练与OpenVINO部署全解析

总结

掌握这两个对象检测框架的从训练到部署整个流程是每个做CV开发的基本技术素养,此外OpenVINO2021.3版本在扩展模块开始支持原生的pytorch模型直接转换为IR格式,不需要中间ONNX转换,基于Pytorch框架的YOLOv5对象检测框架的从检测到部署必将更加的容易在实际项目中使用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档