COD論文筆記 Boundary-Guided Camouflaged Object Detection

動機

  1. 挑戰性任務:偽裝物體檢測(COD)是一個重要且具有挑戰性的任務,因為偽裝物體往往與背景高度相似,使得準確識別和分割非常困難。
  2. 現有方法的不足:現有的深度學習方法難以有效識別偽裝物體的結構和細節,常常無法提供完整和精確的物體邊界。
  3. 邊緣語義的價值:邊緣信息對于物體檢測中的結構保留非常有用,但在COD任務中尚未得到充分利用。

貢獻

  1. 提出新方法:提出了一種新的邊界引導網絡(BGNet)用于偽裝物體檢測,利用邊緣語義來提升表示學習,從而提高檢測精度。
  2. 設計模塊:設計了邊緣感知模塊(EAM)、邊緣引導特征模塊(EFM)和上下文聚合模塊(CAM),用于增強邊緣語義和多尺度上下文特征的融合。
  3. 實驗驗證:在三個具有挑戰性的基準數據集上進行廣泛實驗,證明BGNet在四個常用評估指標上的性能顯著優于現有的18種最新方法。

創新點

  1. 邊緣感知模塊(EAM):通過整合低級局部邊緣信息和高級全局位置信息來提取與物體邊界相關的邊緣語義,從而提升特征學習。
  2. 邊緣引導特征模塊(EFM):將邊緣特征與偽裝物體特征在各層級進行融合,使用局部通道注意機制來挖掘關鍵特征通道,增強語義表示。
  3. 上下文聚合模塊(CAM):通過跨尺度交互學習,逐層聚合多級融合特征,提升物體檢測的特征表示。
  4. 模塊的簡化與有效性:與復雜的圖卷積網絡方法(如MGL)相比,BGNet設計了更簡單但更有效的邊緣提取模塊,減少了模型的復雜性和計算負擔,同時提升了性能。

這些動機、貢獻和創新點展示了BGNet在偽裝物體檢測任務中的顯著改進和有效性。

網絡結構

在這里插入圖片描述

這張圖2展示了BGNet(邊界引導網絡)的整體架構,主要由三部分組成:邊緣感知模塊(EAM)、邊緣引導特征模塊(EFM)和上下文聚合模塊(CAM)。下面詳細解釋各個部分的工作流程和相互關系。

整體架構說明

  1. 輸入層

    • 輸入圖像首先通過一個預訓練的Res2Net-50骨干網絡進行特征提取。
    • 產生多個層級的特征圖(f1, f2, f3, f4, f5),這些特征圖具有不同的空間分辨率和通道數。
  2. 邊緣感知模塊(EAM)

    • EAM模塊接收來自低層特征圖f2(包含局部邊緣信息)和高層特征圖f5(包含全局位置信息)的輸入。
    • 通過融合這些特征來提取與物體邊界相關的邊緣特征fe。
    • EAM模塊旨在生成突出物體邊緣的特征,幫助模型更好地定位和分割偽裝物體。
  3. 邊緣引導特征模塊(EFM)

    • EFM模塊在每個層級上整合邊緣特征fe和相應的層級特征(f2, f3, f4, f5)。
    • 使用局部通道注意機制(LCA)來加強特征通道間的交互,提取關鍵語義信息。
    • 經過融合后的特征(fei)用于指導偽裝物體的表示學習,增強邊界和結構信息。
  4. 上下文聚合模塊(CAM)

    • CAM模塊從上到下逐層聚合多級融合特征。
    • 通過跨尺度的交互學習(例如擴張卷積),提取多尺度的上下文語義,增強特征表示。
    • CAM模塊的輸出用于生成最終的偽裝物體預測。

損失函數(Loss Function)

  • 掩膜監督(Go)
    • 使用加權二值交叉熵損失(LwBCE)和加權IOU損失(LwIOU)來訓練模型,對難以分割的像素賦予更高權重。
  • 邊緣監督(Ge)
    • 使用Dice損失(Ldice)處理正負樣本之間的不平衡問題。
  • 總損失函數(Ltotal)綜合考慮了掩膜監督和邊緣監督,權重參數λ用來平衡這兩部分的損失。

總結

  • 這張圖展示了BGNet如何通過EAM模塊提取邊緣特征,EFM模塊融合這些邊緣特征,并通過CAM模塊聚合多級特征,最終實現偽裝物體的準確檢測和分割。該方法在實驗中表現出色,顯著提升了偽裝物體檢測的性能。

EAM

在這里插入圖片描述
圖3展示了邊緣感知模塊(EAM)的具體架構。EAM模塊的設計目的是提取與偽裝物體相關的邊緣特征。下面詳細解釋該模塊的工作流程:

輸入特征

  • f2:來自骨干網絡的低級特征,包含局部邊緣信息,尺寸為104×104×256。
  • f5:來自骨干網絡的高級特征,包含全局位置信息,尺寸為13×13×2048。

步驟詳細說明

  1. 1x1卷積降維

    • 對f2和f5分別應用1x1卷積,將特征通道數減少到64(對于f2)和256(對于f5),生成f2’和f5’。
    • 具體來說,f2通過1x1卷積變成f2’(尺寸為104×104×64),f5通過1x1卷積變成f5’(尺寸為13×13×256)。
  2. 上采樣

    • 對低分辨率的f5’進行上采樣,使其尺寸與f2’匹配(104×104×256)。
  3. 特征融合

    • 將f2’和上采樣后的f5’進行特征拼接(Concat),得到融合特征。
  4. 卷積層處理

    • 對融合特征應用兩個3×3卷積層(分別有64個和1個輸出通道),然后應用一個1×1卷積層進行特征提取。
  5. 激活函數

    • 最后通過Sigmoid激活函數得到邊緣特征圖fe。

作用

  • EAM模塊通過融合低級和高級特征,生成了與偽裝物體邊界相關的邊緣特征。這些邊緣特征在EFM模塊中被進一步利用,以提升偽裝物體的檢測和分割性能。

小結

EAM模塊的設計簡單但有效,充分利用了低級特征中的局部邊緣信息和高級特征中的全局位置信息,通過卷積和上采樣操作生成高質量的邊緣特征圖,從而為后續模塊提供了更豐富的語義信息。

EFM

在這里插入圖片描述
圖4展示了邊緣引導特征模塊(EFM)的具體架構。EFM模塊的設計目的是整合邊緣特征以引導表示學習,增強特征表示。下面詳細解釋該模塊的工作流程:

輸入特征

  • fi:來自骨干網絡的多層次特征(如f2, f3, f4, f5),表示輸入特征。
  • fe:來自EAM模塊的邊緣特征。

步驟詳細說明

  1. 邊緣特征的下采樣

    • 對邊緣特征fe進行下采樣(D),使其尺寸與輸入特征fi匹配。
  2. 特征融合

    • 進行逐元素相乘操作(?),將下采樣后的邊緣特征fe與輸入特征fi結合。
    • 將結果與輸入特征fi進行逐元素相加(⊕),得到初始融合特征。
  3. 卷積層處理

    • 將初始融合特征通過一個3x3卷積層,以提取進一步的特征表示。
  4. 全局平均池化(GAP)

    • 對卷積后的特征圖進行全局平均池化(GAP),得到全局特征向量。
  5. 通道注意力機制

    • 通過1D卷積(Conv 1d)處理全局特征向量,提取跨通道的局部交互信息。
    • 使用Sigmoid激活函數生成通道注意力權重。
  6. 通道加權

    • 將通道注意力權重與初始融合特征逐元素相乘(?),生成加權特征。
    • 通過1x1卷積層(Conv 1x1)對加權特征進行處理,得到最終的輸出特征fa_i。

作用

  • EFM模塊通過融合邊緣特征和輸入特征,利用通道注意力機制增強重要特征的表示,同時抑制冗余信息。
  • 該模塊在不同層級應用,可以增強模型對物體邊界和結構的理解,從而提高偽裝物體的檢測和分割性能。

小結

EFM模塊通過整合邊緣特征與輸入特征,并引入通道注意力機制,實現了特征表示的增強。該模塊在保留重要邊緣信息的同時,提升了特征的辨別能力,促進了更準確的偽裝物體檢測。

CAM

在這里插入圖片描述
圖5展示了上下文聚合模塊(CAM)的具體架構。CAM模塊的設計目的是通過挖掘多尺度上下文語義來增強特征表示。下面詳細解釋該模塊的工作流程:

輸入特征

  • fai 和 fc i+1:分別表示來自EFM模塊的特征和來自上一級CAM模塊的特征。

步驟詳細說明

  1. 特征融合

    • 首先,將fai與上一級CAM模塊的輸出特征fc i+1進行特征拼接(Concat),得到初始聚合特征fm。
    • 然后,使用1×1卷積層對fm進行處理,以減少通道數。
  2. 跨尺度特征分割

    • 將處理后的初始聚合特征fm均勻分割成四個特征圖,分別表示為f1m, f2m, f3m, f4m。
  3. 跨尺度交互學習

    • 對每個特征圖分別進行3x3卷積,卷積操作的擴張率(dilation rate)分別設置為1、2、3、4,以捕捉不同尺度的上下文信息。
    • 每個特征圖在進行卷積時,還會與其相鄰特征圖進行逐元素相加操作(element-wise addition),以實現跨尺度的特征融合。例如:
      • f1’ m = Conv3x3(f1m + f2m)
      • f2’ m = Conv3x3(f1m + f2m + f3m)
      • f3’ m = Conv3x3(f2m + f3m + f4m)
      • f4’ m = Conv3x3(f3m + f4m)
  4. 多尺度特征融合

    • 將上述四個卷積后的特征圖進行特征拼接(Concat),并通過一個1x1卷積層進行處理,得到融合后的特征。
  5. 最終輸出

    • 對融合后的特征進行逐元素相加(element-wise addition)操作,并通過一個3x3卷積層進行處理,得到最終的輸出特征fci。

作用

  • CAM模塊通過逐層聚合多尺度特征,能夠有效捕捉不同尺度的上下文語義,增強特征表示的多樣性和豐富性。
  • 這種跨尺度的特征交互和融合策略,能夠提高模型對偽裝物體的檢測和分割能力。

小結

CAM模塊通過跨尺度的特征交互和多尺度上下文語義的融合,實現了特征表示的增強。該模塊的設計使得模型能夠更好地理解和表征偽裝物體,從而提升檢測和分割性能。

實驗細節

實驗細節總結

這篇論文的實驗部分詳細介紹了模型的實現、評估指標、數據集和對比方法。以下是實驗細節的總結:

1. 實現細節
  • 框架:模型使用PyTorch實現。
  • 骨干網絡:采用預訓練的Res2Net-50。
  • 輸入尺寸:所有輸入圖像都調整為416×416。
  • 數據增強:使用隨機水平翻轉進行數據增強。
  • 批量大小:訓練時的批量大小設置為16。
  • 優化器:采用Adam優化器,初始學習率為1e-4,并使用poly策略進行調整(功率為0.9)。
  • 硬件:在NVIDIA Tesla P40 GPU上進行加速訓練,訓練25個epoch大約需要2小時。
2. 數據集
  • CAMO:包含1,250張偽裝圖像,覆蓋八個類別。
  • COD10K:包含10,000張圖像,覆蓋78個偽裝物體類別,具有高質量的層次化標注。
  • NC4K:包含4,121張圖像,支持偽裝物體的定位和排名標注。
  • 訓練集和測試集:使用CAMO和COD10K的訓練集進行訓練,使用它們的測試集和NC4K進行測試。
3. 評估指標
  • MAE(M):平均絕對誤差。
  • 加權F-measure(Fwβ):衡量檢測結果的準確性和召回率。
  • 結構度量(Sα):評估分割結果與真實掩碼的結構相似度。
  • E-measure(Eφ):綜合評估檢測結果的整體性能。
4. 對比方法

論文與18種最新的偽裝物體檢測和顯著性物體檢測模型進行了比較,包括:

  • 顯著性物體檢測模型:如PoolNet、EGNet、SRCN、F3Net、ITSD、CSNet、MINet、UCNet、PraNet、BASNet等。
  • 偽裝物體檢測模型:如SINet、PFNet、S-MGL、R-MGL、LSR、UGTR、C2FNet、JCSOD等。
5. 實驗結果
  • 定量比較:在CAMO、COD10K和NC4K數據集上,BGNet在四個評估指標上均顯著優于所有對比方法。例如,BGNet在Sα、Eφ、Fwβ上分別提高了1.80%、1.40%、3.55%(相比第二好的方法JCSOD)。
  • 定性比較:在一些典型樣本上進行的可視化比較顯示,BGNet能夠準確分割出偽裝物體,并保留更清晰的邊界和結構細節。
  • 邊界探索:與MGL模型相比,BGNet在邊緣信息提取和偽裝物體預測方面表現出更優越的性能。
6. 消融實驗
  • 模塊貢獻:通過逐步添加EAM、EFM和CAM模塊,評估各模塊的貢獻,結果表明每個模塊都對最終性能有顯著提升。
  • EAM輸入特征:測試不同輸入特征對EAM的影響,結果表明f2 + f5的組合效果最佳。
  • 超參數λ:測試不同的λ值對損失函數的影響,發現λ=3時模型性能最佳。

小結

通過詳細的實驗設計和充分的對比,論文證明了BGNet在偽裝物體檢測任務中的優越性能。實驗結果表明,BGNet在多個數據集和評估指標上均取得了顯著的提升,驗證了其設計的有效性。

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

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

相關文章

MySQL索引、視圖練習

素材 1.學生表:Student (Sno, Sname, Ssex , Sage, Sdept) 學號,姓名,性別,年齡,所在系 Sno為主鍵 2.課程表:Course (Cno, Cname,) 課程號,課程名 Cno為主鍵 3.學生選課表:SC (Sno…

Home Credit - Credit Risk Model Stability

本篇是對Kaggle上Home Credit - Credit Risk Model Stability競賽中的開源代碼VotingClassifier Home Credit的解讀。原鏈接在VotingClassifier Home Credit (kaggle.com)。 %%writefile script.py import sys from pathlib import Path import subprocess import os import g…

人工智能的發展現狀,AI將如何改變IT行業,哪些職業將最先失業

文章目錄 一、人工智能的發展現狀1、技術進展與突破2、商業應用與市場3、挑戰與問題4、未來趨勢 二、AI將如何改變IT行業1、工作方式的轉變:2、未來發展的推動:3、用戶服務和體驗的提升:4、創新和轉型的推動:5、融入日常生活和工作…

淺談JMeter運行原理

淺談JMeter運行原理 JMeter架構基礎 JMeter基于Java平臺開發,運行于Java虛擬機(JVM)之上。這意味著它可以在任何支持JVM的操作系統上運行,包括Windows、Linux、macOS等。其核心架構設計圍繞著多線程執行機制,這使得它…

AI大模型探索之路-實戰篇6: Function Calling技術調研之詳細流程剖析

系列篇章💥 AI大模型探索之路-實戰篇4:DB-GPT數據應用開發框架調研實踐 AI大模型探索之路-實戰篇5: Open Interpreter開放代碼解釋器調研實踐 目錄 系列篇章💥一、前言二、Function Calling詳細流程剖析1、創建OpenAI客戶端2、定…

PCL 法向量加權的RANSAC擬合分割平面

目錄 一、算法原理1、原理概述2、主要函數二、代碼實現三、結果展示四、相關鏈接本文由CSDN點云俠原創,原文鏈接。如果你不是在點云俠的博客中看到該文章,那么此處便是不要臉的爬蟲。 一、算法原理 1、原理概述

鴻蒙布局List簡介

鴻蒙布局List簡介 List--常見的布局容器List 創建方式創建方式一,通過Listitem創建方式二,通過ForEach和Listitem創建方式三,通過ListItemGroup List–常見的布局容器 List是在app開發中最常見的一種布局方式,例如通訊錄、新聞列…

Wpf 使用 Prism 實戰開發Day24

自定義詢問窗口 當需要關閉系統或進行刪除數據或進行其他操作的時候&#xff0c;需要詢問用戶是否要執行對應的操作。那么就需要一個彈窗來給用戶進行提示。 一.添加自定義詢問窗口視圖 (MsgView.xaml) 1.首先&#xff0c;添加一個自定義詢問窗口視圖 (MsgView.xaml) <Use…

域內攻擊 ----->約束非約束委派攻擊

在域中&#xff0c;除了我們常見的橫向移動以外&#xff0c;還有很多攻擊&#xff0c;像什么kerberoasting&#xff0c;委派攻擊&#xff0c;NTLMrelay啊...... 還有很多&#xff08;暫時只知道這些&#xff09; 以前在一篇公眾號看到的一個笑話也薈萃了網安的一些攻擊手法&am…

vscode終端運行pnpm,yarn不成功問題

vscode終端運行pnpm&#xff0c;yarn不成功問題 1.問題描述2.解決辦法 1.問題描述 全局安裝了pnpm后&#xff0c;cmd窗口執行pnpm -v可以查看版本信息&#xff0c;在項目目錄可以執行操作&#xff0c;但是在vscode中無法執行并報錯 2.解決辦法 以管理員身份運行vscode打開vscod…

《拯救大學生課設不掛科第二期之Windows11下安裝VC6.0(VC++6.0)與跑通Hello World C語言程序教程》【官方筆記】

背景與目標人群&#xff1a; 大學第一次學C語言的時候&#xff0c;大部分老師會選擇VC6這個編輯器。 但由于很多人是新手&#xff0c;第一次上大學學C語言。 老師要求VC6.0&#xff08;VC6.0&#xff09;寫C語言跑程序可能很多人還是第一次接觸電腦。 需要安裝VC6這個編輯器…

深入理解ECMAScript:JavaScript的規范與實踐

引言 在當今的Web開發領域&#xff0c;JavaScript幾乎無處不在。它不僅在客戶端編程中占據主導地位&#xff0c;而且在服務器端&#xff08;Node.js&#xff09;和移動應用開發中也越來越受歡迎。然而&#xff0c;JavaScript的核心并非由單一的公司或組織控制&#xff0c;而是…

初識Java--開啟我的Java學習之旅

目錄 一、JAVA語言概述二、JAVA語言的重要性2.1語言使用廣泛程度2.2工作領域2.3在校招崗位的需求2.4 java語言發展簡史2.5Java語言特性 三、初識java的main方法四、運行java程序五、【面試題】JDK、JRE、JVM之間的關系&#xff1f; 一、JAVA語言概述 Java是一種優秀的程序設計…

【Apache Doris】周FAQ集錦:第 4 期

【Apache Doris】周FAQ集錦&#xff1a;第 4 期 SQL問題數據操作問題運維常見問題其它問題關于社區 歡迎查閱本周的 Apache Doris 社區 FAQ 欄目&#xff01; 在這個欄目中&#xff0c;每周將篩選社區反饋的熱門問題和話題&#xff0c;重點回答并進行深入探討。旨在為廣大用戶和…

Redis常見數據類型(6)-set, zset

目錄 Set 命令小結 內部編碼 使用場景 用戶畫像 其它 Zset有序集合 普通指令 zadd zcard zcount zrange zrevrange ?編輯 zrangebyscore zpopmax/zpopmin bzpopmax/bzpopmin zrank/zrevrank zscore zrem zremrangebyrank zremrangebyscore Set 命令小結 …

鏈棧的存儲

單向鏈表在棧中的存儲 typedef struct StackNode {SElemType data;struct StackNode* next; }StackNode, *LinkStack; LinkStack S; //鏈棧初始化 void InitStack(LinkStack& S) {S NULL;return OK; } //判斷鏈棧是否為空 Status StackEmpty(LinkStack S) {if (S NU…

將具有傳統IP的設計遷移到Vivado設計套件

將具有傳統IP的設計遷移到Vivado設計套件 概述 AMD Vivado?設計套件允許您從CORE Generator?工具遷移IP設計。你可以 還可以將IP遷移到Vivado Design Suite的最新版本。 重要&#xff01;Vivado集成開發環境&#xff08;IDE&#xff09;要求IP、實例化和 端口名都是小寫的。將…

Spring 模擬管理Web應用程序

MVC&#xff1a;Model View Controller 1&#xff09;controller&#xff1a;控制層&#xff08;Servlet是運行服務器端&#xff0c;處理請求響應java語言編寫技術&#xff09; 2&#xff09;service&#xff1a;業務層&#xff08;事務&#xff0c;異常&#xff09; 3&#xf…

視頻號小店的保證金是多少錢?2024最新收費標準,一篇了解!

哈嘍~我是電商月月 現實社會&#xff0c;干什么都需要交錢&#xff0c;就連上班&#xff0c;路費也得掏錢 想要入駐視頻號小店&#xff0c;在視頻號里賣貨賺錢&#xff0c;就要繳納類目保證金 那到底要繳多少錢呢&#xff1f; 今天&#xff0c;月月就把最新的收費標準分享給…