任务分配
任务分配
参考项目
-
rknn-tookit2
: https://github.com/airockchip/rknn-toolkit2类似于
onnx
的推理加速库,需要将深度学习模型从.pt
转换成.onnx
然后在利用这个库转换成.rknn
格式,之后再进行模型的部署和后处理等操作 -
rknn_model_zoo
: https://github.com/airockchip/rknn_model_zoo/tree/mainrknn
模型合集。其中几乎包含所有本项目中将使用到的模型预训练权重
方案流程
任务
-
Yolov5目标检测模型数据采集+训练
需要采集:室内场景10+物体、两只手、人脸
数据采集:
- 桌子(table)
- 椅子(chair)
- 床(bed)
- 盆栽(potted plant)
- 沙发(sofa)
- 橱柜(cabinet)
- 空调(air conditioner)
- 电脑(laptop)
- 瓶子(bottle)
- 鼠标(mouse)
- 书(book)
- 茶杯(cup)
- 电视(tv)
- 手机(cell phone)
- 键盘(keyboard)
- 垃圾桶(can)
- 电源插座(power outlet)
- 相框(frame)
- 人手(hand)
- 人脸(face)
注:官方提供的yolov5模型输出结构上进行了修改,因此将训练好的模型权重导出后需要做相应的调整,可以参考:https://github.com/airockchip/rknn_model_zoo/tree/main/examples/yolov5
训练完成后转换成
.rknn
的模型,然后基于C++/Java进行编写后处理操作,并封装接口有现成,可以参考:https://github.com/airockchip/rknn-toolkit2/tree/master/rknpu2/examples/rknn_yolov5_android_apk_demo
-
完成PaddleOcr的移植
PaddleOcr为三阶段文字识别算法:首先是图片输入文字检测模型,输出文字区域mask,然后将裁剪后的文字图片分别输入角度预测模型预测文字倾斜角度,矫正之后输入到文字识别模型输出识别文字
需要将三个模型都转换成
.rknn
格式,然后基于C++/Java实现每个模型的后处理操作,并封装接口无现成,但可以参考:
https://blog.csdn.net/qq_39056987/article/details/123574943
https://github.com/yinghanguan/PaddleOCR2RKNN
https://github.com/airockchip/rknn_model_zoo/tree/main/examples/PPOCR/PPOCR-System
-
人脸表情分类
基于resnet50-v2-7训练人脸表情分类模型
数据集:https://www.kaggle.com/code/alpertemel/fer2013-with-keras
-
讯飞离线
命令词识别
、离线语音合成
Android SDK集成 -
功能整合