クイックスタート: Custom Vision ポータルを使用して画像分類モデルを構築する

このクイックスタートでは、Custom Vision Web ポータルを使用して画像分類モデルを作成する方法について説明します。 モデルを作成したら、新しい画像でテストを行い、最終的に、独自の画像認識アプリに統合することができます。

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

前提条件

Custom Vision リソースを作成する

Custom Vision サービスを使用するには、Azure で Custom Vision Training リソースと Prediction リソースを作成する必要があります。 Azure portal でこれを行うには、[Create Custom Vision](Custom Vision の作成) ページのダイアログ ウィンドウに入力し、Training リソースと Prediction リソースの両方を作成します。

新しいプロジェクトを作成する

Web ブラウザーで、Custom Vision の Web ページに移動し、 [サインイン] を選択します。 Azure portal へのサインインに使用したのと同じアカウントでサインインします。

Image of the sign-in page

  1. 最初のプロジェクトを作成するには、 [新しいプロジェクト] を選択します。 [新しいプロジェクトの作成] ダイアログ ボックスが表示されます。

    The new project dialog box has fields for name, description, and domains.

  2. プロジェクトの名前と説明を入力します。 次に、Custom Vision トレーニング リソースを選択します。 サインインしたアカウントが Azure アカウントに関連付けられている場合は、[リソース] ドロップダウンに、互換性のあるすべての Azure リソースが表示されます。

    Note

    リソースを使用できない場合は、Azure portal へのサインインに使用したのと同じアカウントで customvision.ai にログインしていることを確認してください。 また、Custom Vision リソースを配置した Azure portal のディレクトリと同じ "ディレクトリ" を Custom Vision Web サイトで選択していることを確認してください。 どちらのサイトでも、画面の右上隅にあるドロップダウン アカウント メニューから、ディレクトリを選択できます。

  3. プロジェクトの種類分類 を選択します。 次に、分類の種類 で、実際のユース ケースに応じて マルチラベル または マルチクラス のいずれかを選択します。 マルチラベル分類では、ある画像 (0 個以上) に任意の数のタグを適用します。一方、マルチクラス分類では、画像は 1 つのカテゴリへと分類されます (送信するすべての画像が、最も可能性の高いタグに分類されます)。 希望する場合は、後で分類の種類を変更できます。

  4. 次に、使用可能なドメインのいずれかを選択します。 各ドメインでは、次の表で説明するように、特定の種類の画像用にモデルが最適化されます。 必要に応じて後からドメインを変更できます。

    ドメイン 目的
    全般 さまざまな画像分類タスクに最適化されています。 他のドメインのいずれも適切でないか、どのドメインを選択すればよいか不確かな場合は、汎用ドメインを選択してください。
    食料 レストランのメニューで見るような料理の写真に最適化されています。 個々のフルーツや野菜の写真を分類する場合、食料ドメインを使用します。
    ランドマーク 自然物と人工物の両方の認識可能なランドマークに最適化されています。 このドメインは、ランドマークが写真にはっきりと映っているときに最も効果があります。 このドメインは、ランドマークがその前にいる人々によって少し邪魔されている場合でも機能します。
    小売 ショッピング カタログやショッピング Web サイトで見られる画像に最適化されています。 ドレス、ズボン、シャツを分類するときに高い精度が必要な場合に、このドメインを使用します。
    コンパクト ドメイン モバイル デバイスでのリアルタイムの分類の制約に最適化されています。 コンパクト ドメインで生成されたモデルは、ローカルで実行するためにエクスポートできます。
  5. 最後に、[プロジェクトの作成] を選択します。

トレーニング画像を選択する

最低でも、初期トレーニング セットで、タグごとに少なくとも 30 の画像を使用することをお勧めします。 トレーニングを行ったら、追加の画像をいくつか収集し、モデルをテストすることもお勧めします。

モデルを効果的にトレーニングするには、視覚的に多様性のある画像を使用します。 以下の点で変化に富んだ画像を選択してください。

  • カメラのアングル
  • 照明
  • background
  • 見た目のスタイル
  • 個人またはグループになっている被写体
  • size
  • type

さらに、すべてのトレーニング画像が以下の条件を満たしていることを確認します。

  • .jpg、.png、.bmp、または .gif 形式
  • サイズが 6 MB 未満 (予測用画像は 4 MB)
  • 最短の辺が 256 ピクセル以上。これより短い画像は Custom Vision Service によって自動的にスケール アップされます

画像をアップロードし、タグ付けする

このセクションでは、分類子のトレーニングに役立つように、画像をアップロードして手動でタグ付けします。

  1. 画像を追加するには、 [画像の追加] を選択し、 [ローカル ファイルの参照] を選択します。 [開く] を選択し、タグ付けに移動します。 タグの選択は、アップロードするように選択した画像のグループ全体に適用されます。そのため、適用されたタグに従って別個のグループで画像をアップロードする方が簡単です。 また、アップロード後に個々の画像のタグを変更することもできます。

    The add images control is shown in the upper left, and as a button at bottom center.

  2. タグを作成するには、マイ タグ フィールドにテキストを入力し、Enter キーを押します。 タグが既に存在する場合は、ドロップダウン メニューに表示されます。 マルチラベル プロジェクトでは画像に複数のタグを追加できますが、マルチクラス プロジェクトで追加できるのは 1 つだけです。 画像のアップロードを終えるには、 [数字] 個のファイルのアップロード ボタンを使用します。

    Image of the tag and upload page

  3. 画像がアップロードされたら、[完了] を選択します。

    The progress bar shows all tasks completed.

別の画像のセットをアップロードするには、このセクションの先頭に戻り、手順を繰り返します。

分類子をトレーニングする

分類子をトレーニングするには、 [トレーニング] ボタンを選択します。 分類子は、現在の画像をすべて使用し、各タグの視覚的特性を識別するモデルを作成します。 この処理は数分かかる場合があります。

The train button in the top right of the web page's header toolbar

トレーニング プロセスの所要時間は、わずか数分間のはずです。 この時間の間、[パフォーマンス] タブにトレーニング プロセスに関する情報が表示されます。

The browser window with a training dialog in the main section

分類子を評価する

トレーニングが完了すると、モデルのパフォーマンスが推定され、表示されます。 Custom Vision Service は、トレーニング用に送信された画像を使用して精度と再現率を計算します。 精度と再現率は、分類子の有効性を表す 2 つの異なる測定値です。

  • 精度は、正しかったと識別された分類の割合を示します。 たとえばあるモデルで、100 個の画像が犬として識別され、それらのうち 99 個が実際に犬であった場合、精度は 99% になります。
  • 再現率は、正しく識別された実際の分類の割合を示します。 たとえば、実際にりんごである画像が 100 個あり、そのモデルで、80 個がりんごとして識別された場合、再現率は 80% になります。

The training results show the overall precision and recall, and the precision and recall for each tag in the classifier.

確率しきい値

[パフォーマンス] タブの左ウィンドウにある 確率しきい値 スライダーに注目してください。これは、正しいと見なされるために予測で必要となる信頼度です (精度と再現率を計算するため)。

高い確率しきい値を指定した予測呼び出しを解釈する場合、再現率を犠牲にして高い精度で結果が返される傾向があります。検出される分類は正しいですが、多くは検出されないままです。 低い確率しきい値はその逆を行います。実際の分類のほとんどが検出されますが、そのセット内には誤検知が多くあります。 これを念頭に置いて、プロジェクトの具体的な必要に応じて確率しきい値を設定する必要があります。 その後、クライアント側で予測結果を受け取る場合は、ここで使用したのと同じ確率しきい値の値を使用する必要があります。

トレーニングのイテレーションを管理する

分類器をトレーニングするたびに、更新したパフォーマンス メトリックを使用して新しいイテレーションを作成します。 [パフォーマンス] タブの左側ウィンドウで、すべてのイテレーションを参照できます。また、 [削除] ボタンが表示されます。古くなっている場合は、このボタンを使用してイテレーションを削除できます。 イテレーションを削除すると、それに一意に関連付けられていた画像がすべて削除されます。

トレーニング済みのモデルにプログラムでアクセスする方法については、「Prediction API でモデルを使用する」を参照してください。

次のステップ

このクイックスタートでは、Custom Vision Web ポータルを使用して、画像分類モデルを作成し、トレーニングする方法について説明しました。 次に、モデルを改善するための反復的プロセスについて、より多くの情報を入手してください。