本發(fā)明涉及桑蠶養(yǎng)殖,具體地說,涉及一種基于機(jī)器視覺識別小蠶生理狀態(tài)的方法。
背景技術(shù):
1、隨著農(nóng)業(yè)承包和大型農(nóng)場化模式的迅速崛起,機(jī)器視覺技術(shù)在農(nóng)業(yè)領(lǐng)域的應(yīng)用也愈發(fā)凸顯其重要性,特別是在作物生長狀況的實(shí)時(shí)監(jiān)測、害蟲檢測、精準(zhǔn)灌溉和施肥等方面。近年來,農(nóng)業(yè)機(jī)械化的迅猛推進(jìn)不僅極大地提升了農(nóng)業(yè)產(chǎn)量,還加速了技術(shù)創(chuàng)新步伐,推動農(nóng)業(yè)產(chǎn)業(yè)規(guī)模持續(xù)擴(kuò)大。與此同時(shí),桑蠶養(yǎng)殖產(chǎn)業(yè)也經(jīng)歷了從傳統(tǒng)個(gè)體養(yǎng)殖到現(xiàn)代化大規(guī)模集約化生產(chǎn)的轉(zhuǎn)變,為農(nóng)業(yè)產(chǎn)業(yè)的全面升級注入了新的活力。
2、蠶病的發(fā)生受不良?xì)夂驐l件的影響較大,春季雨水多,小蠶易受低溫高濕環(huán)境的影響而誘發(fā)僵病,蠶體蛻皮前停止采食,一般固定在桑葉上,這種不食不動的現(xiàn)象稱作蠶眠。蠶的一生需蛻皮四次,表面看雖不食不動,其實(shí)體內(nèi)在進(jìn)行激烈的組織更新,如蠶眠期護(hù)理不好,病菌極易侵入蠶體,發(fā)生蛻皮困難,給后期飼養(yǎng)帶來困難和損失,所以必須重視蠶體的蠶眠期管理。
3、目前,小蠶生理狀態(tài)的識別主要依靠桑蠶養(yǎng)殖人員的經(jīng)驗(yàn)來判斷,但桑蠶養(yǎng)殖人員養(yǎng)殖經(jīng)驗(yàn)層次不齊,蠶箔數(shù)量過多會導(dǎo)致桑蠶養(yǎng)殖人員視覺疲勞,判斷桑蠶生理狀態(tài)會產(chǎn)生主觀判斷和誤差,在養(yǎng)殖環(huán)節(jié)會出現(xiàn)不必要的損失。因此,基于機(jī)器視覺的小蠶生理狀態(tài)識別研究有利于實(shí)現(xiàn)小蠶生理狀態(tài)識別的自動、準(zhǔn)確、快速和即時(shí)識別,幫助桑蠶養(yǎng)殖人員智能識別小蠶生理狀態(tài),加強(qiáng)小蠶生理狀態(tài)的預(yù)防預(yù)警,從而保護(hù)好人民的財(cái)富寶庫,但現(xiàn)有的機(jī)器視覺針對小蠶生理狀態(tài)識別的研究甚少,研究不夠全面。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的內(nèi)容是提供一種基于機(jī)器視覺識別小蠶生理狀態(tài)的方法,其能夠克服現(xiàn)有技術(shù)的某種或某些缺陷。
2、根據(jù)本發(fā)明的一種基于機(jī)器視覺識別小蠶生理狀態(tài)的方法,其包括以下步驟:
3、步驟1:制作不同生理狀態(tài)下的小蠶圖片數(shù)據(jù)集;
4、步驟2:圖像預(yù)處理;
5、步驟3:數(shù)據(jù)集的構(gòu)建;
6、步驟4:構(gòu)建改進(jìn)后的yolov5神經(jīng)網(wǎng)絡(luò)模型;
7、步驟5:通過打印輸出坐標(biāo)判斷小蠶是否休眠期;
8、步驟6:設(shè)置超參數(shù)并完成訓(xùn)練;
9、步驟7、通過訓(xùn)練好的模型對小蠶生理狀態(tài)進(jìn)行分類,并將結(jié)果實(shí)時(shí)反饋到界面輸出。
10、作為優(yōu)選,步驟1中,使用合適的工業(yè)相機(jī)和鏡頭,在不同光源、不同時(shí)間、不同空間、不同角度拍攝約10000張小蠶圖片,其中包括正常狀態(tài)的小蠶、病害的小蠶、按照1:1的比例制作數(shù)據(jù)集。
11、作為優(yōu)選,步驟2中,圖像預(yù)處理包括圖像歸一化以及數(shù)據(jù)增強(qiáng);數(shù)據(jù)增強(qiáng)處理包括圖像的旋轉(zhuǎn)平移、圖像的二值化、圖像的中值濾波、圖像的高斯噪聲這四種數(shù)據(jù)增強(qiáng)方法。
12、作為優(yōu)選,步驟3中,將步驟2預(yù)處理后得到的圖片構(gòu)建為小蠶數(shù)據(jù)集,使用lableimg工具進(jìn)行數(shù)據(jù)標(biāo)注,將標(biāo)注后的數(shù)據(jù)集按照92:4:4的比例分為訓(xùn)練集、驗(yàn)證集和測試集。
13、作為優(yōu)選,步驟4中,使用改進(jìn)后的yolov5神經(jīng)網(wǎng)絡(luò)模型進(jìn)行識別小蠶生理狀態(tài),改進(jìn)后的yolov5神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)包括輸入端、改進(jìn)后的backbone模塊、改進(jìn)后的neck、head四個(gè)部分;
14、其中輸入端包括mosaic數(shù)據(jù)增強(qiáng)和統(tǒng)一縮放和自適應(yīng)錨框功能,改進(jìn)后的backbone模塊包括bottleneckcsp和focus模塊,其中對c3模塊進(jìn)行優(yōu)化并添加se注意力模塊,其中對neck中16層、19層及22層的c3模塊進(jìn)行優(yōu)化并添加se注意力模塊,在c3模塊的優(yōu)化中,設(shè)計(jì)c3-t模塊,目的是在不影響模型性能的前提下,對模型適當(dāng)壓縮,減少計(jì)算量;c3模塊中包括bottleneck,設(shè)計(jì)bottleneck-t模塊包括2個(gè)1*1的conv模塊和2個(gè)3*3的conv模塊;feature?map經(jīng)過1*1的conv模塊后cin通道數(shù)減小為原來的1/4,即cin4繼續(xù)把featuremap分別傳遞給兩個(gè)1*1的conv模塊和3*3的conv模塊,此時(shí)兩個(gè)featuremap通道數(shù)均是c03;把三個(gè)featuremap進(jìn)行concat操作后,得到bottleneck-t的輸出;在添加se注意力模塊中,將se注意力模塊添加在主干網(wǎng)絡(luò)中neck部分,共3個(gè)注意力模塊,se模塊的目的是想通過一個(gè)權(quán)重矩陣,從通道域的角度賦予圖像不同位置不同的權(quán)重,得到更重要的特征信息,提高神經(jīng)網(wǎng)絡(luò)模型的精度。
15、作為優(yōu)選,步驟5中,將改進(jìn)后yolov5模型建立后,使用輸出打印邊界框坐標(biāo),在同一模型、同一設(shè)備條件下,相同圖片或視頻預(yù)測打印的坐標(biāo)相同,故可用來識別判斷小蠶是否處于休眠期狀態(tài);具體的,將攝像頭設(shè)置為間隔10s拍攝一張圖片,使用建立好的模型識別小蠶后輸出打印坐標(biāo)信息,再比較兩次坐標(biāo)位置,若坐標(biāo)發(fā)生變化則說明小蠶處于食桑期,若坐標(biāo)未發(fā)生變化則說明小蠶處于休眠期。
16、作為優(yōu)選,步驟6中,將改進(jìn)后的yolov5模型改進(jìn)后,利用pytorch-gpu1.12+cu113結(jié)合opencv對已處理好的的數(shù)據(jù)集導(dǎo)入深度學(xué)習(xí)框架訓(xùn)練,設(shè)置超參數(shù),學(xué)習(xí)率、余弦退火、學(xué)習(xí)率動量和權(quán)重衰減系數(shù),設(shè)置完成并訓(xùn)練后獲取最優(yōu)模型,經(jīng)過調(diào)參選擇最優(yōu)模型保存成.pt文件;利用pyqt5、qtdesigner以及eric6工具在python環(huán)境下實(shí)現(xiàn)了識別小蠶生理狀態(tài)系統(tǒng)的研究設(shè)計(jì),之后設(shè)定正常小蠶數(shù)目的百分比低于百分之90即系統(tǒng)判定此小蠶生理狀態(tài)出現(xiàn)問題,并發(fā)出警報(bào);最后把整套系統(tǒng)封裝成exe可執(zhí)行文件,將搭建好的系統(tǒng)嵌入到由windows或linux系統(tǒng)的主機(jī)或嵌入式設(shè)備的中運(yùn)行。
17、本發(fā)明的有益效果如下:
18、本發(fā)明對c3模塊進(jìn)行優(yōu)化并添加了se注意力模塊,在c3模塊的優(yōu)化中,設(shè)計(jì)了c3-t模塊,目的是在不影響模型性能的前提下,對模型適當(dāng)壓縮,減少計(jì)算量,使得模型更具輕量化,更加適配使用linux系統(tǒng)的邊緣設(shè)備進(jìn)行小蠶的生理狀態(tài)識別。
19、本發(fā)明通過打印輸出坐標(biāo)判斷小蠶是否休眠期,將攝像頭設(shè)置為間隔10s拍攝一張圖片,使用建立好的模型識別小蠶后輸出打印坐標(biāo)信息,再比較兩次坐標(biāo)位置,若坐標(biāo)發(fā)生變化則說明小蠶處于食桑期,若坐標(biāo)未發(fā)生變化則說明小蠶處于休眠期。通過這個(gè)方法能有效判斷小蠶是否處于休眠期,大大減少勞動人民的工作量。
1.一種基于機(jī)器視覺識別小蠶生理狀態(tài)的方法,其特征在于:包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種基于機(jī)器視覺識別小蠶生理狀態(tài)的方法,其特征在于:步驟1中,使用工業(yè)相機(jī)和鏡頭,在不同光源、不同時(shí)間、不同空間、不同角度拍攝約10000張小蠶圖片,其中包括正常狀態(tài)的小蠶、病害的小蠶、按照1:1的比例制作數(shù)據(jù)集。
3.根據(jù)權(quán)利要求2所述的一種基于機(jī)器視覺識別小蠶生理狀態(tài)的方法,其特征在于:步驟2中,圖像預(yù)處理包括圖像歸一化以及數(shù)據(jù)增強(qiáng);數(shù)據(jù)增強(qiáng)處理包括圖像的旋轉(zhuǎn)平移、圖像的二值化、圖像的中值濾波、圖像的高斯噪聲這四種數(shù)據(jù)增強(qiáng)方法。
4.根據(jù)權(quán)利要求3所述的一種基于機(jī)器視覺識別小蠶生理狀態(tài)的方法,其特征在于:步驟3中,將步驟2預(yù)處理后得到的圖片構(gòu)建為小蠶數(shù)據(jù)集,使用lableimg工具進(jìn)行數(shù)據(jù)標(biāo)注,將標(biāo)注后的數(shù)據(jù)集按照92:4:4的比例分為訓(xùn)練集、驗(yàn)證集和測試集。
5.根據(jù)權(quán)利要求4所述的一種基于機(jī)器視覺識別小蠶生理狀態(tài)的方法,其特征在于:步驟4中,使用改進(jìn)后的yolov5神經(jīng)網(wǎng)絡(luò)模型進(jìn)行識別小蠶生理狀態(tài),改進(jìn)后的yolov5神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)包括輸入端、改進(jìn)后的backbone模塊、改進(jìn)后的neck、head四個(gè)部分;
6.根據(jù)權(quán)利要求5所述的一種基于機(jī)器視覺識別小蠶生理狀態(tài)的方法,其特征在于:步驟5中,將改進(jìn)后yolov5模型建立后,使用輸出打印邊界框坐標(biāo),在同一模型、同一設(shè)備條件下,相同圖片或視頻預(yù)測打印的坐標(biāo)相同,故可用來識別判斷小蠶是否處于休眠期狀態(tài);具體的,將攝像頭設(shè)置為間隔10s拍攝一張圖片,使用建立好的模型識別小蠶后輸出打印坐標(biāo)信息,再比較兩次坐標(biāo)位置,若坐標(biāo)發(fā)生變化則說明小蠶處于食桑期,若坐標(biāo)未發(fā)生變化則說明小蠶處于休眠期。
7.根據(jù)權(quán)利要求6所述的一種基于機(jī)器視覺識別小蠶生理狀態(tài)的方法,其特征在于:步驟6中,將改進(jìn)后的yolov5模型改進(jìn)后,利用pytorch-gpu1.12+cu113結(jié)合opencv對已處理好的的數(shù)據(jù)集導(dǎo)入深度學(xué)習(xí)框架訓(xùn)練,設(shè)置超參數(shù),學(xué)習(xí)率、余弦退火、學(xué)習(xí)率動量和權(quán)重衰減系數(shù),設(shè)置完成并訓(xùn)練后獲取最優(yōu)模型,經(jīng)過調(diào)參選擇最優(yōu)模型保存成.pt文件;利用pyqt5、qt?designer以及eric6工具在python環(huán)境下實(shí)現(xiàn)了識別小蠶生理狀態(tài)系統(tǒng)的研究設(shè)計(jì),之后設(shè)定正常小蠶數(shù)目的百分比低于百分之90即系統(tǒng)判定此小蠶生理狀態(tài)出現(xiàn)問題,并發(fā)出警報(bào);最后把整套系統(tǒng)封裝成exe可執(zhí)行文件,將搭建好的系統(tǒng)嵌入到由windows或linux系統(tǒng)的主機(jī)或嵌入式設(shè)備的中運(yùn)行。