侯枘辰,劉 瑜,廉 華,鞏彥麗
(浙江理工大學(xué) 機(jī)械與自動(dòng)控制學(xué)院,浙江 杭州 310018)
隨著經(jīng)濟(jì)社會(huì)發(fā)展進(jìn)程的加快,人們對(duì)于環(huán)境的要求從最基礎(chǔ)的滿足生存需求轉(zhuǎn)移到了滿足發(fā)展需求。隨著綠化草坪面積的不斷增加,草坪養(yǎng)護(hù)的工作量也日益增多,草坪養(yǎng)護(hù)的過程中,修剪是一項(xiàng)量大且枯燥的工作?;谏a(chǎn)率提升的需求,使得該工作亟需自動(dòng)化程度、安全性能好的智能割草機(jī)器人設(shè)備。目前大部分的草坪場(chǎng)景都是在城市內(nèi),場(chǎng)景較為復(fù)雜,草坪形狀不一,草坪上可能會(huì)有各種的障礙物,草坪附近可能有停車、有行人。這給智能移動(dòng)割草機(jī)器人的自主導(dǎo)航與避障帶來較大的困難,因此研究草坪復(fù)雜場(chǎng)景的理解識(shí)別變得尤為重要。場(chǎng)景理解[1]是對(duì)圖像場(chǎng)景中各類對(duì)象進(jìn)行像素級(jí)的分割,是智能割草機(jī)器人設(shè)備研究中基礎(chǔ)且關(guān)鍵的技術(shù)之一,可以準(zhǔn)確地識(shí)別出環(huán)境中的障礙物,分辨出需要工作的區(qū)域,為之后的自主導(dǎo)航和避障提供支持。
近年來,深度學(xué)習(xí)成為圖像分割的重要方式[2],加州伯克利分校的Shelhamer等提出用于圖像分割的全卷積網(wǎng)絡(luò)FCN(fully convolutional networks)[3],第一次將深度學(xué)習(xí)應(yīng)用到圖像分割領(lǐng)域,主要思想是使用卷積操作代替分類任務(wù)中的全連接層,以及上采樣操作將特征圖還原至原始尺寸;劍橋大學(xué)機(jī)器智能實(shí)驗(yàn)室提出了SegNet網(wǎng)絡(luò)[4],該網(wǎng)絡(luò)將圖像分割分成了編碼階段和解碼階段,可以更準(zhǔn)確地將特征還原至原始位置;Chen等提出了DeepLab圖像分割模型[5],先通過全卷積網(wǎng)絡(luò)粗提取特征,再通過全連接條件隨機(jī)場(chǎng)優(yōu)化,得到精確的分割圖;Lin G等人設(shè)計(jì)了RefineNet模塊[6],不斷輸入低層特征得到精確的分割結(jié)果。
但是像素級(jí)的圖像分割算法存在運(yùn)算量大、占用資源多、處理速度較慢等缺點(diǎn),難以滿足硬件配置不高的割草機(jī)器人實(shí)時(shí)檢測(cè)的需求。因此該文在RefineNet的基礎(chǔ)上,結(jié)合MobileNetV3網(wǎng)絡(luò)[7]提出一種用于草坪場(chǎng)景理解的輕量級(jí)圖像分割卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)同時(shí)兼顧分割準(zhǔn)確率和運(yùn)行速度,具有更好的綜合性能。同時(shí)建立了草坪場(chǎng)景的分割數(shù)據(jù)集,將構(gòu)建的神經(jīng)網(wǎng)絡(luò)模型在該數(shù)據(jù)集上訓(xùn)練,驗(yàn)證了移動(dòng)機(jī)器人在草坪場(chǎng)景理解上的可行性。
圖像分割任務(wù)可以被看作是一種密集的分類任務(wù),深度神經(jīng)網(wǎng)絡(luò)中重復(fù)的下采樣操作使得原始圖像在分辨率上產(chǎn)生了嚴(yán)重的損失,在整個(gè)過程中會(huì)丟失大量的圖像結(jié)構(gòu)信息,因此很多在分類任務(wù)上表現(xiàn)很好的網(wǎng)絡(luò)在分割任務(wù)上顯得力不從心。
RefineNet網(wǎng)絡(luò)是2016年由Lin G等人提出的,是一種以ResNet101[8]為主干網(wǎng)絡(luò)用于圖像分割的神經(jīng)網(wǎng)絡(luò)框架。RefineNet是一種生成式的多路徑增強(qiáng)網(wǎng)絡(luò),具有以下優(yōu)勢(shì):(1)可以利用多個(gè)層次網(wǎng)絡(luò)層提取特征,采用遞歸的方式增強(qiáng)低分辨率(粗糙)的語義特征以產(chǎn)生高分辨率的分割特征圖;(2)級(jí)聯(lián)的網(wǎng)絡(luò)結(jié)構(gòu)可以進(jìn)行端到端的訓(xùn)練;(3)提出了一種鏈?zhǔn)匠鼗僮?,可以以一種高效的方式捕捉背景的上下文信息。因此RefineNet在圖像分割的任務(wù)上有很好的表現(xiàn)。圖1是標(biāo)準(zhǔn)的RefineNet網(wǎng)絡(luò)結(jié)構(gòu)。
(a)網(wǎng)絡(luò)框架
該文旨在提出一種用于圖像分割的輕量化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),從圖1可以看出,RefineNet的網(wǎng)絡(luò)分為編碼網(wǎng)絡(luò)和解碼網(wǎng)絡(luò),因此對(duì)網(wǎng)絡(luò)的輕量化可以從兩個(gè)方面進(jìn)行。在編碼網(wǎng)絡(luò)方面,在保證不影響準(zhǔn)確率的前提下,使用深度可分離卷積代替?zhèn)鹘y(tǒng)卷積;在解碼網(wǎng)絡(luò)方面,使用小尺寸的卷積核代替大尺寸卷積核。
1.2.1 深度可分離卷積的編碼網(wǎng)絡(luò)
標(biāo)準(zhǔn)RefineNet網(wǎng)絡(luò)的特征提取網(wǎng)絡(luò)采用的是ResNet101網(wǎng)絡(luò),ResNet網(wǎng)絡(luò)提出了殘差學(xué)習(xí)的思想,在網(wǎng)絡(luò)中添加了直連通道,解決了隨著網(wǎng)絡(luò)加深而產(chǎn)生的梯度下降和梯度爆炸問題,但其使用的依舊是傳統(tǒng)卷積方式。
而MobileNet采用深度可分離的卷積方式,深度可分離卷積[9]是將標(biāo)準(zhǔn)的卷積分解成一個(gè)深度卷積和一個(gè)點(diǎn)卷積:首先采用1×1的卷積核對(duì)每一個(gè)通道進(jìn)行卷積,然后再采用3×3的卷積核進(jìn)行通道間的信息融合。假設(shè)輸入的尺寸是DF×DF×M,輸出的尺寸是DK×DK×N,對(duì)于標(biāo)準(zhǔn)卷積,卷積核數(shù)為DK×DK×M×N,所以計(jì)算量為DF×DF×M×N×DK×DK,而相應(yīng)的深度可分離卷積的計(jì)算量為DF×DF×M×DK×DK+DF×DF×M×N。這樣就將標(biāo)準(zhǔn)卷積計(jì)算中的乘法運(yùn)算轉(zhuǎn)換成為了加法運(yùn)算,在不損失精確值的同時(shí),極大地減少了計(jì)算量和模型的大小。使用h-swish激活函數(shù)代替了ReLU激活函數(shù),有效地提高了網(wǎng)絡(luò)的精度,h-swish激活函數(shù)[10]的表達(dá)式如式(1)所示:
(1)
圖2是使用的MobileNetV3的網(wǎng)絡(luò)塊結(jié)構(gòu),不僅使用了深度可分離卷積的思想,同時(shí)結(jié)合了具有線性瓶頸的逆殘差結(jié)構(gòu)[9]和輕量型注意力機(jī)制[11],在減小網(wǎng)絡(luò)計(jì)算量的情況下,保證了網(wǎng)絡(luò)的精度。
圖2 MobileNetV3網(wǎng)絡(luò)塊結(jié)構(gòu)
1.2.2 輕量化的解碼網(wǎng)絡(luò)
由圖1可以看出,RefineNet的解碼網(wǎng)絡(luò)主要依賴兩個(gè)模塊:RCU(residual convolutional unit)和CPR(chained residual pooling),所有的這些模塊都采用了3×3的卷積和5×5的池化,并進(jìn)行相應(yīng)的填充以保持空間尺寸。采用大尺寸卷積核的目的是為了增加接受域的大小,但是經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn),在RefineNet網(wǎng)絡(luò)下,使用1×1的卷積核替代接受域并沒有明顯的差異。反而因?yàn)?×3的卷積核的大量使用,網(wǎng)絡(luò)的參數(shù)數(shù)量和浮點(diǎn)運(yùn)算數(shù)量都會(huì)變得很大,影響了網(wǎng)絡(luò)在移動(dòng)端的處理效率。因此,將原網(wǎng)絡(luò)的CPR模塊和融合模塊中3×3的卷積核用1×1的卷積核代替,僅在最后的分類層中使用了3×3的卷積核。通過這樣的方式,網(wǎng)絡(luò)的參數(shù)減少了50%。
通過分析各模塊的功能,可以得到如表1所示的結(jié)果,在輕量化后的網(wǎng)絡(luò)結(jié)構(gòu)里,不管是在精確分割分類還是增加上下文覆蓋率上,CPR模塊都是主要的模塊,而RCU模塊對(duì)結(jié)果只有微小的提升。所以為了最大限度上地減小參數(shù)量和模型大小,在最后的網(wǎng)絡(luò)結(jié)構(gòu)里,去除掉了RCU模塊。圖3是輕量化后的解碼網(wǎng)絡(luò)。
圖3 輕量化的RefineNet解碼模塊
表1 各模塊的效果分析
對(duì)于草坪的場(chǎng)景分割任務(wù)來說,目前并沒有公開的數(shù)據(jù)集,因此該文通過獲取網(wǎng)絡(luò)上的圖片以及使用相機(jī)收集生活中的草坪場(chǎng)景,共231張,通過顏色抖動(dòng)、隨機(jī)裁剪、圖片旋轉(zhuǎn)等數(shù)據(jù)增強(qiáng)[12]方式擴(kuò)充至2 540張,作為實(shí)際的訓(xùn)練測(cè)試數(shù)據(jù)集。
根據(jù)生活中草坪的實(shí)際環(huán)境,結(jié)合網(wǎng)絡(luò)的使用場(chǎng)景,將任務(wù)定義為識(shí)別出環(huán)境中的障礙物,分辨出需要工作的區(qū)域,因此將草坪場(chǎng)景圖像中的對(duì)象劃分為5種類別,分別是“背景、草地、行人、汽車以及道路”。使用公開的LabelMe工具對(duì)數(shù)據(jù)集進(jìn)行標(biāo)注,并將所有的圖片按照PASAL VOC2012分割樣本集的格式處理和存儲(chǔ),將整個(gè)數(shù)據(jù)集按照10∶1的比例分為訓(xùn)練集和測(cè)試集。圖4是部分原數(shù)據(jù)集以及增強(qiáng)后的數(shù)據(jù)集圖片。
圖4 訓(xùn)練集樣本與Mask圖
前文提到,目前沒有用于草坪場(chǎng)景分割的公共數(shù)據(jù)集,人工標(biāo)注制作數(shù)據(jù)集需要耗費(fèi)大量的人力物力,因此采用遷移學(xué)習(xí)[13](transfer learning)的方法對(duì)構(gòu)建的網(wǎng)絡(luò)進(jìn)行訓(xùn)練。遷移學(xué)習(xí)本質(zhì)是利用將一個(gè)問題上訓(xùn)練的所得,用于改進(jìn)在另一個(gè)問題的效果,因此可以在文中有限的數(shù)據(jù)集上,有效地提高模型的泛化能力。該文采用了MobileNetV3在PASAL VOC2012數(shù)據(jù)集[14]上的訓(xùn)練模型作為整個(gè)網(wǎng)絡(luò)的預(yù)訓(xùn)練模型。首先,將預(yù)訓(xùn)練模型的部分參數(shù)載入RefineNet網(wǎng)絡(luò),由于預(yù)訓(xùn)練模型的參數(shù)是分類網(wǎng)絡(luò)訓(xùn)練得來的,所以只加載特征提取層的參數(shù);然后,沒有預(yù)訓(xùn)練參數(shù)的RefineNet模塊解碼網(wǎng)絡(luò)部分參數(shù)使用Kaiming初始化的方法進(jìn)行初始化,可以有效地避免激活函數(shù)的輸出值趨向于0,保證網(wǎng)絡(luò)的訓(xùn)練效率。
經(jīng)過預(yù)訓(xùn)練后對(duì)網(wǎng)絡(luò)進(jìn)行評(píng)估,圖5是分割的結(jié)果。從圖中可以看出:該網(wǎng)絡(luò)的性能較好,可以實(shí)現(xiàn)多種類別的像素級(jí)的分割,對(duì)目標(biāo)邊緣細(xì)節(jié)信息的分割效果也很好。但同時(shí)也會(huì)在局部出現(xiàn)一些誤檢和漏檢的情況,造成這些情況的原因是,與目標(biāo)識(shí)別任務(wù)比較,圖像分割任務(wù)要做到像素級(jí)別的分類,本身任務(wù)的難度較大,再加上該文使用輕量化的網(wǎng)絡(luò),參數(shù)量相對(duì)較少,會(huì)對(duì)特征描述的能力造成一定的影響。
圖5 PASAL VOC2012數(shù)據(jù)集上的分割效果
實(shí)驗(yàn)過程均在以下的工作條件下完成訓(xùn)練與測(cè)試:IntelCore i5 8300-H CPU,配備8 GB RAM與Win10操作系統(tǒng),NVIDIA GTX1050Ti配備4 G顯存,以及Pytorch深度學(xué)習(xí)框架,并配置RefineNet的運(yùn)行環(huán)境,然后將標(biāo)定完成后的樣本數(shù)據(jù)集使用輕量化后的RefineNet進(jìn)行訓(xùn)練與評(píng)估[15]。
分割任務(wù)中常用的評(píng)價(jià)指標(biāo)是平均交叉聯(lián)合度量(mean intersection over union,MIoU,也稱為平均交并比),是各類目標(biāo)IoU的均值,其中IoU計(jì)算方式如式(2)所示:
(2)
其中,TP是被模型預(yù)測(cè)為正的正模型,F(xiàn)P是被模型預(yù)測(cè)為正的負(fù)樣本,F(xiàn)N是被模型預(yù)測(cè)為負(fù)的正樣本。在圖像分割任務(wù)中,更高的MIoU值通常代表著模型對(duì)小目標(biāo)有著更好的檢測(cè)分割能力。
使用的數(shù)據(jù)集是前文所提到的手動(dòng)標(biāo)注的草坪場(chǎng)景分割數(shù)據(jù)集,該數(shù)據(jù)集包含了2 540張圖片,其中2 300張用來訓(xùn)練,240張用來測(cè)試。從運(yùn)行時(shí)間、參數(shù)量、浮點(diǎn)數(shù)運(yùn)算量和算法性能進(jìn)行對(duì)比測(cè)試。運(yùn)行時(shí)間通過輸入480×480的圖像測(cè)試取得,測(cè)試的結(jié)果如表2所示。
表2 不同方法的結(jié)果比較
表2中,RefineNet-101表示的是原始的以ResNet101為編碼網(wǎng)絡(luò)的RefineNet,RefineNet-LW-101表示的是僅僅輕量化解碼網(wǎng)絡(luò)后的RefineNet,文中網(wǎng)絡(luò)是編碼網(wǎng)絡(luò)和解碼網(wǎng)絡(luò)均輕量化后的網(wǎng)絡(luò)。從表中的數(shù)據(jù)可以看出,文中的網(wǎng)絡(luò)具有輕量化、運(yùn)行速度快、準(zhǔn)確率較高的特點(diǎn)。通過對(duì)比可以看出,對(duì)解碼網(wǎng)絡(luò)的輕量化(用1×1的小尺寸卷積代替3×3的卷積并去掉RCU模塊)使得網(wǎng)絡(luò)的參數(shù)量有大幅度的降低,約61%,并且運(yùn)行速度也有很大的提升,運(yùn)行時(shí)間少約55%;在解碼網(wǎng)絡(luò)輕量化的基礎(chǔ)上,再對(duì)編碼網(wǎng)絡(luò)輕量化(使用MobileNetV3作為特征提取網(wǎng)絡(luò))又很大地降低了網(wǎng)絡(luò)的參數(shù)量,約94%,提高了網(wǎng)絡(luò)的運(yùn)行速度,運(yùn)行時(shí)間約少37%,并且保證了較高的準(zhǔn)確率。
與采用ResNet101作為編碼模塊的網(wǎng)絡(luò)相比,ResNet101得益于更深更寬的網(wǎng)絡(luò)結(jié)構(gòu),作為特征提取模塊時(shí)取得了最高的準(zhǔn)確率,而文中算法在準(zhǔn)確率上有一定的落后,但是整個(gè)網(wǎng)絡(luò)的參數(shù)量?jī)H有ResNet101的3%左右,而且運(yùn)行時(shí)間也不到ResNet101的30%。所以算法結(jié)構(gòu)兼顧了運(yùn)行效率和準(zhǔn)確率,在移動(dòng)機(jī)器人的草坪場(chǎng)景理解任務(wù)上有更好的綜合性能。提出的網(wǎng)絡(luò)在草坪場(chǎng)景下的分割效果如圖6、圖7所示,其中圖6中的數(shù)據(jù)是測(cè)試集中的結(jié)果,而圖7中的數(shù)據(jù)來源是元數(shù)據(jù)集中沒有的隨機(jī)圖片。由圖7可以看出:設(shè)計(jì)的網(wǎng)絡(luò)具有較好的綜合性能,能夠準(zhǔn)確地實(shí)現(xiàn)草坪場(chǎng)景下的圖像分割。
圖6 草坪場(chǎng)景數(shù)據(jù)集上的分割效果
圖7 隨機(jī)樣本的分割效果
設(shè)計(jì)了一種兼顧準(zhǔn)確率和運(yùn)行效率的輕量化神經(jīng)網(wǎng)絡(luò)圖像分割算法,在網(wǎng)絡(luò)的編碼階段結(jié)合使用了MobileNetV3網(wǎng)絡(luò);在網(wǎng)絡(luò)的解碼階段中,通過分析原RefineNet模塊中各部分的功能,通過使用1×1的小尺寸卷積核代替3×3的卷積核,并且去掉RCU單元,大幅度地減少了網(wǎng)絡(luò)的參數(shù)量,有效地提高了網(wǎng)絡(luò)的運(yùn)行效率。與其他的網(wǎng)絡(luò)相比,該方法準(zhǔn)確率較高,MIoU指標(biāo)達(dá)到了79.2%,運(yùn)行速率較快,75ms/幀,綜合性能較好,更適合應(yīng)用于移動(dòng)機(jī)器人草坪場(chǎng)景理解的任務(wù)中。采用圖像分割的方法進(jìn)行場(chǎng)景理解可以獲得比傳統(tǒng)目標(biāo)檢測(cè)方法更豐富的信息,在草坪場(chǎng)景的任務(wù)中,對(duì)草坪區(qū)域的識(shí)別效果更好,是未來移動(dòng)機(jī)器人視覺感知技術(shù)的發(fā)展方向。下一步工作是通過增大訓(xùn)練樣本數(shù),對(duì)不同時(shí)期形態(tài)的草坪進(jìn)行識(shí)別,以進(jìn)一步提高模型的識(shí)別度。