【論文閱讀筆記】Explicit Visual Prompting for Low-Level Structure Segmentations

1.介紹

Explicit Visual Prompting for Low-Level Structure Segmentations
低級結構分割的顯式視覺提示
2023年發表在IEEE CVPR
Paper Code

2.摘要

檢測圖像中低級結構(低層特征)一般包括分割操縱部分、識別失焦像素、分離陰影區域和檢測隱藏對象。雖然每個此類主題通常都是通過特定領域的解決方案來解決的,但統一的方法在所有這些主題中都表現良好。從 NLP 中廣泛使用的預訓練和提示調整協議中汲取靈感,本文提出了一種新的視覺提示模型,稱為顯式視覺提示(EVP)。與之前的視覺提示(通常是數據集級隱式嵌入)不同,本文強調的是強制調整參數,重點關注每個單獨圖像的顯式視覺內容,即來自凍結補丁嵌入的特征和輸入的高頻成分。在相同數量的可調參數下(每個任務有 5.7% 的額外可訓練參數),所提出的 EVP 顯著優于其他參數高效的調整協議。

就是不同于直接把輸入給到網絡模型讓它自己學習,學習內容不可知的隱式視覺提示,本文提出了顯示視覺提示,調整參數重點關注頻域的高頻輸入部分(即低層特征)。

Keywords:顯式視覺提示,頻域高頻部分

3. Introduction

圖像編輯和操作算法的進步使得創建逼真但虛假的圖片變得容易。由于其與監視和犯罪相關的潛在負面影響,檢測此類被操縱區域成為一個重要問題。眾所周知,低級結構(低級特征)有利于篡改區域檢測,比如調整大小和復制粘貼將破壞原始圖像與被纂改圖像之間的 JPEG 壓縮級別,被纂改圖像的噪聲水平并且背景也不同。要分割模糊像素、陰影區域和隱藏物體,低級線索也很重要。雖然所有這些任務都屬于低級結構分割,但它們是通常由具有精心設計的網絡架構的特定領域解決方案來解決。此外,缺乏大規模數據集通常被認為是限制性能的主要因素。

本文基本思想是使用最少的額外可訓練參數,有效地將凍結的大型基礎模型適應許多下游任務。由于基礎模型已經在大規模數據集上進行了訓練,因此提示通常會導致下游任務上更好的模型泛化,特別是在注釋數據有限的情況下。提示還顯著節省了模型的存儲,因為它只需要保存共享的基本模型和任務感知提示。

視覺提示調整。即使在GPT3中手動選擇提示的少量或零次設置中,也可以對下游遷移學習任務進行強大的泛化。最近,提示已經適應視覺任務。有任務提出了記憶令牌,這是一組可學習的嵌入向量的每個Transformer層。VPT 提出了類似的想法,并通過跨多個領域和骨干架構的多種識別任務的廣泛實驗來研究視覺提示的通用性和可行性。不像VPT重點是識別任務,本文的工作旨在探索低層次結構分割的最佳視覺內容。

偽造檢測的目標是檢測手動操作的像素,例如被刪除、替換或編輯的像素。早期的方法通過局部噪聲水平的不一致來檢測區域拼接,基于不同來源的圖像可能包含由傳感器或后處理步驟引入的不同噪聲特性的事實。其他線索也很有幫助,例如SIFT,JPEG壓縮偽影和重新采樣偽影。最近,有人通過在標記的訓練數據上訓練一個完全卷積的網絡來學習檢測剪接。還有結合生成對抗網絡(GAN)來檢測復制移動攻擊。Huh等人提出將攝影元數據作為一種自由而豐富的監督信號,用于學習自我一致性,并應用訓練后的模型來檢測拼接。最近,TransForensic利用視覺Transformer來解決這個問題。高頻元件在這一領域仍然是有用的優先級。RGB-N設計了一個額外的噪聲流。ObjectFormer提取高頻特征作為視覺內容的補充信號。但與ObjectFormer不同的是,本文的主要重點是利用高頻組件作為一種激勵設計,以有效地適應不同的低級分割任務。

4.網絡結構詳解

顯式視覺分割(EVP),基于在ImageNet 上預訓練的視覺變換器(SegFormer),用以低級結構分割。EVP凍結backbone的參數,只包含少量的可調參數,從凍結補丁嵌入和高頻分量的特征中學習特定于任務的知識。模型總體結構圖如下:
在這里插入圖片描述
如右邊所示,圖像輸入,經過補丁嵌入層獲取到的特征入Embedding Tune層,獲取補丁分量,圖像經過HFC Extraction 提取層提取到高頻分量,首先將兩者相加入適配器Adaptor得到自適應后的輸出;將補丁分量與自適應后的結果相加,入Transformer層,輸出結果再與自適應的分量相加入下一Transformer層,循環幾次;最后的輸出進入第二階段。

需要注意的是,backbone比如SegFormer是預訓練好的,它的參數無需再調整,只需調整Embedding Tune,HFC Extraction ,和Adaptor的參數。

SegFormer
SegFormer是一個基于transformer的分層結構,具有更簡單的語義分割解碼器。與傳統的CNN主干類似,SegFormer通過幾個階段捕獲多個陳舊特征。因此,每個階段都是通過特征嵌入層1和視覺Transformer塊構建的。至于解碼器,它利用來自編碼器和MLP層的多尺度特征來解碼特定的類。注意,所提出的提示策略不限于SegFormer,并且可以容易地適應于其他網絡結構。

高頻分量
對于維數為H ×W的圖像I,可以將其分解為低頻分量Il(LFC)和高頻分量Ih(HFC),即 I = { I l , I h } I = {\{Il,Ih\}} I={IlIh}。將fft和ifft分別表示為快速傅立葉變換及其逆變換,使用z來表示I的頻率分量。因此有 z = f f t ( I ) z = fft(I) z=fft(I) I = i f f t ( z ) I = ifft(z) I=ifft(z)。將低頻系數移到中心(H/2,W/2)。為了獲得HFC,生成二進制掩碼 M h ∈ { 0 , 1 } H × W M_h ∈ {\{0,1\}}^{H×W} Mh?{01}H×W,并根據掩碼比τ將其應用于z:
在這里插入圖片描述
τ表示掩蔽區域的表面比。HFC可以計算:在這里插入圖片描述
類似地,可以適當地定義二進制掩碼 M l ∈ { 0 , 1 } H × W M_l ∈ {\{0,1\}}^{H×W} Ml?{01}H×W以計算LFC:

在這里插入圖片描述
LFC可以表示為:在這里插入圖片描述
請注意,對于RGB圖像,獨立地在每個像素通道上計算上述過程。

顯式視覺提示
顯式視覺識別(EVP):從補丁嵌入和高頻分量中學習明確的提示。學習前者來將分布從預訓練數據集轉移到目標數據集。而學習后者的主要動機是通過數據增強來學習預訓練模型對這些特征保持不變。與學習隱式提示的VPT不同,它由三個基本模塊組成:補丁嵌入調諧,高頻分量調諧以及適配器。

從補丁嵌入中學習明確的提示:這指的是利用補丁嵌入(通常是從預訓練模型中獲得的)來將數據分布從預訓練數據集轉移到目標數據集。補丁嵌入是將圖像的小塊或局部區域映射到低維向量空間的過程,而這些向量可以被視為對圖像特征的編碼。通過學習從預訓練模型中得到的這些特征嵌入,可以幫助將模型在預訓練數據集上學到的知識轉移到目標數據集上,從而提高模型在目標任務上的性能。

學習高頻分量的主要動機是通過數據增強來學習預訓練模型對這些特征保持不變:
這指的是利用數據增強技術來學習模型對圖像的高頻分量(即圖像中變化較快的部分)的不變性。數據增強是一種通過對訓練數據進行一系列隨機變換來增加數據樣本數量和多樣性的技術。通過在訓練過程中對高頻分量進行數據增強,可以幫助模型學習到對這些變化保持不變的特征表示,從而提高模型的魯棒性和泛化能力。高頻分量的不變性指的是對圖像中高頻部分的特征保持不變的性質。在圖像處理中,高頻分量通常指的是圖像中變化快速的部分,如邊緣、紋理等。這些特征對于圖像的識別和理解非常重要,因為它們包含了圖像中的細節信息。

為什么要保持高頻分量的不變性呢?
魯棒性: 高頻分量往往包含了圖像中的重要細節和結構信息。如果模型能夠在不同的輸入圖像中保持對這些細節的感知不變,那么它在面對各種變化,如旋轉、縮放、光照變化等時會更加穩健。
泛化能力: 如果模型在訓練過程中學習到了對高頻特征的不變性,那么它在處理未見過的數據時也會表現更好。這是因為模型已經學習到了對圖像中普遍存在的模式和結構的抽象表示,而不僅僅是對訓練數據的記憶。
抑制噪聲: 高頻分量往往受到噪聲的影響,保持對高頻特征的不變性可以幫助模型抑制噪聲的影響,從而提高對干凈數據的處理能力。

補丁嵌入調整。本模塊旨在調整預訓練的補丁嵌入。在預訓練的SegFormer中,補丁 I p I^p Ip被投影到 C s e g ? d i m e n s i o n C_{seg}-dimension Cseg??dimension特征。凍結這個投影,并添加一個可調線性層 L p e L_{pe} Lpe?,以將原始嵌入投影到c維特征 F p e ∈ R c F_{pe} ∈ R^c Fpe?Rc中:
在這里插入圖片描述比例因子r控制可調參數。
高頻分量調諧。對于高頻分量 I h f c I_{hfc} Ihfc?,學習了類似于SegFormer的重疊補丁嵌入。形式上, I h f c I_{hfc} Ihfc?被分成與SegFormer具有相同補丁大小的小補丁。表示補丁 I h f c P ∈ R C I^P_{hfc} ∈ R^C IhfcP?RC,C = h×w×3,學習一個線性層 L h f c L_{hfc} Lhfc?將補丁投影到c維特征 F h f c ∈ R c F_{hfc} ∈ R^c Fhfc?Rc

適配器。Adaptor的目標是通過考慮來自圖像嵌入和高頻分量的特征,在所有層中高效地執行自適應。對于第i個適配器,將 F p e F_{pe} Fpe? F h f c F_{hfc} Fhfc?作為輸入并獲得提示 P i P^i Pi
P i = M L P u p ( G E L U ( M L P t u n e i ( F p e + F h f c ) ) ) P^i = MLP_{up}({GELU({MLP^i_{tune}}(F_{pe}+F_{hfc}) ))} Pi=MLPup?(GELU(MLPtunei?(Fpe?+Fhfc?)))
其中GELU是GELU激活。 M L P t u n e i MLP^i_{tune} MLPtunei?是一個線性層,用于在每個適配器中產生不同的提示。 M L P u p MLP_{up} MLPup?是所有適配器共享的上投影層,用于匹配Transformer特征的尺寸。Pi是附加到每個Transformer層的輸出提示。

5.實驗與結果

隱藏物體檢測的結果如下:
在這里插入圖片描述
在這里插入圖片描述

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

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

相關文章

c# Excel轉換成DataTable

/// <summary> /// Excel轉換成DataTable&#xff08;.xls&#xff09; /// </summary> /// <param name"filePath">Excel文件路徑</param> /// <returns></returns> public static Da…

人造太陽光熱模擬能量密度太陽模擬器

人造太陽模擬器其他名稱&#xff1a;能量密度太陽能光熱模擬能量密度太陽模擬器、能流密度太陽光模擬器、高通量太陽模擬器 高通量能留密度太陽能爐和太陽光模擬器產生高度集中的太陽能和人造光&#xff0c;用于新技術和材料的研究和測試。這使研究人員能夠進行制氫實驗、太陽…

備戰藍橋杯---線段樹基礎1

引入&#xff1a;RMQ問題&#xff1a; 什么是RMQ&#xff1f; 顯然&#xff0c;我們無法用前綴維護&#xff0c;因此&#xff0c;我們需要用到線段樹的知識&#xff1a; 什么是線段樹&#xff1f; 線段樹是用一種樹狀結構存儲一個連續區間信息的數據結構 下面我們用圖解釋用…

C++知識點總結(22):模擬算法真題 ★★★★☆《越野比賽》

二、越野比賽 1. 審題 題目描述 最近賽車手 K a l n Kaln Kaln 加入了心心念念的 F a r Far Far 車隊&#xff0c;馬上就迎來了自己的首秀&#xff0c;參加一場直線加速賽&#xff1a;已知 F a r Far Far 車隊會提供 n n n 種類型的賽車&#xff0c; K a l n Kaln Kaln 只…

【數據結構】隊列OJ題《用隊列實現棧》(題庫+解析+代碼)

1.前言 通過前面隊列的實現和詳解大家對隊列應該有一定熟悉了&#xff0c;現在上強度開始做題吧 隊列詳解&#xff1a;http://t.csdnimg.cn/dvTsW 2.OJ題目訓練225. 用隊列實現棧 題目分析 請你僅使用兩個隊列實現一個后入先出&#xff08;LIFO&#xff09;的棧&#xff0…

git 設置代理 取消代理

設置代理 git config --global http.proxy 127.0.0.1:7890 git config --global https.proxy 127.0.0.1:7890注意&#xff1a;加上 --global 是對 git 設置全局代理&#xff0c;不加 --global 對指定倉庫目錄設置代理&#xff0c;局部代理 查看已修改 git 配置信息 git conf…

【GPU驅動開發】- AST簡介

前言 不必害怕未知&#xff0c;無需恐懼犯錯&#xff0c;做一個Creator&#xff01; AST&#xff0c;抽象語法樹&#xff0c;是一種包含豐富語義信息的格式&#xff0c;其中包括類型、表達式樹和符號等。 TranslationUnitDecl&#xff1a;該類表示一個輸入源文件 ASTContext&…

Qt注冊類對象單例與單類型區別

1.實現類型SingletonTypeExample #ifndef SINGLETONTYPEEXAMPLE_H #define SINGLETONTYPEEXAMPLE_H#include <QObject>class SingletonTypeExample : public QObject {Q_OBJECT public://只能顯示構造類對象explicit SingletonTypeExample(QObject *parent nullptr);//…

【學習筆記】深度學習實戰 | LeNet

簡要聲明 學習相關網址 [雙語字幕]吳恩達深度學習deeplearning.aiPapers With CodeDatasets 深度學習網絡基于PyTorch學習架構&#xff0c;代碼測試可跑。本學習筆記單純是為了能對學到的內容有更深入的理解&#xff0c;如果有錯誤的地方&#xff0c;懇請包容和指正。 參考文獻…

KubeEdge 邊緣計算

文章目錄 1.KubeEdge2.KubeEdge 特點3.KubeEdge 組成4.KubeEdge 架構 KubeEdge # KubeEdgehttps://iothub.org.cn/docs/kubeedge/ https://iothub.org.cn/docs/kubeedge/kubeedge-summary/1.KubeEdge KubeEdge 是一個開源的系統&#xff0c;可將本機容器化應用編排和管理擴展…

藍牙耳機和筆記本電腦配對連接上了,播放設備里沒有顯示藍牙耳機這個設備,選不了輸出設備

環境&#xff1a; WIN10 雜牌藍牙耳機6s 問題描述&#xff1a; 藍牙耳機和筆記本電腦配對連接上了&#xff0c;播放設備里沒有顯示藍牙耳機這個設備&#xff0c;選不了輸出設備 解決方案&#xff1a; 1.打開設備和打印機&#xff0c;找到這個設備 2.選中這個設備&#…

Linux下gcc編譯常用命令詳解

在Linux環境下&#xff0c;使用gcc編譯器進行源代碼的編譯是程序員日常工作的一部分。本篇將介紹一些常用的gcc編譯命令&#xff0c;幫助開發者更好地理解和使用這些命令。 1. 基本編譯命令 gcc工作流程&#xff1a; 編譯單個源文件 gcc source.c -o output這個命令將sour…

20240229筆記

瀏覽器預加載器 手動&#xff1a;prefetch preload <link rel"prefetch" href"next.html"> <link rel"preload" as"style" href"styles.css"> <link rel"preload" as"javascript" hr…

調試工具vue,react,redux

React Developer Tools Redux DevTools Vue devtools 使用瀏覽器官方組件擴展搜索安裝

C語言練習:(力扣645)錯誤的集合

題目鏈接&#xff1a;645. 錯誤的集合 - 力扣&#xff08;LeetCode&#xff09; 集合 s 包含從 1 到 n 的整數。不幸的是&#xff0c;因為數據錯誤&#xff0c;導致集合里面某一個數字復制了成了集合里面的另外一個數字的值&#xff0c;導致集合 丟失了一個數字 并且 有一個數字…

枚舉和聯合(共用體)

目錄 枚舉枚舉類型的定義枚舉的優點 聯合&#xff08;共用體&#xff09;聯合類型的定義聯合的特點聯合大小的計算 枚舉 枚舉顧名思義就是一一列舉&#xff0c;把可能的取值一一列舉 枚舉類型的定義 enum Day &#xff0c; enum Sex &#xff0c;enum Color 都是枚舉類型{}中…

springboot生成圖片驗證碼(借鑒并分析)

目錄 一、CaptchaUtil代碼展示二、CaptchaController 代碼展示 一、CaptchaUtil代碼展示 package com.minster.yanapi.utils;import com.google.code.kaptcha.impl.DefaultKaptcha;import com.google.code.kaptcha.util.Config; import org.springframework.context.annotatio…

MMDetection3D v1.3.0安裝教程

MMDetection3D v1.3.0安裝教程 1. 系統環境2. 安裝2.1 基本環境安裝2.2 調整具體版本2.3 驗證2.4 安裝MinkowskiEngine和TorchSparse 3. 最終環境配置 根據 v1.3.0版本官方手冊測試后的安裝配置&#xff0c;親測可行。 1. 系統環境 項目版本日期Ubuntu18.04.06 LTS-顯卡RTX 2…

曾桂華:車載座艙音頻體驗探究與思考| 演講嘉賓公布

智能車載音頻 I 分論壇將于3月27日同期舉辦&#xff01; 我們正站在一個前所未有的科技革新的交匯點上&#xff0c;重塑我們出行體驗的變革正在悄然發生。當人工智能的磅礴力量與車載音頻相交融&#xff0c;智慧、便捷與未來的探索之旅正式揚帆起航。 在駕駛的旅途中&#xff0…

安裝 Distribution Registry

Distribution Registry是由容器部署&#xff0c;所有前提是需要安裝docker 參考文檔&#xff1a;https://docs.docker.com/engine/install/centos/ Registry 官網文檔 https://distribution.github.io/distribution/ 安裝Registry倉庫 docker run -d -p 5000:5000 --restartalw…