【論文筆記】SOTR: Segmenting Objects with Transformers

【題目】:SOTR: Segmenting Objects with Transformers

【引用格式】:Guo R, Niu D, Qu L, et al. Sotr: Segmenting objects with transformers[C]//Proceedings of the IEEE/CVF international conference on computer vision. 2021: 7157-7166.

【網址】:https://openaccess.thecvf.com/content/ICCV2021/papers/Guo_SOTR_Segmenting_Objects_With_Transformers_ICCV_2021_paper.pdf

【開源代碼】:https://github.com/easton-cau/SOTR

目錄

一、瓶頸問題

二、本文貢獻

三、解決方案

1、模型架構

2、Transformer

2.1 雙注意力機制(Twin attention)

2.2 Transformer層

2.3 功能頭(Functional heads)

3、Mask

3.1 多級上采樣模塊

3.2 實例掩碼預測

四、實驗結果

1、實驗設置

2、消融實驗

3、定量和定性結果


一、瓶頸問題

  • 傳統 CNN 在實例分割中的局限:基于 CNN 的實例分割方法(遵循檢測 - 然后 - 分割范式)存在不足。CNN 因有限的感受野,在高級視覺語義信息中特征連貫性相對缺乏,難以關聯實例,對大物體分割效果欠佳;并且分割質量和推理速度過度依賴目標檢測器,在復雜場景下性能較差。
  • 自底向上方法的缺陷:為克服傳統 CNN 方法的缺點,一些自底向上的實例分割策略被提出,這類方法雖能保留位置和局部連貫信息,但存在聚類不穩定(如掩碼碎片化、粘連)以及在不同場景數據集上泛化能力差的問題。
  • Transformer 在視覺應用中的不足:受 Transformer 在自然語言處理中的成功啟發,其在視覺任務應用中展現出一定優勢,然而典型 Transformer 在提取低級特征方面表現不佳,對小物體預測易出錯;同時由于特征圖規模大,在訓練階段需要大量內存和時間。

二、本文貢獻

  • 提出創新的混合框架:引入了名為 SOTR 的 CNN - Transformer 混合實例分割框架。該框架利用 CNN 骨干網絡和 Transformer 編碼器,有效對局部連接性和長距離依賴關系建模,表現力強;且直接分割對象實例,不依賴邊界框檢測,簡化了整體流程。
  • 設計新的注意力機制:設計了雙注意力機制(twin attention),這是一種位置敏感的自注意力機制,專為模型中的 Transformer 定制。相比原始 Transformer,在計算和內存上有顯著節省,尤其適用于實例分割這類對大輸入進行密集預測的任務。
  • 降低對大規模預訓練的依賴:SOTR 無需在大型數據集上進行預訓練就能很好地泛化歸納偏差,更易于應用在數據量不足的場景,克服了純 Transformer 模型對大規模預訓練的依賴問題。
  • 取得優異的實驗結果:在 MS COCO 基準測試中,使用 ResNet - 101 - FPN 骨干網絡的 SOTR 模型 AP 達到 40.2% ,精度超越多數現有方法。在中等和大尺寸物體上,AP 分別達到 59.0% 和 73.0% ,展現出在不同尺寸物體分割上的優勢。

三、解決方案

1、模型架構

????????SOTR 是一種 CNN-Transformer 混合實例分割模型,它能夠同時學習二維表示,并輕松捕捉長距離信息。它遵循直接分割范式,首先將輸入特征圖劃分為圖塊,然后在動態分割每個實例的同時預測每個圖塊的類別Transformer模塊】。具體來說,模型主要由三個部分組成:1)一個骨干網絡(from detectron2.modeling.backbone import build_backbone),用于從輸入圖像中提取圖像特征,尤其是低級和局部特征;2)一個 Transformer,用于對全局和語義依賴關系進行建模,它附加了功能頭,分別用于預測每個圖塊的類別卷積核;3)一個多級上采樣模塊,通過在生成的特征圖和相應的卷積核之間執行動態卷積操作來生成分割掩碼。

2、Transformer

2.1 雙注意力機制(Twin attention)

自注意力機制的問題:能夠捕捉全圖上下文和長距離交互關系,但時間和內存復雜度為二次方,處理圖像等高維序列是計算成本高,阻礙模型擴展性。

雙注意力機制策略:通過稀疏表示簡化注意力矩陣,將感受野限制在固定步長的塊模式內。先在每列內計算注意力(聚合水平尺度上元素間上下文信息),再在每行內計算(利用垂直尺度特征交互),兩個尺度注意力順序連接【通道維度連接】形成最終注意力,具有全局感受野,并涵蓋了兩個維度上的信息。

具體計算過程:對于 FPN 第i層特征圖F_{i} \in R^{H \times W\times C},先分割成 N×N 圖塊P_{i} \in R^{N \times N \times C}

并堆疊成塊,添加位置嵌入(列位置嵌入空間1×N×C,行位置嵌入空間N×1×C )。注意力層采用多頭注意力機制,子層輸出 N×N×C ,可將計算復雜度從O((H\times W)^{2})降至O(H \times W^{2} + H^{2} \times W)

2.2 Transformer層

原始Transformer層(圖3 a):類似 NLP 中編碼器,由層歸一化后的多頭自注意力機制和多層感知器兩部分組成,用殘差連接相連,經K個串行連接輸出多維序列特征用于后續預測。

純雙 Transformer 層(圖3 b):遵循原始設計,僅將多頭注意力替換為雙注意力機制,以平衡計算成本和特征提取效果。

混合雙 Transformer 層(圖3 c):在每個雙注意力模塊添加兩個由 Leaky ReLU 層連接的3×3卷積層,補充注意力機制,更好捕捉局部信息,增強特征表示。

2.3 功能頭(Functional heads)

類別頭(class head):含單個線性層,輸出N×N×M分類結果(M為類別數)。每個圖塊為中心落入的單個目標分配一個類別,采用多級預測并在不同特征層級共享頭,提升不同尺度目標性能和效率。訓練時用 Focal Loss 計算分類損失。

核心頭(kernel head):由線性層組成,與類別頭并行,輸出N×N×D張量(表示N×N卷積核及D個參數)用于掩碼生成。訓練時卷積核監督來自最終掩碼損失。

3、Mask

3.1 多級上采樣模塊

從 Transformer 模塊獲取帶位置信息的低分辨率特征圖P_{5},與 FPN 中P_{2} - P_{4}?融合。對各尺度特征圖先進行3×3卷積、Group Norm 和 ReLU 操作,P_{3} - P_{5}分別雙線性上采樣到\left ( \frac{H}{4}\times \frac{W}{4} \right )分辨率,將處理后P_{2} - P_{5}相加,經逐點卷積和上采樣生成統一H × W特征圖,構建掩碼特征表示。

3.2 實例掩碼預測

SOTR 對統一特征圖執行動態卷積操作生成每個圖塊掩碼。核心頭預測卷積核K\in R_{N\times N \times D},每個核負責對應圖塊實例掩碼生成,操作表示為Z^{H\times W \times N^{2}} = F^{H \times W \times C} \ast K^{N \times N \times D}

  • D = \lambda ^{2}C,其中 λ 為卷積核的尺寸
  • 最終實例分割掩碼由 Matrix NMS 生成,每個掩碼由 Dice Loss 獨立監督

四、實驗結果

1、實驗設置

在具有挑戰性的 MS COCO 數據集上實驗,該數據集含 12.3 萬張圖像、80 類實例標簽。模型在 train2017 子集訓練,test-dev 子集評估,報告標準 COCO 指標(AP、AP50、AP75、APs、APm、APl)。訓練使用 SGD,初始學習率 0.01,1000 次迭代熱身,權重衰減10^{-4},動量 0.9。消融實驗訓練 30 萬次迭代,在 21 萬次和 25 萬次時學習率降為十分之一。模型在 4 塊 32G 內存的 V100 GPU 上訓練,批量大小 8,用 Python 編程,基于 PyTorch 和 Detectron2 框架。

2、消融實驗

主干網絡架構:

比較不同主干網絡特征提取性能,發現 Res-50FPN 的 SOTR 在 COCO 上 AP 達 37.5%,大物體上 AP 為 70.8%,且 SOTR 從更深或先進的 CNN 主干網絡中自動受益,更好的主干網絡可提升性能。

用于特征編碼的 Transformer

用三種不同 Transformer 衡量模型性能,純雙注意力 Transformer 和混合雙注意力 Transformer 在指標上大幅超過原始 Transformer,表明雙注意力 Transformer 架構能捕捉長距離依賴,更適合與 CNN 主干結合,且混合雙注意力 Transformer 效果更好,因為 3×3 卷積能提取局部信息、增強特征表達。

Transformer 深度:

對原始 Transformer 和混合雙注意力 Transformer 進行深度消融實驗,發現增加深度可提升 AP 但犧牲推理時間和內存,雙注意力 Transformer 相比原始 Transformer 帶來 3.1% 的 AP 提升,內存占用減少約 50%,但深度增加會導致注意力坍塌,阻礙性能提升,后續實驗中基準模型使用深度為 12 的混合雙注意力 Transformer。

多級上采樣模塊:

探究 Transformer 生成的特征圖對多級上采樣模塊的影響,僅用 Transformer 生成的特征圖替換 FPN 的P_{5}層時模型 AP 最高,同時替換P_{4}P_{5}層 AP 略降,表明更多層使用生成特征圖未顯著提升整體 AP,Transformer 的P_{5}已使預測具有良好位置敏感性,Transformer 的P_{4}因攜帶更多全局和大物體特征使AP_{M}AP_{L}略有提升,SOTR 用 Transformer 替代 SOLOv2 中P_{5}層的 Coordconv 獲取位置信息。

動態卷積:

掩碼生成有靜態卷積直接輸出實例掩碼和動態卷積持續分割對象兩種方式,比較發現無雙注意力 Transformer 的 SOTR 模型 AP 為 39.7%,雙注意力 Transformer 帶來 0.5% 的提升,動態卷積策略使 AP 提升近 1.5%,因為動態卷積的非線性顯著增強了特征表示能力。

實時模型及比較:

SOTR 可修改為實時模型 SOTR-RT(犧牲一定準確性),其 Transformer 層數減為兩層,輸入短邊為 736【圖像輸入的短邊分辨率】

3、定量和定性結果

定量結果:

在 MS COCO 測試開發集上,配備 ResNet-101-FPN 的 SOTR 模型掩碼 AP 達 40.2%,優于其他現代實例分割方法,與 Mask R-CNN 相比預測精度更高,在中等和大目標檢測上有顯著提升,與無邊界框算法 SOLO 和 PolarMask 相比也有明顯改進,且是首個在中等大小目標上 AP 接近 60%、中等和大目標上 AP 超 70% 的方法。

定性結果:

將 SOTR 與 Mask R-CNN、BlendMask 和 SOLOv2 比較,SOTR 在形狀精細易被忽略的物體和相互重疊物體的分割上優于 Mask R-CNN 和 BlendMask,能預測出邊界更清晰的掩碼;相比 SOLOv2,SOTR 避免了將目標分割成獨立部分和誤將背景判定為實例的問題,因引入 Transformer 能更好獲取全局信息。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/79558.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/79558.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/79558.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MinIO實現https訪問

Windows下實現MinIO的https訪問. 首先需要自己解決證書問題, 這里可以是個人證書 也可以是花錢買的證書. 現在使用個人開發者證書舉例子。 將證書數據解壓到你知道的目錄之下 然后直接使用命令啟動MinIO start minio.exe server --certs-dir D:\xxxxx\tools\certs …

基于 jQuery 實現靈活可配置的輸入框驗證功能

在 Web 表單開發中,輸入框驗證是保障數據準確性和安全性的關鍵環節。無論是用戶注冊、信息提交還是數據錄入場景,都需要對用戶輸入內容進行合法性檢查。本文將介紹如何使用 HTML、CSS 和 jQuery 構建一個可靈活配置的輸入框驗證系統,輕松應對…

Kotlin 04Flow stateIn 和 shareIn的區別

一 Kotlin Flow 中的 stateIn 和 shareIn 一、簡單比喻理解 想象一個水龍頭(數據源)和幾個水杯(數據接收者): 普通 Flow(冷流):每個水杯來接水時,都要重新打開水龍頭從…

WebRTC 服務器之SRS服務器概述和環境搭建

1.概述 SRS(Simple Realtime Server)是一款高性能、跨平臺的流媒體服務器,支持多種協議,包括 RTMP、WebRTC、HLS、HTTP-FLV、SRT、MPEG-DASH 和 GB28181。本文介紹了 SRS,包括其用途、關鍵功能、架構和支持協議。SRS 旨…

Dify - Embedding Rerank

注意:v100顯卡會出現不適配,不推薦使用 1. 安裝 Docker ubuntu 22.04 docker 安裝&使用_ubuntu22.04 安裝docker-CSDN博客 2. 安裝vllm pip install -U xformers torch torchvision torchaudio triton --index-url https://download.pytorch.org/w…

LeetCode:鏈表的中間結點

1、題目描述 給你單鏈表的頭結點 head ,請你找出并返回鏈表的中間結點。 如果有兩個中間結點,則返回第二個中間結點。 示例 1: 輸入:head [1,2,3,4,5] 輸出:[3,4,5] 解釋:鏈表只有一個中間結點&#xff…

LabVIEW溫控系統熱敏電阻滯后問題

在 LabVIEW 構建的溫控系統中,熱敏電阻因熱時間常數大(2 秒左右)產生的滯后效應,致使控溫出現超調與波動。在不更換傳感器的前提下,可從算法優化、硬件調整和系統設計等維度著手解決。 ? 一、算法優化? 1. 改進 PI…

技術犯規計入個人犯規嗎·棒球1號位

在棒球運動中,雖然沒有“技術犯規”這一特定術語,但存在多種違規行為或違反規則的情況,通常會導致判罰或處罰。以下是常見的違規行為及相關規則: 1. 投手違規(Balk) 定義:投手在壘上有跑壘員時…

Python核心技巧 類與實例:面向對象編程的基石

、核心概念圖解 🎯 類 vs 實例 類:對象的藍圖(如"汽車設計圖") 實例:類的具體實現(如"你的特斯拉Model 3") class MyClass: # 類聲明 count 0 # 類…

協程補充---viewModelScope 相關知識點

viewModelScope.launch 默認在 Dispatchers.Default 線程池執行Dispatchers.Default 是一個后臺線程池,專門用于 CPU 密集型任務如果需要在主線程執行,必須顯式指定 Dispatchers.Main remember 是 Compose 的狀態管理函數(queueMenus) 是依賴項&#xff…

linux stm32mp157 GIC-V2 中斷處理過程分析

/* ** 中斷觸發時,調用的 handle_arch_irq 入口地址。 ** 因為此時,掛接的就是 gic_handle_irq 函數!gic_handle_irq 是個全局函數指針, ** static void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) ** 它是Lin…

動態指令參數:根據組件狀態調整指令行為

🤍 前端開發工程師、技術日更博主、已過CET6 🍨 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1 🕠 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》 🍚 藍橋云課簽約作者、…

直方圖比較

目錄 1、直方圖比較的概念 2、直方圖比較的主要原因 3、典型應用場景 4、基礎直方圖比較 5、多通道直方圖比較 6、實時直方圖檢測 1、直方圖比較的概念 直方圖比較是通過數學方法計算兩個直方圖之間的相似度或差異度的技術。在計算機視覺中,直方圖是對圖像特征…

Windows11 VS code 安裝 Cline 調用 Github MCP 配置過程坑點匯總

背景 為了調研 MCP 在 windows 上如何使用本地的命令執行一些操作而實現自動化的過程,在 B 站視頻的指導下,進行相應填坑過程,最終運行起來,并實現 github 自動化編程并提交代碼的過程。 B 站 Cline 視頻演示 Cline Cline 是一…

kdump詳解

kdump 是 Linux 系統中的一種內核崩潰轉儲機制,用于在系統崩潰時將內存中的數據保存到磁盤上,以便后續分析系統崩潰的原因。以下是對 kdump 的詳細介紹: 1、工作原理 kdump 利用了 Linux 系統中的雙啟動機制。當系統啟動時,它會…

RGB三原色

本文來源 : 騰訊元寶 ??RGB三原色(紅綠藍)詳解?? RGB(Red, Green, Blue)是光學的三原色,通過不同比例的混合可以產生人眼可見的絕大多數顏色。它是現代顯示技術(如屏幕、投影儀&#xff09…

CSS兼容性:挑戰與策略

CSS兼容性:挑戰與策略 引言 在前端開發的廣闊領域中,跨瀏覽器兼容性無疑是最棘手且難以預測的挑戰之一。當我們精心設計的網頁在Chrome中完美呈現,卻在Safari中布局崩潰,或在Firefox中交互失效時,這種挫折感是每位前…

[ 設計模式 ] | 單例模式

單例模式是什么?哪兩種模式? 單例模式就是一個類型的對象,只有一個,比如說搜索引擎中的索引部分,360安全衛士的桌面懸浮球。 餓漢模式和懶漢模式:餓漢模式是線程安全的,懶漢模式不是線程安全的…

Notebook.ai 開源程序是一套工具,供作家、游戲設計師和角色扮演者創建宏偉的宇宙 - 以及其中的一切

?一、軟件介紹 文末提供程序和源碼下載 Notebook.ai 開源程序是一套工具,供作家、游戲設計師和角色扮演者創建宏偉的宇宙 - 以及其中的一切。 二、軟件特點 Notebook 是作家的規劃工具,用于創建從宇宙到角色、情節到單個項目的任何內容。通過瀏覽器、…

centos7.0無法安裝php8.2/8.3

在centos安裝php8.2報錯 configure: error: *** A compiler with support for C17 language features is required. 配置過程檢測到你的系統編譯器不支持 C17 語言特性,而 PHP 8.2 的編譯需要編譯器支持 C17 sudo yum update -y sudo yum install centos-releas…