史寶坤 李欣 魏春燕 安子湉 杜兵戈
摘 ?要:人工智能是計(jì)算機(jī)領(lǐng)域研究的熱門方向,而深度學(xué)習(xí)作為其中的一個核心領(lǐng)域更是吸引了眾多學(xué)者投入研究。同時我國作為一個傳統(tǒng)的農(nóng)業(yè)大國,土地是一種極其重要的資源。因此如何運(yùn)用深度學(xué)習(xí)技術(shù)讓土地資源的使用更加合理有效極其重要?;诖?,文章對卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展和Mask R-CNN算法的基本原理進(jìn)行了研究,并使用Mask R-CNN算法對農(nóng)田的高分辨率遙感圖像進(jìn)行識別,將農(nóng)田中的每一個地塊識別出來,以實(shí)現(xiàn)對農(nóng)田地塊的合理利用。
關(guān)鍵詞:計(jì)算機(jī)視覺;卷積神經(jīng)網(wǎng)絡(luò);人工智能
中圖分類號:TP391.4;TP183 ? ? ?文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2020)04-0025-03
Abstract:Artificial intelligence is a hot research direction in the field of computer,and deep learning as one of the core areas attracts many scholars to study. At the same time,as a traditional agricultural country,land is an extremely important resource. Therefore,how to use deep learning technology to make the use of land resources more reasonable and effective is extremely important. Based on this,this paper studies the development of convolution neural network and the basic principle of Mask R-CNN algorithm,and uses Mask R-CNN algorithm to recognize the high-resolution remote sensing image of farmland,and recognizes every plot in farmland,so as to realize the reasonable use of farmland plot.
Keywords:computer vision;convolutional neural network;artificial intelligence
0 ?引 ?言
卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)中的重要網(wǎng)絡(luò)結(jié)構(gòu)。在卷積神經(jīng)網(wǎng)絡(luò)發(fā)展的早期,由于缺乏大量數(shù)據(jù)的支持,導(dǎo)致了卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展受到了限制,很難產(chǎn)生理想的結(jié)果。而隨著計(jì)算機(jī)水平的發(fā)展以及COCO數(shù)據(jù)集等大規(guī)模數(shù)據(jù)集的出現(xiàn)打破了這種限制,有關(guān)卷積神經(jīng)網(wǎng)絡(luò)的研究也大規(guī)模地進(jìn)行。而近十幾年,我國的農(nóng)業(yè)信息化、智慧化水平不斷提高。筆者作為農(nóng)業(yè)院校的計(jì)算機(jī)專業(yè)以及應(yīng)用數(shù)學(xué)專業(yè)的本科在讀學(xué)生,運(yùn)用互聯(lián)網(wǎng)技術(shù)尤其是深度學(xué)習(xí)技術(shù)解決農(nóng)業(yè)中出現(xiàn)的問題已經(jīng)成為主要的研究學(xué)習(xí)方向。眾所周知,傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)雖然可以提取高分辨率遙感衛(wèi)星圖片的特征,但適用性和識別結(jié)果都不理想。隨著神經(jīng)網(wǎng)絡(luò)的進(jìn)一步發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)可以提取到更深的特征,其中Mask R-CNN作為一種簡單易于理解且精度高的網(wǎng)絡(luò)已經(jīng)成為主流的實(shí)例分割網(wǎng)絡(luò),適用于遙感圖片的識別,有著很好的適用性和通用性。
1 ?Mask R-CNN算法的簡要介紹
Mask R-CNN作為一種精確的卷積神經(jīng)網(wǎng)絡(luò),其在Fast-RCNN上加入一個Mask分支,并創(chuàng)造性地提出了RoIAlign,替換Fast R-CNN網(wǎng)絡(luò)中的RolPooling。我們可以將其分為三個部分,第一部分對特征進(jìn)行提取,第二部分進(jìn)行候選框的處理,第三部分輸出結(jié)果。三種可供選擇的結(jié)果是覆蓋目標(biāo)的Mask,候選框的位置和候選框內(nèi)物體的分類。如圖1是Mask R-CNN的網(wǎng)絡(luò)結(jié)構(gòu)。
1.1 ?ResNet
進(jìn)行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時,大量的實(shí)驗(yàn)告訴我們并不是網(wǎng)絡(luò)的深度越深結(jié)構(gòu)越復(fù)雜所得到的結(jié)果越好。在網(wǎng)絡(luò)結(jié)構(gòu)不斷加深的過程中,梯度下降和梯度爆炸問題難以避免,反而會致使學(xué)習(xí)的效果下降,為了解決這個問題,2015年由何凱明等人提出了深度殘差網(wǎng)絡(luò)(Deep Residual Network,ResNet)[1]。ResNet網(wǎng)絡(luò)結(jié)構(gòu)中常見的是兩層及三層的殘差學(xué)習(xí)模塊,兩層的殘差網(wǎng)絡(luò)中將兩個3×3的卷積網(wǎng)絡(luò)串聯(lián)在一起,三層的殘差網(wǎng)絡(luò)中將1×1、3×3、1×1的3個卷積網(wǎng)絡(luò)串聯(lián)在一起。該網(wǎng)絡(luò)的創(chuàng)新點(diǎn)是加入了一個直連的通道,進(jìn)行增量學(xué)習(xí),該次的結(jié)果為上一次結(jié)果與最新學(xué)習(xí)的部分之和,從而簡化了學(xué)習(xí)目標(biāo),提高了網(wǎng)絡(luò)的學(xué)習(xí)能力。
1.2 ?FPN
FPN作為該網(wǎng)絡(luò)中重要的一部分,是一個特征金字塔結(jié)構(gòu)。通過該結(jié)構(gòu)可以彌補(bǔ)Fast R-CNN物體檢測算法在處理多尺度變化問題的不足。我們可以將該結(jié)構(gòu)主要分為三部分,一部分自底向上進(jìn)行,每向上進(jìn)行一次,分辨率的大小減少為上一次的四分之一,通道數(shù)增加為原來的二倍。另一部分自上向下,使用雙線性插值的方法進(jìn)行上采樣,將分辨率擴(kuò)大為上一層的四倍,通道數(shù)不變。另外該結(jié)構(gòu)中還有一個側(cè)向鏈接,該鏈接主要用1×1的卷積使自底向上每一階段的圖片的通道數(shù)與自上向下產(chǎn)生圖片的通道數(shù)相同,以進(jìn)行融合。然后經(jīng)過3×3的卷積減少上采樣的重疊效果,最后輸出Feature Maps,其結(jié)構(gòu)如圖2所示。
1.3 ?RPN
Mask R-CNN算法的RPN層,主要進(jìn)行三部分的工作:在第一部分工作中RPN網(wǎng)絡(luò)依靠一個在共享特征圖片上滑動的窗口,在每一個點(diǎn)生成不同比例不同大小的邊框,并對邊框進(jìn)行修正,去掉超過邊界的過大的或者過小的邊框,這些邊框可以將整個Feature Maps進(jìn)行覆蓋;第二部分計(jì)算邊框的得分,并選取一定數(shù)量的目標(biāo)得分高的邊框;在第三部分,計(jì)算損失函數(shù)Loss。要選取合適的錨點(diǎn)計(jì)算損失函數(shù)。在這一過程中要先給錨點(diǎn)打標(biāo)簽。如果一個錨點(diǎn)與Ground Truth的IoU在0.3以下,那么這個錨點(diǎn)就算是背景,我們將其錨點(diǎn)的標(biāo)簽置為0。另外,1為含有目標(biāo)的錨點(diǎn)標(biāo)簽,-1為不采納的錨點(diǎn)標(biāo)簽。然后隨機(jī)選取一定比例一定數(shù)量的錨點(diǎn),以這些錨點(diǎn)為基礎(chǔ)計(jì)算損失函數(shù)。
1.4 ?RoIAlign
Mask R-CNN算法中對RoIPooling進(jìn)行了改進(jìn)。在RoI-Pooling中直接通過四舍五入取整得到的結(jié)果與原圖的輸出存在誤差,導(dǎo)致識別結(jié)果不準(zhǔn)確。而在Mask R-CNN算法中不再使用量化操作,剔除了RoIPooling的取整操作,取而代之的是雙線性插值技術(shù),將特征聚集過程轉(zhuǎn)換為一個連續(xù)過程,形成了新的技術(shù)RoIAlign。最后將處理到同一尺度的結(jié)果,傳入后面的網(wǎng)絡(luò)。該方法有效地減少了量化操作中所帶來的誤差,使得結(jié)果更加的準(zhǔn)確。
1.5 ?輸出結(jié)果
最后使用一個簡單的全連接網(wǎng)絡(luò)前加一個Head,將RoIAlign的輸出緯度擴(kuò)大,更加精準(zhǔn)地獲得Mask分支;進(jìn)行邊框回歸得到Coordinates;使用Softmax分類算法得到Category。在該分類算法中,識別的結(jié)果接近哪個類別,那么哪一類的值就接近1。
2 ?基于PyTorch的Mask R-CNN識別地塊
2.1 ?訓(xùn)練數(shù)據(jù)的準(zhǔn)備
在進(jìn)行正式的訓(xùn)練之前我們需要準(zhǔn)備好數(shù)據(jù)集。本文選取了510張遙感衛(wèi)星圖片,并使用標(biāo)注工具LabelMe對每一張圖片的地塊進(jìn)行精準(zhǔn)標(biāo)注。但由于人工標(biāo)注容易出錯,會使訓(xùn)練結(jié)果產(chǎn)生誤差。標(biāo)注完成后每一張圖片都會生成一個JSON文件,但是該類型的JSON文件并不能夠進(jìn)行直接使用,我們還需要進(jìn)行JSON文件的格式轉(zhuǎn)換,將其轉(zhuǎn)換為COCO數(shù)據(jù)集格式的JSON文件,到此我們就完成了數(shù)據(jù)的準(zhǔn)備工作。隨后我們將準(zhǔn)備好的圖片和其所對應(yīng)的JSON文件分為兩組,一組為410張,進(jìn)行訓(xùn)練,另一組為100張,進(jìn)行驗(yàn)證。我們使用一塊4G的GeForce GTX 1080 Ti顯卡,迭代40 000次,總共訓(xùn)練時長約12 h。
2.2 ?訓(xùn)練效果的評價(jià)
3 ?結(jié) ?論
各式各樣的卷積神經(jīng)網(wǎng)絡(luò)推動著深度學(xué)習(xí)不斷向前發(fā)展。作為卷積神經(jīng)網(wǎng)絡(luò)中的一個主流實(shí)例分割算法,Mask R-CNN在目標(biāo)檢測、人體姿態(tài)識別方面都有著很好的效果,靈活且易于掌握。本文中用Mask R-CNN進(jìn)行網(wǎng)絡(luò)訓(xùn)練和識別地塊的效果較好,但在地塊邊緣仍存在識別不精準(zhǔn)的情況。對此,可以擴(kuò)大訓(xùn)練集的數(shù)量以及提高人工標(biāo)注的準(zhǔn)確度來取得更好的識別效果。
參考文獻(xiàn):
[1] 陳建廷,向陽.深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練中梯度不穩(wěn)定現(xiàn)象研究綜述 [J].軟件學(xué)報(bào),2018,29(7):2071-2091.
[2] HE K M,ZHANG X Y,REN S Q,et al. Deep residual learning for image recognition [C]//IEEE Conference on Computer Vision and Pattern Recognition,2016:770-778.
作者簡介:史寶坤(1998-),男,漢族,河北承德人,本科在讀,研究方向:計(jì)算機(jī)科學(xué);李欣(1999-),男,漢族,河北保定人,本科在讀,研究方向:軟件工程;魏春燕(1999-),女,漢族,河北石家莊人,本科在讀,研究方向:電子信息科學(xué)與技術(shù);安子湉(2000-),女,漢族,河北保定人,本科在讀,研究方向:電子信息科學(xué)與技術(shù);杜兵戈(2001-),女,漢族,河北石家莊人,本科在讀,研究方向:數(shù)學(xué)與應(yīng)用數(shù)學(xué)。