Segment Anything in High Quality之SAM-HQ論文閱讀

摘要

最近的 Segment Anything Model(SAM)在擴展分割模型規模方面取得了重大突破,具備強大的零樣本能力和靈活的提示機制。盡管 SAM 在訓練時使用了 11 億個掩碼,其掩碼預測質量在許多情況下仍不理想,尤其是對于結構復雜的目標。我們提出了 HQ-SAM,使 SAM 能夠精確地分割任意目標,同時保留其原有的可提示設計、高效性和零樣本泛化能力。我們的設計充分復用并保留了 SAM 預訓練的模型權重,僅引入極少量的附加參數和計算。我們設計了一個可學習的“高質量輸出令牌”(High-Quality Output Token),將其注入 SAM 的掩碼解碼器,用于預測高質量掩碼。為了提升掩碼細節,我們不僅在解碼器特征上使用該令牌,還將其與 ViT 編碼器的早期和最終特征進行融合。為訓練新增的可學習參數,我們收集并整合了來自多個來源的 44K 張精細掩碼數據集。HQ-SAM 僅在這 44K 張掩碼數據上訓練,使用 8 塊 GPU 僅耗時 4 小時。我們在 10 個多樣化的分割數據集上評估了 HQ-SAM 的性能,其中 8 個數據集采用零樣本轉移協議。實驗證明,HQ-SAM 在保持零樣本能力的同時,顯著提升了掩碼質量。代碼和預訓練模型可在 https://github.com/SysCV/SAM-HQ 獲取。

為了讓 HQ?Output Token 能夠生成更精細的掩碼邊緣與細節,我們在掩碼解碼器的特征之上,又額外引入了 ViT 編碼器的“早期特征”和“后期特征”兩種信息:

早期特征(High?Resolution 細節信息)

ViT 在最開始幾層處理的 patch 嵌入保留了較高的空間分辨率(相當于 CNN 中淺層的 feature map),能夠捕捉到物體邊緣、紋理、細線等局部細節。

如果只用解碼器輸出的特征,往往因多次下采樣/Transformer 自注意力而丟失這些精細結構。

因此,我們取自 ViT 編碼器前幾層的高分辨率 feature map,經一次小型映射(如 1×1 卷積或線性層)降維后,與 HQ?Output Token 一起送入特征融合模塊。

后期特征(全局語義信息)

ViT 編碼器最后幾層的輸出具有強大的語義表達能力,能全局感知“這塊區域是哪個物體,屬于哪個類別”,但空間分辨率相對較低。

將這些深層特征融入,可以幫助 HQ?Output Token 準確判斷哪些細節應當被保留、哪些應被忽略,從而避免誤分割噪聲或背景紋理。

特征融合機制

我們設計了一個輕量級的 “Fusion Block”:首先對三組特征(早期、解碼器中期、后期)分別做投影到相同維度,然后在 token 維度上進行拼接或加權相加,最后通過一層小型 MLP(或卷積)融合出一組既有高分辨率細節又有全局語義的特征表示。

HQ?Output Token 在 mask 解碼器中,就基于這組融合特征進行自注意力操作和 MLP 預測,從而在原來粗糙的掩碼邊界基礎上,補上細線、縫隙、曲面等復雜結構。

通過以上“多尺度、跨階段”的特征融合,HQ?SAM 能在保持 SAM 原有 promptable 設計與零樣本泛化能力的同時,顯著改善對細小結構和邊緣細節的分割質量。

1 引言

準確分割多樣化目標對于圖像/視頻編輯、機器人感知和 AR/VR 等場景理解應用至關重要。SAM [21] 作為一款基于海量掩碼標簽訓練的通用圖像分割基礎模型,以點、邊框或粗略掩碼作為輸入提示,能夠在多種場景下分割多樣化目標、部件和視覺結構,其零樣本分割能力正引發范式轉變。

盡管 SAM 在多項任務中表現優異,其分割結果在許多場景下仍不盡如人意,主要存在兩大問題:

掩碼邊界粗糙,甚至遺漏細小結構(如圖 1 中的風箏線);
分割錯誤或遮斷掩碼,在挑戰性場景下出現較大偏差。
在這里插入圖片描述

這些問題嚴重限制了基礎分割模型在自動標注和圖像/視頻編輯等應用中的實用性,因為此類任務對掩碼的高精度有嚴格需求。

我們提出 HQ-SAM,在不損害 SAM 零樣本性能和提示靈活性的前提下,實現高質量分割。直接微調 SAM 解碼器或新增完整解碼器都會顯著削弱其零樣本泛化能力;為此,我們設計了一種與原 SAM 緊密集成的輕量化架構。首先,新增一個可學習的 HQ-輸出令牌(HQ-Output Token),與原提示令牌一并輸入到 SAM 的掩碼解碼器;該令牌及其附屬的 MLP 層專門用于生成高質量掩碼。其次,該令牌不僅作用于解碼器特征,還通過特征融合模塊,與 ViT 編碼器的初始和末端特征相結合,以兼顧全局語義和局部細節。在訓練階段,我們凍結所有 SAM 預訓練參數,僅更新 HQ-輸出令牌、三層 MLP 以及小規模特征融合模塊

訓練優質分割模型需要多樣化且精確的掩碼標注。SAM 原訓練集 SA-1B 包含 1100 萬張圖像與 11 億個自動生成的掩碼,但數據規模巨大且標注質量不足以滿足我們對高精度掩碼的需求。因此,我們構建了 HQSeg?44K 數據集,匯集了 44K 張極致精細的掩碼標注,覆蓋 1000 多個多樣化語義類別,來源于六個現有高質量掩碼數據集 [

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

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

相關文章

深入理解_FreeRTOS的內部實現(2)

1.事件組 事件組結構體: 事件組 “不關中斷” 的核心邏輯 事件組操作時,優先選擇 “關調度器” 而非 “關中斷” ,原因和實現如下: 關調度器(而非關中斷) FreeRTOS 提供 taskENTER_CRITICAL()(…

【圖論題典】Swift 解 LeetCode 最小高度樹:中心剝離法詳解

文章目錄 摘要描述題解答案題解代碼分析思路來源:樹的“中心剝離法”構造鄰接表和度數組循環剝葉子終止條件 示例測試及結果時間復雜度空間復雜度總結 摘要 樹是一種重要的數據結構,在許多應用里,我們希望選一個根,讓這棵樹的高度…

Docker的介紹與安裝

? Docker 對初學者的簡單解釋和應用場景 1.什么是 Docker? 簡單來說,Docker 就像一個“裝箱子”的工具,這個箱子叫做“容器”。 你寫的程序和它運行需要的環境(比如操作系統、軟件、工具)都裝進一個箱子里。這個箱…

引導相機:工業自動化的智能之眼,賦能制造業高效升級

在工業自動化浪潮中,精準的視覺引導技術正成為生產效率躍升的關鍵。作為遷移科技——一家成立于2017年、專注于3D工業相機和3D視覺系統的領先供應商,我們深知"引導相機"的核心價值:它不僅是一個硬件設備,更是連接物理世…

智能相機如何重塑工業自動化?遷移科技3D視覺系統的場景革命

從硬件參數到產業價值,解碼高精度視覺系統的落地邏輯 一、工業視覺的“智慧之眼” 遷移科技深耕3D工業相機領域,以“穩定、易用、高回報”為核心理念,打造覆蓋硬件、算法、軟件的全棧式視覺系統。成立6年累計融資數億元的背后,是…

【數據挖掘】聚類算法學習—K-Means

K-Means K-Means是一種經典的無監督學習算法,用于將數據集劃分為K個簇(clusters),使得同一簇內的數據點相似度高,不同簇間的相似度低。它在數據挖掘、模式識別和機器學習中廣泛應用,如客戶細分、圖像壓縮和…

linux環境內存滿php-fpm

檢查 PHP-FPM 配置 pm.max_children:該參數控制 PHP-FPM 進程池中最大允許的子進程數。過高的子進程數會導致內存占用過大。你可以根據服務器的內存大小來調整 pm.start_servers:控制 PHP-FPM 啟動時創建的進程數。根據實際情況調整此值。 pm.min_spare_…

基于CNN卷積神經網絡圖像識別小程序9部合集

基于CNN卷積神經網絡圖像識別小程序合集-視頻介紹下自取 ? 內容包括: 基于python深度學習的水果或其他物體識別小程序 003基于python深度學習的水果或其他物體識別小程序_嗶哩嗶哩_bilibili 代碼使用的是python環境pytorch深度學習框架,代碼的環境安…

WebRTC(九):JitterBuffer

JitterBuffer Jitter “Jitter”指的是連續到達的媒體包之間時間間隔的變化。在網絡傳輸中,由于: 網絡擁塞路由路徑變化隊列排隊不同鏈路帶寬差異 導致包之間的接收時間不一致,這就是網絡“抖動”。 作用 **JitterBuffer(抖…

【推薦100個unity插件】在 Unity 中繪制 3D 常春藤,模擬生長——hedera插件的使用

注意:考慮到后續接觸的插件會越來越多,我將插件相關的內容單獨分開,并全部整合放在【推薦100個unity插件】專欄里,感興趣的小伙伴可以前往逐一查看學習。 效果演示 文章目錄 效果演示前言一、常春藤生成器工具下載二、工具使用1、…

【三維重建】【3DGS系列】【深度學習】3DGS的理論基礎知識之高斯橢球的幾何變換

【三維重建】【3DGS系列】【深度學習】3DGS的理論基礎知識之高斯橢球的幾何變換 文章目錄 【三維重建】【3DGS系列】【深度學習】3DGS的理論基礎知識之高斯橢球的幾何變換前言模型變換(Model Transformation)觀測變換(Viewing Transformation)視圖變換(View Transformation)投影…

EXISTS 和 NOT EXISTS 、IN (和 NOT IN)

在 SQL 中,EXISTS、NOT EXISTS 和 IN 都是用于子查詢的條件運算符,用于根據子查詢的結果過濾主查詢的行。它們之間的區別主要體現在工作方式、效率、對 NULL 值的處理以及適用場景上。 1. EXISTS 和 NOT EXISTS 作用: EXISTS: 檢查子查詢是…

GitHub 趨勢日報 (2025年06月25日)

📊 由 TrendForge 系統生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日報中的項目描述已自動翻譯為中文 📈 今日獲星趨勢圖 今日獲星趨勢圖 880 awesome 788 build-your-own-x 691 free-for-dev 427 best-of-ml-python 404 …

互聯網大廠Java求職面試:Java虛擬線程實戰

互聯網大廠Java求職面試:Java虛擬線程實戰 文章內容 開篇:技術總監與程序員鄭薪苦的三輪對話 在一場緊張而嚴肅的Java工程師面試中,技術總監張工正對候選人鄭薪苦進行深入提問。鄭薪苦雖然性格幽默,但對技術有著扎實的理解。今天…

網絡安全的兩大威脅:XSS與CSRF攻擊實例解析

在網絡攻擊中,XSS跨站腳本攻擊(Cross Site Scripting)與CSRF跨站請求偽造攻擊(Cross-Site Request Forgery)是兩種常見的攻擊方式,它們之間存在顯著的區別。以下是對這兩種攻擊方式的詳細比較: 一、攻擊原理 XSS跨站腳本攻擊 攻擊者通過在Web頁面中注入惡意腳本來實現攻…

如何一次性將 iPhone 中的聯系人轉移到 PC

許多重要的聯系人都存儲在您的 iPhone 上。為了保護關鍵信息,您可能需要將聯系人從 iPhone 轉移到 PC,這是一種有效的聯系人備份方法。如果您在將 iPhone 聯系人轉移到電腦上遇到困難,現在可以從本文中學習 5 個有效的解決方案,然…

Spring Boot開啟定時任務的三種方式 【@EnableScheduling注解,SchedulingConfigurer接口,Quartz 框架】

Spring Boot 開啟定時任務的三種方式? ? ? 在 Spring Boot 應用開發過程中,定時任務是十分常見的需求,比如定時清理日志文件、定期備份數據庫數據、定時發送郵件提醒等。Spring Boot 提供了多種開啟定時任務的方式,本文將詳細介紹三種常見…

LLM 編碼器 怎么實現語義相關的 Token 向量更貼近? mask訓練:上下文存在 ;; 自回歸訓練:只有上文,生成模型

LLM 編碼器 怎么實現語義相關的 Token 向量更貼近? 目錄 LLM 編碼器 怎么實現語義相關的 Token 向量更貼近?mask訓練:上下文存在自回歸訓練:只有上文,生成模型一、核心機制:損失函數與反向傳播的“語義校準”1. 損失函數的“語義約束”2. 嵌入層參數的“動態調整”二、關…

從OCR瓶頸到結構化理解來有效提升RAG的效果

當人們探討如何讓人工智能系統更好地從文檔中查找和使用信息時,通常關注的是令人矚目的算法和前沿的大型語言模型。但問題是:如果文本提取的質量很差,那么后續的努力都將付諸東流。本文探討OCR質量如何影響檢索增強生成(RAG&#…

SpringBoot -- 整合Junit

11.SpringBoot 整合 Junit 11.1 為什么需要單元測試 由于在SpringBoot開發過程中,每開發一個模塊,有時需要從 controller、service、mapper 到甚至 xml 文件的編寫全部開發完畢才能進行測試,這是十分浪費時間的,比如開發人員想測…