【論文閱讀筆記】ASPS: Augmented Segment Anything Model for Polyp Segmentation

1.論文介紹

ASPS: Augmented Segment Anything Model for Polyp Segmentation
ASPS:用于息肉分割的擴展SAM模型
2024年 arxiv
Paper Code

2.摘要

息肉分割在結直腸癌診斷中起著至關重要的作用。最近,Segment Anything Model(SAM)的出現利用其在大規模數據集上的強大預訓練能力,為息肉分割帶來了前所未有的潛力。然而,由于自然圖像和內窺鏡圖像之間的區域差距,SAM在實現有效的息肉分割方面遇到了兩個限制。首先,它的基于變壓器的結構優先考慮全局和低頻信息,可能會忽略局部細節,并在學習的特征中引入偏差。其次,當應用于內窺鏡圖像時,其較差的分布(OOD)性能導致不符合標準的預測和有偏差的置信度輸出。為了應對這些挑戰,我們提出了一種新的用于息肉分割的擴展SAM(ASPS)方法,該方法包括兩個模塊:跨分支特征增強(CFA)和不確定引導預測正則化(UPR)。CFA將可訓練的CNN編碼器分支與凍結的VIT編碼器集成在一起,在增強局部特征和高頻細節的同時,實現了特定領域知識的整合。此外,UPR巧妙地利用SAM的IOU分數來減少訓練過程中的不確定性,從而提高了面向對象設計的性能和領域泛化。大量的實驗結果證明了該方法在提高SAM在息肉分割中的性能方面的有效性和實用性。

Keywords: SAM,CNN+ViT,跨分支特征增強,不確定引導預測正則化

3.Introduction

自動息肉分割是診斷結直腸癌的關鍵工具,有助于有效的干預和及時的治療策略。最近SAM被引入,由于其巨大的模型大小和數據量,這種創新的方法為息肉分割領域引入了新的視角。它還具有增強的表示和特征提取能力,超過了現有的方法。然而,由于訓練數據和內窺鏡圖像之間的域差距,SAM在息肉分割任務中的性能并不令人滿意。這導致了兩個主要問題:第一,SAM不能充分捕捉息肉圖像的顯著特征,導致其學習表示的偏差。其次,它對分布外數據產生了錯誤的預測和不準確的置信度估計。此外,由于SAM依賴于提示,大大阻礙了其在臨床應用中的便利性。盡管有幾種方法改進了SAM,但這些方法要么依賴于提示,要么直接微調實體模型。Samus有效地集成了CNN和VIT,但其設計相當復雜,特別適合處理小圖像。因此,這些方法的有效性在某種程度上受到了限制。人們已經提出了各種方法來解決語義切分中無監督領域自適應的挑戰。MIC提出了一種用于目標領域情境學習的掩蔽圖像一致性模型;情境感知領域自適應通過交叉注意改進了情境遷移。然而,特定領域的信息集成和不確定性減少仍然沒有被探索。為了解決這些問題,本文從領域自適應的角度提出了一種新的基于SAM的方法,旨在增強特征提取能力和泛化能力,而不依賴于提示。本文提出了交叉分支特征增強模塊(CFA)和不確定性引導預測正則化模塊(UPR)。CFA加入了一個額外的可訓練卷積神經網絡(CNN)編碼器分支,該分支補充了凍結視覺轉換器(VIT)編碼器,以捕獲多尺度和多層次的特征。UPR調整歸一化層以促進內窺鏡領域的自適應,并利用提示確保準確的置信度估計,從而提高SAM的面向對象設計性能。

4.模型結構詳解

在這里插入圖片描述
CFA模塊集成了CNN編碼器特征和全局VIT信息,導致了廣義特征表示學習。這種集成通過將深層信息聚合到淺層并結合來自淺層的位置信息來促進精細化分割輸出。同時,UPR的設計是為了最大限度地減少訓練期間的不確定性和校準置信度。UPR利用基于不確定性的訓練策略,利用gt作為指導性“提示”。提出的網絡遵循端到端訓練,在沒有提示的情況下,聯合優化兩個模塊以實現最佳性能。

Cross-branch Feature Augmentation Module 跨分支特征增強模塊:
SAM在息肉分割任務中仍存在一定的局限性,其中一個主要原因是SAM的圖像編碼器不能有效地從不可見的內窺鏡圖像中捕獲足夠的特征。為了解決這個問題,CFA模塊被設計成學習多尺度特征和多層次表示,從而增強編碼器的特征提取能力。

首先,為了實現自動分割,對SAM的體系結構進行了改進,去掉了它的提示輸入和提示編碼器部分,保留了它的圖像編碼和掩碼解碼部分。最近的研究表明,VIT更專注于低頻信號,而CNN更擅長處理高頻信號。因此,本文集成了一個基于CNN的并行分支來彌補高頻和局部特征的缺失。此外,通過提出一個額外的多頭交叉分支注意塊來增強SAM的掩碼解碼器,以促進從VIT編碼器和CNN編碼器中提取的特征的整合。對于VIT分支機構的 F V F_V FV?特征和CNN的 F C F_C FC?特征,跨分支特征注意力可以表達如下:
在這里插入圖片描述
其中 Q = F v W Q Q=F_vW^Q Q=Fv?WQ K = V = F c W K K=V=F_cW^K K=V=Fc?WK,并且d是Fv的每個頭部的通道數。考慮到CNN特征提供了更精確的位置信息,用CNN編碼器的最終輸出特征代替了SAM在掩碼解碼器中的原始位置嵌入。此外,將跨分支注意機制集成到掩碼解碼器的注意塊中,重復此過程兩次,以確保來自VIT和CNN編碼器的多尺度特征的集成。
在這里插入圖片描述
其次,為了獲得更準確的分割結果,將來自編碼器的高層上下文和低層邊界信息與SAM的解碼器特征相結合,以增強輸出信息。具體地說,將從中間嵌入的VIT編碼器獲得的淺局部特征,從VIT編碼器獲得的最終全局特征與CNN的最終特征相結合,像上圖所示的,這種方法充分利用了豐富的邊緣信息、廣泛的全局上下文信息和每個編碼器分支的局部位置細節。因此,可以有效地集成VIT和CNN的多層次特征。

ViT,即原SAM的image encoder的最終特征和中間層特征,與CNN的最終特征相結合。并在原SAM的mask decoder中增加多頭注意力,以融合ViT與CNN的特征。
首先在原本的image_encoder中提取第4、8、12層特征作為interm embedding(代碼中這么設置),無prompt_encoder,在mask_decoder中,首先把來自CNN的特征,與interm embedding和image embedding融合,用CNN的特征代替ViT的位置嵌入,并在transformer塊中融合CNN與image embedding特征,然后在最后把fusion的特征再加上去。
除此之外,增加一個置信度計算。

Uncertainty-guided Prediction Regularization Module 不確定性引導的預測正則化模型:

為了增強SAM的泛化能力,本文提出了一種新的訓練策略,該策略包括在編碼器內選擇性激活LayerNorm。我們還以gt為線索,通過糾正置信度來進一步指導訓練過程。由于SAM是在自然數據上訓練的,其在息肉圖像中的性能可能會因域轉移而惡化。盡管LayerNorm的引入可能會減少訓練時間,但它從根本上改變了輸入數據的分布。當將SAM從自然圖像轉移到內窺鏡圖像時,數據分布和相應的特征空間分布都發生了偏移。這些分布差異可能會導致內部協變量的變化,從而影響模型的性能。為了提高SAM在內窺鏡領域的泛化能力,本文對編碼器的歸一化層進行了微調。在這個過程中,該模型有效地適應了目標領域的數據分布,并緩解了內部協變量變化的影響。

具體地說,SAM的VIT編碼器的層范數LayerNorm分為(1)transformer塊norm和(2)neck層norm,如上圖(A)所示。考慮到Neck層的特征更接近編碼器的輸出特征,最終決定訓練Neck層歸一化,這相當于對預先訓練的VIT編碼器的特征進行重新歸一化。

這里提到訓練策略在編碼器的neck層增加LayerNorm,原代碼中就是可選擇的,不理解這里怎么重新處理了。

此外,以前的研究已經證明,不確定性較低的預測往往表現出優越的分布外(OOD)性能,這也有利于領域適應。SAM會生成一個IOU分數輸出,這本身就代表著不確定性(或者置信度)。然而,在預測過程中,SAM可能會頻繁地對看不見的數據產生高置信度的錯誤預測,這是不可取的。為了緩解這個問題,我們努力減少模型在訓練過程中的不確定性(即增加置信度)。在[4]的啟發下,我們利用gt作為提示來指導模型的學習。首先,我們將SAM的IoU得分表示為圖像級別的置信度Ci。然后,我們計算像素級置信度cp,以使用公式來細化每個像素的不確定性。其中Up∈Rb×1×H×W.
在這里插入圖片描述
Up表示像素不確定性,定義為 U p = 1 ? σ ( ∣ P ∣ ) Up=1?σ(|P|) Up=1?σ(P)。這里,σ表示Sigmoid函數,而P表示輸出預測。最終置信度被計算為圖像級置信度和像素級置信度之和,表示為 c = 1 / 2 ( C i + c p ) c=1/2 (Ci+cp) c=1/2(Ci+cp)。這種可信度是由伯努利分布決定的,它決定了是否將gt作為提示。換句話說,如果置信度足夠低,我們認為該模型需要特定的答案提示來學習正確的掩碼預測。因此,答案是必需的,作為提示,否則就沒有必要。提示的權重由置信度c確定,其表示如下:
在這里插入圖片描述
然而,通過最小化損失函數,模型將傾向于使c=0,從而 P ′ P' P將始終是GT。這意味著該模型實際上并不學習。因此,引入置信度損失來監督c,當c→為0時,置信度損失會增加,并且置信度損失的定義如下:
在這里插入圖片描述
最終損失函數是分段損失Ls和置信度損失Lc之和,如公式中所定義的。5.這里,λ表示一個超參數。具體地,所采用的分段損失是CE損失、Dice損失和MSE損失的組合,如ls=Lce+0.5Ldice+Lmse。
在這里插入圖片描述

這里說增加一個新損失:置信度損失。它由圖像級和像素級兩個組成。

5.實驗結果

在這里插入圖片描述
創新點

  1. image_encoder中用交叉注意力引入CNN特征;
  2. mask_decoder中使用CNN特征作為位置嵌入,融合CNN特征、image encoder的中間層特征與最終特征,再最后加上;
  3. 設置置信度損失,解決置信度錯誤地過高的問題。

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

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

相關文章

視頻壓縮軟件哪個壓縮最小,視頻用什么軟件壓縮最小

在數字媒體時代,視頻內容的生產與分享已成為生活常態。但隨之而來的問題就是,大視頻文件占用過多存儲空間,上傳和分享也變得不便。本文將為你揭示如何將視頻壓縮到最小,同時保持畫質清晰。讓我們一起探索吧! 下載并文件…

剪輯抽幀技巧有哪些 剪輯抽幀怎么做視頻 剪輯抽幀補幀怎么操作 剪輯抽幀有什么用 視頻剪輯哪個軟件好用在哪里學

打破視頻節奏,讓作品告別平庸。抽幀剪輯可以改變視頻敘事節奏,人為制造沖突、轉折、卡頓的效果。這種剪輯方式,不僅可以推進劇情發展,還能吸引觀眾的注意力,有效防止觀影疲勞。有關剪輯抽幀技巧有哪些,剪輯…

python中 is 的意義和用法

在Python中,is 是一個關鍵字,用于比較兩個對象的身份(即它們是否是同一個對象)。如果兩個對象是同一個對象,is 將返回 True;否則返回 False。這與比較兩個對象的值是否相等的 操作符不同。 基本用法 a …

JavaScript——continue語句

目錄 任務描述 相關知識 continue語句 編程要求 任務描述 本關任務:計算數組中所有正數或者所有負數的和。 相關知識 上一實訓介紹了關鍵字break的使用,continue是一個和break含義十分接近的關鍵字,本關將詳細剖析continue的用法。 co…

Typora篇-忍痛開啟

語雀專業會員即將到期, 我看著99元的學費款, 我決定重新用回Typora。 雖然里面有一些文件但是我還是舍不得?_? 99元巨款。 下面開啟我的Typora整活歷程, 大家有什么好用的插件快捷方式一起來分享啊。

MyBatis框架學習筆記(二):原生API 的調用 和 注解的使用

1 MyBatis原生API 1.1 原生API 快速入門需求 在筆記一案例的基礎上將增刪改查,使用 MyBatis 原生的 API 完成,就是直接通過SqlSession 接口的方法來完成 1.2 原生API 快速入門-代碼實現 創建 src\test\java\com\hspedu\mapper\MyBatisNativeTest.jav…

uni-app 封裝http請求

1.引言 前面一篇文章寫了使用Pinia進行全局狀態管理。 這篇文章主要介紹一下封裝http請求,發送數據請求到服務端進行數據的獲取。 感謝: 1.yudao-mall-uniapp: 芋道商城,基于 Vue Uniapp 實現,支持分銷、拼團、砍價、秒殺、優…

實用性提升百分之一百!!!【ONLYOFFICE 8.1版本】全方位深度性能測評

目錄 【ONLYOFFICE 8.1 版本】全方位深度性能測評 一、界面與用戶體驗 二、文字處理功能 表格處理功能 演示文稿功能 協作與共享功能 性能與穩定性 總結 【ONLYOFFICE 8.1 版本】全方位深度性能測評 在當今數字化辦公的時代,辦公軟件的選擇對于提高工作效率和…

selenium處理cookie問題實戰

1. cookie獲取不完整 需要進入的資損平臺(web)首頁,才會出現有效的ctoken等信息 1.1. 原因說明 未進入指定頁面而獲取的 cookie 與進入頁面后獲取的 cookie 可能會有一些差異,這取決于網站的具體實現和 cookie 的設置方式。 通常情況下,一些…

x-mind沒有配置文件,可以自己創建文件修改內存

x-mind.ini 是 XMind 配置文件,用于自定義啟動選項。以下是一個完整的 x-mind.ini 文件示例。此配置假設你正在使用 Windows 系統并希望配置一些常見的啟動參數: -startup plugins/org.eclipse.equinox.launcher_1.5.0.v20180512-1130.jar --launcher.l…

query和params的區別是什么

query 和 params 是 Vue Router 中傳遞路由參數的兩種不同方式。它們的主要區別在于 URL 結構和獲取參數的方法。 1. params params 是用來傳遞路由路徑中的動態參數。這些參數在路由路徑中以冒號 (:) 表示。 路由配置: {path: /interviewApplication/:backpack…

NCCL源碼詳解6:通信拓撲識別感知構建 物理拓撲xml文件 ncclTopoGetSystem() 視頻教程

Nvidia NCCL如何構建物理拓撲 視頻教程在這: 2.2 NCCL源碼分析:物理拓撲識別感知xml通信topo構建 ncclTopoGetSystem()_嗶哩嗶哩_bilibili 一、ncclTopoGetSystem()拓撲構建 1.1 ncclTopoGetSystem()拓撲構建核心邏輯: 1、 嘗試從文件加…

【解決Windows11系統Windows Hello不能使用的問題】

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、Windows Hello是什么?二、使用步驟1.購買一個攝像頭2.開始配置 三、異常解決1.內置管理員不能使用2.沒找到合適的攝像頭3.攝像頭需要專用驅動4.…

原創作品——教育課程界面設計

教育行業UI界面設計需直觀易懂,確保學習者能迅速上手,減少認知負擔。布局清晰,導航便捷,功能按鈕和圖標設計應符合教育場景,直接支持學習目標的達成,促進高效學習體驗。 通過豐富的互動元素(如拖…

博途通訊筆記1:1200與1200之間S7通訊

目錄 一、添加子網連接二、創建PUT GET三、各個參數的意義 一、添加子網連接 二、創建PUT GET 三、各個參數的意義

代碼隨想錄(day1)二分法

if語句的基本語法 if 要判斷的條件: 條件成立的時候&#xff0c;要做的事舉例&#xff1a; if nums[middle]<target:leftmiddle1 while語句的基本語法&#xff1a; while 判斷條件(condition)&#xff1a;執行語句(statements)舉例&#xff1a; while left<right:midd…

docker安裝mysql8.0.23

拉取鏡像 docker pull mysql:8.0.23 創建掛載文件 mkdir -p /home/docker/mysql/conf mkdir -p /home/docker/mysql/data mkdir -p /home/docker/mysql/logcd /home/docker/mysql/conf touch my.cnf#授權 chmod 777 -R /home/docker/mysql/conf chmod 777 -R /home/docker/m…

C++類的成員:靜態成員變量、靜態成員函數、非靜態成員變量、非靜態成員函數

(1) 類的成員 A.What&#xff08;什么是類的成員&#xff09; 是組成類的基本構建&#xff0c;包含數據成員、靜態成員和 成員函數 B.Which&#xff08;類的成員有哪些&#xff09; 數據成員&#xff1a; 用于存儲與類的對象相關的數據&#xff0c;例如整數、浮點數、字符串、…

2通道音頻ADC解碼芯片ES7243L、ES7243E、ES7243,用于低成本實現模擬麥克風轉換為IIS數字話筒

前言&#xff1a; 音頻解碼芯片某創參考價格&#xff1a; ES7243L 500&#xff1a;&#xffe5;1.36 / 個 ES7243E 500&#xff1a;&#xffe5;1.66 / 個 ES7243 500&#xff1a; &#xffe5;1.91 / 個 其中ES7243L工作電壓為1.8V&#xff0c;與其他兩款的3.3V工作電壓不同&…

ESP32-C3模組上跑通AES-GCM(2)

接前一篇文章:ESP32-C3模組上跑通AES-GCM(1) 本文內容參考: mbedtls學習筆記 AES GCM_aes128 gcm的aad是什么-CSDN博客 https://www.cnblogs.com/testlearn/p/16547583.html 對稱加密和非對稱加密,一文講解明白!-CSDN博客 深入理解高級加密標準(Advanced Encryption…