天天看點

輕量級深度卷積神經網絡在農業機器人中的應用

在本文中,作者提出了學習輕量級模型的一個非常新穎的方式,在實作精度超過 90% 的同時讓訓練速度快了一個數量級,讓參數也少了一個數量級。作者主要使用了以下三個步驟:

1). 将預先訓練好的模型适應于手頭的任務中。

2). 在适應的模型中使用模型壓縮技術來學習到一個具有更少參數的輕量級深度卷積神經網絡(DCNN)

3). 作者将 K 個輕量級模型結合起來作為一個混合模型來提高輕量級模型的性能

最後,這個方法被用在了農業機器人中,并取實作了良好的性能。

簡介

如今農業機器人的使用在穩步增長,例如圖 1 所示的 AgBot Ⅱ [1],它幫助進行雜草檢測和分類,以及 Harvey[2],可以用來進行檢測和分割作物。目前的雜草分割方法是把形狀和像素統計特征相結合,使用一個随機森林分類器來做分類。因為機器人平台的資源是有限的,是以很難部署深度卷積神經網絡,并且用有限的資料去訓練深度神經網絡也是很困難的。使用最先進的網絡所需要的計算能力是那些常見機器人負擔不起的。這篇文章在複雜度和準确度之間做了一個折中,并通過以下步驟解決了這個問題。首先,開發者把一個預先訓練好的模型 Inception-v3[3] 适應在這個任務中。然後,他們使用模型壓縮和「蒸餾」技術實作了指數級減少的參數。最後,基于之前的工作 [4],作者将一組 K 個輕量級模型結合成了一個混合模型來提升性能。

輕量級深度卷積神經網絡在農業機器人中的應用

圖 1:上邊是 AgBot Ⅱ,它在執行雜草管理;下面是 Harvey,它是一個機器人甜椒收割機

這個方法在雜草分割上實作了可觀的結果。Adapted-IV3 模型将準确率從 85.9% 提升到了 90.3。并且,對于 K=4 的輕量級深度卷積神經網絡,它能夠在使用更少的參數和更快的幀率時實作 90.3% 的準确率,

作者提供了一份詳實的綜述,論述了這個新穎思想的曆史以及導緻這個思想的方法。他們還提供了對目前的學習特征和模型壓縮這兩個技術的趨勢的優劣分析。這不是這篇論文的重點,是以在這裡不會深入細節。如果你對這篇論文感興趣,它值得一讀。

提出的方法

新方法主要是一個被分為三步的過程,這個過程在速度和記憶體大小之間做了精确的折中。這個方法被用來有效地解決諸如 AgBot II 這種機器人平台的雜草分割問題。滑動視窗的次元在彩色圖像上是 81 × 81 × 3(因為彩色圖像是三通道的),視窗中間的像素就被判斷為要麼是作物,要麼是雜草。由于大多數機器人視覺問題都是稀疏問題,是以全連接配接神經網絡(FCN)沒有被使用。這篇論文中的稀疏問題指的是雜草分割僅僅需要對包含植被的像素做出分類,是以作者做出了關于他們為何沒有使用全連接配接神經網絡的解釋,因為全連接配接神經網絡是針對密集決策(對每一個像素)來設計和訓練的。作者用圖 2 解釋了什麼是稀疏問題。

輕量級深度卷積神經網絡在農業機器人中的應用

圖 2:一個具有挑戰性的雜草 vs 作物的分割問題。上面的圖檔是原始圖像,下面是對應的事實,其中綠色代表作物,紅色代表雜草

現在我要簡要地描述一下這三個摘要過程。

A. 遷移學習:适應複雜的預訓練網絡

就像在這個例子中一樣,如果你隻有有限的資料來訓練一個神經網絡,最好的方法就是拿一個預先訓練好的模型并将其适應在你的任務中。有名的幾個常被使用的預訓練網絡是:VGGnet、GoogleNet 等等。在這篇論文中,作者使用了 GoogleNet 的最新版本--Inception-v3,與其他模型相比,它是一個更小的模型。随後作者将原始圖像進行了重采樣,以讓它與 Inception-v3 模型所需要的尺寸相比對。

B. 模型壓縮:訓練輕量級深度卷積神經網絡

輕量級深度卷積神經網絡在農業機器人中的應用

圖 3:對 AgNet 和 MiniInception DCNNs 的描述。上面是一個 AgNet 模型,它是一個由 8 個深度卷積層和一個全連接配接層組成的深度模型。模型的深度是輕量級的,并且擁有少于 25 萬的參數。下面是 MiniInception 模型,它與 AgNet 有着類似的結構,然而,後者的卷積層結合了兩個感覺模型 (圖中高亮的部分)。這使得模型會更加複雜,擁有 510 萬個參數。

盡管 Inception-v3 擁有 25 萬個參數(這已經遠遠少于其他模型了),但是它仍然需要模型壓縮技術。這裡,将過程 A 中的模型作為「教師網絡」,然後從中學習到一個輕量級的「學生深度卷積神經網絡」。為了訓練這個模型,使用了學生網絡和事實之間的損失函數,以及教師網絡和學生網絡的邏輯輸出之間的 L2 損失。作者考慮了兩種潛在的結構,第一個包含 8 個卷積層和 1 個全連接配接層,它與 AlexNet 類似,你可以在圖 3 中看到細節。第二個網絡結構包含 4 個卷積層,并在後面還跟随着 2 個感覺模型和一個全連接配接層 (類似于 GoogleNet),你可以在圖 3 的底部看到。圖 4 中描述了 4 個子模型。你可以在圖 4 的解釋中看到細節。

輕量級深度卷積神經網絡在農業機器人中的應用

圖 4:我們所用的感覺模型,它包括四個子模型 (a)-(d)

參數的細節如表 1 所示。

表Ⅰ:用在子模型中的兩個感覺網絡的參數數量

輕量級深度卷積神經網絡在農業機器人中的應用

C. 深度卷積神經網絡的混合群組合

在這篇論文中,通過結合這些輕量級模型提升了性能。通過平均決策,它可以以較低的成本提升性能。首先,基于最大邏輯值計算占用機率:

輕量級深度卷積神經網絡在農業機器人中的應用

然後,如公式 2 所示,我們得到了最終的分類,它是在對應的占用機率下的權重和。

輕量級深度卷積神經網絡在農業機器人中的應用

實驗結果

作者利用這個方法解決了機器人平台中的雜草分割問題。并且這個模型在 tensorflow 中得到了實作。Adam 優化器的參數如下所示

  • 學習率 (learning rate): γ = 1e−4, ε = 0.1
  • 批處理大小 (batch size) :b = 60 
  • 下降率 (drop out rate) :50%.

1. 雜草分割的準确度

作者使用了公開的訓練資料及「Crop/Weed Field Image Dataset (CW-FID)」,它包括 20 張訓練資料和 40 張測試資料。作者還将結果與 Haug 和 Ostermann 的工作 [5] 做了比較,Haug 和 Ostermann 在特征上訓練了一個随機森林。我們可以在表 2 中看到細節結果,它表明文中提出的所有深度學習方案都要好于之前提出的方法。Adapted-IV3 模型得到了最高的準确率,大約是 93.9%,然而 Haug 和 Ostermann 達到的準确率是 85.9%。

表Ⅱ:不同的模型在 CW-FID 資料集上的準确率

輕量級深度卷積神經網絡在農業機器人中的應用
2. 輕量級深度卷積神經網絡的混合

這裡,作者還結合了多個輕量級的模型,例如 Mix-AgNet 和 Mix-MiniInception。與使用集合模型相比,MixDCNN 方法提供了 0.15% 的性能提升。對單 GPU 而言,也沒有增加模型複雜度。在表Ⅱ中,可以看到,通過增加 K(模型的數量),全局性能得到了提升,但是相對性能卻降低了。K=4 的 AgNet DCNNs 在模型複雜度和準确度之間是一個不錯的折中。在圖 5 中你可以看到可視化的結果,描述了 3 個深度卷積神經網絡模型:AgNet、MixAgNet(K = 4)以及 Adapted-IV3。

輕量級深度卷積神經網絡在農業機器人中的應用

圖 5:三種深度學習方法的例子:紅色代表雜草,綠色代表作物。每一行從左到右依次是:實際結果、Agnet 模型、MiniInception 模型、Mix-AgNet(K=4)、Mix-MiniInception(K=2)以及 Adapted-IV3 模型。每一行代表一張不同的圖檔,最後一行代表一個失敗的案例。

3. 速度和模型複雜度

表Ⅲ展示了每秒鐘可以被處理的區域的數量。我們發現,模型越簡單,每秒處理的區域數越多。複雜度會随着模型數量的增加而增加,這會降低每秒鐘處理的區域數量。為了維持它們之間的平衡,我們選擇了 K=4 時候的 Mix-AgNet 模型以及 K=2 時候的 Mix-MiniInception 模型。我們也可以發現,考慮到速度和複雜度,AgNet、Mix-AgNet 和 Mix-MiniInception 這三種方法也具有被部署到機器人平台上的潛力。

表Ⅲ:參數的數目以及每秒鐘可以處理的區域的數量

4. 速度和模型複雜度

輕量級深度卷積神經網絡在農業機器人中的應用

結論

這篇論文提供了一個可訓練被用在機器人平台上的深度卷積神經網絡的新方式。論文有着全面的文獻綜述和清晰的圖表,這可以讓讀者更容易地了解背景資訊以及實作這個方法的細節。盡管作者并沒有告訴我們他們為什麼要用這種方法,但是這篇論文給我們提供了一個思考和使用深度神經網絡的新方法。正如作者在論文末尾建議的一樣,我們可以嘗試更多的方法來提升性能,但是這篇論文的價值在于它提供了可以被接受并且應用在日常生活中的研究結果。

繼續閱讀