画像認識
Pepper
Watson
PepperDay 16

PepperでWatson Visual Recognitionを使うボックスライブラリに顔認識を追加してみた

この記事はPepperアドベントカレンダーの記事として、、、のはずがすっかり、気がついたら書いているのはクリスマス翌日です。ごめんなさいごめんなさい。とりあえず画面も何もないけど、それぞれサンプルと解説資料にリンクを貼っておきますので、そちらをご参考に。


Pepperと画像認識

そもそも、PepperにはクラウドAIが搭載されて加速度的に賢くなるとか、ディープラーニングが搭載されて (ってその「ディープラーニングを搭載ってなんなんだって感じだけど)商品の認識などの機能が追加されるとか言われてたけど、どうなったんだっけ。とかいう話があったんですが、それでも「ロボットでクラウドに繋がってて、”AIが載って”て、カメラがついてる」となると、画像認識くらいできるだろう、と画像認識を使ったプロジェクトは後をたたないのです。

一方、Pepperのデフォルトの画像認識機能は内部でOpenCVを使ったもので、決して優秀なものとは言えません。そこでエンジニアの人たちは、Micorsoftの Custom Vision Service を使ったり、IBMの Watson Visual Recognitionを使ったりしてクラウド側で画像認識処理をしています。


PepperとPythonライブラリ

それぞれのサービスにはPythonのSDKも用意されていますが、如何せんPepperのPython環境は PIPが使えません!! なのでライブラリ一つ導入するにも一苦労。WatsonのSDKを入れようと思ったらすごい数の依存ライブラリの導入とそのバージョンの解決をしないといけない。。。やってられません。

では、APIのエンドポイントを調べてそれぞれのAPIのパラメーター調べて、、、ってのはなかなかハッカソンとかではとっかかりが悪くて使ってもらえません。

そう、今回のライブラリはハッカソンで「PepperとWatson Visual Recognitionを使ってもらうため」に公開したものです。


ライブラリとサンプルアプリ

元々はロボスタさんの運営するRobot Libraryで公開していたのですが、これまたハッカソン等でロボットライブラリの紹介から利用登録からしてもらうのもなんなので、githubに公開しました。

birdtomita/Watson-Visual-Recognition-Pepper

Watsonの紹介とライブラリの導入方法は、大学生向けのセミナーの時に使用したこちらの資料を参考にしてください。ただし、Watsonの画面が古いのですが。

Watson Visual Recognition X Pepper


顔認識機能も追加

先に言っておきますが、Pepperの基本機能にも顔認識機能と年齢認識の機能はあります! けど、確かにこれ使いにくいんですよね。わかりにくいというか。夏に行われたハッカソンの時に「このサンプルでWatsonの顔認識が使えるようにして欲しい」という要望をいただいたので、FaceDetect.cblを追加しました。Watsonの画像に写ってる人の顔の場所と性別・年齢の推定値を返してくれます。全部Pepper単体でエッジ側でできますけどね!!


利用実績など

大学生向けのハンズオンでは、「肉の種類を判定するPepper」など面白い作品が発表されました。また顔認識機能を追加した夏のハッカソンでは、「Pepperが飲み会メンバーの顔と年齢・性別を認識して割り勘の割合を調整してくれる」という作品が会場で注目を集めました。

是非みなさんも独自の工夫で画像認識を使った新しいPepperの活用方法を考えてみてください。「使ってみたよー」という声を頂けると嬉しいです。