孫勁光,王 雪
(遼寧工程技術(shù)大學 電子與信息工程學院,遼寧 葫蘆島 125105)
實例分割是計算機視覺領域中的一個經(jīng)典任務,是目標檢測和語義分割兩項任務的組合任務,通過目標檢測定位圖像中每個單獨實例的位置,并對每個單獨實例標記類別信息,區(qū)分同一類別的實例。隨著深度學習的不斷發(fā)展,許多實例分割框架被提出,并推陳出新,目前廣泛應用于病灶檢測、無人駕駛、虛擬現(xiàn)實、安防監(jiān)控等領域,因此對實例分割精度和速度的要求也越來越高。
實例分割最早是Hariharan[1]等人受到RCNN 目標檢測的啟發(fā),于2014 年提出了SDS 模型,可以同時完成檢測與分割任務。2017 年,Li等人提出FCIS[2],是首個實現(xiàn)端到端訓練的圖像實例分割算法。隨著深度學習的不斷發(fā)展,2017 年,He 等人提出了Mask R-CNN[3]模型,在Faster RCNN[4]的基礎上添加了掩碼分支來預測分割掩膜,并設計RoIAlign 層,消除RoI Pooling 的量化誤差,采用雙線性插值的方法計算每個感興趣區(qū)域采樣點輸入特征值,保證提取特征與輸入對齊,得到了驚人的分割效果,為后續(xù)的圖像分割工作奠定了好的基礎。2019 年,Huang 等人針對Mask R-CNN 模型中以分類分支置信度作為掩膜質(zhì)量評價標準的問題,提出了Mask Scoring R-CNN[5]模型,采用預測掩膜與標注掩膜的交并比MaskIoU 來描述掩膜的分割質(zhì)量,并引入新的分支MaskIoU Head,將MaksIoU 與分類的分數(shù)相乘計算掩膜分數(shù),這樣的計算方式校準了掩碼質(zhì)量和掩碼得分之間的偏差,提升了分割性能。對于Mask R-CNN 的改進,Liu 等人還提出PANnet[6],引入了一種自適應特征池化,并設計了一種可以將不同層級特征融合的信息融合路徑。以上的工作在基于檢測框的實例分割領域取得了十分優(yōu)秀的效果,但同時也存在兩個問題:一是對于檢測框檢測不準確的物體,很難在后續(xù)得到精準的分割結(jié)果;二是基于檢測框進行分割時,要對物體進行逐像素計算,將導致計算量大、速度慢的問題。
不同于基于檢測框的實例分割方法,無錨框的實例分割方法是沿著物體的外圍輪廓進行劃分,解決了物體檢測框局限性的問題。2018 年,Liu 等人提出GMIS[7]模型,這是一種自底向上像素聚類的方法,用獨立的兩個子網(wǎng)絡分別產(chǎn)生語義分割結(jié)合和像素親和性信息,并利用語義分割的先驗信息,得到每一類別所有個體的像素區(qū)域。2020 年,Wang 等人提出CenterMask[8]模型,不依賴預先設定的感興趣區(qū)域(ROI)進行掩碼預測,將分割分成兩個子任務:局部形狀預測,從每個對象的中心點表示預測的粗略的形狀,以約束每個對象的局部區(qū)域;全局顯著性映射,預測整個圖像的顯著性圖,以實現(xiàn)精確分割,將兩分支的輸出相乘計算構(gòu)造出每個實例的掩碼。對于構(gòu)建物體輪廓的實例分割方法,Liu 等人于2017 年提出SGN[9]模型,構(gòu)建了序列組合網(wǎng)絡,采用由點到線再到區(qū)域的聚合方式,把像素聚合為線段,再對相鄰的線段進行判斷,進而得到一個連通區(qū)域,連通區(qū)域的組合結(jié)果即為實例分割的掩 膜。2020 年,Xie 等 人 提 出PolarMask[10]模 型,一種全卷積、無錨框的實例分割方法,以FCOS[11]目標檢測網(wǎng)絡為基礎,從4 根射線擴成36 根射線,以極坐標的方式對物體輪廓進行建模,不需要檢測框,把實例分割問題轉(zhuǎn)化為實例中心點分類問題和密集距離回歸問題,雖然在精度和速度上優(yōu)勢并不大,但對基于無錨框?qū)嵗指罘椒ǖ难芯坑兄艽蟮囊饬x。2020 年,Peng 等人提出Deep Snake[12]模型,以主動輪廓模型Snake[13-15]為基礎,采用深度學習的方式替代人為能量函數(shù),獲得更加逼近目標物體的輪廓,從而達到高精度的實例分割,且加快了計算速度。但是現(xiàn)有方法仍然存在小物體分割精度低,分割邊緣不平滑的問題。
針對現(xiàn)有方法的不足,本文提出了基于目標輪廓的實例分割網(wǎng)絡,采取漸進式的分割模型,內(nèi)部設計多尺度融合模塊進行特征融合,以迭代的方式多次將分割模塊輸出的偏移量進行計算,得到新的目標物體輪廓并作為輸入,以求得到最優(yōu)的分割結(jié)果,并配以一定的標準化方法減少目標物體對輪廓變形的影響。本文方法相較于Deep Snake 方法以及其他優(yōu)秀工作,在Cityscapes 數(shù)據(jù)集和KINS 數(shù)據(jù)集上,分割精度都有所提升。
1987 年Michael Kass 等 人 提 出 了Snake 算法,可以用于圖像實例分割。Snake 是一種主動輪廓模型,即預先給定一個初始輪廓,以初始輪廓為基礎進行逐步迭代,將得到的結(jié)果多次作為輸入,得到更加貼合圖像邊緣的輪廓,從而完成實例分割任務。Snake 算法將分割問題轉(zhuǎn)化為能量函數(shù)最小化的數(shù)學問題,利用首尾相連的閉合曲線的函數(shù)規(guī)律,設計能量函數(shù)控制曲線的形變,最終目標是得到最小化能量函數(shù)使閉合曲線充分貼合分割目標的邊緣,以此達到精確的物體分割結(jié)果。其中定義的能量函數(shù)包括輪廓能量和圖像能量,具體公式如公式(1)所示:
其中:Eint(v(s))是輪廓能量,即輪廓本身的能量也稱為內(nèi)部能量;Eimage(v(s))為圖像能量,即圖像上輪廓對應點的能量,也稱為外部能量;Econ(v(s))是方差相關項。
Snake 算法已經(jīng)被應用在很多模型設計中,但這種人為設計的函數(shù)很容易得到局部最優(yōu)解,對于邊緣不平整的目標,想要輪廓和目標物體達到理想的貼合度是不可能的,從而很難得到理想的分割效果。
目標檢測的主要任務是定位出圖像中實例個體的位置,是實例分割必不可少的一部分。CenterNet[16]是 在CornerNet[17]的 基 礎 上 進 行 改進,提出的一種無錨框的目標檢測方法。該方法只需將圖像輸入全卷積網(wǎng)絡,得到一個熱力圖,熱力圖峰值即目標物體的中心點,且通過峰值點預測目標物體的寬和高。CenterNet 提出了3 種backbone 的網(wǎng)絡結(jié)構(gòu),分別是Resnet-50、DLA-34和Hourglass-104。
本文采用基于DLA-34 的Centernet 目標檢測網(wǎng)絡,該網(wǎng)絡無錨框的檢測方式更適用于針對物體輪廓的實例分割方法。其中DLA-34 網(wǎng)絡是通過多級的跳躍連接,迭代地將網(wǎng)絡結(jié)構(gòu)的特征信息融合起來,讓模型有更高的精度和更少的參數(shù),可以加快網(wǎng)絡速度。
圓形卷積是一維卷積的一種特殊卷積形式,多數(shù)應用于離散信號。本文方法針對目標物體輪廓上的特征點進行特征提取,由于組成物體輪廓的點之間的關系是離散的,相較于圖像處理中常用的二維卷積,圓形卷積更加適合這種離散關系的特征計算。
圓形卷積的計算方式如圖1 所示,其中在下面圓形輪廓上的結(jié)點為輪廓上的輸入特征,內(nèi)部相連的結(jié)點為內(nèi)核函數(shù),在上面圓形輪廓上的結(jié)點是通過卷積后輸出的特征。圖中表示了輸出特征由輸入特征和內(nèi)核函數(shù)計算所得的過程,計算與標準卷積類似,圓形卷積輸出特征與輸入特征長度相同。
圖1 圓形卷積Fig.1 Circle convolution
將輪廓頂點視為一個離散的一維信號,f∶Z→RD,將它拓展為一組周期信號,輪廓特征的定義如公式(2)所示:
采用圓形卷積計算的周期特征,具體計算如公式(3)所示:
針對小物體分割不準確,邊緣不清晰問題,本文提出了基于目標輪廓的實例分割網(wǎng)絡(Instance segmentation network based on target contour points,TCPN),具體流程如圖2 所示,主要由目標檢測、構(gòu)建初始輪廓、計算偏移量3 個任務完成整個分割工作,通過3 次迭代的輪廓變形得到最終分割結(jié)果。在Deep Snake 的基礎上構(gòu)建漸進式分割網(wǎng)絡,對目標物體的邊緣分割得到更加準確的效果。構(gòu)建多尺度特征融合模塊,對漸進式分割網(wǎng)絡中經(jīng)過粗割模塊得到的特征經(jīng)過不同的空洞卷積,融合多個尺度的特征,減少淺層特征的丟失。
圖2 基于目標輪廓的實例分割網(wǎng)絡流程圖Fig.2 Flow chart of instance segmentation network based on target contour
Deep Snake 方法是采用深度學習的方式實現(xiàn)傳統(tǒng)Snake 算法,以構(gòu)建網(wǎng)絡模型的方式代替能量函數(shù)。通過對Deep Snake 實驗結(jié)果的觀察,發(fā)現(xiàn)對于自行車、行人這類邊緣不平滑的物體,分割結(jié)果很難逼近物體邊緣,從而降低了分割精度。針對這個問題,本文方法對Deep Snake 算法做了優(yōu)化改進,構(gòu)建了漸進式分割網(wǎng)絡,如圖3 所示。通過兩階段的分割模塊,由淺入深,以此使分割結(jié)果更好地逼近物體輪廓。通過漸進式分割網(wǎng)絡對輪廓上結(jié)點的特征進行學習,得到指向目標物體輪廓的偏移量,通過得到的偏移量變形輸入的輪廓,經(jīng)過多次迭代,得到最終的分割結(jié)果。
圖3 漸進式分割網(wǎng)絡Fig.3 Progressive segmentation network
漸進式分割網(wǎng)絡包括粗割模塊、多尺度融合模塊(Multi-scale-fusion module)、精割模塊和預測模塊。粗割模塊和精割模塊內(nèi)部都是由相同的Circonv-BN-Relu 層組成,包括圓形卷積、批量標準化和激活函數(shù),但數(shù)量和連接方式不一樣,由此達到一種漸進的效果。因為是對物體輪廓上的特征進行計算,而輪廓上的結(jié)點首尾相連,度為2,更類似于離散的信號,所以采用圓形卷積進行計算。粗割模塊內(nèi)部采用殘差[18-20]的連接方式,連接5 個Circonv-BN-Relu 層。精割模塊內(nèi)部采用類似于DenseNet[21-22]的連接方式,連接8 個Circonv-BN-Relu 層,通過這種連接方式可以更好地保留淺層特征,相較于粗割模型可以更好地提取輪廓上的特征值。
通過粗割模型對輪廓特征進行特征提取并將所有層的特征連接,通過1*1 卷積層和最大池化層將融合的特征和每個頂點的特征連接,以此得到一個初步輪廓特征,并保留與下一步的精割結(jié)果連接。將結(jié)果通過多尺度融合模塊后,輸入精割模塊,計算過程與粗割模型相同,加深了網(wǎng)絡并更大程度地保留了淺層信息。最后將粗割結(jié)果和精割結(jié)果連接并輸入預測模塊,對輪廓特征應用了3 個1*1 卷積層,得到最終的偏移。通過對偏移量和初始輪廓的坐標位置進行計算,得到目標物體輪廓,以此作為初始輪廓輸入分割模塊,完成迭代過程。
多尺度融合模塊如圖4 所示,由多個圓形卷積組成,為了得到多尺度的上下文信息,本文方法中采用的是卷積率為1、3、5 的空洞卷積分別提取特征,擴大感受野,防止經(jīng)過粗割模塊后大物體的特征丟失,將得到的不同感受野的特征進行拼接,通過1*1 卷積進行融合,再通過1*1 卷積輸出作為精割模塊的輸入。將多尺度融合模塊的設計加入漸進式分割網(wǎng)絡,作為粗割模塊后的特征融合和精割模塊前的特征處理,是出于實驗數(shù)據(jù)考慮,將在實驗部分具體介紹。
圖4 多尺度融合模塊Fig.4 Multi-scale fusion module
如圖5 所示,基于目標輪廓的實例分割過程通過CenterNet 目標檢測網(wǎng)絡,得到目標物體的中心點以及寬和高,從而得到檢測框。取矩形檢 測 框4 個邊的中心點,記為{P|i=1,2,3,4},將這4 個點連接成菱形,作為初始輪廓,輸入漸進式分割網(wǎng)絡,得到4 個偏移量,使P逼近P。
圖5 分割過程Fig.5 Segmentation process
通過上一步得到的P定義一個新的邊界框,以P點沿著邊界框延伸方向向兩側(cè)畫一條線段,長度為一條邊的1/4,連接4 個線段的端點形成八邊形。以這個八邊形為輸入,從P開始沿著八邊形輪廓均勻采樣N個點,記為{Pi|i=1,2,...N,N=128},且沿著目標物體輪廓均勻采樣N個點,通過漸進式分割網(wǎng)絡的計算,輸出N個偏移值,使初始輪廓向目標物體輪廓偏移。采用三次迭代的方式,使得圖像中目標物體無論遠近,都可以得到很好的分割結(jié)果。
在Deep Snake 算法中,為了使輪廓變形不受圖像中輪廓平移的影響,取輪廓上所有頂點的值減去最小的頂點值。本文為了更大程度地減少這種影響,在迭代過程中采用極差標準化,具體計算如下。
使輸入漸進式分割網(wǎng)絡的初始輪廓在[0,1]的有界范圍內(nèi),相應地可以使用激活函數(shù)tanh 使偏移量也縮小到固定范圍,輸出再對應寬高比例放大,這樣可以最大程度地減少對輪廓變形的影響。
針對漸進式分割方法采用Smooth L1方法設置兩個損失函數(shù)約束輪廓偏移,一個是取極值點Piep 時的損失函數(shù),記為
損失函數(shù)對應輪廓變形時的極差標準化操作,對物體坐標做等比例變換處理,這里p代表輪廓上標注的真實值。
針對Cityscapes 數(shù)據(jù)集中被遮擋而分為多部分的物體,由于數(shù)據(jù)集標注時是分別對多部分物體進行標注,若采用本文方法直接對整個物體進行實例分割,則會降低精度,因此采用二次檢測的方式對檢測框內(nèi)被分為多部分的物體進行再次檢測,這也是Deep Snake 中所采取的處理方式,具體方式如圖6 所示。
圖6 二次檢測網(wǎng)絡Fig.6 Secondary detection network
針 對 檢 測 框,使 用RoIAlign[2]方 法 來 提 取 特征圖,并在特征圖上添加一個檢測器分支對被遮擋的目標物體生成各部件的檢測框;對于檢測到的各部件,我們使用漸進式分割方法分別對它們進行分割,通過合并的方式得到最終的分割結(jié)果。
實例分割旨在解決不同實例個體像素分割的問題,為了提高網(wǎng)絡對復雜場景的理解能力,需要高清晰度、數(shù)量規(guī)模龐大的數(shù)據(jù)庫作為支撐。本文采取了以下兩個公開的大型數(shù)據(jù)集。
Cityscapes 數(shù) 據(jù) 集[23]:Cityscapes 數(shù) 據(jù) 集 是關于城市街道場景的語義理解圖片數(shù)據(jù)集。它主要包含來自50 個不同城市的街道場景,擁有5 000 張在城市環(huán)境中駕駛場景的高質(zhì)量像素級注釋圖像;此外,它有20 000 張粗糙標注的圖像。該數(shù)據(jù)集按照與城市場景的相關性,將30 個目標類別分為8 類數(shù)據(jù)集,最終的評價標準是根據(jù)數(shù)據(jù)集中8 個語義類的平均精度來評估。
KITTI 數(shù)據(jù)集是目前國際上最大的自動駕駛場景下的計算機視覺算法評測數(shù)據(jù)集,包含市區(qū)、鄉(xiāng)村和高速公路等場景采集的真實圖像數(shù)據(jù)集,每張圖像中最多達15 輛車和30 個行人,還有各種程度的遮擋和截斷。KINS 數(shù)據(jù)集[24]是對KITTI 數(shù)據(jù)集進行實例級語義標注得到的一組數(shù)據(jù)。該數(shù)據(jù)集目的是在遮擋下恢復完整的實例形狀,包括7 474 張訓練圖像和7 517 張測試圖像。根據(jù)它的設置,最終的評價標準是根據(jù)數(shù)據(jù)集中7 個對象類別的平均精度來評估的。
為了驗證本文所提出的基于目標輪廓的實例分割網(wǎng)絡在實例分割任務中的有效性,采用平均精度(Average Precision,AP)作為評價指標。平均精度是在圖像分割情況下,將每個結(jié)果與正確標注結(jié)果計算IoU,且IoU 從0.5~0.95 之間以0.05 為標準進行十等分,計算這10 個不同IoU 闕值下交并比的平均值,AP50是指IoU 闕值取0.5時的計算結(jié)果。
本文的實驗環(huán)境是Python3.7.0,操作系統(tǒng)為Ubuntu 18.04,主要基于開源的機器學習框架Pytorch1.3.1-gpu、CUDA 和CuDNN 來 實 現(xiàn)GPU 加速。本文使用Cityscapes 數(shù)據(jù)集和KINS數(shù)據(jù)集進行訓練,在Cityscapes 數(shù)據(jù)集上設計消融實驗和對比實驗,消融實驗通過測試多種擴張率的擴張卷積,驗證多尺度融合模塊的有效性,并得到效果最佳的一組擴張率;對比實驗通過和目前優(yōu)秀的實例分割工作進行對比,驗證本文方法的有效性;且通過KINS 數(shù)據(jù)集測試迭代次數(shù)對實例分割結(jié)果的影響,并驗證本文方法對存在遮擋部分的圖像進行分割的有效性。由于兩種實驗數(shù)據(jù)集的標注情況不同,所要實現(xiàn)的實驗結(jié)果不同,所以采取不同的模型文件進行訓練、驗證和測試。
在實驗過程中,對于八邊形作為初始輪廓時的采樣點個數(shù),本文設置N=128。實驗中也嘗試選取過N=256,不僅會降低分割精度,且大幅增加了運行時間。
4.4.1 迭代次數(shù)測試
在KINS 數(shù)據(jù)集下進行多次測試,確定最終TCPN 網(wǎng)絡模型中漸進式分割網(wǎng)絡的迭代次數(shù),圖7 顯示不同迭代次數(shù)下的實驗效果,經(jīng)過3 次迭代時實驗效果最佳。通過表1 的測試數(shù)據(jù)也不難看出,迭代次數(shù)為3 時實例分割精度最高。
圖7 不同迭代次數(shù)的實驗效果對比。(a)自行車和行人;(b)轎車;(c)轎車和較遠物體。Fig.7 Comparison of experimental effects with different iterations.(a)Bicycle and person;(b)Cars;(c)Cars and distance objects.
表1 不同迭代次數(shù)下的實驗效果Tab.1 Experimental results of different iterations
4.4.2 二次檢測模塊的表現(xiàn)
由于本文方法是通過閉合曲線進行實例分割,在Cityscapes 中進行實驗時,對于被遮擋而一分為多的數(shù)據(jù)情況,只能針對其中一部分。通過對物體進行二次檢測,識別其中的多部分,從而對每部分物體分別進行實例分割,得到最終結(jié)果,效果如圖8 所示。
圖8 二次檢測效果圖Fig.8 Experimental rendering of secondary detection
4.4.3 多尺度融合模塊的對比實驗
多尺度融合模塊的設計可以在粗割模塊和精割模塊中起到銜接作用,增強上下文語義信息,擴大感受野,從而得到更加精確的分割結(jié)果。對于多尺度融合模塊的有效性,本文做了對比實驗,表2 的實驗結(jié)果分別是不加多尺度融合模塊,和加不同擴張率的多尺度融合模塊的最終平均分割精度,表中-Multi-scale fusion module 代表不加多尺度融合模塊的實驗結(jié)果,+Multi-scale fusion module_1 代表加擴張率為2、4、8 的多尺度融合模塊的實驗結(jié)果,+Multi-scale fusion module_2 代表加擴張率為1、3、5 的多尺度融合模塊的實驗結(jié)果。通過表2 中的數(shù)據(jù)可以發(fā)現(xiàn),添加多尺度融合模塊有助于提升分割精度,尤其是對圖像中大物體的分割精度,減少了精度損失,且擴張率為1、3、5時分割精度最高。
表2 多尺度融合模塊實驗結(jié)果Tab.2 Experimental results of multi-scale fusion module
4.4.4 在Cityscapes 數(shù)據(jù)集上的表現(xiàn)
在Cityscapes 數(shù)據(jù)集上采用分段式訓練方式,先對檢測網(wǎng)絡CenterNet 進行訓練,再將訓練好的結(jié)果與漸進式分割網(wǎng)絡共同訓練。實驗中設置學習率lr=9le-5,batch-size=4,經(jīng)過訓練,最終的測試結(jié)果如圖9 所示。從圖9 中的實驗效果可以看出,基于目標輪廓的實例分割網(wǎng)絡可以很好地對圖片中的物體進行實例分割,如圖中的小汽車分割出的物體輪廓很好地貼合了物體邊緣,對于較遠、較小的物體也都很好地給出了物體輪廓。通過表3 和表4 中的實驗數(shù)據(jù)也不難發(fā)現(xiàn),本文方法相較于Mask R-CNN 經(jīng)典的基于檢測框的實例分割方法,無論在整體實例分割精度還是部分物體實例分割精度都有明顯優(yōu)勢;相較于PANet 自底向上“雙塔戰(zhàn)術(shù)”的方法,在平均精度以及部分實例物體的分割精度都有所提升;對比Deep Snake 方法,平均精度也提升了0.7%AP 和1.5%AP50。
表3 Cityscapes 數(shù)據(jù)集實驗結(jié)果(AP)Tab.3 Results from the Cityscapes dataset(AP)
表4 Cityscapes 數(shù)據(jù)集實驗結(jié)果(AP50)Tab.4 Results from the Cityscapes dataset(AP50)
圖9 Cityscapes 數(shù)據(jù)集實驗效果Fig.9 Experimental effect of Cityscpes dataset
4.4.5 在KINS 數(shù)據(jù)集上的表現(xiàn)
將檢測網(wǎng)絡CenterNet 與漸進式分割網(wǎng)絡共同訓練。實驗中設置學習率lr=le-4,batchsize=4,經(jīng)過訓練后,得到最終的測試結(jié)果如圖10 所示。從圖10 中的實驗效果可以看出,圖像中即使部分物體被遮擋,也可以很好地滿足數(shù)據(jù)集要求得到正確的分割結(jié)果,且對于圖中小汽車、自行車和行人的分割輪廓貼合目標物體,光滑無突出棱角。通過表5 中的實驗結(jié)果可以看出,在KINS 數(shù)據(jù)集中,本文方法較目前其他優(yōu)秀工作在平均分割精度上有所提高,對比Deep Snake 方法提升了0.7%AP。
表5 KINS 數(shù)據(jù)集實驗結(jié)果Tab.5 Results from the KINS dataset
圖10 KINS 數(shù)據(jù)集實驗效果Fig.10 Experimental effect of KINS dataset
本文針對實例分割中存在小物體分割慢、分割精度低、分割邊緣不平滑等,提出了基本目標輪廓的實例分割方法。通過提取物體輪廓上的結(jié)點,可加快分割速度;通過漸進式分割網(wǎng)絡,多層次提取輪廓特征,再進行多尺度融合,利用擴張的圓形卷積增大感覺野,豐富了特征細節(jié);通過極差標準化降低輪廓對輪廓回歸變形的影響。算法在實驗數(shù)據(jù)集Cityscapes 和KINS 中的分割精度達到了32.4%和32.0%,分割邊緣的平滑程度與貼合程度更佳,實驗結(jié)果驗證了算法的有效性和正確性。