国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于深度卷積網(wǎng)絡(luò)的育肥豬體重估測

2021-07-29 07:58張建龍冀橫溢滕光輝
關(guān)鍵詞:豬體豬只卷積

張建龍 冀橫溢 滕光輝,3*

(1.中國農(nóng)業(yè)大學(xué) 水利與土木工程學(xué)院,北京 100083; (2.農(nóng)業(yè)農(nóng)村部設(shè)施農(nóng)業(yè)工程重點實驗室,北京 10083; (3.北京市畜禽健康養(yǎng)殖環(huán)境工程技術(shù)研究中心,北京 100083)

畜牧業(yè)正在朝著自動化、智能化和精確化的方向發(fā)展。對于養(yǎng)豬生產(chǎn)者來說,體重是最重要的參數(shù)之一,它可提供有關(guān)飼料轉(zhuǎn)化率、生長速度、疫病、豬群生長均勻性和健康狀況等信息[1-3]。體重也為調(diào)節(jié)環(huán)境和飼料營養(yǎng)提供了重要依據(jù)[4-5]。對育肥豬體重進行無應(yīng)激、精準地實時估測有利于在提高動物福利的同時為豬場的自動化、智能化和無人化管理提供依據(jù)[6]。傳統(tǒng)生產(chǎn)中,通過地秤測量豬只體重,測量過程中會造成豬只的應(yīng)激,同時飼養(yǎng)員的工作強度也大[7]。近年來,已有研究提出了許多利用機器視覺技術(shù)無接觸地估測育肥豬體重的方法,從而避免直接測量的弊端[8-10]:1)從豬體2D圖像中提取豬只體尺、背部面積大小等參數(shù),并通過豬只體重與這些參數(shù)間的關(guān)系模型來實現(xiàn)體重的估測,其估測的平均誤差在3.38%~5.30%[11-14];2)獲取豬體3D圖像后,從3D圖像中提取豬只背部高度、面積大小等參數(shù),并通過這些參數(shù)估測豬只體重[4,6-8,15-16],該方法較使用2D圖像精度有所提高;3)采用橢圓擬合的方法擬合豬只圖像中的背部區(qū)域,并根據(jù)體重與擬合橢圓的質(zhì)心、長軸短軸的長度、面積、區(qū)域偏心率等參數(shù)間關(guān)系模型估測豬只體重,采用該方法估測時的平均相對誤差為3.0%~3.8%[2,17-18];4)采用帶柵格的幻燈片向豬體背部投影,根據(jù)立體投影的原理計算豬體高度與面積大小后估測豬只體重[19],但該方法難以實現(xiàn)自動化。在上述研究中,一般需要將豬體圖像做如下處理:移除背景、圖像增強、圖像二值化、濾波去噪、移除頭尾和提取體尺、體積、背部面積等參數(shù)。整個圖像處理過程比較繁瑣,所需處理時間較長,難以適用于育肥豬分群飼喂系統(tǒng)、母豬飼喂站等對豬只體重獲取速度和實時性要求比較高的場合。深度卷積網(wǎng)絡(luò)可以從圖像中提取多種信息,已經(jīng)在動物行為識別、身份鑒定等方面得到了廣泛的應(yīng)用[20],并且以端到端的方式實現(xiàn)對圖像的識別分析,處理速度快,可以滿足實時運行的要求。在育肥豬分群飼喂系統(tǒng)[21]等對體重估測實時性要求嚴格的場合,可以嘗試采用深度卷積網(wǎng)絡(luò)模型提取豬只輪廓形狀等體型特征,進而對豬只體重進行估測,以實現(xiàn)系統(tǒng)的實時運行。

本研究旨在通過深度卷積網(wǎng)絡(luò)以線性回歸的方式對育肥豬體重進行快速、無應(yīng)激估測,首先于豬舍內(nèi)搭建育肥豬體重及背部圖像采集系統(tǒng),獲取了豬只體重及背部圖像數(shù)據(jù);將圖像數(shù)據(jù)簡單預(yù)處理后,通過考察不同深度卷積網(wǎng)絡(luò)的準確率選取了效果最好的育肥豬體重估測模型;隨后采用測試數(shù)據(jù)從識別速度、準確率等角度對模型的泛化能力進行了測試,旨為豬場的自動化、智能化和無人化管理提供依據(jù)。

1 材料與方法

1.1 體重及背部圖像采集系統(tǒng)搭建

本研究中搭建了豬體重及背部圖像采集系統(tǒng)(簡稱為系統(tǒng))獲取豬只體重及背部圖像數(shù)據(jù),系統(tǒng)結(jié)構(gòu)如圖1所示,長、寬、高分別為1 500、500、900 mm,頂部的相機安裝架上裝有駱日公司生產(chǎn)的LRCP10620_1080P型相機,距稱重臺高度1 650 mm,其分辨率為1 920像素×1 080 像素。系統(tǒng)底部的稱重臺下面裝有4 個稱重傳感器,其測量范圍為0~500 kg,經(jīng)過標定后測量精度為±0.1 kg。系統(tǒng)兩側(cè)的限位欄可以保證稱重時豬只整體都位于秤面上,當(dāng)需要被移動時,可通過端部的兩個移動輪方便地將系統(tǒng)移動。

1.相機安裝架;2.稱重臺;3.移動輪;4.限位欄;5.稱重傳感器1.Camera mounting bracket; 2.Weighing platform; 3.Wheel; 4.Limit bar; 5.Weighing sensors圖1 體重及背部圖像采集系統(tǒng)Fig.1 Body weight and image acquisition system

系統(tǒng)控制程序基于物聯(lián)網(wǎng)和LabVIEW V18.0軟件開發(fā)平臺編寫,采用C/S架構(gòu),具體控制方案及程序界面如圖2所示。相機通過USB接口與服務(wù)器連接,稱重傳感器獲取的豬只體重數(shù)據(jù)由串口服務(wù)器轉(zhuǎn)換為網(wǎng)絡(luò)信號,并通過交換機傳輸至服務(wù)器。所有軟硬件均由服務(wù)器控制,服務(wù)器中安裝有Mysql 5.5版本的數(shù)據(jù)庫,用于存儲豬只體重及圖像數(shù)據(jù)。系統(tǒng)每隔0.1 s讀取一次稱重數(shù)據(jù),當(dāng)連續(xù)讀取的4次稱重數(shù)據(jù)均位于豬群體重范圍內(nèi),且4 個數(shù)據(jù)中最大值與最小值相差不到0.2 kg 時,認為有豬只到達了稱重臺且豬只相對安靜,此時相機獲取1 次豬只背部圖像,并將豬只體重和背部圖像數(shù)據(jù)存于數(shù)據(jù)庫中,如此循環(huán)往復(fù)可以持續(xù)獲取豬只體重及背部圖像數(shù)據(jù)。所采集的圖像為JPEG格式,圖像名稱為“采集時間_體重.jpg”,如9月23日15:32:52.123采集的體重為64.2 kg的圖像名稱為“0923153252123_64.2.jpg”。

圖2 數(shù)據(jù)采集方案及程序界面Fig.2 Data acquisition scheme and program interface

1.2 數(shù)據(jù)采集及預(yù)處理

本研究中共采集了兩部分數(shù)據(jù),分別是建模數(shù)據(jù)和測試數(shù)據(jù)。建模數(shù)據(jù)于2020年7月—2020年10月在重慶市豬營養(yǎng)與環(huán)境調(diào)控科研基地的3號育肥舍采集,該舍采用半漏縫地板結(jié)構(gòu),舍內(nèi)飼喂有300頭育肥豬,共分為50欄,每欄尺寸為4 200 mm×2 500 mm,均配備有碗式飲水器。試驗期間將體重及背部圖像采集系統(tǒng)放置于欄內(nèi)飲水器前方,豬只每次飲水時會進入系統(tǒng)站在稱重臺上,這樣就可以通過系統(tǒng)自動獲取豬只體重與背部圖像數(shù)據(jù),每隔2 天將系統(tǒng)清洗消毒后移動至下一個豬欄繼續(xù)采集。試驗期間共采集了100頭“杜長大”3元育肥豬的數(shù)據(jù),其中閹割后的公豬53 頭,母豬47 頭。試驗剛開始時豬只日齡為75~80 d,體重范圍為33~39 kg,結(jié)束時,豬日齡達到150~155 d,體重在95~111 kg,共獲取了24 616 組豬只體重與背部圖像數(shù)據(jù)。試驗期間所有豬只都按照豬場防疫標準接種了疫苗,舍內(nèi)溫度在18.1~31.2 ℃,相對濕度范圍為64%~93%。采用2019年3月在山東榮昌育種有限公司采集的80 頭3元育肥豬(體重范圍:40~100 kg)的976 組數(shù)據(jù)作為測試數(shù)據(jù)以考察所建立模型的泛化效果。

本研究中所獲取的原始圖像均為1 920像素×1 080像素,為了提高模型的識別速度與準確率去除了模糊、豬體不全的圖像,并對保留下來的23 842 組建模數(shù)據(jù)和872 組測試數(shù)據(jù)圖像進行了簡單預(yù)處理,過程如圖3所示:先統(tǒng)一在所有圖像中央以1 200像素×800 像素大小裁剪圖像,在保留豬體區(qū)域的同時去除背景、欄桿等無效信息,隨后將裁剪后的圖像分別縮放為299像素×299像素和224像素×224像素2種不同大小以適應(yīng)不同網(wǎng)絡(luò)模型的輸入,由于圖像整體縮放的過程不會改變豬體在圖像中的相對位置,因此對最終估測結(jié)果的影響較小。

圖3 圖像預(yù)處理過程Fig.3 Image preprocessing process

1.3 體重估測模型的選取、訓(xùn)練及測試

本研究中采用深度卷積網(wǎng)絡(luò)模型以線性回歸的方式估測育肥豬體重,由于ResNet152V2[22]、Xception[23]、MobileNetV2[24]和DenseNet201[25]4種模型在ImageNet數(shù)據(jù)集上識別效果極佳,并且采用遷移學(xué)習(xí)的方式可以大大提高模型的訓(xùn)練效率,本研究中采用事先在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練(Pre-trained)過的以上4 個模型為基礎(chǔ)架構(gòu),進一步改造后用于體重估測,具體過程為:分別去掉各個模型頂部的全部全連接層后,首先添加一層全局平均池化層(Global average pooling),再添加一層包含2 048 個節(jié)點和ReLU激活函數(shù)的全連接層(Dense),最后添加一層只有1 個節(jié)點且無激活函數(shù)的Dense層直接輸出育肥豬體重的估測值。

隨后,基于Tensorflow-gpu-2.2.0和Python 3.7.0搭建了各個網(wǎng)絡(luò)模型,系統(tǒng)運行環(huán)境為搭載32 GB內(nèi)存、Intel i7-9700 處理器、NVidia GeForce GTX 1660 Ti 6 GB顯卡和Windows10 64位操作系統(tǒng)的臺式計算機。模型訓(xùn)練過程中所用數(shù)據(jù)為建模數(shù)據(jù),每張圖像的標簽為從各個圖像名稱中提取出的真實體重數(shù)據(jù)。將所有建模數(shù)據(jù)順序打亂后以7∶3的比例隨機分為訓(xùn)練集和驗證集,模型訓(xùn)練時以預(yù)處理過的豬體背部圖像為輸入,豬只體重數(shù)據(jù)為輸出。模型訓(xùn)練的過程也就是不斷地改進模型參數(shù)使得目標損失函數(shù)最小化的過程,各個模型所用超參數(shù)的配置均相同且如表1所示,以各個模型在驗證集上的損失值(Val-loss)為評判指標保留各個模型訓(xùn)練過程中的最佳參數(shù)。本研究中所用損失函數(shù)為均方誤差(MSE),其計算公式如下:

(1)

表1 模型超參數(shù)配置Table 1 Hyperparameters of models

模型選定后,采用測試數(shù)據(jù)對各模型進行了測試,分別從體重估測的均方根誤差(Root mean square error, RMSE)、平均絕對誤差(Mean absolute error, MAE)、相對平均偏差(Mean relative error, MRE)、平均估測時間等角度考察了模型的估測效果。

2 結(jié)果與分析

2.1 模型選取及訓(xùn)練分析

各個深度卷積網(wǎng)絡(luò)模型的大小、參數(shù)量等信息如表2所示,4 個模型中除Pre-trained Xception模型輸入圖像大小為299像素×299像素大小外,其余3個模型均為224像素×224像素。Pre-trained ResNet152V2模型總體大小、參數(shù)量等均為最大,其訓(xùn)練所用時間也最長,共花費了6.8 h,與之相反,Pre-trained MobileNetV2模型總體大小、參數(shù)量最小,訓(xùn)練僅花費了2.5 h。

表2 模型信息表Table 2 Information of models

訓(xùn)練過程中各模型對驗證集數(shù)據(jù)的損失值(均方誤差)的變化情況如圖4,隨著訓(xùn)練次數(shù)的增加,各個模型的均方誤差均呈整體下降趨勢,訓(xùn)練到第100 步時已趨于平穩(wěn)。訓(xùn)練結(jié)束時Pre-trained DenseNet201模型均方誤差最低,為3.44 kg2,Pre-trained Xception模型最高,為8.24 kg2,Pre-trained MobileNetV2和Pre-trained ResNet152V2模型分別為5.73和7.63 kg2。

圖4 各個模型在驗證集上損失值的變化Fig.4 Loss change on validation set of each model

Pre-trained DenseNet201模型在建模數(shù)據(jù)的驗證集上的估測結(jié)果如圖5所示,估測體重與豬只真實體重間的相關(guān)系數(shù)為0.993 9,均方根誤差為1.85 kg,平均絕對誤差為1.10 kg,平均相對誤差1.57%。

圖5 模型在驗證集上估測結(jié)果Fig.5 Result of estimated weight of test data

2.2 模型的測試分析

采用于山東榮昌育種有限公司采集的測試集數(shù)據(jù)對各模型估測體重時的效果進行了測試,其結(jié)果見表3,其中Pre-trained DenseNet201模型估測效果最好,該模型估測的體重與豬只真實體重間的回歸曲線見圖6,位于40~55、[55,70)、[70,85)和[85,100) kg的數(shù)據(jù)分別有221、210、223和218組,數(shù)據(jù)在各個體重區(qū)間內(nèi)分布均衡,且估測誤差相近。估測體重和豬只真實體重間的總體相關(guān)系數(shù)為0.976 7,均方根誤差為2.75 kg,平均絕對誤差為2.1 kg,平均相對誤差3.03%,估測效果良好,平均估測時間為0.16 s。

表3 各模型對測試集數(shù)據(jù)的估測效果Table 3 Estimated results on test set of each model

圖6 模型在測試數(shù)據(jù)上的估測效果Fig.6 Estimated weight of test set

2.3 特征圖分析

在輸入圖像經(jīng)過Pre-trained DenseNet201模型的第1個卷積層后,共輸出了64個特征圖,圖7為其中30個具有代表性的特征圖輸出。經(jīng)比較輸入圖像與特征圖發(fā)現(xiàn),經(jīng)過第1個卷積層后平滑了圖像,消除了背景的干擾,提取出了豬體輪廓及邊緣特征,并且可以適應(yīng)不同亮度圖像的輸入,說明卷積神經(jīng)網(wǎng)絡(luò)是根據(jù)豬只輪廓等體型特征對其體重進行估測。

圖7 模型第1個卷積層部分特征圖輸出Fig.7 Partial feature maps output of the first convolutional layer of Pre-trained DenseNet 201

3 討 論

可能由于Pre-trained DenseNet201模型采用密集連接的機制,從豬體背部圖像中獲取了更多的信息,因此取得了最好的體重估測效果,對測試集數(shù)據(jù)估測體重和豬只真實體重相關(guān)系數(shù)為0.976 7,均方根誤差為2.75 kg,平均絕對誤差為2.1 kg,平均相對誤差為3.03%,優(yōu)于使用2D圖像[11-14]和橢圓擬合[2,17-18]估測體重的效果,與通過從3D圖像中提取豬只體尺、背部面積、體積等參數(shù)后再估測體重的方法[4,6-8,15-16]效果相近。特征圖可視化的結(jié)果則表明模型從輸入圖像中提取出了豬體輪廓及邊緣特征,說明模型是根據(jù)豬只輪廓等體型特征對其體重進行估測。

由于深度卷積網(wǎng)絡(luò)模型是以“端到端”的方式對豬只體重進行估測,直接以簡單預(yù)處理后的圖像為輸入,豬只體重為輸出,可以省去傳統(tǒng)估測方法中移除背景、圖像增強、圖像二值化、濾波去噪、移除頭尾、提取體尺、體積、背部面積等步驟,因而可以大大提高豬只體重估測的速度。在前人提出的體重估測算法中,平均估測時間往往需要4 s以上,本研究提出的Pre-trained DenseNet201模型平均估測時間僅為0.16 s,該方法更適合用于育肥豬分群系統(tǒng)、母豬飼喂站等對豬只體重獲取速度要求嚴格的場合。豬只體重估測的精度無法進一步提高可能是因為豬只體重會隨著采食、飲水、排泄等行為而變化,這種變化很難在豬只背部圖像中反映出來,此外,由于瘦肉率不同也會導(dǎo)致相同體積的豬只具有不同的體重,而深度卷積網(wǎng)絡(luò)模型無法分辨出這兩類原因引起的豬只體重變化進而產(chǎn)生體重估測誤差。

4 結(jié) 論

本研究針對基于深度卷積網(wǎng)絡(luò)模型估測育肥豬體重開展了試驗研究,得出以下結(jié)論:

1)基于LabVIEW軟件開發(fā)平臺搭建了育肥豬體重及背部圖像采集系統(tǒng),分別于重慶市豬營養(yǎng)與環(huán)境調(diào)控科研基地和山東榮昌育種有限公司采集了建模數(shù)據(jù)與測試數(shù)據(jù)。選取并改造了在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練過的ResNet152V2、Xception、MobileNetV2和DenseNet201 4 種模型后,在建模數(shù)據(jù)上分別考察了各個模型的識別效果,最終選取Pre-trained DenseNet201為本研究使用的育肥豬體重估測模型。

2)在測試集數(shù)據(jù)上考察了Pre-trained DenseNet201模型的泛化能力,使用該模型估測豬只體重時,估測體重和豬只真實體重的相關(guān)系數(shù)為0.976 7,均方根誤差為2.75 kg,平均絕對誤差為2.1 kg,平均相對誤差3.03%,估測效果良好,平均估測時間為0.16 s。該模型的估測準確度與前人先從圖像中提取豬只體尺、背部面積、體積等參數(shù),而后再根據(jù)這些參數(shù)估測體重的結(jié)果相近,但是其處理速度遠快于傳統(tǒng)方法,更適合用于育肥豬分群系統(tǒng)、母豬飼喂站等對豬只體重獲取速度要求嚴格的場合。

綜上,深度卷積網(wǎng)絡(luò)模型可用于豬只體重的快速估測,并且可擴展到其他動物。在商業(yè)化豬場中,也可以在豬舍頂部架設(shè)滑軌并安裝攝像頭,使攝像頭以移動的方式獲取豬體圖像,從而提高設(shè)備的利用率。

猜你喜歡
豬體豬只卷積
降低日糧粗蛋白并添加單體氨基酸對斷奶—育肥豬生長性能和營養(yǎng)排泄的影響(中)
夏季養(yǎng)豬要做好防暑降溫
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
豬胃潰瘍的病因與防治措施
秋冬季防應(yīng)激不可忽略飲水消毒
從濾波器理解卷積
豬只硒缺乏癥的預(yù)防措施和治療方法
基于傅里葉域卷積表示的目標跟蹤算法
基于單視角點云鏡像的豬只體尺測量方法
學(xué)會8招夏季養(yǎng)豬增膘等4則