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)