Microsoft Japan Data Platform Tech Sales Team
高橋 健太
2018年5月7日に Azure Cognitive Services の Custom Vision Service に Object Detection(物体認識)の機能が追加されましたので、利用方法をご紹介します。(7/3 現在はまだプレビューです)
Custom Vision Service の Object Detection とは
はじめに、Custom Vision Service の概略です。Custom Vision Service は、自分で準備した画像を使って独自の画像認識モデルを GUI だけで作成できる Azure Cognitive Services の一つです。これまで Custom Vision Service では画像の分類(例えば、この画像は “犬の画像” という分類)はできましたが、画像の中に複数の物体がある場合に、それぞれの物体の位置の識別(例えば、この画像の “この部分は犬” 、”この部分は猫” という識別)をすることはできませんでした。今回の Object Detection の機能が追加されたことにより、その物体識別ができるようになりました。
Object Detection の使い方
Object Detection は以下の手順で簡単に利用できます。
- プロジェクトを作成
- 画像をアップロード
- 画像内のオブジェクトにタグ付け
- モデルの学習
- モデルの(クイック)テスト
1. プロジェクトを作成
New Project から新規でプロジェクトを作成します。今回は Object Detection をしたいので、Project Type で ” Object Detection (preview) ” をチェックします。 ちなみに、Project Type で " Classification “ をチェックすると、画像分類の機能が利用できます。
2. 画像をアップロード
次に、” Add images ” からモデルを作成するための画像をローカルPCからアップロードします。識別したい物体毎(タグ毎)に最低15枚の画像が必要になります。今回は、犬と猫の画像を使用します。
3. 画像内のオブジェクトにタグ付け
画像をアップロードしたら、画像の物体にタグ付けをします。一つの画像に複数の物体が写っている場合でも、マウス操作で範囲を指定して、複数のタグを付けることができます。
この作業をアップロードした写真の数分、繰り返します。今回は犬を22枚、猫を16枚タグ付けしました。
4. モデルの学習
画像のタグ付けが終わったら、いよいよモデルの学習を行います。緑色の “ Train “ ボタンを押して数十秒~数分(時間は枚数によります)待つと、学習は完了します。
ここで、モデルのパフォーマンスを見ることができます。ざっくり言いますと、パーセンテージが高いほど、モデルが優れているという意味合いになります。 ” Performance Per Tag “ の下にあるタグをクリックして、結果の詳細をドリルダウンすることもできます。
5. モデルの(クイック)テスト
モデルを公開したりアプリケーションで使用したりする前に、" Quick Test " 機能からモデルをテストすることができます。” Quick Test “ ボタンを押してローカルPCまたは Azure Blob などのオンラインストレージから画像を選択するとテストができます。
犬と猫の両方が写っている画像2枚をテストしたところ、2枚とも犬と猫の両方を結構良い精度で当ててくれています。
API 経由でモデルを使用したい場合は、” PERFORMANCE ” の ” Prediction URL ” から情報を取得できます。
最後に
いかがでしたでしょうか?Azure Cognitive Services では、今回ご紹介した Custom Vision Service の他にも、動画・文字・顔・会話の解析など、様々なサービスを非常に簡単にご利用できますので、是非お試しください。
参考情報
Custom Vision: https://azure.microsoft.com/ja-jp/services/cognitive-services/custom-vision-service/
Azure Cognitive Services: https://azure.microsoft.com/ja-jp/services/cognitive-services/