Pepper:CloudRoboticsAPIを試してみた
Pepperパートナー会員事務局より提供された「Cloud Robotics API無償提供プログラム」に参加して試した事を報告します。
「Cloud Robotics API無償提供プログラム」とは、
Microsoft社Azureが提供する各種APIやサービスをラップし、共通の通信フォーマットで利用できるようにしたものです。 (参考)IoTビジネス共創ラボ「Pepper X Azure Cloud Robotics APIハンズオン」資料提供
今回、サンプルとして提供された内容は次の通りです。
FaceVision編
TranslatorConversation編
D2D編
FaceVision編
(サンプルアプリ1)
顔認証シナリオ: Pepperの右手を触るとカメラで撮った顔写真を登録します。そして、左手に触れると写真を撮り顔認証を行い、話かけます。
— njcrd (@rd_njc) 2017年7月7日
また、顔認証では、メガネをかけて訪れるとメガネを認識することもできます。
— njcrd (@rd_njc) 2017年7月7日
ここでは、Microsoft AzureのCognitiveServiceの一つ、”FaceAPI”を使用しています。
そして、FaceAPIの中でも次の機能を利用しています。
・Face Identification(Identify:顔特定)
・Face Detection(Detect:顔検知=属性取得)
(サンプルアプリ2)
写真説明シナリオ: Pepperの右手を触ると、あらかじめ用意された4枚の写真から一枚を選び写真の内容を説明します。
— njcrd (@rd_njc) 2017年7月11日
左手を触るとその場でPepperが写真を撮り、撮った写真を説明します。
— njcrd (@rd_njc) 2017年7月11日
私がペットボトルを持ちPepperの前に立ちました。すると、Pepperは「ワインをいっぱい持っている男ですね」と返しました。
Microsoft Azureの”Computer Vision API”を使用しています。 しかしながら今回の調査では”CloudRoboticsAPI”に含まれる”写真説明”という機能として提供されているため、この検証の中では”Computer Vision API”がどのように使われているか、までの調査はできませんでした。
TranslatorConversation編
TranslatorConversation編では、”翻訳”と”会話理解”という事をサンプルとして提供されています。 実際に動作を確認する中でPepperの大きな弱点と対峙しサンプル自身も十分には検証できませんでした。 Pepperの大きな弱点とは、聞き取り精度の問題であります。 現状、Pepper自身の聞き取り精度は日常会話を聞き取るまでの精度は確認できていません。 そのため、ここでの検証はChoregrapheのダイアログウィンドウから会話内容の入力を行いました。
(サンプルアプリ3)
翻訳シナリオ:Pepperに日本語で話しかけると英語に翻訳して喋り返します。
— njcrd (@rd_njc) 2017年7月18日私「上野動物園で、パンダの赤ちゃんが誕生したのはご存知ですか」
Pepper「Do you Know that Panda’s baby was born at Ueno Zoo?」
ここでは、Microsoft Azure のTranslator Speech APIが使用されています。
使用する言語を指定してtextをAPIに渡すと翻訳されたtextが戻されるという使用するには難しい事はあまりないと思います。ただし、Pepperで実装をする場合の一番の課題は音声の聞き取りになります。残念ながら今回の中には含まれていませんが、Microsoft AzureのSpeechAPIなどとの音声聞き取り技術との連携が必須になると考えられます。今後、こうしたものとの連携も引き続き研究調査を続けていきたいと考えています。
実は、TranslatorConversation編の今回の資料の中にはもう一つサンプリアプリがありました。
それは、会話理解APIに関するサンプルアプリです。残念ながら資料にある動作の確認ができませんでした。この会話理解APIとは、Microsoft AzureのCognitiveServiceにあるLUISというAPIを使用して実装します。このLUISとは自然言語理解のAPIと言われるもので会話をする上では重要な役割を持っています。またMicrosoftがこの機能を使って架空の高校生を作り上げた”りんな”との会話も体験できるような記述もありましたが、確認できませんでした。
これら機能は、今後、Pepperでも精度の高い会話を実現するためにはうまく連携すべき機能だと考え、引き続き調査を進めたいと思います。
D2D編
(サンプルアプリ4)
デバイス間連携シナリオ:2つのPepperを使って、Pepper-Aの手を触るとPepper-Bが発話します。
— njcrd (@rd_njc) 2017年7月20日この動画は、向かって右側のPepperの左手を触ると、左側のPepperが「誰?、僕の手を触ったのは」と喋ります。
このサンプルアプリは、今までのものとは異なり顔認証や翻訳、自然言語理解というAPIを使用するのではなく、Microsoft AzureのIoTHubという機能により、そこに接続したデバイス同士が連携することで実装されています。
残念ながら、このIoTHubについて、このサンプルだけでは理解できなかったので引き続き調査をしたいと考えています。
まとめ
今回、CloudRoboticsAPIのサンプルアプリを試しての感想としては、実際に顔認証や翻訳などAzureのCognitiveServiceはなかなかのものとして使っていきたいと思いますが、目的を絞って使うことでここまで大掛かりなAPIとする必要があるかは疑問でした。しかしながら、IoTHubを使用することで複数のPepperの連携や色々なAPIを使う目的がある場合には、使いやすいのかもしれないと思いました。もう少しAzure側の設定などが理解できるとまた見方も変わって来るのかもしれません。今回のお試しも、もっとハンズオンでコードの内容まで関わるようなことまでできればよかったのですが、資料を見ただけではなかなかそこまで理解できずに終わってしまったことは残念でした。引き続きこのAzureのCognitiveServiceについては理解を深める調査を行なっていきたいと思います。