denoisingImageDatastore
ノイズ除去イメージ データストア
説明
denoisingImageDatastore オブジェクトを使用して、ImageDatastore 内のイメージからノイズを含むイメージ パッチとそれに対応するノイズ パッチを一括生成します。このパッチは、ノイズ除去を行う深層ニューラル ネットワークの学習に使用されます。
このオブジェクトには Deep Learning Toolbox™ が必要です。
メモ
ノイズ除去イメージ データストアを学習データのソースとして使用する場合、データストアがエポックごとにランダム ノイズをイメージ パッチに追加するため、エポックごとに若干異なるデータセットが使用されます。エポックごとの学習イメージの実際の数は、PatchesPerImage の倍数で増加します。ノイズを含むイメージ パッチとそれに対応するノイズ パッチはメモリに格納されません。
作成
説明
dnimds = denoisingImageDatastore( は、イメージ データストア imds)imds のイメージを使用して、ノイズ除去イメージ データストアを作成します。ノイズを含むイメージ パッチを生成するために、ノイズ除去イメージ データストアは、imds の初期状態のイメージを無作為にトリミングし、ゼロ平均で標準偏差が 0.1 のホワイト ガウス ノイズをイメージ パッチに追加します。
dnimds = denoisingImageDatastore( は、名前と値の引数を使用して 2 次元イメージ パッチのサイズを指定するか、imds,Name=Value)PatchesPerImage、GaussianNoiseLevel、ChannelFormat、および DispatchInBackground プロパティを設定します。複数の名前と値の引数を指定できます。
たとえば、denoisingImageDatastore(imds,PatchesPerImage=40) は、イメージ データストア imds の各イメージを使用して、ノイズ除去イメージ データストアを作成し、ノイズを含む 40 個のパッチを無作為に生成します。
入力引数
名前と値の引数
プロパティ
オブジェクト関数
combine | 複数のデータストアのデータを統合 |
hasdata | データが読み取り可能かどうかを判別 |
partitionByIndex | インデックスに応じた denoisingImageDatastore の分割 |
preview | データストア内のデータのサブセットをプレビュー |
read | denoisingImageDatastore からデータを読み取る |
readall | データストアのすべてのデータの読み取り |
readByIndex | denoisingImageDatastore からインデックスで指定されたデータを読み取る |
reset | データストアの初期状態へのリセット |
shuffle | データストア内のデータのシャッフル |
transform | データストアの変換 |
isPartitionable | データストアが分割可能かどうかを判別 |
isShuffleable | データストアがシャッフル可能かどうかを判別 |
例
ヒント
さまざまな範囲のガウス ノイズ標準偏差について深層ニューラル ネットワークを学習させることは、単一のガウス ノイズ標準偏差についてネットワークを学習させる場合と比較して、はるかに難しい問題です。単一のノイズ レベルのケースと比較して、多くのパッチを作成する必要があり、学習に時間がかかる可能性があります。
ノイズ除去イメージ データストアのデータを可視化するには、データのサブセットをテーブルで返す関数
previewを使用できます。変数inputにはノイズを含むイメージ パッチが格納され、変数responseには対応するノイズ パッチが格納されています。関数montageを使用して、ノイズを含むイメージ パッチまたはノイズ パッチをすべて同じ Figure に可視化します。たとえば、このコードはノイズ除去イメージ データストアdnimdsのデータを表示します。minibatch = preview(dnimds); montage(minibatch.input) figure montage(minibatch.response)
ノイズ除去イメージ データストアからイメージを読み取るたびに、異なるランダムな量のガウス ノイズが各イメージに追加されます。
バージョン履歴
R2018a で導入
参考
denoiseImage | denoisingNetwork | dnCNNLayers | trainnet (Deep Learning Toolbox) | trainNetwork (Deep Learning Toolbox)