摘要:針對(duì)國(guó)內(nèi)寵物用品市場(chǎng)產(chǎn)品功能單一的問(wèn)題,設(shè)計(jì)了一款可以識(shí)別貓咪奔跑、跳躍、翻轉(zhuǎn)3種運(yùn)動(dòng)狀態(tài)的設(shè)備。借助開(kāi)源電子平臺(tái)Arduino,使用陀螺儀和加速度傳感器對(duì)貓咪的運(yùn)動(dòng)狀態(tài)數(shù)據(jù)進(jìn)行采集,并使用深度學(xué)習(xí)框架TensorFlow進(jìn)行訓(xùn)練,通過(guò)微型機(jī)器學(xué)習(xí)(TinyMachineLearning,TinyML)技術(shù)壓縮模型參數(shù),使模型部署到開(kāi)發(fā)板上。通過(guò)試錯(cuò)法找到訓(xùn)練效果最佳的模型結(jié)構(gòu),最終實(shí)現(xiàn)對(duì)貓咪運(yùn)動(dòng)狀態(tài)識(shí)別的準(zhǔn)確率達(dá)到90%以上。
關(guān)鍵詞:微型機(jī)器學(xué)習(xí)運(yùn)動(dòng)狀態(tài)識(shí)別模型搭建模型訓(xùn)練
CatactionrecognitionmethodbasedonTinyML
LIUYiqunLIUSijinWANGHui
(HubeiUniversityofTechnology,SchoolofElectricalandElectronicEngineering,Wuhan,HubeiProvince,430068China)
Abstract:NowthepetproductmarketisdevelopingsorapidlyinChina,butmostproductshavelimitedfunctionality.Thispaperdesignsadevicethatcanidentifythethreemotionstatesofrunning,jumpingandflippingofacatbasedontheArduino,whichcansolvetheproblemofasinglefunctionoftheproductsonthemarket.Finally,theaccuracyratereachedmorethan90%bythemostsuitablenetworkstructurethroughtrialanderror.
Keyword:TinyML;actionrecognition;Modelbuilding;Modeltraining
根據(jù)“亞寵院”發(fā)布的《寵物行業(yè)藍(lán)皮書(shū)》[1],未來(lái)五年內(nèi)我國(guó)貓的數(shù)量將超過(guò)1.1億只,寵物用品市場(chǎng)規(guī)模近年增長(zhǎng)率穩(wěn)定在10%以上,有91%的養(yǎng)寵人計(jì)劃購(gòu)買(mǎi)智能寵物用品。國(guó)外產(chǎn)品可收集寵物生理信息并分析其健康狀況,國(guó)內(nèi)產(chǎn)品主要實(shí)現(xiàn)定位、追蹤等單一功能,具備極大的提升空間,市場(chǎng)前景廣闊[2]。本文將微型機(jī)器學(xué)習(xí)(TinyMachineLearning,TinyML)應(yīng)用到貓咪項(xiàng)圈中,通過(guò)采集貓咪運(yùn)動(dòng)數(shù)據(jù)進(jìn)而識(shí)別其動(dòng)作類(lèi)型。
1.總體方案設(shè)計(jì)
本系統(tǒng)以Arduino開(kāi)發(fā)板為核心設(shè)計(jì)出一款貓咪動(dòng)作識(shí)別系統(tǒng),可對(duì)貓咪跳躍、奔跑、翻轉(zhuǎn)三類(lèi)動(dòng)作進(jìn)行識(shí)別和分類(lèi),系統(tǒng)總體框架如圖1所示。
1.1運(yùn)動(dòng)數(shù)據(jù)采集和識(shí)別
本方案選用Arduino開(kāi)發(fā)板,性能強(qiáng)大,兼容性好[3]。開(kāi)發(fā)版尺寸較小,可減少對(duì)貓的壓迫感,通過(guò)九軸重力傳感器可采集貓咪運(yùn)動(dòng)時(shí)的加速度和位移信息。對(duì)IMU數(shù)據(jù)采集程序,僅需在初始化后讀取加速度和陀螺儀數(shù)值即可。對(duì)動(dòng)作識(shí)別分類(lèi)程序,則需設(shè)置加速度閾值,保證貓咪動(dòng)作幅度較大時(shí)才調(diào)用識(shí)別函數(shù),以免造成誤判,并降低CPU工作強(qiáng)度。動(dòng)作識(shí)別流程如圖2所示。
1.2模型搭建
訓(xùn)練前對(duì)數(shù)據(jù)進(jìn)行歸一化處理并打上標(biāo)簽,劃分80%作為訓(xùn)練集,20%作為驗(yàn)證集,輸出層個(gè)數(shù)為3。訓(xùn)練時(shí)更改FC(FullyConnectedlayer)數(shù)量及每一層神經(jīng)元個(gè)數(shù)來(lái)搭建不同的網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)激活函數(shù)均使用“relu”,優(yōu)化器均使用“RMSProp”。結(jié)構(gòu)一FC層數(shù)為1,節(jié)點(diǎn)個(gè)數(shù)為30,即神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為30∶3;同理,結(jié)構(gòu)二為50∶15∶3,結(jié)構(gòu)三為50∶30∶15∶3。此外,由于功耗和內(nèi)存限制,訓(xùn)練后的模型文件還需進(jìn)行輕量化處理[4]。
2.實(shí)驗(yàn)分析
2.1模型訓(xùn)練
將設(shè)備固定于實(shí)驗(yàn)貓脖頸處,引導(dǎo)貓咪完成行走、翻轉(zhuǎn)、跳躍的動(dòng)作。設(shè)置模型結(jié)構(gòu),更改訓(xùn)練輪次,開(kāi)始迭代訓(xùn)練。如圖3所示,結(jié)構(gòu)一訓(xùn)練600輪時(shí)并未見(jiàn)loss曲線明顯收斂,在800輪后已無(wú)明顯收斂趨勢(shì);結(jié)構(gòu)二訓(xùn)練600輪時(shí)loss曲線收斂,但800輪時(shí)曲線有發(fā)散趨勢(shì);結(jié)構(gòu)三訓(xùn)練600輪時(shí)曲線收斂效果較好。因此,結(jié)構(gòu)一訓(xùn)練800輪,二訓(xùn)練600輪,三訓(xùn)練600輪。生成模型后調(diào)用各類(lèi)方法完成輕量化處理,使文件大小小于1MB。
2.2識(shí)別結(jié)果統(tǒng)計(jì)與分析
如表1所示,對(duì)于結(jié)構(gòu)一,奔跑和翻轉(zhuǎn)P均低于70%,由于貓咪奔跑和翻轉(zhuǎn)時(shí)重心出現(xiàn)小幅上移,如果特征提取效果較差,只找到局部最優(yōu)解,容易將三類(lèi)動(dòng)作相混淆[5];對(duì)于結(jié)構(gòu)三,奔跑P僅為45%,翻轉(zhuǎn)R雖達(dá)到100%,但P僅為75%,如果模型對(duì)單個(gè)特征過(guò)于敏感,可能根據(jù)重心小幅上移這一特征將該動(dòng)作誤判為跳躍。而結(jié)構(gòu)二的3類(lèi)動(dòng)作P均高于90%,且跳躍R顯著高于結(jié)構(gòu)一和三,達(dá)到85.7%。
3.結(jié)語(yǔ)
本設(shè)備可識(shí)別貓咪奔跑、跳躍、翻轉(zhuǎn)三種運(yùn)動(dòng)狀態(tài),準(zhǔn)確率高達(dá)到90%,但泛化性和魯棒性不ancZPNsQd09dGVg0LhDyNQ==足。后續(xù)考慮使用更多網(wǎng)絡(luò)模型結(jié)構(gòu),改進(jìn)運(yùn)動(dòng)檢測(cè)方式,解決貓咪多樣性運(yùn)動(dòng)數(shù)據(jù)的采集和增廣問(wèn)題。
參考文獻(xiàn)