一 项目简介
1 该项目使用Labelimg进行数据标注,自定义数据集;
2 使用Paddlex将数据集划分为训练集、测试集;
3 使用PaddleDetection目标检测套件训练模型;
4 最后导出模型,通过PaddleLite生成.nb文件,部署到手机上;
5 安卓部署详细操作;
(1)配置系统环境
(2)下载PaddleLite-dome
(3)下载Android Studio开发环境并配置软件环境
(4)dome调试
(5)根据dome,加入自己的模型,修改配置,实现自己的dome,并调试
(6)将APP打包成可安装程序.apk文件
实现飞桨框架深度学习模型从0到1的全流程。
二 数据标注
个人建议安装Anaconda便于对包环境的管理,在Anaconda环境中安装Labelimg(b站有这类教学视频,若还有不明白的地方可评论区解答)
下面讲解安装成功后操作流程
1 新建数据集文件夹:JPEGImages文件存放事先准备好的图片,Annotations文件存放xml标注文件(未标注时此文件为空)
2 打开Labelimg:点击Change Save Dir找到刚刚创建的Annotations文件;点击Open Dir找到JPEGImages文件;快捷键按D,拖拽选中区域,并在弹框内打标签;点击Next Image对下一张图片进行标注(此时会弹出是否保存的提示框,可勾选View->Auto Save mode,默认将每张图片标注完后自动保存)
3 上述步骤完成后,Annotations文件中会产生一堆xml文件,格式如下,
4 最后将文件压缩上传到aistudio
三 paddlex划分数据集
val_list.txt 验证集列表
test_list.txt 测试集列表
labels.txt 标签列表
train_list.txt 训练集列表
四 PaddleDetection目标检测套件使用,进行模型的创建、训练、导出
1 PaddleDetection下载、配置、数据集文件的处理
2 修改模型文件
修改模型主文件ssd_mobilenet_v1_300_120e_voc.yml
此处用的SSD模型,主干网络是Mobilnet(比VGG更轻量级的网络,适合于移动端部署),图片输入尺寸300x300,数据集格式voc
3 模型训练
4 模型预测效果展示
5 模型导出
五 PaddleLite生成.nb模型文件
六 安卓端部署
1 准备Android Studio开发环境(安装系统为Ubuntu 64-bit,Win用户可以安装虚拟机进行操作)
2 导入Paddle-Lite-Demo
3 配置SDK和NDK
4 模型和标签的拷贝
5 修改项目文件
6 准备手机
将手机调为开发者模式,将手机通过USB数据线连接到PC上,点击运行,等待一会就好了
7 效果展示
项目初始界面
项目通过相机拍取画面(因为拍的是电脑屏幕,看起来有点花)
项目通过调取手机相册的图片
8 apk打包
在工具栏中点击如下
选择打包成apk
若第一次打包,需创建新的秘钥文件
创建成功后
next,v1、v2都勾选上
打包成功