代碼地址:https://github.com/hszhao/ICNet
論文地址:https://arxiv.org/abs/1704.08545
1. Introduction
??本文的貢獻(xiàn)是利用低分辨率圖像的處理效率和高分辨率圖像的高推斷質(zhì)量,并提出圖像級(jí)聯(lián)框架來逐步細(xì)化分段預(yù)測。這個(gè)想法是首先讓低分辨率圖像通過完整的語義感知網(wǎng)絡(luò)來獲得粗略的預(yù)測圖一睁。然后提出的級(jí)聯(lián)融合單元引入中高分辨率圖像特征肿仑,并逐步改進(jìn)粗略語義映射泪漂。
- ·提出了圖像級(jí)聯(lián)網(wǎng)絡(luò)(ICNet)豁护,該網(wǎng)絡(luò)利用低分辨率的語義信息以及高分辨率圖像的細(xì)節(jié)速缨。
- ICNet實(shí)現(xiàn)了5倍以上的推理加速杏头,并將內(nèi)存消耗減少了5倍以上盈包。
- 提出的快速語義分割系統(tǒng)可以以30.3 fps的速度以1024×2048的分辨率運(yùn)行,同時(shí)實(shí)現(xiàn)高質(zhì)量的結(jié)果醇王。
2. Related Work
Fast Semantic Segmentation
??快速語義分割在對(duì)象檢測中呢燥,速度成為系統(tǒng)設(shè)計(jì)中的一個(gè)重要因素。近來 Yolo 和SSD 大大改善了它寓娩。相反叛氨,在語義分割中研究高推斷速度的研究剛剛開始。 SegNet 放棄一些層來減少層參數(shù)棘伴,ENet是一個(gè)輕量級(jí)的網(wǎng)絡(luò)寞埠。這些方法大大提高了效率。但準(zhǔn)確性令人擔(dān)憂焊夸。
Video Segmentation Architectures
??最近的Clockwork 給出了穩(wěn)定的視頻輸入仁连,重用了特征圖。深層特征流是基于小規(guī)模光流網(wǎng)絡(luò)將特征從關(guān)鍵幀傳播到其他特征流阱穗。我們注意到當(dāng)一個(gè)高精度的快速圖像語義分割框架出現(xiàn)時(shí)饭冬,視頻分割也將受益。
??本文的工作為快速的語義分割提供了分層結(jié)構(gòu)揪阶。它本質(zhì)上與 Refinenet中的方法不同昌抠,后者側(cè)重于在單個(gè)正向通道中融合來自不同層的特征以提高性能。相反鲁僚,我們的圖像級(jí)聯(lián)網(wǎng)絡(luò)采用級(jí)聯(lián)圖像作為輸入來加速推理并構(gòu)建實(shí)時(shí)分割系統(tǒng)炊苫。
3. Time Analysis
3.1. Time Budget
??除了圖像分辨率裁厅,網(wǎng)絡(luò)的寬度和卷積核數(shù)量也影響著運(yùn)行時(shí)間,比如在stage4和stage5特征圖的空間分辨率一樣劝评,但是stage5 的運(yùn)行時(shí)間是stage4的4倍姐直,因?yàn)閟tage5的卷積核數(shù)量是stage4的兩倍。
3.2 Intutive SpeedUp
??輸入下采樣:圖像分辨率是影響速度的最關(guān)鍵因素蒋畜,因?yàn)橐陨戏治鲲@示声畏,與全分辨率圖像相比,半分辨率圖像僅使用四分之一時(shí)間姻成。一種簡單的方法是將小分辨率圖像用作輸入插龄,我們測試比例為1/2和1/4的下采樣圖像,并將生成的圖像輸入基于FCN的框架科展,如PSPNet均牢。獲得預(yù)測后,我們直接將其上采樣到原始大小才睹。
??特征下采樣: 除了直接對(duì)輸入圖像進(jìn)行降采樣以外徘跪,另一個(gè)直接的選擇是在推理過程中按較大的比例縮小功能圖。 FCN 對(duì)其進(jìn)行了32倍取樣琅攘,DeepLab 進(jìn)行了8倍下采樣垮庐。我們使用1:8,1:16和1:32的下采樣比測試PSPNet50。較小的特征映射可以以犧牲預(yù)測準(zhǔn)確度為代價(jià)產(chǎn)生更快的推斷坞琴。丟失的信息同樣包含在低層次的信息中哨查。另外,考慮到即使使用1:32比例的最小特征圖剧辐,系統(tǒng)在推斷中仍然需要大約131ms寒亥。實(shí)時(shí)分割的目標(biāo)仍然存在差距。
??模型壓縮: 對(duì)于每個(gè)濾波器,首先計(jì)算濾波核權(quán)重weights的L1的和;然后,對(duì)L1和進(jìn)行降序排序,僅保留前k個(gè)更有意義的值.試驗(yàn)對(duì)比如表2所示:
4. Our Image Cascade Network
4.1. Main structures and Branches
低分辨率
??低分辨率所提出的框架如圖所示荧关「绒龋縮放1的輸入全分辨率圖像在縮放1/2和1/4的縮放后生成兩個(gè)較低分辨率的圖像。這些級(jí)聯(lián)圖像分三路輸入我們的ICNet忍啤。對(duì)于最低分辨率輸入加勤,它通過頂級(jí)分支,這是一個(gè)基于FCN的PSPNet架構(gòu)檀轨。由于輸入尺寸僅為原始尺寸的四分之一,因此卷積層相應(yīng)地縮小了1/8的比例尺特征貼圖欺嗤,并且產(chǎn)生了原始空間尺寸的1/32参萄。然后使用幾個(gè)膨脹的卷積層來放大接收?qǐng)龆幌虏蓸涌臻g尺寸,輸出具有原始尺寸1/32尺寸的特征圖煎饼。
中分辨率
??對(duì)于1/2尺寸的中分辨率圖像讹挎,它在第二個(gè)分支中處理。通過幾個(gè)降采樣率為8的卷積層,輸出特征圖的大小為原始圖的1/16筒溃。為了將1/16大小的特征圖與頂部分支中的1/32大小的特征圖融合马篮,我們提出了一個(gè)將在本文后面討論的級(jí)聯(lián)特征融合(CFF)單元。這種融合產(chǎn)生了具有原始分辨率1/16的組合特征映射怜奖。值得注意的是浑测,卷積參數(shù)可以在1/4和1/2分辨率輸入之間共享,從而節(jié)省了計(jì)算量并減少了參數(shù)數(shù)量歪玲。
高分辨率
??對(duì)于高分辨率圖像迁央,與第二個(gè)分支中的操作類似,它由幾個(gè)卷積層處理滥崩,降采樣率為8岖圈,得到1 / 8尺寸特征圖。由于中分辨率圖像已經(jīng)恢復(fù)了低分辨率圖像中缺失的大部分語義上有意義的細(xì)節(jié)钙皮,因此我們可以安全地限制處理高分辨率輸入時(shí)的卷積圖層數(shù)量蜂科。
??這里我們只使用三個(gè)卷積層,每個(gè)卷積層的內(nèi)核大小為3×3短条,步幅2將分辨率減小到原始輸入的1/8导匣。與分支2中描述的融合類似,我們使用CFF單元在第三分支中以全分辨率合并先前CFF單元的輸出和當(dāng)前特征地圖慌烧。最后逐抑,我們得到原始地圖尺寸的1/8。
級(jí)聯(lián)標(biāo)簽引導(dǎo)
??對(duì)于每個(gè)分辨率下的輸出特征映射屹蚊,我們首先將其上采樣2倍厕氨,這將在稍后描述CFF單元時(shí)詳述。為了加強(qiáng)學(xué)習(xí)過程汹粤,我們采用級(jí)聯(lián)標(biāo)簽引導(dǎo)策略命斧。它使用1 / 16,1 / 8和1/4的地面真值標(biāo)簽來指導(dǎo)低,中和高分辨率輸入的學(xué)習(xí)階段嘱兼。在測試階段国葬,簡單地放棄低和中指導(dǎo)操作,只保留高分辨率分支芹壕。這種級(jí)聯(lián)標(biāo)簽指導(dǎo)在降低推理成本的同時(shí)不會(huì)降低我們的最終結(jié)果的準(zhǔn)確性非常有效汇四。
??該級(jí)聯(lián)標(biāo)簽制導(dǎo)策略授予每個(gè)分支的輔助學(xué)習(xí)促進(jìn),使得梯度優(yōu)化更加平滑以便于訓(xùn)練迭代踢涌。隨著每個(gè)分支學(xué)習(xí)能力的增強(qiáng)通孽,最終的預(yù)測圖遠(yuǎn)沒有被任何一個(gè)分支支配。同時(shí)睁壁,在測試期間放棄引導(dǎo)部分是效率方面的一種收益背苦。
4.2. Branch Analysis
??同時(shí)互捌,在我們的ICNet中,最深層的網(wǎng)絡(luò)結(jié)構(gòu)最多只適用于低分辨率數(shù)據(jù)行剂,能夠有效地提取大多數(shù)語義信息秕噪。因此,即使超過50層厚宰,推理操作和內(nèi)存消耗也不大腌巾,分別為18ms和0.6GB。以下部分的實(shí)驗(yàn)分析將說明更多的統(tǒng)計(jì)數(shù)據(jù)固阁。
??分支2中有17個(gè)卷積層壤躲,分支3中只有3個(gè)卷積層。通過這些少量的控制層來處理中值和高分辨率的輸入數(shù)據(jù)备燃,來自分支2和3的推理操作總數(shù)受到很好的約束碉克。與此同時(shí),分支2中的卷積層與第一分支共享權(quán)重和計(jì)算并齐。因此漏麦,使用兩個(gè)分支僅花費(fèi)6ms來構(gòu)建融合特征映射。
??第三分支層次更少况褪。雖然分辨率很高撕贞,但分支三的推斷時(shí)間僅為9毫秒。通過所有這三個(gè)分支测垛,我們提出的ICNet成為一個(gè)非常高效和內(nèi)存友好的體系結(jié)構(gòu)
4.3. Difference from Other Cascade Structures
??其他幾個(gè)分割框架也納入了多尺度結(jié)構(gòu)捏膨。 FCN 和DeepLab-MSC 對(duì)多分辨率預(yù)測圖進(jìn)行求和以生成最終得分圖。 SegNet 和UNet在去卷積過程中采用跳躍連接來開發(fā)中層特征.LRR 應(yīng)用了金字塔重建架構(gòu)食侮,其中特征地圖從下到上重建号涯。RefineNet 使用遠(yuǎn)程剩余連接融合來自不同層的多路徑特征映射。
??我們注意到這些方法專注于融合來自單一尺度輸入或多尺度輸入的不同層的特征锯七。所有輸入數(shù)據(jù)都通過整個(gè)網(wǎng)絡(luò)链快。考慮到高分辨率輸入眉尸,它們都面臨著昂貴計(jì)算的同樣問題域蜗。我們的ICNet使用低分辨率輸入通過主語義分割分支并采用高分辨率信息來幫助細(xì)化,這些方法在性質(zhì)上與所有這些方法都不同噪猾。重新繪制的特征地圖大大減少霉祸,同時(shí)仍然保持必要的細(xì)節(jié)。
5. Cascade Feature Fusion and Final Model
??為了結(jié)合來自不同分辨率圖像的級(jí)聯(lián)特征袱蜡,我們最終提出了如圖6所示的級(jí)聯(lián)特征融合(CFF)單元丝蹭。該單元的輸入包含三個(gè)分量:分辨率為H1×Wi×C1和H2×W2×C2的兩個(gè)特征地圖Fi和F2,真實(shí)標(biāo)簽分辨率為H2×W2×1.F2的尺寸是 F1的尺寸的2倍戒劫。上采樣應(yīng)用于使Fi尺寸與F2相同半夷。然后應(yīng)用一個(gè)尺寸為3×3和膨脹1的擴(kuò)張卷積層來改善上采樣特征。
??這種擴(kuò)張卷積可以組合來自多個(gè)原始相鄰像素的特征信息迅细,而直接上采樣使得每個(gè)像素僅取決于一個(gè)位置巫橄。與原始特征的去卷積操作相比,擴(kuò)張卷積只需要小的內(nèi)核茵典。在我們的實(shí)現(xiàn)中湘换,對(duì)于特征F2,利用具有內(nèi)核大小1×1的投影卷積層以與特征Fi的輸出相同的尺寸來投影它统阿。
??然后使用兩個(gè)批處理標(biāo)準(zhǔn)化層來標(biāo)準(zhǔn)化這兩個(gè)特征彩倚。接著是具有'SUM'操作和'ReLU'層的元素層,我們得到融合特征F扶平,其具有與F2相同的分辨率帆离。為了加強(qiáng)對(duì)Fi的學(xué)習(xí),我們對(duì)上采樣的Fi使用輔助標(biāo)簽指導(dǎo)结澄。如[33]中的輔助損失權(quán)重設(shè)置為0.4哥谷。
5.1. The Loss Function
??三個(gè)分支分別由三個(gè)損失:L1,L2,L3
6. Experimental Evaluation
??我們的網(wǎng)絡(luò)結(jié)構(gòu)對(duì)PSPNet進(jìn)行修改。我們將金字塔池模塊中的拼接操作改為求和麻献,從而將特征長度從4096減少到2048.我們將金字塔合并后的卷積層中的內(nèi)核大小從原始3×3更改為1×1们妥。它對(duì)最終準(zhǔn)確度影響不大,但可以大量節(jié)省計(jì)算量勉吻。為了訓(xùn)練超參數(shù)监婶,最小批量大小設(shè)置為16.基本學(xué)習(xí)率為0.01,采用“聚”學(xué)習(xí)速率策略齿桃,power為0.9惑惶,最大迭代次數(shù)為30k。動(dòng)量為0.9源譬,weight decay為0.0001集惋。數(shù)據(jù)增加包含隨機(jī)鏡像和調(diào)整大小在0.5和2之間。