本發(fā)明涉及寵物智能喂養(yǎng)領(lǐng)域,具體涉及一種基于物聯(lián)網(wǎng)的寵物喂養(yǎng)方法及系統(tǒng)。
背景技術(shù):
隨著國民經(jīng)濟(jì)的快速發(fā)展,寵物作為一種情感寄托越來越成為人們樂意選擇的一種方式。但如果僅僅使用缺乏科學(xué)依據(jù)的個人經(jīng)驗對寵物進(jìn)行喂養(yǎng),其不合理的喂養(yǎng)方案可能會使寵物缺乏營養(yǎng)導(dǎo)致疾病或富營養(yǎng)化以致肥胖,都達(dá)不到我們預(yù)想的目標(biāo),間接造成大量的精力損失和金錢浪費。
目前,亟需解決的問題是建立一套全面的寵物喂養(yǎng)模型,并將寵物生理指標(biāo)、飲食情況反饋給用戶,讓用戶能及時對寵物喂食方案做出調(diào)整。影響寵物健康程度的各個因素之間往往體現(xiàn)出高度的復(fù)雜性和非線性,采用常規(guī)預(yù)測、分析方法存在一定難度。
技術(shù)實現(xiàn)要素:
本發(fā)明通過提供一種基于物聯(lián)網(wǎng)的寵物喂養(yǎng)方法及系統(tǒng),以解決現(xiàn)有寵物喂養(yǎng)過程中因缺乏喂養(yǎng)經(jīng)驗,無法掌控最優(yōu)的喂食方案而導(dǎo)致寵物饑餓或不健康的問題。
為解決上述問題,本發(fā)明采用以下技術(shù)方案予以實現(xiàn):
一方面,本發(fā)明提供的基于物聯(lián)網(wǎng)的寵物喂養(yǎng)方法,包括:
步驟S1:采集寵物的種類、性別、年齡、心跳頻率、呼吸頻率、體溫、活動量、喂食類型、喂食量,當(dāng)前圖像、當(dāng)前體重構(gòu)成影響因素矩陣X,并上傳至服務(wù)器;其中,喂食類型和喂食量構(gòu)成決策變量;
步驟S2:在服務(wù)器內(nèi)利用Elman神經(jīng)網(wǎng)絡(luò)建立影響因素矩陣X與寵物健康指數(shù)之間的復(fù)雜非線性關(guān)系,獲得寵物喂養(yǎng)模型;
步驟S3:利用MOPSO算法對寵物喂養(yǎng)模型進(jìn)行優(yōu)化,獲得決策變量的一組最優(yōu)解;
步驟S4:將決策變量的該組最優(yōu)解作為寵物的推薦決策X*通過服務(wù)器下發(fā)至用戶的終端設(shè)備進(jìn)行顯示;
步驟S5:用戶根據(jù)終端設(shè)備顯示的推薦決策X*喂食寵物。
另一方面,本發(fā)明提供的基于物聯(lián)網(wǎng)的寵物喂養(yǎng)系統(tǒng),包括:
數(shù)據(jù)采集單元,用于采集寵物的種類、性別、年齡、心跳頻率、血壓、體溫、活動量、喂食類型、喂食量,當(dāng)前圖像、當(dāng)前體重構(gòu)成影響因素矩陣X,并上傳至服務(wù)器;其中,喂食類型和喂食量構(gòu)成決策變量;
寵物喂養(yǎng)模型建立單元,用于在服務(wù)器內(nèi)利用Elman神經(jīng)網(wǎng)絡(luò)建立影響因素矩陣X與寵物健康指數(shù)之間的復(fù)雜非線性關(guān)系,獲得寵物喂養(yǎng)模型;
決策變量最優(yōu)解獲取單元,用于利用MOPSO算法對寵物喂養(yǎng)模型進(jìn)行優(yōu)化,獲得決策變量的一組最優(yōu)解,并作為寵物的推薦決策X*;
推薦決策下發(fā)單元,用于通過服務(wù)器將寵物的推薦決策X*下發(fā)至用戶的終端設(shè)備進(jìn)行顯示。
與現(xiàn)有技術(shù)相比,本發(fā)明提供的基于物聯(lián)網(wǎng)的寵物喂養(yǎng)方法及系統(tǒng)的優(yōu)點是:利用Elman神經(jīng)網(wǎng)絡(luò)建立寵物喂養(yǎng)模型,再利用MOPSO算法優(yōu)化寵物喂養(yǎng)模型,確定了寵物喂食量、食品類型的最優(yōu)值,并將寵物喂食量、食品類型的最優(yōu)值構(gòu)成寵物喂食方案即時反饋給用戶,讓用戶隨時隨地都能了解寵物的當(dāng)前狀況,為寵物營造了更好的生活環(huán)境。
附圖說明
圖1為根據(jù)本發(fā)明實施例的基于物聯(lián)網(wǎng)的寵物喂養(yǎng)方法的流程示意圖;
圖2為根據(jù)本發(fā)明實施例的健康指標(biāo)預(yù)測結(jié)果圖;
圖3為根據(jù)本發(fā)明實施例的健康指標(biāo)預(yù)測誤差圖;
圖4為根據(jù)本發(fā)明實施例的用戶界面示意圖。
具體實施方式
圖1示出了根據(jù)本發(fā)明實施例的基于物聯(lián)網(wǎng)的寵物喂養(yǎng)方法的流程。
如圖1所示,本發(fā)明的基于物聯(lián)網(wǎng)的寵物喂養(yǎng)方法,包括:
步驟S1:采集寵物的種類、性別、年齡、心跳頻率、呼吸頻率、體溫、活動量、喂食類型、喂食量,當(dāng)前圖像、當(dāng)前體重構(gòu)成影響因素矩陣X,并上傳至服務(wù)器;其中,喂食類型和喂食量構(gòu)成決策變量。
通過統(tǒng)計得到對寵物的健康程度y1影響最大的變量為:寵物種類x1、年齡x2、心跳頻率x3、呼吸頻率x4、活動量x5、體溫x6、當(dāng)前圖像x7、性別x8、當(dāng)前體重x9、喂食量x10、食物類型x11,共11個變量;其中,心跳頻率x3、呼吸頻率x4、活動量x5、體溫x6由對應(yīng)的傳感器測量數(shù)據(jù);當(dāng)前圖像x7由攝像頭采集,寵物種類x1、年齡x2、性別x8、當(dāng)前體重x9為固有屬性,由用戶輸入;喂食量x10、食物類型x11構(gòu)成決策變量。
寵物的體溫x6通過溫度傳感器采集獲得;寵物的心跳頻率x3通過心率傳感器采集獲得;寵物的呼吸頻率x4通過呼吸頻率傳感器采集獲得;寵物的活動量x5通過計步器采集獲得;利用采樣電路分別與溫度傳感器、心率傳感器、呼吸頻率傳感器、計步器進(jìn)行連接,并將溫度傳感器、心率傳感器、呼吸頻率傳感器、計步器分別采集到的寵物的體溫、心跳頻率、呼吸頻率、活動量轉(zhuǎn)換成數(shù)字信號。
寵物在當(dāng)前時刻的面部特征通過攝像頭采集獲得,攝像頭將圖像信息轉(zhuǎn)換成數(shù)字信號。
在本發(fā)明中,服務(wù)器優(yōu)選為云服務(wù)器。
步驟S2:在服務(wù)器內(nèi)利用Elman神經(jīng)網(wǎng)絡(luò)建立影響因素矩陣X與寵物健康指數(shù)之間的復(fù)雜非線性關(guān)系,獲得寵物喂養(yǎng)模型。
設(shè)置Xk=[xk1,xk2,L,xkM](k=1,2,L,S)為輸入矢量,N為訓(xùn)練樣本個數(shù),
為第g次迭代時輸入層M與隱層I之間的權(quán)值矢量,WJP(g)為第g次迭代時隱層J與輸出層P之間的權(quán)值矢量,WJC(g)為第g次迭代時隱層J與承接層C之間的權(quán)值矢量Yk(g)=[yk1(g),yk2(g),L,ykP(g)](k=1,2,L,S)為第g次迭代時網(wǎng)絡(luò)的實際輸出,dk=[dk1,dk2,L,dkP](k=1,2,L,S)為期望輸出,迭代次數(shù)g為500。
在服務(wù)器內(nèi)利用Elman神經(jīng)網(wǎng)絡(luò)建立影響因素矩陣X與寵物健康指數(shù)之間的復(fù)雜非線性關(guān)系,獲得寵物喂養(yǎng)模型的過程,包括:
步驟S21:初始化,設(shè)迭代次數(shù)g初值為0,分別賦給WMI(0)、WJP(0)、WJC(0)一個(0,1)區(qū)間的隨機(jī)值;
步驟S22:隨機(jī)輸入樣本Xk;
步驟S23:對輸入樣本Xk,前向計算Elman神經(jīng)網(wǎng)絡(luò)每層神經(jīng)元的實際輸出Yk(g);
步驟S24:根據(jù)期望輸出dk和實際輸出Yk(g),計算誤差E(g);
步驟S25:判斷誤差E(g)是否小于預(yù)設(shè)的誤差值,如果大于或等于,進(jìn)入步驟S26,如果小于,則進(jìn)入步驟S29;
步驟S26:判斷迭代次數(shù)g+1是否大于最大迭代次數(shù),如果大于,進(jìn)入步驟S29,否則,進(jìn)入步驟S27;
步驟S27:對輸入樣本Xk反向計算Elman神經(jīng)網(wǎng)絡(luò)每層神經(jīng)元的局部梯度δ;
步驟S28:計算權(quán)值修正量ΔW,并修正權(quán)值;令g=g+1,跳轉(zhuǎn)至步驟S23;
其中,ΔWij=η·δij,η為學(xué)習(xí)效率;Wij(g+1)=Wij(g)+ΔWij(g);
步驟S29:判斷是否完成所有樣本的訓(xùn)練;如果是,完成建模;如果否,跳轉(zhuǎn)至步驟S22。
在Elman神經(jīng)網(wǎng)絡(luò)設(shè)計中,隱層節(jié)點數(shù)的多少是決定Elman神經(jīng)網(wǎng)絡(luò)模型好壞的關(guān)鍵,也是Elman神經(jīng)網(wǎng)絡(luò)設(shè)計中的難點,這里采用試湊法來確定隱層的節(jié)點數(shù)。
式中,p為隱層神經(jīng)元節(jié)點數(shù),n為輸入層神經(jīng)元數(shù),m為輸出層神經(jīng)元數(shù),k為1-10之間的常數(shù)。Elman神經(jīng)網(wǎng)絡(luò)的設(shè)置參數(shù)如下表2所示。
表2 Elman神經(jīng)網(wǎng)絡(luò)設(shè)置參數(shù)
通過上述過程,可得到Elman神經(jīng)網(wǎng)絡(luò)預(yù)測效果如圖2-3所示。智能寵物喂養(yǎng)的基礎(chǔ)是模型的建立,模型精度直接影響輸出結(jié)果。通過對圖2-3分析可知,健康指數(shù)預(yù)最大測誤差為2.0%,模型預(yù)測精度高,滿足建模要求。
步驟S3:利用MOPSO算法(Modified Bacteria Foraging Optimization,改進(jìn)細(xì)菌覓食優(yōu)化算法)對寵物喂養(yǎng)模型進(jìn)行優(yōu)化,獲得決策變量的一組最優(yōu)解。
獲得決策變量的一組最優(yōu)解,也就是獲得寵物的澆水量、施肥量、施肥類型的一組最優(yōu)值。
利用MOPSO算法對寵物喂養(yǎng)模型進(jìn)行優(yōu)化的步驟包括:
步驟S31:初始化寵物喂養(yǎng)模型參數(shù),該參數(shù)包括種群規(guī)模R、最大迭代次數(shù)T、隨機(jī)生成n個粒子x1,x2,L,xn、加速因子c1和c2;其中,c1為粒子向個體極值移動的加速權(quán)重,c2為粒子向全局最優(yōu)值移動的加速權(quán)重,令存檔集Q為空。
步驟S32:計算種群中每個粒子的適應(yīng)度pi和個體最優(yōu)適應(yīng)度衡量粒子在當(dāng)前位置的優(yōu)化程度。
粒子的適應(yīng)度值越小,其優(yōu)化程度越高。
步驟S33:將每個粒子的適應(yīng)度pi和個體最優(yōu)適應(yīng)度進(jìn)行比較,如果適應(yīng)度pi支配個體最優(yōu)適應(yīng)度將適應(yīng)度pi代替?zhèn)€體最優(yōu)適應(yīng)度否則,保留原有的個體最優(yōu)適應(yīng)度
步驟S34:將種群中所有非支配的粒子加入存檔集Q,并刪除種群中被支配的粒子。
步驟S35:利用擁擠機(jī)制和禁忌算法在存檔集Q中選擇一個粒子作為全局最優(yōu)值。
步驟S36:更新粒子自身的速度和位置;
其中,粒子的速度更新公式為:
粒子的位置更新公式為:
步驟S37:判斷迭代次數(shù)是否達(dá)到最大迭代次數(shù)T,如果是,則輸出當(dāng)前全局最優(yōu)解,否則,循環(huán)步驟S32-步驟S36,直到迭代次數(shù)達(dá)到最大迭代次數(shù)T為止。
粒子的每個位置均為一個變量,每個變量均對應(yīng)一個解。
步驟S4:將決策變量的該組最優(yōu)解作為寵物的推薦決策X*通過服務(wù)器下發(fā)至用戶的終端設(shè)備進(jìn)行顯示。
各類傳感器每2小時采集一次數(shù)據(jù)上傳至服務(wù)器,服務(wù)器接數(shù)據(jù)并通過寵物喂養(yǎng)模型給出寵物當(dāng)前推薦的喂食量和食物類型。
步驟S5:用戶根據(jù)終端設(shè)備顯示的推薦決策喂養(yǎng)寵物。
用戶可以在終端設(shè)備上打開智能寵物喂養(yǎng)界面(如圖4所示),界面顯示該寵物的簡要信息,寵物的簡要信息包括寵物的圖像、當(dāng)前健康指數(shù),用戶可在界面設(shè)置寵物的理想健康指數(shù),由服務(wù)器下發(fā)推薦的喂食類型和喂食量。
寵物的當(dāng)前健康指數(shù)由基于MOPSO算法對寵物喂養(yǎng)模型進(jìn)行優(yōu)化得到,寵物的當(dāng)前健康指數(shù)與決策變量的一組最優(yōu)解相對應(yīng)。
本發(fā)明提供的基于物聯(lián)網(wǎng)的寵物喂養(yǎng)方法,首先,利用傳感器、攝像頭 等硬件采集寵物的生理指標(biāo)參數(shù)、寵物圖像、喂食量、食物類型;然后,將采集到的數(shù)據(jù)上傳至服務(wù)器進(jìn)行存儲,在服務(wù)器內(nèi)利用Elman神經(jīng)網(wǎng)絡(luò)建立影響因素矩陣X與寵物健康指數(shù)之間的復(fù)雜非線性關(guān)系,獲得寵物喂養(yǎng)模型,利用MOPSO算法對寵物喂養(yǎng)模型進(jìn)行優(yōu)化,獲得各決策變量的一組最優(yōu)解,并將這組最優(yōu)解作為推薦決策下發(fā)至用戶的PC或APP終端,最后,用戶可根據(jù)推薦決策決定寵物的喂食量和食物類型。該方法能夠確定最優(yōu)的寵物喂養(yǎng)方案,為寵物營造了更好的生活環(huán)境。
與上述方法相對應(yīng),本發(fā)明還提供一種基于物聯(lián)網(wǎng)的寵物喂養(yǎng)系統(tǒng)。
本發(fā)明基于物聯(lián)網(wǎng)的寵物喂養(yǎng)系統(tǒng),包括:
數(shù)據(jù)采集單元,用于采集寵物的種類、性別、年齡、心跳頻率、血壓、體溫、活動量、喂食類型、喂食量,當(dāng)前圖像、當(dāng)前體重構(gòu)成影響因素矩陣X,并上傳至服務(wù)器;其中,喂食類型和喂食量構(gòu)成決策變量。數(shù)據(jù)采集單元采集數(shù)據(jù)的具體過程參考上述步驟S1。
寵物喂養(yǎng)模型建立單元,用于在服務(wù)器內(nèi)利用Elman神經(jīng)網(wǎng)絡(luò)建立影響因素矩陣X與寵物健康指數(shù)之間的復(fù)雜非線性關(guān)系,獲得寵物喂養(yǎng)模型。寵物喂養(yǎng)模型建立單元建立寵物喂養(yǎng)模型的具體過程參考上述步驟S2。
決策變量最優(yōu)解獲取單元,用于利用MOPSO算法對寵物喂養(yǎng)模型進(jìn)行優(yōu)化,獲得決策變量的一組最優(yōu)解,并作為寵物的推薦決策X*。決策變量最優(yōu)解獲取單元獲取決策變量的最優(yōu)解具體過程參考上述步驟S3。
推薦決策下發(fā)單元,用于通過服務(wù)器將寵物的推薦決策X*下發(fā)至用戶的終端設(shè)備進(jìn)行顯示。
用戶根據(jù)終端設(shè)備顯示的推薦決策X*對寵物進(jìn)行喂食。
應(yīng)當(dāng)指出的是,上述說明并非是對本發(fā)明的限制,本發(fā)明也并不僅限于上述舉例,本技術(shù)領(lǐng)域的普通技術(shù)人員在本發(fā)明的實質(zhì)范圍內(nèi)所做出的變化、改性、添加或替換,也應(yīng)屬于本發(fā)明的保護(hù)范圍。