(57)【要約】【課題】ロバスト性の高いデータ補正を提供する。【解決手段】本発明の一態様に係るデータ補正装置は、取得部と、変換部と、補正部と、逆変換部と、統合部とを含む。取得部は、入力データセットを取得する。変換部は、入力データセットに相異なる複数の変換を並列に適用し、複数組の第１の中間データセットを生成する。補正部は、複数組の第１の中間データセットをそれぞれ補正し、複数組の第２の中間データセットを生成する。逆変換部は、複数組の第２の中間データセットの各々に、第２の中間データセットに対応する第１の中間データセットを生成するために適用された変換の逆変換を適用し、複数組の第３の中間データセットを生成する。統合部は、複数組の第３の中間データセットを統合し、入力データセットに対応する補正済みデータセットを生成する。【選択図】      図１
2020095294.tif 000002
【特許請求の範囲】
【請求項１】
入力データセットを取得する取得部と、
前記入力データセットに相異なる複数の変換を並列に適用し、複数組の第１の中間データセットを生成する変換部と、
前記複数組の第１の中間データセットをそれぞれ補正し、複数組の第２の中間データセットを生成する補正部と、
前記複数組の第２の中間データセットの各々に、当該第２の中間データセットに対応する第１の中間データセットを生成するために適用された変換の逆変換を適用し、複数組の第３の中間データセットを生成する逆変換部と、
前記複数組の第３の中間データセットを統合し、前記入力データセットに対応する補正済みデータセットを生成する統合部と
を具備する、データ補正装置。
【請求項２】
前記複数の変換は、平行移動、回転、縮小、拡大、恒等写像、およびせん断写像のうち少なくとも１つを含む、請求項１に記載のデータ補正装置。
【請求項３】
前記入力データセットは、画像データであって、
前記複数の変換は、明るさの調整、彩度の調整、色相の変換、平行移動、回転、縮小、拡大、恒等写像およびせん断写像のうち少なくとも１つを含む、
請求項１に記載のデータ補正装置。
【請求項４】
前記統合部は、前記複数組の第３の中間データセットに亘って要素毎に統計処理を行い、前記補正済みデータセットを生成する、請求項１に記載のデータ補正装置。
【請求項５】
前記統計処理は、平均化、最頻値抽出、中央値抽出、最大値抽出、最小値抽出、および四分位数抽出のうちの少なくとも１つを含む、請求項４に記載のデータ補正装置。
【請求項６】
前記統合部は、前記複数組の第３の中間データセットに亘る要素毎の不偏分散または標準偏差を、前記補正済みデータセットにおける当該要素の信頼性の指標として算出する、請求項１に記載のデータ補正装置。
【請求項７】
前記補正部は、学習モデルによって、前記複数組の第１の中間データセットをそれぞれ補正し、前記複数組の第２の中間データセットを生成する、請求項１に記載のデータ補正装置。
【請求項８】
前記学習モデルは、目標ベクトルと、前記目標ベクトルの少なくとも１つの要素にエラーを付加して得られる入力ベクトルとを含む学習データを用いて実行された機械学習の学習結果が設定されている、請求項７に記載のデータ補正装置。
【請求項９】
前記入力データセットは、複数の位置データ、または複数の位置における画素値データ、デプス値データ、強度データ、もしくは個数データ、のいずれかを含む、請求項１に記載のデータ補正装置。
【請求項１０】
コンピュータを
入力データセットを取得する手段、
前記入力データセットに相異なる複数の変換を並列に適用し、複数組の第１の中間データセットを生成する手段、
前記複数組の第１の中間データセットをそれぞれ補正し、複数組の第２の中間データセットを生成する手段、
前記複数組の第２の中間データセットの各々に、当該第２の中間データセットに対応する第１の中間データセットを生成するために適用された変換の逆変換を適用し、複数組の第３の中間データセットを生成する手段、
前記複数組の第３の中間データセットを統合し、前記入力データセットに対応する補正済みデータセットを生成する手段
として機能させるデータ補正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの補正に関する。
【背景技術】
【０００２】
近年、例えばＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）を装着した演者の身体の動きから生成したモーションキャプチャ（ＭＣ：Ｍｏｔｉｏｎ  Ｃａｐｔｕｒｅ）データを利用して、演者に追随して動くアバターのアニメーションを生成し、観客の端末へインターネットで生配信することが知られている。このＭＣデータは、例えば、演者の身体に取り付けられたマーカーを複数のカメラにより撮影することで得られた複数の画像からマーカーの３次元位置を検出することで生成されたり（光学式）、演者が装着するＨＭＤなどに搭載されたジャイロセンサおよび／または加速度センサなどの慣性センサの計測値に基づいて、それぞれのセンサの位置姿勢を算出することで生成されたりする（慣性センサ式）。ＭＣデータは、ノイズ（例えば、高周波ノイズ、ジッター、など）、遮蔽などによる欠測、および／または検出されたマーカーの位置とそのマーカーの識別ラベルとの対応付けの不一致（ラベリングミス）、などのエラーを伴い得る。
【０００３】
かかる生のＭＣデータの持つエラーを放置したままアバターのアニメーションを生成すると、アバターの姿勢や動きが、演者の実際の姿勢や動きから乖離したり、不自然なものとなったりするおそれがある。従来、かかるエラーは、人間により手作業で補正されてきた。しかしながら、手作業によるエラーの補正は、煩雑かつ高コストである。
【０００４】
非特許文献１には、生の光学ＭＣデータに含まれるエラーを補正する技法が開示されている。具体的には、非特許文献１では、入力姿勢（ボーンデータ）に基づいて算出された後に模擬的なエラーを付加されたマーカー位置データから、この入力姿勢に近い姿勢を生成するように学習されたニューラルネットワークが開示されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｄａｎｉｅｌ  Ｈｏｌｄｅｎ，  “Ｒｏｂｕｓｔ  ｓｏｌｖｉｎｇ  ｏｆ  ｏｐｔｉｃａｌ  ｍｏｔｉｏｎ  ｃａｐｔｕｒｅ  ｄａｔａ  ｂｙ  ｄｅｎｏｉｓｉｎｇ”，  ［ｏｎｌｉｎｅ］  ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｇｒａｐｈｉｃｓ  （ＴＯＧ）．  Ｖｏｌｕｍｅ  ３７，  Ｉｓｓｕｅ  ４，  Ａｕｇｕｓｔ  ２０１８．  Ａｒｔｉｃｌｅ  Ｎｏ．  １６５．  平成３０年９月３０日検索，＜ＵＲＬ：ｈｔｔｐｓ：／／ｄｌ．ａｃｍ．ｏｒｇ／ｃｉｔａｔｉｏｎ．ｃｆｍ？ｉｄ＝３１９７５１７．３２０１３０２＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非特許文献１に記載の技法は、学習済みのニューラルネットワークにより、ノイズを伴うマーカー位置データからこのノイズが補正されたボーンデータを生成する。すなわち、この技法では、マーカー位置データそのものの補正結果を直接的に得ることはできない。加えて、このような学習済みのニューラルネットワーク（より一般化すれば学習モデル）による補正技法は、学習データの量や質にも依存するが、あるデータセットの補正は得意であるが、別のデータセットの補正は不得意である、というように入力に対する補正の精度が安定しないことがある。
【０００７】
本発明は、ロバスト性の高いデータ補正を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様に係るデータ補正装置は、取得部と、変換部と、補正部と、逆変換部と、統合部とを含む。取得部は、入力データセットを取得する。変換部は、入力データセットに相異なる複数の変換を並列に適用し、複数組の第１の中間データセットを生成する。補正部は、複数組の第１の中間データセットをそれぞれ補正し、複数組の第２の中間データセットを生成する。逆変換部は、複数組の第２の中間データセットの各々に、第２の中間データセットに対応する第１の中間データセットを生成するために適用された変換の逆変換を適用し、複数組の第３の中間データセットを生成する。統合部は、複数組の第３の中間データセットを統合し、入力データセットに対応する補正済みデータセットを生成する。
【発明の効果】
【０００９】
本発明によれば、ロバスト性の高いデータ補正を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係るデータ補正装置を例示するブロック図。
【図２】図１のデータ補正装置を適用可能なコンテンツ共有システムを例示するブロック図。
【図３】図２のクライアントによって生成されるＭＣデータの説明図。
【図４】図１のデータ補正装置によって行われるＴ個の変換、補正およびＴ個の逆変換の説明図。
【図５】図１のデータ補正装置によって行われる変換、補正および逆変換の第１の例を示す図。
【図６】図１のデータ補正装置によって行われる変換、補正および逆変換の第２の例を示す図。
【図７】図１のデータ補正装置によって行われる変換、補正および逆変換の第３の例を示す図。
【図８】図１のデータ補正装置によって行われる変換、補正および逆変換の第４の例を示す図。
【図９】図１のデータ補正装置の動作を例示するフローチャート。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら実施形態の説明を述べる。なお、以降、説明済みの要素と同一または類似の要素には同一または類似の符号を付し、重複する説明については基本的に省略する。例えば、複数の同一または類似の要素が存在する場合に、各要素を区別せずに説明するために共通の符号を用いることがあるし、各要素を区別して説明するために当該共通の符号に加えて枝番号を用いることもある。
【００１２】
（実施形態）  
実施形態に係るデータ補正装置は、後述するように、位置データセット、画像データ、音声データ、などの入力データをロバストに補正する。なお、これらの入力データは、各々が複数のデータ要素、例えば位置データ、画素値データ、ステレオサンプリングデータなどを有するので、入力データセットと呼ぶこともできる。例えば、位置データセットは、ＭＣデータであってよい。ＭＣデータは、動体の複数の部位（光学ＭＣデータの場合には、動体の複数の部位に取り付けられたマーカー）の３次元位置データを有する。また、画像データは、可視光カメラによって撮影された自然画像に限らず、デプスマップ（距離画像とも呼ばれる）、ＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）、赤外線または紫外線カメラによって撮影された画像、流れ場または密度場などの場の画像、などであり得る。これらの画像データは、複数の位置において例えば画素値、デプス値、強度、個数などのデータを有する。
【００１３】
以降、説明の便宜のために、データ補正装置は、ＭＣデータ、すなわち３次元位置データセットを補正することを前提とする。ＭＣデータは、例えば、ＭＣスタジオにおいて本格的に生成されてもよいし（第１の例）、例えばコンテンツ共有システムによって共有されることになるコンテンツ、例えば動画、またはＶＲ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）、ＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）、ＭＲ（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）などの仮想的コンテンツの演者（配信者）の自宅などで簡易に生成されてもよい（第２の例）。
【００１４】
第１の例では、演者はマーカー付きの全身タイツなどを装着することで、その身体の複数の部位の動きをマーカーを介して補足できるようにする。そして、スタジオ内に設置された複数のカメラが、異なるアングルから演者を撮影する。クライアント（例えば、スタジオ内に設置されたコンピュータ、または複数の画像データを収集可能にネットワーク、例えばインターネットに接続された遠隔コンピュータ）が、複数の画像からマーカーの３次元位置を検出することにより、ＭＣデータを生成する。
【００１５】
第２の例では、演者は、例えば慣性センサなどのセンサを内蔵したＨＭＤを頭部に装着し、および／またはセンサを内蔵したコントローラ（操作スティックとも呼ぶ）を把持する。そして、クライアントは、これらのセンサの計測結果であるセンシングデータを収集し、これらのセンシングデータに基づいて、演者の身体の複数の部位、例えば頭部および／または手の動きを計算することで、ＭＣデータを生成する。第２の例において、クライアントは、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、スマートフォンであってもよいし、または複数のセンシングデータを収集可能にネットワーク、例えばインターネットに接続された遠隔コンピュータであってもよい。
【００１６】
ＭＣデータに基づいてアバター画像を生成（レンダリング）することで、演者の挙動に併せて身体を動かすアバターが登場する動画または仮想的コンテンツを作成することが可能となる。この場合に、ＭＣデータは、動画または仮想的コンテンツの１フレーム毎に生成され得る。かかる動画または仮想的コンテンツの共有を可能とするコンテンツ共有システムが図２に例示される。
【００１７】
図２のシステムは、クライアント２００と、サーバ３００と、観客端末４００−１，４００−２，・・・とを含む。
【００１８】
クライアント２００は、例えば演者の居るＭＣスタジオ、家庭内などにあるコンピュータであってもよいし、演者から得られた画像データ、センシングデータなどをネットワーク、例えばインターネット経由で収集する遠隔コンピュータであってもよい。クライアント２００は、演者から得られた画像データ、センシングデータなどに基づいて、生のＭＣデータを生成する。ＭＣデータは、図３に例示されるように、演者の身体の複数の部位に取り付けられたマーカー（白丸）それぞれの３次元位置データを含み得る。クライアント２００は、生のＭＣデータを補正してからサーバ３００へ送信してもよいし、生のＭＣデータをそのままサーバ３００へ送信してもよい。クライアント２００が生のＭＣデータを補正する場合には、実施形態に係るデータ補正装置はクライアント２００に含まれることになる。なお、クライアント２００および配信者端末が異なる場合には、生のＭＣデータまたは補正済みＭＣデータは、配信者端末経由でサーバ３００へ送信されてもよい。
【００１９】
サーバ３００は、ネットワーク、例えばインターネットに接続されたコンピュータである。サーバ３００は、クライアント２００からネットワーク経由でＭＣデータを受信する。このＭＣデータは、生のＭＣデータであるかもしれないし、補正済みＭＣデータであるかもしれない。サーバ３００は、受信した生のＭＣデータを補正し得る。この場合に、実施形態に係るデータ補正装置はサーバ３００に含まれることになる。サーバ３００は、クライアント２００から受信した補正済みＭＣデータ、または自ら生成した補正済みＭＣデータを観客端末４００（および配信者端末）へ配信する。
【００２０】
なお、サーバ３００は、補正済みＭＣデータそのものではなく、当該データに基づいてアバター画像、またはこれを含む動画もしくは仮想的コンテンツを生成し、これを観客端末４００（および配信者端末）へ配信してもよい。或いは、クライアント２００または配信者端末が、補正済みＭＣデータに基づいて、アバター画像、またはこれを含む動画もしくは仮想的コンテンツを生成し、これをサーバ３００へ送信してもよい。すなわち、アバター画像は、サーバ３００によって生成されてもよいし、観客端末４００（および配信者端末）によって生成されてもよい。ここでは、１つのサーバ３００がＭＣデータの補正、補正済みＭＣデータに基づくアバター画像、および／またはこれを含む動画または仮想的コンテンツの生成、ならびにアバター画像、動画または仮想的コンテンツの配信を行うこととしているが、これらは別個のサーバによって分担されてもよい。
【００２１】
アバター画像をサーバ３００によって生成すれば、観客端末４００（および配信者端末）がアバター画像を生成するための十分なマシンパワーを有していなかったとしても、観客（および配信者）が同一の動画または仮想的コンテンツを楽しむことができるという利点がある。他方、アバター画像を観客端末４００（およびクライアント２００または配信者端末）によって生成すれば、画像データに比べてサイズの小さなＭＣデータが伝送されるので通信量を抑制することができる、サーバ３００の処理負荷を軽減できる、さらに観客（および配信者）が個別に好みの外観（キャラクター、ファッション、など）のアバターを設定可能とすることで観客（および配信者）が挙動は同じだがアバターの外観は異なる動画または仮想的コンテンツを楽しむことができる、などの利点がある。
【００２２】
なお、配信者端末は補正済みＭＣデータまたはこれに基づくアバター画像の宛先から除外されてもよい。また、配信者端末およびクライアント２００は互いに別の装置であってもよいし、両者が同一の装置であってもよい。ここで、配信者端末は、例えば、ＰＣ、モバイル端末（例えば、タブレット、ファブレット、スマートフォン、ラップトップ、ウェアラブルデバイス、ポータブルゲーム機、など）、据え置き型ゲーム機、などのネットワーク、例えばインターネット接続可能な電子デバイスであってよく、配信者がＨＭＤにより動画または仮想的コンテンツを体験する場合には配信者端末はこのＨＭＤの制御装置として機能し得る。
【００２３】
観客端末４００は、図２のシステムによって共有されるコンテンツの受け手である観客にこのコンテンツを体験させる。観客端末４００は、配信者端末と同様にネットワーク、例えばインターネット接続可能な電子デバイスであってよい。観客端末４００は、観客がＨＭＤにより動画または仮想的コンテンツを体験する場合には観客端末４００はこのＨＭＤの制御装置として機能し得る。観客端末４００は、サーバ３００からネットワーク経由で、補正済みＭＣデータ、またはこれに基づくアバター画像、またはこれを含む動画もしくは仮想的コンテンツを受信する。観客端末４００は、受信したＭＣデータに基づいてアバター画像を含む動画または仮想的コンテンツを生成、出力したり、受信したアバター画像に基づいて当該アバター画像を含む動画または仮想的コンテンツを生成、出力したり、受信した動画または仮想的コンテンツを出力したりする。動画または仮想的コンテンツは、観客端末４００に内蔵、外付けまたは無線接続された表示デバイス、例えば液晶ディスプレイ、有機ＥＬ（ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ、ＨＭＤなどによって出力（表示）され得る。
【００２４】
なお、図２のシステムでは、Ｃ／Ｓ（Ｃｌｉｅｎｔ  ／  Ｓｅｒｖｅｒ）型のネットワーク経由でＭＣデータなどが伝送されているが、かかるデータはＰ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）型のネットワーク経由で、すなわちクライアント２００に相当するＭＣデータ生成装置から観客端末４００へ直接伝送されてもよい。Ｐ２Ｐ型のネットワークの例では、ＭＣデータ生成装置が生のＭＣデータを観客端末４００へ送信し、観客端末４００が生のＭＣデータを補正することもあり得る。この場合に、実施形態に係るデータ補正装置は、観客端末４００に含まれることになる。すなわち、実施形態に係るデータ補正装置は、クライアント２００、サーバ３００、または観客端末４００のいずれに含まれることもあり得る。
【００２５】
次に、実施形態に係るデータ補正装置を説明する。このデータ補正装置は、データ補正を含む処理を行うプロセッサを含む。ここで、プロセッサは、典型的にはＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）および／またはＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であるが、マイコン、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、またはその他の汎用または専用のプロセッサなどであってもよい。
【００２６】
また、データ補正装置は、かかる処理を実現するためにプロセッサによって実行されるプログラムおよび当該プロセッサによって使用されるデータ、例えば、生のＭＣデータ、補正済みＭＣデータ、および両者の中間的なＭＣデータ、を一時的に格納し得るメモリを含んでいる。メモリは、かかるプログラム／データが展開されるワークエリアを有するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含み得る。
【００２７】
図１は、実施形態に係るデータ補正装置１００を例示する。このデータ補正装置１００は、データ取得部１０１と、データ変換部１０２と、データ補正部１０３と、データ逆変換部１０４と、変換制御部１０５と、データ統合部１０６とを含む。これらの各機能部は、例えば前述のプロセッサに相当し得る。
【００２８】
データ取得部１０１は、例えばＭＣデータなどの入力データセット（ｘｏ）を取得する。データ取得部１０１は、この入力データセットをデータ変換部１０２へ送る。ここで、データ補正装置１００がクライアント２００に含まれる場合には、入力データセットは当該クライアント２００において作成され、データ補正装置１００に渡され得る。他方、データ補正装置１００がサーバ３００または観客端末４００に含まれる場合には、入力データセットは当該サーバ３００または観客端末４００によってクライアント２００からネットワーク経由で受信され、データ補正装置１００に渡され得る。
【００２９】
データ変換部１０２は、データ取得部１０１から入力データセットを受け取る。データ変換部１０２は、この入力データセット（ｘｏ）に対して相異なる複数（例えばＴ個とする）の変換を並列に適用し、Ｔ組の第１の中間データセット（ｙｏ１，ｙｏ２，・・・，ｙｏＴ）を生成する。データ変換部１０２は、これらＴ組の第１の中間データセットをデータ補正部１０３へ送る。
【００３０】
ここで、複数の変換は、任意の可逆変換である。例えば入力データセットがＭＣデータまたは画像データなどである場合には、複数の変換は、平行移動、回転、縮小、拡大、恒等写像およびせん断写像のうち少なくとも１つを含み得る。また、入力データセットが画像データの場合には、複数の変換は、さらに、明るさの調整、彩度の調整、色相の変換（例えば、回転）なども含み得る。画像データの変換は、画像データに含まれるそれぞれの画素値を当該画素値の定義される色空間、例えばＲＧＢ空間、Ｌａｂ空間などにおける３次元の点とみなして行ってもよいし、それぞれの画素値データに対応付けられる画素位置に対して行ってもよい。音声データの変換は、位相の変換、振幅の変換、などを含み得る。なお、変換は、複数の可逆変換の組み合わせ、例えば平行移動してから回転、縮小してから平行移動、などもあり得る。
【００３１】
回転は、ある基準点を通る回転軸（例えば、ロール軸、ピッチ軸、ヨー軸など）周りに入力データセットに関する位置（例えば、ＭＣデータの場合には（３次元）位置データの示す位置、画像データの場合には画素値データ、デプス値データなどに対応する画素の位置、など）を回転させることを意味する。また、拡大／縮小は、ある基準点から入力データセットに関する位置までの距離を拡大／縮小させる変換を意味する。ここで、基準点は、例えば、入力データセットがＭＣデータである場合には対象となる動体の推定重心位置であり得るし、画像データであれば、画素値の定義される色空間の原点、または予め定義された位置範囲の中心（例えば、Ｗ画素×Ｈ画素の矩形領域の中心）、などであり得る。
【００３２】
ここで、変換の個数Ｔの値や、それぞれの変換を定めるパラメータ（変換の種類、変換関数／行列、変換の量／強度、など）は、後述される変換制御部１０５によって指示される。また、データ変換部１０２に指示されたパラメータは、データ逆変換部１０４にも指示される。
【００３３】
データ補正部１０３は、データ変換部１０２からＴ組の第１の中間データセットを受け取る。データ補正部１０３は、これらＴ組の第１の中間データセット（ｙｏ１，ｙｏ２，・・・，ｙｏＴ）をそれぞれ補正し、Ｔ組の第２の中間データセット（ｙｃ１，ｙｃ２，・・・，ｙｃＴ）を生成する。データ補正部１０３は、これらＴ組の第２の中間データセット（ｙｃ１，ｙｃ２，・・・，ｙｃＴ）をデータ逆変換部１０４へ送る。
【００３４】
データ補正部１０３は、例えばＭＣデータ、画像データなどのデータセットの入力を受けてその補正済みデータセットを出力する、機械学習済みの学習モデル（例えば、ニューラルネットワーク）によって、それぞれの第１の中間データセットを補正し得る。かかる学習モデルは、例えばＤＡＥ（Ｄｅ−ｎｏｉｓｉｎｇ  Ａｕｔｏｅｎｃｏｄｅｒ）に類似した機能を有する。
【００３５】
かかる学習モデルには、クリーンなデータセットを目標ベクトル（または教師データ）とし、エラー（例えば、ノイズ、欠測、フリップ、など）を伴うデータセットを入力ベクトル（または入力データ）とする学習データを用いた機械学習の学習結果、例えばニューラルネットワーク重み、が設定され得る。
【００３６】
ここで、クリーンなデータセットは、生のデータセットを手作業で補正することで用意されてもよいし、人工的にエラーを伴わないデータセットを生成することで用意されてもよいし、かかる補正済みのデータセットまたは人工的に生成されたデータセットに変換を適用することで用意されてもよい。他方、エラーを伴うデータセットは、生のデータセットであってもよいし、上記クリーンなデータセットの少なくとも１つの要素に（人工的に）エラーを付加することで用意されてもよいし、かかる生のデータセットまたはエラー付加されたデータセットに変換を適用することで用意されてもよい。
【００３７】
一般に、学習モデルは、学習データの量や質にも依存するが、ある入力データに対する補正は得意である（すなわち精度が高い）が、別の入力データに対する補正は不得意である（すなわち精度が低い）、というように入力データに対する補正の精度が安定しないことがある。しかしながら、以下に説明するように、本実施形態に係るデータ補正装置によれば、学習モデルを用いて補正を実現する場合であっても、安定した精度の補正済みデータセットを最終的に生成することが可能である。
【００３８】
データ補正部１０３によって生成されたＴ組の第２の中間データセットは、Ｔ組の第１の中間データセットの補正結果に相当する。すなわち、データ補正部１０３は、入力データセットのみ、すなわち１組のデータセットのみを補正するのではなく、Ｔ組の第１の中間データセットを補正するので、Ｔ組の第１の中間データセットに含まれる一部のデータセットに対する補正の精度が低かったとしても、Ｔ組の第１の中間データセットに含まれる残りのデータセットに対して高精度に補正する可能性がある。故に、これらを後述するように逆変換後に統合することで、多様な入力データセットに対して安定した精度で補正済みデータセットを得ることができる。
【００３９】
データ補正部１０３によって生成されたＴ組の第２の中間データセットの少なくとも一部において、入力データセットに含まれていたエラーは補正により低減または除去されていると期待できる。ただし、これら第２の中間データセットには、データ変換部１０２による可逆変換の適用によって入力データセットに対して回転、平行移動などの差異が付加されているため、これら第２の中間データセットをそのまま入力データセットに対応する暫定的な補正済みデータセットとして扱う事はできない。そこで、Ｔ組の第２の中間データセットのそれぞれにおいて、可逆変換の適用により付加された入力データセットとの差異が除去、すなわち逆変換がデータ逆変換部１０４によって適用されることになる。
【００４０】
データ逆変換部１０４は、データ補正部１０３からＴ組の第２の中間データセットを受け取る。データ逆変換部１０４は、Ｔ組の第２の中間データセット（ｙｃ１，ｙｃ２，・・・，ｙｃＴ）の各々に、当該第２の中間データセットに対応する第１の中間データセット（ｙｏ１，ｙｏ２，・・・，ｙｏＴ）を生成するために適用された変換の逆変換を適用し、Ｔ組の第３の中間データセット（ｘｏ１，ｘｏ２，・・・，ｘｏＴ）を生成する。データ逆変換部１０４は、これらＴ組の第３の中間データセットをデータ統合部１０６へ送る。
【００４１】
すなわち、データ逆変換部１０４は、図４に例示されるように、入力データセット（ｘｏ）に対して第１の変換を適用して生成された第１の中間データセット（ｙｏ１）の補正結果である第２の中間データセット（ｙｃ１）に対して、当該第１の変換の逆変換である第１の逆変換を適用し、第３の中間データセット（ｘｃ１）を生成する。同様に、データ逆変換部１０４は、入力データセット（ｘｏ）に対して第２，・・・，第Ｔの変換を適用して生成された第１の中間データセット（ｙｏ２，・・・，ｙｏＴ）の補正結果である第２の中間データセット（ｙｃ２，・・・，ｙｃＴ）に対して、当該第２，・・・，第Ｔの変換の逆変換である第２，・・・，第Ｔの逆変換を適用し、第３の中間データセット（ｘｃ２，・・・，ｘｃＴ）を生成する。データ逆変換部１０４がそれぞれの第２の中間データセットに適用すべき逆変換は、変換制御部１０５によって指示されたパラメータにより定められる。
【００４２】
例えば、恒等写像の逆変換は恒等写像である。仮に、第１の変換が恒等写像である場合には、図５に例示されるように、データ変換部１０２は、入力データセット（ｘｏ＝ｘｔ＋ｅｏ）に恒等写像を適用し、第１の中間データセット（ｙｏ１＝ｘｔ＋ｅｏ）を生成する。ここで、ｘｔは、入力データセットのそれぞれの要素の真の値からなるデータセット、すなわち入力データセットからエラーを完全に除去することで得られる理想的な補正結果を示す。ｅｏは、入力データセットのそれぞれの要素が持つエラーの値からなるデータセットに相当する。なお、図５、および後述される図６乃至図８の例では説明の簡単化のために、加法性雑音に相当するエラーのみを考慮しているが、実際には欠測を含む乗法性雑音に相当するエラーについても同様に取り扱うことが可能である。次に、データ補正部１０３は、第１の中間データセット（ｙｏ１＝ｘｔ＋ｅｏ）を補正して、第２の中間データセット（ｙｃ１＝ｘｔ＋ｅｃ１）を生成する。ｅｃ１は、第２の中間データセット（ｙｃ１）のそれぞれの要素が持つエラーの値からなるデータセットに相当する。データ補正部１０３によって適切な補正がなされていれば、ｅｃ１のノルムは、ｅｏよりも小さくなる。次に、データ逆変換部１０４は、第２の中間データセット（ｙｃ１＝ｘｔ＋ｅｃ１）に恒等写像を適用し、第３の中間データセット（ｘｃ１＝ｘｔ＋ｅｃ１）を生成する。
【００４３】
また、ある移動量を伴う平行移動の逆変換は、当該移動量の符号反転値に相当する移動量を伴う平行移動である。仮に、入力データセットがＭＣデータであって、第２の変換がある行列Ｔによって定められる移動量を伴う平行移動である場合には、図６に例示されるように、データ変換部１０２は、入力データセット（ｘｏ＝ｘｔ＋ｅｏ）に行列Ｔを用いた平行移動を適用し、第１の中間データセット（ｙｏ２＝ｘｔ＋Ｔ＋ｅｏ）を生成する。ここで、Ｔは、入力データセット（ＭＣデータ）の要素である３次元位置データのそれぞれに加えるべき共通の３次元変位を定める。次に、データ補正部１０３は、第１の中間データセット（ｙｏ２＝ｘｔ＋Ｔ＋ｅｏ）を補正して、第２の中間データセット（ｙｃ２＝ｘｔ＋Ｔ＋ｅｃ２）を生成する。ｅｃ２は、第２の中間データセット（ｙｃ２）のそれぞれの要素が持つエラーの値からなるデータセットに相当する。データ補正部１０３によって適切な補正がなされていれば、ｅｃ２のノルムは、ｅｏよりも小さくなる。次に、データ逆変換部１０４は、第２の中間データセット（ｙｃ２＝ｘｔ＋Ｔ＋ｅｃ２）に行列Ｔ’を用いた平行移動を適用し、第３の中間データセット（ｘｃ２＝ｘｔ＋ｅｃ２）を生成する。ここで、行列Ｔ’は、行列Ｔの全要素を符号反転させることで得られる。
【００４４】
ある回転量を伴うある回転軸周りの回転の逆変換は、当該回転量の符号反転値に相当する回転量を伴う同回転軸周りの回転である。仮に、入力データセットがＭＣデータであって、第３の変換がある行列Ｒによって定められる回転量を伴う回転である場合には、図７に例示されるように、データ変換部１０２は、入力データセット（ｘｏ＝ｘｔ＋ｅｏ）に行列Ｒを用いた回転を適用し、第１の中間データセット（ｙｏ３＝Ｒ（ｘｔ＋ｅｏ−Ｃｒ）＋Ｃｒ）を生成する。ここで、Ｒは、入力データセット（ＭＣデータ）の要素である３次元位置データのそれぞれに加えるべき共通の回転量を定める。Ｃｒは、前述の基準点の位置データの繰り返しからなる。次に、データ補正部１０３は、第１の中間データセット（ｙｏ３＝Ｒ（ｘｔ＋ｅｏ−Ｃｒ）＋Ｃｒ）を補正して、第２の中間データセット（ｙｃ３＝Ｒ（ｘｔ−Ｃｒ）＋Ｃｒ＋ｅｃ３）を生成する。ｅｃ３は、第２の中間データセット（ｙｃ３）のそれぞれの要素が持つエラーの値からなるデータセットに相当する。データ補正部１０３によって適切な補正がなされていれば、ｅｃ３のノルムは、ｅｏよりも小さくなる。次に、データ逆変換部１０４は、第２の中間データセット（ｙｃ３＝Ｒ（ｘｔ−Ｃｒ）＋Ｃｒ＋ｅｃ３）に行列Ｒ−１を用いた回転を適用し、第３の中間データセット（ｘｃ３＝ｘｔ＋Ｒ−１ｅｃ３）を生成する。ここで、行列Ｒ−１は、行列Ｒの逆行列である。
【００４５】
ある比率の拡大／縮小の逆変換は、当該比率の逆数に相当する比率の縮小／拡大である。仮に、入力データセットがＭＣデータであって、第４の変換がある比率Ｓの拡大／縮小である場合には、図８に例示されるように、データ変換部１０２は、入力データセット（ｘｏ＝ｘｔ＋ｅｏ）に比率Ｓを用いた拡大／縮小を適用し、第１の中間データセット（ｙｏ４＝Ｓ（ｘｔ＋ｅｏ−Ｃｒ）＋Ｃｒ）を生成する。ここで、Ｓは、拡大／縮小の比率を定めるスカラー（＞０）であって、０＜Ｓ＜１の場合には縮小、１＜Ｓの場合には拡大を意味する。次に、データ補正部１０３は、第１の中間データセット（ｙｏ４＝Ｓ（ｘｔ＋ｅｏ−Ｃｒ）＋Ｃｒ）を補正して、第２の中間データセット（ｙｃ４＝Ｓ（ｘｔ−Ｃｒ）＋Ｃｒ＋ｅｃ４）を生成する。ｅｃ４は、第２の中間データセット（ｙｃ４）のそれぞれの要素が持つエラーの値からなるデータセットに相当する。データ補正部１０３によって適切な補正がなされていれば、ｅｃ４のノルムは、Ｓｅｏよりも小さくなる。次に、データ逆変換部１０４は、第２の中間データセット（ｙｃ４＝Ｒ（ｘｔ−Ｃｒ）＋Ｃｒ＋ｅｃ４）に比率１／Ｓを用いた縮小／拡大を適用し、第３の中間データセット（ｘｃ４＝ｘｔ＋ｅｃ４／Ｓ）を生成する。
【００４６】
せん断写像の逆変換は、このせん断写像の逆写像に相当するせん断写像である。明るさ／彩度の調整、または色相の変換の逆変換は、例えば明るさ／彩度の調整、または色相の変換のために用いられた変換関数／行列の逆関数／行列を適用することであり得る。
【００４７】
変換制御部１０５は、データ変換部１０２およびデータ逆変換部１０４によって適用される変換／逆変換の個数Ｔの値や、それぞれの変換を定めるパラメータ（変換の種類、変換関数／行列、変換の量／強度、など）を決定し、これらを示すパラメータをデータ変換部１０２およびデータ逆変換部１０４へ指示する。
【００４８】
データ統合部１０６は、Ｔ組の第３の中間データセット（ｘｏ１，ｘｏ２，・・・，ｘｏＴ）を統合し、入力データセットに対応する補正済みデータセットを生成し、出力する。ここで、データ補正装置１００がクライアント２００またはサーバ３００に含まれる場合には、補正済みデータセットは当該クライアント２００またはサーバ３００それぞれに渡され、サーバ３００（もしくは観客端末４００）または観客端末４００へそれぞれネットワーク経由で送信され得る。他方、データ補正装置１００が観客端末４００に含まれる場合には、補正済みデータセットは当該観客端末４００に渡され、例えばアバター画像の生成に利用され得る。
【００４９】
ここで、統合とは、Ｔ組の第３の中間データセットを１つの補正済みデータセットに纏める処理を意味しており、典型的には統計処理であり得る。例えば、統計処理は、Ｔ組の第３の中間データセットに亘る同一要素の平均化、最頻値抽出、中央値抽出、最大値抽出、最小値抽出、四分位数抽出、などであり得る。また、データ統合部１０６は、Ｔ組の第３の中間データセットに亘る同一要素の平均などに加えて、当該要素についての不偏分散（または標準偏差）を計算し、補正済みデータセットにおける当該要素の信頼性の指標とすることもできる。かかる統合により、Ｔ組の第１の中間データセットうちの一部のデータセットに対する補正の精度が低かったとしても、残部のデータセットに対する精度が高ければ、安定した精度で補正済みデータセットを生成することが可能となる。
【００５０】
以下、図９を用いて、データ補正装置１００の動作を説明する。  
まず、データ取得部１０１は、クライアント２００、サーバ３００、または観客端末４００などから入力データセットを取得する（ステップＳ５０１）。
【００５１】
データ変換部１０２は、ステップＳ５０１において取得された入力データセットに相異なるＴ個の変換を並列に適用し、Ｔ組の第１の中間データセットを生成する（ステップＳ５０２）。
【００５２】
データ補正部１０３は、ステップＳ５０３において生成されたＴ組の第１の中間データセットをそれぞれ補正し、Ｔ組の第２の中間データセットを生成する（ステップＳ５０３）。
【００５３】
データ逆変換部１０４は、ステップＳ５０３において生成されたＴ組の第２の中間データセットの各々に、当該第２の中間データセットに対応する第１の中間データセットを生成するためにステップＳ５０２において適用された変換の逆変換を適用し、Ｔ組の第３の中間データセットを生成する（ステップＳ５０４）。
【００５４】
データ統合部１０６は、ステップＳ５０４において生成されたＴ組の第３の中間データセットを統合し、ステップＳ５０１において取得された入力データセットに対応する補正済みデータセットを生成する（ステップＳ５０５）。
【００５５】
以上説明したように、実施形態に係るデータ補正装置は、入力データセットに対して相異なる複数の可逆変換を並列に適用して複数組の中間データセットを生成し、これらそれぞれ個別に補正してから先の変換の逆変換を適用し、入力データセットに対する複数組の暫定的な補正済みデータセットを得る。それから、このデータ補正装置はこれら暫定的な補正済みデータセットを統合し、（最終的な）補正済みデータセットを生成する。このように、同一の入力データセットに多様な変換を適用することで得られた多様な入力データセットの補正を試み、それらの補正結果を変換の効果を除去したうえで統合することにより、例えばある種の学習モデルのように、ある入力データに対する補正の精度は高いものの別の入力データに対する補正の精度は低い、といった性質を持つ補正技法を利用した場合であっても、安定した精度で補正済みデータセットを生成することが可能となる。すなわち、本実施形態に係るデータ補正装置によれば、ロバスト性の高いデータ補正を提供することができる。
【００５６】
上述の実施形態は、本発明の概念の理解を助けるための具体例を示しているに過ぎず、本発明の範囲を限定することを意図されていない。実施形態は、本発明の要旨を逸脱しない範囲で、様々な構成要素の付加、削除または転換をすることができる。
【００５７】
上述の実施形態では、いくつかの機能部を説明したが、これらは各機能部の実装の一例に過ぎない。例えば、１つの装置に実装されると説明された複数の機能部が複数の別々の装置に亘って実装されることもあり得るし、逆に複数の別々の装置に亘って実装されると説明された機能部が１つの装置に実装されることもあり得る。
【００５８】
上記各実施形態において説明された種々の機能部は、回路を用いることで実現されてもよい。回路は、特定の機能を実現する専用回路であってもよいし、プロセッサのような汎用回路であってもよい。
【００５９】
上記各実施形態の処理の少なくとも一部は、例えば汎用のコンピュータに搭載されたプロセッサを基本ハードウェアとして用いることでも実現可能である。上記処理を実現するプログラムは、コンピュータで読み取り可能な記録媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記録媒体に記憶される。記録媒体としては、磁気ディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリなどである。記録媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ（サーバ）上に格納し、ネットワーク経由でコンピュータ（クライアント）にダウンロードさせてもよい。
【符号の説明】
【００６０】
１００・・・データ補正装置
１０１・・・データ取得部
１０２・・・データ変換部
１０３・・・データ補正部
１０４・・・データ逆変換部
１０５・・・変換制御部
１０６・・・データ統合部
２００・・・クライアント
３００・・・サーバ
４００・・・観客端末
【図１】
2020095294.tif 000003
【図２】
2020095294.tif 000004
【図３】
2020095294.tif 000005
【図４】
2020095294.tif 000006
【図５】
2020095294.tif 000007
【図６】
2020095294.tif 000008
【図７】
2020095294.tif 000009
【図８】
2020095294.tif 000010
【図９】
2020095294.tif 000011
【手続補正書】
【提出日】令和2年4月27日(2020.4.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力データセットを取得する取得部と、
前記入力データセットに相異なる複数の可逆変換である変換を並列に適用し、複数組の第１の中間データセットを生成する変換部と、
前記複数組の第１の中間データセットをそれぞれ補正し、複数組の第２の中間データセットを生成する補正部と、
前記複数組の第２の中間データセットの各々に、当該第２の中間データセットに対応する第１の中間データセットを生成するために適用された相異なる複数の前記変換の各々の逆変換を適用し、複数組の第３の中間データセットを生成する逆変換部と、
前記複数組の第３の中間データセットを統合し、前記入力データセットに対応する補正済みデータセットを生成する統合部と
を具備する、データ補正装置。
【請求項２】
前記複数の変換は、平行移動、回転、縮小、拡大、恒等写像、およびせん断写像のうち少なくとも１つを含む、請求項１に記載のデータ補正装置。
【請求項３】
前記入力データセットは、画像データであって、
前記複数の変換は、明るさの調整、彩度の調整、色相の変換、平行移動、回転、縮小、拡大、恒等写像およびせん断写像のうち少なくとも１つを含む、
請求項１に記載のデータ補正装置。
【請求項４】
前記統合部は、前記複数組の第３の中間データセットに亘って要素毎に統計処理を行い、前記補正済みデータセットを生成する、請求項１に記載のデータ補正装置。
【請求項５】
前記統計処理は、平均化、最頻値抽出、中央値抽出、最大値抽出、最小値抽出、および四分位数抽出のうちの少なくとも１つを含む、請求項４に記載のデータ補正装置。
【請求項６】
前記統合部は、前記複数組の第３の中間データセットに亘る要素毎の不偏分散または標準偏差を、前記補正済みデータセットにおける当該要素の信頼性の指標として算出する、請求項１に記載のデータ補正装置。
【請求項７】
前記補正部は、学習モデルによって、前記複数組の第１の中間データセットをそれぞれ補正し、前記複数組の第２の中間データセットを生成する、請求項１に記載のデータ補正装置。
【請求項８】
前記学習モデルは、目標ベクトルと、前記目標ベクトルの少なくとも１つの要素にエラーを付加して得られる入力ベクトルとを含む学習データを用いて実行された機械学習の学習結果が設定されている、請求項７に記載のデータ補正装置。
【請求項９】
前記入力データセットは、複数の位置データ、または複数の位置における画素値データ、デプス値データ、強度データ、もしくは個数データ、のいずれかを含む、請求項１に記載のデータ補正装置。
【請求項１０】
コンピュータを
入力データセットを取得する手段、
前記入力データセットに相異なる複数の可逆変換である変換を並列に適用し、複数組の第１の中間データセットを生成する手段、
前記複数組の第１の中間データセットをそれぞれ補正し、複数組の第２の中間データセットを生成する手段、
前記複数組の第２の中間データセットの各々に、当該第２の中間データセットに対応する第１の中間データセットを生成するために適用された相異なる複数の前記変換の各々の逆変換を適用し、複数組の第３の中間データセットを生成する手段、
前記複数組の第３の中間データセットを統合し、前記入力データセットに対応する補正済みデータセットを生成する手段
として機能させるデータ補正プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明の一態様に係るデータ補正装置は、取得部と、変換部と、補正部と、逆変換部と、統合部とを含む。取得部は、入力データセットを取得する。変換部は、入力データセットに相異なる複数の可逆変換である変換を並列に適用し、複数組の第１の中間データセットを生成する。補正部は、複数組の第１の中間データセットをそれぞれ補正し、複数組の第２の中間データセットを生成する。逆変換部は、複数組の第２の中間データセットの各々に、第２の中間データセットに対応する第１の中間データセットを生成するために適用された相異なる複数の変換の各々の逆変換を適用し、複数組の第３の中間データセットを生成する。統合部は、複数組の第３の中間データセットを統合し、入力データセットに対応する補正済みデータセットを生成する。