基于TinyML的猫咪动作识别方法

2024-11-03 00:00刘轶群刘思进王慧
科技资讯 2024年19期

摘要:针对国内宠物用品市场产品功能单一的问题,设计了一款可以识别猫咪奔跑、跳跃、翻转3种运动状态的设备。借助开源电子平台Arduino,使用陀螺仪和加速度传感器对猫咪的运动状态数据进行采集,并使用深度学习框架TensorFlow进行训练,通过微型机器学习(TinyMachineLearning,TinyML)技术压缩模型参数,使模型部署到开发板上。通过试错法找到训练效果最佳的模型结构,最终实现对猫咪运动状态识别的准确率达到90%以上。

关键词:微型机器学习运动状态识别模型搭建模型训练

CatactionrecognitionmethodbasedonTinyML

LIUYiqunLIUSijinWANGHui

(HubeiUniversityofTechnology,SchoolofElectricalandElectronicEngineering,Wuhan,HubeiProvince,430068China)

Abstract:NowthepetproductmarketisdevelopingsorapidlyinChina,butmostproductshavelimitedfunctionality.Thispaperdesignsadevicethatcanidentifythethreemotionstatesofrunning,jumpingandflippingofacatbasedontheArduino,whichcansolvetheproblemofasinglefunctionoftheproductsonthemarket.Finally,theaccuracyratereachedmorethan90%bythemostsuitablenetworkstructurethroughtrialanderror.

Keyword:TinyML;actionrecognition;Modelbuilding;Modeltraining

根据“亚宠院”发布的《宠物行业蓝皮书》[1],未来五年内我国猫的数量将超过1.1亿只,宠物用品市场规模近年增长率稳定在10%以上,有91%的养宠人计划购买智能宠物用品。国外产品可收集宠物生理信息并分析其健康状况,国内产品主要实现定位、追踪等单一功能,具备极大的提升空间,市场前景广阔[2]。本文将微型机器学习(TinyMachineLearning,TinyML)应用到猫咪项圈中,通过采集猫咪运动数据进而识别其动作类型。

1.总体方案设计

本系统以Arduino开发板为核心设计出一款猫咪动作识别系统,可对猫咪跳跃、奔跑、翻转三类动作进行识别和分类,系统总体框架如图1所示。

1.1运动数据采集和识别

本方案选用Arduino开发板,性能强大,兼容性好[3]。开发版尺寸较小,可减少对猫的压迫感,通过九轴重力传感器可采集猫咪运动时的加速度和位移信息。对IMU数据采集程序,仅需在初始化后读取加速度和陀螺仪数值即可。对动作识别分类程序,则需设置加速度阈值,保证猫咪动作幅度较大时才调用识别函数,以免造成误判,并降低CPU工作强度。动作识别流程如图2所示。

1.2模型搭建

训练前对数据进行归一化处理并打上标签,划分80%作为训练集,20%作为验证集,输出层个数为3。训练时更改FC(FullyConnectedlayer)数量及每一层神经元个数来搭建不同的网络结构,网络激活函数均使用“relu”,优化器均使用“RMSProp”。结构一FC层数为1,节点个数为30,即神经网络拓扑结构为30∶3;同理,结构二为50∶15∶3,结构三为50∶30∶15∶3。此外,由于功耗和内存限制,训练后的模型文件还需进行轻量化处理[4]。

2.实验分析

2.1模型训练

将设备固定于实验猫脖颈处,引导猫咪完成行走、翻转、跳跃的动作。设置模型结构,更改训练轮次,开始迭代训练。如图3所示,结构一训练600轮时并未见loss曲线明显收敛,在800轮后已无明显收敛趋势;结构二训练600轮时loss曲线收敛,但800轮时曲线有发散趋势;结构三训练600轮时曲线收敛效果较好。因此,结构一训练800轮,二训练600轮,三训练600轮。生成模型后调用各类方法完成轻量化处理,使文件大小小于1MB。

2.2识别结果统计与分析

如表1所示,对于结构一,奔跑和翻转P均低于70%,由于猫咪奔跑和翻转时重心出现小幅上移,如果特征提取效果较差,只找到局部最优解,容易将三类动作相混淆[5];对于结构三,奔跑P仅为45%,翻转R虽达到100%,但P仅为75%,如果模型对单个特征过于敏感,可能根据重心小幅上移这一特征将该动作误判为跳跃。而结构二的3类动作P均高于90%,且跳跃R显著高于结构一和三,达到85.7%。

3.结语

本设备可识别猫咪奔跑、跳跃、翻转三种运动状态,准确率高达到90%,但泛化性和鲁棒性不ancZPNsQd09dGVg0LhDyNQ==足。后续考虑使用更多网络模型结构,改进运动检测方式,解决猫咪多样性运动数据的采集和增广问题。

参考文献

  • 亚宠研究院.宠物行业蓝皮书:2023宠物行业发展报告(简版)[R/OL].(2023-08-15)[2024-03-25].https://www.petslib.cn/report/537876963235201024.html.
  • 何泫臻,范志聪,李孜,等.宠物健康智能监测发展现状[J].广东饲料,2023,32(10):8-14.
  • KITZHABERZB,ENGLISHCM,SANIMKRI,etal.FluorometercontrolandreadoutusinganArduinoNano33BLEsenseboard.[J].Appliedspectroscopy,2022,77(2):37028221128800-37028221128800.
  • 刘旭瑶,曾天凯,戴嘉庆,等.基于TinyML轻量化边缘侧处理的智能分类垃圾桶[J].装备制造技术,2022(6):110-113.
  • SACHINN,NEERAJS.Astandalonecomputingsystemtoclassifyhumanfootmovementsusingmachinelearningtechniquesforankle-footprosthesiscontrol.[J].ComputerMethodsinBiomechanicsandBiomedicalEngineering,2021,25(12):11-11.