augmentedImageDatastore
バッチの変換によるイメージ データの拡張
説明
拡張イメージ データストアは、サイズ変更、回転、反転などのオプションの前処理を使用して、学習データ、検証データ、テスト データ、および予測データのバッチを変換します。イメージのサイズを変更して、深層学習ネットワークの入力サイズに適合させます。ネットワークで過適合が発生したり、学習イメージの正確な詳細が記憶されたりすることを防止するには、ランダムな前処理演算を使用して学習イメージ データを拡張します。
拡張イメージを使用してネットワークに学習させるには、augmentedImageDatastore を trainnet 関数に指定します。詳細については、イメージの深層学習向け前処理を参照してください。
拡張イメージ データストアを学習イメージのソースとして使用する場合、データストアによって各エポックの学習データにランダムに摂動が与えられるため、エポックごとにわずかに異なるデータセットが使用されます。各エポックの学習イメージの実際の数は変化しません。変換後のイメージはメモリに格納されません。
imageInputLayerは、元のデータセットの平均ではなく拡張イメージの平均を使用してイメージの正規化を行います。この平均は、最初の拡張エポックで 1 回計算されます。他のすべてのエポックで同じ平均が使用されるため、学習中には平均イメージが変化しません。イメージのサイズ変更を含む深層学習用のイメージの前処理を効率的に行うには、拡張イメージ データストアを使用します。
ImageDatastoreオブジェクトのReadFcnオプションを使用しないでください。ImageDatastoreを使用すると、事前取得を使用して JPG または PNG のイメージ ファイルのバッチ読み取りを行うことができます。ReadFcnオプションをカスタム関数に設定した場合、ImageDatastoreは事前取得を行わないため、通常、速度が大幅に低下します。
既定では、augmentedImageDatastore はイメージのサイズを出力サイズに合わせて変更するだけです。imageDataAugmenter を使用して、追加のイメージ変換のオプションを設定できます。
作成
構文
説明
auimds = augmentedImageDatastore( は、イメージ データストア outputSize,imds)imds のイメージを使用して、分類問題用の拡張イメージ データストアを作成します。データストアは、outputSize で指定された高さと幅に合わせてイメージのサイズを変更します。
auimds = augmentedImageDatastore( は、分類および回帰問題用の拡張イメージ データストアを作成します。配列 outputSize,X,Y)X には予測子変数が含まれ、配列 Y にはカテゴリカル ラベルまたは数値応答が含まれます。
auimds = augmentedImageDatastore( は、配列 outputSize,X)X のイメージ データの応答を予測するための拡張イメージ データストアを作成します。
auimds = augmentedImageDatastore( は、分類および回帰問題用の拡張イメージ データストアを作成します。テーブル outputSize,tbl)tbl には、予測子と応答が含まれます。
auimds = augmentedImageDatastore( は、分類および回帰問題用の拡張イメージ データストアを作成します。テーブル outputSize,tbl,responseNames)tbl には、予測子と応答が含まれます。引数 responseNames は、tbl の応答変数を指定します。
auimds = augmentedImageDatastore(___, は、名前と値の引数を使用して、書き込み可能なプロパティも設定します。たとえば、Name=Value)augmentedImageDatastore([28,28],imds,OutputSizeMode="centercrop") は中心からイメージをトリミングする拡張イメージ データストアを作成します。
入力引数
名前と値の引数
プロパティ
オブジェクト関数
combine | 複数のデータストアのデータを統合 |
hasdata | データが読み取り可能かどうかを判別 |
numpartitions | データストアの区画数 |
partition | データストアを分割する |
partitionByIndex | インデックスに応じた augmentedImageDatastore の分割 |
preview | データストア内のデータのサブセットをプレビュー |
read | augmentedImageDatastore からデータを読み取る |
readall | データストアのすべてのデータの読み取り |
readByIndex | インデックスで指定されたデータを augmentedImageDatastore から読み取る |
reset | データストアの初期状態へのリセット |
shuffle | augmentedImageDatastore でデータをシャッフルする |
subset | データストアまたは FileSet のサブセットの作成 |
transform | データストアの変換 |
isPartitionable | データストアが分割可能かどうかを判別 |
isShuffleable | データストアがシャッフル可能かどうかを判別 |
例
ヒント
関数
imtileを使用して、変換された多くのイメージを同じ Figure で可視化できます。たとえば、次のコードは、auimdsという拡張イメージ データストアから、変換されたイメージのミニバッチの 1 つを表示します。minibatch = read(auimds); imshow(imtile(minibatch.input))
既定では、イメージに対して実行されるイメージ前処理演算はサイズの変更のみです。
imageDataAugmenterオブジェクトで名前と値の引数DataAugmentationを使用して、追加の前処理演算を有効にします。拡張イメージ データストアからイメージが読み取られるたびに、前処理演算がランダムな異なる組み合わせで各イメージに適用されます。
バージョン履歴
R2018a で導入
