鄧 穎,吳華瑞,朱華吉
(1. 國家農(nóng)業(yè)信息化工程技術(shù)研究中心,北京 100097;2. 北京市農(nóng)業(yè)信息技術(shù)研究中心,北京 100097;3. 農(nóng)業(yè)農(nóng)村部農(nóng)業(yè)信息軟硬件產(chǎn)品質(zhì)量檢測重點(diǎn)實(shí)驗(yàn)室,北京 100097)
柑橘是隔年結(jié)果,花量決定果量,越早的進(jìn)行花朵負(fù)載監(jiān)測,就能越早進(jìn)行生產(chǎn)決策調(diào)整:柑橘定植后1至3 年期間應(yīng)重點(diǎn)增加樹冠面積,盡量少開花甚至不開;進(jìn)入結(jié)果期的衰弱樹也要少開花;進(jìn)入結(jié)果期樹枝生長勢旺、開花少的樹要進(jìn)行促花。因此,柑橘種植若要獲得優(yōu)質(zhì)高產(chǎn),需科學(xué)合理的調(diào)節(jié)花量。柑橘樹開花數(shù)量多,單株花量達(dá)數(shù)千至數(shù)萬朵不等,不論是人工統(tǒng)計(jì)還是機(jī)器識(shí)別都無法做到精確地統(tǒng)計(jì)柑橘花量,目前通常是果農(nóng)用肉眼和經(jīng)驗(yàn)進(jìn)行大致的花量預(yù)估。
國內(nèi)外開展了很多柑橘植株負(fù)載監(jiān)測的研究,其方法大多使用顏色特征、超聲波、航空圖像等對柑橘果實(shí)進(jìn)行測量。Ye 等[1]利用航空高光譜圖像來測量柑橘果實(shí)數(shù)量,采集4、5、6 月份的共72 張柑橘樹圖像,利用BP 神經(jīng)網(wǎng)絡(luò)分析柑橘果實(shí)量與樹冠平均反射率的關(guān)系,神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果表明5 月份采集的柑橘圖像和柑橘果實(shí)量之間的相關(guān)性好于4 月和6 月。Annamalai等[2]設(shè)計(jì)了一個(gè)基于機(jī)器視覺的實(shí)時(shí)柑橘果實(shí)檢測系統(tǒng),在RGB 顏色模型中,通過閾值分割法將柑橘從背景中分離出來,然后分析柑橘識(shí)別個(gè)數(shù)與果實(shí)數(shù)量的關(guān)系,因?yàn)閮H使用了一個(gè)閾值,并不能適應(yīng)自然條件下的復(fù)雜圖像,柑橘識(shí)別數(shù)量與實(shí)際數(shù)量之間的相關(guān)系數(shù)較低,僅為0.79。張亞靜等[3]利用顏色信息對自然條件下的樹上柑橘果實(shí)進(jìn)行識(shí)別試驗(yàn),并分析果實(shí)個(gè)數(shù)、總面積、總周長與果實(shí)數(shù)量的關(guān)系。上述研究均應(yīng)用于柑橘結(jié)果期對果實(shí)的數(shù)量計(jì)算與統(tǒng)計(jì),但不能在花期進(jìn)行負(fù)載監(jiān)測。近年來,中國智慧農(nóng)業(yè)發(fā)展迅猛,已有高新技術(shù)企業(yè)利用梨樹的樹冠垂直拍攝面識(shí)別梨花,進(jìn)而統(tǒng)計(jì)梨花數(shù)量。通常情況下,柑橘樹的掛花數(shù)量遠(yuǎn)高于梨樹,且梨樹花期幾乎無樹葉遮擋,柑橘則存在樹葉和花朵之間的互相遮擋、重疊等情況,在開花數(shù)計(jì)算難度上遠(yuǎn)高于梨樹。
本研究利用圖像實(shí)例分割技術(shù)對柑橘樹照片進(jìn)行花朵識(shí)別與標(biāo)記,解決了小尺度花朵目標(biāo)識(shí)別難的問題,通過獲取實(shí)例分割邊框(Bounding Box)中的柑橘花朵和柑橘花苞2 個(gè)類型的實(shí)例總數(shù),做到高精度低時(shí)耗的局部樹冠圖像花量計(jì)算,為柑橘植株發(fā)育期的花量科學(xué)管控提供智能決策依據(jù)。
在計(jì)算機(jī)視覺領(lǐng)域中,圖像處理網(wǎng)絡(luò)模型眾多,本研究選取基于實(shí)例分割(Instance Segmentation)[4-6]技術(shù)的掩膜區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Mask R-CNN)網(wǎng)絡(luò)框架進(jìn)行花朵識(shí)別和花量計(jì)算[7-10]。若要從圖像中得到柑橘花朵數(shù)量,首先需對圖像中的各實(shí)體類別進(jìn)行逐一識(shí)別,并計(jì)算識(shí)別出的柑橘花朵實(shí)體的個(gè)數(shù),該問題可以歸為目標(biāo)檢測問題。經(jīng)研究驗(yàn)證,在目標(biāo)檢測中,進(jìn)行實(shí)例分割的掩膜區(qū)域卷積神經(jīng)網(wǎng)絡(luò)模型平均精度(Average Precision,AP)[10]高于物體檢測(Object Detection)模型[11-13],且物體檢測模型對密集小畫面物體識(shí)別度不高,應(yīng)用在柑橘花朵識(shí)別上效果欠佳,因此本研究采用實(shí)例分割思想?;贛ask R-CNN 的網(wǎng)絡(luò)框架,將復(fù)雜的物體分割問題通過相對簡單的物體檢測技術(shù)進(jìn)行簡化,從而使分割變得更加容易。由于Mask R-CNN 多層多分支的網(wǎng)絡(luò)結(jié)構(gòu)使模型的訓(xùn)練和驗(yàn)證時(shí)間都相對較長,本研究將對此進(jìn)行優(yōu)化,在保證柑橘花朵高識(shí)別率的基礎(chǔ)上提升時(shí)間效率。
如圖1 所示,柑橘花朵識(shí)別網(wǎng)絡(luò)從結(jié)構(gòu)上分為卷積主干、特征圖處理、掩膜計(jì)算、邊框回歸、類別預(yù)測等模塊。首先,卷積主干通過卷積運(yùn)算對輸入圖像進(jìn)行特征提取、通過候選區(qū)域推薦(region proposal)計(jì)算得到柑橘花朵的候選區(qū)域范圍,通過特征金字塔生成不同尺度的特征圖;然后,特征圖處理模塊針對各特征圖尺度不同的情況進(jìn)行尺度標(biāo)準(zhǔn)化計(jì)算,生成固定大小的特征圖組;最后,特征圖組傳入網(wǎng)絡(luò)頭部,頭部包含3 個(gè)分支,通過掩膜分支計(jì)算每個(gè)興趣區(qū)域內(nèi)花朵實(shí)例的二維掩碼,邊框回歸分支確定柑橘花朵的邊框范圍,類別預(yù)測分支進(jìn)行實(shí)例分類預(yù)測。
圖1 柑橘花朵識(shí)別網(wǎng)絡(luò)結(jié)構(gòu) Fig.1 Framework of citrus flower recognition network
1.1.1 卷積計(jì)算
模型的最底部是卷積主干部分,進(jìn)行輸入圖像的特征提取,必須經(jīng)過卷積計(jì)算才能進(jìn)行后續(xù)的分類、掩膜和邊框計(jì)算。隨著卷積網(wǎng)絡(luò)隨層數(shù)的增加,其特征表達(dá)能力增強(qiáng),但卻同時(shí)面臨梯度消失的問題。因?yàn)槠胀ㄉ窠?jīng)網(wǎng)絡(luò)的層數(shù)越深,初始化參數(shù)更接近于0,由于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練通常采用反向傳播算法進(jìn)行鏈?zhǔn)匠朔e求導(dǎo),在更新淺層參數(shù)時(shí),隨著信息往前傳播,淺層的梯度就越趨于0,最終出現(xiàn)梯度的消失,導(dǎo)致網(wǎng)絡(luò)層數(shù)增加到一定限度,模型的精度不增反降。
殘差卷積網(wǎng)絡(luò)(ResNet)[14-16]通過引入殘差模塊,有效避免了梯度消失的問題,實(shí)現(xiàn)對模型精度的提升。公式(1)為殘差模塊的數(shù)學(xué)表示:將殘差塊的輸入數(shù)據(jù)xi,通過捷徑鏈接(shortcut connection)進(jìn)行恒等映射Wixi(不需要做維度轉(zhuǎn)換的情況下W=1),同時(shí)將xi進(jìn)行卷積并通過線性修正單元(rectified linear unit,ReLU)進(jìn)行激活運(yùn)算Gi,輸出殘差值F(xi,Gi)。
式中xi為第i 層殘差塊的數(shù)據(jù)輸入;Gi為激活函數(shù);F(xi,Gi)為殘差值;W 為捷徑鏈接的恒等映射參數(shù)(通常情況下為常數(shù)1);xi+1為i+1 層殘差塊的輸入。
任意比xi層數(shù)更深的xk均可由xi表示,見公式(2);損失函數(shù)對于xi的梯度為dl/dxi可表示為公式(3),將W 取1。
式中xk為第k 層(k>i)的殘差塊輸入值;xj為i 層到k-1層的殘差值;Gj為i 層到k-1 層的激活函數(shù);F(xj,Gj)為i 層到k-1 層的殘差值。
公式(2)代入公式(3)可得公式(4)。由公式(4)可知,較深層xk的梯度可以傳遞到比其淺的任意層xi,且由于括號(hào)內(nèi)有常數(shù)1 的存在,且傳導(dǎo)過程中的乘積計(jì)算變?yōu)橄嗉?,因此不論網(wǎng)絡(luò)層數(shù)多深,它的梯度始終不會(huì)消失。
1.1.2 多尺度處理
圖像中物體離鏡頭的遠(yuǎn)近影響它們的成像大小,而成像小于卷積網(wǎng)絡(luò)步幅的物體會(huì)被忽略而得不到有效識(shí)別,這樣的問題稱為多尺度問題[21-22]。柑橘花朵在日常生產(chǎn)監(jiān)測圖像中大多以小尺度的形式存在,為了更好的捕捉花朵的形狀、顏色特征,通常會(huì)拍攝一定數(shù)量的大尺度花朵特寫照片進(jìn)行識(shí)別模型的訓(xùn)練,因此在訓(xùn)練和識(shí)別2 種場景下存在明顯的多尺度問題。采用快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(fast R-CNN)[19-20]的特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)[23-25]可以使多尺度問題得到有效解決。如圖2 所示,F(xiàn)PN 采用雙金字塔結(jié)構(gòu),左側(cè)金字塔為常規(guī)的特征圖卷積網(wǎng)絡(luò),特征圖隨著卷積次數(shù)逐層縮?。恢虚g金字塔則從上至下對卷積后的圖像進(jìn)行反向采樣,通過將上層右側(cè)的特征圖進(jìn)行放大(放大倍數(shù)與左側(cè)卷積縮小倍數(shù)成倒數(shù)關(guān)系),進(jìn)而與下一層左側(cè)的特征圖各像素點(diǎn)進(jìn)行元素相加,在不增加運(yùn)算量的基礎(chǔ)上,增強(qiáng)了金子塔右側(cè)每一層在不同尺度下空間信息和語義信息的表達(dá)能力,以便小尺度目標(biāo)的檢測。由此可見,在進(jìn)行柑橘花朵識(shí)別的場景中,F(xiàn)PN 網(wǎng)絡(luò)能發(fā)揮其多尺度識(shí)別的優(yōu)勢,增加對圖像中尺度細(xì)小且排布密集的柑橘花朵目標(biāo)的檢測幾率。
圖2 FPN 結(jié)構(gòu)圖 Fig.2 FPN structure
1.1.3 特征圖處理
經(jīng)過殘差卷積網(wǎng)絡(luò)和金字塔網(wǎng)絡(luò)之后,原始圖像被轉(zhuǎn)化為多尺度特征圖,再由區(qū)域推薦網(wǎng)絡(luò)(Region Proposal Network,RPN)對其興趣區(qū)域(Region of Interest,RoI)進(jìn)行篩選,進(jìn)而對篩選后的RoI 進(jìn)行池化。對于如何進(jìn)行池化,Girshick[19]在fast CNN 中提出興趣區(qū)域池化(RoI Pooling)—采用最近鄰插值(Nearest Neighbor Interpolation)[26]法將縮放后的非整數(shù)采樣點(diǎn)坐標(biāo)作四舍五入取整,等同于選取最近的整數(shù)坐標(biāo)點(diǎn)替代離實(shí)際采樣點(diǎn),這樣會(huì)因取整損失小數(shù)點(diǎn)后的精度,導(dǎo)致縮放前后圖像的空間對稱性的缺失。He 等[7]提出興趣區(qū)域?qū)R法(RoI Align),用雙線性插值(bilinear interpolation)進(jìn)行采樣點(diǎn)坐標(biāo)計(jì)算,保留采樣點(diǎn)坐標(biāo)的小數(shù)值以提高池化精度。因此,在特征圖處理模塊中,本研究以興趣區(qū)域?qū)R法替代興趣區(qū)域池化法,可有效減少特征圖尺度標(biāo)準(zhǔn)化過程中的精度損失。
圖3 為興趣區(qū)域?qū)R法進(jìn)行特征圖尺度標(biāo)準(zhǔn)化的原理示例。假設(shè)將一張大小為150×100 的圖像縮放為原大小的1/4,形成大小為75×50 的特征圖;將特征圖進(jìn)行橫向與縱向的5 等分,形成25 個(gè)等面積矩形;圖3 右側(cè)紅色方框是特征圖左上紅色等面積矩形的放大圖,對紅色方框進(jìn)行x 等分,并取每個(gè)等分中心為采樣點(diǎn),通常采用4 等分,即對紅色方框4 個(gè)等分中心P1、P2、P3、P4 進(jìn)行采樣;P1 坐標(biāo)為(3.75,47.5),它最鄰近4 個(gè)整數(shù)坐標(biāo)點(diǎn)為Q1(3,48)、Q2(4,48)、Q3(3,47)、Q4(4,47),用雙線性插值[27]法通過Q1,Q2,Q3,Q4 的像素值計(jì)算出P1 的像素值;以此類推計(jì)算出4 個(gè)采樣點(diǎn)的像素值,并進(jìn)行最大池化(max pooling)得到紅色等面矩形的池化輸出值。由此可見,在整個(gè)特征圖池化過程中,興趣區(qū)域?qū)R法始終保持坐標(biāo)的完整性,避免了取整導(dǎo)致的采樣點(diǎn)位置偏移,因此本研究以興趣區(qū)域?qū)R法作為特征圖尺度標(biāo)準(zhǔn)化方法。
圖3 興趣區(qū)域?qū)R法示例 Fig.3 Region of interest align example
1.1.4 損失值計(jì)算
經(jīng)過特征區(qū)域篩選,網(wǎng)絡(luò)頭部將對各特征區(qū)域進(jìn)行掩膜、邊框和分類計(jì)算,試驗(yàn)證明[7]在多個(gè)數(shù)據(jù)集的模型訓(xùn)練中,選擇采用分類、邊框和掩膜三者的損失之和(如公式5)作為整體的損失值,都能取得很好的效果。
式中Lcls為分類計(jì)算損失值;Lbox為邊框計(jì)算損失值,Lmask為掩膜計(jì)算損失值,L 為網(wǎng)絡(luò)整體損失值。
1.2.1 網(wǎng)絡(luò)卷積主干優(yōu)化
ResNet-50和ResNet-101是由殘差塊簡單串聯(lián)而成的深度殘差卷積網(wǎng)絡(luò),其層數(shù)分別為50 層和101 層。已有的研究表明[14],ResNet 的精度隨層數(shù)增加而增加,消耗的計(jì)算資源也隨之遞增。后續(xù)提出的多維殘差網(wǎng)絡(luò)(Next Dimension ResNet,ResNeXt)[17-18]在網(wǎng)絡(luò)上結(jié)構(gòu)上對ResNet 進(jìn)行了優(yōu)化,通過多分支卷積網(wǎng)絡(luò)(multi-branch convolutional networks)分組卷積(group convolution)結(jié)構(gòu)進(jìn)一步提高了網(wǎng)絡(luò)的精度,同時(shí)降低了運(yùn)算量。Xie 等[17]通過試驗(yàn)證明,獨(dú)立的ResNeXt50 的平均精度值高于ResNet50 稍低于ResNet101,且速度最快。
He 等[7]在 Mask R-CNN 中采用 ResNet50、ResNeXt101 和ResNet101 作為卷積主干,分別進(jìn)行對比試驗(yàn),證明ResNet101 的平均精度(AP 值)為35.4,高于ResNet50 的33.6,但低于ResNeXt101 的36.7。
相同的網(wǎng)絡(luò)結(jié)構(gòu)下,層數(shù)越深的殘差卷積網(wǎng)絡(luò)特征表達(dá)能力越強(qiáng),準(zhǔn)確度也越高,但在柑橘花朵識(shí)別場景下,需識(shí)別的目標(biāo)類型只有花朵和花苞2 個(gè)類別,訓(xùn)練數(shù)據(jù)集數(shù)量有限,可提取的特征數(shù)也相對較少,理論上此時(shí)101 層卷積與50 層卷的積準(zhǔn)確度差距將縮小,且網(wǎng)絡(luò)的層數(shù)越少時(shí)間效率越高。本研究將在Mask R-CNN中采用ResNeXt50/101和Resnet50/101作為卷積主體進(jìn)行試驗(yàn)分析,確定在柑橘花朵識(shí)別場景下,受自身數(shù)據(jù)集大小限制下進(jìn)行識(shí)別的最優(yōu)卷積主干選擇。
1.2.2 掩膜分支優(yōu)化
Mask R-CNN 論文基于MS COCO 數(shù)據(jù)集(Microsoft common objects in context)8 萬訓(xùn)練數(shù)據(jù)集和3 萬5 千驗(yàn)證數(shù)據(jù)集進(jìn)行80 種物體分類切割,而Mask R-CNN 中的掩膜分支的結(jié)果是m×m×k 的(m 通常為14 或者28,k為實(shí)例類別個(gè)數(shù),即k 為80),代表每個(gè)類別經(jīng)過掩膜分支網(wǎng)絡(luò)都會(huì)生成一個(gè)m×m 的掩膜,這樣的目標(biāo)檢測是已知分類(class-specific/class-aware)的。鑒于在Mask R-CNN 中,分類分支已經(jīng)預(yù)測出物體類別[28],并不需要考慮其他類別的掩膜,所以只需輸出一個(gè)m×m 的掩膜即可,即為未知分類(class-agnostic)的目標(biāo)檢測模式。理論上未知分類模式通過大幅減少邊框回歸參數(shù)量,可大量減少掩膜分支的計(jì)算量,在對實(shí)際精準(zhǔn)度影響不大的前提下能夠節(jié)省訓(xùn)練和檢測時(shí)間,本研究將使用柑橘花朵數(shù)據(jù)集對此進(jìn)行試驗(yàn)和分析驗(yàn)證。
1.2.3 訓(xùn)練模式的優(yōu)化
在原Mask R-CNN 網(wǎng)絡(luò)上,區(qū)域推薦網(wǎng)絡(luò)和網(wǎng)絡(luò)頭部是按照先后順序(stage-wise)分開進(jìn)行訓(xùn)練的,其采用同樣的卷積主干但是彼此不共享數(shù)據(jù)特征。而研究證明,相對按照先后順序分開訓(xùn)練,將區(qū)域推薦網(wǎng)絡(luò)和網(wǎng)絡(luò)頭部(掩膜、邊框及分類分支)合并起來進(jìn)行端到端(end-to-end)的訓(xùn)練在目標(biāo)圖像分割方面能提升0.6 的平均精度,在目標(biāo)分類識(shí)別方面能提升1.2 的平均精度[7],本研究在改進(jìn)后的網(wǎng)絡(luò)上采用此訓(xùn)練模式進(jìn)行試驗(yàn)和分析驗(yàn)證。
平均精度(Average Precision,AP)指標(biāo)可以全面地表達(dá)圖像分割模型的分類器性能,是準(zhǔn)確率和召回值的綜合體現(xiàn),已被廣泛應(yīng)用到目標(biāo)檢測方法的評(píng)價(jià)當(dāng)中[29-30]。本研究采取平均精度和誤差率(Error Rate,ER)作為花朵識(shí)別和花量統(tǒng)計(jì)的性能評(píng)價(jià)指標(biāo)。圖像分割的評(píng)估指標(biāo)是從文本檢索演變而來的。將圖像分割的像素點(diǎn)屬于RoI 的可能性與文本的相關(guān)性相關(guān)聯(lián),就能將文本檢索中性能評(píng)價(jià)指標(biāo)體系代入圖像分割中來。
文本檢索評(píng)價(jià)體系中2 個(gè)重要的評(píng)價(jià)指標(biāo)分別是準(zhǔn)確率和召回率。準(zhǔn)確率和召回率可由判斷正確的正例數(shù)(True Positives,TP)、判斷錯(cuò)誤的正例數(shù)(False Positives,F(xiàn)P)、判斷錯(cuò)誤的負(fù)例數(shù)(False Negatives,F(xiàn)N)、判斷正確的負(fù)例數(shù)(True Negatives,TN)4 個(gè)參數(shù)表示
式中p 為準(zhǔn)確率;r 為召回率。
式中AP 為平均精度??梢钥闯銎骄仁菧?zhǔn)確率在召回率上的積分,通常AP 值越高,分類器性能越好。
圖像分割中,每一類都可以計(jì)算出對應(yīng)的AP 值,分類器能識(shí)別的所有類的AP 值取算術(shù)平均即為平均準(zhǔn)確度均值(Mean Average Precision,mAP),如式(9)所示。
式中Q 為類別數(shù)。
在物體數(shù)量計(jì)算模型的工程應(yīng)用中,整體的誤差率ER,即數(shù)量的預(yù)測值和實(shí)際值的偏差更具有實(shí)際意義。本研究在采用mAP 作為模型評(píng)價(jià)指標(biāo)的同時(shí)也將對誤差率進(jìn)行對比分析。如公式10 所示,誤差率ER 為n 個(gè)測試樣本中每個(gè)樣本i 的實(shí)際值reali和預(yù)測值predicti差值的絕對值與實(shí)際值所成比例的算術(shù)平均。
3.1.1 訓(xùn)練樣本
用NIKON D90 相機(jī)采集椪柑花、溫州蜜柑花、柚子花的照片各500 張(共1 500 張)4 288×2 848 像素的照片,包括花朵及花苞不同角度,不同遮擋程度,不同遠(yuǎn)近程度。照片統(tǒng)一縮小至430×285 像素,用labelme[31]圖像標(biāo)注工具添加掩膜標(biāo)簽,并生成模型訓(xùn)練所需的掩膜圖片、8 位掩碼標(biāo)簽圖片(原始圖片與掩膜相結(jié)合),如圖4 所示。
圖4 柑橘花朵原始圖片、掩膜圖片及其8 位掩碼標(biāo)簽圖片示例 Fig.4 Sample of original picture, mask picture and 8-digital mask label picture of citrus flower
3.1.2 測試樣本
通過手機(jī)、相機(jī)、物聯(lián)網(wǎng)攝像頭拍攝不同大小和清晰度的柑橘花朵照片200 張,用于模型性能驗(yàn)證。人工統(tǒng)計(jì)每張測試圖像中柑橘花朵和花苞個(gè)數(shù),200 張測試樣本中包含1 031 個(gè)目標(biāo)實(shí)體,其中花朵506 個(gè)和花苞525 個(gè)。
1)環(huán)境配置Python3 + Keras + TensorFlow - GPU + CUDA + CUDNN 框架中構(gòu)建Mask R-CNN 模型。
2)參數(shù)設(shè)置GPU 個(gè)數(shù)1;單GPU 同時(shí)處理圖片數(shù)1;分類個(gè)數(shù)1(背景類)+2(花朵、花苞);圖片最小邊像素320,圖片最大邊像素512(最小最大邊像素大于樣本圖片歸一化處理后的285、430,多余部分用空白填充);RPN 錨大小8、16、32、64、128;每個(gè)圖片訓(xùn)練的興趣區(qū)域個(gè)數(shù)(RoIs)為64 個(gè)(其中正樣本區(qū)域個(gè)數(shù)/負(fù)樣本區(qū)域個(gè)數(shù)為1/3,即正樣本數(shù)為總RoIs 的25%—16 個(gè));每個(gè)迭代步數(shù)設(shè)為20;驗(yàn)證步數(shù)20;加載COCO 數(shù)據(jù)集默認(rèn)權(quán)重;網(wǎng)絡(luò)頭部的迭代數(shù)10,learning_rate 為0.001,其他部分迭代數(shù)100,learning_rate為0.000 1。
3)卷積主干對比試驗(yàn):對卷積主干進(jìn)行對比測試,分別 以 ResNet-101+ FPN 、ResNet-50+FPN 、ResNeXt- 101+FPN、ResNeXt- 50+FPN 作為Mask R-CNN 的卷積主干網(wǎng)絡(luò)進(jìn)行模型訓(xùn)練和驗(yàn)證。首先確定卷積主干是否在當(dāng)前樣本條件下可用,即通過損失曲線是否收斂判斷它們的泛化擬合能力;確認(rèn)適用之后,對比它們的平均精度、誤差率及時(shí)間效率,選擇出最優(yōu)主干網(wǎng)絡(luò)。
4)掩膜計(jì)算對比試驗(yàn):在第(3)步的基礎(chǔ)上,以性能較高的兩種卷積網(wǎng)絡(luò)為主干網(wǎng)絡(luò)模,分別采用已知分類和未知分類的掩膜計(jì)算對掩膜分支進(jìn)行優(yōu)化測試,即掩膜層分別取28×28×82(80 種COCO 數(shù)據(jù)集已有的80 類物體和新增花苞、花朵2 類物體,背景類不參與掩膜計(jì)算)和28×28×1,對比采用2 種方法的模型平均精度、誤差率及時(shí)間效率,選擇更適用于本應(yīng)用場景的掩膜計(jì)算方法。
5)訓(xùn)練模式對比實(shí)驗(yàn):分別用“先后順序”和“端到端模式”訓(xùn)練上述經(jīng)過調(diào)優(yōu)的實(shí)例分割模型,對2 種訓(xùn)練模式下的平均精度、誤差率及時(shí)間效率進(jìn)行對比。
將ResNet-101、ResNet-50、ResNeXt-101、ResNeXt-50分別作為卷積主干,對Mask R-CNN 模型進(jìn)行訓(xùn)練和驗(yàn)證,結(jié)果表明:4 個(gè)模型在訓(xùn)練和驗(yàn)證的迭代過程中,分類、邊框和掩膜的訓(xùn)練及驗(yàn)證損失值都呈整體降低趨勢(圖5),均能在100 次迭代之前達(dá)到收斂,并隨著迭代次數(shù)增加保持在(0,0.2)區(qū)間之內(nèi),從圖形趨勢上看4條曲線相差不大。證明4 種卷積主干網(wǎng)絡(luò)組成的實(shí)例分割模型均有較強(qiáng)的擬合及泛化能力。
經(jīng)過擬合泛化能力的確認(rèn),可知4 種卷積主干對本模型和樣本有效可用。在此基礎(chǔ)上,需要通過對比它們對模型整體的性能影響以得到最優(yōu)選擇。由于本模型需要識(shí)別柑橘花朵和花苞2 種物體類型,因此mAP=AP(花朵)+AP(花苞))/2。表1 是不同主體卷積網(wǎng)絡(luò)的AP(IoU取0.5~0.95 閾值下的平均值)、AP50(IoU 取0.50)、AP75(IoU 取0.75)及ER 值的對比。ResNeXt101 作為主干具有最高的精準(zhǔn)度和最低的誤差率,其次為本研究采用的ResNeXt50,它們的AP 值僅相差0.8,ER 相差0.4%,而ResNet101 稍低于ResNeXt50,遠(yuǎn)高于ResNet50。在NVIDIA Quadro M4000 顯卡逐一處理圖片的條件下,AP 值較高的ResNeXt50 和ResNeXt101 耗時(shí)分別為104分鐘和170 min,識(shí)別單張圖像平均耗時(shí)分別為8 和25 s。ResNeXt50 的訓(xùn)練耗時(shí)和識(shí)別耗時(shí)分別為ResNeXt101 的61%和53%,極大程度的提升了花朵圖像的識(shí)別處理速率。耗時(shí)較少的ResNet50 和ResNeXt50 相比,雖然訓(xùn)練時(shí)間和驗(yàn)證時(shí)間ResNet50 都少于ResNeXt50,但差距不大,且ResNeXt50 的精度和誤差率明顯高于ResNet50。因此,可以優(yōu)先采用精度相差不大但耗時(shí)更短的ResNeXt50 作為卷積主干網(wǎng)絡(luò)。
圖5 訓(xùn)練及驗(yàn)證的掩膜損失曲線圖 Fig.5 Training and validation curves of mask loss
表1 柑橘花朵識(shí)別模型中不同卷積網(wǎng)絡(luò)性能試驗(yàn)結(jié)果對比 T able 1 Comparisons of performance of different convolution networks in citrus flower recognition model
在AP、ER 和時(shí)間效率的對比分析后可以確認(rèn)ResNeXt50 和ResNeXt101 都是本研究場景下較優(yōu)的卷積主干網(wǎng)絡(luò),具有較高的精度和較低的錯(cuò)誤率,因此在掩膜分支性能分析中,采用這2 種網(wǎng)絡(luò)作為對照。掩膜分支采用已知分類和未知分類的方法進(jìn)行試驗(yàn),并對模型的精度、誤差率及時(shí)耗性能差異進(jìn)行對比分析,見表2。此時(shí)ResNeXt101和ResNeXt50 的AP 分別為36.6 和35.8,訓(xùn)練時(shí)間消耗為170 和104 min,驗(yàn)證時(shí)間消耗為15 和8 s,識(shí)別的花朵總數(shù)分別為907和903朵,漏數(shù)124朵和128朵,占實(shí)際總數(shù)1 031的12.0%和12.4%,即ER 分別為12.0%和12.4%。改為采用未知分類的掩膜分支之后,ResNeXt101 的AP 與改進(jìn)前相比降低了0.1,ResNeXt50 的AP 與改進(jìn)之前相同,ResNeXt101和ResNeXt50 的誤差數(shù)為125 和129,ER 為12.1%和12.5%,較改進(jìn)前誤差率僅相差1/1031 即不到0.1%;且訓(xùn)練時(shí)間消耗為159 和92 min,較之前降低了6.5%和11.5%,驗(yàn)證時(shí)間消耗為15 和8 s,與改進(jìn)前幾乎相同。本方法采用ResNeXt50作為其主干網(wǎng)絡(luò)并且在掩膜分支中采用未知分類的訓(xùn)練方法,只輸出1 個(gè)掩膜為結(jié)果,在幾乎不損失準(zhǔn)確率、且不增加誤差率的同時(shí)提高了模型訓(xùn)練和圖像處理速率,更具有生產(chǎn)應(yīng)用價(jià)值。
表2 柑橘花朵識(shí)別模型中不同掩膜分支性能試驗(yàn)結(jié)果對比 Table 2 Comparisons of performance of different masks in citrus flower recognition model
通過上述分析,以ResNeXt-50-FPN 為卷積主干網(wǎng)絡(luò),以未知分類的掩膜計(jì)算法構(gòu)建的實(shí)例分割網(wǎng)絡(luò)具有最優(yōu)化的平均精度、誤差率和時(shí)間效率,因而本研究以此為訓(xùn)練目標(biāo),采用不同的訓(xùn)練模式進(jìn)行訓(xùn)練,并對比分析生成的花朵識(shí)別模型性能。在模型結(jié)構(gòu)上,區(qū)域推薦網(wǎng)絡(luò)和網(wǎng)絡(luò)頭部擁有同樣的卷積主干,因此可以進(jìn)行特征共享。本試驗(yàn)對上述對照試驗(yàn)中的最優(yōu)組合(ResNeXt50 + class-agnostic mask)依次進(jìn)行非共享特征的先后順序分開訓(xùn)練(stage-wise training)和二者結(jié)合的端到端訓(xùn)練(end-to-end training)。結(jié)果如表3 所示,端到端訓(xùn)練模型平均精度提高了0.5,誤差率減少了0.6%,訓(xùn)練時(shí)間消耗減少了16.3%,在時(shí)間效率和識(shí)別精度上都有較大提升。由于該模式?jīng)]有改變模型本身的結(jié)構(gòu),因此驗(yàn)證效率沒有改變,仍為8 s。
表3 柑橘花朵識(shí)別模型中不同訓(xùn)練模式的性能差異對比 Table 3 Comparisons of performance of different training modes in citrus flower recognition model
優(yōu)化后的網(wǎng)絡(luò)相對ResNet-101 的原網(wǎng)絡(luò)模型訓(xùn)練時(shí)間減少了50.6%,驗(yàn)證集單張圖片處理時(shí)間減少了63.6%,采用優(yōu)化方法對200 張測試圖像進(jìn)行花量檢測,平均每張照片的處理時(shí)間為7 s。
確認(rèn)了神經(jīng)網(wǎng)絡(luò)的最優(yōu)組合,并經(jīng)過端到端的訓(xùn)練生成柑橘花朵識(shí)別與花量計(jì)算模型,試驗(yàn)采用此網(wǎng)絡(luò)模型,用花量計(jì)算誤差率來評(píng)估模型的花量預(yù)測效果。圖 6a中,實(shí)際花朵數(shù)為31,模型計(jì)算結(jié)果為花朵數(shù)為4,花苞數(shù)為24,即預(yù)測花朵總數(shù)為28(圖6b),花量預(yù)測誤差率為9.68%。由圖6a 可以看出,花朵和花苞分布密集,有明顯的覆蓋和重疊情況,但模型仍然能得到較高的檢測結(jié)果,且漏數(shù)的花朵對象即使通過肉眼也很難分辨。利用本方法對200 張測試圖像進(jìn)行花量檢測,結(jié)果如表4,花量預(yù)測平均誤差率為11.9%,平均單張識(shí)別耗時(shí)為7 s,具有一定的實(shí)際生產(chǎn)應(yīng)用可行性。
圖6 柑橘花朵識(shí)別模型檢測結(jié)果圖 Fig.6 Image output of citrus flower detection model test
表4 花量檢測結(jié)果 Table 4 Result of flower quantity counting
本研究基于Mask R-CNN 框架設(shè)計(jì)了柑橘花朵智能識(shí)別方法,并對不同的主體卷積部分、掩膜分支部分以及網(wǎng)絡(luò)訓(xùn)練模式的優(yōu)化設(shè)想進(jìn)行了對比試驗(yàn)。經(jīng)驗(yàn)證,以ResNeXt50 為主干卷積網(wǎng)絡(luò),采用未知分類的掩膜分支訓(xùn)練方法,以端到端模式訓(xùn)練產(chǎn)生的柑橘花朵識(shí)別及數(shù)量檢測模型,花朵檢測平均精度為36.3,花量計(jì)算誤差為11.9%。同樣的訓(xùn)練集和運(yùn)算環(huán)境下,最終優(yōu)化后的網(wǎng)絡(luò)相對 ResNet-101 的原網(wǎng)絡(luò)模型訓(xùn)練時(shí)間從156 min 減少到77 min,減少了50.6%,驗(yàn)證集單張圖片處理時(shí)間從22 s 減少至8 s,減少了63.6%,在保證較低誤差率和較高精確度的同時(shí),有效降低了模型訓(xùn)練、驗(yàn)證和測試過程中的時(shí)間消耗。
本方法初步實(shí)現(xiàn)了對柑橘植株局部圖片的智能花朵識(shí)別和花量計(jì)算。雖然在識(shí)別誤差率上仍需進(jìn)一步優(yōu)化,但與之前的研究相比,它突破性實(shí)現(xiàn)了大量、密集、高度遮擋的生產(chǎn)場景中柑橘花量的統(tǒng)計(jì),同時(shí)降低了圖形運(yùn)算時(shí)間成本,具有較強(qiáng)的實(shí)時(shí)性,能夠?qū)υ缙诟涕倩靠刂铺峁?zhǔn)確的數(shù)據(jù)支撐,在柑橘的研究和生產(chǎn)領(lǐng)域具有很高的應(yīng)用價(jià)值。
在未來的研究中,可以通過蒙特卡洛[32-33]等方法以局部圖片的花朵數(shù)推測獲得整個(gè)植株的花量,還可以采用本方法對柑橘果園地面圖像進(jìn)行分析,計(jì)算實(shí)時(shí)落花率,為促花保花等生產(chǎn)決策提供數(shù)據(jù)支撐。
致謝:“本文部分柑橘花朵照片由浙江省農(nóng)業(yè)科學(xué)院柑橘研究所徐建國副所長、研究員提供,謹(jǐn)此致謝!”