セマンティック・セグメンテーションの学習データ

14 views (last 30 days)
Takanori Aihara
Takanori Aihara on 19 May 2022
Commented: Takanori Aihara on 21 May 2022
自作の学習用データセットを作成し「Create DeepLab v3+ convolutional neural network for semantic image segmentation - MATLAB deeplabv3plusLayers - MathWorks 日本」のセマンティックセグメンテーションの学習モデルを作ろうとしたのですがネットワーク作成の部分で「学習イメージのサイズが256×256×9ですが256×256×3のイメージが必要です」という旨のエラーが発生します。
理屈はわかるのですがどの部分のコードを直したら良いのか分かりません
ご教授をお願いします

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 20 May 2022
deeplabv3plusLayersの事例の最後にあるサポート関数preprocessTrainingData(data, imageSize)に怪しい箇所があります。画像のリサイズ後、データを3層重ねる処理があります。DeepLab v3+CNNの基のResNet-18CNNがカラー画像しか受け付けないから、グレースケール画像の色は白黒のまま画像形式をRGBに変える処理です。学習用データがカラー画像であればこの処理は不要で、この処理をしてしまうと質問のエラーが発生する事になると想定します。
% Convert grayscale input image into RGB for use with ResNet-18, which
% requires RGB image input.
%data{1} = repmat(data{1},1,1,3); % ここをコメントアウトすればエラーが解消するはず!
deeplabv3plusLayersの事例で検証に使った画像'triangleTest.jpg'がグレースケールである事を確認しました。学習用データもグレースケール画像なのでしょう。カラー表示されているのは「白い背景に黒線で三角形が描かれた元画像」に「セマンティックセグメンテーション結果の画像」を重ねた画像だからです。
size(imread('triangleTest.jpg'))
ans = 1×2
256 256
  1 Comment
Takanori Aihara
Takanori Aihara on 21 May 2022
@Atsushi Ueno 様
ご回答ありがとうございます!
無事学習モデルの作成が進みました!
ありがとうございます!!!

Sign in to comment.

More Answers (0)

Products


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!