????????LEDNet發(fā)表于2019年5月,LEDNet采用的是非對稱結(jié)構(gòu)的網(wǎng)絡(luò)來實(shí)現(xiàn)實(shí)時的語義分割。在編碼階段痘昌,編碼器采用了resnet作為backbone,每個resnet block利用通道分離和shuffle操作來降低計(jì)算量的同時保證了準(zhǔn)確率,另一方面辆苔,在解碼階段算灸,采用注意力金字塔網(wǎng)絡(luò)(APN)來進(jìn)一步的降低整個網(wǎng)絡(luò)的復(fù)雜性。
? ??????編碼器的核心單元是一個新穎的殘差模塊(如圖1.d所示驻啤。模塊取名SS-bnt)菲驴,該模塊利用跳躍連接以及通道split和shuffle的卷積。跳躍連接允許卷積學(xué)習(xí)有助于訓(xùn)練的殘差函數(shù)骑冗,split and shuffle操作增強(qiáng)了通道間的信息交換赊瞬,同時保持了與一維分解卷積相似的計(jì)算成本。在解碼器中贼涩,作者設(shè)計(jì)了一個注意力金字塔網(wǎng)絡(luò)(APN)來提取密集特征巧涧,而不是使用復(fù)雜的卷積[20]來提取密集特征,其中注意力機(jī)制用于估計(jì)每個像素的語義標(biāo)簽遥倦。
????????作者指出谤绳,根據(jù)參考文獻(xiàn)21所指出,1x1卷積網(wǎng)絡(luò)占據(jù)了大多數(shù)的計(jì)算資源袒哥,因此缩筛,在設(shè)計(jì)SS-bnt模塊時,作者取消了1x1卷積堡称,采用的是一維分解卷積(1x3瞎抛,3x1)來代替。
? ? ? ? 為了降低計(jì)算復(fù)雜度粮呢,在每個SS-nbt開始的時候婿失,輸入被分離到兩個低緯度的分支钞艇,每一個分支都獲得了輸入的一半通道數(shù)啄寡,為了避免1x1卷積,作者采用了專門的一維卷積(例如1x3哩照,3x1)挺物,最后兩個分支的卷積通過concatenate合并到一起,這樣飘弧,輸出和輸入的通道數(shù)目就保證了一致识藤。為了促進(jìn)訓(xùn)練,輸出還與上輸入進(jìn)行了相加次伶,然后痴昧,利用了文獻(xiàn)[21]的channel shuffle 操作,將輸出進(jìn)行channel shuffle 操作來保證兩個分支之間的信息交流冠王。這就是整個的SS-nbt模塊赶撰,一個SS-nbt完成后,輸出又作為下一個SS-nbt模塊的輸入。該模塊不僅高效豪娜,而且保證了準(zhǔn)確率餐胀。因?yàn)?.首先,每個SS-nbt的高效率使我們能夠使用更多的特征通道2.在每個SS-nbt單元中瘤载,將兩個分支組合起來的特征通道又進(jìn)行了隨機(jī)的shuffle操作否灾,又被送人到下一個SS-nbt模塊,這可以被事為是一種特征的重用鸣奔,在某種程度上擴(kuò)大了網(wǎng)絡(luò)的表現(xiàn)能力墨技,同時有沒有顯著的增加復(fù)雜性。
網(wǎng)絡(luò)的模型圖如圖2所示挎狸。
網(wǎng)絡(luò)中各個特征圖大小以及空洞卷積率如圖3所示健提。
作者針對于編碼器中同樣采取了下采樣模塊,下采樣模塊是2個3x3卷積外加一個Maxpooling層構(gòu)成伟叛。
對于其解碼模塊私痹,文中的解釋不是很直觀,大家可以結(jié)合網(wǎng)上的復(fù)現(xiàn)源碼進(jìn)行理解统刮,就非常清楚了紊遵。在這里,我結(jié)合源碼給大家闡述一下解碼器部分的組成侥蒙。
如圖4所示暗膜,首先3,5鞭衩,7分別是不同的卷積和大小学搜,然后獲取得到不同感受野尺寸,之后论衍,在每個特征圖下接一個卷積網(wǎng)絡(luò)瑞佩,輸出通道數(shù)是類別數(shù)目,如圖4中的黑色模塊坯台。接著紫色的模塊是上采樣炬丸,然后“+”是特征圖之間逐元素的相加,綠色的特征圖模塊是通過逐元素相乘得到的蜒蕾,最右邊采用全局池化來獲得全局信息稠炬。
最后來展示一下LEDNet和其他網(wǎng)絡(luò)的效果對比。
圖5可以看出咪啡,LEDNet在精度上達(dá)到了最高的水準(zhǔn)首启,同時在推理速度和網(wǎng)絡(luò)模型大小方面也取得了不錯的成績。