劉 航 劉 濤 李世娟 李路華 呂純陽 劉升平*
(1.中國農(nóng)業(yè)科學(xué)院 農(nóng)業(yè)信息研究所,北京 100081;2.揚州大學(xué) 農(nóng)學(xué)院,江蘇 揚州 225009)
小麥?zhǔn)鞘澜缟献钪匾募Z食作物,從作物生產(chǎn)角度,估算小麥的產(chǎn)量對監(jiān)測其生長狀況具有重要意義。單位面積麥穗數(shù)是小麥產(chǎn)量的重要指標(biāo),傳統(tǒng)的人工計數(shù)費時耗力。隨著農(nóng)業(yè)信息化技術(shù)的不斷深入發(fā)展,圖像處理技術(shù)被廣泛的應(yīng)用于估算單位面積穗數(shù)。特征提取是麥穗計數(shù)的基礎(chǔ),早期主要是提取麥穗圖像的顏色特征[1-2]、紋理特征[3]等,這些方法雖然容易提取特征,但是對有復(fù)雜背景的圖像難以達(dá)到很好的計數(shù)精度;之后隨著機器學(xué)習(xí)的發(fā)展,已有研究轉(zhuǎn)向利用機器學(xué)習(xí)的方式進(jìn)行麥穗計數(shù),如基于聚類[4]的方法等,建立圖像顏色特征到麥穗數(shù)量的直接分類關(guān)系,統(tǒng)計麥穗數(shù)量。近年來,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network, CNN)的優(yōu)勢日益彰顯,引起了廣泛關(guān)注,它不僅在對象檢測[5]和分割[6]上取得最先進(jìn)的性能,還在解決對象計數(shù)的問題上發(fā)揮了重要作用?;贑NN的回歸計數(shù)方法最早由Lempitsky等[7]提出,是將低層次特征映射到相應(yīng)真值密度圖中,在計數(shù)過程中加入空間信息,建立圖像的回歸模型,最后對密度圖求取積分,得到圖像中物體的數(shù)量。此類方法把對象當(dāng)作整體,有效的解決了對象之間相互遮擋的問題。這種密度圖的思路可以解決許多特定領(lǐng)域的視覺問題,提供較為準(zhǔn)確的對象計數(shù);并且由于在特征提取步驟中需要非常小的時間開銷,使其成為涉及實時處理或處理大量可視數(shù)據(jù)的應(yīng)用程序的良好候選者。在計數(shù)人群[8]、車輛[9]、細(xì)胞[10]、動物[11]和植物[12-15]方面取得顯著的成就。本研究擬采用ResNet-16模型對全球小麥麥穗檢測數(shù)據(jù)集(Global wheat head detection, GWHD)中的麥穗進(jìn)行計數(shù),首先采用卷積高斯核的方式生成與麥穗圖像相對應(yīng)的真值密度圖,然后利用矯正因子δ矯正真值密度圖中的麥穗數(shù)量,對輸入圖片和真值密度圖做相同的數(shù)據(jù)增強操作,從而達(dá)到擴充數(shù)據(jù)集的效果,并引入膨脹因子K避免梯度消失,旨在訓(xùn)練出更適合麥穗計數(shù)的密度回歸模型,以期達(dá)到更好的計數(shù)精度。
隨著卷積神經(jīng)網(wǎng)絡(luò)的不斷發(fā)展,越來越多的CNN模型在圖像識別領(lǐng)域取得了突破性的進(jìn)展。鑒于ResNet網(wǎng)絡(luò)[16]在圖像識別中的優(yōu)越性,本研究的直接回歸模型和基于密度圖的回歸模型均參考ResNet34的網(wǎng)絡(luò)構(gòu)架。ResNet的主要貢獻(xiàn)在于利用殘差學(xué)習(xí)單元有效的解決了隨著網(wǎng)絡(luò)層數(shù)的加深,梯度退化的問題。殘差學(xué)習(xí)單元由殘差塊(Residual block)組成,殘差塊的整體輸出為該殘差塊的輸入加上該殘差塊的線性輸出,并且加入BN[17](Batch normalized)層進(jìn)行歸一化操作,進(jìn)一步避免梯度的消失,減少迭代次數(shù)以加快訓(xùn)練的速度。在殘差學(xué)習(xí)中,若X表示輸入,F(xiàn)(X)表示殘差塊在第二層激活函數(shù)之后的輸出,即F(X)=W2×σ(W1×X),其中W1和W2表示第一層和第二層的權(quán)重,σ表示激活函數(shù)ReLU(Rectified linear unit),則最后殘差塊的輸出為σ(F(X)+X))。這種殘差計算相對于普通網(wǎng)絡(luò)更有利于避免因梯度的消失而造成的網(wǎng)絡(luò)坍縮。
1.1.1網(wǎng)絡(luò)總體結(jié)構(gòu)
基于密度圖的回歸模型的網(wǎng)絡(luò)構(gòu)架借鑒ResNet34層次結(jié)構(gòu),根據(jù)奧卡姆剃刀法則,簡單的和復(fù)雜的方法能達(dá)到相同的效果,那么簡單的方法更可靠。為追尋更簡單的網(wǎng)絡(luò)結(jié)構(gòu),更少的檢測時間,本研究嘗試去掉不必要的殘差塊,減少網(wǎng)絡(luò)參數(shù);在考慮性能的同時,還兼顧網(wǎng)絡(luò)的精度。最后發(fā)現(xiàn):自定義的殘差網(wǎng)絡(luò)ResNet-16不僅網(wǎng)絡(luò)精度較高,而且模型參數(shù)少,能夠達(dá)到預(yù)期的精度要求,網(wǎng)絡(luò)結(jié)構(gòu)見圖1。
該模型參考WRN[18](Wide residual networks),用增加網(wǎng)絡(luò)寬度的方式提高模型性能,前期用7×7的感受野獲取更多有用信息,同時利用改變ResNet34網(wǎng)絡(luò)原有的步長、減少邊緣零填充的方式增強網(wǎng)絡(luò)的特征提取能力,并去除后兩層共計9個殘差塊,增加前2層(Conv2_x,Conv3_x)共計7個殘差塊的寬度,最后利用 1×1 卷積核進(jìn)行降維,實現(xiàn)不同通道上特征的歸一化融合,網(wǎng)絡(luò)輸出密度圖的大小為原來的1/10,與真值密度圖的大小相對應(yīng)。網(wǎng)絡(luò)具體參數(shù)見表1。
Conv1表示第一個卷積層,Conv2_v, Conv3_x表示由多個殘差塊組成的組合模塊,Conv4_x表示最后一個卷積層。表1同。Conv1 represents the first convolutional layer, Conv2_v, Conv3_x represents building blocks composed of multiple residual blocks, and Conv4_x represents the last convolutional layer. Table 1 is the same.圖1 ResNet-16網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Network structure of ResNet-16
表1 ResNet-16網(wǎng)絡(luò)參數(shù)表Table 1 ResNet-16 network parameter table
1.1.2損失函數(shù)
基于密度的回歸結(jié)果和真值密度圖之間采用歐氏距離衡量,選取均方誤差(Mean squared error, MSE)作為模型的損失函數(shù)。在實際訓(xùn)練過程中,鑒于真值密度圖的數(shù)值較小,大多都小于10-4,梯度消失明顯,無法學(xué)習(xí)到圖像特征而過早的收斂,故定義膨脹因子K,保證不會由于真值密度圖總和不會過小,而造成網(wǎng)絡(luò)坍縮。本研究采用的K值為10 000,基于密度回歸的損失函數(shù)定義如下:
(1)
David E等[19]公開了全球小麥麥穗檢測數(shù)據(jù)集(Global wheat head detection, GWHD),該數(shù)據(jù)集包含了4 700張高分辨率RGB圖像,總計標(biāo)注了約190 000的麥穗;這些麥穗圖像采集于2016—2019年,分為幾個不同的麥穗“子數(shù)據(jù)集”,由9家機構(gòu)在10個不同地點收集得來,涵蓋了不同的生長階段,具有廣泛的基因型(圖2)。
GWHD數(shù)據(jù)集涵蓋了一系列生產(chǎn)環(huán)境,有著不同的土壤氣候條件,差異化的種植密度,以及不相等的行間距,并且還設(shè)計了比較灌溉和水分脅迫環(huán)境的試驗。該數(shù)據(jù)集選用的傳感器平臺和相機的拍攝參數(shù)也不盡相同,例如相機焦距,地面采樣距離(Ground sampling distance, GSD),沿圖像對角線的半視場范圍,圖像的采集高度等。正是這些多樣性使得圖像具有廣泛的特性,這將有助于訓(xùn)練深度學(xué)習(xí)模型,增強模型的普適性。各子數(shù)據(jù)集的具體情況見表2。
麥穗真值密度圖的制作方法參考人群計數(shù)[20-22],采用脈沖函數(shù)以及卷積高斯核的方式定義真值密度圖。制作真值密度圖時,根據(jù)麥穗標(biāo)注時外圍的方框的坐標(biāo)值來推算中心點坐標(biāo)值,即麥穗標(biāo)注框的中心點的位置可以表示為:
xi=(xmax-xmin,ymax-ymin)
(2)
式中:xmax表示麥穗標(biāo)注框x軸坐標(biāo)的最大值;xmin表示x軸坐標(biāo)的最小值;ymax表示麥穗標(biāo)注框y軸坐標(biāo)的最大值;ymin表示y軸坐標(biāo)的最小值。本研究用脈沖函數(shù)
(3)
表示具有N個麥穗位置標(biāo)記的圖像,再利用二維高斯函數(shù)
(4)
對麥穗中心點進(jìn)行平滑濾波,則可以得到對應(yīng)圖像的真值密度圖
F(x)=H(x)·Gσ(x)
(5)
在二維高斯濾波函數(shù)中σ表示卷積核的寬度,σ越大圖像越模糊,經(jīng)試驗測試,本研究選定高斯卷積核σ值為10,此時真值密度圖都很好的反應(yīng)了麥穗在圖像中的大體位置,最終生成與原圖同等大小的真值密度圖,見圖3。
表2 GWHD子數(shù)據(jù)集基本情況Table 2 Basic information of GWHD sub-dataset
(a)~(i)表示原始圖像,(a1)~(i1)表示原始圖像與對應(yīng)真值密度圖重合后的圖像。(a)-(i) represent original images, (a1)-(i1) represent truth density maps overlaid on original images.圖3 GWHD中原始圖像與對應(yīng)的密度圖示例Fig.3 Example of original picture and corresponding density map in GWHD
2.1.1數(shù)據(jù)增強
GWHD數(shù)據(jù)集中共有標(biāo)注好的3 444張麥穗圖像,經(jīng)過統(tǒng)計其中49張圖片中沒有麥穗,其余圖像共計147 793個麥穗,平均每張圖片43.2個麥穗。本研究隨機挑選3 144張和300張圖片作為訓(xùn)練集和測試集,首先將輸入圖片都調(diào)整為400像素×400像素,便于模型訓(xùn)練,其次利用數(shù)據(jù)增強的方式擴充圖片的數(shù)量,主要包括±5 °區(qū)間的隨機旋轉(zhuǎn)、水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)等,最后經(jīng)過歸一化處理后送入模型進(jìn)行訓(xùn)練(圖4)。本研究并未采取隨機裁剪來擴充原始數(shù)據(jù)集,從而保證圖中的麥穗數(shù)目不會有偏差。
2.1.2麥穗數(shù)量修正
在基于密度圖的回歸模型中,為了讓真值密度圖中麥穗位置與經(jīng)過數(shù)據(jù)增強后圖像中的麥穗位置相匹配,對真值密度圖也進(jìn)行相對應(yīng)的翻轉(zhuǎn)和旋轉(zhuǎn)操作,保證局部特征的相互對應(yīng)。在以往的計數(shù)方式中,都未對真值密度圖的結(jié)果做修正,但由于圖像插值以及高斯卷積等運算造成的精度丟失,導(dǎo)致真值密度圖統(tǒng)計得到的麥穗數(shù)量總和與真實數(shù)量不符,影響模型的預(yù)測準(zhǔn)確度。因此本研究在真值密度圖變換時加上矯正因子δ,用于修正精度誤差,經(jīng)統(tǒng)計得到,在訓(xùn)練集和測試集上,生成的密度圖的麥穗總和大約都只有圖像中真實麥穗值的91%,經(jīng)過δ矯正后,真值密度圖中麥穗總數(shù)與人工統(tǒng)計數(shù)量保持一致,如表3所示。
表3 經(jīng)矯正和未經(jīng)矯正的麥穗總數(shù)Table 3 Total number of WGHD wheat ears before correction and after correction
2.2.1訓(xùn)練細(xì)節(jié)
所有模型的訓(xùn)練和測試均在中國農(nóng)業(yè)科學(xué)院農(nóng)業(yè)信息研究所的AIStation上完成。硬件配置為Intel xeon e5-2640處理器、Nvidia-Tesla p100(16 GB)顯卡;軟件環(huán)境為Linux系統(tǒng),CNN采用Pytorch框架實現(xiàn),Pytorch版本為1.3.1,Torchvision版本為0.4.2,圖像處理器的引擎CUDA(Compute unified device architecture)版本為10.1。
在模型訓(xùn)練過程中,使用隨機變量來初始化網(wǎng)絡(luò),未采用遷移學(xué)習(xí),模型的初始學(xué)習(xí)率設(shè)為 0.003,并采用Adam(Adaptive momentum)梯度下降算法,每80次迭代更新一次學(xué)習(xí)率,學(xué)習(xí)率每次更新為之前的1/5,使模型訓(xùn)練更容易找到最小值點。模型的訓(xùn)練迭代次數(shù)總計300次,數(shù)據(jù)集的批處理大小設(shè)置為16,模型訓(xùn)練流程見圖5。
圖5 麥穗密度回歸模型訓(xùn)練流程Fig.5 Wheat ear density map regression model training process
2.2.2評價指標(biāo)
評估回歸模型精度,本研究采用均方根誤差(Root mean squared error, RMSE[23])和平均絕對誤差(Mean absolute error, MAE[22]),RMSE用來描述模型的準(zhǔn)確度,它受異常值影響更大,RMSE越小則準(zhǔn)確度越高,MAE能反映出預(yù)測值的誤差情況。鑒于在學(xué)習(xí)過程中定義了膨脹因子K,故需要除以膨脹因子K,得到模型的最終RMSE與MAE為:
(6)
(7)
式中:N表示測試集中所有的圖片數(shù)量;Ci表示對圖片Xi的預(yù)測數(shù)目。麥穗預(yù)測數(shù)目Ci由密度圖中所有像素值的總和統(tǒng)計得到:
(8)
研究中將計數(shù)結(jié)果與圖片中真實麥穗數(shù)量進(jìn)行比對,進(jìn)而統(tǒng)計該方法的麥穗計數(shù)準(zhǔn)確率,設(shè)圖片中標(biāo)注的麥穗數(shù)量為Nt,模型預(yù)測的結(jié)果為Ne,則麥穗計數(shù)準(zhǔn)確率為:
(9)
最終ResNet-16模型的損失函數(shù)趨于收斂,驗證集的最優(yōu)MAE為2.50,RMSE為3.27。計數(shù)準(zhǔn)確率約為94%。
ResNet-16模型預(yù)測的密度圖結(jié)果見圖6,其中(a)和(e)圖像的真實值和預(yù)測值的比值分別為69/70.42 和8/7.9,可見,網(wǎng)絡(luò)的輸出與真值密度圖具有很高的相似度,最終麥穗數(shù)量統(tǒng)計也相差甚少,無論圖像中麥穗密集或稀疏,網(wǎng)絡(luò)都能較為準(zhǔn)確的預(yù)測麥穗數(shù)量,但難免會存在較小的誤差。
為驗證網(wǎng)絡(luò)的可信度,本研究將ResNet-16模型與其他前沿的計數(shù)模型進(jìn)行對比:模型訓(xùn)練過程中,模型初始化與ResNet-16保持一致,使用隨機變量初始化網(wǎng)絡(luò),批處理大小都設(shè)為16,選用相同的學(xué)習(xí)率以及Adam梯度下降算法,并每迭代80次,學(xué)習(xí)率更新為之前的1/5,總迭代次數(shù)為300次。
2.3.1ResNet-34直接回歸驗證
直接回歸模型采用ResNet家族中的ResNet34網(wǎng)絡(luò)構(gòu)架,并未改變原有步長和卷積核大小,只是將最后的分類器調(diào)整為回歸函數(shù),將網(wǎng)絡(luò)輸出改為單一數(shù)值,與圖像中麥穗真實數(shù)值相對應(yīng)。數(shù)據(jù)增強方式與ResNet-16相同,采用MSE作為模型的損失函數(shù),膨脹因子K設(shè)為100,其余網(wǎng)絡(luò)訓(xùn)練設(shè)置與ResNet-16保持一致。本研究中直接回歸的網(wǎng)絡(luò)使用ResNet-34表示法,與原有的ResNet34相區(qū)分。ResNet-34模型的評價指標(biāo)結(jié)果見表4,該模型的RMSE為4.44,MAE為3.30,計數(shù)精度也只有90%,性能不如基于密度回歸的ResNet-16模型。
圖6 ResNet-16的真值密度圖與網(wǎng)絡(luò)預(yù)測的密度圖效果展示Fig.6 Comparison of ground truth and ResNet-16 network prediction
2.3.2密度回歸驗證
MCNN是Zhang等[22]提出的用于人群計數(shù)的模型,使用多種尺度的卷積核來分別提取圖像特征,最后將不同尺度的特征圖進(jìn)行歸一化融合,得到最終的密度圖。TasselNetv2是Xiong等[24]提出用于WSC(Wheat spikes counting)數(shù)據(jù)集計數(shù)的回歸模型,在WSC數(shù)據(jù)集上相對計數(shù)精度達(dá)到91.01%。為了與本研究模型相對應(yīng),分別借用了這些模型的網(wǎng)絡(luò)構(gòu)架,但分別調(diào)整了真值密度圖大小為100像素×100像素和43像素×43像素,也用δ修正了真值誤差,設(shè)置膨脹因子K為10 000,最終結(jié)果見表4??梢园l(fā)現(xiàn),ResNet-16密度回歸模型的預(yù)測精度要高于MCNN和TasselNetv2模型的精度,RMSE和MAE也都明顯優(yōu)于MCNN和TasselNetv2模型。
2.4.1模型精度評價
由表4可以看出,ResNet-16相較于其他計數(shù)模型表現(xiàn)出良好計數(shù)性能,預(yù)測精度高于MCNN模型6個百分點,高于ResNet-34模型4個百分點,模型的MAE與RMSE也達(dá)到了較優(yōu)水平。本研究還繪制了關(guān)于圖像中麥穗真實值與 ResNet-16 模型麥穗預(yù)測值的回歸散點圖(圖7),發(fā)現(xiàn)麥穗真實值與ResNet-16模型麥穗預(yù)測值的回歸效果較好,在麥穗數(shù)量較少時,ResNet-16模型的麥穗預(yù)測值與真實值幾乎完全一致,隨著圖像中麥穗數(shù)量的增加,誤差也在逐漸顯現(xiàn),但兩者總體具有一致性,相關(guān)系數(shù)R2達(dá)到0.973,說明本方法可以有效地進(jìn)行麥穗統(tǒng)計,且能達(dá)到較高的計數(shù)精度。
圖7 測試集中每幅圖像麥穗真實值與ResNet-16模型麥穗預(yù)測值的回歸散點圖Fig.7 Scatter plot of regression between real wheat ear value and predicted value of ResNet-16 model in each image in test dataset
2.4.2模型評價指標(biāo)對比
在CNN中執(zhí)行的計算主要是浮點運算數(shù)(Floating point operations,F(xiàn)LOPs),F(xiàn)LOPs被廣泛用于評價模型的復(fù)雜度[20,22]。當(dāng)采用ResNet-16時,雖然模型的FLOPs略有增加,這是WRN模型的寬度特性所致,但時間上相對于ResNet-34仍略有優(yōu)勢。時間測試由Jupyter的測試工具完成,網(wǎng)絡(luò)輸入均采用3通道400像素×400像素的隨機數(shù)組替代原始圖片,結(jié)果見表5??梢?,ResNet-16模型相較于ResNet-34模型,時間消耗上更占優(yōu)勢,有著更少的的GPU(Graphic processing unit)和CPU(Central processing unit)時間消耗,ResNet-16模型參數(shù)總數(shù)僅為ResNet-34模型的1/4,減少了內(nèi)存的損耗和序列化所需容量,并且ResNet-16的RMSE和MAE僅為直接回歸模型ResNet-34的3/4(表4)。
表5 ResNet-34與ResNet-16模型評價指標(biāo)對比Table 5 Comparison of evaluation indexes between ResNet-34 and ResNet-16 models
本研究針對傳統(tǒng)麥穗計數(shù)效率低、主觀性高等問題,將基于密度回歸的ResNet-16模型引入麥穗計數(shù)領(lǐng)域,用于自動生成麥穗圖像的密度圖,從而統(tǒng)計得到麥穗數(shù)量。針對模型參數(shù)過多,資源消耗大的問題,對ResNet34模型進(jìn)行簡化;針對真值密度圖的計算誤差,利用矯正因子δ加以矯正;此外,還引入膨脹因子K,避免了因模型訓(xùn)練過快而造成的梯度消失。試驗結(jié)果表明:ResNet-16模型的MAE為2.50,RMSE為3.27,相關(guān)系數(shù)R2=0.973,計數(shù)精度高達(dá)94%。相較于MCNN模型和TasselNetv2模型,ResNet-16有著更好的預(yù)測精度,更低的RMSE和MAE,計數(shù)性能也優(yōu)于ResNet-34回歸計數(shù)模型。但從試驗結(jié)果可以看出,隨著圖像中麥穗的增多,模型誤差增大,計數(shù)精度有待提高??傊噍^而言,ResNet-16在計數(shù)的速度和效率上有明顯的優(yōu)勢,計算資源消耗較少,能夠更好的適應(yīng)實時的計數(shù)要求。
本研究實現(xiàn)了基于密度回歸的麥穗快速計數(shù),在一定程度上克服了由于環(huán)境差異對計數(shù)精度的影響;另外簡化了ResNet34模型以便更好的滿足實時計數(shù)的要求。本研究也存在一些不足,圖像中麥穗數(shù)量增多時誤差更為明顯,存在漏檢或者多檢的情況,計數(shù)精度有待進(jìn)一步提高。隨著技術(shù)的進(jìn)步,在后續(xù)的研究中,將會圍繞選用更好的CNN模型,如DensNet、ShuffleNet等,或嘗試在每一層殘差塊中加入空間注意力機制,以及生成密度圖時選用自適應(yīng)的高斯卷積核以及采集更多的麥穗數(shù)據(jù)等方面展開,以增強網(wǎng)絡(luò)的普適性。