Visual Artificial Intelligence (AI)モデルの構築¶
他のDataRobotプロジェクトと同様に、Visual Artificial Intelligence (AI)モデルの構築ではデータの準備とアップロードを行います。
- データセットを準備します(追加の特徴量タイプは使用しても使用しなくても問題ありません)。
- AIカタログからプロジェクトを作成するか、ローカルファイルのアップロードを介してプロジェクトを作成します。
- 構築の前にデータをレビューします。
通常のDataRobotプロジェクトと同様にモデルを構築した後、以下の作業を行うことができます。
備考
トレーニング時の画像オーグメンテーションは、既存の画像をランダムに変換し、トレーニングデータをオーグメンテーションする処理手順です。 オーグメンテーションは、モデル構築の前後に設定できます。
Visual Artificial Intelligence (AI)での作業については、これらの追加の考慮事項を参照してください。
データセットの準備¶
Visual Artificial Intelligence (AI)でプロジェクトを作成する場合、データはZIPアーカイブでDataRobotに提供されます。 アーカイブ内の画像の場所は2つの方法で識別できます。
- 画像のパスを含むCSVファイルを使用する(すべてのプロジェクトタイプで機能します)。
- 各画像クラスに1つのフォルダーを使用し、画像ラベルとしてファイルシステムフォルダー名を指定する(特徴量が画像特徴量ひとつしかない分類問題データセットで機能します)。
備考
さらに、画像データをエンコードし、エンコードされた文字列をCSVデータセットの列として提供できます。 データをDataRobotに登録する前に、base64形式を使用して画像をエンコードします。 (その他のエンコード形式またはエンコードエラーは、モデルエラーになります。) 画像を変換するためのスクリプトへのアクセス、およびAPI呼び出しを使用してVisual Artificial Intelligence (AI)プロジェクトで予測を行う方法については、 このチュートリアルを参照してください。
開始する前に、画像がサイズと形式 のガイドラインを満たしていることを確認します。 作成したデータセットは、AIカタログで共有およびプレビューを行うことができます。
データセットのガイドライン¶
次の表に、画像要件を示します。
サポート | タイプ |
---|---|
ファイルタイプ | .jpeg*, .jpg*, .png, .bmp, .ppm, .gif, .mpo, and .tiff/.tif |
ビットサポート | 8ビット、16ビット** |
ピクセルサイズ |
|
補記:
- Visual Artificial Intelligence (AI)のクラス制限は、Visual Artificial Intelligence (AI)以外と同じです(1000クラス)。
- 画像サブフォルダーはZIP圧縮しないでください(データセットのメインのZIPアーカイブにネストされたアーカイブを含めないでください)。
- CSVで参照されるすべての画像パスは、アップロードされたアーカイブに含まれている必要があります。リモートURLは使用できません。
- ファイル名とフォルダー名に空白を含めることはできません。
- ファイルパスには
/
(\
ではなく)を使用します。
* JPEGと非可逆圧縮
JPEG(または.jpg
)画像形式は、定義上、lossy形式です。 JPEG規格は、ビットごとに同一の出力画像を生成することを保証するものではありません。デコーダー/エンコーダーによって生成されるエラーが、規格指定のエラーよりも低いことだけが重要視されます。 その結果、同じライブラリバージョンを使用しても、同じ画像を若干の違いでデコードできます。 予測結果の一貫性を保つ必要がある場合は、 ここで説明されているデータ準備スクリプトを使用して、画像をbase64でエンコードされた文字列に変換してからアップロードします。
** 16ビット画像の処理方法
DataRobotは、画像を内部で3つの8ビット画像(3x8ビット)に変換することで、16ビット画像をサポートします。 最初の画像を取得してTIFF画像を処理するため、結果の16ビット画像は基本的にグレースケール画像で、その後DataRobotによって再スケーリングされます。 詳細については、 Pillow画像モジュールのドキュメントを参照してください。
画像アップロードのパス¶
CSVは、直接的なクラス/画像の場合とデータセットに特徴量を加える場合の両方においてすべてのタイプのプロジェクト(連続値または分類)で使用できます。 この方法では、次のいずれかの方法で、CSVと同じディレクトリに画像を提供します。
- すべての画像を含む単一のフォルダーを作成する。
- 複数の画像を複数のフォルダーに分ける。
- フォルダー外で画像をCSVとともに保存する。
CSVファイルを設定するには、次の操作を行います。
-
少なくとも次の列を含むCSVを画像と同じディレクトリに作成します。
- ターゲット列。
- 各画像の相対パス。
-
追加の特徴量を含めます。
1つの行に複数の画像がある場合は、それぞれのデータセットに個別の列を作成できます。 画像が健康なトマトの前面、背面、左、右などに分類されている場合、ベストプラクティスとして、各カテゴリーに1つの列を作成することをお勧めします(前面の画像用に1列、背面の画像用に1列、左の画像用に1列、そして右の画像用に1列)。 追加された列の各行に画像がない場合は、DataRobotでは欠損値として扱われます。
ディレクトリのZIPアーカイブを作成し、DataRobotにドラッグアンドドロップしてプロジェクトを開始するか、AIカタログに追加します。
クイックCSVの例
600点の衣料品に関するデータがあるとします。 各商品について、ブランド、サイズ、およびカテゴリーがわかっています。 さらに、それぞれにテキストの説明と2つの画像(前面の画像と背面の画像が各1つ)があります。
ClothesDataset
フォルダーを作成します。ClothesDataset
にすべての画像を追加します。 画像は1つのサブフォルダーに入れることも、2つのサブフォルダー(前面の画像と背面の画像に分けて)に入れることもできます。- 以下の4つの列を含むCSVファイルを作成します:ブランド、サイズ、カテゴリー、および説明。
- 画像のCSVファイルに2つの列を追加します。前面と背面。 前列には、前面画像への相対パスが含まれます。後列には、背面画像への相対パスが含まれます。
ClothesDataset
フォルダーからZIPファイルを作成します。- ZIPファイルをDataRobotにアップロードします。
DataRobotは、6列のデータセットを自動的に識別して作成します。4列は商品のブランド、サイズ、カテゴリー、説明で、2列は画像(前面と背面)です。 これで、商品のブランド、サイズ、説明、および関連商品の前面と背面の写真からカテゴリーを予測するモデルを構築できます。
フォルダーベースの画像データセット¶
画像だけを追加する場合、各クラスにフォルダーを作成し、対応するフォルダーに画像を配置してデータを準備します。 たとえば、定番の「ホットドックか否か」の 分類の場合、1つのフォルダーにはホットドッグの画像を含め、もう1つのフォルダーにホットドッグ以外の画像を含めます。
画像の収集が完了したら、フォルダーを単一のアーカイブにZIP圧縮し、ローカルアップロードとしてDataRobotに直接アーカイブをアップロードするか、AIカタログに追加します。
クイックフォルダーの例
300枚の画像があるとします。オレンジの画像が100枚、りんごの画像が100枚、グレープフルーツの画像が100枚です。
- 以下の3つのフォルダーを作成します:オレンジ、りんご、グレープフルーツ。
- 果物の種類に応じて、画像を適切なフォルダーに入れます。 (サブフォルダーを圧縮しないでください。)
- 3つのフォルダーの親ディレクトリにZIPファイルを作成します。 ZIPファイルには、3つのフォルダーとその中の画像が含まれます。
- ZIPファイルをDataRobotにドラッグアンドドロップまたはアップロードします。
DataRobotは、3列のデータセットを自動的に識別して作成します。1つはラベル(りんご、オレンジ、グレープフルーツ)用、もう1つは画像用、3つ目は画像パス用です。
AIカタログからプロジェクトを作成¶
AIカタログから画像アーカイブにアクセスして共有することができます。この場合、すべてのタブとカタログの機能は、画像プロジェクトと画像以外のプロジェクトで同じです。 AIカタログを使用すると、画像特徴量を理解し、モデルの構築を開始する前にすべての要素が予想通りに表示されるかどうかを確認することに役立ちます。
アーカイブをカタログに追加するには、次の操作を実行します。
-
ローカルファイルオプションを使用してアーカイブをアップロードします。 データセットの登録が完了すると、パブリッシュが完了したことがバナーに表示されます。
-
プロフィールタブを選択して、各画像クラスのサンプルを表示します。
-
サンプル画像をクリックして、画像クラスの一意の値と欠損値の統計を表示します。
-
画像をプレビューリンクをクリックすると、データセットからランダムに選択された30の画像が表示されます。
次に、モデルを構築する前にデータを確認します。
構築前のデータのレビュー¶
EDA1が完了した後、AIカタログから開始されたかドラッグアンドドロップから開始されたかにかかわらず、DataRobotではデータ品質チェックと列タイプの識別が行われ、サンプリング用に画像のプレビューが表示されます。 データページで、DataRobotがデータセット特徴量をclass
およびimage
として処理したことを確認します。
以下で説明するように画像とデータ品質をプレビューした後、class
をターゲットとして識別し、通常のワークフローを使用してモデルを構築できます。
データ品質チェック¶
Visual Artificial Intelligence (AI)は、画像に対して特定のチェックを行うデータ品質評価ツールを使用します。 EDA1が完了したら、データページで結果を表示します。
画像が欠損している場合は、専用のセクションで欠落率が報告され、詳細なログへのアクセスが提供されます。 パスが不良または未解決である場合(アーカイブに存在しないファイル名)、または画像パスが予期されている列が空のセルである場合、「欠損」画像になります。 ログをプレビューをクリックすると、画像ごとの詳細を示すモデルが開きます。
「データ」ページのチェック¶
データページで次の操作を行って、画像ファイルの順序が正しいことを確認します。
- DataRobotで画像が特徴量の型
image
として識別されていることを確認します。 -
データテーブルの
image
行を展開して、データセットからランダムにサンプルされた30の画像のプレビューを開きます(完全なデータセットはトレーニングに使用されます)。 プレビューでは、画像がDataRobotによって処理されたこと、および使用する予定の画像セットであることを確認できます。 -
元のデータを見るをクリックすると、DataRobotがモデル構築に使用する最大1MBのランダムサンプル(画像および対応するクラスの両方)を表示するモーダルが開きます。
構築後のデータのレビュー¶
標準ワークフローを使用してプロジェクトを構築すると、DataRobotにデータページに追加情報が表示されます。
image
特徴量を展開して、画像プレビューをクリックします。 この可視化では、最初にデータセットのクラスごとに1つのサンプルが表示されます。 クラスをクリックすると、そのクラスのその他のサンプルが表示されます。
重複をクリックすると、DataRobotでデータセットで重複画像が検出されたかどうかを確認できます。 以下の重複がレポートされます。
- データセットの複数行にある同じファイル名
- 名前が異なっていてもDataRobotに同一の内容と判断された2つの画像
予測¶
Visual Artificial Intelligence (AI)では、他のDataRobotプロジェクトと同じ予測ツールを使用します。 つまり、モデルを選択し、予測を作成またはデプロイを使用して予測を行います。 予測データセットの要件は、モデリングセットの要件と同じです。
詳細については、画像予測のセクションを参照してください。
機能に関する注意事項¶
-
予測の説明の場合、予測データセットあたりの画像数は10,000に制限されます。 DataRobotは予測データセットに対してEDAを実行しないため、画像の数は
number of rows
xnumber of image columns
として推定されます。 その結果、欠損値は画像の制限にカウントされます。 -
画像の説明、画像の予測の説明は、デプロイからは利用できません(たとえば、バッチ予測または予測API)。
-
画像特徴量のドリフト追跡はありません。
-
スコアリングコードのエクスポートはサポートされていませんが、ポータブル予測サーバーは使用できます。
-
オブジェクト検出は使用できません。
-
Visual Artificial Intelligence (AI) は時系列をサポートしていません。 時間認識OTVプロジェクトがサポートされています。