伍群旺 常滿馨 馬長(zhǎng)華
摘要:針對(duì)人工識(shí)別生豬個(gè)體難度大、成本高、耗時(shí)長(zhǎng)等問(wèn)題,引入深度學(xué)習(xí)技術(shù),提出了兩種不同結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)識(shí)別模型。利用生豬圖像制作數(shù)據(jù)集對(duì)ShuffleNetV2與MobileNetV2模型進(jìn)行訓(xùn)練,然后將測(cè)試集輸入模型進(jìn)行預(yù)測(cè)。實(shí)驗(yàn)結(jié)果表明,訓(xùn)練完成的ShuffleNetV2模型效果較好,平均準(zhǔn)確率達(dá)到99.75%。說(shuō)明該文提出的ShuffleNetV2模型具有較高識(shí)別率,可以實(shí)現(xiàn)養(yǎng)殖場(chǎng)環(huán)境下生豬個(gè)體的身份識(shí)別,具有非接觸式、低成本、高精度的特點(diǎn),能夠提高生豬養(yǎng)殖的智能化、精細(xì)化管理水平。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);豬只識(shí)別;深度學(xué)習(xí);圖像處理
中圖分類號(hào):TP391 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)31-0014-03
隨著現(xiàn)代化動(dòng)物養(yǎng)殖技術(shù)的發(fā)展革新,生豬養(yǎng)殖場(chǎng)的環(huán)境趨于多變和復(fù)雜,為了便于大中型養(yǎng)殖場(chǎng)實(shí)現(xiàn)豬只管理的集約化與精細(xì)化,豬只身份識(shí)別技術(shù)亟待得到改進(jìn)。目前,傳統(tǒng)的豬只身份識(shí)別的方法主要有耳缺法、標(biāo)記法、耳標(biāo)法、RFID標(biāo)簽法[1]。耳缺法打耳后易感染、無(wú)法修改、有數(shù)量限制;標(biāo)記法記號(hào)易磨損、易被污染物遮擋、操作煩瑣耗時(shí)長(zhǎng);耳標(biāo)法標(biāo)簽易掉落、易污損、記錄信息有限;RFID標(biāo)簽法的成本高且易失效,無(wú)法精準(zhǔn)記錄豬的行為軌跡。此外,在豬只的自動(dòng)化管理、智能化管理對(duì)接方面,傳統(tǒng)的豬只識(shí)別方法仍然存在很大缺陷。
近年來(lái),人工智能的快速發(fā)展推動(dòng)了深度學(xué)習(xí)技術(shù)在圖像識(shí)別領(lǐng)域的應(yīng)用,作為深度學(xué)習(xí)的經(jīng)典算法,卷積神經(jīng)網(wǎng)絡(luò)在圖像識(shí)別方面的表現(xiàn)優(yōu)于傳統(tǒng)方法。使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)生豬個(gè)體進(jìn)行識(shí)別,能夠幫助管理者分辨每一只豬的身份,并精確記錄它們的采食量、體溫變化、運(yùn)動(dòng)情況等各種信息,以監(jiān)測(cè)生豬的生命體征健康狀態(tài)。
本文提出的生豬個(gè)體身份識(shí)別系統(tǒng)不需要人工時(shí)刻觀察,節(jié)省了時(shí)間和經(jīng)濟(jì)成本,提高了生豬識(shí)別效率。該系統(tǒng)首先對(duì)獲取的生豬圖像進(jìn)行預(yù)處理,使用數(shù)據(jù)增強(qiáng)轉(zhuǎn)換技術(shù)擴(kuò)充樣本數(shù)據(jù),充分利用生豬圖像在網(wǎng)絡(luò)結(jié)構(gòu)中的特征圖。然后將數(shù)據(jù)集載入ShuffleNetV2和MobileNetV2模型進(jìn)行訓(xùn)練,再對(duì)兩種模型識(shí)別效果進(jìn)行評(píng)價(jià),發(fā)現(xiàn)ShuffleNetV2模型能夠完成實(shí)際養(yǎng)殖環(huán)境下生豬個(gè)體的精準(zhǔn)高效識(shí)別。
1 卷積神經(jīng)網(wǎng)絡(luò)
1.1 卷積神經(jīng)網(wǎng)絡(luò)概述
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN) 是一類包含卷積計(jì)算且具有深層信息處理能力的前饋神經(jīng)網(wǎng)絡(luò)[2-3]。卷積神經(jīng)網(wǎng)絡(luò)充分利用稀疏連接與權(quán)重共享,減少了網(wǎng)絡(luò)的參數(shù)總量,提高了網(wǎng)絡(luò)結(jié)構(gòu)的穩(wěn)定性與訓(xùn)練效率。卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的代表算法之一,可以提取輸入信息的高階信息進(jìn)行平移不變分類,具有表征學(xué)習(xí)能力。
在2012年的ImageNet大規(guī)模視覺(jué)識(shí)別挑戰(zhàn)賽(ILSVRC) 上, Alex使用卷積神經(jīng)網(wǎng)絡(luò)以15.3%的 Top-5錯(cuò)誤率奪冠[4]。Alex的成功應(yīng)用啟發(fā)了后續(xù)更多的技術(shù)創(chuàng)新,卷積神經(jīng)網(wǎng)絡(luò)的理論和技術(shù)發(fā)展更加迅速,并作為各種技術(shù)產(chǎn)品廣泛地應(yīng)用在社會(huì)中。
1.2 卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)包括輸入層、卷積層、池化層(下采樣層)、全連接層和輸出層[5]。
卷積層由多個(gè)特征圖組成,主要任務(wù)是利用卷積核通過(guò)滑動(dòng)掃描提取圖像特征。卷積核類似一個(gè)神經(jīng)元,它的每個(gè)組成元素都有相應(yīng)的權(quán)重系數(shù)和偏差量。卷積層的每個(gè)神經(jīng)元都連接到上一層位置接近的區(qū)域(感受野),需要定義卷積核的大小、步長(zhǎng),對(duì)感受野內(nèi)的輸入特征進(jìn)行運(yùn)算,隨后生成特征圖。
池化層通常插入在卷積層后面,一層卷積,一層池化,兩種運(yùn)算交替進(jìn)行,其作用是降低特征向量的維度,減少網(wǎng)絡(luò)中參數(shù)的數(shù)量,從而避免過(guò)擬合。
全連接層搭建在卷積層與池化層后面,特征圖在全連接層被展開,每個(gè)輸出結(jié)點(diǎn)與輸入結(jié)點(diǎn)相連接,整合所有的局部特征信息,然后將這些特征映射到樣本的相應(yīng)標(biāo)記空間上。
2 生豬個(gè)體身份識(shí)別系統(tǒng)設(shè)計(jì)
2.1 生豬個(gè)體身份識(shí)別方案
生豬個(gè)體身份識(shí)別方案結(jié)構(gòu)圖如圖 1所示。首先,利用攝像機(jī)采集生豬活動(dòng)視頻,獲取生豬圖像;再對(duì)生豬圖像進(jìn)行預(yù)處理建立數(shù)據(jù)集。然后,使用PyTorch框架搭建卷積神經(jīng)網(wǎng)絡(luò)模型,輸入生豬圖像數(shù)據(jù)集到模型中進(jìn)行訓(xùn)練。最后,從測(cè)試集中選取豬只圖像,輸入訓(xùn)練完成的模型中進(jìn)行預(yù)測(cè),得到豬只識(shí)別結(jié)果。
2.1.1 數(shù)據(jù)采集
將攝像頭安裝在飼喂裝備的上方,調(diào)整好攝像頭的高度,找到合適視角進(jìn)行視頻錄制,將錄制的豬只活動(dòng)視頻作為素材。然后讀取視頻文件處理成幀,每隔0.5秒截取1幀圖像進(jìn)行保存,再剔除模糊圖片且只保留豬的主體及豬臉圖像。最終獲取豬只主體數(shù)據(jù)9000張,豬只臉部數(shù)據(jù)5000張,一共14000張圖像。用Python對(duì)圖片進(jìn)行編號(hào),并將70%的圖片保存到訓(xùn)練集,30%的圖片保存到測(cè)試集。
2.1.2 圖像預(yù)處理
先將數(shù)據(jù)集預(yù)處理成為可以被神經(jīng)網(wǎng)絡(luò)讀取的格式,然后對(duì)其進(jìn)行數(shù)據(jù)歸一化處理。再對(duì)訓(xùn)練集做數(shù)據(jù)增強(qiáng)處理,生成更多的訓(xùn)練數(shù)據(jù)。所采用的方法是隨機(jī)裁剪、規(guī)則裁剪、隨機(jī)翻轉(zhuǎn)、調(diào)整亮度對(duì)比度、隨機(jī)噪聲、USM銳化、直方圖均衡化。對(duì)訓(xùn)練集進(jìn)行數(shù)據(jù)增強(qiáng)轉(zhuǎn)換可以將圖像的空間多樣性呈現(xiàn)出來(lái),提高數(shù)據(jù)集樣本容量,保證訓(xùn)練能夠正常進(jìn)行并得到最佳的訓(xùn)練結(jié)果。
2.1.3 卷積神經(jīng)網(wǎng)絡(luò)
1) MobileNetV2網(wǎng)絡(luò)結(jié)構(gòu)
MobileNet網(wǎng)絡(luò)是2017年推出的一種結(jié)構(gòu)新穎的卷積神經(jīng)網(wǎng)絡(luò)[6]。其新型網(wǎng)絡(luò)結(jié)構(gòu)可實(shí)現(xiàn)卷積分離,減少輸入模型的參數(shù),降低運(yùn)行的功耗和延遲度。利用逐點(diǎn)卷積減少計(jì)算量,使網(wǎng)絡(luò)模型訓(xùn)練速度加快,得到較好的性能。
MobileNetV2網(wǎng)絡(luò)在原先的MobileNet網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu)上進(jìn)行優(yōu)化,即增加了線性瓶頸層和倒置殘差結(jié)構(gòu)。利用通道數(shù)的擴(kuò)張和收縮來(lái)對(duì)圖形的特征進(jìn)行提取和學(xué)習(xí),使得卷積神經(jīng)網(wǎng)絡(luò)能學(xué)習(xí)到更多的圖片特征參數(shù),并且占用更少的內(nèi)存空間,大大提高了使用效率。
2) ShuffleNetV2網(wǎng)絡(luò)結(jié)構(gòu)
輕量級(jí)網(wǎng)絡(luò)ShuffleNetV主要應(yīng)用于計(jì)算能力受限的移動(dòng)設(shè)備,創(chuàng)新點(diǎn)為逐點(diǎn)群卷積(Pointwise Group Convolution) 和通道混洗(Channel Shuffle) ,可以更好地提取圖像特征[7]。
ShuffleNetV1網(wǎng)絡(luò)的關(guān)鍵部分使用分組卷積(Group Convolution)結(jié)構(gòu),這一操作明顯減少了參數(shù)的使用量,加快了信息的傳輸速度,從而提高了網(wǎng)絡(luò)的處理能力。通道混洗層的存在也可以較好地解決圖片特征信息傳輸?shù)臄鄬訂?wèn)題,達(dá)到準(zhǔn)確提取特征參數(shù)的目的,有效提升模型的泛化性。為了優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),ShuffleNetV2在ShuffleNetV1的基礎(chǔ)上,采用通道分離(Channel Split) 操作對(duì)通道混洗層的位置進(jìn)行調(diào)整,加快了模型的訓(xùn)練速度。
2.2 實(shí)驗(yàn)與分析
2.2.1 實(shí)驗(yàn)環(huán)境
1) 硬件平臺(tái)
設(shè)備名稱:LAPTOP-RNE2PPQH,處理器:Intel(R) Core(TM) i5-9300H CPU @2.40GHz 2.40 GHz,機(jī)帶:RAM 8.00 GB。
2) 軟件平臺(tái)
PyTorch發(fā)布于2017年,是Facebook公司基于原始的Torch 框架推出深度學(xué)習(xí)框架,采用 Python 作為其主要開發(fā)語(yǔ)言。眾多深度學(xué)習(xí)開源框架為追求速度和效率都在使用靜態(tài)圖,然而靜態(tài)圖限制了研究人員思考其他解決問(wèn)題的方法[8-9]。PyTorch能夠解決上述問(wèn)題,它支持動(dòng)態(tài)計(jì)算圖,所以在PyTorch模型的基礎(chǔ)上進(jìn)行修改非常方便,參數(shù)變量的值也可隨時(shí)查看?,F(xiàn)在PyTorch 已經(jīng)廣泛應(yīng)用在機(jī)器學(xué)習(xí)和深度學(xué)習(xí)領(lǐng)域。
2.2.2 實(shí)驗(yàn)設(shè)計(jì)
本文使用隨機(jī)梯度下降算法(SGD)訓(xùn)練模型,選擇Nadam作為優(yōu)化器,激活函數(shù)選擇ReLU函數(shù),損失函數(shù)采用softmax函數(shù)。為了使卷積神經(jīng)網(wǎng)絡(luò)模型識(shí)別效果達(dá)到理想狀態(tài),需要對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行設(shè)置。兩種卷積神經(jīng)網(wǎng)絡(luò)模型的部分參數(shù)設(shè)置如表 1所示。
在網(wǎng)絡(luò)模型訓(xùn)練過(guò)程中,設(shè)置初始學(xué)習(xí)率lr=1e-4;在訓(xùn)練約50個(gè)epoch后,學(xué)習(xí)率lr下降為1e-6。
2.2.3 結(jié)果與分析
針對(duì)生豬個(gè)體身份識(shí)別問(wèn)題,本實(shí)驗(yàn)主要關(guān)注的指標(biāo)為準(zhǔn)確率和損失值,將準(zhǔn)確率與損失函數(shù)繪制為曲線圖,得到訓(xùn)練集與測(cè)試集識(shí)別結(jié)果如圖2、圖3所示。
從圖 2可以看出,在前50個(gè)周期,兩種模型損失函數(shù)曲線不斷下降并趨向于0.82;準(zhǔn)確率不斷上升,達(dá)到96.5%左右。在第50個(gè)周期,學(xué)習(xí)率lr下降為1e-6后,損失函數(shù)曲線快速下降,然后逐漸趨向于0.69;準(zhǔn)確率曲線快速上升,然后穩(wěn)定在99.6%。
從圖 3可以看出,在前50個(gè)周期,ShuffleNetV2模型損失函數(shù)不斷下降,曲線波動(dòng)較小,逐漸收斂于0.73;MobileNetV2模型損失函數(shù)也不斷下降,但曲線波動(dòng)稍大,逐漸收斂于0.75。準(zhǔn)確率不斷上升,ShuffleNetV2曲線平穩(wěn)在99.3%左右;MobileNetV2曲線逐漸收斂于99.1%。在第50個(gè)周期,學(xué)習(xí)率lr下降為1e-6后,模型的損失函數(shù)快速下降,逐漸趨向于0.65;兩種模型準(zhǔn)確率均快速上升,然后穩(wěn)定在99.75%。
經(jīng)過(guò)對(duì)比可以看出,ShuffleNetV2模型表現(xiàn)穩(wěn)定,效果優(yōu)于MobileNetV2模型,可以實(shí)現(xiàn)生豬個(gè)體的身份識(shí)別。
3 結(jié)束語(yǔ)
本文以養(yǎng)殖場(chǎng)環(huán)境下的生豬為研究對(duì)象,設(shè)計(jì)出基于卷積神經(jīng)網(wǎng)絡(luò)的生豬個(gè)體身份識(shí)別系統(tǒng),其優(yōu)勢(shì)在于不需要對(duì)生豬進(jìn)行特征標(biāo)記,降低了時(shí)間和經(jīng)濟(jì)成本。此系統(tǒng)將預(yù)處理后的生豬圖像制作成數(shù)據(jù)集,再利用數(shù)據(jù)集對(duì)ShuffleNetV2與MobileNetV2模型進(jìn)行訓(xùn)練和測(cè)試。對(duì)比實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),ShuffleNetV2模型收斂速度快,表現(xiàn)穩(wěn)定,適合應(yīng)用于生豬個(gè)體的身份識(shí)別。
參考文獻(xiàn):
[1] 楊秋妹,肖德琴,張根興.豬只飲水行為機(jī)器視覺(jué)自動(dòng)識(shí)別[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2018,49(6):232-238.
[2] 王統(tǒng).深度學(xué)習(xí)中卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)及相關(guān)算法[J].信息與電腦,2020(8):41-43.
[3] Shelhamer E,Long J,Darrell T.Fully Convolutional Networks for Semantic Segmentation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(4):640-651.
[4] 翟高粵.基于卷積神經(jīng)網(wǎng)絡(luò)的手寫數(shù)字識(shí)別應(yīng)用[J].甘肅科技縱橫,2021,50(1):1-3.
[5] 周飛燕,金林鵬,董軍.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計(jì)算機(jī)學(xué)報(bào),2017,40(6):1229-1251.
[6] 趙洋,許軍.基于MobileNetV2與樹莓派的人臉識(shí)別系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2021,30(8):67-72.
[7] 宋敏毓,陳力榮,梁建安,等.輕量化改進(jìn)網(wǎng)絡(luò)的實(shí)時(shí)光纖端面缺陷檢測(cè)模型[J].激光與光電子學(xué)進(jìn)展,2022,59(24):2415006.
[8] 李夢(mèng)潔,董巒.基于PyTorch的機(jī)器翻譯算法的實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2018,28(10):160-163,167.
[9] Druzhkov P N,Kustikova V D.A Survey of Deep Learning Methods and Software Tools for Image Classification and Object Detection[J].Pattern Recognition and Image Analysis,2016,26(1):9-15.
【通聯(lián)編輯:唐一東】
收稿日期:2022-06-20
基金項(xiàng)目:江蘇省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(202113986004Y)
作者簡(jiǎn)介:伍群旺(2000—) ,男,江西贛州人,本科生,主要研究方向?yàn)闄C(jī)械設(shè)計(jì)制造及自動(dòng)化專業(yè);常滿馨(1999—) ,女,山西晉中人,本科生,主要研究方向?yàn)闄C(jī)械電子工程專業(yè);馬長(zhǎng)華(1975—) ,男,江蘇泰州人,副教授,碩士,主要研究方向?yàn)閳D像處理、模式識(shí)別。