王沖 趙志剛 潘振寬 于曉康
摘要:針對(duì)人體實(shí)例分割任務(wù)中存在著姿態(tài)多樣和背景復(fù)雜的問(wèn)題,提出了一種高精度的實(shí)例分割算法。利用Mask R-CNN算法特征融合過(guò)程中的細(xì)節(jié)信息,改善人體分割任務(wù)中邊緣分割不精確的問(wèn)題,提高人體分割精度。改進(jìn)了特征金字塔的特征融合過(guò)程,將原有自頂向下的路徑改為自底向上,以保留淺層特征圖中更多的空間位置信息,并且在特征融合過(guò)程中加入多尺度空洞卷積,在增大特征圖感受野同時(shí)保持分辨率不變,可以避免降采樣過(guò)程中特征丟失;使用COCO數(shù)據(jù)集和網(wǎng)絡(luò)平臺(tái),建立新的人體圖像數(shù)據(jù)集。最后將本算法與Mask R-CNN算法做對(duì)比,在IoU分別為0.7、0.8和0.9時(shí),準(zhǔn)確率提高了0.26,0.41和0.59。實(shí)驗(yàn)結(jié)果表明,算法在新的人體圖像數(shù)據(jù)集可以得到更精確的結(jié)果。
關(guān)鍵詞:實(shí)例分割;空洞卷積;多尺度特征融合
中圖分類(lèi)號(hào):TP391
文獻(xiàn)標(biāo)志碼:A
收稿日期:2020-10-19
通信作者:
于曉康,男,博士,副教授,主要研究方向?yàn)橛?jì)算機(jī)幾何,計(jì)算機(jī)圖形學(xué),計(jì)算機(jī)視覺(jué)等。E-mail: xyu_qdu@163.com
實(shí)例分割實(shí)際是目標(biāo)檢測(cè)和語(yǔ)義分割的結(jié)合。相對(duì)于目標(biāo)檢測(cè),實(shí)例分割可精確到物體邊緣;相對(duì)于語(yǔ)義分割,實(shí)例分割可以分割出每個(gè)獨(dú)立個(gè)體。實(shí)例分割算法是從圖像中用目標(biāo)檢測(cè)方法框出不同實(shí)例,然后在不同實(shí)例區(qū)域內(nèi)進(jìn)行逐像素預(yù)測(cè)的分割方法。目前目標(biāo)檢測(cè)領(lǐng)域的深度學(xué)習(xí)方法主要有兩類(lèi):雙階段的目標(biāo)檢測(cè)算法和單階段的目標(biāo)檢測(cè)算法。雙階段的目標(biāo)檢測(cè)算法要先生成一系列的候選框,再進(jìn)行分類(lèi)。如RCNN[1]通過(guò)選擇性搜索產(chǎn)生候選框,再通過(guò)SVM對(duì)區(qū)域進(jìn)行分類(lèi);Fast R-CNN[2]通過(guò)選擇性搜索算法產(chǎn)生候選框,對(duì)候選框進(jìn)行ROI pooling操作統(tǒng)一特征圖大小,最后通過(guò)softmax進(jìn)行分類(lèi);Faster R-CNN[3]用區(qū)域候選網(wǎng)絡(luò)(Region Proposal Network,RPN)代替選擇性搜索算法,在生成候選框時(shí)效率更高。單階段的目標(biāo)檢測(cè)算法無(wú)需生成候選框,只要一個(gè)階段就可以完成檢測(cè)。輸入一張圖片,直接輸出目標(biāo)檢測(cè)的結(jié)果,如YOLOV1[4],YOLOV2[5]等。隨著深度學(xué)習(xí)的日趨成,越來(lái)越多基于深度學(xué)習(xí)的語(yǔ)義分割框架被提出。Long等[6]提出了全卷積網(wǎng)絡(luò)(FCN)是對(duì)圖像進(jìn)行像素級(jí)分割的代表,是神經(jīng)網(wǎng)絡(luò)做語(yǔ)義分割的開(kāi)山之作。FCN可以接受任意尺寸的輸入圖像,采用反卷積對(duì)最后一個(gè)卷積層的feature map進(jìn)行上采樣,使它恢復(fù)到輸入圖像相同的尺寸,從而可以對(duì)每個(gè)像素都產(chǎn)生了一個(gè)預(yù)測(cè),同時(shí)保留了原始輸入圖像中的空間信息,最后在上采樣的特征圖上進(jìn)行逐像素分類(lèi)。Chen等[7]提出了DeepLabV2網(wǎng)絡(luò)模型,引入了空洞卷積,擴(kuò)大感受野的同時(shí)降低了計(jì)算量,通過(guò)使用多尺度特征提取,得到全局和局部特征的語(yǔ)義信息。Dai等[8]提出的金字塔場(chǎng)景解析網(wǎng)絡(luò)(PSPNet)引入充分的上下文信息和不同感受野下的全局信息,并在ResNet的中間層加入輔助損失,該模型也取得比較理想的結(jié)果。基于目標(biāo)檢測(cè)的實(shí)例分割,是目標(biāo)檢測(cè)和語(yǔ)義分割的合并。人體實(shí)例分割,則是人體目標(biāo)檢測(cè)與人體語(yǔ)義分割的結(jié)合。He等[9]提出了Mask R-CNN算法,以ResNet-101[10]為底層網(wǎng)絡(luò),使用金字塔結(jié)構(gòu)融合多尺度特征,構(gòu)建特征金字塔網(wǎng)絡(luò)[11-12](Feature Pyramid Networks,F(xiàn)PN),在Faster R-CNN的基礎(chǔ)上添加了一個(gè)掩碼分支,在分割精度上得到了很好的效果。雖然Mask R-CNN在分割精度方面得到很大的提升,但是相對(duì)于人體實(shí)例分割方面仍然存在著問(wèn)題,Mask R-CNN中使用的FPN是自頂向下的多特征尺寸融合,即由深層特征到淺層特征的融合,雖然更好地將語(yǔ)義信息融合至淺層網(wǎng)絡(luò),但在人體實(shí)例分割中存在著姿態(tài)和背景復(fù)雜的問(wèn)題,因此淺層的空間位置信息更為重要。針對(duì)上述問(wèn)題,本文在Mask R-CNN算法的基礎(chǔ)上,用新的人體圖像數(shù)據(jù)集進(jìn)行網(wǎng)絡(luò)訓(xùn)練和評(píng)估,為了提高檢測(cè)準(zhǔn)確率,將FPN原有自頂向下路徑改為自底向上,以便更好利用淺層網(wǎng)絡(luò)的空間位置信息。在改進(jìn)后的FPN網(wǎng)絡(luò)中加入空洞卷積,擴(kuò)大感受野,保留大量的語(yǔ)義信息,進(jìn)一步優(yōu)化分割結(jié)果。
1 方法
本文基于Mask R-CNN算法,針對(duì)其中的特征金字塔結(jié)構(gòu)做出改進(jìn),鑒于淺層特征圖具有更多的空間位置和細(xì)節(jié)信息,將傳統(tǒng)特征金字塔中的自頂向下特征融合結(jié)構(gòu)改為自底向上,將淺層特征圖逐層融入到深層特征圖中,這樣可以將細(xì)節(jié)信息更好地保存下來(lái)。由于ResNet網(wǎng)絡(luò)中第一層輸出的特征圖分辨率過(guò)大,增加運(yùn)算成本,本模型從第二層開(kāi)始構(gòu)建新的金字塔特征。圖像的實(shí)例分割是一種像素級(jí)分割,要對(duì)圖像中每一個(gè)像素點(diǎn)進(jìn)行類(lèi)別判斷,因此每個(gè)像素的判別與分割結(jié)果有很大關(guān)系。但是,人體圖象分割時(shí)不能只考慮像素本身,還要考慮目標(biāo)的整體性,所以分割時(shí)要結(jié)合全局語(yǔ)義信息。因此,本文提出使用空洞卷積:空洞卷積是向普通卷積引入了一個(gè)新參數(shù)——dilation_rate,即空洞率,用來(lái)保證在特征圖尺寸不變的基礎(chǔ)上擴(kuò)大感受野??斩绰什煌瑫r(shí),感受野也會(huì)不同,為了得到不同尺度的感受野,實(shí)驗(yàn)設(shè)置了三種不同的空洞率,確保獲取多尺度特征信息。本文設(shè)置的空洞率參數(shù)分別為1,2,3。如圖1所示。
本文提出的網(wǎng)絡(luò)結(jié)構(gòu)在訓(xùn)練過(guò)程和推理過(guò)程有以下不同:訓(xùn)練過(guò)程要計(jì)算RPN損失和網(wǎng)絡(luò)損失更新網(wǎng)絡(luò)參數(shù),而推理過(guò)程不需要計(jì)算損失函數(shù);在訓(xùn)練過(guò)程中分類(lèi)、回歸和掩碼分割是并行計(jì)算的,推理過(guò)程中,分類(lèi)/回歸和掩碼分割是串行計(jì)算的。圖2和圖3分別為訓(xùn)練過(guò)程和推理過(guò)程的網(wǎng)絡(luò)結(jié)構(gòu)。
(1)訓(xùn)練過(guò)程。以Resnet101為底層網(wǎng)絡(luò),將原版的FPN網(wǎng)絡(luò)中自頂向下路徑改為自底向上,并在FPN的P2~P5層加入空洞卷積構(gòu)建了高分辨率的特征融合網(wǎng)絡(luò)。特征融合后,特征金字塔網(wǎng)絡(luò)生成的各層特征進(jìn)入RPN。另外對(duì)RPN生成的每個(gè)錨框進(jìn)行二分類(lèi)判斷前景和背景,給出該錨框的前景得分并對(duì)其進(jìn)行位置回歸。為了減少計(jì)算量以及精確檢測(cè)結(jié)果需要對(duì)錨框進(jìn)行篩選,選擇適合的錨框進(jìn)行檢測(cè)。隨后對(duì)篩選出來(lái)的錨框進(jìn)行RoIAlign,將錨框映射回特征圖,再由映射回特征圖的錨框得到固定大小的特征區(qū)域,隨后對(duì)每個(gè)特征區(qū)域進(jìn)行分類(lèi)、回歸和掩碼分割,并與真實(shí)值作比較,分別計(jì)算損失。最后依據(jù)整體損失,調(diào)整參數(shù),在不斷訓(xùn)練中最小化損失函數(shù)。損失函數(shù)為
L=Lcls+Lbox+Lmask(1)
其中,Lcls和Lbox分別表示類(lèi)別損失函數(shù)和邊框回歸函數(shù),其計(jì)算方式與Faster R-CNN中的Lcls和Lbox計(jì)算方式相同。Lmask是分割分支的損失,mask分支會(huì)輸出k×m×m的特征圖,其中k表示輸出的維度,每個(gè)維度表示一個(gè)類(lèi)別,m×m表示特征圖大小。Lmask采用平均二值交叉熵函數(shù),只計(jì)算對(duì)應(yīng)類(lèi)別維度的mask損失。
(2)推理過(guò)程。推理過(guò)程與訓(xùn)練網(wǎng)絡(luò)有所區(qū)別,以Resnet-101為主干網(wǎng)絡(luò),將原版FPN中自頂向下路徑改為自底而上,且加入空洞卷積,提出新的特征融合結(jié)構(gòu)。在融合網(wǎng)絡(luò)深淺層特征后,RPN網(wǎng)絡(luò)對(duì)每個(gè)生成的錨框進(jìn)行二分類(lèi),判斷其為前景或者背景,以前景得分篩選出合適的錨框,進(jìn)行RoIAlign操作,再對(duì)每個(gè)特征區(qū)域進(jìn)行分類(lèi)、回歸和掩碼分割。
2 實(shí)驗(yàn)
本次實(shí)驗(yàn)數(shù)據(jù)集為人體圖像數(shù)據(jù)集,數(shù)據(jù)集中的圖片在COCO數(shù)據(jù)集選取或者從網(wǎng)絡(luò)下載得到。本次實(shí)驗(yàn)數(shù)據(jù)集加上背景類(lèi)共有兩類(lèi),其中訓(xùn)練集圖像2 000張,驗(yàn)證圖像200張,測(cè)試圖像500張。每張圖片中最少有一個(gè)人體實(shí)例。通過(guò)labelme制作相應(yīng)的掩碼標(biāo)簽,并標(biāo)記真實(shí)類(lèi)別。深度卷積網(wǎng)絡(luò)需要大量數(shù)據(jù)進(jìn)行訓(xùn)練,為了防止過(guò)擬合問(wèn)題的出現(xiàn),得到更好性能的網(wǎng)絡(luò)模型,在訓(xùn)練階段使用數(shù)據(jù)增強(qiáng)技術(shù)對(duì)數(shù)據(jù)進(jìn)行了擴(kuò)充,對(duì)圖片進(jìn)行隨機(jī)旋轉(zhuǎn)。對(duì)原始圖片進(jìn)行旋轉(zhuǎn),圖片對(duì)應(yīng)的掩碼也會(huì)做相應(yīng)的旋轉(zhuǎn)。圖4所示為旋轉(zhuǎn)后的圖片及其對(duì)應(yīng)的掩碼。
在訓(xùn)練階段,將原圖、真實(shí)框、labelme標(biāo)記的真實(shí)掩碼標(biāo)簽和真實(shí)類(lèi)別輸入網(wǎng)絡(luò)。使用Resnet101作為主干網(wǎng)絡(luò),得到C1到C5不同尺度的特征圖,依次對(duì)C2到C5層的特征圖進(jìn)行降采樣并與其上一層經(jīng)過(guò)降維之后的特征圖進(jìn)行融合,得到特征圖P2到P5,尺寸大小分別為[256,256,256],[128,128,256],[64,64,256],[32,32,256]。在特征融合過(guò)程中使用不同尺度的空洞卷積以得到不同感受野的特征信息,為了消除特征圖相加造成的特征混亂,使用3×3卷積對(duì)P2到P5層特征圖進(jìn)行卷積操作,得到的特征圖作為后續(xù)RPN和全連接層的輸入。根據(jù)各個(gè)特征層的大小得到多個(gè)面積和長(zhǎng)寬比不同的邊界框,這些邊界框稱(chēng)為錨框。訓(xùn)練階段,將每個(gè)錨框視為一個(gè)訓(xùn)練樣本,生成的錨框信息包括前/背景得分和偏移量。通過(guò)RPN網(wǎng)絡(luò)輸出全部錨框的信息,用于訓(xùn)練RPN損失,訓(xùn)練時(shí),對(duì)前景得分進(jìn)行排序,保留前景得分最高的6 000個(gè)錨框,為了確保不會(huì)出現(xiàn)過(guò)于重復(fù)的推薦區(qū)域,修正調(diào)整得到候選框,通過(guò)非極大值抑制操作保留2 000個(gè)候選框。與目標(biāo)框的交并比(Intersection over Union,IoU)不小于0.5的候選框記為正樣本,否則記為負(fù)樣本。從2 000個(gè)候選框中選取200個(gè)進(jìn)行后續(xù)訓(xùn)練,其中33%為正樣本。根據(jù)正樣本與真實(shí)框的重疊率,確定參與訓(xùn)練的候選框的對(duì)應(yīng)標(biāo)簽,用于掩碼分支的訓(xùn)練,在其類(lèi)別掩碼上計(jì)算損失函數(shù)。其中IoU的計(jì)算如圖5所示。在測(cè)試階段,骨干網(wǎng)絡(luò)同樣采用Resnet101和改進(jìn)之后的FPN對(duì)圖像進(jìn)行特征提取和融合,進(jìn)行RPN操作后,對(duì)其輸出的前景得分進(jìn)行排序,再通過(guò)非極大值抑制保留1 000個(gè)候選框,對(duì)這1 000個(gè)候選框進(jìn)行ROIAlign操作,將其映射成固定大小相應(yīng)的特征區(qū)域,最后對(duì)候選框分類(lèi),回歸和Mask生成。本次實(shí)驗(yàn)使用的深度學(xué)習(xí)框架是keras,在圖片輸入的時(shí)候?qū)D片縮放到1 024×1 024大小,為每個(gè)GPU 處理1張圖片,錨框的大小設(shè)置為(32、64、128、256、512),每個(gè)尺寸對(duì)應(yīng)生成寬高比分別為(0.5、1.0、2.0)的錨框,經(jīng)過(guò)130次迭代,學(xué)習(xí)率為0.02,權(quán)重衰減為0.0001,動(dòng)量為0.9。在Nvidia GeForce GTX 1080ti GPU上進(jìn)行實(shí)驗(yàn),圖6是訓(xùn)練損失函數(shù)曲線,曲線總體呈下降趨勢(shì)。
為了驗(yàn)證本文中提出模型的有效性,將本文的模型進(jìn)行實(shí)例分割并與Mask R-CNN算法進(jìn)行了對(duì)比,圖7是Mask R-CNN模型與本文模型得到的實(shí)例分割對(duì)比圖。圖7(a)、(c)是本文算法的分割效果圖,圖7(b)、(d)是Mask R-CNN算法的分割效果圖,其中第1,4,7列為實(shí)驗(yàn)結(jié)果原圖,第2,3,5,6,8列為結(jié)果的細(xì)節(jié)圖。通過(guò)圖7的實(shí)例分割對(duì)比圖來(lái)看,本文的模型的分割結(jié)果在邊緣上與目標(biāo)更加貼和,如圖7第5列人體分割圖中,Mask R-CNN算法得到的效果圖有著明顯缺失,本文模型則可以得到更為精準(zhǔn)的分割效果。因?yàn)樵谔卣魅诤线^(guò)程中使用自底向上的結(jié)構(gòu)可以保留更多的空間位置信息,且空洞卷積可以保持特征圖尺寸不變,在一定程度上減少信息損失,提高分割的準(zhǔn)確度。
本文以Mask R-CNN算法為比較對(duì)象,在不同的IoU閾值下分別計(jì)算平均準(zhǔn)確率(average precision,AP)來(lái)評(píng)價(jià)本文的性能,AP以召回率為橫坐標(biāo),精確率為縱坐標(biāo),繪制精確率—召回率曲線,曲線下方的面積為AP
AP=∫10P(R)dR (2)
其中,P為精確率,R為召回率,P=TP/(TP+FP)、R=TP/(TP+FN),其中,TP表示被正確預(yù)測(cè)為正樣本的數(shù)量,F(xiàn)P表示負(fù)樣本被預(yù)測(cè)為正樣本的數(shù)量,F(xiàn)N表示正樣本被預(yù)測(cè)為負(fù)樣本的數(shù)量。AP的評(píng)價(jià)指標(biāo)如表1所示,計(jì)算結(jié)果如表2,可知,與Mask R-CNN算法相比,IoU=0.7,0.8和0.9時(shí)本算法準(zhǔn)確率分別提高了0.26,0.41和0.59,實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證了本文方法的有效性,自底向上的特征融合、多尺度空洞卷積的引入使得本文算法分割精度得到了提升,本文方法有著更高的精度。
3 結(jié)論
本文對(duì)Mask R-CNN算法進(jìn)行部分修改做人體實(shí)例分割,將原有Mask R-CNN算法的FPN結(jié)構(gòu),加入空洞卷積進(jìn)行特征融合。在新的人體數(shù)據(jù)集上進(jìn)行對(duì)比試驗(yàn),并對(duì)本文算法的性能加以分析,可知,通過(guò)使用自底向上的特征融合路徑和加入空洞卷積,在一定程度上保留了更多的空間位置信息,擴(kuò)大感受野,保持了全局特征的穩(wěn)定性。通過(guò)對(duì)比實(shí)驗(yàn)結(jié)果,本文提出的算法改善了Mask R-CNN算法中的邊緣分割失誤的問(wèn)題提升了平均精度。但本文仍存在著問(wèn)題,細(xì)節(jié)分割的邊界不精準(zhǔn),例如人的毛發(fā),這是實(shí)例分割中的難點(diǎn),也是未來(lái)研究的重點(diǎn)。
參考文獻(xiàn)
[1]GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]// 27th IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Columbus, 2014:580-587.
[2]GIRSHICK R. Fast R-CNN[C]//2015 IEEE International Conference on Computer Vision (ICCV). Santiago, 2015:1440-1448.
[3]REN S, HE K, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[C]// 29th Annual Conference on Neural Information Processing Systems (NIPS), Montreal, 2015: 1137-1149.
[4]REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: Unified, real-time object detection[C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition(CVPR). Seattle, 2016:779-788.
[5]REDMON J, FARHADI A. YOLO9000: Better, faster, stronger[C]//30th IEEE Conference on Computer Vision and Pattern Recognition(CVPR). Honolulu, 2017:6517-6525.
[6]LONG J, SHELLHAMER E, DARRELL T. Fully convolutional networks for semantic segmentation[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition(CVPR). Boston, 2015:3431-3440.
[7]CHEN L, PAPANDREOU G, KOKKINOS I, et al. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs[J]. IEEE transations on pattern analysis and machine intelligence, 2018,40(4):834-848.
[8]DAI J, HE K, SUN J. Pyramid scene parsing network[C]//30th IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Honolulu, 2017:6230-6239.
[9]HE K, GKIOXARI G, DOLLAR P, et al. Mask R-CNN[C]//16th IEEE International Conference on Computer Vision(ICCV). Venice, 2017:2980-2988.
[10] HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Seattle 2016: 770-778.
[11] LIN T .Y, DOLLAR P, DIRSHICK R, et al. Feature pyramid networks for object detection[C]//30th IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu, 2017:936-944.
[12] 于蘭蘭,張志梅,劉堃,等.侯選框算法在車(chē)輛檢測(cè)中的應(yīng)用分析[J].青島大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,31(2):67-74.
Person Instance Segmentation Algorithm Based on Dilated Convolution
WANG Chong,ZHAO Zhi-gang,PAN Zhen-kuan,YU Xiao-kang
(College of Computer Science and Technology, Qingdao University, Qingdao 266071, China)
Abstract:
Aiming at the problem of multiple pose and complex background in person instance segmentation, a high-precision instance segmentation algorithm is proposed. By making use of the detailed information in the process of feature fusion of Mask R-CNN, the problem of inaccurat edge segmentation in person instance segmentation is improved, and the accuracy of person instance segmentation is improved. The feature fusion process of feature pyramid is improved. The original top-down path is changed to bottom-up path to retain more spatial details in the shallow feature map, and multi-scale dilated convolution is added in the feature fusion process to increase the receptive field of the feature map while keeping the resolution feature map unchanged, which can avoid information loss caused by down sampled. A new person image dataset is established from COCO dataset and network platform. Finally, compared with the Mask R-CNN, the proposed algorithm improves the accuracy by 0.26, 0.41 and 0.59 when the IOU is 0.7, 0.8 and 0.9 respectively. Experimental results show that algorithm can get more accurate person segmentation effect on the new person image dataset.
Keywords:
instance segmentation; dilated convolution; multi-scale feature fusion