セマンティック・セグメンテーションの学習データ
2 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
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!