(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024137421
(43)【公開日】2024-10-07
(54)【発明の名称】アバター生成装置及び学習装置並びにプログラム
(51)【国際特許分類】
G06T 1/40 20060101AFI20240927BHJP
G06T 19/00 20110101ALI20240927BHJP
G06T 7/00 20170101ALI20240927BHJP
【FI】
G06T1/40
G06T19/00 A
G06T7/00 350C
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023048943
(22)【出願日】2023-03-24
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【弁理士】
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【弁理士】
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】渡邉 慎也
(72)【発明者】
【氏名】村松 茂樹
(72)【発明者】
【氏名】半井 明大
(72)【発明者】
【氏名】宮下 英大
【テーマコード(参考)】
5B050
5B057
5L096
【Fターム(参考)】
5B050AA03
5B050BA09
5B050CA07
5B050CA08
5B050EA05
5B050EA08
5B050FA02
5B050FA05
5B050FA13
5B057AA20
5B057CA01
5B057CA08
5B057CA12
5B057CA16
5B057CB01
5B057CB08
5B057CB12
5B057CB16
5B057CC01
5B057DB02
5B057DB06
5B057DB09
5B057DC40
5L096BA08
5L096BA18
5L096DA01
5L096HA11
5L096KA04
5L096KA15
(57)【要約】
【課題】アバター設定の手間を軽減することのできるアバター生成装置を提供する。
【解決手段】ユーザが第1仮想空間で利用する第1アバターの情報を入力11とし、前記第1仮想空間で利用されるアバターの情報と第2仮想空間で利用されるアバターの情報とを用いて予め学習30されている変換関係を前記入力に適用12,41,42することで、前記ユーザが前記第2仮想空間で利用する第2アバターの情報を出力する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ユーザが第1仮想空間で利用する第1アバターの情報を入力とし、前記第1仮想空間で利用されるアバターの情報と第2仮想空間で利用されるアバターの情報とを用いて予め学習されている変換関係を前記入力に適用することで、前記ユーザが前記第2仮想空間で利用する第2アバターの情報を出力することを特徴とするアバター生成装置。
【請求項2】
前記変換関係は、前記第1仮想空間で利用される各アバターを生成するための個別項目の設定値を入力とし、前記第2仮想空間で利用される各アバターを生成するための個別項目の設定値を出力する関係として予め学習されていることを特徴とする請求項1に記載のアバター生成装置。
【請求項3】
前記第1仮想空間で既に利用されている複数のアバターからなる第1集合について設定されている各アバターを生成するための個別項目の第1設定値と、前記第2仮想空間で既に利用されている複数のアバターからなる第2集合について設定されている各アバターを生成するための個別項目の第2設定値と、の間において、
第1設定値に対応する第2設定値が、前記第1集合内における第1設定値の頻度順位と、前記第2集合内における第2設定値の頻度順位とが共通であるものとして定まるものとして、
前記変換関係が予め学習されていることを特徴とする請求項2に記載のアバター生成装置。
【請求項4】
前記第1仮想空間で既に利用されている複数のアバターからなる第1集合について設定されている各アバターを生成するための第1情報と、前記第2仮想空間で既に利用されている複数のアバターからなる第2集合について設定されている各アバターを生成するための第2情報と、の間において、
前記第1集合の各アバターと前記第2集合の各アバターとの間で、アバターを利用するユーザまたはアバター属性が同一であるアバターの対応関係が予め与えられており、
当該同一のアバターに関して、その第1情報をエンコードする第1エンコーダの第1出力と、その第2情報をエンコードする第2エンコーダの第2出力とが同一となるように、前記第1エンコーダ及び前記第2エンコーダが予め学習されており、
前記変換関係は、前記第1エンコーダによる処理を含むものとして構成されることを特徴とする請求項1に記載のアバター生成装置。
【請求項5】
前記第1集合の各アバターと前記第2集合の各アバターとの間で、アバターを利用するユーザが同一であるアバターの対応関係が予め与えられていることは、
前記第1仮想空間における各アバターの活動期間と、前記第2仮想空間における各アバターの活動期間とに関して、一方が他方を引き継ぐ関係にある場合に、または、一定期間内に前記第1仮想空間及び前記第2仮想空間の両方に活動期間が存在する場合に、ユーザが同一であることが推定されるものとして、アバターの対応関係が与えられていることを特徴とする請求項4に記載のアバター生成装置。
【請求項6】
前記変換関係を、一定範囲内での変動を設けた複数の変換関係のそれぞれについて前記入力に適用することで、前記ユーザが前記第2仮想空間で利用する第2アバターの情報を複数に渡って出力することで、前記ユーザに当該複数の候補の中から選択することを可能とさせることを特徴とする請求項1に記載のアバター生成装置。
【請求項7】
前記変換関係は、前記第1仮想空間で利用される各アバターを生成するための個別項目の設定値を入力とし、前記第2仮想空間で利用される各アバターを生成するための個別パーツの設定値を出力する関係として予め学習されており、
前記ユーザが第1仮想空間で利用する第1アバターの情報について、その全部ではなく一部のみを入力とさせるために、前記第1仮想空間で利用される各アバターを生成するための個別項目のうち一部のみを選択する旨を前記ユーザから受け付けることを特徴とする請求項1に記載のアバター生成装置。
【請求項8】
前記第1仮想空間で利用される各アバターを生成するための個別項目と、前記第2仮想空間で利用される各アバターを生成するための個別項目とは共通しており、
前記ユーザより前記第1アバターの個別項目のうち前記第2アバターへと引き継ぐ個別項目の指定を受け付けることにより、当該引き継ぐ個別項目の設定値には前記第1アバターに設定されている値を、当該引き継がない個別項目の設定値には乱数を、前記変換関係を適用する対象とすることで、前記ユーザが前記第2仮想空間で利用する第2アバターの情報を出力することを特徴とする請求項1に記載のアバター生成装置。
【請求項9】
ユーザが第1仮想空間で利用する第1アバターの情報を入力とし、前記第1仮想空間で利用されるアバターの情報と第2仮想空間で利用されるアバターの情報とを用いて予め学習されている変換関係を前記入力に適用することで、前記ユーザが前記第2仮想空間で利用する第2アバターの情報を出力するアバター生成装置が用いる、前記変換関係を学習する学習装置であって、
前記変換関係は、前記第1仮想空間で利用される各アバターを生成するための個別項目の設定値を入力とし、前記第2仮想空間で利用される各アバターを生成するための個別パーツの設定値を出力する関係として学習し、
当該学習するためのデータとして、
前記第1仮想空間で既に利用されている複数のアバターからなる第1集合について設定されている各アバターを生成するための個別項目の第1設定値と、前記第2仮想空間で既に利用されている複数のアバターからなる第2集合について設定されている各アバターを生成するための個別項目の第2設定値と、を用いることを特徴とする学習装置。
【請求項10】
コンピュータを請求項1ないし8のいずれかに記載のアバター生成装置または請求項9に記載の学習装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アバター生成装置及び学習装置並びにプログラムに関する。
【背景技術】
【0002】
仮想空間や当該仮想空間におけるサービスはメタバースとも呼ばれ、各ユーザが自身の仮想空間内での分身であるアバターを用いて、他ユーザとの間でアバターによる仮想空間内でのコミュニケーションが取られている。メタバースの例として仮想空間上で展開される各種のSNS(ソーシャルネットワーキングサービス)や、バーチャルオフィスや、オンラインゲーム等がある。メタバースに参加するユーザは各自のアバターを用意する必要があり、当該アバターを用意することに関連した従来技術として、特許文献1~3等がある。
【0003】
特許文献1は、アバターとしてユーザの似顔絵画像を生成する技術に関する。特許文献1では、テンプレート画像としての顔の各部の顔パーツ画像とその特徴量をデータベースとして用意しておき、ユーザの顔を撮影した顔画像を入力とし、この顔画像における顔のパーツ毎に特徴量マッチングで類似するテンプレート画像を組み合わせて似顔絵画像を生成するという既存手法を改良している。具体的に、生成結果としての似顔絵画像の顔パーツ画像に関して、非類似と判断された場合にはユーザによるテンプレート画像内からの修正選択を受け付けたうえで、入力された顔画像から抽出される特徴量を、生成及び必要に応じた修正の結果において類似すると判断されたテンプレート画像の顔パーツと紐づけた対応関係が反映されるようにデータベースを更新することで、似顔絵画像の生成元となるデータベースにおける特徴量のマッチング精度を向上させることで、生成される似顔絵画像の類似度の向上を図っている。
【0004】
特許文献2は、顔トラッキングによってユーザの顔の向きや表情の変化に動画としてリアルタイムに連動する顔アバターとして、当該ユーザの属するSNS等において適切なものをリストとして推薦するための技術に関する。具体的に、ユーザ属性やユーザの発明等のテキストメッセージやSNS属性等を分析することにより、例えばサッカーのワールドカップについての話題を扱う場であると推定されるのであればサッカー選手のアバターを用意するようにしている。
【0005】
特許文献3は、「人間の顔が含まれたイメージを分析して、人間の顔に対応する動物形状のアバターを自動で生成する」技術に関する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2014-006873号公報
【特許文献2】特表2018-505462号公報
【特許文献3】特開2022-060420号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、以上のような従来技術では、ユーザが利用する仮想空間が複数存在する場合に、その都度、その仮想空間に応じたアバターを設定する手間が発生してしまうという課題があった。
【0008】
すなわち、前述の通り前提として仮想空間(メタバース)を通じてユーザがサービスを享受する際、特に複数人が同時に存在する仮想空間においては、自身の分身として他者と区分するためにアバターを設定することが必要となる。
【0009】
一方で、仮想空間はサービス、つまりユーザがどんな価値を享受するかに応じ、その設定を変更する必要がある。今後、仮想空間を通じたサービスが増加するにつれ仮想空間の数も増加し、その仮想空間に適したアバター(具体的に例えば、その仮想空間の世界観に合ったアバター)を都度設定することをユーザが求められる、という手間が増えることが想定される。設定項目は仮想空間ごとに異なるため、そのような設定をユーザが都度行う必要が発生することは、サービス利用の大きな障壁になる。
【0010】
特許文献1は、画像からアバターが使用するパーツを自動で選択する技術であり、特許文献2は、アバターの画像、プロファイル情報および他者との通信内容をもとに、アバターの選択を支援する技術であるが、いずれも、現実空間のユーザの情報を都度利用し、設定を行う必要がある。特許文献3は、人間の顔写真から動物形状のアバターを自動で作成する技術であるが、これは人間以外のアバターへ変換可能ではあるが、やはり現実空間のユーザの情報を利用する必要がある。
【0011】
すなわち、いずれの従来技術においても、あるユーザについて第1仮想空間で既に設定されている第1アバターの情報等を活用することで、当該第1仮想空間とは別の第2仮想空間に適したアバターとして当該ユーザの第2アバターを自動で生成できるようにするという措置は取られていなかったため、当該ユーザに関して第1仮想空間及び第2仮想空間においてその都度、適したアバターを設定する手間が発生していた。
【0012】
上記従来技術の課題に鑑み、本発明は、アバター設定の手間を軽減することのできるアバター生成装置を提供することを第1の目的とする。また、このアバター生成装置が利用する変換関係を学習する学習装置を提供することを第2の目的とする。
【課題を解決するための手段】
【0013】
前記第1の目的を達成するため、本発明はアバター生成装置であって、ユーザが第1仮想空間で利用する第1アバターの情報を入力とし、前記第1仮想空間で利用されるアバターの情報と第2仮想空間で利用されるアバターの情報とを用いて予め学習されている変換関係を前記入力に適用することで、前記ユーザが前記第2仮想空間で利用する第2アバターの情報を出力することを第1の特徴とする。
【0014】
前記第2の目的を達成するため、本発明はユーザが第1仮想空間で利用する第1アバターの情報を入力とし、前記第1仮想空間で利用されるアバターの情報と第2仮想空間で利用されるアバターの情報とを用いて予め学習されている変換関係を前記入力に適用することで、前記ユーザが前記第2仮想空間で利用する第2アバターの情報を出力するアバター生成装置が用いる、前記変換関係を学習する学習装置であって、前記変換関係は、前記第1仮想空間で利用される各アバターを生成するための個別項目の設定値を入力とし、前記第2仮想空間で利用される各アバターを生成するための個別パーツの設定値を出力する関係として学習し、当該学習するためのデータとして、前記第1仮想空間で既に利用されている複数のアバターからなる第1集合について設定されている各アバターを生成するための個別項目の第1設定値と、前記第2仮想空間で既に利用されている複数のアバターからなる第2集合について設定されている各アバターを生成するための個別項目の第2設定値と、を用いることを特徴とする。
【発明の効果】
【0015】
前記第1の特徴によれば、ユーザが第1仮想空間で既に設定している第1アバターの情報に対して変換関係を適用して第2仮想空間で利用する第2アバターの情報を出力するため、第2アバターを再度、設定する手間が低減され、前記第1の目的を達成することができる。前記第2の特徴によれば、学習データを用いて変換関係を学習することにより、前記第2の目的を達成することができる。
【図面の簡単な説明】
【0016】
【
図1】一実施形態に係るアバター生成装置の機能ブロック図である。
【
図2】アバター生成装置による全体的な処理内容を模式的に示す図である。
【
図3】一実施形態に係るアバター生成システムの構成図である。
【
図4】一実施形態に係るアバター生成装置の動作のフローチャートである。
【
図5】変換関係fの学習等に関する第1実施形態の説明例を示す図である。
【
図6】第1実施形態(及び第2実施形態)における、特徴量設定項目変換部で利用する逆関数R
-1を学習する構成を示す図である。
【
図7】変換関係fの学習等に関する第2実施形態の説明例を示す図である。
【
図8】第2実施形態に係るアバター生成装置の構成図である。
【
図9】一般的なコンピュータにおけるハードウェア構成を示す図である。
【発明を実施するための形態】
【0017】
図1は、一実施形態に係るアバター生成装置10の機能ブロック図である。図示するように、アバター生成装置10は、第1アバター情報入力部11と、第1アバター特徴量抽出部12と、第2アバター設定項目入力部21と、特徴量設定項目変換の学習部22と、仮想空間情報入力部31と、仮想空間特徴量抽出部32及び変換関係計算部33を備える学習部30と、第2アバター特徴量算出部41と、特徴量設定項目変換部42と、第2アバター提示部43を備える。
【0018】
図2は、アバター生成装置10による全体的な処理内容を模式的に示す図である。アバター生成装置10では、あるユーザUが第1仮想空間VS1内で利用する第1アバターAV1を既に設定している場合に、このユーザUが第2仮想空間VS2内で利用する第2アバターAV2を自動で生成することができる。当該生成においては、第1アバターAV1の情報と、第1仮想空間VS1に関する情報と、第2仮想空間VS2に関する情報を入力として用いることにより、自動で第2アバターAV2を生成することができる。第1仮想空間VS1が例えば実写調の第1雰囲気や世界観で構成されており、第1アバターAV1も当該第1雰囲気や世界観に即したものとして用意されている。一方で、第2仮想空間VS2は例えばデフォルメ調の第2雰囲気や世界観で構成されている場合には、第2アバターAV2も当該第2雰囲気や世界観に即したものとして生成することが望ましいが、アバター生成装置10ではそのような生成を自動で行うことが可能である。また、第1アバターAV1はその外観についてユーザUの所望の設定が反映されたものとしてユーザUによって予め用意されており、アバター生成装置10によればこのような設定を少なくともある程度は引き継いだ形の外観で構成されるものとして、第2アバターAV2を自動生成することが可能である。
【0019】
図3は、一実施形態に係るアバター生成システム100の構成図であり、アバター生成装置10はこのようなアバター生成システム100の部分的な構成として実現することが可能である。アバター生成システム100は、ユーザUが利用する端末装置200と、第1仮想空間VS1を運営してそのサービスを参加ユーザに提供する第1サーバ201と、第2仮想空間VS2を運営してそのサービスを参加ユーザに提供する第2サーバ202と、アバター生成装置10の機能の任意の一部または全部を担う第3サーバ203と、を備え、これらの各構成200~203はインターネット等のネットワークNWを介して相互に通信可能に構成される。各構成200~203の各々は、ネットワークNWを介して相互に通信可能な1台以上のコンピュータ装置で構成されてよく、例えば端末装置200は、スマートフォン、パーソナルコンピューター、ヘッドマウントディスプレイ等の全部または一部として構成されることで、ユーザUが端末装置200を利用することで第1仮想空間VS1及び第2仮想空間VS2に参加可能となるものであってよい。
【0020】
アバター生成装置10の各機能部は、各構成200~203のいずれか少なくとも1つに備わるものとして、任意の構成によって実現することができる。例えば、アバター生成装置10の各機能部のうち、第1アバター情報入力部11及び第2アバター提示部43は端末装置200に備わり、仮想空間情報入力部31のうち第1仮想空間VS1に関する情報を受け付ける構成は第1サーバ201に備わり、仮想空間情報入力部31のうち第2仮想空間VS2に関する情報を受け付ける構成と第2アバター設定項目入力部21は第2サーバ202に備わり、これら以外の各機能部11,12,22,31,32,33,41,42は第3サーバ203に備わるものとしてもよいが、その他の任意の構成も可能である。また、第1サーバ201、第2サーバ202及び第3サーバ203は個別のものとして描かれているが、これら3つのうち任意の2つ以上が同一のサーバ装置として実現されている構成も可能である。例えば、第3サーバ203の機能が第1サーバ201及び/又は第2サーバ202内において実現されることで、第3サーバ203が存在しない構成も可能である。また例えば、第1サーバ201及び第2サーバ202が同一のサーバ装置として実現されていてもよい。
【0021】
図4は、一実施形態に係るアバター生成装置10の動作のフローチャートであり、
図4の各ステップS1~S4を参照してアバター生成装置10の処理内容の全体概略を説明する。
図4のフローが開始される前の前提として、第1仮想空間VS1は第1サーバ201によって運営され、且つ、第2仮想空間VS2は第2サーバ202によって運営されている状態であり、いずれの仮想空間も多数のユーザが参加するものとして予め構築されているものとする。ステップS1では、第1仮想空間VS1の情報及び第2仮想空間VS2の情報を読み込むことで、第1アバターAV1から第2アバターAV2を自動生成するための対応関係を学習する。ステップS2では、ユーザUより第1アバターの情報の入力を受け付ける。ステップS3では、第2アバター設定項目の入力を受け付ける。ステップS4では、以上のステップS1,S2,S3で得た情報を用いることで、ユーザUの第2アバターAV2を自動で生成し、ユーザUに対してこの第2アバターAV2を提示し、
図4のフローが終了する。
【0022】
図4の各ステップについて、ステップS1は学習部30の処理により、ステップS2は第1アバター情報入力部11の処理により、ステップS3は第2アバター設定項目入力部21と特徴量設定項目変換の学習部22の処理により、ステップS4はこれら以外の各機能部12, 41,42,43の処理により、具体的に実現することができる。なお、ステップS1,S2,S3はこの順番に限らず、任意の順番で、あるいは並行して実施してもよい。以下、これら各機能部の処理の詳細に関して説明する。
【0023】
<ステップS1…学習部30の各機能部31,32,33>
仮想空間情報入力部31は、第1仮想空間VS1及び第2仮想空間VS2のそれぞれについて、各仮想空間の運営者からの情報入力を受け付けること等により、仮想空間の情報を取得し、仮想空間特徴量抽出部32へと出力する。仮想空間情報入力部31では、仮想空間の情報として例えば、仮想空間内の背景の映像やアバターの活動映像、アバターの設定項目及び設定値や活動ログの全部または一部を取得することができる。
【0024】
これら映像や活動ログに関しては、各仮想空間で多数のユーザが参加している際に、各ユーザに対して提供される仮想空間の画面(各ユーザのアバターが自分自身であるものとして見えない状態である一人称視点、あるいは、各ユーザのアバターが見える状態である三人称視点などによる画面)及びその活動ログ(各ユーザのアバターの仮想空間内での移動等の挙動を記録した活動ログ)を第1サーバ201及び第2サーバ202等において保存しておいたもの等を用いればよい。(各ユーザに実際に提供される仮想空間の画面を映像として保存しておいてもよいし、活動ログから当該映像を再現したものを用いてもよい。)また、アバターの設定項目及び設定値(設定項目ごとの可能な設定値の種類や、可能な設定値の範囲など)は、第1仮想空間VS1及び第2仮想空間VS2によるサービス提供のために、予め定義され第1サーバ201及び第2サーバ202等に保存されているものを用いればよい。
【0025】
また、第1仮想空間VS1及び第2仮想空間VS2の運営側が当該情報を提供できる場合には、仮想空間の背景映像に加えて/代えて、仮想空間の3次元モデル情報(ポリゴン形状およびその表面テクスチャの情報)や、当該3次元モデルに対する光源情報などとして、仮想空間の情報を取得してもよい。
【0026】
また、仮想空間情報入力部31で入力を受け付ける情報として、以上の映像等以外にも以下の各種の情報の全部または一部を受け付けるようにしてもよい。
●その仮想空間上で表現する最大のポリゴン数/最小のポリゴン数
●使えるレンダリングエンジンの種類や性能
●使える色の種類/数(各仮想空間には使用する色に特徴が現れる想定に基づく)
●アバター可動部の構成(頭や腕等の稼働パーツの種類、配置、稼働範囲など)
●キャラクターの頭身、顔のパーツなど(ヒトと異なってもよい)
●動きそのもの(どのような動作を想定しているか、どのような動作がプリセットされているか)
●音声(キャラクターボイス、BGM(背景音楽)、SE(効果音))
●公式設定(運営者による設定)のアバターで利用可能なアイテムの種類(どのようなもの(例えば衣装や持ち物等)があるか、何が多いか)、そのアイテムでアバターに対して設定変更可能な範囲(自由度の高さ)
●動き(例えば歩く速さ、ジャンプできる高さ)
●アバターの動作に関してリアル連動(各ユーザの現実の位置や挙動への連動)を前提としているか、操作コントロール型か
【0027】
なお、上記においてキャラクターとは、各ユーザが分身として利用しうるアバターの他、各仮想空間のコンテンツとして提供されるキャラクターを含む。
【0028】
仮想空間特徴量抽出部32は、仮想空間情報入力部31で得た第1仮想空間VS1及び第2仮想空間VS2のそれぞれの情報から、各仮想空間に関して、アバターや仮想空間内の映像や設定値等を解析し、その特徴量を抽出して変換関係計算部33へと出力する。説明のため、仮想空間特徴量抽出部32が第1仮想空間VS1の情報から抽出する特徴量を特徴量Aとし、第2仮想空間VS2の情報から抽出する特徴量を特徴量Bとする。
【0029】
変換関係計算部33は、仮想空間特徴量抽出部32で得た特徴量A,Bを入力とし、設定元である第1仮想空間VS1の特徴量空間から、設定先である第2仮想空間VS2の特徴量空間に変換する計算式として変換関係を導出し、第2アバター特徴量抽出部41へと出力する。この変換関係を変換関係f(f:A→B)とする。ここで、特徴量空間とは、それぞれの仮想空間で設定可能な項目(例えば、使用される色相、明度、彩度)の範囲や頻度、また他の設定項目との組合せなどで構成される。
【0030】
なお、この変換関係f等に関しては、その第1実施形態及び第2実施形態を
図5や
図7等による説明例を参照して後述する。
【0031】
<ステップS2…第1アバター情報入力部11>
第1アバター情報入力部11は、ユーザUより、このユーザUが第1仮想空間VS1で現在使用している第1アバターの情報の入力を受け付け、この第1アバターの情報を第1アバター特徴量抽出部12へと出力する。
【0032】
第1アバターの情報は、第1アバターが第1仮想空間VS1内で活動している際の映像(例えば三人称視点で第1アバターが撮影されている状態での映像)や、アバターの設定値(アバターを構成する各パーツごとの設定値)や、活動ログの全部または一部として取得することができる。なお、仮想空間情報入力部31で第1仮想空間VS1に関して入力される情報は前述の通り、第1仮想空間VS1にアバターとして参加する全ユーザの映像や活動ログ等も含むことができるので、この全ユーザの情報の中から、当該ユーザUが利用している第1アバターの情報を選別して取得することで、ユーザUに直接、第1アバターの情報を入力させることを省略するようにしてもよい。
【0033】
<ステップS3…第2アバター設定項目入力部21及び特徴量設定項目変換の学習部22>
第2アバター設定項目入力部21は、第2仮想空間VS2の運営者による入力を受け付けることにより、あるいは、第2サーバ202に保存されている設定情報を参照することにより、第2仮想空間VS2で利用されるアバターに設定可能な項目の情報を含む学習用データを取得し、この設定項目の情報を特徴量設定項目変換の学習部22へと出力する。
【0034】
特徴量設定項目変換の学習部22は、第2仮想空間VS2のアバターについて設定可能な各項目とその値を、特徴量に変換する関係(関数Rとする)の逆関数R-1を学習することにより算出し、この逆関数R-1を特徴量設定項目変換部42へと出力する。
【0035】
例えば、個別のアバターを特定するために設定可能な設定項目の1つとして目のパーツXXがある場合に、特徴量として(色、大きさ、形状)=(x,y,z)のような量に変換するのが関数Rである。例えば、当該目のパーツXXについてXX=XX1,XX2,XX3の3通りが第2仮想空間VSにおいてメニュー選択等で選択可能となっている場合であれば、XX=XX1,XX2,XX3の3通りの設定項目の値のそれぞれについて、その特徴量(色、大きさ、形状)=(x1,y1,z1),(x2,y2,z2),(x3,y3,z3)を与えるような関数が関数Rである。特徴量設定項目変換の学習部22ではこの関数Rの逆関数R-1を後述する手法により学習して、特徴量設定項目変換部42へと出力する。
【0036】
<ステップS4…その他の各機能部12, 41,42,43>
第1アバター特徴量抽出部12は、第1アバター情報入力部11で得た第1アバターの情報を解析して、その特徴量(特徴量aとする)を第2アバター特徴量算出部41へと出力する。
【0037】
第2アバター特徴量算出部41は、第1アバター特徴量抽出部12で得た特徴量aを、変換関係計算部33で得た変換関係fの入力とし、その出力f(a)として第2アバターの特徴量f(a)を得て、この第2アバターの特徴量f(a)を特徴量設定項目変換部42へと出力する。
【0038】
特徴量設定項目変換部42は、第2アバター特徴量算出部41で得た第2アバターの特徴量f(a)に、特徴量設定項目変換の学習部22で得た逆関数R-1を適用することで、第2アバターの設定値R-1{ f(a)}を得て、第2アバター提示部43へと出力する。
【0039】
第2アバター提示部43は、特徴量設定項目変換部42で得た第2アバターの設定値R-1{ f(a)}を用いて第2アバターを描画した結果を、ユーザUに対して画面表示することで提示する。
【0040】
なお、特徴量設定項目変換の学習部22に関して前述した例の通り、例えば目のパーツXXについて、3通りの設定のうちXX=XX1である場合に、その特徴量(x1,y1,z1)は第2仮想空間VS2において設定として定義されるものではなく、単なる恣意的な値に過ぎないため、特徴量(x1,y1,z1)をそのままの形で用いて目のパーツXXを描画することはできない。これに対して、逆関数R-1を適用することで、R-1 (x1,y1,z1)=XX1として「目のパーツXX=XX1」である情報が得られるので、第2仮想空間VS2において設定として定義される「目のパーツXX=XX1」の情報を用いて、第2アバターを描画することが可能となる。目のパーツ等以外の各パーツについて同様に描画することで、第2アバターをその全身に渡るものとして描画することができる。
【0041】
ユーザUに提示するための第2アバターの描画は、正面等の特定のカメラ配置で見た1枚の静止画像として描画してもよいし、3次元アバターの場合であれば、アバターが特定位置に立った状態で回転している様子の映像として、3次元アバターの全身を平面的に360°範囲の全周囲から見渡せる形式で描画してもよい。同様に360°範囲の全周囲から見渡せる形式として、いわゆる360°回転画像の形で、ブラウザ等を用いてユーザUが当該画像上をマウスカーソルでドラッグすることにより、インタラクティブに回転させた状態を視認できる形式を用いてもよい。その他にも、アバターを表現するのに用いることができる任意の既存手法による描画を用いてよい。
【0042】
以上、
図1の各機能部の処理内容の詳細について説明した。
図5は、変換関係fの学習等に関する第1実施形態の説明例を示す図であり、学習部30の各部31,32,33の処理内容の模式的な例を示している。
図5にも示される通り、第1実施形態は次のように実現することができる。
【0043】
仮想空間情報入力部31では、第1仮想空間VS1の情報として、登録されている多数のユーザのアバターAi(i=1,2,…,N)の情報(映像等の形式により少なくとも各アバターの外観の情報を含む)を読み込み、同様に、第2仮想空間VS2の情報として、登録されている多数のユーザのアバターBj(j=1,2,…,M)の情報(映像等の形式により少なくとも各アバターの外観の情報を含む)を読み込む。なお、利用可能な場合は、各アバターAi,Bjの情報は、その外観を直接的に表現している3次元モデル(例えば複数のポリゴン及び各ポリゴンに貼り付けられるテクスチャとして定まる3次元モデル)の情報として取得するようにしてもよい。
【0044】
仮想空間特徴量抽出部32では、説明欄CL11に示されるように、各アバターAi,Bjの情報(外観の画像的な情報)から、事前に定義される主要な設定項目(アバターのパーツの設定項目)について、既存手法の物体認識を適用することで各パーツを切り出し、さらに、説明欄CL12に示されるように、当該切り出した各設定項目としてのパーツを数値化する。
【0045】
切り出す各パーツとしての設定項目は、図中に例示されるように、大項目=ヒト、モノ、…、と、中項目(大項目=ヒトに関して)=顔、髪、…、と、小項目(中項目=顔に関して)=目、鼻、口のように階層的に定義しておいてもよい。物体認識でこれら各パーツを切り出す際にも、階層的な認識を適用するようにしてもよい。こうして、各アバターAi,Bjの画像的な外観情報から、K個(設定項目がK個であったとする)の部分領域画像のセット{ri},{rj}として以下のように各パーツを切り出すことができる。
Ai→{ri}={r1i, r2i, …,rKi},
Bj→{rj}={r1j, r2j, …,rKj}
【0046】
なお、アバターが3次元アバターである場合には各パーツは、3次元的な形状を有するものとなるが、各パーツを正面から見た状態の画像(3次元モデルがポリゴンで与えられている場合には各ポリゴン要素を正面から見た状態の画像を用いてもよい)に対して物体認識を適用することで、2次元画像領域として上記の部分領域画像のセット{ri},{rj}を切り出すようにしてよい。
【0047】
また、上記の通りK個の部分領域画像として切り出した設定項目(K個の各パーツ)の数値化は、当該K個の部分領域画像のそれぞれについて、任意の既存手法により次元圧縮等を適用することで、K個の設定項目を数値化することができる。図示されるように例えば1つのパーツである目に関して、その大きさ、色、まゆげ、まつげ、目じりなどの特徴が結果的に数値化されたものとして、数値化された結果をベクトル等の形式で得ることができる。すなわち、前記部分画像セット{ri},{rj}から、K個のベクトル等による特徴量が列挙された情報{Vi},{Vj}を以下のように得ることができる。
{ri}→{Vi}={V1i, V2i, …,VKi},
{rj}→{Vj}={V1j, V2j, …,VKj}
【0048】
例えばi=1のアバターA1の部分画像セット{r1}について、1番目の部分画像r11が目のパーツである場合に、その大きさ、色、まゆげ、まつげ、目じりなどの様々な特徴が結果的に数値化されたものとして、ベクトル形式での特徴量V11=(0.2, 0.1, 1.0, 0.5, 0.2)を得ることができる。
【0049】
変換関係計算部33では、以上のようにアバター集合A={Ai|i=1,2,…,N}及びB={Aj|j=1,2,…,M}の各要素について求めた特徴量{Vi}及び{Vj}を用いて、変換関係f:A→Bを計算する。具体的に例えば、説明欄CL13に示されるように、各アバターAiの特徴量{Vi}={V1i, V2i, …,VKi}と各アバターBjの特徴量{Vj}={V1j, V2j, …,VKj}はK個のベクトルが列挙されたものであるところ、これらベクトルに対してさらに次元圧縮を適用して以下のように1次元の値とする。(例えば、アバター集合A及びBにおいてそれぞれ主成分分析を適用してその第1主成分を求めることにより1次元の値とする。)
{V1i, V2i, …,VKi}→{v1i, v2i, …,vKi},
{V1j, V2j, …,VKj}→{v1j, v2j, …,vKj}
【0050】
こうして、アバターAi,Bjの特徴量をK次元ベクトル{v1i, v2i, …,vKi},{v1j, v2j, …,vKj}として得たうえで、アバター集合A内とアバター集合B内とにおいてそれぞれK次元ベクトルの各要素について、所定のビンを割り当てることでヒストグラム化することができる。ここで、アバター集合A,BのK次元特徴ベクトルの各要素について作成されたヒストグラムを以下のようにHist_A,Hist_Bとする。
Hist_A={hist_A1,hist_A2,…,hist_AK},
Hist_B={hist_B1,hist_B2,…,hist_BK}
【0051】
アバターAi,BjのK次元ベクトルの各要素{v1i, v2i, …,vKi},{v1j, v2j, …,vKj}について、頻度の高い順番でいずれのビンに属するかという頻度順位の情報を、当該ヒストグラムHist_A,Hist_Bと照合して得ることが可能となるので、当該照合して得た頻度順位の情報を以下のようにrank_Ai,rank_Bjとする。
rank_Ai={rank1i, rank2i, …,rankKi},
rank_Bj={rank1j, rank2j, …,rankKj}
【0052】
説明欄CL13に示されるように、変換関係計算部33では変換関係f:A→Bとして、アバターAiに対応するアバターBjを、上記の頻度順位が同一となるようなものが対応するものとして算出することができる。
f(Ai)=Bj
rank_Ai=rank_Bj
【0053】
なお、変換関係f:A→Bに関して、あるアバターAiについて頻度順位が同一となるようなアバターBjが2つ以上存在している場合には、当該複数の中からランダムに1つのアバターBjを決定するものとしてもよいし、当該頻度順位が同一となるような複数のアバターBjの平均(その特徴量{Vj}の平均)を算出するようにしてもよい。
【0054】
第1実施形態に係る第2アバター特徴量算出部41では、以上の
図5による説明での変換関係f:A→Bを用いることにより、特徴量空間において第1アバターA
iの特徴量{V
i}から、対応する第2アバターBjの特徴量{V
j}(
図1での第2アバターの特徴量f(a))を算出することができる。
【0055】
さらに、第1実施形態では、
図6に示す学習構成により、特徴量設定項目変換部42で利用する逆関数R
-1を特徴量設定項目変換の学習部22(
図6に関して学習構成22と呼ぶ)において学習することができる。学習構成22は、エンコーダ302及び(学習中の)特徴量設定項目変換部42を備え、学習用に多数の第2アバターの情報をエンコーダ302で読み込み、それぞれの特徴量f(a)(
図5で説明した第2アバターBjの特徴量{V
j})を出力し、この特徴量f(a)をさらに(学習中の)特徴量設定項目変換部42で読み込み、学習途中のパラメータで特定される逆関数R
-1を適用して、第2仮想空間における各設定項目の設定値(例えば前述した目のパーツXXについてXX=XX1,XX2,XX3のいずれの設定値であるか)を出力する。当該出力を、学習データとして与えられる正解値と照合することにより、深層学習ネットワーク等で構成される特徴量設定項目変換部42のパラメータを学習し、学習完了時点でのパラメータに対応する逆関数R
-1を学習結果として得ることができる。例えばあるアバターについて目のパーツXX=XX1が正解であるのにも関わらずXX=XX2と不正解を出力したのであれば、当該不正解をコストとして課すことにより、誤差逆伝播法などの任意の既存手法により、正解を出力するように、特徴量設定項目変換部42のパラメータを学習することができる。
【0056】
図7は、変換関係fの学習等に関する第2実施形態の説明例を示す図である。なお、以上の第1実施形態では、頻度順位の情報を利用して特徴量の対応関係を得るようにしていたことから、第1仮想空間VS1の各アバターA
iと、第2仮想空間VS2の各アバターB
jとについて、実際にいずれのユーザが利用しているかの情報は不要であったのに対し、第2実施形態では、ユーザIDの情報が既知であるものとして、この情報を利用する。すなわち、ユーザはインデクスiによって識別されるものとして「ユーザi」として表記する。第2実施形態では、ユーザiが第1仮想空間VS1でアバターA
iを利用しており、且つ、このユーザiが第2仮想空間VS2ではアバターB
iを利用しているという情報を利用する。
【0057】
さらに、
図8に示すように、第2実施形態はその構成として、
図1に示される第1実施形態のアバター生成装置10の第1アバター特徴量抽出部12及び第2アバター特徴量算出部41に代えて、これらの処理を(陰に)内部処理として一括で実行する第2アバター特徴量変換部124が備わる構成を取ることができる。
【0058】
図7の欄CL21~CL23に示されるように、仮想空間情報入力部31では、同一のユーザiが第1仮想空間VS1でアバターA
iを利用しており、且つ、第2仮想空間VS2ではアバターB
iを利用している情報により、このアバターペア{A
i,B
i}の各設定項目から入力情報ペアを生成したうえで、仮想空間特徴量抽出部32では、第1エンコーダ301でアバターA
iの特徴ベクトル{VA
i}を生成し、且つ、第2エンコーダ302でアバターB
iの特徴ベクトル{VB
i}を生成する。
【0059】
なお、入力情報ペアは、
図4を参照して説明した第1実施形態において「特徴量{V
i}及び{V
j}」として説明したのと同様の手法により、各設定項目についてのベクトルに変換した形で用意して、第1エンコーダ301及び第2エンコーダ302に入力してもよいし、その他の任意の既存手法による前処理を用いてベクトル化してもよい。
【0060】
そして、欄CL25に示されるように、変換関係計算部33では、同一のユーザiについて、第1エンコーダ301が出力するアバターAiの特徴ベクトル{VAi}と、第2エンコーダ302が出力するアバターBiの特徴ベクトル{VBi}とが、同一({VAi}={VBi})となるように、第1エンコーダ301及び第2エンコーダ302のパラメータを学習し、当該学習されたパラメータで構成される第1エンコーダ301を、学習された第2アバター特徴量変換部124として構成することができる。すなわち、当該同一({VAi}={VBi})となるように学習された第1エンコーダ301として第2アバター特徴量変換部124を構成することで、この第1エンコーダ301は第1アバターの情報を入力として読み込み、第1アバターの特徴ベクトルであり且つ第2アバターの特徴量でもあるとして当該同一({VAi}={VBi})であるところの第2アバターの特徴量f(a)に相当する情報を出力することができる。
【0061】
なお、第1エンコーダ301及び第2エンコーダ302は共に、所定構造の深層学習ネットワーク等として用意し、多数の学習データを用いて前記同一({VAi}={VBi})となるように、当該ネットワークのパラメータ(畳み込み処理の重み等)を既存手法により学習すればよい。
【0062】
第2実施形態における特徴量設定項目変換部42における逆関数R
-1の学習は、(第2)エンコーダ302として共通の符号を付していることからも理解されるように、第1実施形態の場合の
図6の構成と同様にして学習すればよい。
【0063】
以上、本発明の各実施形態によれば、ユーザは複数の仮想空間を行き来してサービスを享受することが容易になる。すなわち、少なくとも1つの第1仮想空間VS1について既にアバターを設定していれば、これとは異なる任意の1つ以上の第2仮想空間VS2について、そのアバターを自動設定できる。一方で、仮想空間を運営するサービス提供者は、ユーザが初期設定ステップでのアバター設定の手間を嫌うことによるユーザ離脱を減らすことができる。
【0064】
以下、種々の補足例、代替例、追加例などについて説明する。
【0065】
(1) 本発明の実施形態によれば、アバター設定の手間を低減することで、アバターを用いた臨場感ある遠隔コミュニケーションを提供するサービス等への参加を促すことが可能となる。これにより、遠隔地への実際の移動を必ずしも必須とせずに遠隔会議等を行うことが可能となり、ユーザ移動に必要となるエネルギー資源を節約することで二酸化炭素排出量を抑制できることから、国連が主導する持続可能な開発目標(SDGs)の目標13「気候変動とその影響に立ち向かうため、緊急対策を取る」に貢献することが可能となる。
【0066】
(2) アバター生成装置10における学習部30のみを抜粋した構成を、変換関係f:A→Bを学習するものとして、学習装置として提供するようにしてもよい。
【0067】
(3) 第2アバターに関して、ユーザUの要望を的確に取得して生成可能なように、第1アバター情報入力部11において以下に列挙するようなUI(ユーザインタフェース)の全部または一部を介して当該要望を反映させるようにしてもよい。
【0068】
● アバター変換で残したい箇所・要素を選択できるUI
● (上記と関連し)アバター変換で残さなくてもよい箇所・要素(変換対象にする必要がない箇所)を選択できるUI
これらの残す/残さない(第1アバターから第2アバターへと引き継ぐ/引き継がない
)の設定は、第1アバターと第2アバターの設定項目が共通である前提(ただし、共通の設定項目について、その設定値に設定しうる範囲等は異なっていてもよい)のもとで、当該設定項目に対して所定のメニューから選択させるようにすればよい。残す設定をした設定項目については、第1アバターから抽出される特徴量を変換関係へと入力して、第2アバターの特徴量からその設定値を得ることができる。一方で、残さない設定をした設定項目に関しては、第1アバターから抽出される特徴量を変換関係への入力として利用しないことになるため、これに代わる値として、乱数等を用いればよい。
【0069】
● ユーザの入力データの量(画像、映像、設定値、活動ログ、会話ログなど)が、アバターを提示するために十分かどうかを事前に知らせるUI
● 特にユーザの入力データが画像や映像の場合、アバターの全体像および360度でデータの取得漏れがないかを検出し、事前に知らせるUI
これら十分かどうかや取得漏れの有無の処理は、入力データに対してルールベースの処理を行うことで自動に検知できるようにすればよい。例えば、活動ログや会話ログであればそのデータ量やデータ蓄積期間が一定量以上あるかで検知し、映像等についても同様に、一定期間以上あるかで検知すればよい。
【0070】
● ユーザが意識的に撮影する映像情報以外に、設定値、活動ログ、会話ログを入力でき、かつユーザがそれを選択していない場合、それらの入力(当該各データの利用許諾)を促すUI
● 過去にユーザが入力した情報(選択項目)を記憶しておき、同じ情報をそのまま入力するか、情報を追加もしくは削除し入力するかの選択をユーザに促すUI
すなわち、ユーザUが第1仮想空間VSの第1アバターを入力として第2仮想空間の第2アバターを生成した際の設定を記憶しておき、さらに別の第3仮想空間で利用する第3アバターを生成する際に、当該設定を利用できるようにしてよい。
【0071】
(4)
図6の第2実施形態では、第1仮想空間VS1の各ユーザと第2仮想空間VS2の各ユーザとで共通のIDが参照可能であり、当該IDを用いて入力情報ペアを得るものとしたが、このようなIDが参照可能でない場合には、同一あるいは共通属性であると推定されるユーザとして入力情報ペアを定めるようにしてもよく、以下に列挙するような手法を用いてよい。
【0072】
● ユーザの属性や入力コマンド、会話内容(例えばアバターを動かす入力コマンド数・時間や、どのような単語が高頻度で出現するかなど)から、ユーザを属性分けし(例えばBIG5モデル)、ペアにする。
● 第1仮想空間VS1から第2仮想空間VS2(この逆でもよい)に直接移動した、または直近で両方の仮想空間で活動したユーザのアバターの設定値をペアとする(何かしらのキーでそれぞれのアバターが同一ユーザと特定できる場合)。すなわち、第1仮想空間VS1での各アバターの活動期間と、第2仮想空間VS2での各アバターの活動期間と、が、直接移動によって一方が他方を引き継ぐ関係にある(例えば、第1仮想空間VS1からあるアバターがログアウトした時間の直後(閾値時間以上の経過がないことで判定される直後)に、第2仮想空間VS2にあるアバターがログインしている関係にある)場合や、一定期間内において仮想空間VS1,VS2の両方にアバターのログイン履歴がある場合に、同一ユーザのアバターであることが推定されるものとして、ペアにするようにしてよい。
【0073】
(5) 以上の説明では、アバター生成装置10ではあるユーザUが第1仮想空間VS1で利用する1つの第1アバターを入力して、これに対応するものとして、このユーザUが第2仮想空間VS2で利用する1つのみの第2アバターを出力するものとしたが、以下に列挙するような措置により、ユーザUの満足度が高い選択ができるように促すようにしてもよい。
【0074】
● 複数の候補を提示するUIを第2アバター提示部43に設ける。
これを実現するための内部処理としては、候補作成時に一定の乱数を適用し、差分を一定に留めたバリエーションを生成する(パーツの形状は一緒だが、色が異なるモデルを複数出力する、など)ようにすればよい。すなわち、第2アバター特徴量算出部41で用いる変換関係f:A→Bについて、変換関係計算部33から得た1通りのfではなく、これに一定範囲内での変動(変換関係fを決めている変換パラメータに対する変動など)を加えたf1,f2,…等も追加で用いるようにすることで、複数のバリエーションに渡る第2アバターを生成するようにしてよい。
【0075】
● 複数の候補(提案)を提示する際に、ユーザの選択を助けるUIを第2アバター提示部43に設ける。例えば以下のようなUIを用いてよい。
◆ 類似するアバターに有料アイテムが含まれる場合、それを確認しOKなら採用するUI(例えばアバターが着る服に有料アイテムと無料アイテムが存在する場合)
◆ 有料と無料を並べて提示するUI
◆ 複数の提案の中から、一部の組み換えができるUI
◆ 提案1の顔と、提案2の胴体の組合せなど
◆ 複数の提案に対し、その設定項目をシャッフルし再提案するUI
◆ 提示のうち最も近いものをユーザが選択し、再度バリエーションを計算・提案するUI
【0076】
(6)
図9は、一般的なコンピュータ装置70におけるハードウェア構成の例を示す図である。アバター生成装置10は、このような構成を有する1台以上のコンピュータ装置70として実現可能である。なお、2台以上のコンピュータ装置70でアバター生成装置10を実現する場合、ネットワーク経由で処理に必要な情報の送受を行うようにしてよい。コンピュータ装置70は、所定命令を実行するCPU(中央演算装置)71、CPU71の実行命令の一部又は全部をCPU71に代わって又はCPU71と連携して実行する専用プロセッサとしてのGPU(グラフィックス演算装置)72、CPU71(及びGPU72)にワークエリアを提供する主記憶装置としてのRAM73、補助記憶装置としてのROM74、通信インタフェース75、ディスプレイ76、マウス、キーボード、タッチパネル等によりユーザ入力を受け付ける入力インタフェース77と、これらの間でデータを授受するためのバスBSと、を備える。
【0077】
アバター生成装置10の各機能部は、各部の機能に対応する所定のプログラムをROM74から読み込んで実行するCPU71及び/又はGPU72によって実現することができる。なお、CPU71及びGPU72は共に、演算装置(プロセッサ)の一種である。ここで、表示関連の処理が行われる場合にはさらに、ディスプレイ76が連動して動作し、データ送受信に関する通信関連の処理が行われる場合にはさらに通信インタフェース75が連動して動作する。
【符号の説明】
【0078】
10…アバター生成装置、11…第1アバター情報入力部、12…第1アバター特徴量抽出部、21…第2アバター設定項目入力部、22…設定項目特徴量変換部、30…学習部、31…仮想空間情報入力部、32…仮想空間特徴量抽出部、33…変換関係計算部、41…第2アバター特徴量抽出部、42…特徴量設定項目変換部、43…第2アバター提示部