畳み込みニューラルネ​ットワーク(CNN)​を用いて、画像から画​像を生成するにはどう​すればよいのでしょう​か?

12 views (last 30 days)
Casey
Casey on 26 Dec 2022
Answered: Hiro Yoshino on 27 Dec 2022
画像Aと画像Bをセットとし、回帰用のCNNを用いて
入力画像A → 出力画像B
のように学習させるにはどうすればよいでしょうか?
以下のMATLABの例を用いて、[images, digits, angles]の要素のanglesを画像の配列に置き換えたところ、学習させる際に「無効な学習データです」と出てしまいました。
やはり、以下の「image-to-image回帰用のデータストアの準備」
を参考にした方が良いでしょうか?
その場合、ノイズを付けたすtransform関数を用いる箇所
dsTrainNoisy = transform(imdsTrain,@addNoise);
dsValNoisy = transform(imdsVal,@addNoise);
dsTestNoisy = transform(imdsTest,@addNoise);
は必要ではなくなり、イメージデータストアを2種類用意すれば良いのでしょうか?

Answers (1)

Hiro Yoshino
Hiro Yoshino on 27 Dec 2022
trainNetwork の response を見ると、イメージ回帰の response として h x w x d x c x N の 数値配列を指定することが可能なようです。
>以下のMATLABの例を用いて、[images, digits, angles]の要素のanglesを画像の配列に置き換えたところ、学習させる際に「無効な学習データです」と出てしまいました。
angles の出力と画像の出力サイズが異なると思いますが、ネットワークの出力は変更されましたか?
のやり方が参考になると思います。
また、こちらを見ると 分かる通り、combine をすると最後の datastore が応答になりますので、応答用の画像の datastore を準備してインプット画像と combine されると良いかと思います。

Community Treasure Hunt

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

Start Hunting!