JP2023139731A - Learning method and learning apparatus for gesture generation model - Google Patents
Learning method and learning apparatus for gesture generation model Download PDFInfo
- Publication number
- JP2023139731A JP2023139731A JP2022045417A JP2022045417A JP2023139731A JP 2023139731 A JP2023139731 A JP 2023139731A JP 2022045417 A JP2022045417 A JP 2022045417A JP 2022045417 A JP2022045417 A JP 2022045417A JP 2023139731 A JP2023139731 A JP 2023139731A
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- gesture
- neural network
- learning
- input
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 239000011159 matrix material Substances 0.000 claims abstract description 197
- 239000013598 vector Substances 0.000 claims abstract description 126
- 238000011156 evaluation Methods 0.000 claims abstract description 40
- 238000012549 training Methods 0.000 claims abstract description 26
- 238000013528 artificial neural network Methods 0.000 claims description 49
- 238000009826 distribution Methods 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 27
- 238000013500 data storage Methods 0.000 claims description 19
- 238000013527 convolutional neural network Methods 0.000 claims description 2
- 230000033001 locomotion Effects 0.000 description 20
- 230000005236 sound signal Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000002474 experimental method Methods 0.000 description 14
- 238000000605 extraction Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000000540 analysis of variance Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 241000976806 Genea <ascomycete fungus> Species 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
Description
特許法第30条第2項適用申請有り 令和3年7月6日にウェブ上で公開された23rd ACM International Conference on Multimodal InteractionのGENEA WORKSHOP 2021にて、”Probabilistic Human-like Gesture Synthesis from Speech using GRU-based WGAN”と題する論文に発表Application for application of Article 30,
この発明は、音声から発話時のジェスチャを生成するジェスチャ生成モデルの学習方法、学習装置、及びジェスチャ生成モデルに関する The present invention relates to a learning method, a learning device, and a gesture generation model for a gesture generation model that generates speech gestures from voice.
人が人型ロボット及びCG(Computer Graphics)アバターなど(以下、単に「ロボット」という。)と対話するときには、できるだけ人が違和感を持たないようすることが望ましい。そうした場面においては、発話内容及び発話の態様はもちろんだが、発話時のロボットのジェスチャも大きな意味を持つ。 When a person interacts with a humanoid robot, a computer graphics (CG) avatar, or the like (hereinafter simply referred to as a "robot"), it is desirable to prevent the person from feeling uncomfortable as much as possible. In such situations, not only the content of the utterance and the form of the utterance, but also the robot's gestures during the utterance have great significance.
従来、発話内容にあわせてロボットのジェスチャを生成することが研究されてきた。従来の手法の代表的なものは、発話内容をジェスチャに1対1にマッピングする方法である。しかし、そうした手法においては、発話内容が同一ならばジェスチャも同一になる。実際に人場合、同じ発話内容でも同じジェスチャをすることは稀である。そのため、このようなマッピングを採用するとロボットのジェスチャに相手が違和感を持つことになる。 Conventionally, research has been conducted on generating robot gestures according to the content of speech. A typical conventional method is a method of one-to-one mapping of speech content to gestures. However, in such a method, if the content of the utterance is the same, the gestures will also be the same. In reality, it is rare for people to make the same gesture even with the same utterance content. Therefore, if such mapping is adopted, the other party will feel uncomfortable with the robot's gestures.
一方、特許文献1には、発話内容に対して予め準備した文法的ルールを適用し、いくつかのジェスチャ候補を選択することが開示されている。特許文献1においては、これらのジェスチャ候補に対して予め割り当てられていた重みの分布を使用し、指定されたパラメータに対してそれらの重みの分布から得られる値比較に基づいてジェスチャ候補の1つを確率的に選択する。さらに選択されたジェスチャ候補にしたがってロボットを動作させるときに、制御ポイントの軌跡に乱数に基づく値を加えることにより、ロボットの動作に変化を与える。
On the other hand,
特許文献1によれば、基本となるジェスチャ候補が確率的に選択される。したがって、発話内容が同じでも異なるジェスチャが選択されることがある。その上、最終的に乱数に基づいてロボットの動作に変化を与えるので、そのロボットのジェスチャが人間には自然に見えるという効果があるとされている。
According to
特許文献1に開示の技術によれば、発話内容が同じでもロボットのジェスチャが異なることになる。しかし、特許文献1に開示の技術は、発話内容が同じでもロボットのジェスチャが異なるため自然に感じる、というにとどまり、ジェスチャそのものが人間のジェスチャと比較して自然かどうかについての開示はない。発話内容に対してジェスチャにランダム性をもたせたとしても、ジェスチャそのものが不自然ならば意味はない。
According to the technology disclosed in
したがってこの発明は、発話の内容にふさわしいジェスチャを、自然に使い分けることができるようにするためのジェスチャ生成モデルの学習方法及び学習装置を提供することを目的とする。 SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide a learning method and a learning device for a gesture generation model that allows a user to naturally select and use gestures appropriate to the content of an utterance.
この発明の第1の局面に係るジェスチャ生成モデルの学習方法は、発話音声から発話時のジェスチャを生成するためのジェスチャ生成モデルの学習方法であって、コンピュータが、各々が所定時間長で所定の重複期間を持つ複数のセグメントに分割された学習データを準備するステップを含み、複数のセグメントの各々は、一定の長さの複数のフレームを含み、複数のセグメントの各々は、当該セグメントの含む各フレームにおける人物の発話音声から得られた所定の音響特徴量を成分とする音声行列と、当該セグメントの含む各フレームにおける当該人物のポーズを表すポーズベクトルからなるジェスチャ行列とを含み、コンピュータが、セグメントの各々について、当該セグメントに含まれる音声行列と、所定の分布からサンプリングされたノイズを成分とするノイズ行列と、直前のセグメントのジェスチャ行列の一部を構成する所定個数のポーズベクトルからなるシードポーズベクトルとを入力とし、音声行列、ノイズ行列、及びシードポーズベクトルに基づいて、入力された音声行列に対応するジェスチャ行列を生成し出力するための第1のニューラルネットワークを準備するステップと、コンピュータが、第1の入力及び第2の入力を持ち、第1の入力に第1のニューラルネットワークに入力された音声行列を受け、第2の入力に受けたジェスチャ行列の、入力された音声行列に対応するジェスチャ行列としての評価値を出力するための第2のニューラルネットワークを準備するステップと、コンピュータが、第1のニューラルネットワークの出力するジェスチャ行列と学習データのジェスチャ行列とを切り替えて、音声行列に対するジェスチャ行列として評価する敵対的学習により、第1のニューラルネットワークと第2のニューラルネットワークとを訓練するステップとを含む。 A learning method for a gesture generation model according to a first aspect of the present invention is a learning method for a gesture generation model for generating speech gestures from speech sounds, the method comprising: the step of preparing training data divided into a plurality of segments having overlapping periods, each of the plurality of segments including a plurality of frames of a constant length, and each of the plurality of segments including A computer generates a segment that includes an audio matrix whose components are predetermined acoustic features obtained from speech uttered by a person in a frame, and a gesture matrix consisting of a pose vector representing the pose of the person in each frame included in the segment. For each segment, a seed pose consisting of a voice matrix included in the segment, a noise matrix whose components are noise sampled from a predetermined distribution, and a predetermined number of pose vectors forming part of the gesture matrix of the immediately preceding segment. preparing a first neural network for generating and outputting a gesture matrix corresponding to the input speech matrix based on the speech matrix, the noise matrix, and the seed pose vector; , has a first input and a second input, receives a speech matrix input to the first neural network as the first input, and corresponds to the input speech matrix of the gesture matrix received as the second input. a step of preparing a second neural network for outputting an evaluation value as a gesture matrix for the voice matrix; The method includes training the first neural network and the second neural network by adversarial learning evaluated as a gesture matrix.
好ましくは、敵対的学習における損失関数は、入力された音声行列に対する、第1のニューラルネットワークによる出力の条件付分布と、第2のニューラルネットワークによる正解データの条件付分布との相違を表す第1の損失関数と、第2のニューラルネットワークにおける、損失関数の勾配ペナルティと、直前の学習データのジェスチャ行列の末尾の所定個数のポーズベクトルと、第1のニューラルネットワークの出力するジェスチャ行列の先頭の所定個数のポーズベクトルとの相違を表す第3の損失関数とを含む。 Preferably, the loss function in adversarial learning is a first neural network that represents the difference between the conditional distribution of output from the first neural network and the conditional distribution of correct data from the second neural network with respect to the input speech matrix. a loss function, a gradient penalty of the loss function in the second neural network, a predetermined number of pose vectors at the end of the gesture matrix of the immediately preceding learning data, and a predetermined number at the beginning of the gesture matrix output from the first neural network. and a third loss function representing the difference from the number of pose vectors.
より好ましくは、所定時間長は1秒以上で2秒以下の範囲から選択される。 More preferably, the predetermined time length is selected from a range of 1 second or more and 2 seconds or less.
さらに好ましくは、所定時間長は1.3秒以上で1.7秒以下の範囲から選択される。 More preferably, the predetermined time length is selected from a range of 1.3 seconds or more and 1.7 seconds or less.
好ましくは、所定の重複期間は10ミリ秒以上で30ミリ秒以下の範囲から選択される。 Preferably, the predetermined overlap period is selected from a range of 10 ms or more and 30 ms or less.
より好ましくは、所定の重複期間は15ミリ秒以上で25ミリ秒以下の範囲から選択される。 More preferably, the predetermined overlap period is selected from a range of 15 milliseconds or more and 25 milliseconds or less.
さらに好ましくは、所定の音響特徴量は、F0又はパワー若しくはその双方を含む。 More preferably, the predetermined acoustic feature amount includes F0 or power or both.
好ましくは、敵対的学習は、unrolled-GAN(Generative Adversarial Network)により実行される。 Preferably, the adversarial learning is performed by an unrolled-GAN (Generative Adversarial Network).
より好ましくは、第2のニューラルネットワークは、第2の入力に受けたジェスチャ行列と、第1のニューラルネットワークに入力された音声行列とを入力として受け、第2の入力に受けたジェスチャ行列の、音声行列に対応するジェスチャとしての評価値を表すスカラーを出力する畳み込みニューラルネットワークを含む。 More preferably, the second neural network receives as input a gesture matrix received at the second input and a speech matrix inputted to the first neural network, and the second neural network receives as input the gesture matrix received at the second input. It includes a convolutional neural network that outputs a scalar representing an evaluation value as a gesture corresponding to a speech matrix.
さらに好ましくは、第1のニューラルネットワークは、学習データ中の音声行列と、ノイズ行列と、シードポーズベクトルとを連結した行列を入力とし、第1のニューラルネットワークに入力された音声行列に対応するジェスチャ行列を出力するためのbi-GRU(Gated Recurrent Unit)ネットワークを含む。 More preferably, the first neural network receives as input a matrix obtained by concatenating a speech matrix, a noise matrix, and a seed pose vector in the learning data, and generates gestures corresponding to the speech matrix input to the first neural network. It includes a bi-GRU (Gated Recurrent Unit) network for outputting matrices.
この発明の第2の局面に係るジェスチャ生成モデルの学習装置は、発話音声から発話時の人のジェスチャを生成するためのジェスチャ生成モデルの学習装置であって、各々が所定時間長で所定の重複期間を持つ複数のセグメントに分割された学習データを記憶する学習データ記憶装置を含み、複数のセグメントの各々は、一定の長さの複数のフレームを含み、複数のセグメントの各々は、当該セグメントに含まれる各フレームにおける人物の発話音声から得られた所定の音響特徴量を成分とする音声行列と、当該フレームにおける当該人物のジェスチャを表すジェスチャ行列とを含み、複数のセグメントの各々について、当該セグメントに含まれる音声行列と、所定の分布からサンプリングされたノイズ行列と、所定のシードポーズベクトルとを入力とし、音声行列、ノイズ行列、及びシードポーズベクトルに基づいて、入力された音声行列に対応するジェスチャ行列を生成し出力するための第1のニューラルネットワークと、第1のニューラルネットワークの出力するジェスチャ行列と、第1のニューラルネットワークに入力された音声行列とを受け、第1のニューラルネットワークの出力するジェスチャ行列の、入力された音声行列に対する評価値を出力するための第2のニューラルネットワークと、第1のニューラルネットワークと第2のニューラルネットワークとを、学習データからのジェスチャ行列と、第1のニューラルネットワークの出力するジェスチャ行列とを切り替えて用いる敵対的学習により訓練する敵対的学習手段とを含む。 A learning device for a gesture generation model according to a second aspect of the present invention is a learning device for a gesture generation model for generating human gestures at the time of speech from speech sounds, each of which has a predetermined overlap for a predetermined length of time. a learning data storage device that stores learning data divided into a plurality of segments having a period, each of the plurality of segments including a plurality of frames of a certain length, and each of the plurality of segments For each of the plurality of segments, the segment includes an audio matrix whose components are predetermined acoustic features obtained from the speech uttered by the person in each included frame, and a gesture matrix representing the gesture of the person in the frame. , a noise matrix sampled from a predetermined distribution, and a predetermined seed pose vector. a first neural network for generating and outputting a gesture matrix; receiving a gesture matrix output from the first neural network; and a speech matrix input to the first neural network; A second neural network for outputting an evaluation value of a gesture matrix to be inputted with respect to an input speech matrix, a first neural network, and a second neural network are connected to a gesture matrix from learning data, and adversarial learning means that performs training by adversarial learning that switches between the gesture matrix output from the neural network and the gesture matrix output from the neural network.
この発明の上記及び他の目的、特徴、局面及び利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。 The above and other objects, features, aspects and advantages of the present invention will become apparent from the following detailed description of the invention, understood in conjunction with the accompanying drawings.
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。 In the following description and drawings, identical parts are provided with the same reference numerals. Therefore, detailed description thereof will not be repeated.
第1 第1実施形態
A.構成
ロボットの制御において、ロボットの発話に応じてロボットの動作を逐一プログラムなどにより記述するという方法もあり得る。しかしそのような方法ではロボットの動作に限界があることは明らかである。また記述されたプログラムにより得られるジェスチャを自然なものにするためには、実験とプログラムとを繰り返す必要もある。発話の内容も無限に存在する。したがって、実際上、そのように発話に応じてロボットの動作を記述することは不可能である。
1 First embodiment A. Configuration In controlling a robot, there may be a method in which the robot's actions are described step by step in a program in response to the robot's utterances. However, it is clear that there are limits to how the robot can operate with such a method. Furthermore, in order to make the gestures obtained by a written program natural, it is necessary to repeat experiments and programs. There is also an infinite number of utterance contents. Therefore, in practice, it is impossible to describe the robot's actions in response to utterances.
そうした問題を解決する有力な方法は、図1に示すように、ロボットの発話に対応する音声信号50から、その発話に対応するジェスチャ52を生成するモデル54を得ることである。どのような音声信号に対しても自然なジェスチャが得られるようなモデル54が得られれば、苦労してロボットの動作を記述する必要はない。以下に説明する本実施の形態に係るジェスチャ生成モデルの学習方法は、そのための方法である。
A promising method for solving such problems is to obtain a
a.全体構成
図2に、この実施形態に係るジェスチャ生成モデルの学習方法の全体を概略的に示す。図2を参照して、このジェスチャ生成モデルの学習方法を実現する学習システム100は、学習データを記憶するための学習データ記憶装置110を含む。学習データ記憶装置110には、複数の学習データセットが記憶されている。各学習データセットは、人の発話から得た音声信号を含む。音声信号はそれぞれ一定長のセグメントに分割され、さらに複数のフレームに分割される。そして音声特徴量抽出部116が、各フレームから10ミリ秒ごとに音声の韻律情報であるF0及びパワーを抽出しベクトル化する。このベクトルをこの明細書においては音声ベクトルと呼ぶ。音声ベクトルは2次元のベクトルである。
a. Overall Configuration FIG. 2 schematically shows the entire learning method of the gesture generation model according to this embodiment. Referring to FIG. 2, a
この実施形態においては、1つのセグメントは1.5秒であり、隣接するセグメントとの間の0.2秒の重複部分を含む。すなわち1セグメントは実質的に1.7秒の長さである。この実施形態においては、1セグメントは34フレームに分割される。1フレームは0.05秒に相当する。すなわち、1セグメント分の音声信号は2次元の音声ベクトルを34個並べたものとなり、34行2列の行列を形成する。この行列をこの明細書においては音声行列と呼ぶ。 In this embodiment, one segment is 1.5 seconds with an overlap of 0.2 seconds between adjacent segments. That is, one segment is substantially 1.7 seconds long. In this embodiment, one segment is divided into 34 frames. One frame corresponds to 0.05 seconds. That is, one segment's worth of audio signals is made up of 34 two-dimensional audio vectors, forming a matrix of 34 rows and 2 columns. This matrix is referred to as a speech matrix in this specification.
各セグメントは、各フレームに対応するポーズベクトル列も含む。1つのポーズベクトルは、対応するフレームにおける人の姿勢から得た、その上半身13箇所の関節の回転角度を成分とするベクトルである。各関節の回転角度は3次元であるため、1フレームあたりのポーズベクトルは3×13個=39個の成分を含む。1セグメントに含まれるポーズベクトルは34個であるため、1セグメント分のポーズ情報は34行×39列の行列となる。連続するポーズによりジェスチャが生成される。したがって、この行列をこの明細書においてはジェスチャ行列と呼ぶ。またこのジェスチャ行列に基づいて生成される1セグメント分のジェスチャをジェスチャチャンクと呼ぶ。 Each segment also includes a sequence of pose vectors corresponding to each frame. One pose vector is a vector whose components are rotation angles of 13 joints in the upper body obtained from the person's posture in the corresponding frame. Since the rotation angle of each joint is three-dimensional, the pose vector per frame includes 3×13=39 components. Since there are 34 pose vectors included in one segment, pose information for one segment is a matrix of 34 rows and 39 columns. Gestures are generated by consecutive poses. Therefore, this matrix is referred to as a gesture matrix in this specification. Furthermore, one segment of gestures generated based on this gesture matrix is called a gesture chunk.
ジェスチャ行列を得るための関節を上半身に限定したのは、人が話をするときのジェスチャがほとんど上半身に集中するためである。また、セグメントの長さについて、重複分を除き1.5秒と短くしたのは、長いジェスチャも短いジェスチャをつないだものと考えられること、及び生成するジェスチャの長さをあまり長くすると、ジェスチャ生成が難しくなると考えられたためである。後述するようにこの実施形態においては、1.5秒という短いセグメントごとにジェスチャ行列を生成し、さらに隣接するセグメントの接続が滑らかとなるようにジェスチャ生成モデルの学習を行う。 The reason why we limited the joints for obtaining the gesture matrix to the upper body is because most of the gestures that people make when speaking are concentrated in the upper body. In addition, the reason why we shortened the segment length to 1.5 seconds excluding overlaps was because long gestures can be considered to be a series of short gestures, and if the length of the generated gesture is too long, the gesture This is because it was thought that it would be difficult. As will be described later, in this embodiment, a gesture matrix is generated for each short segment of 1.5 seconds, and the gesture generation model is further trained so that the connections between adjacent segments are smooth.
なお、上に述べた理由から、セグメント長は1秒以上で2秒以下、できれば1.3秒以上で1.7秒以下の範囲から選択することが好ましい。また重複期間についてもあまり長いと好ましくなく、また短いとジェスチャの遷移が滑らかにならないため、例えば10ミリ秒以上で30ミリ秒以下、できれば15ミリ秒以上で25ミリ秒以下の範囲から選択することが好ましい。 For the reasons stated above, the segment length is preferably selected from a range of 1 second or more and 2 seconds or less, preferably 1.3 seconds or more and 1.7 seconds or less. Also, if the overlapping period is too long, it is not desirable, and if it is short, the gesture transition will not be smooth. Therefore, for example, select from a range of 10 ms or more and 30 ms or less, preferably 15 ms or more and 25 ms or less. is preferred.
学習システム100はさらに、音声特徴量抽出部116から音声特徴量を成分として持つ音声行列128を、また所定の分布からサンプリングしたランダムなノイズを成分とするノイズ行列132を入力として受け、音声から予測したジェスチャを表す情報であるジェスチャ行列126を出力するよう訓練される生成器118を含む。この実施形態においては、ノイズは標準正規分布からサンプリングされる。またノイズ行列132を構成するノイズベクトルは各フレームに対応して生成される20次元のベクトルである。したがってノイズ行列132は34行×20列の行列である。
The
学習システム100はさらに、入力されるジェスチャ行列が、実際のデータのポーズベクトル112から構成されるジェスチャ行列なのか、生成器118がランダムノイズから生成した偽のジェスチャ行列なのかを識別し、生成器118が学習したポーズベクトルの分布と実際のポーズベクトルの分布との距離を表す評価値130を出力するように訓練される識別器120と、この訓練のために、生成器118の出力するジェスチャ行列126と、学習データ記憶装置110に記憶された実際のポーズベクトル112から生成された本物のジェスチャ行列124とのいずれかを選択して識別器120に与えるための選択器122とを含む。
The
b.ジェスチャモデル学習装置
図3に、この実施形態に係る学習システム100の構成を示す。図3を参照して、学習システム100は、発話音声をキャプチャし音声信号に変換するための音声キャプチャ部166と、音声キャプチャ部166の出力する音声信号をフレーム化し、各フレームから音声信号のF0及びパワーを算出し音声ベクトルとして出力するためのF0・パワー抽出部168と、発話者の上半身の動きから所定の部位の動きをキャプチャし、モーションキャプチャデータを出力するためのモーションキャプチャ部162と、1.5秒あたり34フレームの割合をもって、上半身の12箇所の関節の回転角度を算出してポーズベクトルを出力するためのポーズベクトル生成部164と、F0・パワー抽出部168の出力する音声ベクトルとポーズベクトル生成部164の出力する同じフレームのポーズベクトルと対応付けて学習データを生成するための学習データ生成装置170とを含む。
b. Gesture Model Learning Device FIG. 3 shows the configuration of a
学習のために、発話の音声信号とその発話に対するジェスチャデータとの組が複数個準備されている。その各組に対して上記した処理が実行され、複数組の学習データが得られる。学習システム100はさらに、このようにして得られた複数組の学習データを記憶するための、図2に示した学習データ記憶装置110を含む。
For learning, a plurality of pairs of audio signals of utterances and gesture data for the utterances are prepared. The above-described process is executed for each set, and multiple sets of learning data are obtained. The
学習システム100はさらに、図2に示す生成器118、識別器120及び選択器122を含み、学習データ記憶装置110に記憶された学習データを用いて生成器118及び識別器120を敵対的学習により訓練するためのジェスチャモデル学習装置150を含む。ジェスチャモデル学習装置150による学習が完了した後の生成器118が、ジェスチャ生成に用いられる。
The
生成器118は、第1から第3の3つの入力を持ち、第1から第3の入力において受けたデータから、音声信号114に対応するジェスチャ行列126を生成し出力するためのものである。第1の入力には学習データ記憶装置110からの音声信号114(音声行列)が与えられる。第2の入力にはノイズ行列132が与えられる。ジェスチャモデル学習装置150はこのために、正規分布からサンプリングしたノイズにより34行20列のノイズ行列132を生成して生成器118の第2の入力に与えるためのノイズベクトル発生部180を含む。生成器118の第3の入力には、後述するシードポーズベクトル184が与えられる。
The
ジェスチャモデル学習装置150はさらに、生成器118から出力されるジェスチャ行列126の各成分の高周波成分を除去して平滑化して、選択器122の第1の入力に与えるためのLPF(Long Pass Filter)190を含む。選択器122の第2の入力には、学習データ記憶装置110からの本物のジェスチャ行列124が与えられる。すなわち、選択器122は、生成器118から出力されるジェスチャ行列126、及び、学習データ記憶装置110から与えられる本物のジェスチャ行列124のいずれかを選択してジェスチャ行列200として出力する。
The gesture
識別器120は2つの入力を持つ。第1の入力には学習データ記憶装置110からの音声行列128が与えられる。第2の入力には選択器122の出力であるジェスチャ行列200が与えられる。識別器120は、第2の入力において受けるジェスチャ行列200が、第1の入力において受ける音声行列128に対する本物のジェスチャ行列か、生成器118により生成された偽のジェスチャ行列かを表す評価値130を出力する。
ジェスチャモデル学習装置150はさらに、識別器120、生成器118及び選択器122を制御信号196により制御し、後述するように敵対学習により識別器120及び選択器122の訓練を行うための敵対的学習部192と、敵対的学習部192が敵対的学習において識別器120を構成するニューラルネットワークの各パラメータを一時的に退避する退避先となるパラメータ記憶部194とを含む。
The gesture
ジェスチャモデル学習装置150はさらに、本物のジェスチャ行列124の末尾の4フレーム分のポーズベクトルを抽出して記憶し、生成器118が次にジェスチャ行列を生成するときにシードポーズベクトルとして生成器118の第3の入力に与えるためのシードポーズベクトル抽出部182を含む。
The gesture
図4を参照して、生成器118は、前述した第1から第3の入力を持ち、これらに入力される音声行列128、ノイズ行列132及びシードポーズベクトル184を受け取る全結合層250と、全結合層250の出力を受けるように接続された2-layer bi-GRU252と、2-layer bi-GRU252の出力を受けるように接続され、ジェスチャ行列126を出力するための全結合層254とを含む。
Referring to FIG. 4, the
生成器118の全結合層250への入力は、ポーズベクトル4個分を34行×39列に整形したジェスチャ行列、1セグメント分の音声ベクトルからなる34行×2列の音声信号行列、及びノイズから生成した34行×20列のノイズ行列である。全結合層250の出力は34行×256列の行列である。
The inputs to the fully connected
2-layer bi-GRU252の入力は34行×256列の行列、出力も34行×256列の行列である。
The input of the 2-
全結合層254の入力は34行×256列の行列、出力はポーズベクトルからなる行列と同様、34行×39列の行列である。
The input to the fully connected
図5を参照して、識別器120は、2つの入力を持ち、音声行列128と選択器122からのジェスチャ行列200とを受ける全結合層300と、全結合層300の出力を受けるように接続された1-D畳み込み層302と、1-D畳み込み層302の出力を受け、評価値130を出力するための全結合層304とを含む。
Referring to FIG. 5, the
全結合層300への入力は、1セグメント分の音声ベクトルからなる34行×2列の音声行列と、図3に示す選択器122から受ける、本物の、又は偽のポーズベクトルからなる34行×39列の行列である。
The input to the fully connected
c.敵対的学習の詳細
図6に、ジェスチャモデル学習装置150による生成器118及び識別器120の訓練の概略を示す。この実施形態においては、訓練は、識別器120の訓練、及び生成器118の訓練の順番に従って行われる。
c. Details of Adversarial Learning FIG. 6 shows an outline of training of the
図示はしていないが、最初に、識別器120には、音声の1セグメントから得られた音声行列と、そのセグメントから得られたポーズベクトルからなるジェスチャ行列とが与えられる。このジェスチャ行列は本物のジェスチャ行列である。識別器120は内部の各層のパラメータを用いた演算を行い、ジェスチャ行列が音声行列に対するジェスチャか否かを示す評価値を出力する。訓練の最初はこの評価値には信頼がおけない。訓練においては、この評価値が0に近づくように識別器120のパラメータを更新する。
Although not shown, first, the
続いて生成器118に、学習データの中で処理対象となるセグメントの直前のセグメントの末尾の4フレームのポーズベクトル354と、音声から抽出した特徴量からなる音声行列350と、正規分布からサンプリングしたノイズにより生成されたノイズベクトル352とが入力される。生成器118はこれら入力に対して各層においてパラメータを用いた演算を行い、ポーズベクトルからなるジェスチャ行列356を出力する。ジェスチャ行列356は偽のジェスチャ行列である。
Next, the
このジェスチャ行列356と音声行列350とが識別器120に与えられる。識別器120は、ジェスチャ行列356及び音声行列350に対して、各層のパラメータを用いた演算を行い、ジェスチャ行列356が音声行列350に対応するポーズベクトルか否かを示す評価値358を出力する。ここでは、評価値358が大きくなるようにまず識別器120のパラメータを更新する。さらに、評価値358が0に近づくように生成器118のパラメータを更新する。
This
以後、同様の処理を各セグメントに対して繰り返す。その際、学習時には生成器118が出力したジェスチャ行列356ではなく、学習データである実際のポーズベクトルが次の処理のシードポーズベクトルとして使用される。以上が生成器118及び識別器120に対する敵対的学習の概略である。
Thereafter, similar processing is repeated for each segment. At this time, during learning, not the
ただし、実際には、この敵対的学習にはunrolled-GANという手法が用いられる。さらに学習時の評価値となる損失関数についても次に説明するように通常のものと異なる損失関数が用いられる。 However, in reality, a method called unrolled-GAN is used for this adversarial learning. Furthermore, as for the loss function used as the evaluation value during learning, a loss function different from the normal one is used as described below.
以下にこの実施形態において使用する損失関数を示す。 The loss function used in this embodiment is shown below.
Ross Girshick. 2015. Fast r-cnn. In IEEE International Conference on Computer Vision. 1440-1448.
この文献に記載されている定義は以下のとおりである。
Ross Girshick. 2015. Fast r-cnn. In IEEE International Conference on Computer Vision. 1440-1448.
The definitions described in this document are as follows.
Lcriticは通常のWGAN(Wasserstein GAN)において使用される損失関数である。この実施形態においては、Lcriticについては予めWGANにより識別器120の学習をしてLcriticを算出できるようにしておき、上記した生成器118及び識別器120の学習においてはその値をLcriticとして使用する。Lgpは勾配ペナルティであり、学習を安定化させるための正規化項である。勾配ペナルティは、識別器の勾配のノルムが1と等しくなるようにペナルティを課すためのものである。この実施形態においては、識別器は2つの入力を持つ。実験の結果、双方の入力にこの勾配ペナルティを課しても、一方のみに課した場合とほとんど効果が変わらなかった。そのため、この実施形態においては2つの入力の中で生成器の入力を受ける方のみにこのペナルティを課している。
Lcritic is a loss function used in normal WGAN (Wasserstein GAN). In this embodiment, the
最後のLcontinuityは、従来存在していなかった損失関数であり、動作シーケンスの連続性を保つためにこの実施形態において導入した。図7にこの連続性損失に関する関数の目的を示す。 The last Lcontinuity is a loss function that did not exist in the past, and was introduced in this embodiment in order to maintain continuity of the operation sequence. FIG. 7 shows the purpose of this function regarding continuity loss.
この実施形態においては、生成器118に入力される1セグメント分の音声信号114が1.5秒分と短い。そのため、1回に音声信号114とノイズ行列132とから生成されるジェスチャ行列126も1.5秒分しかない。それより長い発話に対しては、複数のセグメントについてのジェスチャチャンクを生成しそれらを連結する必要がある。そのためにこの実施形態においては、生成器118から出力されるセグメントのジェスチャ行列126の最初のいくつか(k個)のフレームのポーズベクトル450が、その直前のセグメントの末尾の同数(k個)のフレームのジェスチャ(ポーズ)、すなわち生成器118に入力されたシードポーズベクトル184とよく似たものになるようにこの損失関数を課している。こうすることにより、連続するセグメントに対して生成されたジェスチャ行列から生成したジェスチャチャンクをそのまま連結させてもなめらかなジェスチャが得られる。
In this embodiment, one segment of
図8に、この実施形態において生成器118及び識別器120の学習を行うために使用される、unrolled-GANを実現するプログラムの主要部分の制御構造をフローチャート形式により示す。
FIG. 8 shows, in flowchart form, the control structure of the main part of the program for realizing the unrolled-GAN, which is used to train the
図8を参照して、このプログラムは、以下の処理502を全ての学習データに対して繰り返すステップ500を含む。
Referring to FIG. 8, this program includes
処理502は、本物のジェスチャデータを用いて識別器120のパラメータのみを更新する処理510と、処理510により更新された識別器120のパラメータを図3に示すパラメータ記憶部194に退避するステップ512と、処理510と同じく本物のジェスチャデータを用いて識別器120のパラメータのみを更新する処理514を所定回数だけ繰り返すステップ512とを含む。
The
処理510は、本物データのバッチをサンプリングするステップ540と、ノイズデータのバッチをサンプリングするステップ542と、ステップ540及び542においてサンプリングされた本物データ及びノイズから生成されたデータを用いて識別器120の勾配を算出するステップ544と、ステップ544において算出された勾配に基づいて識別器120のパラメータを更新するステップ546とを含む。
The
処理516の内容も処理510と同じである。
The contents of
処理502はさらに、処理514に続き、本物データのバッチをサンプリングするステップ518と、ノイズデータのバッチをサンプリングするステップ520と、ステップ518及び520においてサンプリングされたデータを用いて生成器118及び識別器120を動作させて識別器120から得られた評価値に基づき、生成器118の勾配を算出するステップ522と、ステップ522において算出された勾配に基づいて生成器118のパラメータを更新するステップ524と、連続性損失により生成器118のパラメータをさらに更新するステップ525と、ステップ512において図3のパラメータ記憶部194に退避された識別器120のパラメータを復元して処理502を終了するステップ526とを含む。
このようにunrolled-GANにおいては、識別器のパラメータを生成器よりも先行して複数回にわたり更新し、生成器のパラメータを更新した後に、識別器のパラメータを最初の更新時に戻す。こうした処理により、GANによる学習でよく生じるモード崩壊と呼ばれる現象を防ぐ効果があるとされている。 In this way, in unrolled-GAN, the parameters of the discriminator are updated multiple times before the generator, and after the parameters of the generator are updated, the parameters of the discriminator are returned to the time of the first update. Such processing is said to have the effect of preventing a phenomenon called mode collapse that often occurs in GAN learning.
d.ジェスチャ生成装置
上記学習システム100により学習が終わった生成器118を用いて、音声ベクトルからその音声ベクトルに対するジェスチャ情報を得ることができる。図9に生成器118を用いたジェスチャ生成装置560の構成を示す。
d. Gesture Generation Device Using the
図9を参照して、ジェスチャ生成装置560は、ジェスチャ生成の対象となる発話音声をキャプチャする(又は録音音声を再生する)ための、図3に示したものと同じ構成の音声キャプチャ部166と、音声キャプチャ部166によりキャプチャされた音声信号の各フレームからF0及びパワーを抽出して音声ベクトルを生成するための、図3に示したものと同じ構成のF0・パワー抽出部168と、F0・パワー抽出部168の出力する音声ベクトル列を34個ずつまとめることにより1セグメント分の音声行列を生成するための音声セグメント部580と、音声セグメント部580により出力される音声行列を記憶するための音声データ記憶装置582とを含む。
Referring to FIG. 9,
ジェスチャ生成装置560はさらに、音声データ記憶装置582に記憶された音声データの各セグメントを読み出し、当該音声データに対応するジェスチャデータ586を生成するためのジェスチャ生成部584を含む。
ジェスチャ生成部584は、図3に示すものと同様のノイズベクトル発生部180と、生成器118と、生成器118の出力するジェスチャチャンクの末尾の4フレームを次のセグメントのためのシードポーズベクトルとして抽出し一時記憶するためのシードポーズベクトル抽出部590とを含む。
The
生成器118の第1の入力には音声データ記憶装置582からの音声行列が与えられる。第2の入力にはノイズベクトル発生部180によりサンプリングされたノイズ行列が与えられる。第3の入力にはシードポーズベクトル抽出部590から、直前のセグメントの末尾の4フレーム分のポーズベクトルを他の入力と同じ形に整形したシードポーズ行列が与えられる。
A first input of
ジェスチャ生成部584はさらに、生成器118が出力を受けるように接続された、図3に示すものと同様のLPF190と、LPF190の出力するジェスチャチャンクを一時記憶するためのジェスチャチャンク記憶部592と、ジェスチャチャンク記憶部592に記憶された複数のジェスチャチャンクのうち、隣接するセグメント分のジェスチャチャンクの間で、先行するジェスチャチャンクの末尾の複数(この実施形態においては4個)のポーズベクトルの各々と、後続するジェスチャチャンクの先頭の同数のポーズベクトルであって先行するポーズベクトルにそれぞれ対応するポーズベクトルとを互いに等しい重みで加算することにより、セグメント間のジェスチャの内挿を行うためのジェスチャ補間部594とを含む。ジェスチャ補間部594によりセグメント間のジェスチャの内挿がされたジェスチャがジェスチャデータ586として出力される。
The
図10に、ジェスチャ補間部594の構成を示す。図10を参照して、ジェスチャ補間部594には、先行する音声のセグメントから生成されたジェスチャチャンク600と、そのセグメントの直後のセグメントとから生成されたジェスチャチャンク606とが入力される。
FIG. 10 shows the configuration of
ジェスチャチャンク600は、末尾の複数個のポーズベクトル604と、それ以外の前半部分のポーズベクトル602とを含む。ジェスチャチャンク606は、先頭の複数個のポーズベクトル610と、それ以外の後半部分のポーズベクトル608とを含む。この実施形態においては、ポーズベクトル604及び610はそれぞれ4個のポーズベクトルを含む。
The
ジェスチャ補間部594は、ジェスチャチャンク600から末尾の4個のポーズベクトル604を取り出してその各々の成分に0.5を乗算するための乗算部612と、ジェスチャチャンク606から先頭の4個のポーズベクトル610を取り出してその各々の成分に0.5を乗算するための乗算部614と、乗算部612により出力される4個のポーズベクトルの各々と、乗算部614により出力される4個のポーズベクトルのうち、対応するものとを互いに加算して新たな4つの内挿ポーズベクトル618を生成する加算部616とを含む。
The
ジェスチャチャンク600の前半部分のポーズベクトル602と、内挿ポーズベクトル618と、ジェスチャチャンク606の後半部分のポーズベクトル608とをこの順で連結することにより、2つのセグメントから1つのジェスチャが得られる。
By concatenating the
B.動作
a.学習
学習に先立って、学習データが生成され学習データ記憶装置110に記憶される。unrolled-GANにより生成器118及び識別器120の学習を行う前にWGANにより識別器120の学習を行う。この学習により、unrolled-GANにおけるLcriticの識別器120による算出が可能になる。
B. Action a. Learning Prior to learning, learning data is generated and stored in the learning
図3を参照して、学習データ記憶装置110に記憶された学習データのうち、先頭のセグメントからの音声行列が生成器118及び識別器120に入力される。また学習データのうち、先頭セグメントのジェスチャ行列が選択器122に与えられる。敵対的学習部192は選択器122に学習データからのジェスチャ行列を選択させる。この結果、学習データからの本物のジェスチャ行列が識別器120に入力される。識別器120は入力された音声行列とジェスチャ行列とを使用して、上記した損失関数に基づいて評価値を算出する。
Referring to FIG. 3, of the learning data stored in learning
一方、シードポーズベクトル抽出部182は、通常は直前のセグメントの末尾からシードポーズベクトル184を抽出し行列に整形して生成器118に与える。ノイズベクトル発生部180は正規分布からのサンプリングによりノイズ行列132を生成し生成器118に与える。生成器118は、入力された学習データの音声行列と、ノイズ行列132と、シードポーズベクトル184とを用いてジェスチャ行列126を生成する。ジェスチャ行列126により高周波成分が除去されたジェスチャ行列126は選択器122の入力に与えられる。選択器122はLPF190の出力を選択し、識別器120に与える。この入力は偽のポーズベクトルである。識別器120は、今度は音声行列128と偽のポーズベクトルとの間で評価値130を算出する。
On the other hand, the seed pose
敵対的学習部192は、本物から得られた評価値130と、偽のポーズベクトルから得られた評価値130とに基づいて、損失関数のうち前半の2項から識別器120のパラメータ勾配を算出し、学習率とこの勾配とに基づいて識別器120のパラメータを更新する。この更新の結果、識別器120のパラメータは、本物のデータに対しては評価値が0に近く、偽のデータに対しては大きくなるように更新される。敵対的学習部192は、更新後のパラメータをパラメータ記憶部194に退避する。
The
敵対的学習部192はさらに、同様に識別器120のパラメータを更新する処理を所定回数繰り返す。ただしこの際、更新後のパラメータをパラメータ記憶部194に退避する処理は行わない。この処理により、識別器120のパラメータの学習は一時的に生成器118のパラメータより先の世代まで進んだことになる。
The
その後、同様にして学習データに基づいて識別器120から得られた評価値と、ノイズデータに基づいて識別器120から得られた評価値とに基づき、今度は生成器118のパラメータの更新が行われる。この更新では、偽のデータに対して識別器120の出力する評価値が小さくなるように生成器118のパラメータが更新される。
After that, the parameters of the
さらに、先行するセグメントの末尾の4個のポーズベクトルと、後続するセグメントの先頭の4個のポーズベクトルとを使用して、Lcontinuityが算出され、この損失関数の値が小さくなるように生成器118のパラメータが更新される。その後対比しておいた識別器120のパラメータを識別器120に復元する。
Furthermore, Lcontinuity is calculated using the last four pose vectors of the preceding segment and the first four pose vectors of the following segment, and the
このようにして、全ての学習データを用いた学習を繰り返し、所定の終了条件が成立すると生成器118の学習は終了する。例えば訓練を所定回数完了したなどが終了条件となる。
In this way, learning using all the learning data is repeated, and when a predetermined termination condition is met, the learning of the
この学習により、生成器118は学習データの表すジェスチャデータの分布を学習したことになる。
Through this learning, the
b.推論
推論時にはジェスチャ生成装置560(図9)は以下のように動作する。図9を参照して、音声キャプチャ部166がジェスチャ生成の対象となる音声をキャプチャし音声信号に変換する。F0・パワー抽出部168は、この音声信号の各フレームについてF0とパワーとを算出しベクトル化する。音声セグメント部580は、F0・パワー抽出部168の出力するベクトル列を1.5秒ずつのセグメントでかつセグメント間に0.2秒の重複部分を持つセグメント列に分割し音声データ記憶装置582に格納する。
b. Inference During inference, gesture generator 560 (FIG. 9) operates as follows. Referring to FIG. 9,
生成器118は、音声データ記憶装置582から対象となるセグメントの音声行列を読み出す。またノイズベクトル発生部180は標準正規分布からノイズをサンプリングしノイズ行列として生成器118に与える。シードポーズベクトル抽出部590は、直前のセグメントについて生成器118の出力から得られたジェスチャチャンクの末尾の4個のポーズベクトルをシードポーズベクトルとして抽出し、生成器118に与える。
生成器118は、これら入力に対して、学習により得たパラメータを用いた演算を行い、入力された音声行列に対応するポーズベクトル列からなるジェスチャ行列を出力する。このジェスチャ行列はLPF190を経てジェスチャチャンク記憶部592に記憶される。記憶されたジェスチャ行列の末尾の4個のポーズベクトルは、次のセグメントの処理におけるシードポーズベクトルとしてシードポーズベクトル抽出部590により読み出される。
The
ジェスチャ補間部594は、ジェスチャチャンク記憶部592に記憶された複数のジェスチャチャンクのうち、隣接する2つのジェスチャ行列の重複する部分に存在する4個のポーズベクトルのうち対応するベクトルに0.5を乗算して足し合わせることにより2つのセグメント間のジェスチャを補間する。
The
C.効果
上記実施形態によれば、従来手法よりもなめらかでかつ自然な印象を与えるジェスチャを生成できるようになる。またジェスチャが確率的に生成されるため、同じ発話に対しても異なるジェスチャが生成できる。以下に説明する実験によれば、客観的評価によっても、主観的評価によっても、上記した効果が得られることがわかった。
C. Effects According to the above embodiment, it becomes possible to generate gestures that give a smoother and more natural impression than conventional methods. Furthermore, since gestures are generated stochastically, different gestures can be generated for the same utterance. According to the experiments described below, it was found that the above-mentioned effects can be obtained by both objective evaluation and subjective evaluation.
第2 実験
A.実験の設定
実験においては、発話中の人物に対するモーションキャプチャを行うことにより、1094個のモーション(ジェスチャ)と日本語発話の対からなる1094組の学習データを得た。これらデータの合計時間は6時間である。モデルの学習を行うために、学習率を生成器118と識別器120との双方について10-4とした。バッチサイズは128とした。損失関数におけるλcを1に、λgpを10に、それぞれ設定した。ノイズのサンプリングに使用した正規分布は、平均が0,分散が1のものであった。モデルの学習にはGPU(Graphics Processing Unit)を備えた高性能なコンピュータを用いて6時間を要した。
Second experiment A. Experimental Settings In the experiment, 1094 sets of training data consisting of 1094 pairs of motions (gestures) and Japanese utterances were obtained by performing motion capture on a person speaking. The total time for these data is 6 hours. To train the model, the learning rate was set to 10 −4 for both
カーネル密度推定(KDE(Kernel Density Estimation))は、所定の分布におけるある分布の対数尤度を出力するため、分布を評価するために適切と言われている。そこで以下の実験において生成されたジェスチャの客観的評価にはKEDを用いた。また主観的評価として、ユーザの知覚に基づくものを使用した。すなわち、上記実施形態の性能の評価をまとめるために、ユーザに対する調査を実施した。関節の回転角度は人間には直感的にわかりやすいものではない。しかし、得られたジェスチャモデルに基づいてアバターの画像を動作させることにより、ユーザによるジェスチャの評価を得るようにした。 Kernel Density Estimation (KDE) is said to be suitable for evaluating distributions because it outputs the log likelihood of a certain distribution in a predetermined distribution. Therefore, KED was used for objective evaluation of gestures generated in the following experiments. Furthermore, as a subjective evaluation, one based on the user's perception was used. That is, in order to summarize the evaluation of the performance of the above embodiment, a survey of users was conducted. The rotation angle of a joint is not intuitively easy for humans to understand. However, by moving the avatar image based on the obtained gesture model, the user's evaluation of the gesture can be obtained.
実験においては、上記実施形態による学習を行った生成器を、ビデオクリップを使用して種々の対照群と比較した。その内容は以下のとおりである。 In the experiment, the trained generator according to the embodiment described above was compared with various control groups using video clips. Its contents are as follows.
・正解(Ground Truth: GT)
モーションキャプチャにより得られた実際の人間のジェスチャから得た本物のデータ。アバターに適用する前に、ギクシャクした動きを取り除くためにローパスフィルタを使用した前処理(平滑化)を行った。このギクシャクした動きは、おそらくモーションキャプチャに使用した装置に起因するものと考えられる。
・Correct answer (Ground Truth: GT)
Real data from real human gestures obtained through motion capture. Before applying it to the avatar, preprocessing (smoothing) was performed using a low-pass filter to remove jerky movements. This jerky movement is probably caused by the device used for motion capture.
・ベースライン(参照用データ)
ベースラインモデルとして、関節の座標値を生成する最先端のモデルであって、上記実施の形態の学習を行ったデータセットと同じデータセットを用いて訓練したものを用いた。このモデルはGANに基づいた確率的なジェスチャ生成モデルである。比較のため、ニューラルネットワークを用いて、関節の座標データを、対応する関節の回転角度に変換した。
・Baseline (reference data)
As the baseline model, we used a state-of-the-art model for generating coordinate values of joints, which was trained using the same data set as the data set used for learning in the above embodiment. This model is a probabilistic gesture generation model based on GAN. For comparison, we used a neural network to convert joint coordinate data into corresponding joint rotation angles.
・実施形態
実施形態のモデルは確率的にジェスチャを生成する。したがってこの実施形態のモデルによれば同じ音声セグメントから異なるジェスチャシーケンスを生成できる。そのように異なるジェスチャからなる結果を評価するために、各発話セットについて、実施形態のモデルによる2つのビデオを後述する第1案及び第2案として生成した。このビデオの生成時には、モデルは同じ音声入力に対して異なるノイズベクトルを使用した。
- Embodiment The model of the embodiment generates gestures stochastically. Therefore, the model of this embodiment allows different gesture sequences to be generated from the same speech segment. In order to evaluate the results of such different gestures, for each utterance set, two videos were generated using the model of the embodiment as a first plan and a second plan, which will be described later. When generating this video, the model used different noise vectors for the same audio input.
B.実験の結果
a.客観的評価
実施形態及びベースラインモデルにより生成したジェスチャをいずれもKDEモデルにフィットさせた。最適な周波数帯域を3重交差検定によるグリッドサーチを用いて決定した。したがって、出力値が大きくなるほどジェスチャは実際のデータの分布に近づいた。上記各種のモデルによる結果を図11に示す。
B. Experimental results a. Objective Evaluation Gestures generated by the embodiment and baseline models were both fitted to the KDE model. The optimal frequency band was determined using a grid search with triple cross-validation. Therefore, the larger the output value, the closer the gestures were to the actual data distribution. The results obtained using the various models described above are shown in FIG. 11.
図11を参照して、正解の結果は、正解データそのものによりフィットさせたKDEモデルを用いて正解データの尤度を算出することにより計算された。この結果が、到達出来る最もよい結果と見ることができる。モデルの対数尤度が正解の対数尤度に近くなるほどそのモデルは正解データ分布により適合していると考えることができる。 Referring to FIG. 11, the correct answer result was calculated by calculating the likelihood of the correct answer data using a KDE model fitted by the correct answer data itself. This result can be seen as the best possible result. The closer the log-likelihood of a model is to the log-likelihood of the correct answer, the better the model can be considered to fit the correct data distribution.
図11に示すように、本願実施形態によるモデルは正解データにより近い対数尤度を達成できた。 As shown in FIG. 11, the model according to the embodiment of the present application was able to achieve a log likelihood closer to the correct data.
b.主観的評価
実施形態に係るモデルを評価するための尺度として3つを使用した。すなわち、ジェスチャの自然さ、ジェスチャと発話との整合性及び意味的整合性である。これらの評価値を得るため、図12に示すような質問を設定した。
b. Subjective Evaluation Three scales were used to evaluate the model according to the embodiment. That is, the naturalness of the gesture, the consistency between the gesture and the utterance, and the semantic consistency. In order to obtain these evaluation values, questions as shown in FIG. 12 were set.
比較のため、ベースラインモデルと、本願実施形態において異なるノイズベクトルからジェスチャを生成した第1案と第2案と、正解データとを用いてビデオを作成して比較に用いた。実験においては5つの別々の発話を選択し、各発話について4種類(正解データ、ベースライン、第1案及び第2案)のジェスチャを再現したアバターの動作をビデオクリップとして作成した。ビデオの順序はランダムとした。被験者に対しては、各ビデオを見た後、図12に示す各項目について、アバターの動きが1から7のスケール(1:強く同意しない、7:強く同意する)のいずれに相当するかを割り当てることが求められた。 For comparison, a video was created using the baseline model, first and second plans in which gestures were generated from different noise vectors in the embodiment of the present application, and correct data, and used for comparison. In the experiment, we selected five separate utterances, and created video clips of avatar movements that reproduced four types of gestures (correct data, baseline, first plan, and second plan) for each utterance. The order of the videos was randomized. After watching each video, subjects were asked to indicate on a scale of 1 to 7 (1: strongly disagree, 7: strongly agree) the avatar's movements for each item shown in Figure 12. required to be allocated.
被験者としては、クラウドソーシングサービスにより集められた33人を用いた。これら33人のうち17人は男性、16人は女性であった。いずれも日本語を母語とする話者であった。年齢の平均は38歳、分散は9.5年であった。 Thirty-three people gathered through a crowdsourcing service were used as subjects. Of these 33, 17 were men and 16 were women. All were native speakers of Japanese. The mean age was 38 years and the variance was 9.5 years.
結果を図13にグラフ形式により示す。 The results are shown in graphical form in FIG.
この実験における設定を用いてスコアに有意な相違があるかどうかを統計的に調べるために分散分析を行った。p<0.01において全てのスケールのスコアが分散分析をパスした。 An analysis of variance was performed to statistically examine whether there were significant differences in scores using the settings in this experiment. All scale scores passed analysis of variance at p<0.01.
さらに、グループの組み合わせの各々についてグループ間において有意な差があるか否かを調べるためにTukey HSD(Tukey’s Honestly Significant Difference test)を行った。図13に示すように、自然さという点で、ベースラインと正解との間にはp<0.05において有意な差が見られた。ベースラインと第1案との間、及びベースラインと第2案との間ではp<0.01で有意な差が見られた。正解データと第1案との間ではp<0.77で有意な差がなく、正解データと第2案との間でもp=0.77で有意な差が見られなかった。さらに第1案と第2案とではp=0.9で有意な差が見られなかった。 Furthermore, Tukey HSD (Tukey's Honestly Significant Difference test) was conducted to examine whether there was a significant difference between the groups for each group combination. As shown in FIG. 13, in terms of naturalness, there was a significant difference between the baseline and the correct answer at p<0.05. Significant differences were found between the baseline and the first plan and between the baseline and the second plan at p<0.01. There was no significant difference between the correct data and the first plan, p<0.77, and no significant difference was found between the correct data and the second plan, p=0.77. Furthermore, no significant difference was found between the first and second plans at p=0.9.
さらに時間的整合性についてみると、ベースラインと正解との間、ベースラインと第1案との間、及びベースラインと第2案との間では、いずれもp<0.01で有意な差があった。正解と第1案、正解と第2案、及び第1案と第2案との間においては、p=0.9で優位な差がなかった。 Furthermore, regarding temporal consistency, there were significant differences at p<0.01 between the baseline and the correct answer, between the baseline and the first plan, and between the baseline and the second plan. was there. There was no significant difference between the correct answer and the first plan, the correct answer and the second plan, and the first plan and the second plan, with p=0.9.
意味的整合性については、ベースラインと正解との間ではp<0.01で有意な差があった。ベースラインと第1案との間ではp<0.05で有意な差が、ベースラインと第2案との間ではp<0.01で有意な差があった。正解と第1案、正解と第2案との間ではいずれもp=0.9で有意な差が見られなかった。第1案と第2案との間ではp=0.86で有意な差が見られなかった。 Regarding semantic consistency, there was a significant difference between the baseline and the correct answer at p<0.01. There was a significant difference between the baseline and the first plan at p<0.05, and a significant difference between the baseline and the second plan at p<0.01. No significant difference was found between the correct answer and the first plan, and between the correct answer and the second plan, with p=0.9. No significant difference was found between the first plan and the second plan at p=0.86.
以上のようにこの実施形態によれば主観的にも正解と同じ、自然なジェスチャが得られた。 As described above, according to this embodiment, a natural gesture that is subjectively the same as a correct answer was obtained.
なお、上記実施形態では連続性損失Lcを損失として用いており、損失関数においてλcが乗じられている。この損失を使用することにより、2つの効果が得られる。第1は隣接して生成された2つのジェスチャ行列の重複部分のポーズベクトルを強制的に同様のものとすることにより、ジェスチャの連続性が得られるという効果である。第2は、先行するセグメントのジェスチャチャンクの最後のポーズベクトルを次のセグメント生成時のシードポーズベクトルとして用いることにより、後続のセグメントに文脈が与えられ、セグメント間における意味的整合性を保つことができるという効果である。 Note that in the above embodiment, the continuity loss Lc is used as the loss, and is multiplied by λc in the loss function. Using this loss has two effects. The first effect is that continuity of gestures can be obtained by forcibly making the pose vectors of the overlapping portions of two gesture matrices generated adjacently the same. Second, by using the last pose vector of the gesture chunk of the preceding segment as a seed pose vector when generating the next segment, subsequent segments are given context and semantic consistency can be maintained between segments. The effect is that it can be done.
この連続性損失Lcの係数λcの値を変えたときのジェスチャへの影響を調べるために、係数λcの値だけを変えて他のハイパーパラメータを一定にして学習を行い、異なるパラメータを持つ複数のモデルを構築した。その結果、係数λc=0とすると、セグメントごとにジェスチャが分離したものに見えることがわかった。すなわち、ジェスチャには少なくとも準備とストロークという2段階があり、ストロークは準備の前に完全に完了していることが必要とされるが、連続性損失Lcを全く使用しない場合には、ストロークの最後まで行く前にストロークの動作が中止され、つぎのジェスチャの準備が開始されてしまうという印象を受けた。また連続性損失Lcを用いず、ジェスチャ間の内挿のみを使用する場合、ジェスチャは滑らかになるがかえって不自然な印象を受けた。 In order to investigate the effect on gestures when changing the value of the coefficient λc of this continuity loss Lc, we performed learning by changing only the value of the coefficient λc and keeping other hyperparameters constant. built the model. As a result, it was found that when the coefficient λc=0, gestures appear to be separated for each segment. That is, a gesture has at least two stages: preparation and stroke, and the stroke must be completely completed before preparation, but if no continuity loss Lc is used, the final stage of the stroke I got the impression that the stroke was stopped before it reached that point, and preparations for the next gesture began. Furthermore, when only interpolation between gestures is used without using the continuity loss Lc, the gestures become smoother, but give an unnatural impression.
また、生成されたジェスチャの観察から、連続性損失を用いずに学習したモデルにより生成したジェスチャにおいては連続性が問題とはなるが、これらのジェスチャはいずれも正解の範囲内の動きと言えることから、連続性損失を含めたモデルとそうでないモデルとの間で、生成されたジェスチャにおける関節の角度と位置の対数尤度は大きく変わらないはずである、という仮説を立て、これを検証するための実験を行った。また、連続性損失を用いて訓練されたモデルとそうでないモデルとの間では、生成されたジェスチャの観察結果から、関節の速度の対数尤度はかなり異なるはずであるという仮説についても実験で検証した。こうした仮説を検証するための実験は以下のとおりである。 Furthermore, from observation of the generated gestures, it can be said that although continuity is an issue with gestures generated by a model learned without using continuity loss, these gestures can all be said to be movements within the correct range. Therefore, we hypothesized that the log likelihoods of joint angles and positions in generated gestures should not differ significantly between models that include continuity loss and models that do not, and in order to verify this. An experiment was conducted. We also experimentally verified the hypothesis that the log-likelihood of joint velocities should be significantly different between models trained using continuity loss and models that were not trained, based on the observed results of generated gestures. did. The experiment to test this hypothesis is as follows.
まず、関節角度の出力を関節の座標位置に変換した。さらに変換後のデータから各関節の速度を算出しKDEにより評価した。関節の位置及び速度のKDEによる評価結果を図14に示す。図14を参照して、連続性損失を導入することにより、モデルが生成する位置と速度の分布として正解と似たものが得られることがわかった。 First, the output of the joint angle was converted to the coordinate position of the joint. Furthermore, the velocity of each joint was calculated from the converted data and evaluated using KDE. FIG. 14 shows the evaluation results of joint positions and velocities using KDE. Referring to FIG. 14, it was found that by introducing the continuity loss, a distribution of positions and velocities generated by the model that is similar to the correct solution can be obtained.
さらに、図15に示すように、関節の異常な速度は主として生成されたジェスチャの遷移区間に生ずることが分かる。図15を参照して、正解データから得た速度のグラフ720においては異常に大きな速度は生じない。またλc=1とした実施形態のグラフ724にも速度の異常な増加は認められない。それに対し、λc=0とし、連続性損失を使用しない学習により得られたモデルの場合、グラフ722に見られるように定期的に速度が異常に大きくなることが分かる。これらの区間700から区間714はいずれもセグメントとセグメントとの境界部分、すなわち先行するジェスチャチャンクから次のジェスチャチャンクへの遷移区間である。特に、連続性損失を使用しない場合には、ジェスチャチャンクの開始時と終了時に異常に大きな速度が生じることが分かる。こうした現象が生ずる原因は不明だが、少なくとも連続性損失を導入することによりこうした問題を回避できることがこの結果から分かる。
Furthermore, as shown in FIG. 15, it can be seen that the abnormal velocity of the joints mainly occurs in the transition section of the generated gesture. Referring to FIG. 15, an abnormally large speed does not occur in the
第3 コンピュータによる実現
図16は、上記実施形態を実現するコンピュータシステムの1例の外観図である。図17は、図16に示すコンピュータシステムのハードウェア構成の1例を示すブロック図である。
Third Implementation by Computer FIG. 16 is an external view of an example of a computer system that implements the above embodiment. FIG. 17 is a block diagram showing an example of the hardware configuration of the computer system shown in FIG. 16.
図16を参照して、このコンピュータシステム950は、DVD(Digital Versatile Disc)ドライブ1002を有するコンピュータ970と、いずれもコンピュータ970に接続された、ユーザと対話するためのキーボード974、マウス976、及びモニタ972とを含む。もちろんこれらはユーザ対話が必要となったときのための構成の一例であって、ユーザ対話に利用できる一般のハードウェア及びソフトウェア(例えばタッチパネル、音声入力、ポインティングデバイス一般)ならばどのようなものも利用できる。
Referring to FIG. 16, this
図17を参照して、コンピュータ970は、DVDドライブ1002に加えて、CPU(Central Processing Unit)990と、GPU992と、CPU990、GPU992、DVDドライブ1002に接続されたバス1010と、バス1010に接続され、コンピュータ970のブートアッププログラムなどを記憶するROM(Read-Only Memory)996と、バス1010に接続され、プログラムを構成する命令、システムプログラム、及び作業データなどを記憶するRAM(Random Access Memory)998と、バス1010に接続された不揮発性メモリであるSSD(Solid State Drive)1000とを含む。SSD1000は、CPU990及びGPU992が実行するプログラム、並びにCPU990及びGPU992が実行するプログラムが使用するデータなどを記憶するためのものである。コンピュータ970はさらに、他端末との通信を可能とするネットワーク986への接続を提供するネットワークI/F(Interface)1008と、USB(Universal Serial Bus)メモリ984が着脱可能で、USBメモリ984とコンピュータ970内の各部との通信を提供するUSBポート1006とを含む。
Referring to FIG. 17, a
コンピュータ970はさらに、マイクロフォン982、スピーカ980及び図示しないモーションキャプチャ装置とバス1010とに接続され、CPU990により生成されRAM998又はSSD1000に保存された音声信号、映像信号、モーションデータ、及びテキストデータなどをCPU990の指示にしたがって読み出し、アナログ変換及び増幅処理をしてスピーカ980を駆動したり、マイクロフォン982からのアナログの音声信号をデジタル化し、RAM998又はSSD1000の、CPU990により指定される任意のアドレスに保存したり、モーションキャプチャ装置からのモーションキャプチャ信号を受信しCPU990により指定されるアドレスに保存したりするための入出力I/F1004を含む。
The
上記実施形態では、学習システム100及びジェスチャ生成装置560又はそれらの一部である生成器118、識別器120及び敵対的学習部192などを実現するためのプログラム、ニューラルネットワークのパラメータ並びにニューラルネットワークプログラムなどは、いずれも例えば図17に示すSSD1000、RAM998、DVD978又はUSBメモリ984、若しくはネットワークI/F1008及びネットワーク986を介して接続された図示しない外部装置の記憶媒体などに格納される。典型的には、これらのデータ及びパラメータなどは、例えば外部からSSD1000に書込まれコンピュータ970による実行時にはRAM998にロードされる。
In the above embodiment, the
このコンピュータシステムを、図3及び図9に示す学習システム100及びジェスチャ生成装置560並びにその各構成要素の機能を実現するよう動作させるためのコンピュータプログラムは、DVDドライブ1002に装着されるDVD978に記憶され、DVDドライブ1002からSSD1000に転送される。又は、これらのプログラムはUSBメモリ984に記憶され、USBメモリ984をUSBポート1006に装着し、プログラムをSSD1000に転送する。又は、このプログラムはネットワーク986を通じてコンピュータ970に送信されSSD1000に記憶されてもよい。
A computer program for operating this computer system so as to realize the functions of the
プログラムは実行のときにRAM998にロードされる。もちろん、キーボード974、モニタ972及びマウス976を用いてソースプログラムを入力し、コンパイルした後のオブジェクトプログラムをSSD1000に格納してもよい。スクリプト言語の場合には、キーボード974などを用いて入力したスクリプトをSSD1000に格納してもよい。仮想マシン上で動作するプログラムの場合には、仮想マシンとして機能するプログラムを予めコンピュータ970にインストールしておく必要がある。ニューラルネットワークの訓練及びテストには大量の計算が伴うため、特に数値計算を行う実体であるプログラム部分はスクリプト言語ではなくコンピュータのネイティブなコードからなるオブジェクトプログラムとして本発明の実施形態の各部を実現する方が好ましい。
The program is loaded into
CPU990は、その内部のプログラムカウンタと呼ばれるレジスタ(図示せず)により示されるアドレスにしたがってRAM998からプログラムを読み出して命令を解釈し、命令の実行に必要なデータを命令により指定されるアドレスにしたがってRAM998、SSD1000又はそれ以外の機器から読み出して命令により指定される処理を実行する。CPU990は、実行結果のデータを、RAM998、SSD1000、CPU990内のレジスタなど、プログラムにより指定されるアドレスに格納する。このとき、プログラムカウンタの値もプログラムによって更新される。コンピュータプログラムは、DVD978から、USBメモリ984から、又はネットワークを介して、RAM998に直接にロードしてもよい。なお、CPU990が実行するプログラムの中で、一部のタスク(主として数値計算)については、プログラムに含まれる命令により、又はCPU990による命令実行時の解析結果にしたがって、GPU992にディスパッチされる。
The
コンピュータ970との協働により上記した実施形態に係る各部の機能を実現するプログラムは、それら機能を実現するようコンピュータ970を動作させるように記述され配列された複数の命令を含む。この命令を実行するのに必要な基本的機能のいくつかはコンピュータ970上で動作するオペレーティングシステム(OS)若しくはサードパーティのプログラム、又はコンピュータ970にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の中で、所望の結果が得られるように制御されたやり方で適切な機能又は「プログラミング・ツール・キット」の機能を静的にリンクすることで、又はプログラムの実行時に動的にそれら機能に動的リンクことにより、上記した各装置及びその構成要素としての動作を実行する命令のみを含んでいればよい。そのためのコンピュータ970の動作方法は周知であるので、ここでは繰返さない。
A program that realizes the functions of each part according to the embodiment described above in cooperation with the
なお、GPU992は並列処理を行うことが可能であり、機械学習に伴う多量の計算を同時並列的又はパイプライン的に実行できる。例えばプログラムのコンパイル時にプログラム中で発見された並列的計算要素、又はプログラムの実行時に発見された並列的計算要素は、随時、CPU990からGPU992にディスパッチされ、実行され、その結果が直接に、又はRAM998の所定アドレスを介してCPU990に返され、プログラム中の所定の変数に代入される。
Note that the
第4 変形例
上記実施形態では、音響特徴量としてF0及びパワーという韻律情報を使用している。しかしこの発明はそのような実施形態に限定されるわけではない。MFCC(Mel-frequency cepstral coefficient)のような言語的情報に関する他の音響特徴量を用いてもよい。また上記実施形態で使用した各ベクトル及び行列の次元数は単なる1例である。応用に応じてそれらの次元数を適宜変更してもよいことは言うまでもない。また上記実施形態では、シードポーズベクトルとして4個のベクトルを使用している。これは音声セグメントの重複期間である0.2秒を1フレームの時間である0.05秒で除した値に相当する。したがって、音声セグメントの重複期間を変更したり、1フレームの時間を変更したりすれば、それに応じてシードポーズベクトルの数もそれに從って変化させてよい。
Fourth Modification In the above embodiment, prosody information called F0 and power is used as the acoustic feature amount. However, the invention is not limited to such embodiments. Other acoustic features related to linguistic information such as MFCC (Mel-frequency cepstral coefficient) may also be used. Further, the number of dimensions of each vector and matrix used in the above embodiment is merely an example. It goes without saying that the number of dimensions may be changed as appropriate depending on the application. Further, in the above embodiment, four vectors are used as seed pose vectors. This corresponds to a value obtained by dividing 0.2 seconds, which is the overlapping period of audio segments, by 0.05 seconds, which is the time of one frame. Therefore, if the overlapping period of audio segments is changed or the time of one frame is changed, the number of seed pose vectors may be changed accordingly.
上記実施形態では、ノイズをサンプリングするための分布として標準正規分布を用いている。しかしこの発明はそのようなものに限定されるわけではない。標準正規分布と異なる分布を用いてもよい。また、生成器118及び識別器120の構成も上記したものには限定されない。応用により、適宜その構成を変更してもよい。さらに、上記実施形態では、敵対的学習にunrolled-GANを用いている。これは、unrolled-GANがモード崩壊を起こす可能性が低いためである。したがって、モード崩壊を起こさないような敵対的学習のためのアルゴリズムならば、他のアルゴリズムを使用してもよい。
In the above embodiment, a standard normal distribution is used as a distribution for sampling noise. However, this invention is not limited to such. A distribution different from the standard normal distribution may be used. Furthermore, the configurations of the
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。 The embodiment disclosed this time is merely an example, and the present invention is not limited to the above-described embodiment. The scope of the present invention is indicated by each claim, with reference to the description of the detailed description of the invention, and all changes within the scope and meaning equivalent to the words described therein are defined. include.
50、114 音声信号
52 ジェスチャ
54 モデル
100 学習システム
110 学習データ記憶装置
112、354、450、602、604、608、610 ポーズベクトル
116 音声特徴量抽出部
118 生成器
120 識別器
122 選択器
124、126、200、356 ジェスチャ行列
128、350 音声行列
130、358 評価値
132 ノイズ行列
150 ジェスチャモデル学習装置
170 学習データ生成装置
180 ノイズベクトル発生部
184 シードポーズベクトル
192 敵対的学習部
250、254、300、304 全結合層
252 2-layer bi-GRU
302 1-D畳み込み層
352 ノイズベクトル
560 ジェスチャ生成装置
580 音声セグメント部
582 音声データ記憶装置
584 ジェスチャ生成部
586 ジェスチャデータ
592 ジェスチャチャンク記憶部
594 ジェスチャ補間部
600、606 ジェスチャチャンク
612、614 乗算部
616 加算部
618 内挿ポーズベクトル
50, 114
302 1-
Claims (11)
コンピュータが、各々が所定時間長で所定の重複期間を持つ複数のセグメントに分割された学習データを準備するステップを含み、
前記複数のセグメントの各々は、一定の長さの複数のフレームを含み、
前記複数のセグメントの各々は、当該セグメントの含む各フレームにおける人物の発話音声から得られた所定の音響特徴量を成分とする音声行列と、当該セグメントの含む各フレームにおける当該人物のポーズを表すポーズベクトルからなるジェスチャ行列とを含み、
コンピュータが、前記セグメントの各々について、当該セグメントに含まれる前記音声行列と、所定の分布からサンプリングされたノイズを成分とするノイズ行列と、直前の前記セグメントのジェスチャ行列の一部を構成する所定個数のポーズベクトルからなるシードポーズベクトルとを入力とし、前記音声行列、前記ノイズ行列、及び前記シードポーズベクトルに基づいて、入力された前記音声行列に対応する前記ジェスチャ行列を生成し出力するための第1のニューラルネットワークを準備するステップと、
コンピュータが、第1の入力及び第2の入力を持ち、前記第1の入力に前記第1のニューラルネットワークに入力された前記音声行列を受け、前記第2の入力に受けたジェスチャ行列の、前記入力された前記音声行列に対応する前記ジェスチャ行列としての評価値を出力するための第2のニューラルネットワークを準備するステップと、
コンピュータが、前記第1のニューラルネットワークの出力する前記ジェスチャ行列と前記学習データのジェスチャ行列とを切り替えて、前記音声行列に対するジェスチャ行列として評価する敵対的学習により、前記第1のニューラルネットワークと前記第2のニューラルネットワークとを訓練するステップとを含む、ジェスチャ生成モデルの学習方法。 A learning method for a gesture generation model for generating speech gestures from speech sounds, the method comprising:
the computer preparing training data divided into a plurality of segments each having a predetermined length of time and a predetermined overlapping period;
each of the plurality of segments includes a plurality of frames of a certain length;
Each of the plurality of segments includes an audio matrix whose components are predetermined acoustic features obtained from speech uttered by a person in each frame included in the segment, and a pose representing the pose of the person in each frame included in the segment. a gesture matrix consisting of vectors;
A computer generates, for each of the segments, the audio matrix included in the segment, a noise matrix whose components are noise sampled from a predetermined distribution, and a predetermined number of gesture matrices forming part of the gesture matrix of the immediately preceding segment. a seed pose vector consisting of pose vectors, and generates and outputs the gesture matrix corresponding to the input voice matrix based on the voice matrix, the noise matrix, and the seed pose vector. a step of preparing a neural network in step 1;
a computer having a first input and a second input, receiving the speech matrix input to the first neural network at the first input; preparing a second neural network for outputting an evaluation value as the gesture matrix corresponding to the input voice matrix;
The computer switches the gesture matrix output from the first neural network and the gesture matrix of the learning data, and performs adversarial learning to evaluate the gesture matrix as a gesture matrix for the voice matrix. 2. A learning method for a gesture generation model, the method comprising the step of training a neural network according to No. 2.
入力された音声行列に対する、前記第1のニューラルネットワークによる出力の条件付分布と、前記第2のニューラルネットワークによる正解データの条件付分布との相違を表す第1の損失関数と、
前記第2のニューラルネットワークにおける、前記損失関数の勾配ペナルティと、
前記直前の前記学習データの前記ジェスチャ行列の末尾の前記所定個数の前記ポーズベクトルと、前記第1のニューラルネットワークの出力する前記ジェスチャ行列の先頭の前記所定個数の前記ポーズベクトルとの相違を表す第3の損失関数とを含む、請求項1に記載のジェスチャ生成モデルの学習方法。 The loss function in the adversarial learning is
a first loss function representing a difference between a conditional distribution of output from the first neural network and a conditional distribution of correct data from the second neural network with respect to the input speech matrix;
a gradient penalty of the loss function in the second neural network;
A first neural network representing a difference between the predetermined number of pose vectors at the end of the gesture matrix of the immediately preceding learning data and the predetermined number of pose vectors at the head of the gesture matrix output from the first neural network. 3. The gesture generation model learning method according to claim 1, comprising a loss function of 3.
各々が所定時間長で所定の重複期間を持つ複数のセグメントに分割された学習データを記憶する学習データ記憶装置を含み、
前記複数のセグメントの各々は、一定の長さの複数のフレームを含み、
前記複数のセグメントの各々は、当該セグメントに含まれる各フレームにおける人物の発話音声から得られた所定の音響特徴量を成分とする音声行列と、当該フレームにおける当該人物のジェスチャを表すジェスチャ行列とを含み、
前記複数のセグメントの各々について、当該セグメントに含まれる前記音声行列と、所定の分布からサンプリングされたノイズ行列と、所定のシードポーズベクトルとを入力とし、前記音声行列、前記ノイズ行列、及び前記シードポーズベクトルに基づいて、入力された前記音声行列に対応する前記ジェスチャ行列を生成し出力するための第1のニューラルネットワークと、
前記第1のニューラルネットワークの出力する前記ジェスチャ行列と、前記第1のニューラルネットワークに入力された前記音声行列とを受け、第1のニューラルネットワークの出力する前記ジェスチャ行列の、前記入力された前記音声行列に対する評価値を出力するための第2のニューラルネットワークと、
前記第1のニューラルネットワークと前記第2のニューラルネットワークとを、前記学習データからの前記ジェスチャ行列と、前記第1のニューラルネットワークの出力する前記ジェスチャ行列とを切り替えて用いる敵対的学習により訓練する敵対的学習手段とを含む、ジェスチャ生成モデルの学習装置。
A learning device for a gesture generation model for generating human gestures during speech from speech sounds, comprising:
a learning data storage device storing learning data divided into a plurality of segments each having a predetermined length of time and a predetermined overlapping period;
each of the plurality of segments includes a plurality of frames of a certain length;
Each of the plurality of segments includes an audio matrix whose components are predetermined acoustic features obtained from speech uttered by a person in each frame included in the segment, and a gesture matrix representing the gesture of the person in the frame. including,
For each of the plurality of segments, the audio matrix included in the segment, a noise matrix sampled from a predetermined distribution, and a predetermined seed pose vector are input, and the audio matrix, the noise matrix, and the seed a first neural network for generating and outputting the gesture matrix corresponding to the input voice matrix based on a pose vector;
The gesture matrix output from the first neural network and the voice matrix input to the first neural network are received, and the input voice of the gesture matrix output from the first neural network is received. a second neural network for outputting evaluation values for the matrix;
Adversarial training in which the first neural network and the second neural network are trained by adversarial learning that switches between the gesture matrix from the training data and the gesture matrix output from the first neural network. A learning device for a gesture generation model, comprising a learning means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022045417A JP2023139731A (en) | 2022-03-22 | 2022-03-22 | Learning method and learning apparatus for gesture generation model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022045417A JP2023139731A (en) | 2022-03-22 | 2022-03-22 | Learning method and learning apparatus for gesture generation model |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023139731A true JP2023139731A (en) | 2023-10-04 |
Family
ID=88204813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022045417A Pending JP2023139731A (en) | 2022-03-22 | 2022-03-22 | Learning method and learning apparatus for gesture generation model |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023139731A (en) |
-
2022
- 2022-03-22 JP JP2022045417A patent/JP2023139731A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cao et al. | Expressive speech-driven facial animation | |
US9431027B2 (en) | Synchronized gesture and speech production for humanoid robots using random numbers | |
Pham et al. | End-to-end learning for 3d facial animation from speech | |
CN110751708B (en) | Method and system for driving face animation in real time through voice | |
CN112581569B (en) | Adaptive emotion expression speaker facial animation generation method and electronic device | |
CN110910479B (en) | Video processing method, device, electronic equipment and readable storage medium | |
Eskimez et al. | Noise-resilient training method for face landmark generation from speech | |
Ding et al. | Speech-driven eyebrow motion synthesis with contextual markovian models | |
CN113838173A (en) | Virtual human head motion synthesis method driven by voice and background sound | |
Bozkurt et al. | Affect-expressive hand gestures synthesis and animation | |
Li et al. | Learning dynamic audio-visual mapping with input-output hidden Markov models | |
Pham et al. | End-to-end learning for 3d facial animation from raw waveforms of speech | |
CN116934926B (en) | Recognition method and system based on multi-mode data fusion | |
Hu et al. | Text-driven 3D avatar animation with emotional and expressive behaviors | |
Čereković et al. | Multimodal behavior realization for embodied conversational agents | |
Ding et al. | Lip animation synthesis: a unified framework for speaking and laughing virtual agent. | |
JP2023139731A (en) | Learning method and learning apparatus for gesture generation model | |
JP7201984B2 (en) | Android gesture generator and computer program | |
CN113362432B (en) | Facial animation generation method and device | |
Filntisis et al. | Photorealistic adaptation and interpolation of facial expressions using HMMS and AAMS for audio-visual speech synthesis | |
Victor et al. | Pose Metrics: a New Paradigm for Character Motion Edition | |
Huang et al. | Visual speech emotion conversion using deep learning for 3D talking head | |
Deena et al. | Speech-driven facial animation using a shared Gaussian process latent variable model | |
Pham et al. | Learning continuous facial actions from speech for real-time animation | |
Cui et al. | Master of puppets: an animation-by-demonstration computer puppetry authoring framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20220406 |