左若雨, 陳 豐, 陳 蒙, 周 穩(wěn), 陳敏權(quán)
(安徽科技學(xué)院 機(jī)械工程學(xué)院,安徽 鳳陽 233100)
我國是世界養(yǎng)豬大國,國內(nèi)生豬養(yǎng)殖量約占全球生豬總養(yǎng)殖量的56.6%[1]。2021年我國豬肉消費(fèi)量占肉類消費(fèi)比重已達(dá)到60%以上[2]。2018年全球性豬瘟對豬肉產(chǎn)量增長產(chǎn)生了巨大影響,讓我國豬肉總產(chǎn)量比從2018年的62.70%,下滑至2019年的55.6%[3]。對此農(nóng)業(yè)農(nóng)村部出臺了一系列政策,以確保生豬產(chǎn)能穩(wěn)定,由此可見生豬養(yǎng)殖業(yè)已關(guān)系到國計(jì)民生。豬肉作為人們?nèi)忸愂称分饕獊碓?因此生豬疾病問題,直接關(guān)系到社會經(jīng)濟(jì)利益和食品安全。
生豬養(yǎng)殖的過程中,常常伴隨著各種各樣的疾病,如豬瘟、豬肺疫、豬流感、傳胸、藍(lán)耳病等[4-5],以上疾病均在生豬耳部有不同程度體現(xiàn),同時(shí)當(dāng)前我國中小型豬舍內(nèi)疾病巡檢仍為人工觀測[6],不能對發(fā)病豬只進(jìn)行及時(shí)檢測。隨著智能化的進(jìn)程,近年來,基于卷積神經(jīng)網(wǎng)絡(luò)的圖像處理方法被廣泛應(yīng)用于農(nóng)業(yè)生產(chǎn)中[7]。在養(yǎng)豬行業(yè)中,國內(nèi)外很多學(xué)者,針對生豬疫情檢測開展了不同程度的研究,在生豬檢測模型中,YOLO模型發(fā)展尤為迅速。嵇楊培等[8]基于可見光光譜對豬只行為進(jìn)行識別,其識別進(jìn)食[9]、飲水行為[10]準(zhǔn)確率分別達(dá)到94.59%和96.49%。Li等[11]使用卷積神經(jīng)網(wǎng)絡(luò)[12]對豬只個(gè)體進(jìn)行檢測。生豬健康狀況不僅可從體表判斷,從其體溫也可以得出同樣結(jié)論。為防止人畜交叉感染,保護(hù)豬只福利,肖德琴等[13]采用非接觸式測溫,對生豬耳部[14-16]溫度自動(dòng)提取,該方法對于耳部檢測的準(zhǔn)確率為97.6%,單幅圖像平均檢測時(shí)間為12 ms。
中小型豬舍環(huán)境復(fù)雜,容易引發(fā)豬只疾病,為及時(shí)準(zhǔn)確判別豬只健康狀況,本研究針對豬只生病時(shí)其耳部特征會發(fā)生變化的情況,提出一種基于豬耳識別豬只疾病的檢測與預(yù)警網(wǎng)絡(luò)模型。
傳統(tǒng)的目標(biāo)檢測方法包括圖像分割、SVM分類器、邊緣檢測等。由于傳統(tǒng)的目標(biāo)檢測方法存在算法復(fù)雜、檢測速度慢、計(jì)算量大、檢測精度低、自適應(yīng)差等缺點(diǎn),且特征提取需要人工完成,算法開發(fā)周期長,使得傳統(tǒng)方法在農(nóng)業(yè)領(lǐng)域的應(yīng)用與推廣相對困難。
YOLO系列模型采用端到端的預(yù)測方式,擁有運(yùn)行速度快、模型簡單、可進(jìn)行實(shí)時(shí)監(jiān)測等一系列優(yōu)點(diǎn),被廣泛應(yīng)用于各個(gè)領(lǐng)域。YOLO將識別整合為一個(gè)過程,較兩階段的檢測方式優(yōu)點(diǎn)更加突出。YOLOv1對目標(biāo)檢測速度很快,但對于近距離目標(biāo),定位會偏差。YOLOv2沿用了YOLOv1的思路,以Darknet-19作為基礎(chǔ)網(wǎng)絡(luò),召回率大大提升,但模型穩(wěn)定性有所下降。YOLOv3在前兩代基礎(chǔ)之上,采用Darknet-53的網(wǎng)絡(luò)結(jié)構(gòu),提升了模型的穩(wěn)定性和收斂速度,同時(shí)也提高了對于小目標(biāo)的預(yù)測能力,但是檢測速度慢于前兩代。
YOLOv4對主干網(wǎng)絡(luò)、激活函數(shù)、損失函數(shù)、訓(xùn)練方法以及數(shù)據(jù)處理等方面都進(jìn)行了不同程度優(yōu)化,具體結(jié)構(gòu)如圖1所示,與前幾代算法相比,其準(zhǔn)確率更高、收斂速度更快。通過分析豬耳部輪廓特征,決定采用YOLOv4作為快速檢測算法。根據(jù)YOLOv4提取的特征對其進(jìn)行進(jìn)一步分析,由此來完成生豬耳部區(qū)域快速檢測、定量工作,實(shí)現(xiàn)豬只疾病檢測與預(yù)警。
圖1 YOLOv4結(jié)構(gòu)圖Fig.1 YOLOv4 structure diagram
本研究數(shù)據(jù)集為自然條件下,主動(dòng)多角度采集的2 250幅生豬圖像。對數(shù)據(jù)集進(jìn)行人工篩選,將相似度極高的圖片剔除,避免數(shù)據(jù)冗沉,保證數(shù)據(jù)庫的質(zhì)量。深度學(xué)習(xí)需要大量的數(shù)據(jù),過小的訓(xùn)練集會對訓(xùn)練結(jié)果產(chǎn)生過擬合影響,因此為確保模型的識別準(zhǔn)確度,提高泛化能力,以及提升魯棒性,通過旋轉(zhuǎn)、翻轉(zhuǎn)、縮放等多種方法隨機(jī)組合的形式,如圖2所示,以擴(kuò)展數(shù)據(jù)集樣本量。由于數(shù)據(jù)集處理后順序較為紊亂,需要對數(shù)據(jù)集重新進(jìn)行統(tǒng)一編號,這里使用LabelImg按照PASCAL VOC數(shù)據(jù)集的標(biāo)注格式,對數(shù)據(jù)集內(nèi)圖像特征依次進(jìn)行標(biāo)注,生成含有目標(biāo)信息與類別信息的XML標(biāo)注文件。同時(shí)在對圖像的特征進(jìn)行標(biāo)注時(shí),標(biāo)注框應(yīng)盡量與豬耳外側(cè)邊緣緊貼,以減少由于人為標(biāo)注產(chǎn)生的誤差。
圖2 數(shù)據(jù)增強(qiáng)Fig.2 Data augmentation
將數(shù)據(jù)集按照8∶1∶1的比例隨機(jī)分為3組,訓(xùn)練集1 800幅,驗(yàn)證集225幅,測試集225幅,圖3為生豬數(shù)據(jù)集的部分?jǐn)?shù)據(jù)集圖像。
圖3 部分?jǐn)?shù)據(jù)集圖像Fig.3 Part of the dataset image
實(shí)驗(yàn)使用 Pytorch 框架搭建網(wǎng)絡(luò),并在工作站上進(jìn)行訓(xùn)練。硬件環(huán)境為 Inter Core CPU,i9-9900K@3.60 GHz的處理器、32 GB機(jī)身自帶內(nèi)存,顯存為11 GB的GeForce RTX 2080Ti GPU,軟件環(huán)境為Windows10,3.6版本的Python編程語言,1.3版本的Pytorch語言框架。
模型訓(xùn)練過程中,需要將已標(biāo)注好的數(shù)據(jù)集進(jìn)行聚類,在模型中引入IOU值,以作為衡量標(biāo)準(zhǔn),使用聚類得到的anchor box與bounding box進(jìn)行計(jì)算,比較選出其中最大值,最終得到多圖像尺度下anchor box的大小,共計(jì)9種,按照對應(yīng)原則,依據(jù)面積大小將9種anchor box分配給3種不同尺度的特征圖,如表1所示。
表1 先驗(yàn)框尺寸Table 1 Size of anchor box
訓(xùn)練時(shí),將圖像像素以416×416輸入至模型中,設(shè)置訓(xùn)練參數(shù)如表2所示,當(dāng)?shù)翐p失曲線收斂時(shí)可選擇停止訓(xùn)練,通過比較,選用最小損失參數(shù)作為模型權(quán)重以完成訓(xùn)練。
表2 訓(xùn)練參數(shù)Table 2 Training parameters
特征分析操作需在灰度圖像條件下進(jìn)行,因此,將圖像轉(zhuǎn)化為灰度圖像并進(jìn)行降噪處理,通過對比,椒鹽濾波效果優(yōu)于其他方法,可完整保留圖像細(xì)節(jié)特征,處理結(jié)構(gòu)如圖4所示。
圖4 圖像處理流程圖Fig.4 Flow chart of image processing
通過YOLOv4與區(qū)域圖像處理可以得到目標(biāo)圖像,并將目標(biāo)區(qū)域位置信息顯示出來,對特征區(qū)域進(jìn)行優(yōu)化處理,結(jié)果如圖5所示。
圖5 耳部區(qū)域提取Fig.5 Extraction of ear region
根據(jù)結(jié)果可知,本算法對生豬耳部區(qū)域提取準(zhǔn)確,可較好保留生豬耳部區(qū)域細(xì)節(jié),結(jié)合紅外熱像儀,一定程度上可以替代人工觀測生豬健康狀況。
為客觀評價(jià)豬耳部區(qū)域檢測的效果,使用測試集對訓(xùn)練網(wǎng)絡(luò)進(jìn)行測試,選擇平均精度值(mAP)、召回率作為生豬耳部區(qū)域檢測模型的評價(jià)指標(biāo)。
(1)
(2)
其中,TP為準(zhǔn)確預(yù)測豬耳部區(qū)域的數(shù)量,FN為預(yù)測錯(cuò)誤的數(shù)量,FP為未識別出的數(shù)量。mAP為模型中所訓(xùn)練類別的平均值,代表模型的檢測性能。YOLOv4在訓(xùn)練過程中的迭代次數(shù)與平均損失值變化如圖6所示,可以看出,開始時(shí)模型迅速擬合,同時(shí)損失值也快速下降,隨著迭代次數(shù)的增加,損失值在震蕩中不斷趨于平穩(wěn),這說明YOLOv4對生豬耳部區(qū)域檢測具有較好的識別效果,識別效果如圖6所示。
經(jīng)實(shí)驗(yàn)得到Y(jié)OLOv4檢測生豬耳部區(qū)域的mAP為97.21%,Recall為92.22%,能夠?qū)崿F(xiàn)生豬耳部區(qū)域的快速、有效檢測,表明本文算法基于豬耳識別的豬只疾病檢測具有可行性。
本研究為實(shí)現(xiàn)豬只疾病檢測與預(yù)警,對豬耳部區(qū)域特征展開研究,實(shí)現(xiàn)對豬耳識別、提取耳部特征并進(jìn)行分類識別的目的,基于實(shí)時(shí)監(jiān)控觀測豬耳部信息特征,通過視覺的方法,達(dá)到豬只疾病監(jiān)測的效果,為后續(xù)豬只疾病預(yù)警提供技術(shù)支撐。本研究仍處于實(shí)驗(yàn)階段,還未實(shí)現(xiàn)產(chǎn)業(yè)化,僅為一個(gè)有益探究。研究采用非接觸式檢測方式,僅依賴于豬場原有監(jiān)控設(shè)備,投入成本低且可以保護(hù)豬只福利,取代傳統(tǒng)的人工巡查,避免人畜交叉感染的同時(shí)又提高了檢測效率,提高養(yǎng)殖效益。本研究方法硬件結(jié)構(gòu)簡單、成本低廉, 具有較好的推廣應(yīng)用前景和實(shí)際價(jià)值。