CNNを用いた回帰用のデータセットの構築について

7 ビュー (過去 30 日間)
塁 小熊
塁 小熊 2021 年 11 月 5 日
コメント済み: 塁 小熊 2021 年 11 月 9 日
こんにちは。小熊塁と申します。
回帰用のデータセットを作りたいのですが、大量のイメージを4-D doubleなデータにする際に
D=zeros(480,750,1,1000);
for i=1:1000
I=imread('102001456.png');
D(:,:,:,i)=I;
end
という風なコードを使用するつもりなのですが、3行目のimreadに対する入力を、任意のフォルダにある画像を順に読み込むようにしたいのですが、やり方が分かりません。

採用された回答

Atsushi Ueno
Atsushi Ueno 2021 年 11 月 5 日
folder_name = pwd; % これは現在のフォルダにある画像を探す例
imds = imageDatastore(folder_name);
D=zeros(480,750,1,1000);
for i=1:numel(imds.Files)
I=imread(imds.Files{i});
D(:,:,:,i)=I;
end
気になる点など:
  • PCのメモリに入りきらない位大量のイメージデータを扱う為にはイメージデータストアを使うべきです
  • (上記プログラムでもイメージデータストアを使いましたが、画像ファイル名の参照にしか使っていません)
  • 4-D doubleなデータにするには、全てのイメージが同一サイズでなければなりません
  • (サイズに応じて埋め合せる処理か、サイズ違いの3-D doubleなデータをセル配列に格納する処理が必要です)
  3 件のコメント
Atsushi Ueno
Atsushi Ueno 2021 年 11 月 8 日
編集済み: Atsushi Ueno 2021 年 11 月 8 日
学習データ:検証データ=7:3に分割は出来るのでしょうか?⇒出来ます
現在の環境で4-D doubleデータをどのように扱うかで、ご自分の自由に分割する事が出来ます。
下記ドキュメントにおいて、ラベル付き動画データベース(CamVid Dataset)を取り込み、partitionCamVidData()と名付けられた関数でデータをシャッフルしながら各用途(学習用:60%、検証用:20%、テスト用:20%)に振り分けています。参考になるのではないでしょうか?
塁 小熊
塁 小熊 2021 年 11 月 9 日
返信ありがとうございます。
参考になるドキュメントの共有もありがとうございます!
また分からない箇所があったら別途質問を作成したいと思います。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeConvert Image Type についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!