はじめに
私が気づかないうちに、Visual Recognition Toolが公開されていました。(2017年4月現在はBeta版となっています)
試してみたところ、なかなか使い勝手の良いToolでしたので情報共有します。
Visual Recognition(以下VR)とは
VR APIは大きく分けて4つ。
- Classify an image …イメージ分類
- Detect faces …顔検出および性別・年齢の推定
- Custom classifiers …カスタム・イメージ分類
- Collections …類似画像抽出(2017年3月現在、ベータ版)
上記1、2はトレーニング済みで提供されており、事前学習の必要はありません。
一方3、4はユーザーがトレーニング画像を準備してWatsonに学習させ、独自の分類を行わせることができます。
VRについてのさらに詳しい情報は、IBM Watson Developer Cloud、あるいは、こちらの記事を参照してください。
[Swift] [iOS] Watson Visual Recognitionを使って顔解析アプリを作ってみた
[Watson] [Node-RED] 日本語に対応したVisual RecognitionのClassify an image(イメージ分類)を試してみた
VR Toolの起動
IBM Bluemixダッシュボードの「すべてのサービス」にて、VRの行をクリックします。
Visual Recognition Tool (Beta) をクリックします。
Detect faces(顔解析)を試す
「Faces」の点線内に画像ファイルをドラッグ&ドロップするか、または「choose your files」にてPC内の画像ファイルを選択すると、顔解析を行うことができます。
※画像はパブリック・ドメイン
Classify an image(イメージ分類)を試す
「Default」では、デフォルト分類器によるイメージ分類(タグ付け)を行うことができます。
※画像はWikipediaより
Classify an imageは日本語対応していますが、VR Toolでは英語のみのようですね。
Custom classifiersを試す
Custom classifier(カスタム分類器)の作成
VR Tool初期画面で「Create classifier」をクリックすると、以下のような画面になります。
この画面でCustom classifierを作成することができます。
今回は事例として「普通乗用車」「バス」「トラック」を分類する車の分類器を作成してみました。
<Custom classifier作成時の入力項目>
- Classifier name:分類器のタイトルを指定。上図では「car」
- Classes:分類名とトレーニング画像のzipを指定。上図では「standard, bus, truck」
「Negative」にはどのclassにも属さない画像を指定します。(オプション)
<トレーニング画像について>
- classごとの画像は最低50枚は必要とされており、そのzipファイルをアップロードします。
- 画像の解像度は低くても構いません。
- zipファイルの最大サイズは100MBです。
- classごとに150〜200枚のトレーニング画像を用意すると精度がベストになるようです。
その他、良いトレーニングのための公式ガイドはこちら。
Guidelines for good training
「Create」ボタンをクリックすると初期画面に戻り、作成したClassifierが「training」状態になります。
完了すると以下のように「ready」状態になり、カスタム分類器を試すことができます。
今回の実験結果
バスの結果。
トラックのスコア(確信度)と近いのは、多分、トラックclassのトレーニングデータにこんなタイプのトラックが含まれていたせいでしょう。
今回は各classに50枚程度のトレーニング画像しか用意できなかったので、もう少し数を揃えればスコアが向上すると思われます。
まとめ
従来は、VRを試すためにはcurlコマンドや自作アプリが必要でしたが、公式ツールで簡単に試すことができるようになりました。
他のWatson APIについても、ツールの充実に期待したいと思います。