強火で進め このページをアンテナに追加 RSSフィード

整理された情報は こちら へどうぞ。

2018年03月06日

[] IBM Watson の Visual Recognition を Unity から使う方法

Visual Recognition は画像を解析し、どのようなものなのかをテキストで返すサービスです。

[サービス情報]

Visual Recognition - IBM Cloud

https://console.bluemix.net/catalog/services/visual-recognition

[公式のチュートリアル]

概説チュートリアル

https://console.bluemix.net/docs/services/visual-recognition/index.html#-


[公式のドキュメント]

unity-sdk/Scripts/Services/VisualRecognition/v3 at develop · watson-developer-cloud/unity-sdk

https://github.com/watson-developer-cloud/unity-sdk/tree/develop/Scripts/Services/VisualRecognition/v3


アプリの作成手順

Visual Recognition を使った Unity アプリの作成手順を解説します。

基本的な共通で必要な作業はこちらの記事で解説しています。

こちらが未読の場合には先にそちらを確認し、 IBM Cloud アカウントの作成や IBM Watson Unity SDK のインストール作業などを済ましておいて下さい。

サーバ側の作業

まずはサーバ側の設定作業を行います。

こちらのページ経由でサーバにプロジェクトを作成します。

ページの右下に有る「作成」のボタンを押して、プロジェクトを作成して下さい。

f:id:nakamura001:20180305220904p:image

新規資格情報を作成します。

f:id:nakamura001:20180305221029p:image

デフォルトの状態のままで「追加」ボタンをクリック。

f:id:nakamura001:20180305221028p:image

「資格情報の表示」をクリックして、展開。

f:id:nakamura001:20180305221030p:image

f:id:nakamura001:20180306145024p:image

後で使うのでここの情報をメモっておきます。

note の部分にはユーザへのメッセージが入る様です。「5分後に有効になります」などのメッセージが入っていたりしてました。

※キャプチャ画像の note は一度削除してから作り直したので異なるメッセージに成っています。

左側のタブから「管理」に切り替え、ツールを起動します。

f:id:nakamura001:20180305222301p:image

ツールの初回起動時には API Key の入力が求められるので先程メモした中に有る api_key の値を入力します。


するとこの様な画面に切り替わります。ここでは画像解析の学習を行わせた分類器(Classifier)を作成します。新規に作成する為に「Create classifier」ボタンをクリックします。

f:id:nakamura001:20180305222302p:image

学習用のデータを以下の様に設定します。画像データは IBM Watson Unity SDK をインストール済みの Unity のプロジェクトの場合、 Assets/Watson/Examples/ServiceExamples/TestData/visual-recognition-classifiers に有ります。

ここでは giraffe_positive_examples.zip と negative_examples.zip を使って設定する事にします。

f:id:nakamura001:20180306145555p:image

※学習データの zip ファイルは最低「正しいもの」2つ、もしくは「正しいもの」1つ、「間違っているもの」1つ準備する必要が有ります。

作成が完了するとこの様な表示に成ります。

f:id:nakamura001:20180306145751p:image

赤枠の部分で画像ファイルを選択するとテストできます。分析したい画像を選択し、テストをしてみましょう。

ここでは Assets/Watson/Examples/ServiceExamples/TestData/visual-recognition-classifiers フォルダに有る giraffe_to_classify.jpg と turtle_to_classify.jpg を使ってみます。

f:id:nakamura001:20180306143427p:image

f:id:nakamura001:20180306143428p:image

ちゃんと判定出来ている事が確認できます。

Unity での作業

サーバ側の作業が終わったので次に Unity 側の作業を行います。

Unity のプロジェクトを新規作成し、 IBM Watson Unity SDK を Import 。

Assets/Watson/Examples/ServiceExamples/Scripts/ExampleVisualRecognition.cs を開き、以下の部分を見つけます。

ここに先程メモした url と api_key の値を記述します。

public class ExampleVisualRecognition : MonoBehaviour
{
    private string _apikey = null;
    private string _url = null;

Scene に新規に GameObject を作成し、このファイルをアタッチし、実行して下さい。

すると 〜Attempting to get all classifiers というメッセージの後に以下の様なメッセージが表示されます。

{"classifiers":[{"classifier_id":"\u52d5\u7269_693641681","name":"\u52d5\u7269","status":"ready"}]}

ここで表示されているものは自作した分類器(Classifier)を全て取得する API のレスポンスです。

「classifier_id」が「\u52d5\u7269_693641681(動物_693641681)」、「name」が「\u52d5\u7269(動物)」で有る事が確認できます。

classifier_id は他の API で使用するのでここの値で有る事を覚えておいて下さい。

f:id:nakamura001:20180306144757p:image

関連情報

[Watson] Visual Recognition Tool を利用して画像解析を試す - Qiita

https://qiita.com/y-some/items/6addf597a81a48f04d59

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト

コメントを書くには、なぞなぞ認証に回答する必要があります。

トラックバック - http://d.hatena.ne.jp/nakamura001/20180306/1520316019