李昊玥,陳桂芬,裴 傲
(吉林農(nóng)業(yè)大學(xué) 信息技術(shù)學(xué)院,吉林 長春 130118)
奶牛養(yǎng)殖業(yè)是我國畜牧業(yè)的一個重要組成部分,近年來得到了快速發(fā)展,正逐步向規(guī)?;⒅悄芑c精準(zhǔn)化的方向轉(zhuǎn)變[1-2]。奶牛個體快速而準(zhǔn)確的識別作為奶牛智能化和數(shù)字化養(yǎng)殖的關(guān)鍵,其識別方法的研究已成為當(dāng)下奶牛養(yǎng)殖體系中的熱點(diǎn)[3-4]。傳統(tǒng)的奶牛個體識別主要通過人工觀測的方式進(jìn)行,該方法人力成本高、主觀性強(qiáng)且獲取的信息不能及時、準(zhǔn)確地給予反饋,不符合現(xiàn)代化奶牛養(yǎng)殖的發(fā)展需求[5]。除人工識別方法以外,目前應(yīng)用較多的個體識別方法是無線射頻檢測技術(shù)(Radio frequency identification, RFID),該技術(shù)將RFID標(biāo)簽固定在奶牛耳部,在閱讀器可識別范圍內(nèi)即可讀取標(biāo)簽內(nèi)的奶牛個體信息,避免了人工觀察標(biāo)簽編號的過程,但耳標(biāo)的佩戴依然會對奶牛的安全造成影響而且存在標(biāo)簽易破損、技術(shù)成本高以及兼容性差的問題[6]。
近年來,隨著計算機(jī)技術(shù)的不斷發(fā)展,基于計算機(jī)視覺的個體識別技術(shù)得到了廣泛的應(yīng)用。圖像識別的樣本通過牛場內(nèi)的攝像頭進(jìn)行采集,所需成本低,也避免了電子耳標(biāo)數(shù)量多、耳標(biāo)易破損的問題[7]。傳統(tǒng)的圖像識別技術(shù)常采用方向梯度直方圖、支持向量機(jī)、和局部二值模式(Local binary pattern,LBP)等方法。如陳娟娟等[8]使用優(yōu)化方向梯度直方圖(Histogram of gradient,HOG)特征對圖像進(jìn)行特征提取,并利用空間金字塔匹配原理(Spatial pyramid matching,SPM)和自定義直方圖交叉核對15類奶牛的7 500張奶牛頭部圖像進(jìn)行分類,準(zhǔn)確率要比單獨(dú)使用HOG特征高21.3%。張滿囤等[9]提出了一種基于改進(jìn)方向梯度直方圖與局部二值模式(HOG-LBP)特征融合的特征提取算法,并將其應(yīng)用到奶牛個體識別,為實(shí)現(xiàn)奶牛個體識別自動化打下了基礎(chǔ)。以上這些方法雖然在奶牛個體識別領(lǐng)域取得了較好的試驗(yàn)結(jié)果,但都對圖像的拍攝角度和拍攝位置敏感,適用性較差,且圖像背景復(fù)雜或奶牛姿態(tài)不一時識別精度不高,難以實(shí)現(xiàn)自動識別。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)[10]的出現(xiàn)為圖像識別提供了新思路,它具有強(qiáng)大的特征學(xué)習(xí)和特征表達(dá)能力,可以用于大批量圖像數(shù)據(jù)的識別和檢測,有良好的抗干擾能力,適用于農(nóng)場復(fù)雜環(huán)境下的奶牛個體識別,更符合現(xiàn)代化農(nóng)場信息管理的需求[11]。2015年趙凱旋等[12]利用卷積神經(jīng)網(wǎng)絡(luò)對奶牛視頻進(jìn)行分析、提取并跟蹤奶牛運(yùn)動過程中的軀干圖像,實(shí)現(xiàn)了奶牛個體的精準(zhǔn)識別。2019年王毅恒等[13]使用YOLO v3算法快速、準(zhǔn)確地實(shí)現(xiàn)了農(nóng)場環(huán)境下奶牛圖像復(fù)雜背景中的個體識別。
基于卷積神經(jīng)網(wǎng)絡(luò)的識別方法無需與奶牛直接接觸,該方法可降低勞動成本、減小對奶牛的傷害,具有良好的應(yīng)用價值。由此,本文采用卷積神經(jīng)網(wǎng)絡(luò)方法以實(shí)現(xiàn)奶牛個體的自動識別,并針對上述目標(biāo)檢測算法僅能生成奶牛圖像中帶有目標(biāo)個體的選框而無法精確標(biāo)出奶牛具體輪廓特征的問題選用Mask R-CNN算法,同時進(jìn)行相應(yīng)的改進(jìn),提出了一種基于改進(jìn)Mask R-CNN的奶牛圖像識別方法。此外,本文結(jié)合遷移學(xué)習(xí)的方式首先在COCO數(shù)據(jù)集上對提出的新算法網(wǎng)絡(luò)的權(quán)重進(jìn)行預(yù)訓(xùn)練,然后在實(shí)地拍攝的奶牛圖像數(shù)據(jù)集上進(jìn)行了仿真試驗(yàn)和結(jié)果評估。
試驗(yàn)數(shù)據(jù)來源于吉林省某農(nóng)場的實(shí)地拍攝,通過數(shù)碼相機(jī)等設(shè)備采集了546張農(nóng)場復(fù)雜背景下的奶牛圖片,分辨率為800×600。對其中不清晰的圖像加以剔除,最終選取500張作為數(shù)據(jù)集,所選樣本數(shù)據(jù)包含不同光照強(qiáng)度、背景和拍攝角度下不同奶牛數(shù)量和奶牛姿態(tài)的圖像,部分奶牛樣本數(shù)據(jù)如圖1所示。
圖1 奶牛樣本圖像Fig. 1 Cow sample image
神經(jīng)網(wǎng)絡(luò)模型的精度對數(shù)據(jù)量有著極高的要求,500張奶牛圖像不足以支撐網(wǎng)絡(luò)的訓(xùn)練。因此,本文選用水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、順時針旋轉(zhuǎn)45°、逆時針旋轉(zhuǎn)45°和灰度化5種方法對樣本數(shù)據(jù)進(jìn)行擴(kuò)展,如圖2所示。增強(qiáng)后的奶牛圖像共3 000張,按照3∶1∶1的比例劃分訓(xùn)練集、驗(yàn)證集和測試集,得到訓(xùn)練圖像1 800張,驗(yàn)證圖像600張,測試圖像600張。網(wǎng)絡(luò)的訓(xùn)練以監(jiān)督學(xué)習(xí)的方式進(jìn)行,本文采用Labelme軟件對增強(qiáng)后的數(shù)據(jù)進(jìn)行標(biāo)注,標(biāo)注時按照圖像中奶牛的輪廓創(chuàng)建目標(biāo)區(qū)域,并打上標(biāo)簽。由于本文識別的只有奶牛1個類別,因此統(tǒng)一用奶牛的英文cow作為標(biāo)簽名。
圖2 增強(qiáng)后的奶牛圖像Fig. 2 Enhanced cow image
1.2.1 Mask R-CNN原理 Mask R-CNN是由He等[14]于2017年提出的一種實(shí)例分割框架,該方法在Faster R-CNN[15]的基礎(chǔ)上增加了Mask 分支,在目標(biāo)檢測的同時對目標(biāo)進(jìn)行像素級的分割與分類;并用ROI align替代Faster R-CNN中的ROI pooling,解決了區(qū)域的不匹配問題(Misalignment),具有較高的精度和速率。Mask R-CNN一經(jīng)提出就在各個領(lǐng)域得到廣泛的應(yīng)用。
Mask R-CNN的整體框架如圖3所示。主要由Backbone、RPN(Region proposal network,RPN)、ROI align和Classifier 共4個部分組成。Backbone用于提取輸入圖片的特征圖(Feature map),該特征圖作為后續(xù)RPN和全連接層的輸入;RPN用于生成候選區(qū)域(Region proposal),并對每個特征區(qū)域進(jìn)行類別可能性判斷和框回歸(Bounding box regression)操作;ROI align通過收集輸入的特征圖和候選區(qū)域提取Proposal feature maps,并作為后續(xù)全連接層的輸入,進(jìn)行目標(biāo)類別判定;Classifier利用Proposal feature maps計算候選區(qū)域的類別,同時再次進(jìn)行框回歸以精確定位檢測框,并為目標(biāo)生成掩碼。
圖3 Mask R-CNN網(wǎng)絡(luò)結(jié)構(gòu)圖Fig. 3 Network structure diagram of Mask R-CNN
1.2.2 SENet SENet(Squeeze-and-excitation network)是Hu等[16]于2017年提出的新型網(wǎng)絡(luò)結(jié)構(gòu),采用了一種全新的“特征重標(biāo)定”策略對每個通道的重要程度進(jìn)行評估。本文借鑒其做法,將嵌有SE block的ResNet[17]作為Mask R-CNN模型的特征提取網(wǎng)絡(luò)基本結(jié)構(gòu),對奶牛圖像的通道信息加以利用,根據(jù)Loss值對特征的權(quán)重進(jìn)行學(xué)習(xí)和重調(diào)。模型采用重要特征信息的權(quán)重大、其他特征信息的權(quán)重小的方式進(jìn)行訓(xùn)練,具體步驟如下:
1)擠壓(Squeeze)操作:對所有通道的特征值進(jìn)行全局平均池化(Global average pooling)操作,將每個二維特征通道變成1個實(shí)數(shù),即zc,表征在特征通道上響應(yīng)的全局分布,以獲得全局感受野。zc的計算公式如下:
式中,H、W分別表示為圖片的高和寬,u表示輸入圖像經(jīng)過標(biāo)準(zhǔn)卷積操作后得到的特征圖,uc表示u中的第c個二維矩陣,c表示特征通道數(shù),uc(i,j)代表通道特征圖矩陣uc中第i行第j列的元素。
2)Excitation操作:通過捕捉通道之間的非線性相互作用關(guān)系對各個通道進(jìn)行權(quán)重評估,從而在通道維度上對原始特征重定標(biāo)。Excitation操作所得結(jié)果的計算公式如下:,
式中,s表示各通道權(quán)重sc的集合,δ表示ReLU函數(shù),σ表示Sigmoid激活函數(shù)。z表示各通道經(jīng)過Squeeze操作得到的實(shí)數(shù)zc的集合,W1和W2這2個權(quán)重通過學(xué)習(xí)得到,W1和W2的維度分別是,C為通道數(shù)目,r為縮放參數(shù),用以降低計算量,為達(dá)到傳播速度和檢測準(zhǔn)確率的平衡,參考文獻(xiàn)[16],本文中的r取值為16。
3)Reweight操作:將 Excitation輸出的權(quán)重通過乘法逐通道加權(quán)到先前的特征上,完成通道維度上的原始特征重標(biāo)定,從而增強(qiáng)對關(guān)鍵通道域的注意力。輸入特征圖u結(jié)合權(quán)重s進(jìn)行重定標(biāo)后的輸出x~c的計算公式如下:
式中,sc表示各通道對應(yīng)權(quán)重,uc為每個特征圖對應(yīng)的通道特征矩陣。
1.2.3 模型優(yōu)化與構(gòu)建 本文訓(xùn)練的目標(biāo)僅奶牛一種,類別相對單一,因此對網(wǎng)絡(luò)層數(shù)的要求較低,為提高算法的運(yùn)行效率,選用網(wǎng)絡(luò)較為簡單的ResNet-50作為Mask R-CNN中Backbone網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu),整體結(jié)構(gòu)如圖4所示。ResNet-50雖然引入了殘差學(xué)習(xí),具備更好的特征提取能力,但其仍未對圖像信息加以充分的利用,僅關(guān)注了圖像的空間信息而忽略了通道之間的信息,并且其卷積層的濾波器是作用在局部視野上的,特征圖之間相互獨(dú)立且重要性相同,然而實(shí)際訓(xùn)練過程中不同的特征對于模型的影響并不相同。基于此,本文在ResNet-50的Shortcut中嵌入SE block進(jìn)行優(yōu)化,優(yōu)化后的Identity block結(jié)構(gòu)如圖5所示。
圖4 ResNet結(jié)構(gòu)Fig. 4 Structure of ResNet
圖5 Identity block結(jié)構(gòu)Fig. 5 Structure of identity block
由圖5可看出,優(yōu)化后的Identity block主體部分未變,依舊先使用Conv層對Input進(jìn)行1×1卷積操作,將通道數(shù)減少1/4,然后對其進(jìn)行3×3卷積操作進(jìn)行特征提取,再通過1×1的卷積層,恢復(fù)通道數(shù),使得Input與Outout的維度相同。其中,1×1的卷積操作減少了卷積的參數(shù)個數(shù)與計算量,同時改善了網(wǎng)絡(luò)的非線性程度。在Identity block的Shortcut部分Input不再與主體部分得到的特征信息直接相加,而是先經(jīng)由Global average pooling層進(jìn)行Squeeze 操作,然后通過2個Fully connected層構(gòu)建通道間的相關(guān)性,并輸出各個通道的權(quán)重,接著在Sigmoid層對權(quán)重進(jìn)行歸一化,獲得0~1之間的權(quán)重值,最后采用Scale操作將歸一化權(quán)重加權(quán)到相對應(yīng)的通道特征上。ResNet-50中除了Identity block還有Conv block,優(yōu)化后的Conv block結(jié)構(gòu)同Identity block相似,但由于其Input與Output的維度不一致,因此在Shortcut中先加入Conv和Batch norm操作對Input進(jìn)行降維,使其與Output維度相同后再進(jìn)行后續(xù)操作。
1.2.4 損失函數(shù)優(yōu)化 Mask R-CNN的損失函數(shù)(L)由3個部分組成,分別為分類誤差(Lcls)、檢測誤差(Lbox)和分割誤差(Lmask), 其公式如下:
Lcls使用Softmax損失函數(shù)計算目標(biāo)的分類概率,計算公式如下:
式中,f表示評分向量,vi表示樣本i的標(biāo)簽,fj表示分類評分向量f中第j個元素。
Lbox使用SmoothL1函數(shù)計算邊框損失,計算公式如下:
式中,x為輸入值。
Lmask使用二值交叉熵(Binary crossentropy)損失函數(shù):
式中,y為期望輸出,為實(shí)際輸出。
在人工對奶牛圖像進(jìn)行像素級標(biāo)注時,往往只需關(guān)注奶牛的邊緣部分,輪廓內(nèi)部分復(fù)制邊緣的標(biāo)注信息即可,因此邊緣信息對于實(shí)例分割十分重要,它們很好地表征了實(shí)例。原始Mask R-CNN在預(yù)測時忽略了邊界信息,試驗(yàn)中會出現(xiàn)邊緣檢測不準(zhǔn)確的現(xiàn)象,從而影響Mask掩碼的準(zhǔn)確度。針對這一問題,本文借鑒文獻(xiàn)[18]的做法,在Lmask中增加IoU boundary loss,即Lboundary對掩碼部分的損失函數(shù)進(jìn)行優(yōu)化。首先提取Mask掩碼的邊界像素,降低非邊界像素對損失函數(shù)的影響,然后計算真實(shí)Mask邊界與預(yù)測Mask邊界的重合情況。Lboundary的公式如下:
Mask R-CNN模型的訓(xùn)練在Tensorflow[19]深度學(xué)習(xí)框架下進(jìn)行,采用GPU進(jìn)行加速。首先利用Mask R-CNN模型在COCO數(shù)據(jù)集上的預(yù)訓(xùn)練權(quán)重初始化網(wǎng)絡(luò)參數(shù),然后利用自制奶牛數(shù)據(jù)集對奶牛識別模型進(jìn)行訓(xùn)練,模型的整個訓(xùn)練分為2個階段:
1)凍結(jié)Backbone網(wǎng)絡(luò),對未使用COCO預(yù)訓(xùn)練權(quán)重的隨機(jī)初始化層(除Backbone外的其他所有層)進(jìn)行訓(xùn)練;
2)對整個Mask R-CNN模型進(jìn)行訓(xùn)練。
模型訓(xùn)練時依據(jù)本文的識別需求,類別設(shè)置為2(包含Cow和Backgroud 2個類別),Anchor大小設(shè)置為 32、64、128、256、512,α權(quán)重系數(shù)設(shè)置為 1,權(quán)重衰減系數(shù)設(shè)置為0.000 5,每個尺寸的Anchor對應(yīng)生成3種比例(0.5、1.0、2.0)的錨框,每幅圖片的Anchor個數(shù)為256。此外,模型采用非線性修正線性單元 (Rectified linear unit,ReLU) 作為激活函數(shù),并基于隨機(jī)梯度下降法(Stochastic gradient descend) 進(jìn)行優(yōu)化,動量因子為0.9, 網(wǎng)絡(luò)權(quán)重參數(shù)的初始學(xué)習(xí)率為0. 001,訓(xùn)練共設(shè)置200個Epoch,全部訓(xùn)練數(shù)據(jù)完成1次運(yùn)算為1個Epoch,當(dāng)Epoch達(dá)到100時學(xué)習(xí)率減少為0.000 1。
為了客觀、全面地評價網(wǎng)絡(luò)模型,本文采用分類置信度中的精度均值(Average precision,AP)對模型的整體性能進(jìn)行評估。AP是預(yù)測單個目標(biāo)類別的平均查準(zhǔn)率,由精確率(Precision)和召回率(Recall)計算得出,以精確率為縱坐標(biāo),召回率為橫坐標(biāo),繪制 P-R(Precision-recall)曲線,AP 即為 P-R曲線的積分。Precision是指在所有被標(biāo)記為奶牛的物體中,奶牛正樣本所占的比率;Recall是測試集中所有奶牛正樣本中,被正確識別為奶牛的比例。Precision和Recall的計算方式如下:
式中,TP表示奶牛被正確分類和定位的正樣本個數(shù),F(xiàn)P表示被標(biāo)記為奶牛的負(fù)樣本個數(shù),N為樣本總數(shù),F(xiàn)N為測試樣本中真實(shí)的正樣本數(shù)減去TP。此外,AP在進(jìn)行計算時需要設(shè)定奶牛的預(yù)測邊界框與真實(shí)邊界框的交并比(Intersection over union,IoU)[20],本文將其設(shè)定為0.7,當(dāng)IoU>0.7時將測試樣本認(rèn)定為正樣本,否則為負(fù)樣本。
在大多數(shù)的實(shí)例分割任務(wù)中AP可以很好地表征模型的性能,然而AP僅適用于分類置信度的評價,無法對Mask的實(shí)際質(zhì)量進(jìn)行評估。針對這一問題,本文借鑒文獻(xiàn)[21]中的做法,選用IoU值對Mask掩碼的質(zhì)量進(jìn)行評估。本文中的IoUMask通過計算奶牛預(yù)測Mask區(qū)域(C)與其對應(yīng)的人工標(biāo)記Mask區(qū)域(G)之間的交集與并集之比以量化Mask的質(zhì)量,從而進(jìn)一步衡量奶牛個體Mask的檢測定位的精確程度,計算方式如公式(12)所示:
為驗(yàn)證本文模型在奶牛個體識別方面的有效性,將改進(jìn)模型與原始Mask R-CNN模型在前文所述的奶牛測試集上進(jìn)行對比試驗(yàn),改進(jìn)模型在原始Mask R-CNN網(wǎng)絡(luò)的基礎(chǔ)上同時優(yōu)化了特征提取網(wǎng)絡(luò)結(jié)構(gòu)和損失函數(shù),訓(xùn)練過程中參數(shù)設(shè)置和原始Mask R-CNN網(wǎng)絡(luò)保持一致,得到的實(shí)際檢測結(jié)果如圖6所示。
圖6 改進(jìn)前后Mask-R-CNN模型試驗(yàn)結(jié)果對比Fig. 6 Comparison of experimental results before and after improvement of Mask R-CNN model
由圖6可看出,改進(jìn)前后的模型均能較為準(zhǔn)確地識別目標(biāo)的類別,但改進(jìn)后網(wǎng)絡(luò)的AP值更高,對于奶牛邊緣的檢測更為接近實(shí)際輪廓,圖像邊界與細(xì)節(jié)更為平滑,能有效識別圖片中的小目標(biāo)個體,不同奶牛個體之間的分割也更為準(zhǔn)確。表1展示了Mask R-CNN模型改進(jìn)前后在測試集上的客觀評價結(jié)果,從中可看出改進(jìn)模型在奶牛圖像識別的任務(wù)上的AP為100%,IoUMask達(dá)91.34%,,相較于原始Mask R-CNN模型有了較為明顯的提升,漲幅分別為3.28%和5.92%。
表1 改進(jìn)前后Mask R-CNN模型各項(xiàng)評價指標(biāo)對比Table 1 Comparison of evaluation indexes for Mask RCNN model before and after improvement
綜合主觀的視覺效果與客觀的定量評價,本文方法的識別效果要優(yōu)于原始的Mask R-CNN模型,證明了本文方法的可行性和有效性。
為呈現(xiàn)各個改進(jìn)部分對模型性能所產(chǎn)生的影響,本節(jié)在訓(xùn)練參數(shù)和數(shù)據(jù)集相同的情況下,分別將僅優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)的模型以及僅增加 IoU boundary loss的模型與原始的Mask R-CNN網(wǎng)絡(luò)模型進(jìn)行了對比試驗(yàn)。
2.3.1 網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化對模型性能的影響 通過在ResNet的Shortcut中增加SE block對模型的特征提取網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化,以此增強(qiáng)模型的特征學(xué)習(xí)能力。在相同條件設(shè)置下,將僅優(yōu)化特征網(wǎng)絡(luò)結(jié)構(gòu)的模型與原始Mask R-CNN模型進(jìn)行對比試驗(yàn),結(jié)果如表2所示。
表2 結(jié)構(gòu)優(yōu)化前后Mask R-CNN模型評價指標(biāo)對比Table 2 Comparison of evaluation indexes for Mask RCNN model before and after structural optimization
表2顯示結(jié)構(gòu)優(yōu)化后的模型在AP和IoUMask上均有提高,分別提升了3.28%和2.09%,證明加入通道注意力機(jī)制可以有效提高奶牛個體識別的準(zhǔn)確率。
2.3.2 IoU boundary loss對模型性能的影響 為驗(yàn)證IoU boundary loss對模型的影響,從其對Mask loss的影響和對Mask掩碼質(zhì)量的影響兩方面對IoU boundary loss進(jìn)行評估。
1)對Mask loss的影響:
模型的訓(xùn)練過程實(shí)質(zhì)上就是尋找最小Loss值的過程,本節(jié)不考慮網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化,僅采用IoU boundary loss對Mask R-CNN的損失函數(shù)進(jìn)行優(yōu)化,通過分析訓(xùn)練過程中Mask部分的損失函數(shù)值的變化趨勢,可以得到IoU boundary loss對Mask損失函數(shù)值得影響。改進(jìn)前后的Mask loss的變化曲線如圖7所示。
圖7 IoU boundary loss對Mask loss的影響Fig. 7 The influence of IoU boundary loss on Mask loss
從圖7可以看出,加入IoU boundary loss的模型迭代至第5個Epoch后Mask loss的曲線趨于平穩(wěn),迭代至第140個Epoch時曲線趨于收斂,而原始模型在第10個Epoch后曲線才趨于平緩,迭代至第160個Epoch時趨于收斂。相比之下,IoU boundary loss的模型的Mask loss收斂速度更快,得到的Loss值更低,模型的識別效果更好。
2)對Mask 掩碼質(zhì)量的影響:
本文采用IoUMask指標(biāo)對模型改進(jìn)前后生成的Mask掩碼質(zhì)量進(jìn)行定量分析,得到的結(jié)果如表3所示。
表3 損失函數(shù)優(yōu)化前后Mask R-CNN模型IoUMask對比Table 3 Comparison of IoUMask for Mask R-CNN model before and after loss function optimization
從表3中可以看出加入IoU boundary loss后的模型IoUMask為87.84%,相較于原始Mask R-CNN模型提高了2.42%,結(jié)果表明:在Mask loss中加入IoU boundary loss可以提高邊界的識別精度,進(jìn)而提升Mask掩碼的質(zhì)量,有效地優(yōu)化了訓(xùn)練模型。
綜合上述試驗(yàn)的結(jié)果可以看出,單獨(dú)對網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化和單獨(dú)增加IoU boundary loss都可以提升模型的性能,但提升效果有限,而本文最終采用的改進(jìn)模型同時使用了優(yōu)化的網(wǎng)絡(luò)結(jié)構(gòu)和IoU boundary loss,融合后的改進(jìn)模型在AP值和IoUMask值上均有顯著的提高(表1),模型性能良好,具有較強(qiáng)的奶牛個體識別能力。
為解決因傳統(tǒng)奶牛個體識別方法的局限性以及復(fù)雜的奶牛體姿態(tài)和環(huán)境導(dǎo)致對奶牛個體識別的有效性、準(zhǔn)確率較低的問題,本文提出了一種改進(jìn)Mask R-CNN的方法并構(gòu)建了基于改進(jìn)Mask RCNN的奶牛個體識別模型。在奶牛測試集上進(jìn)行對比試驗(yàn),并對模型性能的影響因素加以分析,得到如下結(jié)論:
1)使用嵌入SE block的ResNet作為Mask RCNN的特征提取網(wǎng)絡(luò)的基本結(jié)構(gòu)對圖像通道進(jìn)行加權(quán)處理,可以增強(qiáng)網(wǎng)絡(luò)的特征提取能力;加入IoU boundary loss,可以提高模型對識別目標(biāo)邊緣信息的學(xué)習(xí)能力。
2)改進(jìn)的Mask R-CNN模型在奶牛圖像集上的AP達(dá)100%,IoUMask達(dá)91.34%。奶牛個體的類別能被準(zhǔn)確識別,Mask掩碼位置也較為準(zhǔn)確,與實(shí)際邊緣更為貼合。與原始Mask R-CNN相比,在訓(xùn)練和測試條件相同的情況下,改進(jìn)Mask R-CNN在測試集上的AP與IoUMask均超過原始Mask RCNN,具有良好的有效性與準(zhǔn)確率。