如何看待End-to-End Object Detection with Transformers?

公衆號關注 「ML_NLP」

設爲 「星標」,重磅乾貨,第一時間送達!

 

來自 | 知乎

地址 | https://www.zhihu.com/question/397624847/answer/1250073418

作者 | 羅若天不是真的屌

編輯 | 機器學習算法與自然語言處理公衆號

本文僅作學術分享,若侵權,請聯繫後臺刪文處理

 

 

1 desk reject預定。(誤)

 

2 訓練時間勸退

 

3 代碼好簡單(我fmass就是不用detectron2(開玩笑的))

 

4 好激動!

 

5 把panoptic也塞進來實在太厲害了,感覺一篇paper塞了兩篇的東西。

 

6 我就說怎麼塞的進來。原來arxiv版本不止14頁,估計submit的版本只有detection

 

7 只要你比別人的epoch多個20倍,你就能比別人效果好。

 

8 跟小夥伴討論了一下。覺得文章裏說fpn能解決小物件可能是騙人的。因爲連panoptic都做了,fpn怎麼可能沒做。

 

9 syncbn都沒用呢

 


 

Takeaways:

 

1 transformer encoder很有用。faster-rcnn裏面也請塞塞試試。(當然啦反正本質上idea都是non-local,gcn什麼的,但是經驗證明transformer這個設計的結構是真的萬能)

 

2 第一反應還是會被直接回歸box嚇到,畢竟主流方法根本扔不掉anchor。就算centernet也是基於center迴歸hw(但是center本身不是迴歸的,同時center也可以認爲是anchor)。這裏是直接連center也迴歸了,真是牛啊,只要你能訓練500epoch你啥不能迴歸。

 

3 object query也是不講道理。雖然可以跟anchor聯繫在一起(別的回答有說),但是你再看看,他其實就是爲了用transformer做set prediction,他就是一個必要的component,不需要一定有啥含義,他學出來是什麼就是什麼。

 

4 本質上做的事情就是拿transformer decoder做set predictor,然後把這個idea用到object detection(把object detection看作set prediction task好像也不是首創吧)。但是這中間邁得步子有點大。怎麼說呢,告訴我用transformer來做detection,我也想到改怎麼做合適,因爲會被以前的set prediction和detection的思維定勢限制住,所以真的是看的時候感覺哐哐哐錘我腦門。(當然也可能是我不是太聰明)

 

5 就是看set prediction這個task(disclaimer:沒有追的很仔細),elucidating image-to-set這片paper也都沒有用到parallel decoding的,還是考慮的把set prediciton變成一個sequence generation+auto-regressive。用object queries+parallel decoding已經是屬於一個新的用法了吧。(當然啦,翻譯裏面有non-autogressive,但是那個setting和set prediciton不一樣,怎麼說呢,告訴我我能connect上,但是讓我自己正向的想我想不到)

而且實際上,對set prediction, non-autogressive要比autoregressive的方法要更make sense多。

 

6 這個panoptic segmentation也是好看,簡單直接。

 

7 end to end是真的暴力。如果是我我能到map25我覺得都已經很滿足了,竟然能暴力的堆到42,瑞思白 (如果pcv能跑500個epoch就好了)

 

重磅!憶臻自然語言處理-學術微信交流羣已成立

可以掃描下方二維碼,小助手將會邀請您入羣交流,

注意:請大家添加時修改備註爲 [學校/公司 + 姓名 + 方向]

例如 —— 哈工大+張三+對話系統。

號主,微商請自覺繞道。謝謝!

 

 

 

 

 

 

推薦閱讀:

PyTorch Cookbook(常用代碼段整理合集)

通俗易懂!使用Excel和TF實現Transformer!

深度學習中的多任務學習(Multi-task-learning)——keras實現