瑞芯微Rockchip开发者社区
直播中

剑寒九州

9年用户 654经验值
私信 关注
[经验]

如何对基于RK3399的OPENPOSE进行开发设计呢

1.快速上手
1 准备3399pro开发板一块,USB摄像头一个,usb键盘,usb鼠标,hdmi显示屏,网线
2 连接USB摄像头到3399pro开发板,连接鼠标键盘,连接显示器,连接网线,接通电源
3 模型下载,建议在PC上做

若报cv2.dnn错误,这是opencv版本低的问题,需要升级opencv到3.4.1以上版本(不包含3.4.1), 若报" ValueError: not enough values to unpack (expected 3, got 2) "这是原脚本问题,需要将代码"_, contours, _ = cv2.findContours"改为"contours, _ = cv2.findContours"
python3 multi-person-openpose.py为可选操作,报错不影响后续运行
4 修改pose/coco/pose_deploy_linevec.prototxt文件,注销前5行代码,新增一个layer层,如下图所示
5 下载并解压附件,将附件中的所有文件(5个文件)拷贝到到OpenPose-Multi-Person目录下
6 python3 rknn_transfer.py进行模型转换,模型转化比较耗内存建议先设置swap大于2G
7 拷贝OpenPose-Multi-Person目录到开发板,以下操作在开发板运行
8 安装rknn-toolkit及其依赖库,按照wiki教程安装环境
9 安装gstreamer包

10 python3 test_rnetCam.py(单人)或者python3 multi-person-openpose_rknn-cam.py(多人)

2.概述
VGG-19用于生成特征值。每个stage对应一个身体部位,branch1用于生产Confidence Maps,branch2用于生产PAF(Part Affinity maps )
Input: [1x3x368x368](输入的数据format是nchw,bgr格式)
Output: [1x57x46x46](输出数据前面部分是身体部位的Confidence Maps ,后面部分是PAF)

3.代码解析
├── pose_deploy_linevec_pre_compile.rknn.rknn //转换之后的rknn模型
├── dataset.txt //量化的数据集
├── p1_368_368.jpg //用于量化的图片
├── multi-person-openpose_rknn-cam.py //使用rknn进行推理,以及后处理(多人)
├── test_rnetCam.py //使用rknn进行推理,以及后处理(单人)
└── rknn_transfer.py //用于将caffe模型转换为rknn模型
rknn_transfer.py


multi-person-openpose_rknn-cam.py












原作者:我是流氓我怕谁

更多回帖

发帖
×
20
完善资料,
赚取积分