イノベーション エンジニアブログ


株式会社イノベーションのエンジニアたちの技術系ブログです。ITトレンド・List Finderの開発をベースに、業務外での技術研究などもブログとして発信していってます!


このエントリーをはてなブックマークに追加

Custom Vision Service は犬派?猫派?どっちも派?

皆様いかがお過ごしでしょうか、反省中の syoga です、早いもので今年も後半年となりましたね、
全力でログ出力していますでしょうか? 私も頑張っていきたいと思います。

そんな中、Microsoftの開発者向けカンファレンス「Build 2017」が
5/10 (現地時間)から開催され、色々な新技術やサービスが発表されましたよ。

個人的に気になった事

・Visual Studio for Mac が一般公開
・Azure Cosmos DB(非構造化データベース)の発表
・Cognitive Services 関連
・Cloud-Powered Clipboard
(クリップボードのクラウド化、PCでコピしたテキストをスマホにペできる)
・iTunes がWindowsストアに登場!!
・Microsoft製のVR対応モーションコントローラー発表

といった感じですが、周りでは話題に上がることは特になかったので、
今回は Cognitive Services 関連で発表された、Custom Vision Service を
触ってみようと思います。

詳細は Microsoft の以下ページを参照下さい。

Custom Vision Service とは?

画像を機械学習させ評価させる事が出来るサービスです、GUIでアップロードする事が
可能なので、コードを書く手間や Azure Machine Learning のような学習セットの設定も
必要なく、手軽に試す事ができます。

機械学習については bigen 君の記事で説明されていますので、そちらもご確認下さい!

さっそく始めてみよう

1.png 上記リンクにもある、Custom Vision Service のページから「はじめる」ボタンをポチります。

2.png Project を作成するため 「New Project」をポチります。

3.png Project 名等を入力します、Domains は学習シナリオに合ったカテゴリを選択するようですが、
今回は「General」で良いかな、そして「Create Project」ボタンをポチります。

4.png プロジェクトが作成されたので、「Add Images」 ボタンをポチりと押して…

5.png ここから画像を追加します。

犬派のあなたに

6.png まずは犬の画像をアップロード、犬のタグに分類します。

猫派のあなたに

7.png 次に猫の画像をアップロードして、同様に猫のタグに分類します。

8.png こんな感じです。

特訓開始!!

9.png 「Train」ボタンをポチります。

10.png 円グラフは「Precision(予測)」と「Recall(想起)」の率となり、 画像を多く用意しておくほうが精度が上がるようです。

また、何回もトレーニングを実施する事でも精度がUPするそうです、
10枚くらいだとアレなので、犬、猫をさらに10枚…倍プッシュだ!!

さらなる特訓開始!!

11.png お、Recallが100%になりました。

まずコレは?

9.png 右上の「Quick Test」から評価したい画像を上げます。

とりあえず、馬を上げてみます。

12.png どちらも 0% に!? なるほど、犬っぽくはないんですね。

じゃあコレは?

次はひっかけですね、ライオン。

13.png 猫が95.4%になってますね〜、犬と猫しか知らない中で
猫に寄せてきてるのは、凄い気がします!

そしてコレは?

KTN さんです。 14.png まぁそりゃそうですね。

答え合わせをしてあげる

15.png テストで上げた画像に正解のタグを付与してあげ、さらに精度を上げます
これはライオンだよ。

うちのペットを見抜けるか!?

我が家の猫1号を5枚、犬2号を5枚追加して、トレーニングしてみました。 16.png 猫1号、犬2号の精度は5枚しか画像がないので、こんなもんですかね。

では、猫1号の学習させていない写真を。 17.png かろうじて猫1号と認識してくれたようです、立ち上がっている画像は学習して
なかったからか猫の精度も低いですね。

次に、犬2号の学習させていない写真を。 18.png うーん、Precisionも、Recallも低い数値だったので、犬2号の判定は1.3%でした。

感想

ふと思ったのですが、Computer Vision API が自動でタグ付けしてくれれば楽なのでは…
まぁそれは置いといて、上部のPrediction URLボタンをポチると、作成したプロジェクトの
API用URLをこっそり教えてくれる、素敵な仕組みも搭載されています。

人間の顔を学習させておきAPIで呼び出す等、色々な方向性で利用が出来そうです。

余談ですがbuild 2017では Microsoft の音声認識パーソナルアシスタント
「Cortana」さんと会話をするセッションがありました。

Google 検索すると、「Cortana 停止」、「Cortana 邪魔」、「Cortana 削除」等、
悲惨な検索ワードが並ぶ彼女ですが、Microsoft が発売しているゲームハード Xbox を
代表する FPS ゲーム 「HALO」 シリーズに登場する AI のキャラクターの名前が利用
されております。

最新のナンバリングタイトルでは人類を滅ぼそうとしていますが、上記のように
邪険にされている事が原因かは定かではありません…。