Caffe学习系列(十一):MobileNetSSD NCNN APP开发
1. 准备工作
MobileNetSSD训练过程参考这里
NCNN在PC端的测试流程参考这里
Android Studio安装与本文所做工作重点参考《手把手AI项目(七)》和《手把手AI项目(八)》
1.1 前期准备流程
MobileNetSSD训练(合并BN层)——>> 更新为新版caffe模型与网络 ——>> 模型转换为bin和param文件 ——>> 模型加密
2. APP开发
2.1 源码下载
在Github上下载MobileNetSSD_demo_single代码,
git clone https://github.com/chehongshu/ncnnforandroid_objectiondetection_Mobilenetssd
2.2 文件替换
需要准备的文件如图所示,其中libncnn.a文件采用原作者的即可。
2.2.1 权重与网络参数
(1)将加密生成的 MobileNetSSD_deploy.param.bin 和 MobileNetSSD_deploy.bin 复制到 /app/src/main/assets/ 目录下
(2)并在该目录下创建一个 words.txt,其中为类别名称
2.2.2 网络文件
(1)将加密生成的 MobileNetSSD_deploy.id.h 文件复制到 /app/src/main/cpp/ 目录下
以上源文件存放在以下目录中
提醒:不带有no_bn目录的都是未合并BN层的,不可使用
2.3 生成APK文件
利用 Android Studio打开替换模型后的工程文件
点击菜单栏中的 Build/Build APK(s),在 /app/build/outputs/apk/debug/ 目录下生成app-debug.apk文件,安装即可测试
3. 其他参考
在Android手机上使用腾讯的ncnn实现图像分类
yolov2-Tiny在darknet下训练模型转caffe再到ncnn实现
Android Studio环境配置(安装版本过低,不再参考)
ubuntu下搭建android开发环境(四)核心篇安装AndroidStudio、sdk、jdk(by 星空武哥)
3.1 Firefly-RK3399论坛里博主做的一个实时检测APP
Android8.1神经网络硬件加速TfLiteSSDDemo开放源码(支持Firefly下的RK3399平台)
3.2一步步做一个数字手势识别APP
Github地址
将TensorFlow训练好的模型迁移到Android APP上(TensorFlowLite)
3.3后续工作
视频流检测
ncnn上基于Caffe用MobileNet_SSD训练和测试自己的数据
app 开发
yolov2-Tiny在darknet下训练模型转caffe再到ncnn实现
yolov2-Tiny转换到ncnn下移植到android端
Ncnn使用详解(2)——Android端