导读
对象检测是计算机视觉最常见的任务之一,应用非常广泛,本文主要给给大家价绍两条快速方便的自定义对象检测模型的训练与部署的技术路径,供大家实际项目中可以参考。
tensorflow对象检测框架
该框架支持tensorflow1.x与tensorflow2.x版本,其中tensorflow1.x版本是支持tensorflow1.15.0以上版本,支持的对象检测模型包:
-SSD
-Faster-RCNN
-Mask-RCNN
其中在backbone部分支持不同的骨干网络主要包括:
-MobileNet系列
-ResNet系列
-Inception V2
提供了大量的对象检测预训练模型,支持不同mAP精度的对象检测模型训练,同时支持一键导出推理模型pb文件。OpenVINO框架支持训练好的pb模型转换为中间文件,在CPU端侧加速推理,对SSD系列的模型在酷睿i7 CPU8th端侧推理速度可达到100FPS左右。而且整个训练过程,只需要做好数据采集与标注,简单的执行几个命令行,就可以实现自定义对象检测模型训练。OpenVINO支持C++/Python两种语言部署与推理。之前写过一系列的相关文章可以直接查看这里
Tensorflow + OpenCV4 安全帽检测模型训练与推理
Tensorflow Object Detection API 终于支持tensorflow1.x与tensorflow2.x了
针对这些文章教程,如今已经录制好了视频教程,实现了VOC数据集从采集,标注与制作、模型配置文件修改与参数修改、模型训练与导出、OpenVINO模型转换与加速推理整个流程。
YOLOv5的Pytorh对象检测框架
Pytorch自带的对象检测框架torchvision支持多种对象检测模型的自定义对象检测,支持Faster-RCNN、Mask-RCNN对象检测等。最经典的对象检测网络YOLOv5的Pytorch版本是官方的标准版本,模型分别为:
YOLOv5s
YOLOv5m
YOLOv5l
YOLOv5x
模型大小从小到大、支持的mAP精度从低到高,而且YOLOv5s非常适合在CPU端侧运行,通过OpenVINO部署框架加速之后,酷睿i7 CPU8th端侧可以达到12FPS左右。可以说使用YOLOv5 Pytorch版本框架,不写一样代码就可以训练导出一个自定义对象检测模型,然后通过OpenVINO框架支持C++与Python端侧部署,非常的方便快捷,之前我写两篇文章专门介绍YOLOv5的训练与部署,感兴趣可以点击这里查看
YOLOv5在最新OpenVINO 2021R02版本的部署与代码演示详解
总结
掌握这两个对象检测框架的从训练到部署整个流程是每个做CV开发的基本技术素养,此外OpenVINO2021.3版本在扩展模块开始支持原生的pytorch模型直接转换为IR格式,不需要中间ONNX转换,基于Pytorch框架的YOLOv5对象检测框架的从检测到部署必将更加的容易在实际项目中使用。