Cognitive Services Custom Vision
Pre-ready の AI 機能を今日すぐに使える “AI パーツ” Cognitive Services の一つに、オリジナルの画像解析エンジンを作成して利用できる Custom Vision というサービスがあります。
こちらは最小5枚の画像を用意して学習させることで、画像を解析できるエンジンを作成でき、また、Web API や各種 AI モデル (CoreML, TensorFlow, ONNX) や Docker コンテナ、または Vision AI Dev Kit 用に Export して利用できます。
Custom Vision で用意されている “画像解析” には大きく分けて 2 種類 (とさらにその下に区分) があります。
- Image Classification (画像認識)
- Multiclass (single tag per image) : 1つの画像につきタグは1つ
- Multilabel (multiple tags per image) : 1つの画像につき複数タグ付け
- Object Detection (物体検出)
Image Classification
Image Classification は 画像に検出したい物体が含まれているか、Object Detection は対象とする物体が検出できるかの判定ということになります。
そもそも、このような画像を解析する (2D の画像から 3D の物体を検出する) 技術としては、 Segmentation (画像から物体領域を認識) と Detection (認識された物体が何であるかを特定) がベースとなっています。
Multiclass (single tag) は一つの画像につきタグは 1 つ、Multilabel (multiple tags) は複数のタグの条件に当てはまる場合には判定する仕組みです。Cognitive Services の Computer Vision API も Multilabel (multiple tags) になっています。
Object Detection
Custom Vision で Object Detection を行う場合、物体の位置を特定して学習させます。
Custom Vision による画像解析モデルの作成 に必要なもの
画像分析モデル作成に必要なものは
- Azure サブスクリプション
- 無料版の申し込み方法
- Azure Portal から Custom Vision のサービスを作成してから利用します。(F0 と呼ばれる無料版があります)
- 画像
- Image Classification : 1タグあたり画像 5 枚以上
- Object Detection : 1タグあたり画像 15 枚以上
なお、Classification と Object Detection は別々にモデルを作成する必要があります。
Custom Vision による画像解析モデルの作成
詳細は別記事にてご紹介しますが、大きく分けると Custom Vision Portal と呼ばれる GUI 画面で設定などを行う方法と、Web API (Training API) で行う方法があります。
Custom Vision Portal からモデルの作成に必要な画像アップロードやタグ付け、モデルの学習と精度算出、テストと結果の再学習などを行うことができます。
基本的には GUI (Custom Vision Portal) でモデルの作成や確認、ブラッシュアップを行い、必要に応じて、学習データを追加するプロセスを行いたいときに、アプリ等から Training API を Call して利用する方法を検討するのが良いのではないでしょうか。
モデルを作成した後は、Web API (Custom Vision Prediction API) で利用したり、Export して利用することができます。