JP7201984B2 - アンドロイドのジェスチャ生成装置及びコンピュータプログラム - Google Patents

アンドロイドのジェスチャ生成装置及びコンピュータプログラム Download PDF

Info

Publication number
JP7201984B2
JP7201984B2 JP2018129916A JP2018129916A JP7201984B2 JP 7201984 B2 JP7201984 B2 JP 7201984B2 JP 2018129916 A JP2018129916 A JP 2018129916A JP 2018129916 A JP2018129916 A JP 2018129916A JP 7201984 B2 JP7201984 B2 JP 7201984B2
Authority
JP
Japan
Prior art keywords
gesture
android
function
data
arm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018129916A
Other languages
English (en)
Other versions
JP2020006482A (ja
Inventor
カルロス トシノリ イシイ
大地 町屋敷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2018129916A priority Critical patent/JP7201984B2/ja
Publication of JP2020006482A publication Critical patent/JP2020006482A/ja
Application granted granted Critical
Publication of JP7201984B2 publication Critical patent/JP7201984B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

この発明はいわゆるロボットに関し、特に人型ロボットであるアンドロイドのジェスチャ制御に関する。
最近のコンピュータ・サイエンスの発達により、人形のロボット、いわゆるアンドロイドをコンピュータで制御し動作させる研究が行われている。アンドロイドの動作として最初に考えられるのは、人との対話である。そのための要素技術としては、音声認識技術、対話技術、音声合成技術があるのは言うまでもないが、それ以外にも顔の表情、頭部及び体幹の動作の制御技術等がある。
一方、これらに加えて、人と人との会話では、発話に手(腕)の動きが伴うことが多い。こうした手の動きを本明細書ではハンドジェスチャ又は単にジェスチャと呼ぶ。こうしたジェスチャは話し手の理解を助けることが目的と考えることもできるし、話し手が自分を表現するための動きと考えることもできる。いずれにせよ、人と人との会話ではジェスチャが非常に大きな役割を果たしていると考えられる。
アンドロイドが発話する場合にも、アンドロイドに何らかのハンドジェスチャを行わせることが望ましい。アンドロイドは人に似た外観をしているので、発話とともにハンドジェスチャを行わせることにより、違和感のない会話を人と行うことができると考えられる。ただし、アンドロイドのように人間に近い形の機械の場合には、人の動きと似ているがやや異なる動きをすると「不自然な動き」として相手に捉えられることが多い。そのため、ジェスチャをできるだけ自然なものにする必要がある。
発話と連動してアンドロイドのジェスチャを生成する技術に関連して、CGアニメーションのエージェントの発話に関するジェスチャ生成技術がある。後掲の非特許文献1には、テキストをエージェントのジェスチャ及び発話と同期させる技術が開示されている。非特許文献1によれば、発話の語彙及び統語情報はジェスチャの生成と強く関連しており、ジェスチャの発生を判定するために統語情報が有用であるとされている。このように語彙と強く関連するジェスチャとしては、図像ジェスチャが知られている。図像ジェスチャとは、具体的な物の形又は大きさ、状況若しくは出来事を表現するジェスチャのことをいう。
また、発話と連動するハンドジェスチャ生成においては、音声の韻律情報も関連することが知られている。例えば韻律のフォーカスと拍子ジェスチャ(小刻みな手の動きでリズム又は強調を表現するジェスチャ)との間には一定の関係がある。またジェスチャのストローク(ジェスチャが行われている時間区間)のピークはピッチアクセントとよく一致する。後掲の非特許文献2には、いわゆるボディランゲージの合成に韻律情報を用いる技術が提案されている。この技術では、リアルで思わず人を引き込むような動作が生成できるとされている。
Y.I. Nakano, M. Okamoto, D. Kawahara, Q. Li, T. Nishida. "Converting Text into Agent Animations: Assigning Gestures to Text," In Proc. Human Language Technology Conference of the North American Association for Computational Linguistics, pp. 153-156, 2004. S. Levine, C. Theobalt, V. Koltun. "Real-Time Prosody-Driven Synthesis of Body Language," In SIGGRAPH Asia, 2009. F. Petitjean, A. Ketterlin, and P. Gancarski. A global averaging method for dynamic time warping, with applications to clustering. Pattern Recognition, Vol. 44, No. 3, pp. 678-693, 2011.
上記したような先行技術からは、語彙ジェスチャが発話中の語彙と関連することが分かる。また拍子ジェスチャは発話の韻律情報と関連することが分かる。しかし従来の技術では、いつ、どの程度だけジェスチャを生成すれば良いかについては明確でない。例えばジェスチャが常に発生するわけでもないので、どのようなときにジェスチャを生成し、どのようなときには生成しないかを明らかにする必要がある。またアンドロイドにそうしたジェスチャを行わせたときに、相手に違和感を生じさせないようにすることも必要だが、そうした観点からの先行技術は見当たらない。
それ故に本発明はアンドロイドの発話時に自然なジェスチャを生成するアンドロイドのジェスチャ生成装置及びコンピュータプログラムを提供することを主な目的とする。
本発明の第1の局面に係るアンドロイドのジェスチャ生成装置は、単語が発話されたときに生ずるジェスチャ機能の確率を規定するジェスチャ機能確率モデルを記憶するためのジェスチャ機能確率モデル記憶手段を含み、ジェスチャ機能は複数個に分類され、さらに、複数個のジェスチャ機能に対応して人間の腕のジェスチャが生ずる確率を、人間の腕の動きの種類に応じた複数個のジェスチャクラスタについてそれぞれ規定するジェスチャクラスタ確率モデルを記憶するためのジェスチャクラスタ確率モデル記憶手段と、入力された発話テキストの各単語について、当該単語に応じてジェスチャ機能モデルからサンプリングすることにより複数個のジェスチャ機能のいずれかを選択するためのジェスチャ機能選択手段と、ジェスチャ機能選択手段により選択されたジェスチャ機能に応じてジェスチャクラスタ確率モデルからサンプリングすることにより複数個のジェスチャクラスタのいずれかを選択し、選択されたジェスチャクラスタに属するジェスチャのいずれか1つを選択するためのジェスチャ選択手段と、ジェスチャ選択手段により選択されたジェスチャをアンドロイドの腕のジェスチャにマッピングするためのマッピング手段とを含む。
好ましくは、アンドロイドのジェスチャ生成装置はさらに、発話テキストに対応する音声信号の入力を受け、音声信号の韻律に基づいて発話の強調位置を検出するための強調位置検出手段と、強調位置を含む所定の時間期間において、アンドロイドの拍子ジェスチャを生成する第1の拍子ジェスチャ生成手段を含み、マッピング手段は、ジェスチャ選択手段により選択された腕のジェスチャと第1の拍子ジェスチャ生成手段の生成した拍子ジェスチャとを統合したジェスチャをアンドロイドの腕のジェスチャにマッピングするための統合ジェスチャマッピング手段を含む。
より好ましくは、強調位置検出手段は、音声信号の入力を受け、音声信号の基本周波数のピークであって、発話を行った話者の音声の基本周波数の平均値を超えるピークを検出するためのピーク検出手段と、ピーク検出手段の検出したピーク位置の内、直後に連続する基本周波数の下降値が3セミトーン以上であるピーク位置を強調位置として検出するための手段とを含む。
さらに好ましくは、第1の拍子ジェスチャ生成手段は、強調位置を含む0.7秒~0.9秒の時間期間において、アンドロイドの拍子ジェスチャを生成する第2の拍子ジェスチャ生成手段を含む。
好ましくは、第2の拍子ジェスチャ生成手段がアンドロイドの拍子ジェスチャを生成する時間期間は、強調位置より第1の期間だけ前の発話位置から、強調位置より第2の期間だけ後の発話位置までの間であり、第1の期間は第2の期間より長い。
より好ましくは、第1の期間は0.55秒であり、第2の期間は0.25秒である。
さらに好ましくは、第1の拍子ジェスチャ生成手段は、アンドロイドの正立時の高さ方向に、所定の時間期間内におよそ15度の角度まで腕を上げて下ろすジェスチャを生成する。
好ましくは、ジェスチャ機能確率モデルは、単語が表す概念ごとに、当該概念を表す単語が発話されたときに生ずるジェスチャ機能の確率を規定しており、ジェスチャ機能選択手段は、発話テキストの内、特定の品詞の単語の各々について、その概念を抽出するための概念抽出手段と、概念抽出手段により抽出された概念に応じてジェスチャ機能確率モデルからサンプリングすることによりジェスチャ機能のいずれかを選択するための手段とを含む。
より好ましくは、特定の品詞は、名詞、動詞、副詞及び形容詞である。
さらに好ましくは、各ジェスチャは、ジェスチャ開始前の手の位置からジェスチャの開始位置まで腕を移動させるための準備区間、ジェスチャ動作を行うストローク区間、及びストローク区間の後に腕をジェスチャ終了位置まで戻す終了区間に分割され、さらにジェスチャ動作の後に腕を静止させた状態を保つホールド区間を含むことがあり、マッピング手段は、ジェスチャ選択手段がジェスチャを選択したときの単語の開始位置がストローク区間の開始位置に一致するようにストローク区間を決定するストローク区間決定手段と、ストローク区間決定手段により決定されたストローク区間の前に準備区間を設定するための準備区間設定手段と、ストローク区間の後にホールド区間を設定するホールド区間設定手段と、ホールド区間の間に次のジェスチャが設定されているか否かにしたがって、当該次のジェスチャの準備区間の開始位置まで腕を移動させる区間を設ける処理と、ホールド区間の終了後に終了区間を設定する処理とを選択的に実行するための手段と、選択されたジェスチャにしたがって、ストローク区間、準備区間、ホールド区間、及び終了区間におけるアンドロイドの腕に対し、各区間について選択されたジェスチャの動作をマッピングするための手段と含む。
好ましくは、アンドロイドのジェスチャ生成装置は、マッピング手段がアンドロイドの腕の動作をマッピングする際に、ジェスチャのデータにより定められるアンドロイドの肘の位置座標を、ジェスチャのデータにより定められる肩、肘及び手首の位置、並びにアンドロイドの上腕及び前腕の長さにより定められる座標で置換するための肘座標置換手段をさらに含む。
より好ましくは、肘座標置換手段は、ジェスチャのデータにより定められる肩及び手首の位置を中心とし、アンドロイドの上腕の長さ及び前腕の長さを半径とする球の交円と、ジェスチャのデータにより定められる肩、肘及び手首の3次元座標との関係で定められる平面との2交点の3次元座標を求めるための手段と、2交点の内、その3次元座標がジェスチャのデータにより定められる肘の位置に近い方をアンドロイドの肘の座標として選択し、ジェスチャのデータにより定められる肘の座標と置換するための手段とを含む。
さらに好ましくは、ジェスチャのデータにより定められる肩、肘及び手首の3次元座標との関係で定められる平面は、ジェスチャのデータにより定められる肩、肘及び手首の各点を通る平面である。
アンドロイドのジェスチャ生成装置はさらに、アンドロイドの各発話に関する談話機能を指定する情報を受け、当該情報により指定された談話機能が予め定める談話機能であるときには、ジェスチャ選択手段によるジェスチャ選択を制限するためのジェスチャ制限手段を含む。
好ましくは、予め定める談話機能は相槌的発話である。
本発明の第2の局面に係るコンピュータプログラムは、コンピュータを、上記したいずれかのアンドロイドのジェスチャ生成装置として機能させる。
本発明の技術的範囲、その詳細及びその作用と有利な効果は、以下に述べる発明の詳細な説明を、添付した図面とともに参照することでより明確に理解できるであろう。
図1は、本発明の1実施の形態に係るジェスチャ生成システムの機能的構成を示すブロック図である。 図2は、図1に示す、テキストによるジェスチャ生成部及びその学習装置の概略構成を示す機能的ブロック図である。 図3は、学習時に収集する被験者の骨格情報を示す図である。 図4は、テキストによるジェスチャの時間的構成を示す模式図である。 図5は、韻律によるジェスチャの時間的構成を示す模式図である。 図6は、各談話機能に対するジェスチャの生起頻度を示すグラフである。 図7は、韻律に基づく拍子ジェスチャ生成部の概略構成を示す機能的ブロック図である。 図8は、アンドロイドの外観と腕のアクチェエータの配置を示す図である。 図9は、テキストによるジェスチャ生成のための前準備処理を実現するコンピュータプログラムの制御構造を示すフローチャートである。 図10は、一連の発話に対応するテキストによるジェスチャ生成を実現するプログラムの制御構造を示すフローチャートである。 図11は、図10に示すプログラムの内、各発話についてジェスチャを生成する処理を実現するプログラムの制御構造を示すフローチャートである。 図12は、韻律による拍子ジェスチャ生成のポイントを決定する処理を実現するプログラムの制御構造を示すフローチャートである。 図13は、アンドロイドの腕のジョイントの初期状態を示す模式図である。 図14は、ジョイントごとの座標系の設定方法を説明するための図である。 図15は、隣接するジョイントの座標系の間の関係を説明するための図である。 図16は、アンドロイドの腕へのジェスチャのマッピング時に各ジョイントの角度を決定するためのプログラムの制御構造を示すフローチャートである。 図17は、アンドロイドの肘の位置を決定するプログラムの制御構造を示すフローチャートである。 図18は、アンドロイドの肘の位置の決定方法を説明するための模式図である。 図19は、アンドロイドの肘の位置の決定方法を説明するための模式図である。 図20は、アンドロイドのジェスチャ動作を制御するコンピュータの構成を示すブロック図である。 図21は、学習のためのジェスチャデータを収集する際の設定を説明するための模式図である。 図22は、図21に示す設定における被験者の姿勢と得られた姿勢データとを示す図である。 図23は、被験者の動きから得たある特定のジェスチャに関するジェスチャクラスタを示すグラフである。 図24は、被験者の動きから得た、他の特定のジェスチャに関するジェスチャクラスタを示すグラフである。
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
[第1の実施の形態]
<構成>
〔全体構成〕
図1は、本願発明の1実施の形態に係るジェスチャ生成システム50の概略構成を示す。図1を参照して、ジェスチャ生成システム50は、発話のテキスト60と発話の談話機能62とを受けてテキストによるジェスチャを生成する、テキストによるジェスチャ生成部66と、ジェスチャ生成システム50に対応する音声信号64と談話機能62とを受けて、音声の韻律に基づいて拍子ジェスチャを生成するための、韻律による拍子ジェスチャ生成部68とを含む。談話機能とは、対話においてその発話が果たす機能のことをいう。談話機能には以下のようなものがある。
Figure 0007201984000001
ジェスチャ生成システム50はさらに、テキストによるジェスチャ生成部66により生成されたテキストによるジェスチャと、拍子ジェスチャ生成部68により生成された拍子ジェスチャとを統合するジェスチャ統合部70と、ジェスチャ統合部70により統合されたジェスチャにしたがってアンドロイドの上の各ジョイントのアクチュエータに対する指令値を生成し各アクチュエータに出力するアクチュエータ指令値生成部72とを含む。
〔テキストによるジェスチャ生成部66〕
図2は、テキストによるジェスチャ生成部66の概略構成を、テキストによるジェスチャ生成部66で使用する確率モデルの学習を行うための学習部90の概略構成とともに示す。
学習部90は、テキストによるジェスチャ生成部66のための学習データを記憶する学習データ記憶部100を含む。学習データは人の発話から収集した音声データであって、この音声データに音声を書き起こしたテキスト、ジェスチャ動作データ、及びジェスチャ機能データ(ジェスチャ機能を示すラベル)が付されたものである。ジェスチャ機能とは、そのジェスチャが持つ機能のことをいう。ジェスチャ機能には以下のようなものがある。
Figure 0007201984000002
学習部90はさらに、学習データ記憶部100から各発話のテキストデータ102を読出し、各単語について日本語のWordNet108を参照することにより各単語の概念を抽出する単語概念抽出部110と、学習データ記憶部100からジェスチャ機能データ104を抽出し、単語概念抽出部110が発話の各単語について出力する、抽出された単語概念とあわせて統計的処理を行うことにより、各単語概念に対してどのようなジェスチャ機能がどのような確率で生ずるかに関するジェスチャ機能確率モデル92(P(Gf|Wc))を算出するためのジェスチャ機能確率モデル算出部114とを含む。ここでGfはジェスチャ機能を表し、Wcは抽出された単語概念を表す。
学習部90はさらに、学習データ記憶部100に記憶された学習データから動作データ106を抽出し、同種のジェスチャごとに、ジェスチャを複数のクラスタに分類し各クラスタの動作データであるジェスチャクラスタデータを出力するためのジェスチャクラスタリング部112と、ジェスチャ機能データ104と、ジェスチャクラスタリング部112が出力するジェスチャクラスタデータとを用い、各ジェスチャ機能についてどのようなジェスチャクラスタがどのような確率で生成されるかに関するジェスチャクラスタ確率モデル94(P(Gc|Gf))を算出するジェスチャクラスタ確率モデル算出部116とを含む。ここでGcはジェスチャクラスタを表す。ジェスチャクラスタについては図23及び図24を参照して後述する。
ジェスチャ機能確率モデル92及びジェスチャクラスタ確率モデル94はいずれも図示しない記憶装置に記憶される。
本実施の形態では、ジェスチャクラスタリングでは、手の軌跡の距離により各ジェスチャを大、中、小の3クラスに分け、各クラスを20クラスタずつにクラスタリングした。また、手の軌跡の始点を10クラスタに分類した。
なお、学習データを準備する作業の例については、動作の欄で説明する。
テキストによるジェスチャ生成部66は、アンドロイドが発話する各発話のテキストの入力を受けて、その各単語についてWordNet108を参照して単語概念を抽出し出力するための単語概念抽出部130と、単語概念抽出部130の出力する、抽出された単語概念が付された各単語について、ジェスチャ機能確率モデル92から単語概念に対するジェスチャ機能データをサンプリングし、その単語概念に対応するジェスチャ機能を1つ選択するためのジェスチャ機能サンプリング部132と、ジェスチャ機能サンプリング部132によりサンプリングされたジェスチャ機能について、ジェスチャクラスタ確率モデル算出部116により算出されたジェスチャクラスタ確率モデル94からサンプリングすることにより、そのジェスチャ機能に対するジェスチャクラスタの1つを選択し、さらにそのクラスタに属するジェスチャの1つをランダムにサンプリングし出力するジェスチャサンプリング部134とを含む。ジェスチャサンプリング部134の出力はジェスチャデータの系列、すなわちジェスチャを表す、腕の各部の3次元座標データの系列となる。
図3に、本実施の形態で使用する3D骨格データの各点を示す。図3を参照して、ジェスチャを表す点として、アンドロイドの股間を点1として、図3に示すような点0~点8を使用した。さらに、右手及び左手についてもそれぞれ点9~23及び点14~28を使用した。
本実施の形態では、各ジェスチャはジェスチャフレーズに分割し、ジェスチャ機能ごとに表2に示す談話機能ラベルのいずれかを付している。
図4を参照して、各ジェスチャフレーズ200は、ジェスチャの前のレスト区間210に引き続き、準備区間212、ストローク区間214、ホールド区間216及び終了区間220を含み、終了区間220の後にジェスチャ後のレスト区間222となる。これらに関する説明は以下のとおりである。
Figure 0007201984000003
なお、図4に示すように、ホールド区間216から準備区間212に戻る経路218をたどる場合もある。これは、1つのジェスチャに続いて被験者が次のジェスチャを行った場合を表す。また最初のレスト区間210と最後のレスト区間222とにおいて、手の位置は必ずしも同じではない。
ジェスチャのラベルの内、アダプタについては他のジェスチャと異なり、図5に示すようなジェスチャフレーズ250を用いた。ここで「アダプタ」とは、個人による癖のことをいう。例えば、口元を手で隠したり、髪の毛を手で触ったりという動作である。図5を参照して、アダプタのためのジェスチャフレーズ250は、レスト区間260とレスト区間264との間に設けられたアダプタ区間262を含む。
また、ジェスチャフレーズ200とは別に、拍子が生成された場合には、ホールド区間216内に拍子区間230を設ける。拍子が複数生成された場合には図4に示すように連続して(又は所定時間をおいて)拍子区間232を設ける。以下同様である。
なお、後述するように、被験者による対話データから発話とジェスチャの生起率との関係を調べたところ、図6に示すようになった。図6の横軸は、表1に示す談話機能の種類を示し、縦軸はその生起率を示す。図6から分かるように、談話機能bc(応答詞)及びbc2(応答詞以外の相槌的発話)では、ジェスチャの生起率が他の談話機能より低く、ほとんど生起していないことがわかった。一方、発話中のフレーズ(k及びk2)ではジェスチャの生起率が最も高く、発話終了のフレーズ(g及びq)ではジェスチャの生起率は中間的であることがわかった。これらの談話機能とジェスチャの生起率との関連性の結果を利用して、本実施の形態では、談話機能に応じて、テキストによるジェスチャ生成及び韻律情報による拍子ジェスチャ生成を制限する機能を備えた。具体的には、談話機能が相槌的発話(bc及びbc2)の場合には、テキストによるジェスチャ生成部66及び韻律情報による拍子ジェスチャ生成部68が何らかの動作を生成するような場合でも、ジェスチャを生起させないというスイッチのような働きをする機能を実現した。この仕組については後述する。
〔韻律情報による拍子ジェスチャ生成部68〕
図7に、韻律による拍子ジェスチャ生成部68の概略構成を示す。図7を参照して、韻律による拍子ジェスチャ生成部68は、アンドロイドが発話する音声の入力を受け、その音声の韻律から発話の強調位置である韻律フォーカスを推定しその位置を特定する情報を出力する韻律フォーカス推定部280と、韻律フォーカス推定部280の出力を受けて、韻律フォーカスの生じた時点を基準に拍子ジェスチャを生成する拍子ジェスチャ生成部282とを含む。
拍子ジェスチャ生成部282の出力を図1及び図2に示すテキストによるジェスチャ生成部66の出力に加算することで両者が統合され、アンドロイドのジェスチャが生成される。
図8に、実施の形態で使用するアンドロイドの一例の外観と、このアンドロイドの左腕を構成する各ジョイントの初期状態とを示す。上記したようにして生成されたアンドロイドのジェスチャは、肩、肘、手首、指の3次元座標の時系列データにより表現される。ここでは、アンドロイドの座標系として、アンドロイドの胸を基準点とし、アンドロイドから見て前方にx軸が、アンドロイドの左右方向にy軸が、上下方向にz軸がそれぞれ設定される。この3次元座標を再現するように図8に示す各ジョイントの角度を計算することでジェスチャがアンドロイドの腕により再現される。各ジョイントの角度が分かれば、ジョイントの可動範囲から各ジョイントのアクチュエータへの指令値を計算できる。入力情報としての3次元の座標は、データを収集した被験者の腕の長さによってスケーリングされた値として表現される。このスケーリングにより、ジェスチャを表すデータは腕の伸ばし具合を示すことになるので、ジェスチャの再現度が保たれる。
図8において、胸の中心を基準点とし、基準点からi番目のジョイントの座標系行列をT、行列Tの座標系のx軸、y軸、z軸成分をそれぞれx、y、z、回転角度をθとする。図1に示すアクチュエータ指令値生成部72は、ジェスチャ統合部70により出力されるジェスチャデータを用いて、各ジョイントの座標がジェスチャデータにより特定される座標x、y、zとなるようにジョイントの回転角度θを順番に計算することでジェスチャデータをアンドロイドの腕にマッピングする。このマッピングの詳細については図13~図19以降を参照して後述する。
〔テキストによるジェスチャ生成の準備作業〕
テキストによるジェスチャ生成部66により行われるジェスチャ生成の前に、以下のような準備作業が必要になる。図9に、その準備作業をコンピュータのハードウェアとの協働により実現するプログラムの制御構造を示す。図9を参照して、このプログラムは、被験者の対話セッションから得られた書き起こしテキストと、その各単語に付されたジェスチャ機能ラベルとの関係性を計算し、単語の概念が与えられたときにどのジェスチャ機能がどのような確率で生成されるかに関するジェスチャ機能確率モデルを生成するステップ300と、被験者の対話セッションから得られたジェスチャデータを3次元ジェスチャに変換するステップ302と、ジェスチャデータをその軌跡の長さにより大、中、小の3クラスに分類し、各クラスのジェスチャデータを20のクラスタにクラスタリングし、さらに各ジェスチャの始点を10クラスにクラスタリングするステップ304とを含む。
このプログラムはさらに各ジェスチャ機能ラベルと、そのジェスチャ機能ラベルに対して、各クラスタのジェスチャ動作がどの程度の確率で生じるかに関する関係性を計算し、ジェスチャクラスタ確率モデル94を生成するステップ306と、実際にジェスチャを生成する区間を決定するステップ308と、韻律情報から拍子のジェスチャを生成するタイミングを推定するステップ310とを含む。
〔テキストによるジェスチャ生成〕
ジェスチャ生成処理を実現するプログラムの制御構造を図10を参照して説明する。このプログラムは、入力された文章に含まれる文の各々に対して、指定された談話機能がbcでもbc2でもないとステップ331で判定されたときに限りジェスチャ生成処理332を実行する処理を繰返すことにより、入力された文章の全体についてアンドロイドの腕をテキストにしたがって動かすためのジェスチャデータを生成するステップ330と、ステップ330で生成された各ジェスチャデータについて、ホームポジション(ジェスチャの前後のレスト区間での腕のデフォルト位置)からジェスチャのストロークまでの区間、及びジェスチャ終了からホームポジションへの動作データを生成し、文章全体のジェスチャデータを生成するステップ334と、ステップ334で生成されたジェスチャデータにしたがってアンドロイドの腕を動かすために、これらジェスチャデータをアンドロイドの動作にマッピングするステップ336と、図9にステップ310で選択された拍子ジェスチャの生成ポイントの各々において、ジェスチャの始点及び終点を決定して処理を終了するステップ338とを含む。
ステップ331により示されるように、談話機能が相槌的発話(bc及びbc2)の場合には、テキストによるジェスチャ生成部66及び韻律情報による拍子ジェスチャ生成部68が何らかの動作を生成するような場合でも、ジェスチャを生起させない。すなわちステップ331により、ジェスチャ生成機能を制限するスイッチのような機能を実現した。
図11を参照して、図10のジェスチャ生成処理332は、処理対象の文を形態素解析し形態素列を出力するステップ360と、ステップ360の処理により出力された形態素の各単語について、図2に示すジェスチャ機能確率モデル算出部114により算出されたジェスチャ機能確率モデル92をサンプリングすることによってジェスチャ機能ラベルを推定するステップ362とを含む。ステップ362では、単語の内、品詞が形容詞、動詞、名詞、及び副詞のいずれかである場合のみ、その単語に対してジェスチャ機能ラベルを推定する。これ以外のときにはジェスチャは生成しない。
このプログラムはさらに、発話区間内に拍子ジェスチャ生成タイミングがあるか否かを判定して制御を分岐させるステップ364と、ステップ364の判定が肯定のときに、さらにステップ362で推定されたジェスチャ機能ラベルが「ジェスチャなし」か否かを判定し、判定結果に応じて制御の流れを分岐させるステップ368と、ステップ368の判定が肯定のときに、ジェスチャ機能ラベル付きジェスチャから1つを選択するステップ368と、ステップ368で選択された拍子ジェスチャの開始地点1フレームをストロークとしてジェスチャとするステップ370とを含む。
このプログラムはさらに、直前に他のジェスチャがあるか否かを判定し判定結果に応じて制御の流れを分岐させるステップ372と、ステップ372の判定が肯定であるときに、直前のジェスチャが属するジェスチャ始点クラスタを選択し、そのジェスチャ始点クラスタから、推定した機能ラベルと同じジェスチャをランダムに選択するステップ374と、直前のジェスチャの終点と、生成したジェスチャの始点とを線形補間するステップ376とを含む。
このプログラムはさらに、ステップ372の判定が否定のときに、図2に示すジェスチャクラスタ確率モデル算出部116により生成されたジェスチャクラスタ確率モデル94を用いてサンプリングすることによりジェスチャ機能からジェスチャクラスタを推定するステップ378と、推定されたジェスチャクラスタのジェスチャを選択するステップ380と、ステップ376の後、及びステップ380の後に実行され、ホールドのジェスチャを発話区間に応じてジェスチャに付加して処理を終了するステップ382とを含む。
〔韻律による拍子ジェスチャ生成の準備作業〕
図12に、ステップ310のより詳細なフローチャートを示す。図12を参照して、ステップ310は、各発話の音声信号からその基本周波数F0を抽出するステップ430と、予め記憶装置に保管されていた各発話のF0の平均値を算出するステップ432と、F0が平均値を超える位置を選択するステップ434と、F0ピーク位置を検出するステップ436と、ステップ436で検出された各ピーク位置に対して以下に説明する処理440を実行することにより拍子ジェスチャを生成する位置を選択して処理を終了するステップ438とを含む。
処理440は、そのピーク位置におけるF0下降値が3セミトーンより大きいか否かを判定するステップ460と、ステップ460の判定が肯定のときに、そのF0ピーク位置をジェスチャ生成点として選択して処理440の実行を終了するステップ462とを含む。ステップ460の判定が否定であれば拍子ジェスチャを生成せず処理440の実行を終了する。
〔ジェスチャのマッピング〕
図13を参照して、アンドロイドの腕600を構成する各ジョイントの座標系の設定の仕方について説明する。胸の中心を基準点とし、基準点からi番目のジョイントの座標系行列をT、行列Tの座標系のx軸、y軸、z軸成分をそれぞれx、y、z、回転角度をθジョイント間の長さをlとする。なお、各ジョイントには図13に示されるように番号が割り当てられている。
まず、行列Tのz軸成分を設定する。図14を参照して、θiの回転方向が右ねじ回転となる軸方向をziの正方向に設定する。zを設定した後に、zi-1×zi≡xより、x軸を設定する。このとき、外積が0になってx軸成分が求められない場合には、前の座標の原点から共通垂線をとることで軸設定を行う。x軸とz軸を設定すれば、右手座標系よりy軸も設定できる。各ジョイントに座標系を定めることができれば、隣接するジョイント間の座標系の変換行列が求められる。ジョイントTがジョイントTi―1に対してどのような位置にあるのかを考えて変換行列を求める。
図15に図14から得られる関係を示す。図15は、θi―1が回転した際、ジョイントTの成分がどのように変化するかを示す。図14及び図15より、Ti-1からTへの変換行列をAとすると行列Aは以下のようになる。
Figure 0007201984000004
i番目の各ジョイントの行列TはT=Ti―1×Aを満たし、一般的には以下のように表される。
Figure 0007201984000005
ここでMはその座標系の軸成分、X、Y、及びZは座標を表す。
これらの式で表される隣り合う座標系間の変換行列を順番に掛け合わせていくことで求まる行列が、各ジョイントの座標系の軸成分及び3次元座標を表す。
上のようにして求めた各変換行列に、各ジョイントの角度を与えることでそれぞれのジョイントの3次元座標を求めることができる。このように角度を与えてジョイントの座標を推定することは順運動学と呼ばれる。一方、逆にジョイントの座標を与えて各ジョイントの角度を求めることは逆運動学と呼ばれる。本実施の形態では、逆運動学、内積及び外積を用いることで3点(肩、肘、手首)の3次元座標から各ジョイントの角度計算を行う。右腕の変換行列と座標系は、アンドロイドの座標系におけるx-y平面に対して面対称となっている。したがって右腕の各ジョイントに関する変換行列と座標系を求める必要はなく、左腕の座標系を用いることで計算できる。
ここで、肩、肘、手首に対応する座標系はそれぞれT、T及びTとなり、入力座標として3点の3次元座標が与えられることになる。したがって、これらの3次元位置の等式から各ジョイントの角度を計算できる。ただし、人間とアンドロイドとでは上腕及び前腕の長さが異なる。そのため、人間のジェスチャから得た情報をそのままアンドロイドに適用すると、肘の位置が適切に定められず、手の動きが不自然となる。そこで本実施の形態では、肩及び手首の位置は人間のジェスチャデータから得られた座標を用いることとし、肘の位置は人間のジェスチャデータから得た人間の肩、肘及び手首の3次元座標により定められる平面上に定めるという制約条件の下で決定するようにした。以下、その具体的手順を含めてアンドロイドの各ジョイントの角度を計算する処理を実現するプログラムについて図16を参照して説明する。
図16を参照して、このプログラムは、人間のジェスチャから得たジェスチャデータの肩及び手首の3次元座標から、アンドロイドの肘の3次元座標を決定するステップ620と、ジョイントθ及びθの回転角度を求めるステップ622と、以下順番にジョイントθ、θ、θ、θ、θ及びθの回転角度をそれぞれ求めるステップ624、626、628、630、632及び634とを含む。
図17のステップ620を実現するプログラムは、図18に示されるように入力された手首の位置710を中心、アンドロイドの前腕の長さを半径とする球712と、入力された肩の位置714を中心、アンドロイドの上腕の長さを半径とする球716との交円718を求めるステップ680と、この交円718と、入力情報として与えられた肩、肘、手首の3点を通る平面との交点720及び722を求めるステップ682と、この2つの交点720及び722の内、入力された肘の3次元座標位置に近い方の点を肘の位置として、ジェスチャデータの肘座標を置換するステップ684とを含む。
この過程を図示すると図19のようになる。入力された肩、肘及び手首の座標に対応する3次元座標の位置710、750及び714により平面752が定まる。一方、ステップ682の処理により、この平面上に上記した2つの球の2つの交点720及び722が求められる。これら2つの交点720及び722の内、入力された肘の位置750に近い点が交点722であったものとすれば、入力された肘の位置750に代えて交点722の位置をアンドロイドの肘の位置として選択する。すなわち肘の位置750の3次元座標を交点722の3次元座標で置換する。
図16のステップ622以降の処理は、前記した逆運動学により、各ジョイント位置の3次元座標から各ジョイントの回転角度を求めていく処理である。
〔コンピュータによる実現〕
上記した実施の形態に係るジェスチャ生成システム50及び学習部90の各機能部は、それぞれコンピュータハードウェアと、そのハードウェア上でCPU(中央演算処理装置)及びGPU(Graphics Processing Unit)により実行されるプログラムとにより実現できる。図20に上記各装置及びシステムを実現するコンピュータハードウェアの構成を示す。GPUは通常は画像処理を行うために使用されるが、このようにGPUを画像処理ではなく通常の演算処理に使用することも可能である。
図20を参照して、このコンピュータシステム830は、メモリポート852及びDVD(Digital Versatile Disk)ドライブ850を有するコンピュータ840と、キーボード846と、マウス848と、モニタ842とを含む。
コンピュータ840は、メモリポート852及びDVDドライブ850に加えて、CPU856及びGPU858と、CPU856、GPU858、メモリポート852及びDVDドライブ850に接続されたバス866と、ブートプログラム等を記憶する読出専用メモリであるROM860と、バス866に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するコンピュータ読出可能な記憶媒体であるランダムアクセスメモリ(RAM)862と、ハードディスク854とを含む。コンピュータ840はさらに、いずれもバス866に接続され、他端末との通信を可能とするネットワーク868への接続を提供するネットワークインターフェイス(I/F)844と、外部との音声信号の入出力を行うための音声I/F870とを含む。
コンピュータシステム830を上記した実施の形態に係る各装置及びシステムの各機能部として機能させるためのプログラムは、DVDドライブ850又はメモリポート852に装着される、いずれもコンピュータ読出可能な記憶媒体であるDVD872又はリムーバブルメモリ864に記憶され、さらにハードディスク854に転送される。又は、プログラムはネットワーク868を通じてコンピュータ840に送信されハードディスク854に記憶されてもよい。プログラムは実行の際にRAM862にロードされる。DVD872から、リムーバブルメモリ864から又はネットワーク868を介して、直接にRAM862にプログラムをロードしてもよい。また、上記処理に必要なデータは、ハードディスク854、RAM862、CPU856又はGPU858内のレジスタ等の所定のアドレスに記憶され、CPU856又はGPU858により処理され、プログラムにより指定されるアドレスに格納される。上記プログラムの実行に必要なパラメータは、上記プログラムとあわせて例えばハードディスク854に格納されたり、DVDドライブ850及びメモリポート852をそれぞれ介してDVD872又はリムーバブルメモリ864に格納されたりする。又は、ネットワークI/F844を介してネットワーク868に接続された他のコンピュータ又は記憶装置に送信される。
このプログラムは、コンピュータ840を、上記実施の形態に係る各装置及びシステムとして機能させるための複数の命令からなる命令列を含む。上記各装置及びシステムにおける数値演算処理は、CPU856及びGPU858を用いて行う。コンピュータ840にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ840上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ840にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム、装置及び方法を実現するのに必要な基本的機能全てを必ずしも含まなくてよい。このプログラムは、命令の内、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステム、装置又は方法としての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
例えば図2に示す学習データ記憶部100、ジェスチャ機能確率モデル92及びジェスチャクラスタ確率モデル94を記憶する記憶装置等はハードディスク854に記憶される。またWordNet108はネットワーク上に存在しており、図20に示すネットワークI/F844を介してアクセスする。入力される音声信号は音声I/F870によりデジタル化され、ハードディスク854に記憶された後、CPU856及びGPU858により処理される。
<動作>
〔学習データの準備〕
学習データは以下のような手順で準備した。なお、以下に述べる手順は一例であってこれ以外の方法でも目的に照らして適切な手順で学習データを準備してもよい。
図21に、学習データ記憶部100に記憶する学習データを生成するための音声及びジェスチャデータを収集した際の設定150を示す。図21を参照して、設定150では、3人の被験者160、162及び164が会話している間にデータを収録した。具体的には、被験者160、162及び164の音声、映像及びモーションデータを、各被験者が装着したヘッドセットのマイク、RGB-DKINECTセンサ、及び頭部と背中に装着したIMUセンサにより収録した。この設定150でのデータ週力は何回かのセッションに分けて行った。各セッションは20分~30分間で、対話のトピックはランダムなものであった。
各発話はフレーズ単位で分割し、ネイティブスピーカによりテキストに書き起こした。本実施の形態では、4人の被験者による8回のセッションで収録したデータから学習データを作成した。各フレーズには談話機能を表すラベルを人手により付した。ここで使用した談話機能ラベルは表1に記載したとおりである。
ジェスチャ動作に関する3D骨格データ及び2D骨格をKINECTセンサの出力及びKINECTセンサのビデオ映像から抽出した。図22に被験者の映像と、その映像から得られた2D骨格データの例を示す。3D骨格データは条件により補正が必要で細かい部分(例えば指)については測定できない。一方、2D骨格データはより精度が高く、指等に関する情報を得ることもできるが2Dデータであるという制約がある。そこで、これらを統合することで、各被験者の肩、肘、手首、及び手の3D位置を推定する処理を行った。
図3に示すのは、統合後の3D骨格データの各点である。図3を参照して、点0、1、2、3及び6はKINECTの出力から直接得られる。肘及び手首の関節(点4、5、7及び8)についてはKINECTから得た3次元骨格データとKINECTのビデオ映像から得た2次元骨格データとを統合して計算した。具体的には、例えば肘関節の位置を求める場合、まず肩を中心とし被験者の上腕の長さと同じ半径の球上に肘関節の位置の3D候補をいくつか定める。これら候補を2D骨格データの平面に投影し、2D骨格データ上で肘関節の画像の位置に最も近い位置に投影される3D候補を肘関節としその位置を求める。同様にして手首及び手の位置についても推定できる。
このようにデータをキャプチャし、分割し、3Dデータに変換することで、3D空間における被験者の肩、肘、手首及び手の位置のベクトル表現が得られ、このベクトル表現の時系列でジェスチャの動きを表すことができる。この際、被験者による位置のずれを、各被験者の両肩の間の距離、首と胴体との間の距離又は腕の長さを用いて正規化した。
ところで、人間のジェスチャは複雑であって、そのパターンは様々である。そこで、キャプチャされたジェスチャの内のストローク区間に関し、前述したとおりk平均法によるクラスタリングを行った。ジェスチャデータは時系列データであるため、ベクトル間のユークリッド距離によるクラスタリングは不適切である。そこで、入力時系列について非線形な時間軸の伸長及び縮小が可能な動的タイムワーピング(DTW)技術を用いた。この手法は前掲の非特許文献3に基づくものである。
このクラスタリングでは、手の軌跡の距離により各ジェスチャを大、中、小の3クラスに分け、各クラスを20クラスタずつにクラスタリングした。
図23及び図24に、このクラスタリングの結果として得られるストロークの軌跡を視覚化したものを示す。図23において(A)は左手の垂直方向の大クラスの動きを前方から見たときの各クラスタの軌跡を示し、(B)は同じ動きを前方から見たときの軌跡を示す。図24において(A)は右手を置く方向に動かす中クラスの動きを前方から見たときの各クラスタの軌跡を示し、(B)は同じ動きを前方から見たときの軌跡を示す。
なお、ここで得られるクラスタはあくまでこの実施の形態のために収集したジェスチャデータから得られたものである。ジェスチャデータを収集する条件が異なればこのクラスタも異なってくるのは当然である。またクラスタは動きの大きさによって大、中、小の3クラスに分けたがこれには限定されない。2つ又は4つ以上であってもよい。場合によってはこうしたクラス分けをしない事もあり得る。さらに、各クラスでのクラスタ数を全て20個としたがこの個数も限定されない。また各クラスに含まれるクラスタを同数とする必要もない。
さらにこのとき、ストローク開始点での両手の3次元位置に対し、コスト関数をユークリッド距離とした10クラス分類を行った。この結果得られたクラスタを本実施の形態ではジェスチャ始点クラスタと呼んでいる。
〔テキストによるジェスチャ生成部66の学習〕
テキストによるジェスチャ生成部66の学習は以下のようにして行われる。図2に示す単語概念抽出部110が、学習データ記憶部100から各発話のテキストデータ102を読出し、各単語についてWordNet108を参照することにより各単語の概念を抽出する。ジェスチャ機能確率モデル算出部114は、学習データ記憶部100からジェスチャ機能データ104を抽出し、単語概念抽出部110が発話の各単語について出力する、抽出された単語概念ごとに統計的処理を行い、各単語概念に対してどのようなジェスチャ機能が生ずるかに関するジェスチャ機能確率モデル92(P(Gf|Wc))を算出する。前述のようにGfはジェスチャ機能を表し、Wcは抽出された単語概念を表す。
さらに、ジェスチャクラスタリング部112が、学習データ記憶部100に記憶された学習データから動作データ106を抽出し、ジェスチャを複数のクラスタに分類し各クラスタの動作データであるジェスチャクラスタデータを出力する。ここでのクラスタリングでは、各ジェスチャのストローク部分を抽出してストローク部分のみのデータを生成する。このストローク部分の大きさに基づいてストロークを大、中、小の3クラスに分類する。さらに、これらのジェスチャデータを手首のジェスチャ開始時点を原点とするように平行移動し、フレーム長が一定になるように時間方向に対してリサンプリングする。こうして得られたジェスチャデータについて、大、中、小の各クラスについて20クラスタずつにクラスタリングする。この処理によりジェスチャ動作クラスタが得られる。
さらに、ストローク開始時点での、両手の3次元位置について、コスト関数をユークリッド距離とした10クラス分類を行ってジェスチャ始点クラスタを生成する。
ジェスチャクラスタ確率モデル算出部116は、ジェスチャ機能データ104と、ジェスチャクラスタリング部112が出力するジェスチャクラスタデータとを用い、各ジェスチャ機能についてどのようなジェスチャクラスタがどのような確率で生成されるかに関するジェスチャクラスタ確率モデル94(P(Gc|Gf))を算出する。
〔テキストによるジェスチャ生成〕
テキストによるジェスチャ生成部66の単語概念抽出部130は、アンドロイドが発話する各発話のテキストの入力を受けて、その各単語についてWordNet108を参照して単語概念を抽出し出力する。ジェスチャ機能サンプリング部132は、単語概念抽出部130の出力する各単語について、ジェスチャ機能確率モデル算出部114により算出されたジェスチャ機能確率モデル92から、その単語に対応する単語概念に対するジェスチャ機能データをサンプリングし出力する。ジェスチャサンプリング部134は、ジェスチャ機能サンプリング部132によりサンプリングされたジェスチャ機能について、ジェスチャクラスタ確率モデル94からサンプリングすることにより、そのジェスチャ機能に対するジェスチャクラスタの1つを選択し、そのジェスチャクラスタに属するジェスチャをランダムに1つ選択し出力する。ジェスチャサンプリング部134の出力はジェスチャデータの系列、すなわちジェスチャを表す3次元座標データの系列となる。このジェスチャデータの系列が図1に示すジェスチャ統合部70に与えられる。
〔韻律による拍子ジェスチャ生成〕
図7を参照して、韻律による拍子ジェスチャ生成部68の韻律フォーカス推定部280は、アンドロイドが発話する音声の入力を受け、基本周波数に基づいて音声の強調位置である韻律フォーカスを推定しその位置を特定する情報を出力する。
より具体的には、図12に示すように、音声から基本周波数F0を抽出し(ステップ430)、それまでの発話について予め測定されていた基本周波数の平均値を算出する(ステップ432)。そして、音声信号の基本周波数がこの平均値を超える位置を選択する(ステップ434)。その区間から基本周波数がピークとなる位置を検出する(ステップ436)。
さらに、このようにして検出された各ピーク位置について、その後の基本周波数の下降値が3セミトーンより大きい場合(ステップ460でYES)にそのピーク位置を韻律による拍子ジェスチャの生成ポイントに選択する(ステップ462)。こうして、発話中で拍子ジェスチャを生成すべきポイントが全て特定される(ステップ438)。
さらに拍子ジェスチャ生成部282は、韻律フォーカス推定部280の出力を受けて、韻律フォーカスの生じた単語位置の開始位置と同期させて拍子ジェスチャを生成する。この実施の形態では、ステップ438で特定された各ポイントについて、その前の所定時間とその後の所定時間とを拍子ジェスチャの時間期間とする。前の所定時間は後の所定時間より長い方がより動作が自然となる。具体的には、本実施の形態ではステップ438で特定されたポイントの前0.55秒の位置を始点、後ろ0.25秒を終点とする。拍子ジェスチャ生成部282は、こうして定められ始点と終点との間で、予め定められた動き(上下に15度の角度で手を動かす)である拍子ジェスチャデータを生成し、ジェスチャ統合部70に出力する。
なお、本実施の形態では、拍子ジェスチャ区間は合計で0.8秒としたが、これには限定されない。他のジェスチャの継続時間の分布から考えて、拍子ジェスチャ区間は0.7秒から0.9秒程度の期間で設けることが望ましい。
また拍子ジェスチャは、拍子ジェスチャ区間内において、アンドロイドの状態が正立している状態で、手首を15度まで上方に上げ、かつ元の位置まで下げるように生成する。
〔ジェスチャ統合部70によるジェスチャの統合〕
ジェスチャ統合部70は、テキストによるジェスチャ生成部66の出力する、テキストによるジェスチャデータに、拍子ジェスチャ生成部68が出力するジェスチャデータを重畳しアクチュエータ指令値生成部72に与える。
〔ジェスチャのマッピング〕
図17を参照して、アクチュエータ指令値生成部72は、ジェスチャ統合部70からジェスチャデータが与えられると、その各データに対して、手首の位置を中心、アンドロイドの前腕の長さを半径とする球と、アンドロイドの肩の位置を中心、アンドロイドの上腕の長さを半径とする球との交円を求める(ステップ680)。この交円と、入力情報として与えられるジェスチャデータの肩、肘、及び手首の3点を通る平面との2つの交点を求める(ステップ682)。そして、これら2つの交点の内、入力された肘の位置に近い交点をアンドロイドの肘の位置とする(ステップ684)。
図16を参照して、以上のようにしてステップ620でアンドロイドの肘の位置が決定されると、それに基づいて、図16に示すステップ622~634を順番に実行することによって、アンドロイドの腕の各ジョイントの回転角度を算出し、アクチュエータ指令値として出力する。
こうした動作を各時点でのジェスチャデータに対して繰返し実行することでアンドロイドの腕が、音声での発話内容に応じたジェスチャを形成する。
なお、ここでは左腕についてのみ述べたが、同じ方法により右腕に関するジェスチャも生成できることは明らかである。
上記した実施の形態では、単語の概念を抽出するためにWordNetを使用した。しかしこれに限らず、単語に対してその上位概念を特定できるようなリソースであればどのようなものを用いても良い。例えばシソーラス、概念辞書等、コンピュータ読取可能なものであればどのようなものを用いても良い。
また上記実施の形態では、ジェスチャを大、中、小の3クラスに分類し、各クラスについて20ずつのクラスタにクラスタリングした。しかし本発明はそのような実施の形態には限定されない。ジェスチャをあえてその大きさにより分類しなくてもよいし、2、又は4クラス以上のクラスに分類してもよい。また各クラスのクラスタ数も20には限定されず、それより少なくともよいし、多くとも良い。また各クラスのクラスタリング数が一致する必要もない。
同様に、ジェスチャ始点クラスタリングも本実施の形態では10クラスタで行ったが、クラスタ数が10に限定されず、それより小さくても、大きくても良いことは当業者には明らかであろう。
また、上記実施の形態では、アンドロイドの肘位置を決定するにあたって、入力されたジェスチャデータの肩、肘及び手首により決定される平面上にアンドロイドの肘位置が来るような制約を用いた。しかし、アンドロイドの肘位置が厳密にその平面上に乗っていなければならないというわけではない。自然さが失われない範囲で、又はより自然な動きが得られる範囲で、この平面を平行移動させたり、ある軸を中心に回転させたりしてもよいことはいうまでもない。要は、人間のジェスチャから得た肘位置を採用するとアンドロイドの肘位置が決定できないような場合に、アンドロイドのジェスチャが自然に感じられるように、入力データの肩及び手首の位置に対して一定の適切な方法でアンドロイドの肘位置が定められるような方法によって肘位置を決めれば良い。
[第2の実施の形態]
上記第1の実施の形態に係るジェスチャ生成システム50は、テキストによるジェスチャ生成部66と、韻律による拍子ジェスチャ生成部68とを備え、両者の生成するジェスチャを統合してアンドロイドの腕にジェスチャをマッピングしている。しかし本発明はそのような実施の形態には限定されない。テキストによるジェスチャ生成部66のみによるジェスチャ生成を行っても良い。
その場合には、図1に示す拍子ジェスチャ生成部68及びジェスチャ統合部70をシステムから削除し、テキストによるジェスチャ生成部66及びアクチュエータ指令値生成部72のみを用いれば良い。図11のフローチャートでは、ステップ364~ステップ370の処理が不要になる。
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
50 ジェスチャ生成システム
60 テキスト
62 談話機能
64 音声信号
66 テキストによるジェスチャ生成部
68 拍子ジェスチャ生成部
70 ジェスチャ統合部
72 アクチュエータ指令値生成部
90 学習部
92 ジェスチャ機能確率モデル
94 ジェスチャクラスタ確率モデル
100 学習データ記憶部
102 テキストデータ
104 ジェスチャ機能データ
106 動作データ
108 WordNet
110、130 単語概念抽出部
112 ジェスチャクラスタリング部
114 ジェスチャ機能確率モデル算出部
116 ジェスチャクラスタ確率モデル算出部
132 ジェスチャ機能サンプリング部
134 ジェスチャサンプリング部
160、162、164 被験者
200、250 ジェスチャフレーズ
210、222、260、264 レスト区間
212 準備区間
214 ストローク区間
216 ホールド区間
220 終了区間
230、232 拍子区間
262 アダプタ区間
280 韻律フォーカス推定部
282 拍子ジェスチャ生成部
600 アンドロイドの腕
710 手首の位置
714 肩の位置
712、716 球
718 交円
720、722 交点

Claims (15)

  1. 単語が発話されたときに生ずるジェスチャ機能の確率を規定するジェスチャ機能確率モデルを記憶するためのジェスチャ機能確率モデル記憶手段を含み、
    前記ジェスチャ機能は複数個に分類され、
    さらに、前記複数個のジェスチャ機能に対応して人間の腕のジェスチャが生ずる確率を、人間の腕の動きの種類に応じた複数個のジェスチャクラスタについてそれぞれ規定するジェスチャクラスタ確率モデルを記憶するためのジェスチャクラスタ確率モデル記憶手段を含むアンドロイドのジェスチャ生成装置であって、
    前記複数個のジェスチャクラスタの各々は複数個のジェスチャを含み、
    前記アンドロイドのジェスチャ生成装置はさらに、
    入力された、前記アンドロイドがこれから発話する発話テキストの各単語について、当該単語に応じて前記ジェスチャ機能確率モデルからサンプリングすることにより前記複数個のジェスチャ機能のいずれかを選択するためのジェスチャ機能選択手段と、
    前記ジェスチャ機能選択手段により選択された前記ジェスチャ機能に応じて前記ジェスチャクラスタ確率モデルからサンプリングすることにより、前記複数個のジェスチャクラスタのいずれかを選択し、選択されたジェスチャクラスタに属するジェスチャのいずれか1つを選択するためのジェスチャ選択手段と、
    前記ジェスチャ選択手段により選択されたジェスチャをアンドロイドの腕のジェスチャにマッピングするためのマッピング手段とを含む、アンドロイドのジェスチャ生成装置。
  2. さらに、前記発話テキストに対応して、前記アンドロイドがこれから発話する音声信号の入力を受け、当該音声信号が表す音声の韻律に基づいて発話の強調位置を検出するための強調位置検出手段と、
    前記強調位置を含む所定の時間期間において、アンドロイドの拍子ジェスチャを生成する第1の拍子ジェスチャ生成手段を含み、
    前記マッピング手段は、前記ジェスチャ選択手段により選択された腕のジェスチャと前記第1の拍子ジェスチャ生成手段の生成した拍子ジェスチャとを統合したジェスチャを前記アンドロイドの腕のジェスチャにマッピングするための統合ジェスチャマッピング手段を含む、請求項1に記載のアンドロイドのジェスチャ生成装置。
  3. 前記強調位置検出手段は、
    前記音声信号の入力を受け、前記音声信号の基本周波数のピークであって、前記アンドロイドにより行われた発話の音声の基本周波数の平均値を超えるピークを検出するためのピーク検出手段と、
    前記ピーク検出手段の検出したピーク位置の内、直後に連続する基本周波数の下降値が3セミトーン以上であるピーク位置を前記強調位置として検出するための手段とを含む、請求項2に記載のアンドロイドのジェスチャ生成装置。
  4. 前記第1の拍子ジェスチャ生成手段は、前記強調位置を含む0.7秒~0.9秒の時間期間において、前記アンドロイドの前記拍子ジェスチャを生成する第2の拍子ジェスチャ生成手段を含む、請求項2又は請求項3に記載のアンドロイドのジェスチャ生成装置。
  5. 前記第2の拍子ジェスチャ生成手段が前記アンドロイドの前記拍子ジェスチャを生成する前記時間期間は、前記強調位置より第1の期間だけ前の発話位置から、前記強調位置より第2の期間だけ後の発話位置までの間であり、
    前記第1の期間は前記第2の期間より長い、請求項4に記載のアンドロイドのジェスチャ生成装置。
  6. 前記第1の期間は0.55秒であり、前記第2の期間は0.25秒である、請求項5に記載のアンドロイドのジェスチャ生成装置。
  7. 前記ジェスチャ機能確率モデルは、単語が表す概念ごとに、当該概念を表す単語が発話されたときに生ずるジェスチャ機能の確率を規定しており、
    前記ジェスチャ機能選択手段は、
    前記発話テキストの内、特定の品詞の単語の各々について、その概念を抽出するための概念抽出手段と、
    前記概念抽出手段により抽出された概念に応じて前記ジェスチャ機能確率モデルからサンプリングすることにより前記ジェスチャ機能のいずれかを選択するための手段とを含む、請求項1~請求項のいずれかに記載のアンドロイドのジェスチャ生成装置。
  8. 前記特定の品詞は、名詞、動詞、副詞及び形容詞である、請求項に記載のアンドロイドのジェスチャ生成装置。
  9. 各前記ジェスチャは、ジェスチャ開始前の位置からジェスチャの開始位置まで腕を移動させるための準備区間、ジェスチャ動作を行うストローク区間及び前記ストローク区間の後に腕をジェスチャ終了位置まで戻す終了区間に分割され、さらにジェスチャ動作の後に腕を静止させた状態を保つホールド区間を含むことがあり、
    前記マッピング手段は、前記ジェスチャ選択手段がジェスチャを選択したときの単語の開始位置が前記ストローク区間の開始位置に一致するように前記ストローク区間を決定するストローク区間決定手段と、
    前記ストローク区間決定手段により決定された前記ストローク区間の前に前記準備区間を設定するための準備区間設定手段と、
    前記ストローク区間の後に前記ホールド区間を設定するホールド区間設定手段と、
    前記ホールド区間の間に次のジェスチャが設定されているか否かにしたがって、当該次のジェスチャの前記準備区間の開始位置まで腕を移動させる区間を設ける処理と、前記ホールド区間の終了後に前記終了区間を設定する処理とを選択的に実行するための手段と、
    前記選択されたジェスチャにしたがって、前記ストローク区間、前記準備区間、前記ホールド区間、及び前記終了区間における前記アンドロイドの腕に対し各区間について前記選択されたジェスチャの動作をマッピングするための手段と含む、請求項1~請求項のいずれかに記載のアンドロイドのジェスチャ生成装置。
  10. 前記マッピング手段が前記アンドロイドの腕の動作をマッピングする際に、前記ジェスチャのデータにより定められるアンドロイドの肘の位置座標を、前記ジェスチャのデータにより定められる肩、肘及び手首の位置、並びに前記アンドロイドの上腕及び前腕の長さにより定められる座標で置換するための肘座標置換手段をさらに含む、請求項に記載のアンドロイドのジェスチャ生成装置。
  11. 前記肘座標置換手段は、前記ジェスチャのデータにより定められる肩及び手首の位置を中心とし、前記アンドロイドの上腕の長さ及び前腕の長さを半径とする球の交円と、前記ジェスチャのデータにより定められる肩、肘及び手首の3次元座標との関係で定められる平面との2交点の3次元座標を求めるための手段と、
    前記2交点の内、その3次元座標が前記ジェスチャのデータにより定められる肘の位置に近い方を前記アンドロイドの肘の座標として選択し、前記ジェスチャのデータにより定められる肘の座標と置換するための手段とを含む、請求項1に記載のアンドロイドのジェスチャ生成装置。
  12. 前記ジェスチャのデータにより定められる肩、肘及び手首の3次元座標との関係で定められる前記平面は、前記ジェスチャのデータにより定められる肩、肘及び手首の各点を通る平面である、請求項1に記載のアンドロイドのジェスチャ生成装置。
  13. さらに、アンドロイドの各発話に関する談話機能を指定する情報を受け、当該情報により指定された談話機能が予め定める談話機能であるときには、前記ジェスチャ選択手段によるジェスチャ選択を制限するためのジェスチャ制限手段を含む、請求項1~請求項1のいずれかに記載のアンドロイドのジェスチャ生成装置。
  14. 前記予め定める談話機能は、相槌的発話である、請求項1に記載のアンドロイドのジェスチャ生成装置。
  15. コンピュータを、請求項1~請求項1のいずれかに記載のジェスチャ生成装置として機能させる、コンピュータプログラム。
JP2018129916A 2018-07-09 2018-07-09 アンドロイドのジェスチャ生成装置及びコンピュータプログラム Active JP7201984B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018129916A JP7201984B2 (ja) 2018-07-09 2018-07-09 アンドロイドのジェスチャ生成装置及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018129916A JP7201984B2 (ja) 2018-07-09 2018-07-09 アンドロイドのジェスチャ生成装置及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2020006482A JP2020006482A (ja) 2020-01-16
JP7201984B2 true JP7201984B2 (ja) 2023-01-11

Family

ID=69150107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018129916A Active JP7201984B2 (ja) 2018-07-09 2018-07-09 アンドロイドのジェスチャ生成装置及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP7201984B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023090419A1 (ja) * 2021-11-19 2023-05-25 凸版印刷株式会社 コンテンツ生成装置、コンテンツ生成方法、及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011167820A (ja) 2010-02-22 2011-09-01 Advanced Telecommunication Research Institute International 頭部動作制御情報生成装置
JP2013119155A (ja) 2011-12-09 2013-06-17 Advanced Telecommunication Research Institute International シナリオ生成装置およびシナリオ生成方法
JP2013171131A (ja) 2012-02-20 2013-09-02 Jvc Kenwood Corp 報知音検出装置、雑音信号抑制装置、報知音検出方法、雑音信号抑制方法
JP2014504959A (ja) 2011-01-26 2014-02-27 本田技研工業株式会社 人間型ロボットのジェスチャと音声の同期
US20170148434A1 (en) 2014-04-17 2017-05-25 Softbank Robotics Europe Method of performing multi-modal dialogue between a humanoid robot and user, computer program product and humanoid robot for implementing said method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011167820A (ja) 2010-02-22 2011-09-01 Advanced Telecommunication Research Institute International 頭部動作制御情報生成装置
JP2014504959A (ja) 2011-01-26 2014-02-27 本田技研工業株式会社 人間型ロボットのジェスチャと音声の同期
JP2013119155A (ja) 2011-12-09 2013-06-17 Advanced Telecommunication Research Institute International シナリオ生成装置およびシナリオ生成方法
JP2013171131A (ja) 2012-02-20 2013-09-02 Jvc Kenwood Corp 報知音検出装置、雑音信号抑制装置、報知音検出方法、雑音信号抑制方法
US20170148434A1 (en) 2014-04-17 2017-05-25 Softbank Robotics Europe Method of performing multi-modal dialogue between a humanoid robot and user, computer program product and humanoid robot for implementing said method

Also Published As

Publication number Publication date
JP2020006482A (ja) 2020-01-16

Similar Documents

Publication Publication Date Title
Lee et al. MMDAgent—A fully open-source toolkit for voice interaction systems
WO2022048403A1 (zh) 基于虚拟角色的多模态交互方法、装置及系统、存储介质、终端
CN106653052B (zh) 虚拟人脸动画的生成方法及装置
AU2018204246B2 (en) Method of performing multi-modal dialogue between a humanoid robot and user, computer program product and humanoid robot for implementing said method
US8224652B2 (en) Speech and text driven HMM-based body animation synthesis
JP5967838B2 (ja) 人間型ロボットのジェスチャと音声の同期
Ishi et al. A speech-driven hand gesture generation method and evaluation in android robots
US20020024519A1 (en) System and method for producing three-dimensional moving picture authoring tool supporting synthesis of motion, facial expression, lip synchronizing and lip synchronized voice of three-dimensional character
Kennaway Experience with and requirements for a gesture description language for synthetic animation
JP7280512B2 (ja) 非言語情報生成装置及びプログラム
KR20120130627A (ko) 아바타를 이용한 애니메이션 생성 장치 및 방법
JP5913394B2 (ja) 音声同期処理装置、音声同期処理プログラム、音声同期処理方法及び音声同期システム
JP7157340B2 (ja) 非言語情報生成装置、非言語情報生成モデル学習装置、方法、及びプログラム
JP7212284B2 (ja) 非言語情報生成装置、方法、及びプログラム
KR20110081364A (ko) 캐릭터의 발화와 감정표현 제공 시스템 및 방법
JP7201984B2 (ja) アンドロイドのジェスチャ生成装置及びコンピュータプログラム
Pausch et al. Tailor: creating custom user interfaces based on gesture
Ding et al. Lip animation synthesis: a unified framework for speaking and laughing virtual agent.
Gao et al. HandTalker II: a Chinese sign language recognition and synthesis system
JPH11184370A (ja) 手話情報提示装置
Vidalón et al. Continuous sign recognition of brazilian sign language in a healthcare setting
Argyropoulos et al. Multimodal user interface for the communication of the disabled
Karpov et al. Two similar different speech and gestures multimodal interfaces
Karpov et al. Multimodal system for hands-free PC control
Yang et al. A multimodal approach of generating 3D human-like talking agent

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220921

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221216

R150 Certificate of patent or registration of utility model

Ref document number: 7201984

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150