Software for controlling android robot

ここでは,参加登録時に貸与される対話ロボットシステムソフトウェアについて説明します.これは,以下のものから構成されています.

  • センサを使ったお客様の位置,音声,表情,性別,年齢などの認識を行うプログラム.

    • ①画像認識プログラム(face_recognition)

      • カメラ画像上の顔矩形位置,各顔の表情,年齢,性別,beauty score,眼鏡の状態を取得することができる.各顔の情報の認識についてはFace++を利用しています.詳しくはFace++のホームページを参照してください.

    • ②音声認識プログラム(GoogleSpeechRecognitionServer)

      • マイクに音声入力があると,認識文字列途中結果を返しながら最終認識文字列結果と信頼度を返します.GoogleのSpeech-to-Textを利用しています.

  • アンドロイドIを制御するためのプログラム,アンドロイドIの音声を合成するためのプログラム.

    • ③音声合成プログラム(AmazonPollyServer)

      • 入力として発話テキストを受け取ると,合成した音声をスピーカーから出力します.再生している音声を途中で停止したり,音声の感情パラメータを変更したりできます.Amazon Pollyの音声合成APIを利用しています.

    • ④口形状生成プログラム(OculusLipSyncServer)

      • 合成音声を再生すると,それに同期するようにアンドロイドIの口形状を制御します.ユーザはこのプログラムにアクセスする必要はありません.Oculus Lipsync Unityを利用しています.

    • ⑤首動作,上体姿勢生成プログラム(MiracleHuman)

      • 入力として,アンドロイドIの感情,視線方向,見る対象(対話相手やモニタなど)への興味度を受け取ると,それに適した視線や上体姿勢を自動的に生成してアンドロイドIを制御します.また,お辞儀など予め定義しておいたジェスチャを指定すると,そのジェスチャ動作をアンドロイドIで再生します.Unityを利用しています.

    • ⑥表情生成&動作統合プログラム(JointMapperPlusUltraSuperFace)

      • 入力としてアンドロイドIの表情のラベルを受け取ると,アンドロイドIの表情を自動的に生成して顔の部位(頬や眉など)の位置を制御します.

  • 開発時に,アンドロイドIの振る舞いをCGで確認するためのシミュレータプログラム.

    • 上記④,⑤,⑥に付属しています.

    • 開発時には,実機で動作を確認することができませんが,これらを用いることで,実際のアンドロイドIが生成する口唇形状,視線,上体姿勢,ジェスチャ,表情をCGで確認することができます.

上記の各ソフトウェアを用いた対話ロボットシステムの全体構成とシステム全体のPCの構成は下記のようになっています.参加チームは「対話制御」の部分を開発することになります.また,画像認識や音声認識部分(①および②)については,貸与されるソフトウェアを使わずに,独自に開発してもよいとします.