沈明霞 太 猛 CEDRIC Okinda 劉龍申 李嘉位 孫玉文
(1.南京農(nóng)業(yè)大學(xué)工學(xué)院, 南京 210031; 2.江蘇省智能化農(nóng)業(yè)裝備重點(diǎn)實(shí)驗(yàn)室, 南京 210031)
我國生豬養(yǎng)殖數(shù)量和豬肉消費(fèi)量均居世界第一位,養(yǎng)豬業(yè)是我國農(nóng)業(yè)的支柱產(chǎn)業(yè)[1-2]。生豬養(yǎng)殖主要的經(jīng)濟(jì)損失來源于初生仔豬的高死亡率[3],仔豬斷奶前死亡率高達(dá)13%,擠壓致死率占其中的15%~51%[4]。及時(shí)檢測(cè)母豬起臥等高危動(dòng)作、精確快速識(shí)別初生仔豬目標(biāo)對(duì)提高仔豬成活率具有重要意義[5]。自然場(chǎng)景下,初生仔豬有明顯的聚群行為[6],粘連現(xiàn)象嚴(yán)重,個(gè)體特征不明顯,難以提??;分娩欄空間狹窄,仔豬目標(biāo)小,容易被限位欄和母豬身體遮擋;母豬分娩多在夜間[7],初生仔豬與母豬體色相似,易融于背景色,受光線變化影響嚴(yán)重[8]。因此,在全天候多干擾場(chǎng)景下快速且準(zhǔn)確識(shí)別初生仔豬目標(biāo)是急需解決的關(guān)鍵問題。
近年來,科研人員對(duì)自然環(huán)境下生豬目標(biāo)識(shí)別進(jìn)行了深入研究??傮w分為3類:①利用顏色空間差異進(jìn)行圖像分割識(shí)別目標(biāo)[9]。采用幀間差分法和背景差分法進(jìn)行仔豬目標(biāo)識(shí)別易于操作[10-11],但精度低,對(duì)噪聲干擾敏感;文獻(xiàn)[12]基于改進(jìn)高斯混合建模和短時(shí)穩(wěn)定度的方法只適用于緩慢運(yùn)動(dòng)的豬只目標(biāo)檢測(cè),對(duì)靜止目標(biāo)檢測(cè)泛化能力差;文獻(xiàn)[13]利用豬舍固定攝像背景去除法,能夠較為精確地提取前景豬只目標(biāo),但檢測(cè)速度較慢。②基于傳統(tǒng)機(jī)器學(xué)習(xí)算法識(shí)別目標(biāo)。文獻(xiàn)[14]基于周長面積比、長短軸比和Hu幾何距表示體態(tài)特征,采用SVM實(shí)現(xiàn)豬只分類;文獻(xiàn)[15]基于SVM-HMM模型,利用Baum-Welch算法識(shí)別豬只各類姿態(tài);文獻(xiàn)[16]對(duì)YCrCb 色彩空間里的 Cb分量進(jìn)行灰度化處理,用形態(tài)學(xué)方法去除噪聲,運(yùn)用色彩空間聚類算法識(shí)別豬只位置。上述方法在圖像去噪特征提取階段較為繁雜,需要豐富的領(lǐng)域經(jīng)驗(yàn)設(shè)計(jì)特征,且檢測(cè)速度無法滿足實(shí)時(shí)要求。③利用卷積神經(jīng)網(wǎng)絡(luò)直接由數(shù)據(jù)本身驅(qū)動(dòng)特征抽象化識(shí)別目標(biāo)[17]。相比傳統(tǒng)方法,深層卷積神經(jīng)網(wǎng)絡(luò)能夠簡(jiǎn)化訓(xùn)練流程,提高識(shí)別速度和精度[18],在醫(yī)學(xué)影像分析[19]、手寫字體識(shí)別[20]、人臉識(shí)別以及農(nóng)作物識(shí)別等領(lǐng)域廣泛應(yīng)用[21-22]。在動(dòng)物目標(biāo)識(shí)別領(lǐng)域,文獻(xiàn)[23]基于視頻分析和卷積神經(jīng)網(wǎng)絡(luò)識(shí)別奶牛個(gè)體,視頻段樣本識(shí)別率達(dá)到93.33%;文獻(xiàn)[24-25]結(jié)合Faster R-CNN深層卷積神經(jīng)網(wǎng)絡(luò)框架,識(shí)別母豬5類姿態(tài),平均識(shí)別精度達(dá)到90.14%,檢測(cè)速度接近20 f/s;文獻(xiàn)[26]利用Faster R-CNN網(wǎng)絡(luò)識(shí)別群養(yǎng)豬的攝食行為,精確率為99.6%,召回率為86.93%。但類Faster R-CNN的卷積神經(jīng)網(wǎng)絡(luò)目標(biāo)識(shí)別算法需要先經(jīng)過ROI proposal,再分別進(jìn)行分類和定位兩個(gè)任務(wù)識(shí)別目標(biāo)[27],影響了檢測(cè)速度。
為提高對(duì)初生仔豬目標(biāo)檢測(cè)速度,考慮到既能對(duì)全天候多干擾場(chǎng)景下的仔豬目標(biāo)表現(xiàn)出良好的泛化能力,又能同時(shí)簡(jiǎn)化復(fù)雜的圖像去噪特征提取過程,本文提出一種將整幅圖像作為ROI、多通道數(shù)據(jù)集融合、將分類和定位合并為一個(gè)任務(wù)的初生仔豬目標(biāo)實(shí)時(shí)檢測(cè)方法。該方法支持圖像數(shù)據(jù)批量處理,以及視頻和錄像監(jiān)控實(shí)時(shí)檢測(cè),并以多樣化方式存儲(chǔ)檢測(cè)結(jié)果。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,CNNs)主要包括卷積層、激活層和池化層。圖像輸入后,多個(gè)卷積核分別提取局部特征,激活層將局部特征非線性化,池化層壓縮圖像并將局部特征融合,抽象化為更高層的語義信息作為下個(gè)卷積層的輸入。Residual block網(wǎng)絡(luò)結(jié)構(gòu)解決了準(zhǔn)確率飽和下降的問題[28],使得深層卷積神經(jīng)網(wǎng)絡(luò)(DCNNs)可以學(xué)習(xí)圖像中更為緊致的語義信息。對(duì)大量標(biāo)記好的圖像進(jìn)行訓(xùn)練,通過梯度下降算法逐漸調(diào)整各層參數(shù)權(quán)重,直至損失函數(shù)下降到局部最優(yōu)值,最終的權(quán)重模型可以在驗(yàn)證集和測(cè)試集中表現(xiàn)出良好的泛化能力。
深層卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行目標(biāo)識(shí)別的方法可分為兩類,流程如圖1所示:①先提取圖像中的興趣域再進(jìn)行分類和定位識(shí)別目標(biāo),代表網(wǎng)絡(luò)模型是Faster R-CNN。②以整幅圖像作為興趣域?qū)⒎诸惡投ㄎ缓喜橐粋€(gè)任務(wù)識(shí)別目標(biāo),代表網(wǎng)絡(luò)模型是YOLOv3。本文采用類YOLOv3的網(wǎng)絡(luò)模型,總體網(wǎng)絡(luò)框架包含兩部分:①darknet53主干網(wǎng)絡(luò)在ImageNet數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練[29],遷移學(xué)習(xí)結(jié)果作為仔豬目標(biāo)識(shí)別的特征提取網(wǎng)絡(luò)。②結(jié)合3種尺度預(yù)測(cè)的特征交互層利用FPN算法將不同層級(jí)的特征融合[30],增強(qiáng)對(duì)小目標(biāo)物體的檢測(cè)效果。
圖1 兩種基于深層卷積神經(jīng)網(wǎng)絡(luò)目標(biāo)識(shí)別算法流程圖Fig.1 Flow chart of two object detection algorithms based on deep convolution neural network
(1)輸入層
經(jīng)過歸一化后的圖像數(shù)據(jù)和標(biāo)簽數(shù)據(jù),標(biāo)簽為PASCAL VOC格式。
(2)主干網(wǎng)絡(luò)
以darknet53作為主干網(wǎng)絡(luò),如圖2(上半部分)所示。卷積層結(jié)合了殘差結(jié)構(gòu),可在反向傳播過程中解決梯度消失問題并控制過擬合。每個(gè)殘差結(jié)構(gòu)塊包含兩個(gè)卷積層,卷積核尺寸分別為1×1和3×3。每一層卷積層后都設(shè)計(jì)有批量歸一化層和非線性激活層,激活函數(shù)為LeakyReLU。省略了ROI proposal過程,以整幅圖像作為特征提取的ROI,降低了假陽性的預(yù)測(cè)概率,能夠加快檢測(cè)速度。
LeakyReLU激活函數(shù)定義為
(1)
式中yn——激活函數(shù)輸出
xn——激活函數(shù)輸入
α——系數(shù),取0.02
與ReLU相比[31],LeakyReLU能保留輸入負(fù)值,更多保留目標(biāo)的細(xì)節(jié)特征,這符合初生仔豬目標(biāo)較小的實(shí)際情況。用卷積下采樣層代替最大池化層,成倍減小特征圖尺寸,節(jié)省計(jì)算資源的同時(shí),進(jìn)一步增強(qiáng)了特征的表達(dá)能力,卻沒有增加網(wǎng)絡(luò)深度。下采樣層卷積核尺寸設(shè)為3×3,滑動(dòng)步長為2,邊界填充為1。下采樣層輸出結(jié)果通過殘差結(jié)構(gòu)將特征進(jìn)一步抽象化。
(3)特征交互層
特征交互層如圖2(下半部分)所示。網(wǎng)絡(luò)設(shè)計(jì)將識(shí)別目標(biāo)分為13×13、26×26和52×52共3個(gè)尺度。采用FPN算法,將97層上采樣特征與36層輸出特征融合,對(duì)大尺度目標(biāo)預(yù)測(cè);將85層上采樣特征和61層輸出特征融合,對(duì)中型尺度目標(biāo)預(yù)測(cè);深層特征語義信息豐富,淺層特征對(duì)小目標(biāo)物體的特征保留完善,深層特征與淺層特征融合,可以提高對(duì)小目標(biāo)仔豬的識(shí)別精確度。
(4)輸出層
輸出層直接輸出識(shí)別結(jié)果,即仔豬目標(biāo)單類。預(yù)測(cè)框輸出使用了非極大值抑制(NMS)的預(yù)測(cè)框篩選機(jī)制[32]。網(wǎng)絡(luò)模型測(cè)試階段,設(shè)置預(yù)測(cè)框與標(biāo)注框的IOU閾值配合NMS對(duì)每個(gè)仔豬目標(biāo)輸出唯一預(yù)測(cè)框,IOU定義為
(2)
式中TIOU——預(yù)測(cè)框與標(biāo)注框的交并比
Soverlap——預(yù)測(cè)框與標(biāo)注框之間的交集
Sunion——預(yù)測(cè)框與標(biāo)注框之間的并集
圖2 網(wǎng)絡(luò)模型框架圖Fig.2 Network model frame diagram
實(shí)驗(yàn)數(shù)據(jù)采集于江蘇省靖江市豐園生態(tài)農(nóng)業(yè)園有限公司。選擇兩間母豬產(chǎn)房,面積同為7 m×9 m,每間劃分成6個(gè)2.2 m×1.8 m的分娩欄,欄內(nèi)均為妊娠期107 d左右的待產(chǎn)母豬。視頻采集時(shí)間為2017年4月24日—5月31日。采用12個(gè)(每個(gè)分娩欄中都配有1個(gè)攝像頭)分辨率為2 048像素×1 536像素的海康威視攝像頭(DS-2CD3135F-l型,Hikvision)實(shí)時(shí)監(jiān)控并備份錄像,俯測(cè)高度3 m。
采用縮放、旋轉(zhuǎn)(90°、180°和270°)、平移、鏡像,區(qū)間內(nèi)調(diào)整曝光度、飽和度、色調(diào)等數(shù)據(jù)增強(qiáng)技術(shù),減輕過擬合現(xiàn)象。網(wǎng)絡(luò)模型設(shè)計(jì)中定義超參數(shù),在迭代訓(xùn)練的每個(gè)批次中動(dòng)態(tài)隨機(jī)增強(qiáng)數(shù)據(jù),同一幅圖像只標(biāo)注1次,相對(duì)于先增強(qiáng)數(shù)據(jù)再統(tǒng)一標(biāo)注的方法,能夠減少標(biāo)注成本。訓(xùn)練階段,每10次迭代后將圖像剪切,控制在320~608像素之間,每隔32像素(5次卷積下采樣,圖像縮放到輸入的1/32)縮放1次,再次將數(shù)據(jù)量擴(kuò)大10倍。
使用開源圖像標(biāo)注軟件labelImg進(jìn)行圖像標(biāo)注,標(biāo)注圖像包括3通道(白天和開啟白熾燈的晚上圖像)圖像9 683幅,單通道圖像9 683幅(夜間圖像),標(biāo)注格式為PASCAL VOC數(shù)據(jù)集標(biāo)準(zhǔn)格式[33],圖像縮放至500像素×375像素。應(yīng)對(duì)初生仔豬目標(biāo)識(shí)別中的多干擾場(chǎng)景標(biāo)注方案如下:①欄桿兩側(cè)都明顯有同一仔豬身體部位,則保留范圍內(nèi)全部區(qū)域,若完全遮擋仔豬的頭部或尾部,則保留入鏡部分。②仔豬出鏡,保留在視頻范圍內(nèi)的部分。③仔豬類內(nèi)粘連問題采用貝葉斯錯(cuò)誤率為衡量指標(biāo)[34],標(biāo)注人眼可清楚識(shí)別的范圍內(nèi)仔豬部分。圖3為多干擾場(chǎng)景的標(biāo)注方案。
圖3 仔豬識(shí)別數(shù)據(jù)集多干擾場(chǎng)景及硬性遮擋標(biāo)注方案圖示Fig.3 Multi-interference scene for piglet identification data set and tagging scheme for hard occlusion1.環(huán)境遮擋 2.部分出境 3.仔豬粘連
2.2.1模型訓(xùn)練步驟與損失函數(shù)
模型訓(xùn)練步驟如下:①網(wǎng)絡(luò)模型整體架構(gòu)構(gòu)建,超參數(shù)初始化。②主干網(wǎng)絡(luò)在ImageNet數(shù)據(jù)集上的訓(xùn)練結(jié)果作為模型訓(xùn)練初始權(quán)重,開始訓(xùn)練進(jìn)行微調(diào)。③分析訓(xùn)練結(jié)果,根據(jù)網(wǎng)絡(luò)收斂特性適當(dāng)調(diào)整相對(duì)應(yīng)的超參數(shù),每次重復(fù)訓(xùn)練使用上次訓(xùn)練模型作為初始化模型。④對(duì)比驗(yàn)證集和測(cè)試集的識(shí)別效果,定位高偏差還是高方差問題,手動(dòng)統(tǒng)計(jì)測(cè)試集誤差數(shù)據(jù),重復(fù)步驟③、④。迭代終止條件為:①設(shè)定損失函數(shù)閾值為0.5,在預(yù)設(shè)迭代次數(shù)范圍內(nèi),平均損失若不大于0.5,則停止迭代。②訓(xùn)練后的網(wǎng)絡(luò)模型在驗(yàn)證集和測(cè)試集上的查準(zhǔn)率和查全率浮動(dòng)誤差不超過3%,停止迭代。其中,損失函數(shù)定義為
Lloss=Ecoord+EIOU+Ecls
(3)
其中
(4)
(5)
(6)
式中s——整幅圖像柵格劃分?jǐn)?shù)量
Ecoord——定位誤差
EIOU——IOU誤差
Ecls——分類誤差
λcoord——定位誤差項(xiàng)權(quán)重
B——每個(gè)柵格生成目標(biāo)框數(shù)
xn、yn、wn、hn——標(biāo)定坐標(biāo)值
λnoobj——不含目標(biāo)柵格的權(quán)重
A0——仔豬類別
(7)
包含目標(biāo)的邊界框pobject為1,否則為0。
式(6)中的柵格分類概率定義為
(8)
式中p(Dclassi|Dobject)——檢測(cè)目標(biāo)是仔豬的概率
相同的定位偏差對(duì)小目標(biāo)影響較大,將式(4)中的w、h做開方處理,增加小目標(biāo)的損失占比,提高小目標(biāo)識(shí)別精度;提高定位誤差項(xiàng)權(quán)重λcoord可增強(qiáng)定位精度;初生仔豬粘連現(xiàn)象嚴(yán)重,一個(gè)柵格可能包含多個(gè)目標(biāo),所以采用二元交叉熵計(jì)算分類損失;不包含目標(biāo)的目標(biāo)框置信度接近0,相應(yīng)地放大了包含目標(biāo)的目標(biāo)框置信度誤差對(duì)網(wǎng)絡(luò)梯度參數(shù)的影響,可通過λnoobj權(quán)重項(xiàng)適當(dāng)修正。
訓(xùn)練在一臺(tái)工作站上進(jìn)行,工作站配置為1塊GTX1080Ti顯卡,有效內(nèi)存31.1 GB,2塊Xeon Gold 5118CPU。訓(xùn)練總時(shí)長約為29 h。
2.2.2評(píng)價(jià)指標(biāo)
仔豬識(shí)別的結(jié)果采用4個(gè)指標(biāo)評(píng)價(jià):精確率P(Precision)、召回率R(Recall)、精度均值A(chǔ)(Average precision)和精確率與召回率的調(diào)和平均數(shù)F1-S(F1-Score)。精確率是衡量模型對(duì)仔豬正樣本的識(shí)別能力,是從所有識(shí)別出的樣本中識(shí)別出的正樣本比例(仔豬目標(biāo)為正樣本,其他類物體均為負(fù)樣本);召回率是衡量模型對(duì)仔豬正樣本的覆蓋能力,是從所有正樣本中識(shí)別出的正樣本比例;精度均值是模型對(duì)正樣本的識(shí)別準(zhǔn)確程度和對(duì)正樣本覆蓋能力的權(quán)衡結(jié)果,是PR曲線與坐標(biāo)軸圍成的曲線下方的面積;F1-S分?jǐn)?shù)是綜合精確率和召回率的一個(gè)評(píng)估模型穩(wěn)健度的指標(biāo)。4個(gè)指標(biāo)的計(jì)算公式為
(9)
(10)
(11)
(12)
式中TP——真正樣本(真陽性)數(shù)量
FP——假正樣本(假陽性)數(shù)量
Pos——正樣本數(shù)量,包括真正樣本和假負(fù)樣本數(shù)量
2.2.3訓(xùn)練參數(shù)設(shè)計(jì)
(1)用于實(shí)驗(yàn)(包括3通道和單通道)的圖像9 683幅,按照8∶1∶1的比例分割,其中訓(xùn)練集、驗(yàn)證集和測(cè)試集采用相同的多通道均衡分布,便于客觀衡量模型的泛化能力。
(2)初次訓(xùn)練迭代30 000次,再訓(xùn)練每次迭代10 000次。
(3)采用mini-batch隨機(jī)梯度下降法訓(xùn)練,batch值為64。
(4)學(xué)習(xí)率初始化為0.001,學(xué)習(xí)策略為步進(jìn)型,momentum為0.9,學(xué)習(xí)衰減率為0.000 5。每一次迭代學(xué)習(xí)率衰減方式定義為
(13)
式中Lr_n——第n次迭代時(shí)的學(xué)習(xí)率
Lr_initial——學(xué)習(xí)率初始值
n——迭代次數(shù)Decay——學(xué)習(xí)衰減率
在訓(xùn)練迭代過程中,Lr_n會(huì)逐步調(diào)整學(xué)習(xí)步幅,提高模型收斂效果。
(5)損失函數(shù)中柵格數(shù)s為7,為13×13、26×26、52×52等3種預(yù)測(cè)尺度各分配3個(gè)先驗(yàn)框(B為9),λcoord為5,λnoobj為0.5。
本文采用類YOLOv3的網(wǎng)絡(luò)框架識(shí)別仔豬目標(biāo),無興趣域提取過程,將分類和定位合并為一個(gè)任務(wù),相比于Faster R-CNN,對(duì)目標(biāo)定位效果較差,但檢測(cè)速度更快,通過加深卷積層數(shù),能夠較為理想地兼顧識(shí)別效果和檢測(cè)速度。YOLOv3與Faster R-CNN網(wǎng)絡(luò)模型在COCO公開數(shù)據(jù)集中的目標(biāo)識(shí)別結(jié)果對(duì)比見表1[35],其中,AP50和AP75表示不同的IOU閾值,本研究將IOU設(shè)定為0.8;APS、APM、APL分別表示識(shí)別小型、中型和大型目標(biāo)對(duì)應(yīng)的AP值。由對(duì)比結(jié)果知,YOLOv3總體識(shí)別效果與Faster R-CNN相近,在小目標(biāo)上(APS)的識(shí)別效果略優(yōu),更適合應(yīng)對(duì)初生仔豬目標(biāo)較小的問題。在檢測(cè)速度方面,同在GTX 1080Ti顯卡上處理COCO test-dev數(shù)據(jù)集圖像,YOLOv3檢測(cè)速度是Faster R-CNN的3倍。綜合識(shí)別效果和檢測(cè)速度,YOLOv3網(wǎng)絡(luò)更適合應(yīng)用于初生仔豬目標(biāo)的實(shí)時(shí)檢測(cè)。
表1 YOLOv3與Faster R-CNN在COCO test-dev數(shù)據(jù)集識(shí)別結(jié)果對(duì)比Tab.1 Comparison of recognition results between YOLOv3 and Faster R-CNN in COCO test-dev data sets
表2為采用YOLOv3與Faster R-CNN網(wǎng)絡(luò)框架識(shí)別初生仔豬目標(biāo)對(duì)比結(jié)果,圖像標(biāo)注類型為PASCAL VOC,GPU型號(hào)為GTX1080Ti,訓(xùn)練集7 747幅,測(cè)試集968幅,像素均為500像素×375像素,測(cè)試視頻為MP4格式,視頻分辨率為2 045像素×1 536像素,檢測(cè)速度為10次輸出結(jié)果的平均值(每一次輸出結(jié)果包含一次瞬時(shí)檢測(cè)速度)。由表2可見,YOLOv3在準(zhǔn)確率上與Faster R-CNN(ResNet101)相差較大,其他各項(xiàng)指標(biāo)相近,顯著地提高了檢測(cè)速度。
表2 YOLOv3識(shí)別與Faster R-CNN識(shí)別初生仔豬目標(biāo)結(jié)果對(duì)比Tab.2 Target comparison of YOLOv3 and Faster R-CNN for recognition of newborn pig lets
3.2.1不同迭代次數(shù)的影響
網(wǎng)絡(luò)深度對(duì)卷積神經(jīng)網(wǎng)絡(luò)模型的性能至關(guān)重要,但隨著網(wǎng)絡(luò)層數(shù)的增加,過擬合現(xiàn)象會(huì)加劇。在特定應(yīng)用領(lǐng)域,數(shù)據(jù)集數(shù)量、迭代次數(shù)與卷積神經(jīng)網(wǎng)絡(luò)深度之間尚未發(fā)現(xiàn)普適規(guī)律。本研究中訓(xùn)練集有7 747幅圖像,網(wǎng)絡(luò)深度為106層(不包括輸入層),根據(jù)模型訓(xùn)練過程中損失函數(shù)收斂過程可視化以及3種不同迭代權(quán)重模型的識(shí)別效果的對(duì)比可知,在20 000次迭代時(shí)接近模型局部最優(yōu)值。分析圖4,批次損失和平均損失在50~200次的迭代過程中急劇下降,整個(gè)過程在1 000收斂到0.36附近,訓(xùn)練效果較為理想,但在20 000次迭代附近有明顯非平滑下降波動(dòng)。
圖4 批次損失和平均損失收斂圖Fig.4 Convergence diagram of batch loss and average loss
分析圖5和表3,對(duì)比3個(gè)權(quán)重模型的PR(Precision and recall)曲線。為了更清楚地顯示在迭代訓(xùn)練過程中3種權(quán)重模型的變化情況,將召回率坐標(biāo)取對(duì)數(shù),準(zhǔn)確率坐標(biāo)取線性級(jí)數(shù),可見在召回率較低的階段,3個(gè)模型都有較明顯的波動(dòng),尤其是WEIGHT3,急速下降后上升,說明在驗(yàn)證集上的收斂情況達(dá)到飽和點(diǎn)后迅速下降,反向傳播過程中出現(xiàn)了梯度消失或過擬合現(xiàn)象。結(jié)合WEIGHT3在檢測(cè)時(shí)經(jīng)常將母豬的耳朵和四肢、柵欄內(nèi)透進(jìn)的光線、飼養(yǎng)人員裸露出的小腿和脖頸識(shí)別為仔豬,證明WEIGHT3權(quán)重模型出現(xiàn)了過擬合現(xiàn)象。
圖5 仔豬識(shí)別PR曲線Fig.5 PR curves of newborn piglet recognition
分析表3,3個(gè)模型的檢測(cè)速度基本相同,處理圖像速度近似為53.19 f/s,一般MP4視頻播放速度為25 f/s,可見在相應(yīng)硬件配置下的檢測(cè)時(shí)間能夠滿足實(shí)時(shí)檢測(cè)要求;WEIGHT2在精確率和召回率之間達(dá)到了很好的平衡,與WEIGHT3相比,犧牲了準(zhǔn)確率,在召回率上更有優(yōu)勢(shì);在衡量模型穩(wěn)定度的指標(biāo)F1-S上的表現(xiàn),兩個(gè)模型相近;對(duì)比A,WEIGHT2明顯更高。綜上可知,20 000次迭代的權(quán)重模型效果最優(yōu),在接下來的檢測(cè)過程中,均采用WEIGHT2的權(quán)重文件對(duì)圖像數(shù)據(jù)或視頻數(shù)據(jù)進(jìn)行檢測(cè)。
20 000次迭代權(quán)重模型在測(cè)試集中的精確率和召回率都略差于驗(yàn)證集,圖6顯示了部分識(shí)別錯(cuò)誤的情況。模型在檢測(cè)視頻時(shí),由于人的手臂和母豬的耳朵會(huì)不停的移動(dòng),保育箱口有仔豬經(jīng)過時(shí)亮暗程度也會(huì)產(chǎn)生變化,將這些物體錯(cuò)誤識(shí)別為仔豬。
表3 3種權(quán)重模型指標(biāo)評(píng)價(jià)對(duì)比Tab.3 Evaluation comparison of three weight model indexes
其主要原因是數(shù)據(jù)量不足、初生仔豬目標(biāo)小特征不明顯,導(dǎo)致模型過擬合。
圖6 過擬合現(xiàn)象圖示Fig.6 Overfitting phenomenon diagram
3.2.2不同通道數(shù)的影響
數(shù)據(jù)集分布的均衡程度和數(shù)據(jù)集數(shù)量對(duì)深層卷積神經(jīng)網(wǎng)絡(luò)模型的泛化能力至關(guān)重要。在建立的訓(xùn)練樣本庫中,包含白天、夜間和開啟白熾燈的夜間圖像,夜間圖像為單通道,其余為3通道。表4比較了不同通道數(shù)據(jù)集對(duì)訓(xùn)練結(jié)果的影響,樣本數(shù)據(jù)集均為9 683幅圖像,分辨率相同,在全天組中,3通道數(shù)據(jù)集5 000幅圖像,單通道數(shù)據(jù)集4 683幅圖像。由表4知:只有3通道的數(shù)據(jù)集和只有單通道的數(shù)據(jù)集訓(xùn)練的模型只在相應(yīng)通道的測(cè)試數(shù)據(jù)集上表現(xiàn)良好,對(duì)其他場(chǎng)景數(shù)據(jù)集泛化能力差;當(dāng)模型訓(xùn)練的數(shù)據(jù)集分布更加均衡時(shí),模型的泛化能力顯著提高。另一方面,全天的數(shù)據(jù)集數(shù)據(jù)分布更加均衡但白天和夜間的數(shù)據(jù)數(shù)量相對(duì)較少,所以全天數(shù)據(jù)集訓(xùn)練得到的模型不如單一場(chǎng)景下對(duì)場(chǎng)景內(nèi)測(cè)試數(shù)據(jù)集的識(shí)別效果。
表4 不同數(shù)據(jù)集分布訓(xùn)練模型效果對(duì)比Tab.4 Comparison of training model effects between different data sets distribution
對(duì)圖像數(shù)據(jù)的檢測(cè)結(jié)果可以保存為圖像和文本文件兩種形式。圖像保存形式如圖7所示,這些圖像在驗(yàn)證集中隨機(jī)選擇??梢?,模型的識(shí)別效果較為理想,對(duì)初生仔豬目標(biāo)識(shí)別過程中容易出現(xiàn)的粘連、硬性遮擋、光線干擾等問題能夠表現(xiàn)出良好的泛化能力。
圖7 仔豬識(shí)別模型對(duì)不同場(chǎng)景下的仔豬目標(biāo)識(shí)別結(jié)果Fig.7 Piglet recognition model for piglet target recognition under different scenarios
文本文件的保存格式如圖8所示,文本按行計(jì)數(shù)共有10條記錄,表示在這幅圖像中共識(shí)別出10只仔豬。第1列表示圖像編號(hào)為000009;第2列表示每只仔豬通過網(wǎng)絡(luò)模型識(shí)別的置信度,如第1條記錄中識(shí)別到的目標(biāo)有99.983 5%的可能性是仔豬;后4列表示仔豬目標(biāo)的坐標(biāo),分別為Xmin、Ymin、Xmax、Ymax。
圖8 仔豬識(shí)別模型批量識(shí)別圖像的文本文件結(jié)果Fig.8 Text file result of batch recognition picture of piglet recognition model
對(duì)視頻數(shù)據(jù)的檢測(cè)結(jié)果可以保存為視頻和文本文件兩種形式。在對(duì)2 048像素×1 536像素分辨率的??低晹z像頭實(shí)時(shí)監(jiān)控的視頻處理時(shí),檢測(cè)速度約為10 f/s,在對(duì)清晰度720 P及以下的視頻處理時(shí),檢測(cè)速度大于22 f/s,基本滿足實(shí)時(shí)檢測(cè)的需求。視頻數(shù)據(jù)檢測(cè)過程中會(huì)對(duì)每一幀進(jìn)行識(shí)別,同時(shí)動(dòng)態(tài)顯示對(duì)應(yīng)仔豬坐標(biāo)、置信度和檢測(cè)速度并保存到文本文件。視頻檢測(cè)結(jié)果如圖9所示。
多樣化檢測(cè)結(jié)果可以用來分析仔豬的狀態(tài)和行為。圖10中的1號(hào)仔豬是“死胎”。文本文件分析:圖10所示記錄1、2、3分別表示3幅圖像中1號(hào)仔豬的識(shí)別結(jié)果。分析3條記錄可知,1號(hào)仔豬的坐標(biāo)基本保持不變,引起坐標(biāo)變化的主要原因是模型的定位誤差和人工標(biāo)注時(shí)的誤差,配合視頻檢測(cè)結(jié)果,1號(hào)仔豬預(yù)測(cè)框未移動(dòng),其他仔豬爭(zhēng)搶吃奶預(yù)測(cè)框不斷變化,判斷1號(hào)仔豬為死胎。
圖9 仔豬識(shí)別模型視頻檢測(cè)輸出結(jié)果Fig.9 Output of piglet recognition model video detection1.檢測(cè)速度 2.目標(biāo)與置信度 3.仔豬坐標(biāo)
圖10 仔豬死胎判斷方法圖示Fig.10 Determination of stillbirth in piglets
(1)基于深層卷積神經(jīng)網(wǎng)絡(luò),提出一種以整幅圖像作為興趣域的初生仔豬識(shí)別算法,簡(jiǎn)化了圖像去噪特征提取的復(fù)雜過程,采用FPN算法將高層與底層特征融合,準(zhǔn)確、快速地檢測(cè)到初生仔豬目標(biāo)。在配備單塊顯卡GTX1080Ti下,對(duì)清晰度720P及以下的視頻能夠達(dá)到實(shí)時(shí)檢測(cè)的效果,對(duì)500像素×375像素的圖像檢測(cè)速度達(dá)到53.19 f/s。
(2)對(duì)比了不同通道數(shù)數(shù)據(jù)集以及不同迭代次數(shù)對(duì)模型性能的影響,發(fā)現(xiàn)在3通道與單通道數(shù)據(jù)均衡采樣9 683幅的情況下,訓(xùn)練迭代20 000次時(shí)接近模型最優(yōu)效果,在驗(yàn)證集和測(cè)試集上的精確率分別達(dá)到95.76%和93.84%,召回率分別為95.47%和94.88%。
(3)該方法支持圖像批量處理,也可以對(duì)視頻和監(jiān)控錄像實(shí)時(shí)檢測(cè),并將識(shí)別結(jié)果以圖像、視頻和文本文件的形式保存,多樣化的識(shí)別結(jié)果相結(jié)合可以對(duì)仔豬的狀態(tài)和行為作出準(zhǔn)確判定。