クイック スタート:Custom Vision で分類子を構築する方法Quickstart: How to build a classifier with Custom Vision

このクイックスタートでは、Custom Vision Web サイトをとおして分類器を構築する方法について説明します。In this quickstart, you'll learn how to build a classifier through the Custom Vision website. 分類器モデルを構築すると、画像分類のために Custom Vision Service を使用できます。Once you build a classifier model, you can use the Custom Vision service for image classification.

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。If you don't have an Azure subscription, create a free account before you begin.

前提条件Prerequisites

  • 分類子のトレーニングに使用する画像のセット。A set of images with which to train your classifier. 画像の選択に関するヒントについては、以下を参照してください。See below for tips on choosing images.

Azure portal で Custom Vision リソースを作成するCreate Custom Vision resources in the Azure portal

Custom Vision サービスを使用するには、Azure portal で Custom Vision Training リソースと Prediction リソースを作成する必要があります。To use the Custom Vision Service, you'll need to create Custom Vision Training and Prediction resources in the Azure portal. [Create Custom Vision](Custom Vision の作成) ページのダイアログ ウィンドウに入力し、Training リソースと Prediction リソースの両方を作成します。Fill out the dialog window on the Create Custom Vision page to create both a Training and Prediction resource.

新しいプロジェクトを作成するCreate a new project

Web ブラウザーで、Custom Vision の Web ページに移動し、 [サインイン] を選択します。In your web browser, navigate to the Custom Vision web page and select Sign in. Azure portal にサインインしたのと同じアカウントでサインインします。Sign in with the same account you used to sign into the Azure portal.

サインイン ページの画像

  1. 最初のプロジェクトを作成するには、 [新しいプロジェクト] を選択します。To create your first project, select New Project. [新しいプロジェクトの作成] ダイアログ ボックスが表示されます。The Create new project dialog box will appear.

    [新しいプロジェクト] ダイアログ ボックスには、名前、説明、およびドメインのフィールドがあります。

  2. プロジェクトの名前と説明を入力します。Enter a name and a description for the project. 次に、リソース グループを選択します。Then select a Resource Group. サインインしたアカウントが Azure アカウントと関連付けられている場合は、[リソース グループ] ドロップダウンに、Custom Vision Service リソースを含むすべての Azure リソース グループが表示されます。If your signed-in account is associated with an Azure account, the Resource Group dropdown will display all of your Azure Resource Groups that include a Custom Vision Service Resource.

    注意

    リソース グループを使用できない場合は、Azure portal へのログインに使用したのと同じアカウントで customvision.ai にログインしていることを確認してください。If no resource group is available, please confirm that you have logged into customvision.ai with the same account as you used to log into the Azure portal. また、Custom Vision リソースを配置した Azure portal のディレクトリと同じ "ディレクトリ" を Custom Vision ポータルで選択していることを確認してください。Also, please confirm you have selected the same “Directory” in the Custom Vision portal as the directory in the Azure portal where your Custom Vision resources are located. どちらのサイトでも、画面の右上隅にあるドロップダウン アカウント メニューから、ディレクトリを選択できます。In both sites, you may select your directory from the drop down account menu at the top right corner of the screen.

  3. プロジェクトの種類分類 を選択します。Select Classification under Project Types. 次に、分類の種類 で、実際のユース ケースに応じて マルチラベル または マルチクラス のいずれかを選択します。Then, under Classification Types, choose either Multilabel or Multiclass, depending on your use case. マルチラベル分類では、ある画像 (0 個以上) に任意の数のタグを適用します。一方、マルチクラス分類では、画像は 1 つのカテゴリへと分類されます (送信するすべての画像が、最も可能性の高いタグに分類されます)。Multilabel classification applies any number of your tags to an image (zero or more), while multiclass classification sorts images into single categories (every image you submit will be sorted into the most likely tag). 希望する場合は、後で分類の種類を変更できます。You will be able to change the classification type later if you wish.

  4. 次に、使用可能なドメインのいずれかを選択します。Next, select one of the available domains. 各ドメインは、次の表で説明するように、特定の種類の画像に対する分類子を最適化します。Each domain optimizes the classifier for specific types of images, as described in the following table. 希望する場合は、後でドメインを変更できます。You will be able to change the domain later if you wish.

    DomainDomain 目的Purpose
    全般Generic さまざまな画像分類タスクに最適化されています。Optimized for a broad range of image classification tasks. 他のドメインのいずれも適切でないか、どのドメインを選択すればよいか不確かな場合は、汎用ドメインを選択してください。If none of the other domains are appropriate, or you are unsure of which domain to choose, select the Generic domain.
    食料Food レストランのメニューで見るような料理の写真に最適化されています。Optimized for photographs of dishes as you would see them on a restaurant menu. 個々のフルーツや野菜の写真を分類する場合、食料ドメインを使用します。If you want to classify photographs of individual fruits or vegetables, use the Food domain.
    ランドマークLandmarks 自然物と人工物の両方の認識可能なランドマークに最適化されています。Optimized for recognizable landmarks, both natural and artificial. このドメインは、ランドマークが写真にはっきりと映っているときに最も効果があります。This domain works best when the landmark is clearly visible in the photograph. このドメインは、ランドマークがその前にいる人々によって少し邪魔されている場合でも機能します。This domain works even if the landmark is slightly obstructed by people in front of it.
    小売Retail ショッピング カタログやショッピング Web サイトで見られる画像に最適化されています。Optimized for images that are found in a shopping catalog or shopping website. ドレス、ズボン、シャツを分類するときに高い精度が必要な場合に、このドメインを使用します。If you want high precision classifying between dresses, pants, and shirts, use this domain.
    コンパクト ドメインCompact domains モバイル デバイスでのリアルタイムの分類の制約に最適化されています。Optimized for the constraints of real-time classification on mobile devices. コンパクト ドメインで生成されたモデルは、ローカルで実行するためにエクスポートできます。The models generated by compact domains can be exported to run locally.
  5. 最後に、 [プロジェクトの作成] を選択します。Finally, select Create project.

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

最低でも、初期トレーニング セットで、タグごとに少なくとも 30 の画像を使用することをお勧めします。As a minimum, we recommend you use at least 30 images per tag in the initial training set. トレーニングを行ったら、追加の画像をいくつか収集し、モデルをテストすることもお勧めします。You'll also want to collect a few extra images to test your model once it's trained.

モデルを効果的にトレーニングするには、視覚的に多様性のある画像を使用します。In order to train your model effectively, use images with visual variety. 以下の点で変化に富んだ画像を選択してください。Select images that vary by:

  • カメラのアングルcamera angle
  • 照明lighting
  • backgroundbackground
  • 見た目のスタイルvisual style
  • 個人またはグループになっている被写体individual/grouped subject(s)
  • sizesize
  • typetype

さらに、すべてのトレーニング画像が以下の条件を満たしていることを確認します。Additionally, make sure all of your training images meet the following criteria:

  • .jpg、.png、.bmp、または .gif 形式.jpg, .png, .bmp, or .gif format
  • サイズが 6 MB 未満 (予測用画像は 4 MB)no greater than 6MB in size (4MB for prediction images)
  • 最短の辺が 256 ピクセル以上。これより短い画像は Custom Vision Service によって自動的にスケール アップされますno less than 256 pixels on the shortest edge; any images shorter than this will be automatically scaled up by the Custom Vision Service

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

このセクションでは、分類子のトレーニングに役立つように、画像をアップロードして手動でタグ付けします。In this section you will upload and manually tag images to help train the classifier.

  1. 画像を追加するには、画像の追加 ボタンをクリックし、ローカル画像の参照 を選択します。To add images, click the Add images button and then select Browse local files. [開く] を選択し、タグ付けに移動します。Select Open to move to tagging. タグの選択は、アップロードすることを選択した画像のグループ全体に適用されます。そのため、必要なタグに従って別個のグループで画像をアップロードする方が簡単です。Your tag selection will be applied to the entire group of images you've selected to upload, so it is easier to upload images in separate groups according to their desired tags. アップロード後に個々の画像のタグを変更することもできます。You can also change the tags for individual images after they have been uploaded.

    [Add Images](画像の追加) コントロールは左上に表示され、下部中央にもボタンとして表示されます。

  2. タグを作成するには、マイ タグ フィールドにテキストを入力し、Enter キーを押します。To create a tag, enter text in the My Tags field and press Enter. タグが既に存在する場合は、ドロップダウン メニューに表示されます。If the tag already exists, it will appear in a dropdown menu. マルチラベル プロジェクトでは画像に複数のタグを追加できますが、マルチクラス プロジェクトで追加できるのは 1 つだけです。In a multilabel project, you can add more than one tag to your images, but in a multiclass project you can add only one. 画像のアップロードを終えるには、 [数字] 個のファイルのアップロード ボタンを使用します。To finish uploading the images, use the Upload [number] files button.

    タグの画像とアップロード ページ

  3. 画像がアップロードし終わったら、 [完了] を選択します。Select Done once the images have been uploaded.

    進行状況バーには完了したすべてのタスクが表示されます。

別の画像のセットをアップロードするには、このセクションの先頭に戻り、手順を繰り返します。To upload another set of images, return to the top of this section and repeat the steps.

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

分類子をトレーニングするには、 [トレーニング] ボタンを選択します。To train the classifier, select the Train button. 分類子は、現在の画像をすべて使用し、各タグの視覚的特性を識別するモデルを作成します。The classifier uses all of the current images to create a model that identifies the visual qualities of each tag.

Web ページのヘッダー ツールバーの右上にあるトレーニングのボタン

トレーニング プロセスの所要時間は、わずか数分間のはずです。The training process should only take a few minutes. この時間の間、 [パフォーマンス] タブにトレーニング プロセスに関する情報が表示されます。During this time, information about the training process is displayed in the Performance tab.

メイン セクションにトレーニング ダイアログが表示されたブラウザー ウィンドウ

分類子を評価するEvaluate the classifier

トレーニングが完了すると、モデルのパフォーマンスが推定され、表示されます。After training has completed, the model's performance is estimated and displayed. Custom Vision Service は、K-分割交差検証と呼ばれるプロセスを使用して、トレーニング用に送信した画像を利用して精度と再現率を計算します。The Custom Vision Service uses the images that you submitted for training to calculate precision and recall, using a process called k-fold cross validation. 精度と再現率は、分類子の有効性を表す 2 つの異なる測定値です。Precision and recall are two different measurements of the effectiveness of a classifier:

  • 精度は、正しかったと識別された分類の割合を示します。Precision indicates the fraction of identified classifications that were correct. たとえばあるモデルで、100 個の画像が犬として識別され、それらのうち 99 個が実際に犬であった場合、精度は 99% になります。For example, if the model identified 100 images as dogs, and 99 of them were actually of dogs, then the precision would be 99%.
  • 再現率は、正しく識別された実際の分類の割合を示します。Recall indicates the fraction of actual classifications that were correctly identified. たとえば、実際にりんごである画像が 100 個あり、そのモデルで、80 個がりんごとして識別された場合、再現率は 80% になります。For example, if there were actually 100 images of apples, and the model identified 80 as apples, the recall would be 80%.

トレーニング結果には、全体的な精度および再現率と、分類子のタグごとの精度および再現率が表示されます。

確率しきい値Probability Threshold

[パフォーマンス] タブの左ウィンドウにある 確率しきい値 スライダーに注目してください。これは、正しいと見なされるために予測で必要となる信頼度です (精度と再現率を計算するため)。Note the Probability Threshold slider on the left pane of the Performance tab. This is the level of confidence that a prediction needs to have in order to be considered correct (for the purposes of calculating precision and recall).

高い確率しきい値を指定した予測呼び出しを解釈する場合、再現率を犠牲にして高い精度で結果が返される傾向があります—検出される分類は正しいですが、多くは検出されないままです。When you interpret prediction calls with a high probability threshold, they tend to return results with high precision at the expense of recall—the detected classifications are correct, but many remain undetected. 低い確率しきい値はその逆を行います—実際の分類のほとんどが検出されますが、そのセット内には誤検知が多くあります。A low probability threshold does the opposite—most of the actual classifications are detected, but there are more false positives within that set. これを念頭に置いて、プロジェクトの具体的な必要に応じて確率しきい値を設定する必要があります。With this in mind, you should set the probability threshold according to the specific needs of your project. その後、クライアント側で予測結果を受け取る場合は、ここで使用したのと同じ確率しきい値の値を使用する必要があります。Later, when you're receiving prediction results on the client side, you should use the same probability threshold value as you used here.

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

分類子をトレーニングするたびに、独自に更新したパフォーマンス メトリックを使用して新しい イテレーション を作成します。Each time you train your classifier, you create a new iteration with its own updated performance metrics. [パフォーマンス] タブの左側ウィンドウで、すべてのイテレーションを参照できます。左側のウィンドウにも [削除] ボタンが表示されます。古くなっている場合は、このボタンを使用してイテレーションを削除できます。You can view all of your iterations in the left pane of the Performance tab. In the left pane you will also find the Delete button, which you can use to delete an iteration if it's obsolete. イテレーションを削除すると、それに一意に関連付けられていた画像がすべて削除されます。When you delete an iteration, you delete any images that are uniquely associated with it.

次の手順Next steps

このクイックスタートでは、Custom Vision Web サイトを使用して、画像分類モデルを作成し、トレーニングする方法について説明しました。In this quickstart, you learned how to create and train an image classification model using the Custom Vision website. 次に、モデルを改善するための反復的プロセスについて、より多くの情報を入手してください。Next, get more information on the iterative process of improving your model.