前言
Hello,大家好,这里是OAK中国,我是助手君。
本期内容将介绍如何在 DepthAI 上实现手掌检测,超级容易上手,快来试试吧。👐👐👐
你可以在演示中使用以下一组预先训练的模型:
▪ palm_detection 检测手掌
1.分析项目
项目地址
Palm Detection Model
Hand_Detection_and_Tracking
2.获取模型
初始模型从 PINTO_model_zoo 获取, 其原始模型是 tflite,经Katsuya Hyodo转换为 tensorflow (.pb) 文件
Palm detection: https://github.com/PINTO0309/PINTO_model_zoo/blob/main/033_Hand_Detection_and_Tracking/10_new_128x128/download_resources.sh
3.查看模型
使用 Netron 查看模型文件
开头 可以看到 输入层的形状和名称
结尾 可以看到输出层的名字
4.模型转换为 IR 文件
openvino 支持直接转换 tensorflow 的模型:https://docs.openvinotoolkit.org/cn/latest/openvino_docs_MO_DG_prepare_model_convert_model_Convert_Model_From_TensorFlow.html
转换TensorFlow *模型
❶ 转到<OPENVINO_INSTALL_DIR>/deployment_tools/model_optimizer目录
❷ 使用mo.py脚本可以简单地将具有权重的.pb模型转换为.xml和.bin 文件:
mo.py --reverse_input_channels \
--input_model palm_detection.pb \
--model_name palm_detection \
--input input \
--output classificators,regressors \
--input_shape [1,128,128,3] \
--data_type FP16 \
--scale 127.5 \
--mean_values [127.5,127.5,127.5]
5.查看转换的 IR 文件
使用 Netron 查看 xml 文件
与之前比对
这时可以看到 输出的形状
6.IR 转换为 blob文件
将IR文件转换为blob文件:
export MYRIAD_COMPILE=$(find /opt/intel/ -iname myriad_compile)
$MYRIAD_COMPILE -m palm_detection.xml \
-ip U8 \
-VPU_MYRIAD_PLATFORM VPU_MYRIAD_2480 \
-VPU_NUMBER_OF_SHAVES 4 \
-VPU_NUMBER_OF_CMX_SLICES 4
7. 演示
手掌检测演示
参考资料
https://gitee.com/oakchina/depthai-experiments/tree/master/gen2-palm-detection
https://docs.oakchina.cn/en/latest/
https://www.oakchina.cn/selection-guide/
OAK中国
| OpenCV AI Kit在中国区的官方代理商和技术服务商
| 追踪AI技术和产品新动态
戳「+关注」获取最新资讯↗↗