3.Azure Custom Vision の統合3. Integrating Azure Custom Vision

このチュートリアルでは、Azure Custom Vision の使用方法について説明します。一連の写真をアップロードし、それを "追跡対象オブジェクト" に関連付け、Custom Vision サービスにアップロードし、トレーニング プロセスを開始します。In this tutorial, you will learn how to use Azure Custom Vision.You will upload a set of photos to associate it with a Tracked Object, upload them to the Custom Vision service and start the training process. 次に、このサービスを使用し、Web カメラ フィードから写真をキャプチャすることで "追跡対象オブジェクト" を検出します。Then you will use the service to detect the Tracked Object by capturing photos from the webcam feed.

目標Objectives

  • Azure Custom Vision の基本を学習するLearn the basics about Azure Custom Vision
  • このプロジェクトで Custom Vision を使用するようにシーンを設定する方法を学習するLearn how to setup the scene to use Custom Vision in this project
  • 画像のアップロード、トレーニング、検出を統合する方法を学習するLearn how to integrate upload, train and detect images

Azure Custom Vision の概要Understanding Azure Custom Vision

Azure Custom Vision は、Cognitive Services ファミリの一部であり、画像分類子のトレーニングに使用されます。Azure Custom Vision is part of the Cognitive Services family and is used to train image classifiers. 画像分類子とは、トレーニング済みモデルを使用して一致するタグを適用する AI サービスです。The image classifier is an AI service that uses the trained model to apply matching tags. この分類機能は、アプリケーションで "追跡対象オブジェクト" を検出するために使用されます。This classification feature will be used by our application to detect Tracked Objects.

詳細については、Azure Custom Vision に関するページを参照してください。Learn more about Azure Custom Vision.

Azure Custom Vision の準備Preparing Azure Custom Vision

開始する前に、Custom Vision プロジェクトを作成する必要があります。最短の方法は、Web ポータルを使用することです。Before you can start, you have to create a custom vision project, the fastest way is by using the web portal.

このクイックスタート チュートリアルに従って、セクション「画像をアップロードし、タグ付けする」までアカウントとプロジェクトの設定を進めます。Follow this quickstart tutorial to setup your account and project until section Upload and tag images.

警告

モデルをトレーニングするには、少なくとも 2 つのタグと、タグごとに 5 つの画像が必要です。To train a model you need to have at least 2 tags and 5 images per tag. このアプリケーションを使用するには、少なくとも 5 つの画像を含むタグを 1 つ作成し、後でトレーニング プロセスが失敗しないようにする必要があります。To use this application you should at least create one tag with 5 images, so that the training process later won't fail.

シーンの準備Preparing the scene

[Project](プロジェクト) ウィンドウで、 [Assets](アセット) > MRTK.Tutorials.AzureCloudServices > [Prefabs](プレハブ) > Manager フォルダーの順に移動します。In the Project window, navigate to the Assets > MRTK.Tutorials.AzureCloudServices > Prefabs > Manager folder.

mr-learning-azure

そこから、プレハブ ObjectDetectionManager をシーンの [Hierarchy](階層) にドラッグします。From there drag the prefab ObjectDetectionManager into the scene Hierarchy.

mr-learning-azure

[Hierarchy](階層) ウィンドウで、ObjectDetectionManager オブジェクトを見つけて選択します。In the Hierarchy window locate the ObjectDetectionManager object and select it. ObjectDetectionManager プレハブには ObjectDetectionManager (script) コンポーネントが含まれており、[Inspector](インスペクター) ウィンドウからわかるように、いくつかの設定に依存しています。The ObjectDetectionManager prefab contains the ObjectDetectionManager (script) component and as you can see from the Inspector window it depends on several settings.

Azure api リソースの資格情報の取得Retrieving Azure api resource credentials

ObjectDetectionManager (script) の設定に必要な資格情報は、Azure portal と Custom Vision ポータルから取得できます。The necessary credentials for the ObjectDetectionManager (script) settings can be retrieve from the Azure Portal and the custom vision portal.

Azure portalAzure Portal

このチュートリアルの「シーンの準備」セクションで作成した種類 Cognitive Services の Custom Vision リソースを探して見つけます。Find and locate the custom vision resource of type Cognitive Services you have created in the Preparing the scene section of this tutorial. [Keys and Endpoint](キーとエンドポイント) をクリックして必要な資格情報を取得します。There click on Keys and Endpoint to retrieve the necessary credentials.

Custom Vision ダッシュボードCustom Vision Dashboard

Custom Vision ダッシュボードで、このチュートリアル用に作成したプロジェクトを開き、ページの右上隅にある歯車アイコンをクリックして設定ページを開きます。In the custom vision dashboard, open the project you have created for this tutorial and click on the top right corner of the page on the gear icon to open the settings page. この右側の [Resources](リソース) セクションで、必要な資格情報を確認できます。Here on the right hand Resources section you will find the necessary credentials.

ObjectDetectionManager (script) を正しく設定したら、シーンの [Hierarchy](階層) で SceneController オブジェクトを見つけて選択します。Now with the ObjectDetectionManager (script) setup correctly, find the SceneController object in your scene Hierarchy and select it.

mr-learning-azure

SceneController コンポーネントの [Object Detection Manager] フィールドが空であることがわかります。[Hierarchy](階層) の ObjectDetectionManager をそのフィールドにドラッグし、シーンを保存します。You see Object Detection Manager field in the SceneController component is empty, drag the ObjectDetectionManager from the Hierarchy into that field and save the scene.

mr-learning-azure

画像の取得とアップロードTake and upload images

シーンを実行して [Set Object](オブジェクトの設定) をクリックし、前のレッスンで作成した追跡対象オブジェクトのいずれかの名前を入力します。Run the scene and click on Set Object, type in the name for one of the Tracked Objects you have created in the previous lesson. [Object Card](オブジェクト カード) の下部にある [Computer Vision] ボタンをクリックします。Now click on Computer Vision button you can find at the bottom of the Object Card.

新しいウィンドウが開きます。ここでは、6 枚の写真を撮影し、画像認識のためにモデルをトレーニングする必要があります。A new window will open where you have to take six photos to train the model for image recognition. [カメラ] ボタンをクリックし、追跡するオブジェクトを見たときに AirTap を実行します。これを 6 回実行します。Click on the Camera button and perform an AirTap when you look on the object you like to track, do this six times.

ヒント

モデルのトレーニングを改善するには、角度と照明条件を変えて各画像を撮影してみてください。To improve the model training try to take each image from different angles and lighting conditions.

十分な画像が得られたら、 [トレーニング] ボタンをクリックし、クラウドでモデルのトレーニング プロセスを開始します。Once you have enough images click on the Train button to start the model training process in the cloud. トレーニングをアクティブにすると、すべての画像がアップロードされ、トレーニングが開始されます。これには 1 分以上かかる場合があります。Activating the training will upload all images and then start the training, this can take up to a minute or more. メニュー内のメッセージは現在の進行状況を示します。完了と表示されたら、アプリケーションを停止できますA message inside the menu indicates the current progress and once it indicates the completion you can stop the application

ヒント

撮影された画像は、ObjectDetectionManager (script) によって Custom Vision サービスに直接アップロードされます。The ObjectDetectionManager (script) directly uploads taken images into the Custom Vision service. また、Custom Vision API で画像の URL を受け取る方法もあります。演習として、ObjectDetectionManager (script) を変更し、代わりに画像を BLOB ストレージにアップロードすることができます。As an alternative the custom vision API accepts URLs to the images, as an exercise you can modify the ObjectDetectionManager (script) to upload the images to a Blob storage instead.

オブジェクトを検出するDetect objects

これで、トレーニング済みモデルをテストに配置し、アプリケーションを実行し、メイン メニューから [Search Object](オブジェクトの検索) をクリックして、問題の追跡対象オブジェクトの名前を入力することができます。You can now put the trained model to the test, run the application and from the main menu click on Search Object and type the name of the Tracked Object in question. [Object Card](オブジェクト カード) が表示されたら [Custom Vision] ボタンをクリックします。The Object Card will appear and click on the Custom Vision button. ここから、ObjectDetectionManager によって、バックグラウンドでカメラから画像キャプチャの取得が開始され、進行状況がメニューに表示されます。From here the ObjectDetectionManager will start taking image captures in the background from the camera and the progress will be indicated on the menu. モデルのトレーニングに使用したオブジェクトにカメラを向け、少し待つと、オブジェクトが検出されることがわかります。Point the camera to the object you used to train the model and you will see that after a short while it will detect the object.

結論Congratulations

このチュートリアルでは、Azure Custom Vision を使用して画像をトレーニングし、分類サービスを使用して、関連する追跡対象オブジェクトと一致する画像を検出する方法を学習しました。In this tutorial you learned how Azure Custom Vision can be used to train images and use the classification service to detect images that match the associated Tracked Object.

次のチュートリアルでは、Azure Spatial Anchors を使用して "追跡対象オブジェクト" を物理的な世界の場所にリンクする方法と、ユーザーを追跡対象オブジェクトのリンクされた場所に導くための矢印を表示する方法について学習します。In the next tutorial you will learn how to use Azure Spatial Anchors to link a Tracked Object with a location in the physical world and how to display an arrow that will guide the user back to the Tracked Object's linked location.

次のチュートリアル: 4.Azure Spatial Anchors の統合Next tutorial: 4. Integrating Azure Spatial Anchors