成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

快速學習一個算法UNet,你學會了嗎?

人工智能
編碼器提取的特征包含了輸入圖像的豐富細節信息,但由于下采樣過程,這些細節在深層次可能會被丟失。跳躍鏈接通過將這些細節信息直接傳遞給解碼器,使得解碼器在進行上采樣時能夠更好地融合這些細節,提高了分割結果的精度。

大家好,我是小寒。

今天給大家分享一個超強的算法模型,UNet

UNet 是一種卷積神經網絡架構,最初由 Olaf Ronneberger 等人在 2015 年提出,主要用于生物醫學圖像分割任務。

https://arxiv.org/abs/1505.04597

其設計思想在于通過編碼器-解碼器結構,逐步提取圖像特征并進行多尺度融合,從而實現高精度的像素級別分割。

由于其有效的結構以實現精確的圖像分割,UNet 已在生物醫學成像以外的各種圖像分割任務中廣受歡迎。

圖片圖片

Unet 架構

UNet 架構以其 U 形結構而著稱,它由兩個主要部分組成:收縮(下采樣)路徑和擴展(上采樣)路徑。

圖片圖片

收縮路徑

從架構中我們可以看到,收縮路徑采用傳統的卷積神經網絡結構,通過一系列的卷積層和池化層逐步減少空間維度(即圖像尺寸)并增加特征通道的數量。

每個卷積操作通常包括兩次 3x3 的卷積,緊接著是一個ReLU 激活函數和一個 2x2 的最大池化操作。

池化操作減少了圖像的尺寸,使得網絡能夠更廣泛地獲取上下文信息。

擴展路徑

UNET 架構的一個關鍵組件是擴展路徑。它負責對擴展路徑的特征圖進行上采樣并構建最終的分割掩碼。

上采樣層(反卷積)

每個上采樣操作通過 2x2 的反卷積將圖像尺寸擴大一倍,然后通過與收縮路徑對應層的特征進行拼接。

反卷積本質上與常規卷積相反。它們增強空間維度而不是減少空間維度,從而允許上采樣。

反卷積操作的基本原理

反卷積操作的目標是將輸入特征圖的空間尺寸放大,而不像普通卷積那樣縮小空間尺寸。它通過在輸入特征圖之間插入零值,然后對插值后的特征圖進行標準卷積運算,從而實現上采樣。

具體步驟如下:

  • 插值

在輸入特征圖的每個元素之間插入零值,以增加特征圖的尺寸。例如,如果插值因子為2,則每個元素之間插入一個零值,使得特征圖的尺寸擴大一倍。

圖片圖片

  • 卷積運算
    對插值后的特征圖應用標準卷積操作。這一步通過卷積核在插值后的特征圖上滑動并進行卷積計算,從而生成輸出特征圖。

跳躍連接

圖片圖片

跳躍連接將編碼器(收縮路徑)中某一層的特征圖直接連接到解碼器(擴展路徑)中相應層的特征圖。

通過這些連接,編碼器提取的低層特征(高分辨率)能夠直接傳遞到解碼器的相應層,使網絡能夠聚合多尺度信息以實現正確的分割。

跳躍鏈接的作用

  • 特征融合
    編碼器提取的特征包含了輸入圖像的豐富細節信息,但由于下采樣過程,這些細節在深層次可能會被丟失。跳躍鏈接通過將這些細節信息直接傳遞給解碼器,使得解碼器在進行上采樣時能夠更好地融合這些細節,提高了分割結果的精度。
  • 梯度流動
    在深度神經網絡中,梯度在反向傳播過程中可能會逐漸減小(梯度消失問題),導致訓練困難。
    跳躍鏈接提供了額外的梯度路徑,幫助梯度更有效地流動,從而緩解梯度消失問題,加速模型的訓練過程。

從頭開始構建 UNet 模型

讓我們從頭來實現一個 UNet 模型。

1.加載必要的庫

from tensorflow.keras.layers import Conv2D
from tensorflow.keras.layers import BatchNormalization, Activation, MaxPool2D
from tensorflow.keras.layers import  Conv2DTranspose, Concatenate, Input
from tensorflow.keras.models import Model

2.構建卷積塊

卷積塊將 2D 卷積層應用于輸入張量,然后進行批量歸一化和 ReLU 激活。然后再應用另一個卷積層、批量歸一化和 ReLU 激活,然后返回輸出張量。

def conv_block(input, num_filters):
    x = Conv2D(num_filters, 3, padding="same")(input)
    x = BatchNormalization()(x)
    x = Activation("relu")(x)
    x = Conv2D(num_filters, 3, padding="same")(x)
    x = BatchNormalization()(x)
    x = Activation("relu")(x)
    return x

3.構建編碼器模塊

UNet 架構中的編碼器塊執行下采樣和特征提取。

它對輸入張量應用卷積運算,然后進行最大池化以減少空間維度。

該塊生成處理后的張量和下采樣后的張量,后續層利用這些張量進行進一步處理和特征提取。

def encoder_block(input, num_filters):
    x = conv_block(input, num_filters)
    p = MaxPool2D((2, 2))(x)
    return x, p

4.構建解碼器塊

UNet 架構中的解碼器塊執行上采樣并合并跳躍連接。

它應用反卷積將輸入張量上采樣 2 倍。然后將上采樣的張量與來自相應編碼器塊的張量通過跳躍連接連接起來。

然后進一步應用卷積塊來細化合并的特征。解碼器塊的輸出張量用于后續層以進行進一步處理。

def decoder_block(input, skip_features, num_filters):
    x = Conv2DTranspose(num_filters, (2, 2), strides=2, padding="same")(input)
    x = Concatenate()([x, skip_features])
    x = conv_block(x, num_filters)
    return x

5.構建 UNET 模型

build_unet 函數構建一個用于圖像分割的 UNet 模型。

它應用編碼器塊來下采樣和捕獲特征,然后使用卷積塊進行高級表示,之后應用解碼器塊用于上采樣和合并跳過連接。

該模型生成一個具有 S 形激活的輸出張量,表示前景類的像素概率。

def build_unet(input_shape):
    inputs = Input(input_shape)

    s1, p1 = encoder_block(inputs, 64)
    s2, p2 = encoder_block(p1, 128)
    s3, p3 = encoder_block(p2, 256)
    s4, p4 = encoder_block(p3, 512)

    b1 = conv_block(p4, 1024)

    d1 = decoder_block(b1, s4, 512)
    d2 = decoder_block(d1, s3, 256)
    d3 = decoder_block(d2, s2, 128)
    d4 = decoder_block(d3, s1, 64)

    outputs = Conv2D(1, 1, padding="same", activatinotallow="sigmoid")(d4)

    model = Model(inputs, outputs, name="U-Net")
    return model

現在我們已經從頭開始構建了 UNet 模型。

責任編輯:武曉燕 來源: 程序員學長
相關推薦

2024-12-19 00:16:43

2023-07-30 22:29:51

BDDMockitoAssert測試

2024-08-29 09:18:55

2023-03-26 22:02:53

APMPR監控

2024-06-21 08:15:25

2021-10-04 09:29:41

對象池線程池

2023-04-27 08:42:50

效果

2022-02-08 09:09:45

智能指針C++

2024-04-01 08:13:59

排行榜MySQL持久化

2024-09-09 23:04:04

2023-09-19 08:03:50

rebase?merge

2022-12-09 09:21:10

分庫分表算法

2023-08-01 12:51:18

WebGPT機器學習模型

2024-01-02 12:05:26

Java并發編程

2024-09-26 09:10:08

2024-03-28 12:20:17

2024-01-19 08:25:38

死鎖Java通信

2024-02-04 00:00:00

Effect數據組件

2023-07-26 13:11:21

ChatGPT平臺工具

2023-01-10 08:43:15

定義DDD架構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品一区二区三区四区 | 一级在线毛片 | 91精品久久久久久久久久入口 | 四虎影音 | 久草视频网站 | 久久99久久99精品免视看婷婷 | 久久精品av| 中文字幕第十五页 | 99久久婷婷国产综合精品首页 | 日本在线综合 | 五月天国产视频 | 欧洲一区视频 | 久久午夜精品 | 亚洲 欧美 另类 综合 偷拍 | 欧美亚洲视频在线观看 | 久久精品亚洲精品国产欧美 | 久久久久国产精品一区二区 | 国产九九精品 | 伊人久久精品一区二区三区 | 久久精品国产免费一区二区三区 | 国产中文字幕在线 | 日本韩国电影免费观看 | 国产精品久久久久久婷婷天堂 | 欧美精品久久久久 | 日韩欧美字幕 | 久久精品国产一区二区三区不卡 | 久久综合久色欧美综合狠狠 | 国产精品美女久久久久aⅴ国产馆 | 午夜羞羞 | 一区二区在线观看免费视频 | 影音av| 国产成在线观看免费视频 | 国产福利在线视频 | 三级在线视频 | 欧美日韩精品久久久免费观看 | 性国产丰满麻豆videosex | 亚洲国产精品久久久久秋霞不卡 | 91精品在线播放 | 亚洲视频一区 | 国产一级黄色网 | 91在线成人|