簡體   English   中英

在 Python 中使用 U-net 與 3 通道輸入圖像進行圖像分割

[英]Using U-net in Python with 3-channel input images for image segmentation

我正在使用unet進行圖像分割,使用此處概述的代碼。

我的輸入圖像是 256x256x3。 而相應的分割掩碼為 256x256。

我已將輸入的大小更改為 Unet:

def unet(pretrained_weights = None,input_size = (256,256,3)):

並為 output 獲得一個具有 256x256x1 層的網絡

conv2d_144 (Conv2D)             (None, 256, 256, 1)  2           conv2d_143[0][0]  

這里查看完整的架構。

當我嘗試運行 using.fit_generator 時,出現以下錯誤:

ValueError: Error when checking target: expected conv2d_144 to have shape (256, 256, 1) but got array with shape (256, 256, 3)

我能做些什么來解決這個問題? 請讓我知道我可以提供哪些額外信息!

謝謝!

PS:我在輸出中有三個類,這可能是原因嗎?

您必須決定是否需要圖像的 RGB 或灰度輸入:將圖像轉換為灰度或更改轉換層。 另一種選擇是將 256x256x3 輸入展平為一維並將其用作輸入。

實際上,我已經通過一次性編碼我的分割掩碼並將最后一層的激活 function 更改為 softmax 來修復它,並使用過濾器大小來匹配類的數量!

https://github.com/Mkeel1ng/MULTI-CHANNEL-UNET

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM