(ECCV,2022)Mask-CLIP:從CLIP中提取自由密集標簽

文章目錄

  • Extract Free Dense Labels from CLIP
    • 相關資料
    • 摘要
    • 引言
    • 方法
      • Mask-CLIP
      • Mask-CLIP+
    • 實驗

Extract Free Dense Labels from CLIP

相關資料

代碼:https://github.com/chongzhou96/MaskCLIP
論文:https://arxiv.org/abs/2112.01071

摘要

對比語言-圖像預訓練(CLIP)在開放詞匯的零樣本圖像識別方面取得了顯著突破。許多最近的研究利用預訓練的CLIP模型進行圖像級別分類和操作。在本文中,我們希望檢查CLIP在像素級密集預測方面的內在潛力,特別是在語義分割方面。為此,我們展示了通過最小修改,MaskCLIP在沒有注釋和微調的情況下,在各種數據集上的開放概念中產生了引人注目的分割結果。通過添加偽標記和自訓練,MaskCLIP+在很大程度上超越了最先進的感應零樣本語義分割方法,例如,在PASCAL VOC/PASCAL Context/COCO Stuff上未見類別的mIoUs從35.6/20.7/30.3提高到86.1/66.7/54.7。我們還測試了MaskCLIP在輸入損壞下的魯棒性,并評估了其區分細粒度對象和新概念的能力。我們的發現表明,MaskCLIP可以作為密集預測任務的新可靠監督源,實現無需注釋的分割。源代碼在此處可用。

引言

在這里插入圖片描述

我們的模型名為MaskCLIP,我們展示了一個可以直接從CLIP的圖像編碼器中提取密集的補丁級特征,即最后一個注意力層的值特征,而不會破壞視覺-語言關聯。用于密集預測的分類權重,本質上是1×1卷積,可以直接從CLIP文本編碼器的文本嵌入中獲得,而不需要任何刻意的映射。在我們的實證研究中,MaskCLIP在通過mIoU指標測量的定量性能和定性結果方面都產生了合理的預測。此外,MaskCLIP可以基于所有變體的CLIP,包括ResNets和ViTs。我們提供了兩種流行的骨干網絡之間的并排比較。我們還為MaskCLIP提出了兩種掩碼細化技術,以進一步提高其性能,即關鍵平滑提示去噪,兩者都不需要訓練。具體來說,關鍵平滑計算不同補丁的關鍵特征(最后一個注意力層)之間的相似性,這些特征用于平滑預測。提示去噪通過刪除圖像中不太可能存在的類別的提示,從而減少干擾因素,使預測更加準確。

方法

在這里插入圖片描述

Mask-CLIP

如圖2(b)所示,與傳統的全局平均池化不同,CLIP的圖像編碼器采用了Transformer風格的多頭注意力層,其中全局平均池化的特征作為查詢,每個空間位置的特征生成一個鍵-值對。因此,這一層的輸出是對傳入特征圖的空間加權和,然后是線性層 F ( ? ) F(·) F(?)
在這里插入圖片描述
其中 C C C是一個常數縮放因子, E m b ( ? ) Emb(·) Emb(?)表示線性嵌入層。 x i x_i xi?表示空間位置i的輸入特征, x ˉ \bar{x} xˉ是所有 x i x_i xi?的平均值。Transformer層的輸出作為整個圖像的全面表示。我們相信這是可能的,因為在每個空間位置計算的#F(v_i)#已經捕獲了與CLIP文本嵌入中的標記很好地對應的局部語義的豐富響應。
基于這樣的假設,如圖2(b)所示,我們在我們的新嘗試中直接修改了CLIP的圖像編碼器:

  1. 移除查詢和鍵嵌入層;
  2. 將值嵌入層和最后的線性層重新制定為兩個各自的1×1卷積層。
  3. 我們保持文本編碼器不變,它以帶有目標類別的提示作為輸入。每個類別的得到的文本嵌入被用作分類器。

我們將得到的模型命名為MaskCLIP,因為它產生像素級掩碼預測而不是全局圖像級預測。然后,我們在各種標準分割基準測試以及網絡爬取的圖像上評估MaskCLIP。如圖1所示,MaskCLIP可以在沒有任何微調或注釋的情況下輸出合理的結果。有人可能會爭論,由于全局注意力池化是一個自注意力層,即使沒有修改,它也可以生成密集的特征。然而,由于查詢 q ˉ \bar{q} qˉ?是在CLIP預訓練期間訓練的唯一查詢,這種樸素的解決方案失敗了。我們將這個解決方案視為基線,并在實驗中將其結果與我們的進行比較。此外,ViT中的Transformer層與全局注意力池化非常相似。實際上,唯一的兩個區別是:

  1. 全局查詢是通過一個特殊的[CLS]標記而不是所有空間位置的平均值來生成的;
  2. Transformer層有一個殘差連接。因此,通過用q[cls]替換 q ˉ \bar{q} qˉ?并在輸出中添加輸入x,MaskCLIP可以與ViT骨干一起工作。

盡管MaskCLIP與現有的分割方法相比簡單,但提出的方法享有從CLIP繼承的多個獨特優點:

  1. MaskCLIP可以用作免費的分割注釋器,為使用有限標簽的分割方法提供豐富和新穎的監督信號。
  2. 其次,由于CLIP在MaskCLIP中保留了視覺-語言關聯,它自然具備分割開放詞匯表類別的能力,以及由自由形式短語描述的細粒度類別,如白色汽車和紅色公交車。
  3. 由于CLIP是在原始網絡策劃的圖像上訓練的,CLIP展示了對自然分布變化[45]和輸入損壞[47]的巨大魯棒性。

我們驗證了MaskCLIP在一定程度上保留了這種魯棒性。關鍵平滑和提示去噪。為了進一步提高MaskCLIP的性能,我們提出了兩種細化策略,即關鍵平滑和提示去噪。回想一下,在方程3中,除了 q ˉ \bar{q} qˉ?,關鍵特征 k i k_i ki?也在CLIP預訓練期間得到了訓練。然而,在原始的MaskCLIP中, k i k_i ki?被簡單地丟棄了。因此,在這里我們尋求利用這些信息來細化最終輸出。關鍵特征可以被視為相應補丁的描述符,因此具有相似關鍵特征的補丁應該產生相似的預測。基于這個假設,我們提出用以下方式平滑預測:
在這里插入圖片描述

其中 k i k_i ki? p r e d i pred_i predi?分別是空間位置 i i i的關鍵特征和類別置信度預測, ∣ ∣ ? ∣ ∣ 2 ||·||_2 ∣∣?2? c o s ( ? ) cos(·) cos(?)分別表示L2歸一化和余弦相似性。我們稱這種策略為關鍵平滑。此外,我們還觀察到在處理許多目標類別時,由于在單個圖像中只有一小部分類別出現,其余的類別實際上是干擾因素,會削弱性能。因此,我們提出了提示去噪,它通過移除所有空間位置上的類別置信度都小于閾值t=0.5的提示的目標類別。

Mask-CLIP+

雖然MaskCLIP不需要任何訓練,但其網絡架構受限于CLIP的圖像編碼器。為了從架構限制中解放MaskCLIP并整合更高級的架構,如PSPNet[55]和DeepLab[5,6],我們注意到可以在訓練時而不是推理時部署MaskCLIP,它充當一個通用且魯棒的注釋器,提供高質量的偽標簽。結合標準的自訓練策略,得到的模型,稱為MaskCLIP+,實現了顯著的卓越性能。除了無需注釋和開放詞匯表分割,MaskCLIP+也可以應用于感應零樣本語義分割任務,其中MaskCLIP僅為未見類別生成偽標簽。

實驗

在這里插入圖片描述
在這里插入圖片描述

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

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

相關文章

SprongBoot及其基礎應用全套部署腳本和配置

POM.xml配置 </dependencies> <!--skywalking日志監控依賴--><dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-logback-1.x</artifactId><version>8.5.0</version></dependency&g…

修改編譯依賴openssl的libcrypto.so

由于centos7默認使用openssl1.0.2k的libcrypto.so.10共享庫。即使openssl升級為3.0.11后&#xff0c;編譯使用ldd命令查看共享庫依舊會引用libcrypto.so.10。 現希望引用libcrypto.so.3&#xff0c;需要在生成動態鏈接庫的CMakeLists.txt中增加如下配置&#xff0c;明確指定ope…

《警世賢文》摘抄:守法篇、惜時篇、修性篇、修身篇、待人篇、防人篇(建議多讀書、多看報、少吃零食多睡覺)

若該文為原創文章&#xff0c;轉載請注明原文出處 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/140243440 長沙紅胖子Qt&#xff08;長沙創微智科&#xff09;博文大全&#xff1a;開發技術集合&#xff08;包含Qt實用技術、樹莓派、三維、OpenCV…

mysql 連接出現 Public Key Retrieval is not allowed

在MySQL連接中出現“Public Key Retrieval is not allowed”錯誤&#xff0c;通常是因為在使用安全套接字層&#xff08;SSL&#xff09;連接時遇到了問題。這是因為MySQL 8.0及以上版本對安全性要求更高&#xff0c;特別是在使用密碼插件如caching_sha2_password時&#xff0c…

【周末閑談】AI“搶飯碗”?絕對不是危言聳聽

AI是在幫助開發者還是取代他們? 在軟件開發領域,生成式人工智能(AIGC)正在改變開發者的工作方式。無論是代碼生成、錯誤檢測還是自動化測試,AI工具正在成為開發者的得力助手。然而,這也引發了對開發者職業前景和技能需求變化的討論。AI究竟是在幫助開發者還是取代他們?…

2024組裝一臺能跑AI大模型的電腦

title: 2024組裝一臺能跑AI大模型的電腦 tags: [組裝電腦, AI大模型] categories: [其他, 電腦, windows] 這里不寫組裝步驟&#xff0c;哪里接線&#xff0c;購買什么品牌網上一大堆。 這里只寫如何根據你自己的需求&#xff0c;選擇合適的、兼容的配件。 概述 需求&#xff…

本地多卡(3090)部署通義千問Qwen2-72B大模型提速實踐:從龜速到夠用

最近在做文本風格轉化&#xff0c;涉及千萬token級別的文本。想用大模型轉寫&#xff0c;在線的模型一來涉及數據隱私&#xff0c;二來又不想先墊錢再找報銷。本地的7-9B小模型又感覺效果有限&#xff0c;正好實驗室給俺配了4卡3090的機子&#xff0c;反正也就是做個推理&#…

運維系列.Nginx配置中的高級指令和流程控制

運維專題 Nginx配置中的高級指令和流程控制 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/…

ssrf結合redis未授權getshell

目錄 漏洞介紹 SSRF Redis未授權 利用原理 環境搭建 利用過程 rockylinux cron計劃任務反彈shell 寫公鑰免密登錄 ubuntu 寫公鑰免密登錄 漏洞介紹 SSRF SSRF&#xff08;server side request forgrey&#xff09;服務端請求偽造&#xff0c;因后端未過濾用戶輸入&…

桂花網藍牙網關X1000:引領物聯網新時代的智能連接

在物聯網技術飛速發展的今天&#xff0c;藍牙網關作為連接藍牙設備與互聯網的關鍵設備&#xff0c;其性能與穩定性直接影響到物聯網系統的整體運行效果。桂花網藍牙網關X1000憑借其卓越的性能和廣泛的應用場景&#xff0c;成為了物聯網領域的佼佼者。 一、產品概述 桂花網藍牙…

【修仙小伙伴】第1章 天眼計劃

自古以來&#xff0c;人類對于地外文明的探索&#xff0c;就不曾停止過。 而在古代文獻《拾遺記》之中&#xff0c;就有「秦始皇」和所謂「宛渠之民」的對話記載&#xff1a; 始皇好神仙之事&#xff0c;有宛渠之民&#xff0c;乘螺舟而至。 舟形似螺&#xff0c;沉行海底&a…

服務端事件推送——HTTP協議的事件流(EventStream)

背景 最近由于工作要求需要使用Springboot搭建一個流式響應服務&#xff0c;即客戶端發送一次請求&#xff0c;服務端需要多次響應才能返回完整的數據。使用場景就是與chatGPT對話&#xff0c;你問一個問題&#xff0c;頁面會逐字將結果打印出來。 下面我在SpringBoot中可以簡…

使用Ckman部署ClickHouse集群介紹

使用Ckman部署ClickHouse集群介紹 1. Ckman簡介 ClickHouse Manager是一個為ClickHouse數據庫量身定制的管理工具&#xff0c;它是由擎創科技數據庫團隊主導研發的一款用來管理和監控ClickHouse集群的可視化運維工具。目前該工具已在github上開源&#xff0c;開源地址為&…

Leetcode 3213. Construct String with Minimum Cost

Leetcode 3213. Construct String with Minimum Cost 1. 解題思路2. 代碼實現 題目鏈接&#xff1a;3213. Construct String with Minimum Cost 1. 解題思路 這一題的話思路上還是比較直接的&#xff0c;就是一個trie樹加一個動態規劃&#xff0c;通過trie樹來快速尋找每一個…

k8s-第七節-ConfigMap Secret

ConfigMap & Secret ConfigMap 數據庫連接地址&#xff0c;這種可能根據部署環境變化的或者其他容器配置選項的包括容器更新或者擴容時可以統一配置 Kubernetes 為我們提供了 ConfigMap&#xff0c;可以方便的配置一些變量。 https://kubernetes.io/zh/docs/concepts/c…

Angluar 實現pdf頁面預覽以及編輯

之前用過一個pdf預覽的lib&#xff0c;并且還支持在線編輯&#xff0c;和直接下載編輯之后的pdf和直接打印&#xff0c;還不錯&#xff0c;記錄下 PdfShowcase 首先安裝依賴 npm install ngx-extended-pdf-viewer 然后引入 import { NgxExtendedPdfViewerModule } from &q…

硅紀元視角 | 中國電信“星辰大模型·軟件工廠”,兩分鐘完成應用開發,效率飛躍!

在數字化浪潮的推動下&#xff0c;人工智能&#xff08;AI&#xff09;正成為塑造未來的關鍵力量。硅紀元視角欄目緊跟AI科技的最新發展&#xff0c;捕捉行業動態&#xff1b;提供深入的新聞解讀&#xff0c;助您洞悉技術背后的邏輯&#xff1b;匯聚行業專家的見解&#xff0c;…

【數據結構】鏈表帶環問題分析及順序表鏈表對比分析

【C語言】鏈表帶環問題分析及順序表鏈表對比分析 &#x1f525;個人主頁&#xff1a;大白的編程日記 &#x1f525;專欄&#xff1a;C語言學習之路 文章目錄 【C語言】鏈表帶環問題分析及順序表鏈表對比分析前言一.順序表和鏈表對比1.1順序表和鏈表的區別1.2緩存利用率&#…

Leetcode 3211. Generate Binary Strings Without Adjacent Zeros

Leetcode 3211. Generate Binary Strings Without Adjacent Zeros 1. 解題思路2. 代碼實現 題目鏈接&#xff1a;3211. Generate Binary Strings Without Adjacent Zeros 1. 解題思路 這一題比較簡單&#xff0c;用一個遞歸算法即可實現。 2. 代碼實現 給出python代碼實現…

Linux基礎: 二. Linux的目錄和文件

文章目錄 二. Linux的目錄和文件1.1 目錄概要1.2 目錄詳細說明 二. Linux的目錄和文件 1.1 目錄概要 command&#xff1a;ls / Linux的文件系統像一棵樹一樣&#xff0c;樹干是根目錄&#xff08;/&#xff09;&#xff0c;樹枝是子目錄&#xff0c;樹葉是文件&#xff1b; …