首页 飞桨领航团 帖子详情
AI达人创造营|第七课:安全帽检测为例
收藏
快速回复
飞桨领航团 文章AI达人创造营 1299 0
AI达人创造营|第七课:安全帽检测为例
收藏
快速回复
飞桨领航团 文章AI达人创造营 1299 0

PaddleX 2.0动态图体验:安全帽检测模型开发与部署

项目简介
安全帽佩戴检测是计算机视觉在工业安全领域应用的典型场景,本文使用PaddleX动态图进行yolov3_mobilenet迁移学习训练。PaddleX升级到2.0.0-rc,基于动态图的训练和预测依然非常便捷。

准备模型库

数据集准备
本项目使用的安全帽检测数据集已经按VOC格式进行标注,目录情况如下:

dataset/
├── annotations/
├── images/

而使用PaddleX的API,一键进行数据切分时,数据文件夹切分前后的状态如下:

dataset/ dataset/
├── Annotations/ <-- ├── Annotations/
├── JPEGImages/ ├── JPEGImages/
├── labels.txt
├── test_list.txt
├── train_list.txt
├── val_list.txt

使用稍加整理,就可以使用一键切分快速划分数据集。
In [ ]
# 解压数据集,并做好数据切分准备
In [ ]
!unzip /home/aistudio/data/data50329/HelmetDetection.zip -d ./MyDataset
In [ ]
!mv MyDataset/images MyDataset/JPEGImages
In [ ]
!mv MyDataset/annotations MyDataset/Annotations
将训练集、验证集和测试集按照7:2:1的比例划分。 PaddleX中提供了简单易用的API,方便用户直接使用进行数据划分。下面这行代码正确执行的前提是,PaddleX的版本和Paddle匹配,要么都是2.0+,要么都是1.8.X。
In [ ]
!paddlex --split_dataset --format VOC --dataset_dir MyDataset --val_value 0.2 --test_value 0.1
到这里,基于PaddleX强大的API功能,安全帽检测数据集也完成了整理、划分。

模型训练
PaddleX最核心的特点就是模型训练极其简单,比如下面几行代码演示的,只要配置了数据集目录,选择好模型即可。

模型预测 模型裁剪

PaddleX 2.0动态图检测模型部署实现

1 PaddleX模型C++部署
PaddleX动态图目前支持以下飞桨官方套件基于PaddleInference的部署

1.1 模型套件支持1.2 硬件支持

2 基于PaddleInference的推理-Linux环境编译
2.1 部署代码准备2.2 下载PaddlePaddle C++ 预测库2.3 修改编译参数2.4 修改yaml依赖包路径并编译

3 模型导出和部署
3.1 模型导出3.2 模型测试3.3 加载导出的模型并使用GPU预测3.4 模型验证

4 小结
本文介绍了PaddleX动态图模型基于PaddleInference的部署实现,一般来说,部署有大三关:环境、编译和预测,相对来说,部署往往要多次debug,而且不一定能马上找到解决方案,因此,有耐心是特别重要的。

EasyEdge:PaddleX 2.0动态图检测模型的部署

 

0
收藏
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户