画像の前処理

モデル用データの準備のための画像前処理ステップ。

前処理は、データセットが標準フォーマット(例:すべての画像が同じサイズ)であることを保証します。このステップは、モデルをトレーニングする前にデータセットの一貫性を確保するために不可欠です。

前処理は、Train、Valid、Testセット内のすべての画像に適用されます( 拡張処理はTrainセットのみに適用されるのとは異なります)。

Roboflowプラットフォームでは、以下の前処理オプションを提供しています:

  • 自動方向補正

  • リサイズ

  • グレースケール

  • 自動コントラスト調整

  • オブジェクトの分離

  • 静的クロップ

  • タイル分割

  • クラスの変更

  • Nullフィルタ

  • タグによるフィルタ

各オプションについて以下で説明します。

自動方向補正

自動方向補正は、画像のEXIFデータを削除し、ディスク上に保存されている通りに画像が表示されるようにします。

EXIFデータは画像の向きを決定します。アプリケーション(Macのプレビューなど)はこのデータを使って、ディスク上の保存向きが異なっていても特定の向きで画像を表示します。詳細は こちら のHacker Newsのフロントページディスカッションで、これがどのようにして物体検出モデルを密かに壊す可能性があるかを参照してください。

  • Roboflowは、これをデフォルトでオンにしておき、推論時に画像がどのようにモデルに入力されているかを確認することを推奨します。

  • 画像を自動方向補正すべきかどうかについて詳しく知りたい場合は、 当社のブログをご覧ください.

リサイズ

リサイズは画像のサイズを変更し、必要に応じて希望する寸法にスケールします。アノテーションも比例して調整されます(下記の「フィル」以外)。

現在、縮小のみサポートしています。 用途に最適なリサイズオプション.

  • ストレッチ: 画像を希望するピクセル単位の寸法にストレッチします。アノテーションも比例してスケールされます。画像は正方形で歪みますが、元画像のデータは失われません。

  • フィル(中央クロップ): 生成される画像は、希望する出力寸法の中央クロップです。例えば、元画像が2600x2080でリサイズオプションが640x640の場合、出力画像は元画像の中央640x640となります。アスペクト比は維持されますが、元画像データは失われます。

  • 内側にフィット: 元画像の寸法を出力画像の寸法に合わせてスケールし、アスペクト比を維持します。例えば、元画像が2600x2080でリサイズオプションが640x640の場合、長辺(2600)は640に、短辺(2080)は約512ピクセルにスケールされます。アスペクト比と元データは維持されますが、正方形にはなりません。

  • フィット(エッジ反射): 元画像の寸法を出力画像の寸法に合わせてスケールし、アスペクト比を維持しつつ、新たに作成された余白部分は元画像の反射となります。例えば、元画像が2600x2080でリサイズオプションが416x416の場合、長辺(2600)は416に、短辺(2080)は約335.48ピクセルにスケールされます。残りのピクセル領域(416-335.48、または80.52ピクセル)は元画像の反射ピクセルです。特に、Roboflowはアノテーションもデフォルトで反射します。画像は正方形でパディングされ、アスペクト比と元データは維持されます。

  • フィット(黒エッジ): 元画像の寸法を出力画像の寸法に合わせてスケールし、アスペクト比を維持しつつ、新たに作成された余白部分は黒色になります。例えば、元画像が2600x2080でリサイズオプションが416x416の場合、長辺(2600)は416に、短辺(2080)は約335.48ピクセルにスケールされます。残りのピクセル領域(416-335.48、または80.52ピクセル)は黒ピクセルです。画像は正方形で黒パディングされ、アスペクト比と元データは維持されます。

  • フィット(白エッジ): 元画像の寸法を出力画像の寸法に合わせてスケールし、アスペクト比を維持しつつ、新たに作成された余白部分は白色になります。例えば、元画像が2600x2080でリサイズオプションが416x416の場合、長辺(2600)は416に、短辺(2080)は約335.48ピクセルにスケールされます。残りのピクセル領域(416-335.48、または80.52ピクセル)は白ピクセルです。画像は正方形で白パディングされ、アスペクト比と元データは維持されます。

グレースケール

RGBチャンネルを持つ画像を、1つのグレースケールチャンネルの画像に変換します。これによりメモリを節約できます。各グレースケールピクセルの値は、対応する赤、緑、青ピクセルの加重和として計算されます:Y = 0.2125 R + 0.7154 G + 0.0721 B。

これらの重みは CRT蛍光体 で使用されており、等しい重みよりも人間の赤・緑・青の知覚をよりよく表現します。(出典: Scikit-Image.)

自動コントラスト調整

コントラストが低い画像を強調します。 前処理ステップとしてコントラストを使用するかどうか.

  • コントラストストレッチング:画像は2パーセンタイルと98パーセンタイル内に収まるすべての強度を含むようにリスケールされます。 詳細を見る.

  • ヒストグラム平坦化:画像内で最も頻度の高い強度値を「広げる」処理です。平坦化された画像はほぼ一様な分布となり、すべてのピクセル色がほぼ均等に表現されます。 詳細を見る.

  • 適応的平坦化:コントラスト制限付き適応ヒストグラム平坦化(CLAHE)。画像の異なるタイル領域ごとに計算されたヒストグラムを利用する局所コントラスト強調アルゴリズムです。画像の大部分より暗いまたは明るい領域でも局所的な詳細が強調されます。(出典: Scikit-Image.)

高度な前処理機能

オブジェクトの分離

オブジェクト分離変換は、各バウンディングボックスをクロップして個別の画像として抽出します。このステップは物体検出データセットを分類データセットに変換します。

データセット内の多くのクラスが類似している場合、2つのモデルを連続して使用するのが一般的です。最初のモデル(物体検出)はオブジェクトを検出し、2番目のモデル(分類)はオブジェクトが何であるかを識別します。オブジェクト分離変換は、2番目のモデルのトレーニングに必要なデータセットを作成するのに役立ちます。

静的クロップ

静的クロップ機能とその出力例。

タイル分割

タイル分割は、小さなオブジェクトの検出時(特に航空画像や顕微鏡画像など)に役立ちます。デフォルト設定は2x2タイルですが、必要に応じて調整できます。タイル分割は リサイズ前 に前処理パイプラインで実行されます。

タイルツールと出力のプレビュー(「グリッド」で表示)。

クラスの変更

新しいデータセットバージョンを生成する際に、特定のクラスを省略またはクラス名を変更(リマップ)するための前処理ツールです。これらの変更は生成したバージョンのみに適用され、元のデータセットには影響しません。

「Apple leaf」クラスを省略しています。
「scratches」クラスを「scratch」にリマップしています。

Nullフィルタ

Nullフィルタ変換は、データセット内の画像の一定割合にアノテーションが必要な場合に使用します。Modify Classesツール適用後にnullアノテーションまたは「未注釈」とマークされた画像のみがFilter Null使用時に影響を受けます。

この変換は、データセットの大部分が目的のオブジェクトを含まない場合に有用です。

Filter Null前処理ステップの適用。

欠落アノテーションとNullアノテーションの違い

「欠落アノテーション」は画像にアノテーションが付与されていない場合に発生します(未注釈画像はトレーニング済みデータセットの性能に問題を引き起こし、トレーニング失敗の原因となります)。Nullアノテーションは、 何も 検出させたいものがその画像内に存在しない場合のみ適用してください。

タグによるフィルタ

タグによるフィルタ変換は、 タグ の適用状況に基づいて、どの画像をバージョンに含めるか除外するかをユーザーが選択できます。この変換は、新しいデータサブセットでモデルをトレーニングしたり、不要な画像をトレーニングから除外したりする際に有用です。

各タグには3つのオプションがあります:

  • 必須: 必須タグが付与された画像のみがバージョンに含まれます。

  • 除外:除外タグが付与された画像はバージョンに含まれません。

  • 許可: 許可タグが付与された画像は、除外および必須ルールに従ってバージョンに含まれます。

この例では、生成されるバージョンには do-not-include タグが付与されていない画像のみが含まれます。

Last updated

Was this helpful?