2025-08-17 李沐深度學習17——語義分割

文章目錄

  • 1 語義分割
    • 1.1 介紹
    • 1.2 語義分割應用
    • 1.3 實例分割
  • 2 轉置卷積
    • 2.1 工作原理
    • 2.2 為什么叫“轉置”卷積
    • 2.3 轉置卷積也是一種卷積
  • 3 FCN
    • 3.1 核心思想
    • 3.2 網絡架構
  • 4 樣式遷移
    • 4.1 基于 CNN 的樣式遷移
    • 4.2 工作流程

1 語義分割

1.1 介紹

語義分割(Semantic Segmentation) 是一種像素級別的分類任務。它的目標是為圖像中的每一個像素分配一個類別標簽。

  • 與普通圖像分割的區別
    • 普通分割(如聚類)只將相似的像素區域劃分為同一組,但可能不知道這些區域代表什么物體。
    • 語義分割不僅進行區域劃分,還會為每個像素分配一個有意義的語義標簽(如“狗”、“貓”、“路面”或“背景”)。
  • 與圖片分類和目標檢測的區別
特性圖片分類目標檢測語義分割
任務級別圖像級別物體級別像素級別
輸出一個類別標簽多個邊界框 + 類別標簽每個像素的類別標簽
精度粗略相對精細(邊界框)非常精細(像素級)
示例圖像中有只狗 → “狗”圖像中有兩只狗 → 兩個邊界框,均標記為“狗”圖像中有兩只狗 → 標記出所有屬于狗的像素,并將其標記為“狗”
image-20250816215155802

1.2 語義分割應用

由于其像素級的精細度,語義分割在現實中有許多重要應用:

  • 圖像背景處理
    • 視頻會議:通過識別出“人”和“背景”,可以輕松實現背景虛化或背景替換,而不需要綠幕。
    • 手機人像模式:通過識別出“人”并將其與背景分離,實現更自然的背景虛化效果。
image-20250816215235936
  • 自動駕駛
    • 路面分割:這是自動駕駛最關鍵的應用之一。系統需要實時識別出哪些像素是“路面”,哪些是“人行道”、“樹木”或“建筑物”,以便安全行駛。
image-20250816215252727
  • 醫學影像分析
    • 識別和分割出病灶區域。

1.3 實例分割

實例分割(Instance Segmentation) 是一個比語義分割更進一步的任務。它不僅要識別每個像素的類別,還要區分同一類別下的不同實例

  • 與語義分割的區別
    • 語義分割:如果圖像中有兩只狗,它會把所有屬于狗的像素都標記為同一個“狗”類別。它不區分這是“狗一”還是“狗二”。
    • 實例分割:它會把第一只狗的所有像素標記為“狗1”,把第二只狗的所有像素標記為“狗2”。它能區分出每一個獨立的“實例”。
  • 關系:實例分割可以看作是目標檢測的精細化版本,它不僅通過邊界框框出物體,還提供了每個物體的精確像素級輪廓。
image-20250816215429765

2 轉置卷積

傳統的卷積操作通常會減小特征圖(feature map)的高和寬。雖然可以通過填充(padding)來保持高寬不變,但很難有效增大特征圖的尺寸。

然而,語義分割的任務要求我們對圖像中的每一個像素進行分類。如果我們的模型不斷通過卷積來減小圖像尺寸,最終的特征圖(例如 7x7)將無法對應到原始圖像中的每一個像素。

因此,我們需要一種能夠增大特征圖高和寬的卷積操作,這就是轉置卷積

2.1 工作原理

轉置卷積(也稱為反卷積或部分反向卷積)與常規卷積的工作方式非常相似,但它是“反向”的。

  • 常規卷積:一個輸入區域(例如 2x2)與一個卷積核做點積,生成一個輸出像素。
  • 轉置卷積:一個輸入像素與卷積核做元素級乘法,生成一個的輸出區域(與卷積核大小相同)。然后,將所有輸入像素生成的輸出區域疊加(相加),得到最終的輸出特征圖。

步驟:

  1. 輸入和卷積核:假設有一個 2x2 的輸入和一個 2x2 的卷積核。
  2. 逐像素處理:遍歷輸入的每一個像素,并與卷積核進行元素級乘法。
  3. 寫入輸出矩陣:將相乘后的結果,按照與輸入像素對應的位置,寫入到輸出矩陣中。
  4. 疊加:將所有輸入像素生成的結果矩陣疊加(相加),得到最終的輸出。

通過這種操作,一個較小的輸入特征圖(例如 2x2)可以生成一個較大的輸出特征圖(例如 3x3 或 4x4),從而實現了高和寬的增大

image-20250816215920830
  • 填充(Padding):轉置卷積的填充是在輸出上進行的,這與常規卷積的輸入填充不同。
  • 步幅(Stride):轉置卷積的步幅決定了輸入像素在輸出上移動的距離,從而成倍地增大輸出特征圖的尺寸。例如,步幅為 2 會使輸出高寬加倍。

2.2 為什么叫“轉置”卷積

從數學角度看,常規卷積可以被表示為一個矩陣乘法

  • 常規卷積
    • 可以將卷積核 W 構造為一個矩陣 V。
    • 將輸入 X 和輸出 Y 展開成向量 X′ 和 Y′。
    • 卷積操作等價于矩陣乘法:Y′=V×X′。
  • 轉置卷積
    • 轉置卷積則等價于使用矩陣 V 的轉置進行乘法:Y′=VT×X′。

因此,一個常規卷積如果能將輸入從 (H, W) 變為 (H’, W’),那么使用相同超參數的轉置卷積,就可以將輸入從 (H’, W’) 變回 (H, W)。這就是“轉置卷積”名稱的由來,因為它在矩陣乘法層面是常規卷積的轉置。

image-20250816220131953

2.3 轉置卷積也是一種卷積

轉置卷積本質上是一種特殊的卷積操作。它的特殊之處在于,它通過對輸入卷積核進行巧妙的變換,來實現上采樣(增大高寬)的目的。

  • 常規卷積:通常用于下采樣,即減小高和寬。
  • 轉置卷積:通常用于上采樣,即增大高和寬。

相同超參數(如卷積核大小、步幅和填充)的情況下,轉置卷積在形狀上是常規卷積的逆變換。如果一個常規卷積將輸入從 (H, W) 變為 (H’, W’),那么使用相同超參數的轉置卷積,就可以將輸入從 (H’, W’) 變回 (H, W)。

image-20250816220530029

我們可以將轉置卷積的計算過程,等價地轉換為一個常規卷積的計算。為了將轉置卷積等價于一個常規卷積,需要對輸入卷積核進行特定的預處理:

  1. 處理輸入:在輸入的行和列之間插入 S?1 行或列的零,其中 S 為轉置卷積的步幅
  2. 處理輸入(填充):在輸入的上下左右填充 K?P?1 行或列的零,其中 K 為卷積核大小,P 為轉置卷積的填充
  3. 處理卷積核:將卷積核矩陣進行上下左右翻轉

完成上述轉換后,再對預處理后的輸入和卷積核進行常規卷積計算(填充為 0,步幅為 1),得到的輸出將與原始轉置卷積的輸出完全一致。

image-20250816220747938

形狀的數學關系

假設:

  • 常規卷積:輸入高或寬為 N,卷積核大小 K,填充 P,步幅 S,輸出高或寬為 N′。
  • 轉置卷積:輸入高或寬為 N′,卷積核大小 K,填充 P,步幅 S,輸出高或寬為 N。

它們之間的數學關系如下:

  • 常規卷積:N′=?SN?K+2P?+1
  • 轉置卷積:N=S×(N′?1)+K?2P

如果常規卷積的計算結果能夠被整除,即 SN?K+2P 為整數,那么這兩個公式互為逆運算,再次證明了它們在形狀上的逆變換關系。

image-20250816220852544

3 FCN

FCN (Fully Convolutional Network) 是用深度學習解決語義分割問題的奠基性工作。雖然現在有更復雜的模型,但 FCN 的核心思想仍然是理解現代語義分割模型的基礎。

3.1 核心思想

FCN 的核心思想非常簡單,但極具開創性:用轉置卷積層替換傳統 CNN 末尾的全連接層,從而實現對每個像素的預測。

傳統 CNN 的局限性

  • 傳統的 CNN(如用于圖像分類的 AlexNet 或 ResNet)通常以全連接層結束。
  • 在進入全連接層之前,會使用全局平均池化層將特征圖壓縮成一個 1x1 的向量。
  • 這種設計雖然適合圖像分類(因為只需一個標簽),但會丟失重要的空間信息,無法進行像素級別的預測。

FCN 的解決方案

  • FCN 去掉了傳統 CNN 架構中最后的全連接層和全局池化層。
  • 它的整個網絡都由卷積層組成,因此得名“全卷積”。
  • 它通過在網絡末尾添加轉置卷積層,將經過多層下采樣(減小尺寸)的特征圖還原到與原始輸入圖像相同的尺寸。

3.2 網絡架構

一個典型的 FCN 模型包含以下幾個關鍵部分:

  1. 基礎 CNN 網絡
    • 使用一個預訓練的 CNN 模型作為基礎(例如,在 ImageNet 上訓練好的 ResNet)。
    • 這個部分用于提取圖像的深層特征。
    • FCN 會去掉這個基礎網絡最后的全連接層和全局池化層。
  2. 1x1 卷積層
    • 緊接著 CNN 輸出的特征圖,添加一個 1x1 的卷積層。
    • 作用:主要用于降低通道數,從而減少后續轉置卷積層的計算量。它不會改變特征圖的高和寬。
  3. 轉置卷積層
    • 這是 FCN 最關鍵的部分。
    • 作用:通過轉置卷積,將小尺寸的特征圖放大到與原始輸入圖像相同的尺寸。
    • 通道數:轉置卷積層的輸出通道數等于我們想要預測的類別數(K)。
    • 輸出:最終輸出一個 H x W x K 的張量,其中 H 和 W 是原始圖像的高和寬,K 是類別數。對于每一個像素點,通道上的值代表了它屬于各個類別的預測分數。
image-20250816221330834

4 樣式遷移

樣式遷移是一種將一張圖像的內容與另一張圖像的樣式相結合的技術,從而生成一張新的合成圖像。

  • 內容圖像(Content Image):提供圖像中的主體內容、物體和布局。
  • 樣式圖像(Style Image):提供圖像的風格、紋理、色彩和筆觸。
  • 合成圖像(Synthesized Image):結合了兩者的圖像,既保留了內容圖像的結構,又呈現出樣式圖像的風格。

簡而言之,樣式遷移可以看作是一種高級的、可自定義的“濾鏡”,它比傳統的固定濾鏡更具靈活性。

image-20250816221654275

4.1 基于 CNN 的樣式遷移

這是樣式遷移領域的奠基性工作。該方法的核心思想是利用卷積神經網絡(CNN) 的不同層級來分別提取圖像的內容特征樣式特征

該模型的目標是訓練一張合成圖像(而不是訓練網絡權重)。訓練的目標是讓這張合成圖像在兩個方面與原始圖像相似:

  1. 內容相似:合成圖像在內容上要與內容圖像非常接近。
  2. 樣式相似:合成圖像在樣式上要與樣式圖像非常接近。

為了實現這兩個目標,模型需要定義兩個關鍵的損失函數內容損失樣式損失

4.2 工作流程

image-20250816221821416
  1. 輸入
    • 內容圖像:你想要保留內容的圖像。
    • 樣式圖像:你想要應用的風格圖像。
    • 合成圖像:一張待優化的圖像,通常從隨機噪聲或內容圖像初始化。
  2. CNN 特征提取
    • 將三張圖像(內容圖像、樣式圖像、合成圖像)分別輸入同一個預訓練好的 CNN 模型中(例如 VGG 或 ResNet)。
    • CNN 的每一層都會輸出一個特征圖,這些特征圖代表了圖像在不同抽象層次上的特征。
  3. 損失函數
    • 內容損失:在 CNN 的高層(更具語義信息)上,計算合成圖像的特征圖與內容圖像的特征圖之間的差異。目標是讓這個差異最小化,以確保合成圖像保留原始內容。
    • 樣式損失:在 CNN 的低層和中層(更具紋理和色彩信息)上,計算合成圖像的特征圖與樣式圖像的特征圖之間的差異。這個差異通常通過計算特征圖的協方差矩陣(也稱為 Gram 矩陣)來衡量,因為它能捕捉不同通道之間的相關性,從而代表樣式信息。
  4. 訓練
    • 模型通過反向傳播來優化合成圖像的像素值,而不是優化網絡權重。
    • 訓練過程不斷調整合成圖像,以同時最小化內容損失樣式損失

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

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

相關文章

《若依》權限控制

若依內置了強大的權限控制系統,為企業級項目提供了通用的解決方案 以CRM系統為例,演示權限功能(URL:https://huike-crm.itheima.net) demo賬號(超級管理員)查看所有功能菜單 zhangsan賬號(市…

云原生俱樂部-RH134知識點總結(3)

這個系列的第二篇寫了將近5000字,而且還是刪節內容后的,如RAID就沒寫,因為頭已經很大了。第二篇從早上寫到下午,因為偷懶了,寫著寫著就停筆了。不過好在總算磨完了,現在開始寫RH134系列的最后一篇內容。我這…

股票常見K線

1.底部反彈摸線特點長下影線之后必須有實體陰線踩實之后才考慮。macd綠緩慢收窄過程中的不買,剛轉紅也不買。macd轉紅之后等股價跌回之前macd綠首次收窄的最低點附近,而且跌破了所有均線,可以買入此股票。之后股票一波突破之前平臺震蕩平臺&a…

計算機網絡 THU 考研專欄簡介

本專欄專為清華大學計算機網絡考研復習設計,內容系統全面,涵蓋從基礎概念到重點考點的完整知識體系。具體包括:基礎理論:計算機網絡概念、分類、性能指標及網絡分層模型(OSI 七層、TCP/IP 四層)。協議與技術…

VSCode打開新的文件夾之后當前打開的文件夾被覆蓋

文件--首選項--設置:搜索showtabs設置為如下:

mac 電腦安裝類似 nvm 的工具,node 版本管理工具

前言 蘋果電腦開發時,有時候需要切換node 版本,window版有nvm可以管理node 版本,mac版本可以用另外一種 //全局安裝n 模塊 sudo npm install n -g//輸入后回車,提示輸入電腦密碼,輸入完密碼回車等待下載完成即可//安裝…

spdlog框架的安裝與使用

spdlog框架的安裝與使用spdlog的安裝spdlog的使用spdlog二次封裝總結&#xff1a;spdlog的安裝 sudo apt-get install libspdlog-devspdlog的使用 同步日志器sync.cc (輸出到顯示器/輸出到指定文件) #include<spdlog/spdlog.h> #include<spdlog/sinks/stdout_color…

使用websockets中的一些問題和解決方法

&#xff08;1&#xff09;TypeError: echo() missing 1 required positional argument: path報錯自己寫的代碼如下&#xff1a;async def echo(websocket, path):...async def main():server await websockets.serve(echo, "0.0.0.0", 666)await server.wait_close…

機器人相關基礎知識

機器人簡介下面給出一份機器人方向“從入門到進階”的極簡知識地圖&#xff0c;按「數學 → 硬件 → 軟件 → 算法 → 應用」五層展開&#xff0c;配合常用開源資源。你可以把它當作“字典”隨時查閱。&#x1f539; 1. 數學層&#xff08;所有算法的地基&#xff09;概念一句話…

Windows Server 打開vGPU RDP HEVC編碼

查看已安裝的驅動[rootlocalhost:~] esxcli software vib list Name Version Vendor Acceptance Level Install Date Platforms ----------------------------- ------------------------------------ ------ -…

OpenAL技術詳解:跨平臺3D音頻API的設計與實踐

引言&#xff1a;OpenAL的定位與價值 OpenAL&#xff08;Open Audio Library&#xff09; 是一套跨平臺的3D音頻應用程序接口&#xff08;API&#xff09;&#xff0c;專為高效渲染多通道三維定位音頻而設計。其API風格與編程范式刻意模仿OpenGL&#xff0c;旨在為游戲開發、虛…

重溫 K8s 基礎概念知識系列五(存儲、配置、安全和策略)

文章目錄一、存儲&#xff08;Storage&#xff09;1.1、Volume1.2、PersistentVolume (PV)1.3、PersistentVolumeClaim (PVC)1.4、StorageClass1.5、PVC 和 PV 的綁定過程&#xff1f;二、配置管理&#xff08;Configuration&#xff09;2.1、ConfigMap2.2、Secret2.3、存活、就…

通過PhotoShop將多張圖片整合為gif動畫

一、準備圖片集合二、導入PS導入PS后點擊確定&#xff1a;導入成功&#xff1a;三、添加時間軸勾選創建幀動畫&#xff1a;此時時間軸進化為幀動畫軸&#xff1a;四、圖片集部署在幀動畫軸點擊幀動畫軸右上角的三道橫杠&#xff0c;從圖層建立幀&#xff1a;此時圖片集已經部署…

Easy Rules 規則引擎詳解

Easy Rules 規則引擎詳解 Easy Rules 是一個輕量級的 Java 規則引擎&#xff0c;它提供了一種簡單而強大的方式來定義和執行業務規則。以下是 Easy Rules 的詳細介紹&#xff1a; 1. 核心概念 1.1 規則 (Rule) 條件 (Condition): 當條件為 true 時執行動作動作 (Action): 條件滿…

優雅設計:打造AI時代的高效后端API接口——領碼課堂深度解析

&#x1f4cc; 摘要 后端API接口已經成為軟件架構的神經系統。微服務演化、AI滲透、自動化治理……這些趨勢迫使我們重新定義接口設計的標準。本文從統一規范、參數校驗、異常處理、性能優化四大維度出發&#xff0c;結合領碼Spark的接口治理平臺與AI賦能實踐&#xff0c;構建一…

【VUE】用EmailJS自動發送郵件到網易郵箱

1.注冊 EmailJS 賬號??&#xff1a;訪問 EmailJS 官網并注冊2.添加電子郵件服務??&#xff1a;在 Dashboard 中點擊 "Add New Service"選擇 SMTP server填寫 SMTP 服務器信息SMTP Host: smtphz.qiye.163.com (網易企業郵箱)SMTP Port: 994 (SSL)User: 你的郵箱Ap…

Ubuntu下載、安裝、編譯指定版本python

下載 Index of /ftp/python/ https://www.python.org/downloads/ 刪除舊的python sudo apt autoremove python sudo apt autoremove python3 安裝依賴 sudo apt-get install -y zlib1g-dev libbz2-dev libssl-dev libncurses5-dev \ libsqlite3-dev libreadline-dev tk-d…

如何新建一個自己的虛擬環境

在今天我換了個電腦跑模型的時候&#xff0c;出現了一個問題&#xff1a;C:\ProgramData\Anaconda3\python.exe H:/ywp/project/model/msi_caijian.py Traceback (most recent call last):File "H:/ywp/project/model/msi_caijian.py", line 2, in <module>imp…

(第十八期)圖像標簽的三個常用屬性:width、height、border

&#xff08;第十八期&#xff09;圖像標簽的三個常用屬性&#xff1a;width、height、border 在網頁開發中&#xff0c;控制圖片尺寸與樣式是基礎又高頻的操作。本文圍繞 img 圖像標簽的三個屬性展開&#xff1a;width&#xff08;寬度&#xff09;、height&#xff08;高度&a…

Windows桌面自動化的革命性突破:深度解析Windows-MCP.Net Desktop模塊的技術奧秘

"在數字化浪潮中&#xff0c;桌面自動化不再是程序員的專利&#xff0c;而是每個人都能掌握的超能力。" —— 當我第一次接觸到Windows-MCP.Net的Desktop模塊時&#xff0c;這樣的感慨油然而生。 &#x1f3af; 引言&#xff1a;為什么桌面自動化如此重要&#xff1f…