Watson

Visual Recognition

Visual Recognitionは、いくつかの異なる画像分析機能の総称です。
具体的な個別機能は下記の通りとなります。

事前学習不要

 

一般種別 
画像の特徴を検知し、タグとして抽出しクラス・キーワード(犬、山などの一般名詞)を生成します。

顔検出
イメージ内の人物の顔を検出し、顔の一般的な年齢層と性別も示します。

事前学習必要

画像トレーニング
識別を行いたいクラスのイメージを事前学習させます。識別結果は確信度と共に返されます。

※次ページ以降の実行結果サンプルは資料作成時点のものです。
機械学習モデルは日々更新されているので、同じ入力データに対して実行結果やSCORE(確信度)は実際と異なっている場合もあります。

画像認識「一般種別」 (General Tagging)

事前学習済みの分類器の出力を返します。
具体的な分類クラスの一覧は、クラスが日々更新されているため非公開ですが、2016年12月時点で数千個の分類クラスがあります。
デモアプリリンク https://www.ibm.com/watson/services/visual-recognition/demo/#demo


実行サンプル

General Taggingには、「default」の分類クラス以外に「food」「explicit」という2つの特別な目的の分類クラスがあります(2018-08-01に正式版となりました) 。
foodは食べ物に特化した分類クラスです。explicitはネット上で不適切な画像をチェックするクラスとなっています。下記にfoodクラスによる分類結果サンプルを添付します。
(解析対象画像はフリーサイト https://pixabay.com から引用)


実行サンプル

顔認識 (Facial Detection)

顔を含んだイメージを引数にAPIを呼び出すと、それぞれの顔に対して、写真上の位置、 年齢、性別を調べ、結果を返します。

実行例

年齢: 20-25 (SCORE: 1.00)
性別: 女性  (SCORE: 1.00)

画像トレーニング (Visual Learning)

目的

●Visual Recognition による事前分類やフィルタリングをすることで、業務における様々な確認や分析作業を行う人間の負荷低減を行います。

  • 不適切な画像のフィルタリング
  • 画像選択での事前分類
  • 商品や製作物の品質確認

トレーニングデータ

●分類すべきクラスごとに集められた最低10枚の画像
(適切な分類品質を得るには50枚以上、理想的には200枚)
●どのクラスにも該当しないネガティブな最低10枚の画像(オプション)

トレーニングはAPIを直接呼び出しても行えますが、GUIツールから行うことも可能です。
GUIツールは、Watson Studioのコンポーネントとなります、このツールを使用すると、画面インタフェースの操作によりVisual Recognitionのトレーニングや、トレーニングに使用するデータの管理を行うことができます。

画像トレーニングの利用サンプル

ネットで有名になった「ラブラドゥードルと見分けの付かないフライドチキン」をVRで見分ける

学習データ

ネット上で集めたラブラドゥードルとフライドチキンの写真約200枚ずつ。

検証結果 全問正解

すべての写真について確信度に10倍程度の差がついており、確実に分類できていることがわかります。

参考リンク: http://qiita.com/VegaSato/items/863b614cd5ab88cf2d44

CORE ML連携

VRの画像トレーニングでは、2018年4月よりCORE ML連携が可能になりました。この機能について簡単に説明します。

Apple Core MLとは

  • AppleがiOS用に開発した、iOS上のアプリケーションから機械学習モデルを呼び出すことの可能なフレームワークです。
  • 現在サポートしている機能として、Vision、Natural language processing、Gameplaykitがあります。

Core ML Vision

学習済みモデルをアプリに取込み、画像認識を行うことが可能です。
利用可能な学習モデルとして以下のようなものがあります。いずれも、木、動物、乗り物、風景などを分類するモデルとなっています。
MobleNet、SqueezeNet 、Places205-GoogLeNet、ResNet50等

今回の発表されたVRのCORE-ML連携は、このCORE ML Visionのフレームワーク上にVisual Recognitionでカスタム学習した機械学習モデルを取り込むことができるようになった、ということになります。

備考

  1. Core ML自体はiOSだけでなくmacOSもサポートしているようですが、今回の連携機能はiOSのみサポートという形になっています。
  2. 連携機能を使う場合、Watson側の課金は学習時のみとなります。