云养猪 - 猪只关键点检测【玩转华为云】
云养猪 - 猪只关键点检测
关键点检测可用于猪只骨架提取、姿态识别、体重估计等多方面的研究,本文将基于ModelArts和ModelBox开发一个猪只关键点检测的AI应用,并将其部署到RK3568开发板上。
模型训练
首先我们使用YOLOX训练了一个猪只目标检测模型,YOLOX是YOLO的无锚版本,设计更简单,且性能更好!它旨在弥合研究界和工业界之间的差距,详细内容可以参考Arxiv。
我们使用猪只目标检测数据集进行训练,训练前对该数据集进行了图像增强,包含两类图像piglet、swine,拥有3065张jpg图像数据以及对应的xml标签文件,训练日志如下:
之后利用TensorFlow开发一个猪只关键点检测模型,使用预训练网络MobileNetV2作为卷积基提取图像特征,模型训练与转换教程可以参考我们发布的Notebook:
应用开发
1、在VS Code中使用Remote-SSH远程连接RK3568开发板(算力:0.8Tops)
2、下载ModelBox SDK插件安装运行
3、查看技能模板,下载技能模板:single_hand_pose_yolox_mbv2
4、使用模板创建工程:single_pig_pose
4.1、推理功能单元使用我们自己导出的模型进行替换并修改模型配置文件:
4.2、修改条件功能单元的代码:
4.3、修改通用功能单元代码和配置文件:
4.4、修改模型配置文件并替换为我们自己开发的猪只关键点检测模型
4.5、修改猪只关键点检测后处理功能单元和配置文件
4.6、修改绘图功能单元代码
5、查看流程图开启性能统计
6、在bin/mock_task.toml配置输入输出,使用提前准备好的视频进行推理,选择推流到本地,执行bin/main.sh运行应用
查看性能统计文件
我们开发的应用平均每次推理(batch_size:4)耗时193 / 4 = 48ms,视频测试的帧率为1000 / 48 = 21fps,基本满足摄像头实时检测的要求。
复现本案例所需资源(代码、模型、测试数据等)均可从single_pig_pose.zip获取。
- 点赞
- 收藏
- 关注作者
评论(0)