Main Content

深層学習用イメージ前処理とイメージ拡張の入門

データの前処理は、目的のデータの特徴を正規化または強調する一連の確定的な演算で構成されます。たとえば、固定された範囲にデータを正規化したり、ネットワーク入力層に必要なサイズにデータをサイズ変更したりできます。前処理は、学習、検証、テストのデータに使用されます。

深層学習のワークフローでは、前処理は 2 つの段階で発生することがあります。

  • 通常、前処理は、ネットワークに渡されるデータを準備する前に完了する個別の手順として発生します。元のデータを読み込み、前処理演算を適用して、結果をディスクに保存します。この方法の利点は、前処理のオーバーヘッドが必要になるのは 1 回のみで、その後ネットワークの学習を試行する際には前処理されたイメージが開始点として既に用意されていることです。

  • データをデータストアに読み込むと、関数 transform および関数 combine を使用して、学習中に前処理を適用することもできます。詳細については、深層学習用のデータストア (Deep Learning Toolbox)を参照してください。変換後のイメージはメモリに格納されません。この方法は、前処理演算に大量の計算が必要ではなく、ネットワークの学習速度に顕著な影響を与えない場合に、学習データの 2 つ目のコピーをディスクに書き込むことを回避するのに便利です。

一般的なイメージ前処理演算には、ノイズ除去、エッジ保存平滑化、色空間変換、コントラスト強調、モルフォロジーなどがあります。これらの変換を作成および適用する方法を説明する例については、深層学習ワークフローのためのイメージの拡張を参照してください。

データ拡張は、ネットワークの学習中に学習データに適用されるランダム化された演算で構成されます。

拡張されたイメージ データは、イメージの取得時のばらつきをシミュレーションできます。よく使用される種類のイメージ拡張演算は、シーンに対するカメラの向きのばらつきをシミュレーションする、回転や平行移動などのランダムな幾何学的変換です。ランダムなトリミングは、シーン構成内のばらつきをシミュレーションします。人工的なノイズは、イメージの取得時、またはアップストリームのデータ処理演算時に生じる歪みをシミュレーションします。拡張を行うと、学習データの実質的な量が増加し、ネットワークをデータの一般的なばらつきや歪みに対して不変にするのに役立ちます。

学習データを拡張するには、まずデータをデータストアに読み込みます。詳細については、深層学習用のデータストア (Deep Learning Toolbox)を参照してください。いくつかの組み込みデータストアは、特定の用途の場合に特定の限られた拡張をデータに適用します。関数 transform および関数 combine を使用して、データストア内のデータに対して独自の拡張演算を適用することもできます。学習中、データストアによって各エポックの学習データにランダムに摂動が与えられるため、エポックごとにわずかに異なるデータセットが使用されます。

以下の表は、深層学習用途のイメージ データによく適用される前処理演算および拡張演算の種類を示しています。

前処理のタイプ説明関数のサンプル出力のサンプル
イメージのサイズ変更固定の倍率、または目標のサイズにイメージのサイズを変更する

The original image is on the left . The resized image is on the right.

イメージのワープランダムな反転、回転、スケール、せん断、および平行移動をイメージに適用する

From left to right, the figure shows the original image, the reflected image, the rotated image, and the scaled image.

イメージのトリミング中心またはランダムな位置からイメージを目標のサイズにトリミングする

The image cropped from the center is on the left. The image cropped from a random position is on the right.

ノイズのシミュレーションランダムなガウス ノイズ、ポアソン ノイズ、ごま塩ノイズ、または乗法性ノイズを追加する

The image with randomly added salt and pepper noise is on the left. The image with randomly added Gaussian noise is on the right.

ブレのシミュレーションガウス ノイズまたは指向性運動によるブレを追加する

The image with a Gaussian blur is on the left. The image with a directional motion blur is on the right.

色のジッターイメージの色相、彩度、明度、またはコントラストをランダムに調整する

From left to right, the figure shows the original image with random adjustments to the image hue, saturation, brightness, and contrast.

ジッターの強度明度、コントラスト、またはガンマ補正をランダムに調整する

From left to right, the figure shows the original image with random adjustments to the image brightness, contrast, and gamma correction.

関連する例

詳細