セマンティック・セグメンテーションの学習データ
14 views (last 30 days)
Show older comments
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のイメージが必要です」という旨のエラーが発生します。
理屈はわかるのですがどの部分のコードを直したら良いのか分かりません
ご教授をお願いします
0 Comments
Accepted Answer
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'))
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!