一个RGB-T工作的小小感悟与总结
作者丨戰(zhàn)斗系牧師@知乎(已授權(quán))
來源丨h(huán)ttps://zhuanlan.zhihu.com/p/421925918
編輯丨極市平臺
首先,非常激動的和大家說一個本應(yīng)該三個多月前就激動的一個消息,就是我們的FEANet的工作在IROS-2021上被接收了,當(dāng)然這絕對離不開老師和師兄,所以在開頭先感激一下老師和師兄。也應(yīng)各位很想知道我干了啥的同學(xué)的需求,如果有機(jī)會的話,可以引用一下這篇文章。
知乎名:戰(zhàn)斗系牧師
第一部分
我們第一部分直觀的通過2個問題快速介紹一下我們的研究背景,先讓大家了解一下這篇文章的工作做了些什么。
1、RGB-T是干什么的?
答:在紋理相似、背景暗光,復(fù)雜的場景下,RGB圖像往往并不能為模型訓(xùn)練提供更多更具有區(qū)分度的信息,因此常常會導(dǎo)致預(yù)測結(jié)果不準(zhǔn)確,或者沒有辦法識別出物體。近年來隨著熱成像相機(jī)的普及,我們發(fā)現(xiàn)熱紅外信息對于照明條件差產(chǎn)生的識別模糊非常有效,例如在城市街景的語義分割任務(wù)中就取到了很好的效果,(RGB-T城市街景數(shù)據(jù)集鏈接:(Multispectral Image Recognition))。因此,可以將熱像儀生成的熱紅外圖像作為重要的信息補(bǔ)充。
2、FEANet是干什么的?
答:我們?yōu)?RGB-T 語義分割任務(wù)提出了一個兩階段的特征增強(qiáng)注意網(wǎng)絡(luò) (FEANet)。具體來說,就是我們引入了一個特征增強(qiáng)注意力模塊(FEAM)從通道和空間的兩個方向去提高模型的信息挖掘能力和增強(qiáng)模型的多級特征的提取和整合能力。
第二部分
FEANet為什么可以?在這一部分我打算把文章網(wǎng)絡(luò)結(jié)構(gòu)中的幾個idea由來的始末給大家介紹一下。
Idea1:雙encode,skip-connect結(jié)構(gòu)
我們的FEANet的工作起初是基于RTFNet上進(jìn)行改進(jìn)的,在RTFNet的文中的消融實(shí)驗(yàn)結(jié)構(gòu)充分表明了雙encoder,skip-connect結(jié)構(gòu)的強(qiáng)大之外,RTFNet其實(shí)是具有很強(qiáng)的可加工性的。沒錯其實(shí)主要的原因就是它encoder部分太像Unet了,就讓人忍不住想魔改它,就這樣RTFNet就成為了我們這次的baseline。然后,我們基于RTFNet在數(shù)據(jù)集上的不足點(diǎn)進(jìn)行改進(jìn),同時,也與最新的(RTFNet的同一作者)的另一篇的FuseSeg進(jìn)行一個指標(biāo)上的競技。通過與RTFNet的結(jié)果進(jìn)行研究,我們很快就發(fā)現(xiàn)了問題。
RTFNet在物體的細(xì)節(jié)上的分割非常的粗糙以及沒有辦法識別出小物體(比如:色錐),結(jié)合當(dāng)時注意力機(jī)制模塊對與細(xì)小目標(biāo)上的良好表現(xiàn)來看,是否可以通過引入注意力機(jī)制模塊來改善上述的不足之處呢?
Idea2:FEAM結(jié)構(gòu)(注意力機(jī)制模塊)
其實(shí)FEAM是受到另一篇文章BBSNet(基于RGB-D數(shù)據(jù)所開發(fā)的網(wǎng)絡(luò))的啟發(fā)構(gòu)建的,BBSNet是一篇成功將當(dāng)時非常紅的CBAM模塊(圖中的DEM結(jié)構(gòu))植入了網(wǎng)絡(luò)的encode部分并取得SOTA效果的網(wǎng)絡(luò),那么本著RGB-D和RGB-T都是多光譜的圖像會不會可以相互借鑒的好奇心態(tài),我們設(shè)計了一個FEAM模塊,使用注意力機(jī)制從融合數(shù)據(jù)中學(xué)習(xí)特征,然后改進(jìn)網(wǎng)絡(luò)的預(yù)測結(jié)果。
Idea3:為什么每層都添加
繼續(xù)本著RGB-D和RGB-T都是多光譜的圖像會不會可以相互借鑒的好奇心態(tài),我們是否可以按照,RGB-FEAM-Thermal的結(jié)構(gòu)模式去改造RTFNet呢?然后就有了我們第一版實(shí)驗(yàn)的。實(shí)驗(yàn)結(jié)果當(dāng)時記得是:mAcc是69.1,mIou是54.1。其實(shí)從實(shí)驗(yàn)結(jié)果上看,我們已經(jīng)高出了RTFNet一大截有多了,當(dāng)時我都興奮的蹦起來了,但是后面師兄看到結(jié)果后只是默默的給我發(fā)來FuseSeg這篇文章,我當(dāng)時第一時間看了網(wǎng)絡(luò)結(jié)構(gòu),哦原來是用FuseNet161換了ResNet152而已,但是當(dāng)后面翻到結(jié)果一看,上面兩個指標(biāo)都高于目前我們設(shè)計的FEANet的的時候,人都傻了。
還記得那天晚上組會的時候老師和我們說,現(xiàn)在指標(biāo)都高于RTFNet就先和RTFNet做比較,就用田忌賽馬的策略,如果故事講得好說不定還有中的機(jī)會。我也在那時候真正的明白到了指標(biāo)競爭的殘酷之處。如果故事到這里的話也許就看不見現(xiàn)在的每層都加的FEANet了。
記得當(dāng)時還希望說能不能通過調(diào)參數(shù)的方法打倒這兩個指標(biāo),在調(diào)了兩天參數(shù)后的一個晚上,我看到了之前自己做的CAM可視化的一個代碼,然后就試著可視化了當(dāng)時的添加FEAM后每一層網(wǎng)絡(luò)??梢暬倪^程我突然想到,其實(shí)Thermal本質(zhì)上不是想利用熱力信息對RGB中明顯可以看出的物體進(jìn)行補(bǔ)充,而是給RGB看不見的信息進(jìn)行一個補(bǔ)充,所以兩張圖關(guān)注到的對象不一樣??梢暬笤赥hermal上添加了FEAM結(jié)構(gòu)后,更加堅定了每層都加的想法,所以抱著試一試的心態(tài)進(jìn)行了,每層都加的實(shí)驗(yàn),最后實(shí)驗(yàn)出來了,mAcc:71.2,mIou:54.3,然后就有你們現(xiàn)在看到的FEANet網(wǎng)絡(luò)結(jié)構(gòu)了。
Idea4:loss函數(shù)不是傳統(tǒng)的交叉熵
這個損失函數(shù)組合是通過一次天池上的語義分割比賽上看到并記下來的,DiceLoss 和 SoftCrossEntropy組合。本質(zhì)上就是針對樣本不平衡進(jìn)行進(jìn)行優(yōu)化的,還記得當(dāng)時師兄進(jìn)行實(shí)驗(yàn)的時候,有一個有經(jīng)驗(yàn)的博士說過可以通過改變損失函數(shù)對于樣本不平衡的現(xiàn)象進(jìn)行優(yōu)化,只是當(dāng)時實(shí)驗(yàn)出來的結(jié)果就有種拆東墻補(bǔ)西墻的感覺,但是沒有想到組合后的損失函數(shù)也能夠順利下降并且對各個指標(biāo)有有了提升,最后就有了我們的結(jié)果:
添加了FEAM結(jié)構(gòu)后并沒有引入了很大的參數(shù)量,也沒有造成推理速度的下滑,所以
FEANet: Feature-Enhanced Attention Network for RGB-Thermal Real-time Semantic Segmentation
由此誕生
第三部分
論文成功接受后的復(fù)盤,通過下面五個問題進(jìn)行一個總結(jié)復(fù)盤
1、FEAM結(jié)構(gòu)會不會過時了?
答:會,當(dāng)時論文發(fā)的時候TransFormer已經(jīng)把CNN按在地上了,整個朋友圈CV清一色的TransFormer,但是我們在設(shè)計的時候由于TransFormer還沒有蔓延到下游任務(wù)中,都是在圍繞著ViT圖像分類中進(jìn)行的,ICCV2021的best paper SWIN-TransFormer在各類比賽中作為backbone碾壓各種CNN結(jié)構(gòu)的網(wǎng)絡(luò),也許是時候了??粗笜?biāo)做來做去都是6070,5055,當(dāng)時就連評審都說只是高了0.8%而已,所以可能只是可能啊,更好的預(yù)訓(xùn)練模型會不會帶來更好的結(jié)果呢?
2、BBSNet后續(xù)的cascade結(jié)構(gòu)為啥沒有延用呢?
答:實(shí)驗(yàn)證明,FEANet可能真的不適合這種結(jié)構(gòu),從因?yàn)榕cDeep圖像補(bǔ)充RGB同一物體信息不同,Thermal圖像是補(bǔ)充與RGB不同物體信息的,也許過分的級聯(lián)會導(dǎo)致特征與特征間的語義對沖,從而會導(dǎo)致反作用,從結(jié)果上看也確實(shí)是的,并不適合。但是會不會有更適合的結(jié)構(gòu)呢?別急,下篇工作告訴你。
3、實(shí)時性只在RTX 2080TI上反映靠譜嗎?
答:見人見智的問題,以前他們都是在RTX 2080TI上進(jìn)行對比實(shí)驗(yàn)的所以我們這么對比也是為了更加直觀的反映我們比他們好,所以最開始在RTX 2080TI提實(shí)時性的這個文章可能責(zé)任全在它身上了,但是我相信很快部署在例如Jetson的輕量化RGB-T很快就會到來了,別細(xì)問,問就是下一篇文章的內(nèi)容。
4、skip-connect真的可靠嗎?
實(shí)驗(yàn)表明是可靠的,但是換個角度看現(xiàn)在也許是可靠了,但是如果這個是RGB-T-D這種多多模態(tài)的任務(wù)呢?如果是RGB-1-2-3-4-5-6呢?還這樣連嗎?skip-connect我感覺還是過于粗暴了,其實(shí)可以從可視化后的兩個結(jié)構(gòu)融合的圖像上,確實(shí)出現(xiàn)了對于同一物體的不同識別結(jié)果的語義對沖,那有沒有更好的方式組合,能夠更加降低兩種特征融合發(fā)生丟失,或者沖突的問題呢?會有的,也許就是下一篇文章。
第四部分
感謝
我還記得這篇文章是寒假一個月時間趕出來的,為了投當(dāng)時的3月的IROS,其實(shí)回想當(dāng)時,過年的時候我們都還在拼命的研究和工作,老師和師兄都付出了非常多的心力,論文改又改,我的結(jié)構(gòu)圖也是畫了又畫,都忘記是第40幾版了,非常慶幸的是我們的辛苦工作最終得到了認(rèn)可,文章被接受了,但是更值得慶幸的是,我能夠認(rèn)識老師和師兄。最后再次的感謝各位幫助過我的師兄,還有同伴們,我們下一次頂會見。
總結(jié)
以上是生活随笔為你收集整理的一个RGB-T工作的小小感悟与总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 反向 Dropout,韩松团队最新工作N
- 下一篇: 去除冗余token的DETR效果怎么样?