• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于深度學(xué)習(xí)的白菜田雜草分割

      2020-05-16 09:15:58蔣紅海孫騰飛王春陽尚建偉
      軟件 2020年4期
      關(guān)鍵詞:白菜雜草損失

      喻 剛,蔣紅海,孫騰飛,王春陽,尚建偉

      (昆明理工大學(xué) 機電工程學(xué)院 云南 昆明 650504)

      0 引言

      我國是一個以農(nóng)業(yè)為主的國家,促進農(nóng)產(chǎn)品的發(fā)展具有很大的意義,而白菜有作為生活中常見的蔬菜之一,廣受人民的喜愛,但是白菜的生長經(jīng)常受到雜草的影響,田間雜草憑借其強悍的生存能力不且與白菜掠奪土壤養(yǎng)分和空間陽光等[1],而且有些雜草還是許多病蟲的中間宿主,促使田間病蟲害的發(fā)生。所以,田間除草對于提高白菜的質(zhì)量和產(chǎn)量具有重要的意義。

      目前田間雜草管理方法大致包括人力除草、噴灑化學(xué)除草劑和傳統(tǒng)農(nóng)耕機械除草三種方式。隨著智能除草機器人的出現(xiàn),在一定程度上代替?zhèn)鹘y(tǒng)除草方式,不僅提高了生產(chǎn)效率,同時也減少了農(nóng)民的田間勞作時間和化學(xué)除草劑的噴灑,降低了農(nóng)業(yè)生產(chǎn)成本,減少環(huán)境的破壞。近些年來,許多學(xué)者對除草算法進行了深入研究。關(guān)強等人[2]在田間植物圖像的分割中使用二維OTSU算法對植物部分和背景部分進行處理,根據(jù)RGB 顏色模型和HSV 顏色模型的灰度化使用5種不同的圖像分割算法;胡波等人[3]通過引入像素灰度級和鄰域灰度級構(gòu)成的二維直方圖,提出了一種彩色圖像算法進行雜草分割。Arefi等人[4]基于圖像形態(tài)學(xué)和顏色,使用RGB和HSI顏色模型定義雜草顏色特征,采用兩種形態(tài)學(xué)特征對雜草進行識別。

      上述圖像處理方法主要根據(jù)顏色特征或直方圖對雜草圖像進行分割,容易受到環(huán)境的影響。所以本文將深度學(xué)習(xí)引入雜草識別領(lǐng)域,應(yīng)用 Mask R-CNN算法對雜草及白菜幼苗進行分割識別,并與傳統(tǒng)圖像算法對比。實驗結(jié)果表明,該算法在自然環(huán)境下能對雜草和作物進行有效的識別。

      1 Mask R-CNN算法原理

      圖像分割是在檢測出圖像中被測物位置并分類

      的前提下,對被測物進行像素級別的分割。所以圖像分割可以看作物體識別和語義分割的結(jié)合,它不僅要正確的找到圖像中的物體進行識別,還要對其精確的分割。結(jié)合Faster R-CNN的圖像分割和FCN語義分割算法,何愷明等研究員[5],提出了如圖 1所示的分割算法Mask R-CNN,它從Faster R-CNN模型中借用了兩個方面。首先是提取圖像框(RPN),用來產(chǎn)生候選對象框。然后是作類別和邊框預(yù)測,給每個RoI都輸出一個二值掩模。其模型示意圖如圖所示。

      圖1 Mask R-CNNFig.1 Mask R-CNN

      1.1 RPN網(wǎng)絡(luò)

      RPN是通過一個全卷積神經(jīng)網(wǎng)絡(luò)來實現(xiàn)的,其輸入是一幅特征圖像,輸出的是一組帶有對象得分的目標推薦矩形,與目標檢測中的ss算法[6]類似?;鶞士蛟诙啻尉矸e后的特征圖上滑動后映射到一個低維特征上,然后,這個低維特征被輸入到邊框回歸層和邊框分類層,最終生成一組有編號和坐標的錨框。

      RPN在每一個滑動窗口位置同時預(yù)測多個區(qū)域枚舉,并將最大可能枚舉數(shù)目記錄為 k。所以 reg層用4k輸入編碼k幀坐標,cls層輸出2k得分以估量每個枚舉是否是目標對象。特征圖中每個紅色框的中心點可以對應(yīng)于原始圖像中的像素點。對于每個錨點,選擇9個不同大小和寬高比的矩形,一般為128*128,256*256,512*512的三種尺寸,每種尺寸按1∶1,1∶2,2∶1的長寬比縮放,并且它們的預(yù)測順序被固定為要評估的RPN的候選框。其中具有最大重疊率的錨點被記錄為前景樣本,并且如果剩余錨點與某個校準重疊,則其大于0.7,記為前景樣本; 如果它與任何校準重疊,則該比率小于0.3,將其記錄為背景樣品。而介于 0.3~0.7之間的錨點棄用。構(gòu)造好錨點之后,訓(xùn)練RPN的問題就可以轉(zhuǎn)化為最小化一個多任務(wù)損失函數(shù)。

      1.2 掩模分支

      Mask R-CNN采用了一個全卷積網(wǎng)絡(luò)的掩模(mask)分支[7],與對象分類同時進行,對特征圖進行像素級的分割。掩模分支在每個RoI上產(chǎn)生一個Km2維輸出,為K個類別各編碼一個m*m的二值掩模。掩模損失是一個用像素級 sigmoid定義的交叉熵損失,記為Lmask。

      Sigmoid函數(shù)定義:

      交叉熵損失函數(shù)定義如公式:

      其中,x表示樣本,y表示真實值,a表示輸出值,n為樣本總數(shù)。

      整體損失函數(shù)表示為:

      1.3 特征提取

      圖片輸入到 Mask R-CNN網(wǎng)絡(luò)后,首先經(jīng)過ResNet分類網(wǎng)絡(luò),并從整幅圖片中提取特征。特征提取的操作一般包括卷積層、Relu激活函數(shù)和池化層[8],經(jīng)處理后得到特征圖。

      (1)卷積操作是讓權(quán)值矩陣在圖像上按照固定的步幅移動,權(quán)值矩陣每停下一個位置,就讓權(quán)值矩陣中每個值與圖像中對應(yīng)的元素進行矩陣運算,得到的值就是這一步卷積層對應(yīng)位置的值;同時卷積還能實現(xiàn)參數(shù)共享,減少計算量。圖像中需要通過不同尺寸的的卷積核來提取相應(yīng)的維度特征。

      (2)ReLU激活函數(shù)是校正線性單元函數(shù),它是神經(jīng)網(wǎng)絡(luò)中經(jīng)常出現(xiàn)的一種激活函數(shù),其表達式為:

      (3)Mask R-CNN采用了一種RoIPool擴展層的池化操作,稱為RoIAlign層,它摒棄了RoIPool的粗糙量化,通過插值在每個RoI網(wǎng)格的四個規(guī)則采樣位置計算輸入特征的精確值,在進行最大池化或平均池化的聚合處理。

      2 數(shù)據(jù)采集與超參數(shù)設(shè)置

      2.1 數(shù)據(jù)集

      在kaggle官網(wǎng)公布了現(xiàn)有唯一的室內(nèi)培育的雜草幼苗數(shù)據(jù)集,本文選取其中田間最常見的三種雜草幼苗各200張:田芥菜、馬齒莧和白花藜,為了防止數(shù)據(jù)集單一,產(chǎn)生過擬合現(xiàn)象,數(shù)據(jù)集中加入野外雜草幼苗照片每類各50張。本文搜集白菜幼苗50張,并實際拍攝100張.由于白菜幼苗的圖片較少,所以本實驗需要對圖片數(shù)量進行數(shù)據(jù)擴充到 250張。數(shù)據(jù)擴充的方式有很多,包括圖像的水平翻轉(zhuǎn)、移動、增加噪聲、改變對比度、變換尺寸、色彩抖動等[9],在數(shù)據(jù)集上采取這些數(shù)據(jù)擴充的方法,可以有效地提高網(wǎng)絡(luò)的泛化能力,降低錯誤率。變換效果圖如圖2所示。

      圖2 數(shù)據(jù)擴充Fig.2 Data amplification

      2.2 超參數(shù)的選擇

      (1)Epoch和Batch Size

      在深度學(xué)習(xí)中,訓(xùn)練集對網(wǎng)絡(luò)訓(xùn)練一次是不能完全使網(wǎng)絡(luò)收斂的,所以需要多次訓(xùn)練,它根據(jù)數(shù)據(jù)集中對象的多樣性來確定,本次實驗選取三種雜草和一種蔬菜,對象的復(fù)雜度較低,所以選取Epoch值為100。

      在整個 Epoch中需要訓(xùn)練的數(shù)據(jù)集數(shù)量過于多,計算機可能無法承載,所以需要將它分成很多個較小的Batches。本次實驗選擇在電腦上訓(xùn)練,電腦CPU是英特爾志強X5570,主頻2.93 GHz;顯卡是NVIDIA GeForce 1050Ti,顯存容量為6 GB,顯存位寬64bit,實驗將Batch Size的值設(shè)置為2。本文完成一輪迭代所需要的批次大小記為Iterations。

      (2)學(xué)習(xí)率

      學(xué)習(xí)率是控制深度學(xué)習(xí)中權(quán)值的更新速率的一個參數(shù),它直接決定了權(quán)值沿梯度方向下降的變化情況。它對權(quán)重的變化可以表示為:

      其中newω是更新后的權(quán)重,oldω是更新前的權(quán)重,α為學(xué)習(xí)率,gradient為梯度。

      首先,實驗分別選取學(xué)習(xí)率 0.1、0.01、0.001作為第一輪訓(xùn)練的學(xué)習(xí)率,來測試網(wǎng)絡(luò)整體損失函數(shù)變化。從圖3可以看出,當學(xué)習(xí)率α=0.1時,總損失函數(shù)值迅速下降,網(wǎng)絡(luò)快速擬合,訓(xùn)練結(jié)果與真值之間的差值變小的速率很高,但當訓(xùn)練的批次達到100次以上時,損失函數(shù)值略有升高,并且在以后的訓(xùn)練過程后期呈震蕩趨勢。損失函數(shù)數(shù)值整體趨勢呈現(xiàn)先降低后震蕩的趨勢,這是因為學(xué)習(xí)率過大,導(dǎo)致梯度出現(xiàn)震蕩,網(wǎng)絡(luò)較難收斂。當學(xué)習(xí)率α=0.001時,損失函數(shù)整體呈下降趨勢,但下降速率低于α=0.1時的速率。當學(xué)習(xí)率α=0.00001時,損失函數(shù)值下降速度極為緩慢,這是因為學(xué)習(xí)率很低,權(quán)重更新速度慢,致使網(wǎng)絡(luò)收斂速度變慢。

      圖3 α-lossFig.3 α-loss

      本實驗使用網(wǎng)絡(luò)在COCO數(shù)據(jù)集上訓(xùn)練得到的參數(shù)作為初始值,網(wǎng)絡(luò)初始就具有一定的收斂,因此初始學(xué)習(xí)率設(shè)為0.001,每兩輪訓(xùn)練后降低50%。

      (3)網(wǎng)絡(luò)正則化

      深度學(xué)習(xí)的一個核心問題是怎樣使學(xué)習(xí)算法新的數(shù)據(jù)集上有優(yōu)異的表現(xiàn),這通常被稱為“泛化能力”。往往深層網(wǎng)絡(luò)在訓(xùn)練集中表現(xiàn)優(yōu)異,但在測試集中的表現(xiàn)卻差強人意,這種由于網(wǎng)絡(luò)出現(xiàn)了過擬合現(xiàn)象,而利用“正則化”可以有效的避免過擬合的發(fā)生,提高泛化能力[10]。

      l2正則化:假設(shè)網(wǎng)絡(luò)層參數(shù)為ω,則公式可表示為

      其中參數(shù)λ是決定正則項的大小,較大的λ值會在一定程度上約束模型復(fù)雜度,反之則亦然[11]。

      l1正則化:

      l1正則化不但能限制參數(shù)量級之外,同時還能讓許多參數(shù)稀疏化,減少模型中的噪點和存儲空間。隨機失活是正則化中一種重要方法,本文將失活率設(shè)置為0.5。

      綜合以上分析,本次實驗采用的超參數(shù)數(shù)據(jù)如表1所示:

      表1 超參數(shù)Tab.1 Superparameter

      經(jīng)上文分析后,確定深度網(wǎng)絡(luò)訓(xùn)練的超參數(shù)。本實驗將800張白菜幼苗和三類雜草幼苗圖像作為訓(xùn)練集對網(wǎng)絡(luò)進行訓(xùn)練,200張作為測試集驗證識別效果。

      3 結(jié)果與分析

      3.1 損失函數(shù)變化情況

      首先,將 800張標注完成的照片投入到 Mask R-CNN卷積神經(jīng)網(wǎng)絡(luò)中訓(xùn)練,觀察訓(xùn)練過程中總損失函數(shù)變化情況,評價網(wǎng)絡(luò)擬合程度。圖4是在100輪訓(xùn)練過程中損失函數(shù)數(shù)值變化數(shù)據(jù)。從圖4展示的數(shù)據(jù)變化圖不難看出,loss值在前25輪訓(xùn)練中下降較快,這是由于學(xué)習(xí)率比較高,網(wǎng)絡(luò)參數(shù)更新速度較快。在隨后的25輪訓(xùn)練中,α逐漸減小,loss值整體趨勢雖然在下降,但是下降速度減小。在50-80輪訓(xùn)練中,loss值下降速度略有增加,網(wǎng)絡(luò)繼續(xù)收斂,當訓(xùn)練到80輪后,loss值趨于平穩(wěn),直至100輪,loss變化微小,網(wǎng)絡(luò)趨于穩(wěn)定。

      圖4 損失函數(shù)變化情況Fig.4 Loss function variation

      3.2 實驗對比

      神經(jīng)網(wǎng)絡(luò)訓(xùn)練完成后,實驗將200張未標注的植物照片作為測試集,投入到網(wǎng)絡(luò)中測試準確率。本文將識別結(jié)果分為三個級別:定位和分類準確,且分割出植物主體95%以上的設(shè)為優(yōu)秀;分類準確,定位框出現(xiàn)偏差或分割不完全的設(shè)為合格;出現(xiàn)定位框偏離物體較大或分類錯誤,即設(shè)為不合格。表2為基于Mask R-CNN算法的各級別所占比例:

      表2 各級別占比Tab.2 Percentage by grade

      下圖是基于 OTSU閾值分割與基于 Mask R-CNN的識別效果的對比圖像。

      在第一組照片中,兩種方案都有效識別,但Mask R-CNN算法的識別精度較高,對于雜草的定位和分割都較為準確。在第二組圖像中,由于光照影響,OTSU閾值分割算法在白菜細小葉柄部分產(chǎn)生了過分割現(xiàn)象,將小葉片識別為雜草,這是由于強光照照射在物體和地面上,致使物體本身特征發(fā)生了變化,難以識別。而Mask R-CNN算法對白菜和雜草識別準確。在第三組照片中,白菜葉片遮擋了雜草區(qū)域,OTSU閾值分割算法未能將白菜與雜菜分割,進而在識別過程中將二者識別為一個整體;而 Mask R-CNN算法有效識別出連接的雜草和白菜,并且定位準確。所以,Mask R-CNN算法在處理復(fù)雜環(huán)境時表現(xiàn)更優(yōu)。

      圖5 分割對比Fig.5 Segmentation effect

      4 結(jié)論

      本文將深度學(xué)習(xí)引入雜草分割領(lǐng)域,詳細介紹了Mask R-CNN神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),并將該網(wǎng)絡(luò)用于雜草與白菜的實例分割,得到了81%的合格率。與基于OTSU閾值分割的雜草識別方案進行對比,Mask R-CNN不僅能在不同光照下準確識別圖像中物體種類,同時在作物葉片相互遮擋的情況下也能很好的識別和定位雜草,實現(xiàn)了戶外環(huán)境下的圖像定位和分類,證明了該算法在自然環(huán)境能對雜草和作物進行有效的識別。同時,Mask R-CNN算法結(jié)構(gòu)還避免了傳統(tǒng)圖像識別過程中的分類器設(shè)置工作,有效的提高算法的適應(yīng)性。

      猜你喜歡
      白菜雜草損失
      拔雜草
      科教新報(2022年22期)2022-07-02 12:34:28
      一棵白菜
      少問一句,損失千金
      開水白菜
      小讀者(2021年6期)2021-11-23 09:43:34
      神奇的“白菜換裝”
      胖胖損失了多少元
      玉米抽穗前倒伏怎么辦?怎么減少損失?
      一般自由碰撞的最大動能損失
      畫說“白菜”
      新聞傳播(2015年12期)2015-07-18 11:02:41
      水稻田幾種難防雜草的防治
      浠水县| 专栏| 平遥县| 贵溪市| 通州区| 日土县| 科技| 禄劝| 调兵山市| 阳谷县| 张家界市| 新余市| 西安市| 全州县| 卓尼县| 墨玉县| 朝阳区| 洞口县| 潞西市| 于田县| 麻栗坡县| 九龙城区| 广州市| 大石桥市| 屯门区| 温宿县| 扬州市| 静乐县| 偏关县| 莱芜市| 连江县| 分宜县| 肃南| 阳曲县| 古交市| 凤翔县| 马山县| 乡城县| 康平县| 安阳市| 新和县|