林 杰,陳春梅,劉桂華,祝禮佳
(西南科技大學(xué)信息工程學(xué)院,四川綿陽621000)
場景分割是指對圖像中的所有像素進(jìn)行分類,是自動駕駛和機(jī)器人感知領(lǐng)域中一項(xiàng)重要的前置任務(wù)。受現(xiàn)有閾值分割算法[1-2]啟發(fā),基于閾值的二值分割方法被大量應(yīng)用于移動服務(wù)機(jī)器人,如文獻(xiàn)[3]設(shè)計(jì)一種基于直方圖的閾值分割方法用于足球機(jī)器人,文獻(xiàn)[4]利用閾值提取邊緣并基于邊緣信息對圖像進(jìn)行分割,文獻(xiàn)[5]利用Otsu 閾值和炭疽孢子的連通特性及形狀特征實(shí)現(xiàn)對炭疽孢子的分割,文獻(xiàn)[6]設(shè)計(jì)一種YUV 色彩空間下的閾值分割方法用于番茄機(jī)器人。然而,基于傳統(tǒng)圖像處理技術(shù)的分割方法存在較大的局限性,適用的分割場景也較為簡單。因此,研究者提出基于聚類的方法,如文獻(xiàn)[7]通過結(jié)合mean-shift 和Ncut 算法減少計(jì)算量和噪聲的干擾,使分割速度大幅提升,文獻(xiàn)[8]使用mean-shift 算法結(jié)合深度信息實(shí)現(xiàn)復(fù)雜度較高的場景分割。
近年來,隨著GPU 算力增長,基于深度學(xué)習(xí)的語義分割算法飛速發(fā)展,圖像分割技術(shù)水平得到大幅提高。文獻(xiàn)[9]提出了全卷積網(wǎng)絡(luò)(Fully Convolutional Network,F(xiàn)CN)用于實(shí)現(xiàn)端到端的逐像素分類,后續(xù)深度學(xué)習(xí)語義分割算法大都以該網(wǎng)絡(luò)結(jié)構(gòu)為基礎(chǔ)改進(jìn)。SegNet[10]在解碼器部分使用上池化操作進(jìn)行上采樣,保留了高頻細(xì)節(jié)的完整性,實(shí)現(xiàn)了更精細(xì)的分割。UNet[11]在編/解碼器間加入了若干跳躍連接,融合了編/解碼器不同層次的特征,通過減少信息丟失來提升精度。文獻(xiàn)[12]在FCN 的特征提取網(wǎng)絡(luò)的輸出端添加了條件隨機(jī)場(Conditional Random Field,CRF)模塊,進(jìn)而提出了DeepLab 方法,也大幅提高了分割的精度。上述算法雖然都有效提升了精度,但由于特征提取網(wǎng)絡(luò)的感受野是固定的,因此沒有獲得圖像全局的一些特征。文獻(xiàn)[13]提出了DeepLab-V2 網(wǎng)絡(luò),通過引入空洞空間金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)模塊增加了感受野,提高了針對小目標(biāo)的分割精度。文獻(xiàn)[14]對DeepLab-V2 中的ASPP 模塊進(jìn)行改進(jìn),提出了DeepLabV3+網(wǎng)絡(luò)。該網(wǎng)絡(luò)融合了更多尺度特征,大幅提升了細(xì)節(jié)分割準(zhǔn)確率。PSPNet[15]網(wǎng)絡(luò)則選用大量的池化金字塔獲得更多的全局信息。文獻(xiàn)[16]考慮樣本不均衡因素設(shè)計(jì)了焦點(diǎn)約束損失(Constrained Focal Loss,CFL)函數(shù),大幅提升了樣本量不均衡時模型的分割精度。后續(xù)高準(zhǔn)確度的分割算法大多致力于增加模型參數(shù)量和復(fù)雜度,如HRNet[17]。該網(wǎng)絡(luò)在特征提取時不壓縮特征圖尺寸,利用巨大的模型參數(shù)量和計(jì)算量換來了很大的圖像感受野,并且充分融合了多尺度特征,在多項(xiàng)任務(wù)上都能達(dá)到較高的精度。但對于實(shí)際工程應(yīng)用而言,部署算法不僅要考慮精度,同時也要考慮算力成本,自動駕駛無人車、服務(wù)機(jī)器人的移動端嵌入式計(jì)算設(shè)備應(yīng)價(jià)格、功耗低且體積小,因此,參數(shù)量大且計(jì)算復(fù)雜度高的分割算法不適合部署在此類設(shè)備上。
對于室內(nèi)服務(wù)機(jī)器人的應(yīng)用場景,在算力有限的平臺完成高準(zhǔn)確度且快速的室內(nèi)場景分割是一項(xiàng)重要任務(wù)。本文在現(xiàn)有語義分割模型的基礎(chǔ)上,參考輕量化網(wǎng)絡(luò)設(shè)計(jì)方法,提出一種基于輕量級串聯(lián)特征提取網(wǎng)絡(luò)的實(shí)時語義分割算法。通過深度可分離卷積、膨脹卷積和通道注意力機(jī)制設(shè)計(jì)輕量級的高準(zhǔn)確度特征提取瓶頸結(jié)構(gòu)模塊,以此為基礎(chǔ)構(gòu)建輕量特征提取骨干網(wǎng)絡(luò),使用2 個輕量型的網(wǎng)絡(luò)級聯(lián)增加網(wǎng)絡(luò)深度,同時融合多尺度、多層次的語義特征,在保證算法高精度的前提下,基于TensorRT 技術(shù)在NVIDIA Jetson XavierNX 嵌入式平臺實(shí)現(xiàn)實(shí)時室內(nèi)場景分割。
設(shè)計(jì)高準(zhǔn)確率的輕量化特征提取網(wǎng)絡(luò),需要考慮如何在減少模型參數(shù)量的前提下提升精度。本文通過深度可分離卷積、感受野控制和注意力機(jī)制來提升準(zhǔn)確率并降低模型復(fù)雜度。
深度可分離卷積是很多輕量級網(wǎng)絡(luò)的關(guān)鍵技術(shù),其將常規(guī)的卷積計(jì)算分解成兩步操作:首先對各個通道進(jìn)行卷積提取特征,然后使用1×1 卷積進(jìn)行特征層融合或者特征層的擴(kuò)充,從而有效地減少卷積計(jì)算中的參數(shù)量并保留常規(guī)卷積相似的性能。
對卷積核的參數(shù)量進(jìn)行分析。如圖1所示,假設(shè)輸入圖像的尺寸為w×h×c,w、h、c分別表示圖像的寬、高和通道數(shù)。若卷積后想要得到b個通道的特征圖,使用原始卷積方法,卷積核的參數(shù)量為k×k×c×d,其中k為卷積核的邊長。深度可分離卷積則先單獨(dú)對通道卷積,參數(shù)量為k×k×c,再使用逐點(diǎn)卷積法將特征圖通道擴(kuò)張到b個,參數(shù)量為c×d。因此,總參數(shù)量為k×k×c+c×d。
圖1 深度可分離卷積的計(jì)算過程Fig.1 Calculation process of depth separable convolution
相比傳統(tǒng)卷積,深度可分離卷積的參數(shù)量大幅減少。傳統(tǒng)卷積的計(jì)算量為w×h×c×d×k×k,深度可分離卷積的計(jì)算量為w×h×c×k×k+w×h×c×d,這2 種方法的參數(shù)量之比和計(jì)算量之比均為可見無論是參數(shù)量還是計(jì)算量,通過可分離卷積都得到了很大幅度的壓縮,使網(wǎng)絡(luò)更加輕量化。對于邊緣計(jì)算設(shè)備及無GPU 的移動設(shè)備,深度可分離卷積可使CPU 在不需要龐大算力的情況下完成卷積計(jì)算。因此,輕量級網(wǎng)絡(luò)設(shè)計(jì)大多使用深度可分離卷積,如Xception[18]、GhostNet[19]等,本文也使用深度可分離卷積來實(shí)現(xiàn)輕量級的特征提取網(wǎng)絡(luò)。
感受野直接影響著網(wǎng)絡(luò)精度,網(wǎng)絡(luò)的感受野越大,獲取到的圖像的全局特征也就越多,這在HRNet上得到了充分驗(yàn)證。HRNet 精度之所以很高,就是因?yàn)樗幸粋€固定的、具有極大感受野的特征提取分支。在該分支上,特征圖尺寸不會縮小,在特征提取過程中幾乎沒有丟失信息。但是這種提升感受野的方式會帶來巨大的參數(shù)量,使模型推理時間大幅增加,對于速度優(yōu)先級較高的網(wǎng)絡(luò)并不適用,而膨脹卷積在提升感受野的同時并不會增加參數(shù)量,適合用于輕量級網(wǎng)絡(luò)設(shè)計(jì)。
膨脹卷積是指在常規(guī)的卷積核中添加空洞,此操作可以在計(jì)算量不變的情況下增大卷積核的大小和卷積操作的感受野。如圖2所示,對于一個3×3 的卷積核,當(dāng)設(shè)置膨脹率為2 時,會在每一對相鄰卷積核之間添加一個值為0 的點(diǎn),從而使卷積核大小變?yōu)?×5。
圖2 膨脹卷積感受野Fig.2 Receptive field of expanded convolution
膨脹后卷積核大小的計(jì)算公式如下:
其中:kdw為膨脹后卷積核的邊長;r為膨脹率;kc為未膨脹卷積核的邊長。卷積核膨脹后感受野范圍得到了擴(kuò)大,而更大感受野的卷積操作能夠提取出更大尺度的圖像特征,這對準(zhǔn)確的場景理解和分割精度提升非常有效。高精度的分割算法如DeepLab 也大量使用了膨脹卷積,并且并聯(lián)不同膨脹率的特征圖設(shè)計(jì)了ASPP 模塊,以此融合不同尺度的空間特征。但是,膨脹卷積存在特征圖稀疏的問題:膨脹率變大,卷積核之間的空洞隨之增大,而當(dāng)膨脹率過大時,卷積核會變得非常離散,也就不能提取到更多全局特征的信息,從而導(dǎo)致特征圖非常稀疏,提取到的特征會缺少細(xì)節(jié)信息,影響圖像分割精度。
隨著SE-Net[20]嘗試使用基于通道的注意力機(jī)制,在圖像分類中實(shí)現(xiàn)了較好的分割性能,注意力機(jī)制便成為深度神經(jīng)網(wǎng)絡(luò)的有力工具[21]。它可以利用特征圖的通道特征和空間特征約束網(wǎng)絡(luò)訓(xùn)練,從而學(xué)習(xí)到有效特征,提升對于細(xì)節(jié)的分割精度。由于通道注意力機(jī)制在提升特征有效性的同時幾乎不增加參數(shù)量,因此本文在設(shè)計(jì)編碼模塊時使用通道注意力機(jī)制模塊提升模型的準(zhǔn)確率。
為減少模型的參數(shù)計(jì)算量同時達(dá)到高分割精度,本文在網(wǎng)絡(luò)中添加一個殘差瓶頸結(jié)構(gòu)作為網(wǎng)絡(luò)的基礎(chǔ)模塊。殘差瓶頸結(jié)構(gòu)如圖3所示。
圖3 殘差瓶頸結(jié)構(gòu)Fig.3 Residual bottleneck structure
瓶頸編碼模塊包括2 個調(diào)整特征通道的1×1 卷積、1 個深度可分離卷積、1 個通道注意力模塊和1 條殘差連接,具體設(shè)計(jì)目的和思路如下:
1)為降低模型的計(jì)算量和參數(shù)量,使用降維-升維的瓶頸結(jié)構(gòu)。先使用1×1 卷積對通道數(shù)進(jìn)行壓縮,壓縮后使用3×3 深度可分離卷積提取特征,再使用1×1 卷積進(jìn)行特征升維。為提升感受野,提取不同尺度的特征信息,3×3 深度可分離卷積帶有膨脹系數(shù)。
2)進(jìn)行深度可分離卷積操作后,在升維卷積操作前加入SE-Net 網(wǎng)絡(luò)使用的通道注意力機(jī)制模塊。該模塊的計(jì)算過程如圖4所示。首先對特征通道進(jìn)行全局平均池化操作,然后連接全連接層學(xué)習(xí)每個通道的權(quán)重值,并利用sigmoid 函數(shù)歸一化到[0,1],最后對特征層進(jìn)行通道加權(quán),從而篩選特征的每個通道的信息,以此進(jìn)一步提高分割準(zhǔn)確度。
圖4 通道注意力模塊計(jì)算流程Fig.4 Calculation procedure of channel attention module
3)為緩解膨脹卷積引起的稀疏化問題,在瓶頸結(jié)構(gòu)中加入殘差邊連接,將特征層的輸入和提取后的特征層相加,從而補(bǔ)充因膨脹卷積稀疏化而在特征提取時丟失的信息,同時殘差連接也可以有效避免由網(wǎng)絡(luò)深度增加帶來的梯度消失問題。
本文網(wǎng)絡(luò)模型使用的是編碼器-解碼器網(wǎng)絡(luò)框架,在編碼器端獲取上下文信息和語義信息,在解碼器端對提取的特征進(jìn)行上采樣和圖像分割。為實(shí)現(xiàn)實(shí)時分割,本文沒有對解碼器進(jìn)行復(fù)雜設(shè)計(jì),而是使用高效的特征上采樣模塊。此外,由于網(wǎng)絡(luò)越深獲取的語義特征越豐富,但是空間信息丟失也越多,因此本文設(shè)計(jì)的網(wǎng)絡(luò)在解碼階段對不同層次的特征進(jìn)行重利用,以高級語義特征融合低級圖像特征,從而豐富模型特征,提高模型分割精度。
本文模型結(jié)構(gòu)如圖5所示,其中,c 代表concat操作,模型輸入圖像尺寸為512 像素×512 像素。為有效提取深層語義特征,編碼器級聯(lián)2 個特征提取網(wǎng)絡(luò)。第1 級主干網(wǎng)絡(luò)使用7 個殘差瓶頸結(jié)構(gòu)模塊作為基礎(chǔ)單元構(gòu)成特征提取的主干網(wǎng)絡(luò),每一個瓶頸結(jié)構(gòu)模塊的參數(shù)不同,相同通道數(shù)的瓶頸結(jié)構(gòu)模塊的膨脹率不同,以此獲得不同感受野與不同尺度的特征。經(jīng)實(shí)驗(yàn)驗(yàn)證,當(dāng)膨脹率在8 以上時,特征圖的稀疏化非常嚴(yán)重,嚴(yán)重影響精度。因此,設(shè)置膨脹率為2、4 或8。經(jīng)過7 個瓶頸結(jié)構(gòu)模塊提取深層特征以后,對特征圖進(jìn)行上采樣送入第2 級特征提取網(wǎng)絡(luò),第2 級特征提取網(wǎng)絡(luò)由4 個瓶頸結(jié)構(gòu)模塊和1 個平均池化層構(gòu)成,4 個瓶頸結(jié)構(gòu)模塊在提取特征的同時融合第1 個主干網(wǎng)絡(luò)特征提取時相同尺度的特征圖,減小特征提取時丟失的信息,之后使用平均池化對特征進(jìn)行多尺度融合,再送入解碼器模塊。在解碼過程中,融合第2 個特征提取網(wǎng)絡(luò)中相同層次的特征,補(bǔ)充特征圖細(xì)節(jié),最后進(jìn)行場景分割結(jié)果輸出。
圖5 本文網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.5 Structure of the proposed network model
使用NYUDv2 數(shù)據(jù)集[22]對本文提出的網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練和評估。NYUDv2 是針對室內(nèi)場景專門制作的語義分割數(shù)據(jù)集,最細(xì)分類可以達(dá)到895 類。為簡化分類任務(wù)、增大類間距離以降低分類難度,本文使用的為類別縮減映射后的40 類數(shù)據(jù)集。該數(shù)據(jù)集共包括1 448 張精細(xì)標(biāo)注的樣本,圖像尺寸為640 像素×480 像素。為模擬室內(nèi)環(huán)境變化,本文對1 348 張室內(nèi)場景圖像進(jìn)行數(shù)據(jù)增強(qiáng),對原始圖像做小幅度的隨機(jī)色相和明度偏移,在隨機(jī)裁剪、縮放、翻轉(zhuǎn)、平移數(shù)據(jù)增強(qiáng)后進(jìn)行模型訓(xùn)練,使用400 張未預(yù)處理的原始圖像進(jìn)行驗(yàn)證測試。為進(jìn)一步測試本文模型性能,在CamVid 數(shù)據(jù)集上進(jìn)行測試,CamVid數(shù)據(jù)集是針對道路街景制作的分割數(shù)據(jù)集,其中采集了50 個城市不同天氣的行車視角街景,包括行人、車輛、道路等11 個類別,共1 402 幅精細(xì)標(biāo)注的復(fù)雜街景圖像。本文使用1 169 幅圖像進(jìn)行訓(xùn)練,在233 張的測試集上進(jìn)行驗(yàn)證測試。
本文實(shí)驗(yàn)的軟件環(huán)境為Ubuntu18.04 64 bit 操作系統(tǒng),深度學(xué)習(xí)軟件框架為Pytorch,硬件環(huán)境為Intel?Xeon?CPU E5-2620 v4 2.1 GHz 處理器,64 GB內(nèi)存,GPU 為NVIDIA GTX TITAN XP 12G。
為使網(wǎng)絡(luò)模型達(dá)到較高的準(zhǔn)確率,目前在訓(xùn)練網(wǎng)絡(luò)時一般會使用該模型在ImageNet 數(shù)據(jù)集訓(xùn)練的參數(shù)初始化網(wǎng)絡(luò)。但是本文網(wǎng)絡(luò)為自己設(shè)計(jì),如果使用遷移學(xué)習(xí),需要在ImageNet 數(shù)據(jù)集上做預(yù)訓(xùn)練??紤]到ImageNet 數(shù)據(jù)集龐大,如果沒有大型GPU 集群,訓(xùn)練耗時會非常長,并且Facebook 的AI 實(shí)驗(yàn)室的驗(yàn)證[23]表明,即使不做預(yù)訓(xùn)練,最終模型精度也會達(dá)到接近預(yù)訓(xùn)練效果的水平,因此,本文使用多階段參數(shù)調(diào)整的訓(xùn)練策略,如圖6所示。
圖6 訓(xùn)練策略示意圖Fig.6 Schematic diagram of training strategy
在第1個階段,隨著迭代次數(shù)的上升,學(xué)習(xí)率降低,模型較好地收斂,之后加大學(xué)習(xí)率進(jìn)入第2 個階段的訓(xùn)練,反復(fù)這個過程,能夠使模型跳出前一訓(xùn)練階段損失收斂的局部最小值,使模型找到一個更大范圍內(nèi)的最優(yōu)參數(shù)。訓(xùn)練的損失值變化曲線如圖7所示??梢钥闯觯瑩p失值的4 次波動下降狀態(tài)分別代表著4 個階段的訓(xùn)練過程,損失值的大小在經(jīng)歷4 個階段的訓(xùn)練后比第1 個階段結(jié)束時降低較多。
圖7 訓(xùn)練損失值變化曲線Fig.7 The training loss change curve
對于優(yōu)化器,選擇Adam[24]優(yōu)化器來優(yōu)化模型參數(shù),批樣本量設(shè)置為16,Dropout 失活率設(shè)置為0.5。對于損失函數(shù),使用像素級交叉熵函數(shù)作為目標(biāo)函數(shù),其函數(shù)定義如下:
其中:M為類別數(shù)量;yic為指示變量,若樣本i的分類結(jié)果與標(biāo)簽類別c相同,則為1,否則為0;pic代表樣本i屬于類別c的概率。
為全面地評價(jià)模型性能,本文使用像素準(zhǔn)確率(Accuracy,ACC)、平均交并比(Mean Intersection over Union,MIoU)和頻率加權(quán)交并比(Frequency Weight Intersection over Union,F(xiàn)WIoU)這3 個指標(biāo)來體現(xiàn)分割精度。像素準(zhǔn)確率的計(jì)算公式如下:
其中:pt代表分類正確的像素?cái)?shù);psum代表像素總數(shù)。在平均交并比指標(biāo)中,IoU 表示預(yù)測結(jié)果與真實(shí)值交集的面積比上他們并集的面積,MIoU 為所有類別IoU 的平均值。頻率加權(quán)交并比即使用每一類像素出現(xiàn)的頻率對IoU 加權(quán)計(jì)算得到的值,其評價(jià)樣本分布不均衡的數(shù)據(jù)更科學(xué),計(jì)算公式如式(4)所示:
其中:r為類別數(shù);pn為第n個類別所有的像素?cái)?shù),將其比上psum即可求出該類別樣本數(shù)量在數(shù)據(jù)集中的比例,再與該類別的交并比IIoUn相乘即完成加權(quán)。
同時,為更全面地評價(jià)模型的復(fù)雜度,本文使用模型參數(shù)衡量模型的空間復(fù)雜度,并且使用每秒浮點(diǎn)計(jì)算次數(shù)(Floating Point Operations,F(xiàn)LOPs)與幀率(FPS)這2 個指標(biāo)衡量模型的時間復(fù)雜度。FLOPs 的計(jì)算公式[25]如式(5)所示:
其中:H、W為卷積輸入特征圖的高和寬;KH、KW為卷積核的長和寬;Cin和Cout為卷積層輸入和輸出的通道數(shù);pparams為該卷積層的所有參數(shù)。
3.4.1 NYUDv2 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果分析
本文在NYUDv2 數(shù)據(jù)集上使用40 類分類標(biāo)準(zhǔn)進(jìn)行訓(xùn)練及測試,并對比了經(jīng)典、常用的分割算法,精度對比結(jié)果如表1所示。可以看出:本文算法總體分割精度,大幅領(lǐng)先于SegNet 和UNet,略低于DeepLabv3+ 和PSPNet,這主要是因?yàn)閁Net 和SegNet 網(wǎng)絡(luò)的感受野固定而本文網(wǎng)絡(luò)使用膨脹卷積,提升了感受野,并且本文多層次特征融合較多,而UNet 與SegNet 較少,而PSPNet 與DeepLabv3+則使用不同的金字塔結(jié)構(gòu)獲得了更大的感受野,從而融合了更多全局特征,使得分割更為精準(zhǔn)。
表1 在NYDUv2 數(shù)據(jù)集上的精度對比Table 1 Accuracy comparison on NYDUv2 dataset %
為更全面地對比5 種算法分割準(zhǔn)確度,統(tǒng)計(jì)各算法針對NYUDv2 數(shù)據(jù)集不同類別的IoU,結(jié)果如表2所示。從表2 可知,本文算法在各類別的分割精度上均處在一個較高的水平,在一些UNet 與SegNet分割效果不好的類別(windows、bookshelf、mirror等)上得到了很高的準(zhǔn)確率,并且與DeepLabV3+和PSPNet 精度差距不大,充分驗(yàn)證了感受野提升和特征融合對精度提升的效果,并且各類之間的分割精準(zhǔn)度總體也比較均衡,魯棒性較好。
表2 針對NYUDv2 數(shù)據(jù)集不同類別的分割結(jié)果對比Table 2 Segmentation result comparison for different object categories on NYUDv2 dataset %
5 種算法的復(fù)雜度對比如表3所示,可以看出,本文算法無論是計(jì)算復(fù)雜度、參數(shù)量還是推理速度(即幀率)都大幅優(yōu)于其他算法,再次證明使用深度可分離卷積構(gòu)建輕量級主干網(wǎng)絡(luò)可降低參數(shù)量與計(jì)算復(fù)雜度。對比DeepLabV3+與PSPNet 這2 個高精度、高模型復(fù)雜度的算法,本文算法計(jì)算力僅為其1%,而在PC 端GPU 推理速度是它們的10 倍以上。
表3 復(fù)雜度對比Table 3 Complexity comparison
綜上所述,本文提出算法在保證較高分割精度的同時,對設(shè)備計(jì)算力要求不高,十分利于邊緣計(jì)算設(shè)備部署。
5 種算法室內(nèi)場景分割的視覺效果如圖8所示。由圖8(c)~圖8(d)可以看出:UNet 與SegNet對于大目標(biāo)的分割還是出現(xiàn)了一些類別混淆,如門、櫥柜、鏡子等,其他3 個算法對大目標(biāo)分割都比較精準(zhǔn),得到的大目標(biāo)的邊緣輪廓部分也十分清晰;而對于小目標(biāo)分割,DeeplabV3+的效果是最好的。對比圖8 第4 行圖像中櫥柜上杯子的真實(shí)標(biāo)簽及分割效果可知,除了DeepLabV3+外,其他算法都出現(xiàn)了程度不一的分類混淆。對于小目標(biāo)的邊緣輪廓,如圖8 中第1 行、第2 行圖像的床頭燈、盥洗臺等物品,各個算法的分割效果均不太理想,主要原因是數(shù)據(jù)集小目標(biāo)樣本分布不均衡會導(dǎo)致模型分割效果偏向樣本量更多的類別,另外一個原因就是小尺度目標(biāo)在圖像中占像素量少,提取特征時經(jīng)過幾次下采樣后,小目標(biāo)的特征圖尺寸已經(jīng)被壓縮到非常小了,提取的特征較為有限,從而導(dǎo)致小目標(biāo)及其邊緣的分割效果不佳。
結(jié)合表2所示的精度指標(biāo)和圖8所示的分割效果可知,本文算法對復(fù)雜室內(nèi)場景的分割準(zhǔn)確度較高,非常接近PSPNet 及DeepLabV3+的分割精度和效果,可滿足室內(nèi)服務(wù)機(jī)器人場景理解的基礎(chǔ)要求。
圖8 NYDUv2 場景分割視覺效果Fig.8 Scene segmentation visual effects on NYUDv2 dataset
3.4.2 CamVid 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果分析
在CamVid 數(shù)據(jù)集上的精度分割實(shí)驗(yàn)結(jié)果如表4所示??梢钥闯?,在非室內(nèi)場景下,本文算法的分割準(zhǔn)確度也是相對較高的,F(xiàn)WIoU 和MIoU 差異相較于NYUDv2 的結(jié)果大一些,這是由CamVid 的數(shù)據(jù)分布不均衡造成的,僅道路、天空、建筑和樹等4 個類別樣本量就占了數(shù)據(jù)集的73%,所以,各個算法的加權(quán)IoU 都處于較高的水平。從MIoU 的指標(biāo)可以看出,面對樣本分布不太均衡的數(shù)據(jù)集,本文算法即使不針對均衡樣本做處理,分割準(zhǔn)確度也優(yōu)于SegNet和UNet 算法。
表4 在CamVid 數(shù)據(jù)集上的精度對比Table 4 Accuracy comparison on CamVid dataset %
各個類別的詳細(xì)分類IoU 如表5所示??梢钥闯龈魉惴ㄔ诮ㄖ⑻炜?、道路等大目標(biāo)上的分割準(zhǔn)確度都較高。在車輛這類中型目標(biāo)上,本文算法大幅領(lǐng)先于SegNet 和UNet,與DeepLabV3+和PSPNet精度非常接近。在標(biāo)志牌,電線桿這類小目標(biāo)的分割精度上,本文算法也與DeepLabV3+和PSPNet 在同一水平。
表5 針對CamVid 數(shù)據(jù)集不同類別的分割結(jié)果對比Table 5 Segmentation result comparison for different object categories on CamVid dataset %
在CamVid 數(shù)據(jù)集上5 種算法分割的視覺效果如圖9所示??梢钥闯?,本文算法的分割效果較好,車輛、建筑的邊緣清晰。從圖9(g)第1 行可以看出,即使在光照效果不佳的情況下,本文算法的分割效果也很好,而Unet 和Segnet 在同場景時,右下角的車輛出現(xiàn)了類別混淆。
圖9 CamVid 場景分割視覺效果Fig.9 Scene segmentation visual results on CamVid dataset
綜上,本文算法相較常用的先進(jìn)分割算法取得了較優(yōu)的效果,從而再次驗(yàn)證了算法的優(yōu)秀性能,其能有效地學(xué)習(xí)到圖像的語義特征,并準(zhǔn)確地表達(dá)物體的語義信息,從而大幅提升了場景解析的效果。
本文使用機(jī)器人平臺計(jì)算核心板為NVIDIA Jetson XavierNX。XavierNX 為NVIDIA 發(fā)布的嵌入式GPU平臺,在15 W 的低功耗環(huán)境下,可以有6.8 TFLOPs 的單精度計(jì)算能力,如果以INT8 模式進(jìn)行計(jì)算,則有高達(dá)21 TOPs 的計(jì)算能力。在PC 端訓(xùn)練模型后,將模型導(dǎo)出并使用NVIDIA 的推理加速引擎TensorRT 對模型進(jìn)行合并層、并行優(yōu)化等操作,將其序列化為TensorRT的引擎,將模型從FP32 量化為FP16,從而既壓縮了模型大小,又避免了INT8 量化時精度損失較多的問題。在未量化及TensorRT 加速時,模型在嵌入式端對512 像素×512 像素的圖像推理速度為19 frame/s,經(jīng)過TensorRT 加速和量化后,嵌入式端的推理速度提升到42 frame/s,加速比約為2.2,加速后可實(shí)現(xiàn)在嵌入式平臺上的實(shí)時室內(nèi)場景分割。
本文針對室內(nèi)服務(wù)機(jī)器人的場景分割任務(wù),提出一種基于輕量級網(wǎng)絡(luò)的實(shí)時語義分割算法,結(jié)合深度可分離卷積、膨脹卷積和通道注意力機(jī)制,設(shè)計(jì)以殘差瓶頸結(jié)構(gòu)為基礎(chǔ)模塊的級聯(lián)特征提取網(wǎng)絡(luò)。該網(wǎng)絡(luò)的參數(shù)量較少,能夠在保證低時間復(fù)雜度的同時提取到更深層的語義信息,并融合多尺度特征得到較高的MIoU 分割精度。實(shí)驗(yàn)結(jié)果表明,與SegNet、UNet、PSPNet 等先進(jìn)分割算法相比,本文算法具有優(yōu)異的預(yù)測速度,對移動設(shè)備的算力要求不高,可實(shí)現(xiàn)實(shí)時準(zhǔn)確的室內(nèi)場景分割,滿足實(shí)際的機(jī)器人場景理解需求。然而該算法存在小目標(biāo)分割和邊緣分割不準(zhǔn)確的問題,下一步將對此進(jìn)行改進(jìn),通過結(jié)合多尺度及邊緣分割方法,實(shí)現(xiàn)對室內(nèi)場景更高準(zhǔn)確率的精準(zhǔn)分割。