JP2020087483A - データ補正装置およびプログラム - Google Patents
データ補正装置およびプログラム Download PDFInfo
- Publication number
- JP2020087483A JP2020087483A JP2020021712A JP2020021712A JP2020087483A JP 2020087483 A JP2020087483 A JP 2020087483A JP 2020021712 A JP2020021712 A JP 2020021712A JP 2020021712 A JP2020021712 A JP 2020021712A JP 2020087483 A JP2020087483 A JP 2020087483A
- Authority
- JP
- Japan
- Prior art keywords
- group
- data
- position data
- corrected
- learning
- 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
Landscapes
- Image Analysis (AREA)
Abstract
【課題】機械学習に用いられる学習データの規模を抑制しつつ、学習モデルにより動体の複数の部位の位置データを高精度に補正する。【解決手段】実施形態によれば、データ補正装置は、取得部と、分類部と、第1の補正部と、第2の補正部とを含む。取得部は、動体の複数の部位の位置データを取得する。分類部は、複数の部位のうちの少なくとも一部の位置データの各々を、当該位置データに対応する部位に依存して、第1のグループおよび第2のグループを含む複数のグループのうちの少なくとも1つに属するように分類する。第1の補正部は、第1の学習モデルによって、第1のグループの位置データを補正し、第1のグループの補正済み位置データを生成する。第2の補正部は、第2の学習モデルによって、第2のグループの位置データを補正し、第2のグループの補正済み位置データを生成する。【選択図】 図1
Description
本発明は、データの補正に関する。
近年、例えばHMD(Head Mounted Display)を装着した演者の身体の動きから生成したモーションキャプチャ(MC:Motion Capture)データを利用して、演者に追随して動くアバターのアニメーションを生成し、観客の端末へインターネットで生配信することが知られている。このMCデータは、例えば、演者の身体に取り付けられたマーカーを複数のカメラにより撮影することで得られた複数の画像からマーカーの3次元位置を検出することで生成されたり(光学式)、演者が装着するHMDなどに搭載されたジャイロセンサおよび/または加速度センサなどの慣性センサの計測値に基づいて、それぞれのセンサの位置姿勢を算出することで生成されたりする(慣性センサ式)。MCデータは、ノイズ(例えば、高周波ノイズ、ジッター、など)、遮蔽などによる欠測、および/または検出されたマーカーの位置とそのマーカーの識別ラベルとの対応付けの不一致(ラベリングミス)、などのエラーを伴い得る。
かかる生のMCデータの持つエラーを放置したままアバターのアニメーションを生成すると、アバターの姿勢や動きが、演者の実際の姿勢や動きから乖離したり、不自然なものとなったりするおそれがある。従来、かかるエラーは、人間により手作業で補正されてきた。しかしながら、手作業によるエラーの補正は、煩雑かつ高コストである。
特許文献1には、骨格情報のうち注目部位に対応する位置を示す位置情報を補正すること([0006])、および位置情報を補正するにあたり、学習アルゴリズムを使用することが([0055])が記載されている。
また、非特許文献1には、生の光学MCデータに含まれるエラーを補正する技法が開示されている。具体的には、非特許文献1では、入力姿勢(ボーンデータ)に基づいて算出された後に模擬的なエラーを付加されたマーカー位置データから、この入力姿勢に近い姿勢を生成するように学習されたニューラルネットワークが開示されている。
Daniel Holden, "Robust solving of optical motion capture data by denoising", [online] ACM Transactions on Graphics (TOG). Volume 37, Issue 4, August 2018. Article No. 165. 平成30年9月30日検索,<URL:https://dl.acm.org/citation.cfm?id=3197517.3201302>
特許文献1に記載の技法は、全身の位置情報ではなく限られた注目部位の位置情報を補正するものである。加えて、この技法では、注目部位の位置情報の補正において、注目部位以外の部位の位置情報は参照されない、すなわちラベリングミスがないことを前提としている。故に、この技法によれば、ラベリングミスが生じていたとしてもこれを検知することはできず、例えば、注目部位以外の部位に対応するはずの位置情報が注目部位の位置情報として補正されることで、かえって誤差が大きくなる可能性がある。
また、非特許文献1に記載の技法は、学習済みのニューラルネットワークにより、ノイズを伴うマーカー位置データからこのノイズが補正されたボーンデータを生成する。すなわち、この技法では、マーカー位置データそのものの補正結果を直接的に得ることはできない。加えて、この技法により高精度な補正を実現するためには、人間の全身のマーカー位置データとボーンデータとの相関を学習する必要があるので、大規模な学習データが必要となるとであろう。
本発明は、機械学習に用いられる学習データの規模を抑制しつつ、学習モデルにより動体の複数の部位の位置データを高精度に補正することを目的とする。
実施形態によれば、データ補正装置は、取得部と、分類部と、第1の補正部と、第2の補正部とを含む。取得部は、動体の複数の部位の位置データを取得する。分類部は、複数の部位のうちの少なくとも一部の位置データの各々を、当該位置データに対応する部位に依存して、第1のグループおよび第2のグループを含む複数のグループのうちの少なくとも1つに属するように分類する。第1の補正部は、第1の学習モデルによって、第1のグループの位置データを補正し、第1のグループの補正済み位置データを生成する。第2の補正部は、第2の学習モデルによって、第2のグループの位置データを補正し、第2のグループの補正済み位置データを生成する。
本発明によれば、機械学習に用いられる学習データの規模を抑制しつつ、学習モデルにより動体の複数の部位の位置データを高精度に補正することができる。
以下、図面を参照しながら実施形態の説明を述べる。なお、以降、説明済みの要素と同一または類似の要素には同一または類似の符号を付し、重複する説明については基本的に省略する。例えば、複数の同一または類似の要素が存在する場合に、各要素を区別せずに説明するために共通の符号を用いることがあるし、各要素を区別して説明するために当該共通の符号に加えて枝番号を用いることもある。
(実施形態)
実施形態に係るデータ補正装置は、例えば動体の複数の部位(光学MCデータの場合には、動体の複数の部位に取り付けられたマーカー)の3次元位置データを有するMCデータを補正する。なお、このデータ補正装置は、MCデータに限らず複数の位置データを含むデータセットを補正可能であるが、以降の説明では便宜的にMCデータを補正することを前提とする。また、このデータ補正装置は、2次元などの3次元以外の位置データにも適用可能である。
実施形態に係るデータ補正装置は、例えば動体の複数の部位(光学MCデータの場合には、動体の複数の部位に取り付けられたマーカー)の3次元位置データを有するMCデータを補正する。なお、このデータ補正装置は、MCデータに限らず複数の位置データを含むデータセットを補正可能であるが、以降の説明では便宜的にMCデータを補正することを前提とする。また、このデータ補正装置は、2次元などの3次元以外の位置データにも適用可能である。
MCデータは、例えば、MCスタジオにおいて本格的に生成されてもよいし(第1の例)、例えばコンテンツ共有システムによって共有されることになるコンテンツ、例えば動画、またはVR(Virtual Reality)、AR(Augmented Reality)、MR(Mixed Reality)などの仮想的コンテンツの演者(配信者)の自宅などで簡易に生成されてもよい(第2の例)。
第1の例では、演者はマーカー付きの全身タイツなどを装着することで、その身体の複数の部位の動きをマーカーを介して補足できるようにする。そして、スタジオ内に設置された複数のカメラが、異なるアングルから演者を撮影する。クライアント(例えば、スタジオ内に設置されたコンピュータ、または複数の画像データを収集可能にネットワーク、例えばインターネットに接続された遠隔コンピュータ)が、複数の画像からマーカーの3次元位置を検出することにより、MCデータを生成する。
第2の例では、演者は、例えば慣性センサなどのセンサを内蔵したHMDを頭部に装着し、および/またはセンサを内蔵したコントローラ(操作スティックとも呼ぶ)を把持する。そして、クライアントは、これらのセンサの計測結果であるセンシングデータを収集し、これらのセンシングデータに基づいて、演者の身体の複数の部位、例えば頭部および/または手の動きを計算することで、MCデータを生成する。第2の例において、クライアントは、例えば、PC(Personal Computer)、スマートフォンであってもよいし、または複数のセンシングデータを収集可能にネットワーク、例えばインターネットに接続された遠隔コンピュータであってもよい。
MCデータに基づいてアバター画像を生成(レンダリング)することで、演者の挙動に併せて身体を動かすアバターが登場する動画または仮想的コンテンツを作成することが可能となる。この場合に、MCデータは、動画または仮想的コンテンツの1フレーム毎に生成され得る。かかる動画または仮想的コンテンツの共有を可能とするコンテンツ共有システムが図2に例示される。
図2のシステムは、クライアント200と、サーバ300と、観客端末400−1,400−2,・・・とを含む。
クライアント200は、例えば演者の居るMCスタジオ、家庭内などにあるコンピュータであってもよいし、演者から得られた画像データ、センシングデータなどをネットワーク、例えばインターネット経由で収集する遠隔コンピュータであってもよい。クライアント200は、演者から得られた画像データ、センシングデータなどに基づいて、生のMCデータを生成する。MCデータは、図3に例示されるように、演者の身体の複数の部位に取り付けられたマーカー(白丸)それぞれの3次元位置データを含み得る。なお、図3の例では、マーカーがグループ1およびグループ2に分類されているが、グループの詳細は後述する。クライアント200は、生のMCデータを補正してからサーバ300へ送信してもよいし、生のMCデータをそのままサーバ300へ送信してもよい。クライアント200が生のMCデータを補正する場合には、実施形態に係るデータ補正装置はクライアント200に含まれることになる。なお、クライアント200および配信者端末が異なる場合には、生のMCデータまたは補正済みMCデータは、配信者端末経由でサーバ300へ送信されてもよい。
サーバ300は、ネットワーク、例えばインターネットに接続されたコンピュータである。サーバ300は、クライアント200からネットワーク経由でMCデータを受信する。このMCデータは、生のMCデータであるかもしれないし、補正済みMCデータであるかもしれない。サーバ300は、受信した生のMCデータを補正し得る。この場合に、実施形態に係るデータ補正装置はサーバ300に含まれることになる。サーバ300は、クライアント200から受信した補正済みMCデータ、または自ら生成した補正済みMCデータを観客端末400(および配信者端末)へ配信する。
なお、サーバ300は、補正済みMCデータそのものではなく、当該データに基づいてアバター画像、またはこれを含む動画もしくは仮想的コンテンツを生成し、これを観客端末400(および配信者端末)へ配信してもよい。或いは、クライアント200または配信者端末が、補正済みMCデータに基づいて、アバター画像、またはこれを含む動画もしくは仮想的コンテンツを生成し、これをサーバ300へ送信してもよい。すなわち、アバター画像は、サーバ300によって生成されてもよいし、観客端末400(および配信者端末)によって生成されてもよい。ここでは、1つのサーバ300がMCデータの補正、補正済みMCデータに基づくアバター画像、および/またはこれを含む動画または仮想的コンテンツの生成、ならびにアバター画像、動画または仮想的コンテンツの配信を行うこととしているが、これらは別個のサーバによって分担されてもよい。
アバター画像をサーバ300によって生成すれば、観客端末400(および配信者端末)がアバター画像を生成するための十分なマシンパワーを有していなかったとしても、観客(および配信者)が同一の動画または仮想的コンテンツを楽しむことができるという利点がある。他方、アバター画像を観客端末400(およびクライアント200または配信者端末)によって生成すれば、画像データに比べてサイズの小さなMCデータが伝送されるので通信量を抑制することができる、サーバ300の処理負荷を軽減できる、さらに観客(および配信者)が個別に好みの外観(キャラクター、ファッション、など)のアバターを設定可能とすることで観客(および配信者)が挙動は同じだがアバターの外観は異なる動画または仮想的コンテンツを楽しむことができる、などの利点がある。
なお、配信者端末は補正済みMCデータまたはこれに基づくアバター画像の宛先から除外されてもよい。また、配信者端末およびクライアント200は互いに別の装置であってもよいし、両者が同一の装置であってもよい。ここで、配信者端末は、例えば、PC、モバイル端末(例えば、タブレット、ファブレット、スマートフォン、ラップトップ、ウェアラブルデバイス、ポータブルゲーム機、など)、据え置き型ゲーム機、などのネットワーク、例えばインターネット接続可能な電子デバイスであってよく、配信者がHMDにより動画または仮想的コンテンツを体験する場合には配信者端末はこのHMDの制御装置として機能し得る。
観客端末400は、図2のシステムによって共有されるコンテンツの受け手である観客にこのコンテンツを体験させる。観客端末400は、配信者端末と同様にネットワーク、例えばインターネット接続可能な電子デバイスであってよい。観客端末400は、観客がHMDにより動画または仮想的コンテンツを体験する場合には観客端末400はこのHMDの制御装置として機能し得る。観客端末400は、サーバ300からネットワーク経由で、補正済みMCデータ、またはこれに基づくアバター画像、またはこれを含む動画もしくは仮想的コンテンツを受信する。観客端末400は、受信したMCデータに基づいてアバター画像を含む動画または仮想的コンテンツを生成、出力したり、受信したアバター画像に基づいて当該アバター画像を含む動画または仮想的コンテンツを生成、出力したり、受信した動画または仮想的コンテンツを出力したりする。動画または仮想的コンテンツは、観客端末400に内蔵、外付けまたは無線接続された表示デバイス、例えば液晶ディスプレイ、有機EL(electroluminescence)ディスプレイ、HMDなどによって出力(表示)され得る。
なお、図2のシステムでは、C/S(Client / Server)型のネットワーク経由でMCデータなどが伝送されているが、かかるデータはP2P(Peer to Peer)型のネットワーク経由で、すなわちクライアント200に相当するMCデータ生成装置から観客端末400へ直接伝送されてもよい。P2P型のネットワークの例では、MCデータ生成装置が生のMCデータを観客端末400へ送信し、観客端末400が生のMCデータを補正することもあり得る。この場合に、実施形態に係るデータ補正装置は、観客端末400に含まれることになる。すなわち、実施形態に係るデータ補正装置は、クライアント200、サーバ300、または観客端末400のいずれに含まれることもあり得る。
次に、実施形態に係るデータ補正装置を説明する。このデータ補正装置は、データ補正を含む処理を行うプロセッサを含む。ここで、プロセッサは、典型的にはCPU(Central Processing Unit)および/またはGPU(Graphics Processing Unit)であるが、マイコン、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)、またはその他の汎用または専用のプロセッサなどであってもよい。
また、データ補正装置は、かかる処理を実現するためにプロセッサによって実行されるプログラムおよび当該プロセッサによって使用されるデータ、例えば、生のMCデータ、補正済みMCデータ、両者の中間的なMCデータ、および後述される分類規則を一時的に格納し得るメモリを含んでいる。メモリは、かかるプログラム/データが展開されるワークエリアを有するRAM(Random Access Memory)を含み得る。
なお、データ補正装置100は、全てのデータをオンメモリの状態で扱ってもよいし、一部のデータが補助記憶装置に退避されていてもよい。補助記憶装置は、例えば、データ補正装置100に内蔵または外付けされたHDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリなどであってもよいし、データ補正装置100からアクセス可能なデータベースサーバであってもよい。
図1は、実施形態に係るデータ補正装置100を例示する。このデータ補正装置100は、データ取得部101と、データ分類部102と、分類規則記憶部103と、データ補正部110とを含む。
データ取得部101は、クライアント200によって生成された補正前の、例えば生のMCデータを取得する。データ取得部101は、取得したMCデータをデータ分類部102へ送る。データ取得部101は、例えば前述のプロセッサに相当し得る。
このMCデータは、典型的には人間(演者)の複数の部位の3次元位置データに相当するが、人間に限らず動物などの他の生体、または機械などの他の動体の複数の部位の3次元位置データにも相当し得る。ここで、部位とは、MCデータの計測点を意味しており、例えばマーカーの装着点であり得る。
データ補正装置100がクライアント200に含まれる場合には、MCデータは当該クライアント200において作成され、データ補正装置100に渡され得る。他方、データ補正装置100がサーバ300または観客端末400に含まれる場合には、MCデータは当該サーバ300または観客端末400によってクライアント200からネットワーク経由で受信され、データ補正装置100に渡され得る。
データ分類部102は、データ取得部101からMCデータを受け取る。データ分類部102は、MCデータに含まれる複数の部位の3次元位置データの各々を、その対応する部位に依存して、予め定義されている複数のグループ(一次的な補正が行われるグループ)のうちの少なくとも1つに属するように分類する。ここで、データ分類部102によって行われる分類は、図3に例示されるように重複を許容する。故に、ある部位の3次元位置データがあるグループと別のグループとの両方に属することもあり得る。図3の例では、腰部を含む上半身の部位の3次元位置データはグループ1に分類され、腰部を含む下半身の部位の3次元位置データはグループ2に分類されるので、腰部にある部位の3次元位置データはグループ1にもグループ2にも属している。グループの構造は、分類規則記憶部103に保存された分類規則によって定義されている。データ分類部102は、グループ毎に、(補正前の)3次元位置データをデータ補正部110へ送る。データ分類部102は、例えば前述のプロセッサに相当し得る。
なお、データ分類部102は、データ取得部101からのMCデータに含まれる全要素を分類する必要はなく、MCデータに含まれる複数の部位のうちの少なくとも一部の3次元データについて分類すればよい。データ分類部102は、例えば、補正に使用されない部位、または最終的な補正済みのMCデータに含まれない部位の3次元位置データを分類しなくてもよい。
分類規則記憶部103は、分類規則を保存する。分類規則は、グループの構造、例えばそれぞれのグループに対応する部位、言い換えると当該グループに分類されるべき3次元位置データに対応する部位を定める。分類規則記憶部103に保存された分類規則は、データ分類部102によって参照され得る。分類規則記憶部103は、前述のメモリおよび/または補助記憶装置に相当し得る。
動体が骨格を有している場合には、この骨格の構造、例えば動体の部位の動きのメカニズム、に基づいてグループの構造が分類規則において定義されてもよい。例えば、動体の持つ可動関節の一部または全部がグループ間の境界として定められてもよく、境界となる可動関節よりも末端側に位置する部位(およびこの可動関節)と、当該可動関節よりも中心側に位置する部位(およびこの可動関節)とが異なるグループに対応すると定義されてもよい。
また、グループは、例えば、手(手首および指を含み得る)、前腕(手首および肘を含み得る)、上腕(肘および胸部を含み得る)、頭部(頸部を含み得る)、胴部(頸部、胸部および腰部を含み得る)、大腿(腰部および膝を含み得る)、下腿(膝および足首を含み得る)、足(足首および指を含み得る)のように身体のパーツ別に定義されてもよい。なお、手のように左右一対存在するパーツについては、左右で異なるグループに対応するように定義されてよい。
さらに、グループは、上述のいくつかのパーツをマージするように定義されてもよい。例えば、手、前腕および上腕は上肢としてマージされてもよいし、大腿、下腿および足は下肢としてマージされてもよい。或いは、上半身(手、前腕、上腕、頭部および胴部)および下半身(大腿、下腿、および足)がそれぞれ異なるグループに対応するように定義されてもよいし、左半身(左手、左前腕、左上腕、頭部(右側が除かれてもよい)、胴部(右側が除かれてもよい)、左大腿、左下腿、および左足)および右半身(右手、右前腕、右上腕、頭部(左側が除かれてもよい)、胴部(左側が除かれてもよい)、右大腿、右下腿、および右足)がそれぞれ異なるグループに対応するように定義されてもよい。
なお、複数のグループは、階層的に定義されてもよい。例えば図4に示されるように、複数の部位の3次元位置データ(丸印)の一次的な分類先として第1のグループおよび第2のグループが定義され、この第1のグループと第2のグループとを包含する第3のグループが定義されてもよい。また、第3のグループは、第1のグループの3次元位置データの少なくとも一部と第2のグループの3次元位置データの少なくとも一部とを包含する、というように完全でない包含関係が定義されてもよい。さらに、階層は、2層に限らず3層以上であってもよい。例えば図7に示されるように、複数の部位の3次元位置データ(丸印)の一次的な分類先として第1のグループ、第2のグループおよび第3のグループが定義され、この第1のグループと第2のグループとを包含する第4のグループ、それからこの第3のグループと第4のグループとを包含する第5のグループがさらに定義されてもよい。この場合に、第5のグループは、第1のグループおよび第2のグループから見て2つ上の階層に位置する。
複数の部位の3次元位置データをこのように分類することにより、各グループから空間的に遠く相関が低いと予想される部位の3次元位置データが排除されるので、当該グループに対応する部位の3次元位置データ同士の相関を効率的に学習し、高精度な補正をすることができる。例えば、通常は左手の動きと右足の動きとの相関は低く、右足の動きと右下腿および右大腿の相関は高いと予想されるが、例えば右下肢を左手とは異なるグループに対応するように定義すれば、左手の3次元位置データに影響されることなく、右下腿および右大腿の3次元位置データと右足の3次元位置データとの相関を効率的に学習して右足の3次元位置データを補正することが可能となる。
データ補正部110は、データ分類部102から、グループ毎に、(補正前の)3次元位置データを受け取る。データ補正部110は、分類規則において定義されるグループ構造に従って、グループ毎に、機械学習済みの学習モデルによって当該グループの3次元位置データを補正する。図4および図7に例示されるように、複数のグループが階層的に定義されている場合には、二次、または三次以上の補正が行われてもよい。データ補正部110は、最終的に、複数の部位の補正済み3次元位置データを生成し、出力する。
ここで、データ補正装置100がクライアント200またはサーバ300に含まれる場合には、複数の部位の補正済み3次元位置データは当該クライアント200またはサーバ300それぞれに渡され、サーバ300(もしくは観客端末400)または観客端末400へそれぞれネットワーク経由で送信され得る。他方、データ補正装置100が観客端末400に含まれる場合には、複数の部位の補正済み3次元位置データは当該観客端末400に渡され、例えばアバター画像の生成に利用され得る。データ補正部110は、例えば前述のプロセッサに相当し得る。
一般に、学習モデルは、例えば学習データの規模が不十分であるなどの原因で、本来は相関が低いであろうデータ同士の相関が過剰に高いと学習されたり、逆に本来は相関が高いであろうデータ同士の相関が過剰に低いと学習されたりすることがあり得る。しかしながら、データ分類部102によって位置データは、例えば互いに空間的に近い、すなわち相関が高いと予想される位置データ同士が同一グループに属するように分類され得るし、後述するように、データ補正部110によって利用される学習モデルは、それぞれグループ毎の機械学習の学習結果、例えばニューラルネットワーク重み、が設定される。この機械学習によれば、本来は相関が低いであろう位置データ同士の相関は学習されないので、各グループ向けの学習モデルにおいて当該グループに属する位置データ同士の相関が適切に学習されやすくなる。故に、全部位の位置データの相関を学習する場合に比べて使用する学習データを減らしたとしても、位置データを高精度に補正することができる。
例えば図4のグループ構造が採用されている場合には、データ補正部110は図5に例示されるようにグループ1補正部111と、グループ2補正部112と、グループ3補正部113とを含み得る。
グループ1補正部111は、データ分類部102からグループ1に対応する複数の部位の3次元位置データ(以降、単にグループ1の3次元位置データと称する)を受け取る。グループ1補正部111は、第1の学習モデルによって、グループ1の3次元位置データを補正し、グループ1に対応する複数の部位の補正済み3次元位置データ(以降、単にグループ1の補正済み3次元位置データと称する)を生成する。グループ1補正部111は、グループ1の補正済み3次元位置データをグループ3補正部113へ送る。
同様に、グループ2補正部112は、データ分類部102からグループ2に対応する複数の部位の3次元位置データ(以降、単にグループ2の3次元位置データと称する)を受け取る。グループ2補正部112は、第2の学習モデルによって、グループ2の3次元位置データを補正し、グループ2に対応する複数の部位の補正済み3次元位置データ(以降、単にグループ2の補正済み3次元位置データと称する)を生成する。グループ2補正部112は、グループ2の補正済み3次元位置データをグループ3補正部113へ送る。
ここで、第1の学習モデルおよび第2の学習モデルのうちの少なくとも1つは、DAE(De−noising Autoencoder)に類似した機能を有する。この学習モデルには、学習対象となるグループ(第1の学習モデルではグループ1であり、第2の学習モデルではグループ2である)に対応する複数の部位のクリーンな3次元位置データを目標ベクトル(または教師データ)とし、学習対象となるグループに対応する複数の部位の、エラー(ノイズ、欠測、フリップ)を伴う3次元位置データを入力ベクトル(または入力データ)とする学習データを用いた機械学習(教師あり学習)の学習結果が設定され得る。
上記クリーンな3次元位置データは、生のMCデータに含まれる生の3次元位置データを手作業で補正することで用意されてもよいし、人工的にエラーを伴わない3次元位置データを生成することで用意されてもよいし、かかる3次元位置データまたは人工的に生成された3次元位置データに変換、例えば、平行移動、回転、拡大/縮小、せん断写像などを適用することで用意されてもよい。他方、エラーを伴う3次元位置データは、生のMCデータに含まれる生の3次元位置データであってもよいし、上記クリーンな3次元位置データの少なくとも1つの要素に(人工的に)エラーを付加することで用意されてもよいし、かかる生の3次元位置データまたはエラー付加された3次元位置データに変換を適用することで用意されてもよい。
グループ3補正部113は、グループ1補正部111およびグループ2補正部112からグループ1の補正済み3次元位置データおよびグループ2の補正済み3次元位置データをそれぞれ受け取る。グループ3補正部113は、グループ1の(一次的な)補正済み3次元位置データおよびグループ2の(一次的な)補正済み3次元位置データを補正し、グループ3に対応する複数の部位の(二次的な)補正済み3次元位置データ(以降、単にグループ3の補正済み3次元位置データと称する)を生成する。図4および図5の例では、このグループ3の補正済み3次元位置データが最終的な補正済みMCデータに相当する。
例えば、グループ3補正部113は、第3の学習モデルによって、グループ1の補正済み3次元位置データおよびグループ2の補正済み3次元位置データを補正し、グループ3の補正済み3次元位置データを生成してもよい。第1のグループおよび第2のグループの間に重複する要素がない場合には、第3の学習モデルは、第1の学習モデルおよび第2の学習モデルと同様の機械学習により作成可能であり、DAEに類似した機能を有する。他方、図4および図5に例示されるように第1のグループおよび第2のグループの間に重複する要素がある場合には、第3の学習モデルは、グループ3に対応する複数の部位のクリーンな位置データを含む目標ベクトルと、グループ1に対応する複数の部位のクリーンな位置データおよびグループ2に対応する複数の部位のクリーンな位置データとを結合して得られるベクトルの少なくとも1つの要素にエラーを付加して得られる入力ベクトルとを含む学習データを用いて実行された機械学習の学習結果が設定され得る。
なお、この入力ベクトルは、同一の(エラーを伴う)MCデータに含まれる第1のグループおよび第2のグループの3次元位置データを第1の学習モデルおよび第2の学習モデルによってそれぞれ補正してから結合することで生成されてもよい。ここでの第1の学習モデルおよび第2の学習モデルは、学習済みであってもよいし、学習途中であってもよい。
図5のグループ1補正部111、グループ2補正部112およびグループ3補正部113によってそれぞれ利用される学習モデル、すなわち第1の学習モデル、第2の学習モデルおよび第3の学習モデルを作成するために実施される機械学習における学習データを図6に例示する。
図6の例では、全部で53個の部位の3次元位置データが補正の対象となる。グループ1には36個の部位が対応し、グループ2には24個の部位が対応する。故に、両グループで重複する要素は7個(=36+24−53)である。便宜的に、グループ1に対応する部位のラベルを「1」〜「36」とし、グループ2に対応するラベルを「30」〜「53」としている。
第1の学習モデルのための学習データは、ラベル「1」〜「36」に対応する36個の部位のクリーンな3次元位置データである目標ベクトル(m1=(p1,p2,・・・,p35,p36))と、この目標ベクトルの少なくとも1つの要素にエラーを付加した入力ベクトルと(m’1=(p’1,p’2,・・・,p’35,p’36)を含む。すなわち、p1≠p’1,p2≠p’2,・・・,p35≠p’35,p36≠p’36の少なくとも1つが成り立つ。
同様に、第2の学習モデルのための学習データは、ラベル「30」〜「53」に対応する24個の部位のクリーンな3次元位置データである目標ベクトル(m2=(p30,p31,・・・,p52,p53))と、この目標ベクトルの少なくとも1つの要素にエラーを付加した入力ベクトルと(m’2=(p’’30,・・・,p’’36,p’37,・・・,p’52,p’53)を含む。すなわち、p30≠p’’30,p36≠p’’36,p37≠p’37,・・・,p52≠p’52,p53≠p’53の少なくとも1つが成り立つ。
他方、第3の学習モデルのための学習データは、全ラベル「1」〜「53」に対応する53個の部位のクリーンな3次元位置データである目標ベクトル(m3=(p1,p2,・・・,p52,p53))と、上記m1およびm2を結合して得られるベクトル(p1,p2,・・・,p30,・・・,p36,p30,・・・,p36,p37,・・・,p52,p53)の少なくとも1つの要素にエラーを付加した入力ベクトルと(m’3=(p’’1,p’’2,・・・,p’’29,p’’’30,・・・p’’’36,p’’’’30,・・・p’’’’36,p’’37,・・・,p’’52,p’’53)を含む。すなわち、p1≠p’’1,p2≠p’’2,・・・,p29≠p’’29,p30≠p’’’30,・・・,p36≠p’’’36,p30≠p’’’’30,・・・,p36≠p’’’’36,p37≠p’’37,・・・,p52≠p’’52,p53≠p’’53の少なくとも1つが成り立つ。
或いは、グループ3補正部113は、グループ1の補正済み3次元位置データおよびグループ2の補正済み3次元位置データを統合するように補正し、グループ3の補正済み3次元位置データを生成してもよい。
例えば、グループ3補正部113は、グループ1の補正済み3次元位置データおよびグループ2の補正済み3次元位置データの間で重複する要素を例えばグループ1およびグループ2間に亘る(より一般化すれば、異なるグループ間に亘る)同一要素の平均化、最頻値抽出、中央値抽出、最大値抽出、最小値抽出、四分位数抽出、などの統計処理により決定してもよい。さらに、グループ3補正部113は、この重複要素に対する補正に基づいて、グループ1の補正済み3次元位置データのうちの当該重複要素を除いた要素と、グループ2の補正済み3次元位置データのうちの当該重複要素を除いた要素とをそれぞれ補正してもよい。具体的には、グループ3補正部113は、グループ1の補正済み3次元位置データのうちの重複要素に例えばd1の変位を加えたならば、グループ1の補正済み3次元位置データのうちの重複要素以外の要素にもd1の変位を加えてよい。同様に、グループ3補正部113は、グループ2の補正済み3次元位置データのうちの重複要素に例えばd2の変位を加えたならば、グループ2の補正済み3次元位置データのうちの重複要素以外の要素にもd2の変位を加えてよい。
なお、前述のように、グループ3は、グループ1の3次元位置データの少なくとも一部とグループ2の3次元位置データの少なくとも一部とを包含するようにも定義され得る。かかる場合に、グループ3補正部113は、以下のように変形され得る。
グループ3補正部113は、グループ1補正部111およびグループ2補正部112からグループ1の補正済み3次元位置データの少なくとも一部(グループ3に対応する部位の3次元位置データ)およびグループ2の補正済み3次元位置データの少なくとも一部(グループ3に対応する部位の3次元位置データ)をそれぞれ受け取る。グループ3補正部113は、グループ1の補正済み3次元位置データの少なくとも一部およびグループ2の補正済み3次元位置データの少なくとも一部を補正し、グループ3の補正済み3次元位置データを生成する。
例えば、グループ3補正部113は、学習モデルによって、グループ1の補正済み3次元位置データの少なくとも一部およびグループ2の補正済み3次元位置データの少なくとも一部を補正し、グループ3の補正済み3次元位置データを生成してもよい。この学習モデルは、グループ1に対応する部位の一部(グループ3に対応しない部位)と、グループ2に対応する部位の一部(グループ3に対応しない部位)とが学習の対象とならない点を除けば、前述の第3の学習モデルと同様の機械学習により作成可能である。或いは、グループ3補正部113は、グループ1の補正済み3次元位置データおよびグループ2の補正済み3次元位置データを統合するように補正し、このグループ3の補正済み3次元位置データを生成してもよい。
他方、例えば図7のグループ構造が採用されている場合には、データ補正部110は図8に例示されるようにグループ1補正部121と、グループ2補正部122と、グループ3補正部123と、グループ4補正部124と、グループ5補正部125とを含み得る。
グループ1補正部121は、データ分類部102からグループ1の3次元位置データを受け取る。グループ1補正部121は、学習モデルによって、グループ1の3次元位置データを補正し、グループ1の補正済み3次元位置データを生成する。グループ1補正部121は、グループ1の補正済み3次元位置データをグループ4補正部124へ送る。
同様に、グループ2補正部122は、データ分類部102からグループ2の3次元位置データを受け取る。グループ2補正部122は、学習モデルによって、グループ2の3次元位置データを補正し、グループ2の補正済み3次元位置データを生成する。グループ2補正部122は、グループ2の補正済み3次元位置データをグループ4補正部124へ送る。
同様に、グループ3補正部123は、データ分類部102からグループ3の3次元位置データを受け取る。グループ3補正部123は、学習モデルによって、グループ3の3次元位置データを補正し、グループ3の補正済み3次元位置データを生成する。グループ3補正部123は、グループ3の補正済み3次元位置データをグループ5補正部125へ送る。
グループ1補正部121、グループ2補正部122およびグループ3補正部123によって利用される学習モデルは、前述の第1の学習モデルおよび第2の学習モデルの例と同様の機械学習により作成可能である。
グループ4補正部124は、グループ1補正部121およびグループ2補正部122からグループ1の補正済み3次元位置データおよびグループ2の補正済み3次元位置データをそれぞれ受け取る。グループ4補正部124は、グループ1の(一次的な)補正済み3次元位置データおよびグループ2の(一次的な)補正済み3次元位置データを補正し、グループ4に対応する複数の部位の(二次的な)補正済み3次元位置データ(以降、単にグループ4の補正済み3次元位置データと称する)を生成する。
例えば、グループ4補正部124は、学習モデルによって、グループ1の補正済み3次元位置データおよびグループ2の補正済み3次元位置データを補正し、グループ4の補正済み3次元位置データを生成してもよい。この学習モデルは、前述の第3の学習モデルと同様の機械学習により作成可能である。或いは、グループ4補正部124は、前述のグループ3補正部113と同様に、グループ1の補正済み3次元位置データおよびグループ2の補正済み3次元位置データを統合するように補正し、このグループ4の補正済み3次元位置データを生成してもよい。
グループ5補正部125は、グループ3補正部123およびグループ4補正部124からグループ3の補正済み3次元位置データおよびグループ4の補正済み3次元位置データをそれぞれ受け取る。グループ5補正部125は、グループ3の(一次的な)補正済み3次元位置データおよびグループ4の(二次的な)補正済み3次元位置データを補正し、グループ5に対応する複数の部位の(二次的または三次的な)補正済み3次元位置データ(以降、単にグループ5の補正済み3次元位置データと称する)を生成する。図7および図8の例では、このグループ5の補正済み3次元位置データが最終的な補正済みMCデータに相当する。
例えば、グループ5補正部125は、学習モデルによって、グループ3の補正済み3次元位置データおよびグループ4の補正済み3次元位置データを補正し、グループ5の補正済み3次元位置データを生成してもよい。この学習モデルは、前述の第3の学習モデルと同様の機械学習により作成可能である。或いは、グループ5補正部125は、前述のグループ3補正部113と同様に、グループ3の補正済み3次元位置データおよびグループ4の補正済み3次元位置データを統合するように補正し、このグループ5の補正済み3次元位置データを生成してもよい。
以下、図9を用いて、データ補正装置100の動作を説明する。
まず、データ取得部101は、クライアント200、サーバ300、または観客端末400などからMCデータを取得する(ステップS501)。
まず、データ取得部101は、クライアント200、サーバ300、または観客端末400などからMCデータを取得する(ステップS501)。
データ分類部102は、分類規則記憶部103に保存された分類規則を参照し、ステップS501において取得されたMCデータに含まれる複数の部位の3次元位置データを、当該3次元位置データに対応する部位に依存して、複数のグループのうちの少なくとも1つに属するように分類する(ステップS502)。ステップS502の後に、処理はステップS503へ進む。
ステップS503において、データ補正部110は、補正が完了していないグループ、すなわち残存するグループのうちの最も下位のグループの各々について3次元位置データを補正する。ここで、例えば、グループAがグループBを包含する場合に、グループAはグループBよりも上位であると定義され、グループBはグループAよりも下位であると定義される。図4および図5の例では、データ補正部110は最初にグループ1およびグループ2についてそれぞれ3次元位置データを補正する。他方、図7および図8の例では、データ補正部110は最初に、グループ1、グループ2およびグループ3についてそれぞれ3次元位置データを補正する。
ステップS503に続くステップS504では、当該ステップS503により全てのグループについての補正が完了すれば、データ補正部110は当該ステップS503において生成した補正済み3次元位置データを最終的な補正済みMCデータとして出力し、図9の処理は終了する。他方、ステップS504の直前のステップS503によっても全てのグループについての補正が完了していなければ、すなわち補正が完了していないグループが残存していれば、より上位のグループについて補正を行う必要があるので、処理はステップS503に戻る。
以上説明したように、実施形態に係るデータ補正装置は、動体の複数の部位の位置データの各々を複数のグループのうちの少なくとも1つに属するように分類し、グループ毎に機械学習済みの学習モデルによって位置データを補正する。位置データは、例えば互いに空間的に近い、すなわち相関が高いと予想される位置データ同士が同一グループに属するように分類され得る。これにより、例えば空間的に離れた、すなわち相関が低いと予想される位置データの影響を排除した機械学習により作成された学習モデルを利用して、位置データを高精度に補正することができる。一般に、学習モデルは、例えば学習データの規模が不十分であるなどの原因で、本来は相関が低いであろうデータ同士の相関が過剰に高いと学習されたり、逆に本来は相関が高いであろうデータ同士の相関が過剰に低いと学習されたりすることがあり得る。しかしながら、このデータ補正装置によって利用される学習モデルは、それぞれグループ毎の機械学習の学習結果、例えばニューラルネットワーク重み、が設定される。この機械学習によれば、本来は相関が低いであろう位置データ同士の相関は学習されないので、各グループ向けの学習モデルにおいて当該グループに属する位置データ同士の相関が適切に学習されやすくなる。故に、全部位の位置データの相関を学習する場合に比べて使用する学習データを減らしたとしても、位置データを高精度に補正することができる。
上述の実施形態は、本発明の概念の理解を助けるための具体例を示しているに過ぎず、本発明の範囲を限定することを意図されていない。実施形態は、本発明の要旨を逸脱しない範囲で、様々な構成要素の付加、削除または転換をすることができる。
上述の実施形態では、いくつかの機能部を説明したが、これらは各機能部の実装の一例に過ぎない。例えば、1つの装置に実装されると説明された複数の機能部が複数の別々の装置に亘って実装されることもあり得るし、逆に複数の別々の装置に亘って実装されると説明された機能部が1つの装置に実装されることもあり得る。
上記各実施形態において説明された種々の機能部は、回路を用いることで実現されてもよい。回路は、特定の機能を実現する専用回路であってもよいし、プロセッサのような汎用回路であってもよい。
上記各実施形態の処理の少なくとも一部は、例えば汎用のコンピュータに搭載されたプロセッサを基本ハードウェアとして用いることでも実現可能である。上記処理を実現するプログラムは、コンピュータで読み取り可能な記録媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記録媒体に記憶される。記録媒体としては、磁気ディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリなどである。記録媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。
101・・・データ取得部
102・・・データ分類部
103・・・分類規則記憶部
110・・・データ補正部
111,121・・・グループ1補正部
112,122・・・グループ2補正部
113,123・・・グループ3補正部
124・・・グループ4補正部
125・・・グループ5補正部
200・・・クライアント
300・・・サーバ
400・・・観客端末
102・・・データ分類部
103・・・分類規則記憶部
110・・・データ補正部
111,121・・・グループ1補正部
112,122・・・グループ2補正部
113,123・・・グループ3補正部
124・・・グループ4補正部
125・・・グループ5補正部
200・・・クライアント
300・・・サーバ
400・・・観客端末
Claims (10)
- 動体の複数の部位の位置データを取得する取得部と、
前記複数の部位のうちの少なくとも一部の位置データの各々を、当該位置データに対応する部位に依存して、第1のグループおよび第2のグループを含む複数のグループのうちの少なくとも1つに属するように分類する分類部と、
第1の学習モデルによって、前記第1のグループの位置データを補正し、前記第1のグループの補正済み位置データを生成する第1の補正部と、
第2の学習モデルによって、前記第2のグループの位置データを補正し、前記第2のグループの補正済み位置データを生成する第2の補正部と
を具備する、データ補正装置。 - 前記動体は骨格を有しており、
前記複数のグループのそれぞれに対応する部位は、前記骨格の構造に基づいて定義されている、
請求項1に記載のデータ補正装置。 - 前記動体の骨格は、第1の可動関節を含み、
前記第1のグループは、少なくとも前記第1の可動関節よりも前記動体の末端側にある第1の部位に対応し、かつ、前記第1の可動関節よりも前記動体の中心側にあるいずれの部位にも対応しないように定義されていて、
前記第2のグループは、少なくとも前記第1の可動関節よりも前記動体の中心側にある第2の部位に対応し、かつ、前記第1の可動関節よりも前記動体の末端側にあるいずれの部位にも対応しないように定義されている、
請求項2に記載のデータ補正装置。 - 前記動体は、上半身および下半身を有し、
前記第1のグループは、前記動体の下半身に対応するように定義されていて、
前記第2のグループは、前記動体の上半身に対応するように定義されている、
請求項2に記載のデータ補正装置。 - 前記第1の学習モデルは、前記第1のグループに対応する複数の部位のクリーンな位置データを含む目標ベクトルと、前記目標ベクトルの少なくとも1つの要素にエラーを付加して得られる入力ベクトルとを含む学習データを用いて実行された機械学習の学習結果が設定されている、請求項1に記載のデータ補正装置。
- 前記第1のグループの補正済み位置データの少なくとも一部と、前記第2のグループの補正済み位置データの少なくとも一部とを補正し、前記第1のグループの位置データの少なくとも一部および前記第2のグループの位置データの少なくとも一部を包含する第3のグループの補正済み位置データを生成する第3の補正部をさらに具備する、請求項1に記載のデータ補正装置。
- 前記第3の補正部は、第3の学習モデルによって、前記第1のグループの補正済み位置データの少なくとも一部および前記第2のグループの補正済み位置データの少なくとも一部を補正し、前記第3のグループの補正済み位置データを生成する、請求項6に記載のデータ補正装置。
- 前記第3の学習モデルは、前記第3のグループに対応する複数の部位のクリーンな位置データを含む目標ベクトルと、前記第1のグループに対応する複数の部位の少なくとも一部のクリーンな位置データおよび前記第2のグループに対応する複数の部位の少なくとも一部のクリーンな位置データとを結合して得られるベクトルの少なくとも1つの要素にエラーを付加して得られる入力ベクトルとを含む学習データを用いて実行された機械学習の学習結果が設定されている、請求項7に記載のデータ補正装置。
- 前記第3の補正部は、前記第1のグループの補正済み位置データの少なくとも一部と、前記第2のグループの補正済み位置データの少なくとも一部とを統合し、前記第3のグループの補正済み位置データを生成する、請求項6に記載のデータ補正装置。
- コンピュータを、
動体の複数の部位の位置データを取得する手段、
前記複数の部位のうちの少なくとも一部の位置データの各々を、当該位置データに対応する部位に依存して、第1のグループおよび第2のグループを含む複数のグループのうちの少なくとも1つに属するように分類する手段、
第1の学習モデルによって、前記第1のグループの位置データを補正し、前記第1のグループの補正済み位置データを生成する手段、
第2の学習モデルによって、前記第2のグループの位置データを補正し、前記第2のグループの補正済み位置データを生成する手段
として機能させるデータ補正プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020021712A JP2020087483A (ja) | 2020-02-12 | 2020-02-12 | データ補正装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020021712A JP2020087483A (ja) | 2020-02-12 | 2020-02-12 | データ補正装置およびプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018214636A Division JP6684336B1 (ja) | 2018-11-15 | 2018-11-15 | データ補正装置およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020087483A true JP2020087483A (ja) | 2020-06-04 |
Family
ID=70908553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020021712A Pending JP2020087483A (ja) | 2020-02-12 | 2020-02-12 | データ補正装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020087483A (ja) |
-
2020
- 2020-02-12 JP JP2020021712A patent/JP2020087483A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Winkler et al. | Questsim: Human motion tracking from sparse sensors with simulated avatars | |
US11468612B2 (en) | Controlling display of a model based on captured images and determined information | |
WO2020054442A1 (ja) | 関節位置の取得方法及び装置、動作の取得方法及び装置 | |
Von Marcard et al. | Sparse inertial poser: Automatic 3d human pose estimation from sparse imus | |
US11514646B2 (en) | System, device, and method of generating a reduced-size volumetric dataset | |
CN110827383B (zh) | 三维模型的姿态模拟方法、装置、存储介质和电子设备 | |
JP2023502795A (ja) | 実世界環境の4d時空間モデルを生成するためのリアルタイムシステム | |
US20180070864A1 (en) | Methods and devices for assessing a captured motion | |
CN111488824A (zh) | 运动提示方法、装置、电子设备和存储介质 | |
Chen et al. | Real‐time human motion capture driven by a wireless sensor network | |
JP7164045B2 (ja) | 骨格認識方法、骨格認識プログラムおよび骨格認識システム | |
JP2019219989A (ja) | 姿勢推定装置、姿勢推定方法、およびプログラム | |
US20240185496A1 (en) | Systems and Methods for Immersive Digital Experiences | |
US20200054276A1 (en) | Particle filtering for continuous tracking and correction of body joint positions | |
JP6684336B1 (ja) | データ補正装置およびプログラム | |
Kim et al. | Human motion reconstruction from sparse 3D motion sensors using kernel CCA‐based regression | |
JP7409390B2 (ja) | 運動認識方法、運動認識プログラムおよび情報処理装置 | |
JP6585866B1 (ja) | 位置データ処理装置およびプログラム | |
JP2020087483A (ja) | データ補正装置およびプログラム | |
Kim et al. | Realtime performance animation using sparse 3D motion sensors | |
Milef et al. | Variational Pose Prediction with Dynamic Sample Selection from Sparse Tracking Signals | |
JP6810121B2 (ja) | データ補正装置およびプログラム | |
Liao et al. | Reconstructing 3D human pose and shape from a single image and sparse IMUs | |
Zhang | Evaluation of Motion Standard Based on Kinect Human Bone and Joint Data Acquisition | |
JP7458731B2 (ja) | 画像生成システム、画像処理装置、情報処理装置、画像生成方法、及びプログラム |