帶你讀AI論文:基於Transformer的直線段檢測
摘要:本文提出了一種基於Transformer的端到端的線段檢測模型。採用多尺度的Encoder/Decoder演算法,可以得到比較準確的線端點座標。作者直接用預測的線段端點和Ground truth的端點的距離作為目標函式,可以更好的對線段端點座標進行迴歸。
本文分享自華為雲社群《》,作者:cver。
1 文章摘要
傳統的形態學線段檢測首先要對影像進行邊緣檢測,然後進行後處理得到線段的檢測結果。一般的深度學習方法,首先要得到線段端點和線的熱力圖特徵,然後進行融合處理得到線的檢測結果。作者提出了一種新的基於Transformer的方法,無需進行邊緣檢測、也無需端點和線的熱力圖特徵,端到端的直接得到線段的檢測結果,也即線段的端點座標。
線段檢測屬於目標檢測的範疇,本文提出的線段檢測模型LETR是在DETR(End-to-End Object Detection with Transformers)的基礎上的擴充套件,區別就是Decoder在最後預測和迴歸的時候,一個是迴歸的box的中心點、寬、高值,一個是迴歸的線的端點座標。
因此,接下來首先介紹一下DETR是如何利用Transformer進行目標檢測的。之後重點介紹一下LETR獨有的一些內容。
2、如何利用Transformer進行目標檢測(DETR)
圖1. DETR模型結構
上圖是DETR的模型結構。DETR首先利用一個CNN 的backbone提取影像的features,編碼之後輸入Transformer模型得到N個預測的box,然後利用FFN進行分類和座標迴歸,這一部分和傳統的目標檢測類似,之後把N個預測的box和M個真實的box進行二分匹配(N>M,多出的為空類,即沒有物體,座標值直接設定為0)。利用匹配結果和匹配的loss更新權重引數,得到最終的box的檢測結果和類別。這裡有幾個關鍵點:
首先是影像特徵的序列化和編碼。
CNN-backbone輸出的特徵的維度為C*H*W,首先用1*1的conv進行降維,將channel從C壓縮到d, 得到d*H*W的特徵圖。之後合併H、W兩個維度,特徵圖的維度變為d*HW。序列化的特徵圖丟失了原圖的位置資訊,因此需要再加上position encoding特徵,得到最終序列化編碼的特徵。
然後是Transformer的Decoder
目標檢測的Transformer的Decoder是一次處理全部的Decoder輸入,也即 object queries,和原始的Transformer從左到右一個一個輸出略有不同。
另外一點Decoder的輸入是隨機初始化的,並且是可以訓練更新的。
二分匹配
Transformer的Decoder輸出了N個object proposal ,我們並不知道它和真實的Ground truth的對應關係,因此需要經二分圖匹配,採用的是匈牙利演算法,得到一個使的匹配loss最小的匹配。匹配loss如下:
得到最終匹配後,利用這個loss和分類loss更新引數。
3、LETR模型結構
圖2. LETR模型結構
Transformer的結構主要包括Encoder、Decoder 和 FFN。每個Encoder包含一個self-attention和feed-forward兩個子層。Decoder 除了self-attention和feed-forward還包含cross-attention。注意力機制:注意力機制和原始的Transformer類似,唯一的不同就是Decoder的cross-attention,上文已經做了介紹,就不再贅述。
Coarse-to-Fine 策略
從上圖中可以看出LETR包含了兩個Transformer。作者稱此為a multi-scale Encoder/Decoder strategy,兩個Transformer分別稱之為Coarse Encoder/Decoder,Fine Encoder/Decoder。也就是先用CNN backbone深層的小尺度的feature map(ResNet的conv5,feature map的尺寸為原圖尺寸的1/32,通道數為2048) 訓練一個Transformer,即Coarse Encoder/Decoder,得到粗粒度的線段的特徵(訓練的時候固定Fine Encoder/Decoder,只更新Coarse Encoder/Decoder的引數)。然後把Coarse Decoder的輸出作為Fine Decoder的輸入,再訓練一個Transformer,即Fine Encoder/Decoder。Fine Encoder的輸入是CNN backbone淺層的feature map(ResNet的conv4,feature map的尺寸為原圖尺寸的1/16,通道數為1024),比深層的feature map具有更大的維度,可以更好的利用影像的高解析度資訊。
注:CNN的backbone深層和淺層的feature map特徵都需要先透過1*1的卷積把通道數都降到256維,再作為Transformer的輸入
二分匹配
和DETR一樣, 利用fine Decoder的N個輸出進行分類和迴歸,得到N個線段的預測結果。但是我們並不知道N個預測結果和M個真實的線段的對應關係,並且N還要大於M。這個時候我們就要進行二分匹配。所謂的二分匹配就是找到一個對應關係,使得匹配loss最小,因此我們需要給出匹配的loss,和上面DERT的表示式一樣,只不過這一項略有不同,一個是GIou一個是線段的端點距離。
4、模型測試結果
模型在Wireframe和YorkUrban資料集上達到了state-of–the-arts。
圖3. 線段檢測方法效果對比
圖4、線段檢測方法在兩種資料集上的效能指標對比(Table 1);線段檢測方法的PR曲線(Figure 6)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/758/viewspace-2795911/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 帶你讀AI論文丨LaneNet基於實體分割的端到端車道線檢測AI
- 『論文精讀』Vision Transformer(VIT)論文解讀ORM
- 帶你讀論文丨基於視覺匹配的自適應文字識別視覺
- 一文帶你入門TransformerORM
- AAAI 2019 論文解讀 | 基於區域分解整合的目標檢測AI
- 帶你讀論文:基於深度學習的影像分類中資料增強的有效性深度學習
- Lane-Detection 近期車道線檢測論文閱讀總結
- 《基於深度學習的目標檢測綜述》論文獲發表深度學習
- CVPR 2019|PoolNet:基於池化技術的顯著性檢測 論文解讀
- 【論文閱讀筆記】Transformer——《Attention Is All You Need》筆記ORM
- 帶你讀論文 | 端到端語音識別模型模型
- 一文讀懂目標檢測模型(附論文資源)模型
- 基於深度學習的入侵檢測系統綜述文獻概述——AI科研之路深度學習AI
- 帶你玩轉OpenHarmony AI-基於海思NNIE的AI能力自定義AI
- 論文解讀 | 基於神經網路的知識推理神經網路
- 【研究員視角】大牛帶你讀論文|自然語言處理自然語言處理
- Nature論文解讀 | 基於深度學習和心臟影像預測生存概率深度學習
- 目標檢測相關論文
- 基於頭肩部檢測的過線客流統計
- 帶你讀AI論文丨S&P21 Survivalism: Living-Off-The-Land 經典離地攻擊AI
- 關於線段樹基礎
- 一文看懂AI的 Transformer 架構!AIORM架構
- 論文解讀|李國良等:Database Meets AIDatabaseAI
- 使用基於 AI 的網路安全更快地檢測威脅AI
- 線段樹 - 多組圖帶你從頭到尾徹底理解線段樹
- 輪廓檢測論文解讀 | 整體巢狀邊緣檢測HED | CVPR | 2015巢狀
- EasyNLP帶你玩轉CLIP圖文檢索
- 關於讀寫論文的那些神網站網站
- 乾貨 | 論文解讀:基於動態詞表的對話生成研究
- 深度學習論文閱讀路線圖深度學習
- NLP帶來的“科幻感”超乎你的想象 - ACL2020論文解讀(一)
- 帶你看論文丨全域性資訊對於圖網路文件解析的影響
- 科技論文的檢索
- CVPR 2017論文解讀:用於單目影象車輛3D檢測的多工網路3D
- CVPR 2017論文解讀:用於單目影像車輛3D檢測的多工網路3D
- 近期有哪些值得讀的QA論文?| 專題論文解讀
- 基於Keras的動物檢測Keras
- 老司機帶你檢測相似圖片