IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本放送協会の特許一覧

特開2023-117322アバター表示制御装置、プログラム、および、アバター表示制御方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023117322
(43)【公開日】2023-08-23
(54)【発明の名称】アバター表示制御装置、プログラム、および、アバター表示制御方法
(51)【国際特許分類】
   G06T 13/40 20110101AFI20230816BHJP
【FI】
G06T13/40
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022019965
(22)【出願日】2022-02-10
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】盛岡 寛史
(72)【発明者】
【氏名】三ツ峰 秀樹
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050BA12
5B050DA04
5B050EA05
5B050EA07
5B050EA13
5B050EA19
(57)【要約】
【課題】ユーザの体格差に依らずに計測カメラの撮像範囲から逸脱することを抑制してアバターを描画する。
【解決手段】アバター表示制御装置2は、ユーザが撮像されている入力映像から当該ユーザのボーン構造を抽出するボーン抽出手段21と、ユーザの関節点の情報をスケーリングしてアバターに反映させる関節点スケーリング手段25と、ユーザの両足点の座標を実空間の座標にホモグラフィ変換して絶対スケールを計算する絶対スケール計算手段27と、アバターのボーンの基準点の位置を補正する基準点補正手段31と、基準点補正手段31が補正したアバターのボーンの基準点の位置に、このアバターをレンダリングするレンダリング手段33とを備える。
【選択図】図11
【特許請求の範囲】
【請求項1】
ユーザが撮像されている入力映像から当該ユーザのボーン構造を抽出するボーン抽出手段と、
前記ユーザの関節点の情報をスケーリングしてアバターに反映させる関節点スケーリング手段と、
前記ユーザの両足点の座標を実空間の座標にホモグラフィ変換して絶対スケールを計算する絶対スケール計算手段と、
前記アバターのボーンの基準点の位置を補正する基準点補正手段と、
前記基準点補正手段が補正した前記アバターのボーンの基準点の位置に当該アバターをレンダリングするレンダリング手段と、
を備えることを特徴とするアバター表示制御装置。
【請求項2】
前記入力映像から前記ユーザを隠蔽した背景映像を生成するユーザ隠蔽手段と、
前記レンダリング手段がレンダリングした前記アバターを、前記背景映像に合成する合成手段と、
を更に備えることを特徴とする請求項1に記載のアバター表示制御装置。
【請求項3】
前記基準点補正手段は、前記絶対スケールに応じて前記アバターのボーンの基準点の位置を補正する、
ことを特徴とする請求項1に記載のアバター表示制御装置。
【請求項4】
前記入力映像には、前記ユーザの大きさをスケーリングするためのマーカが含まれる、
ことを特徴とする請求項1に記載のアバター表示制御装置。
【請求項5】
前記入力映像から前記ユーザが検出されなくなった場合、前記レンダリング手段は、前記アバターを画面端にレンダリングする、
ことを特徴とする請求項1に記載のアバター表示制御装置。
【請求項6】
前記入力映像から前記ユーザが検出されなくなった場合、前記レンダリング手段は、前記アバターをレンダリングしない、
ことを特徴とする請求項1に記載のアバター表示制御装置。
【請求項7】
前記関節点スケーリング手段は、前記ユーザのボーン構造の関節点の三次元角度を前記アバターに反映させる、
ことを特徴とする請求項1に記載のアバター表示制御装置。
【請求項8】
コンピュータを請求項1から請求項7のうち何れか一項に記載のアバター表示制御装置として機能させるためのプログラム。
【請求項9】
ユーザが撮像されている入力映像から当該ユーザのボーン構造を抽出させる手順、
前記ユーザの関節点の情報をスケーリングしてアバターに反映させる手順、
前記ユーザの両足点の座標を実空間の座標にホモグラフィ変換させて絶対スケールを計算する手順、
前記アバターのボーンの基準点の位置を補正させる手順、
補正した前記アバターのボーンの基準点の位置に当該アバターをレンダリングさせる手順、
をコンピュータに実行させることを特徴とするアバター表示制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アバター表示制御装置、プログラム、および、アバター表示制御方法に関する。
【背景技術】
【0002】
近年、仮想現実(Virtual Reality、以降、VR)技術や拡張現実(Augmented Reality、以降、AR)技術の発展に伴い、以前より低コストで簡単にVR技術やAR技術を用いたサービスを提供することが可能になってきている。例えば、非特許文献1~3には、カメラに映ったユーザの画像からボーン構造を抽出することが記載されている。
【0003】
出願人である日本放送協会は、視聴者サービス向上のためにVR技術やAR技術を応用した様々な取り組みを行っている。その中には、カメラ(以降、計測カメラ)の前に視聴者(以降、ユーザ)が立ち、計測カメラで撮影されたユーザの動きに合わせて三次元CG(Computer Graphic)のアバターであるどーもくん(登録商標)が動きを模倣するシステムも存在する。これは、計測カメラに映ったユーザの画像から画像認識技術を用いてボーン構造を抽出し、ボーン構造をCGレンダラー上のアバターであるどーもくん(登録商標)のモデルに反映させることで、アバターがユーザの動きに追従する体験型ユーザサービスを提供するシステムである。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】H. Fang, et al.,“RMPE: Regional Multi-person Pose Estimation”,IEEE International Conference on Computer Vision, 2017
【非特許文献2】R. A. Guler, et al. ,“DensePose: Dense Human Pose Estimation In The Wild”,IEEE Conference on Computer Vision and Pattern Recognition, 2018
【非特許文献3】Z. Cao, et al. ,“OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields”,IEEE Transactions on Pattern Analysis and Machine Intelligence, 2019
【発明の概要】
【発明が解決しようとする課題】
【0005】
このような画像認識技術を駆使してユーザの動作を解析してその結果を映像効果として反映させるサービスでは、実空間のユーザの位置を計測カメラの撮像範囲の中心付近に留める機能が必要である。なぜなら、ユーザの体が計測カメラの端に寄って見切れてしまうと、ボーン構造を正確に抽出できずアバターの動きがおかしくなるからである。
【0006】
対処法の一つとして、計測カメラを広角レンズで撮影することが考えられる。しかし、広角レンズで撮影すると、画面上のユーザ領域が相対的に小さくなり、それに伴いボーン推定精度が劣化する。特に体格の小さいユーザにおいて、ボーン推定精度の劣化は顕著である。
【0007】
そのため、通常レンズで撮影しても、ユーザを計測カメラの画面端に寄らせないようにその移動範囲を自然かつ適切に制限する機能を実現する装置を発明する。
ユーザを計測カメラの画面端に寄らせないようにするためには、画面上に何らかの注意喚起を表示することが考えられる。しかし、メッセージやアイコン等の表示はユーザの没入感を阻害してしまう。ユーザの没入感を阻害せず、より自然にユーザを画面端に寄らせないためには、アバターそのものの表現を変えることが望ましい。
【0008】
まず、出力画面の前提を確認する。ARでは、実写背景にCGを合成して出力画面を生成してユーザに提示する。そのため、ARでは、背景およびユーザを撮影する計測カメラとCGレンダラー上のカメラ(以降、CGカメラ)は、基本的に同一の画角および位置姿勢を保っている。
【0009】
一般的に、計測カメラの画面上でのユーザの動きをCGカメラの画面内のアバターに反映させる場合には、ユーザのボーン構造を適切にスケーリングして、所定の大きさのアバターに当て嵌める。これにより、アバターの同一性を担保できる。そして、体格の大きなユーザが手を振った時でもCGカメラの画面内のアバターの手の振りは大きくならず、アバターの手の振りの量は、アバターの体格に応じたものとなる。
【0010】
ただし、このままでは実空間で体格の大きなユーザが体全体を大きく移動させた場合、計測カメラの画面上でユーザが大きく移動するが、CGカメラの画面内のアバターの動きはそれより小さい。そして、実空間でユーザが計測カメラの計測可能範囲を外れた場合、先に述べたように計測カメラの画面上でユーザの見切れが発生する。これにより、システムはユーザのボーン構造を取得できなくなり、計測精度にも大きく影響する。
【0011】
ユーザの身長や横幅などの体格がアバターの体格と類似している場合、キャリブレーション後の計測カメラの画面上でのユーザの移動量と、CGカメラの画面上でのアバターの移動量は、ほぼ等しくなる。このときユーザは、CGカメラの画面からアバターが逸脱しないようにすることで、実空間にて計測カメラの計測可能範囲から外れないようにすることができる。
【0012】
しかし、多くの場合、ユーザの体格とアバターの体格とは相違するため、計測カメラの画面上でのユーザの移動量とCGカメラの画面上でのアバターの移動量とは相違する。ユーザの体格よりもアバターの体格の方が小さい場合、CGカメラの画面からアバターが逸脱しないようにユーザが移動しても、実空間にてユーザが計測カメラの計測可能範囲から外れる場合があり、調整が必要になる。
【0013】
計測カメラの画面上でのユーザの移動量とCGカメラの画面上でのアバターの移動量を合致させる最も簡単な解決方法のひとつは、計測カメラにより撮影されるユーザのボーン構造のスケールとCGカメラ上のアバターのボーン構造のスケールを合わせることである。しかし、その場合には、ユーザの体格に依存してアバターの大きさが変化することになり、アバターの同一性を損なう。
【0014】
そこで、本発明は、アバター表示制御装置、プログラム、および、アバター表示制御方法について、ユーザの体格差に依らずに計測カメラの撮像範囲から逸脱することを抑制してアバターを描画することを課題とする。
【課題を解決するための手段】
【0015】
前記課題を解決するため、本発明に係るアバター表示制御装置は、ユーザが撮像されている入力映像から当該ユーザのボーン構造を抽出するボーン抽出手段と、前記ユーザの関節点の情報をスケーリングしてアバターに反映させる関節点スケーリング手段と、前記ユーザの両足点の座標を実空間の座標にホモグラフィ変換して絶対スケールを計算する絶対スケール計算手段と、前記絶対スケールに基づき、前記アバターのボーンの基準点の位置を補正する基準点補正手段と、前記基準点補正手段が補正した前記アバターのボーンの基準点の位置に当該アバターをレンダリングするレンダリング手段と、を備える。
【0016】
本発明に係るアバター表示制御方法は、ユーザが撮像されている入力映像から当該ユーザのボーン構造を抽出させる手順、前記ユーザの関節点の情報をスケーリングしてアバターに反映させる手順、前記ユーザの両足点の座標を実空間の座標にホモグラフィ変換して絶対スケールを計算する手順、前記絶対スケールに基づき、前記アバターの位置を補正させる手順、補正した前記アバターのボーンの基準点の位置に当該アバターをレンダリングさせる手順、を実行させる。
【0017】
本発明に係るプログラムは、ユーザが撮像されている入力映像から当該ユーザのボーン構造を抽出させる手順、前記ユーザの関節点の情報をスケーリングして前記アバターに反映させる手順、前記ユーザの両足点の座標を実空間の座標にホモグラフィ変換して絶対スケールを計算する手順、前記絶対スケールに基づき、前記アバターのボーンの基準点の位置を補正させる手順、補正した前記アバターのボーンの基準点の位置に当該アバターをレンダリングさせる手順、をコンピュータに実行させる。
【発明の効果】
【0018】
本発明によれば、ユーザの体格差に依らずに計測カメラの撮像範囲から逸脱することを抑制してアバターを描画することが可能となる。
【図面の簡単な説明】
【0019】
図1】本実施形態の機器構成の例を示す図である。
図2A】本実施形態での任意ユーザの座標を示す図である。
図2B】本実施形態での基準人の座標を示す図である。
図2C】本実施形態でのアバターの座標を示す図である。
図3】本実施形態でのヒューマノイド型のモデルのボーン構造の一例である。
図4A】本実施形態での任意ユーザの座標の模式図である。
図4B】本実施形態での基準人の座標の模式図である。
図4C】本実施形態でのアバターの座標の模式図である。
図5A】本実施形態での任意ユーザの関節点とその距離の模式図である。
図5B】本実施形態での基準人の関節点とその距離の模式図である。
図5C】本実施形態でのアバターの関節点とその距離の模式図である。
図6】本実施形態での絶対スケール計算のためのキャリブレーションボードの模式図である。
図7】本実施形態での任意ユーザとキャリブレーションボードによる絶対スケール計算の模式図である。
図8】本実施形態での任意ユーザの移動補正係数計算モデルを示す図である。
図9】本実施形態でのアバターの移動補正係数計算モデルを示す図である。
図10A】本実施形態のフローチャートである。
図10B】本実施形態のフローチャートである。
図11】本実施形態のブロック図である。
【発明を実施するための形態】
【0020】
以降、本発明を実施するための形態を、各図を参照して詳細に説明する。
イベント展示やゲームで、計測カメラの前のユーザの体の動きに従って、画面上のCG(Computer Graphic)アバターがユーザの動作を模倣するサービスを考える。この場合、ユーザの動作を精度良く解析するために、ユーザは計測カメラの計測可能範囲(撮像範囲)の中心付近に位置していることが望ましい。ユーザは、計測カメラの計測可能範囲を動き回り、計測カメラの計測可能範囲を逸脱する可能性がある。そしてユーザは、子供から大人まで様々な体格を有している。本実施形態の装置は、このユーザの体格差に関わらず、ユーザに対して計測カメラの計測可能範囲の端部への移動を自然に制限する機能を実現する。
【0021】
本実施形態は、テレビイベント展示やゲームなどの利用形態下で、ユーザの動きにアバターが追従するサービスで、ユーザの体格に依らず計測カメラの計測可能範囲を逸脱しないように誘導を行う装置に関するものである。これによりユーザの行動範囲を自然に制限することができる。
【0022】
図1に示すように、アバター表示制御システムは、実空間の任意ユーザ61を撮影する計測カメラ1と、アバター表示制御装置2、アバターを任意ユーザ61に提示するモニタ4、キャリブレーションボード7を備えている。
【0023】
アバター表示制御装置2は、コンピュータとして構成されており、CPU(Central Processing Unit)がアバター表示制御プログラムを実行することで、各機能が具現化される。アバター表示制御装置2は、計測カメラ1で撮影された映像を解析して被写体エリアやボーン構造を抽出し、移動補正係数などを算出し、アバターのボーンの基準点の位置に基づいてアバターをレンダリングする。アバター表示制御装置2は、任意ユーザ61の体格に応じてアバターの移動量を可変的に調整するため、移動補正係数を求める必要がある。
モニタ4は、レンダリング結果であるアバターを拡張現実として任意ユーザ61に提示する。キャリブレーションボード7は、市松模様であり、ユーザの足元の移動可能範囲内に設置される。
【0024】
ここではアバター表示制御装置2が、任意ユーザ61のボーン構造をアバターに反映させるプロセスから説明する。
【0025】
図2Aで示したように、実空間座標系Σrで任意の体格のユーザである任意ユーザ61のボーンを構成する三次元点群をPu∈R3とする。任意ユーザ61は、計測カメラ1によって撮影されている。
図2Bで示したように、実空間座標系Σrで基準となる人間である基準人62のボーンを構成する三次元点群をPn∈R3とする。基準人62は、既知の体格を有する仮想的な人であり、計測カメラ1によって撮影されることが想定される。
また、図2Cで示したように、CGレンダラー座標系Σcで、「ラボちゃん」というアバター63のボーンを構成する三次元点群をPa∈R3とする。これはCGカメラによってレンダリングされるCGアバターであり、既知のボーン構造を有している。
【0026】
非特許文献1~3に示すように、計測カメラである単眼カメラの撮影画像により、計測カメラの画像上での二次元点群を抽出することができる。また、2台以上のカメラを計測カメラとして用いれば、ステレオ再構成の原理で実空間座標系Σrの三次元点群を推定できる。また、ボーン抽出ライブラリの中には、単眼カメラの撮影画像から、三次元点群を推定結果として返すものもある。
【0027】
アバター63のボーン構造は、CGモデルによって千差万別である。本実施形態では、ラボちゃんのように人の体格の割合と大きく異なるCGモデルである場合を例に説明する。ここで、ヒューマノイド型のモデルのボーン構造の一例を図3に示す。ここで人体の各部に描かれたマーカは、ボーン構造の関節点を示している。
なお、図示していないが、どーもくん(登録商標)のCGモデルのように、首の概念が存在せず人型をなしていない場合であっても、本実施形態を適用可能である。
【0028】
図4Aに任意ユーザ61の相対座標系Σuを示す。相対座標系Σuは、任意ユーザ61のボーン構造の基準となる腰の関節点を原点とする。図4Bに基準人62の相対座標系Σnを示す。相対座標系Σnは、基準人62のボーン構造の基準となる腰の関節点を原点とする。図4Cにアバター63の相対座標系Σaを示す。相対座標系Σaは、アバター63のボーン構造の基準となる腰の関節点(以下、基準点)を原点とする。この時、予め取得した三次元点群PnとPaの変換は、基準人62のボーンの基準点を原点とする相対座標系Σnと、アバター63のボーンの基準点を原点とする相対座標系Σaとの間の変換となる。
【0029】
即ち、基準人62のボーンの基準点と、アバター63のボーンの基準点は、どちらも相対座標系の原点である。そこで、基準点を共有した相対座標系Σnaと、基準人62の相対座標系Σnとアバター63の相対座標系Σaとを一致させて考え、その中で各関節点間の長さを同一にするように、各関節点間に関するスケール係数を計算する。
【0030】
図5B図5Cは、関節点とその距離の模式図である。スケール係数の計算方法の詳細を以下に説明する。基準点を共有した相対座標系はΣnaなので、相対座標系Σna上で、図5Bに示すように、基準人62の三次元点群Pnを構成する各関節点pniと関節点pni+1間の距離lnjを計算する。図5Cに示すように、アバター63の三次元点群Paを構成する各関節点paiと関節点pai+1間の距離lajを計算する。次にアバター63の関節点間の距離lajと基準人62の関節点間の距離lnjの比laj/lnjを計算して基準人62とアバター63の関節点間距離のスケール係数sjとする。なお添え字のiは、どの関節点であるかを示す指標である。添え字のjは、どの関節点間であるかを示す指標である。
【0031】
この時点で、頭の大きさや手足の長さなど、基準人62とアバター63との間のボーン構造の差異を吸収することを目的とするので、スケール係数は、Tポーズなど基準となる姿勢上で計算されることが望ましい。なおTポーズとは、ユーザが直立して両手を左右方向に延ばしてTの文字を模したポーズである。
【0032】
上記までの計算で基準人62のボーン構造をアバター63に反映させている。次に、本システムは、任意ユーザ61と基準人62との間で関節点間距離の計算を行い、スケール係数を計算する。
【0033】
図5A図5Bは、関節点とその距離の模式図である。スケール係数の計算方法の詳細を以下に説明する。基準点を原点として共有する相対座標系Σunと、任意ユーザ61の相対座標系Σuと、基準人62の相対座標系Σnとを一致させて考える。そして、相対座標系Σun上で、図5Aに示すように、任意ユーザ61の三次元点群Puを構成する各関節点puiと関節点pui+1間の距離lujを計算する。次に図5Bに示すように、基準人62の三次元点群Pnを構成する各関節点pniと関節点pni+1間の距離lnjを計算する。更に任意ユーザ61の関節点間の距離lujと基準人62の関節点間の距離lnjの比lnj/lujを計算して任意ユーザ61と基準人62の関節点間距離のスケール係数sj'とする。
【0034】
スケール係数sj'は、任意ユーザ61が最初に参加した時点で計算する。この際、任意ユーザ61は、必ずしもTポーズなどのような基準となるポーズをとるとは限らない。よって本システムでは、予め基準人62の様々なポーズをデータベースに格納しておき、任意ユーザ61がとっているポーズと最も近いものをデータベースから選択して、この基準人62のポーズでの関節点間距離に基づき、スケール係数sj'を計算するとよい。なお、このポーズの検索は、各関節点を繋ぐ線の三次元角度を基準にして検索することができる。
【0035】
なお、これに限られず、本システムは、基準点を原点にした相対座標系において、各関節点をつなぐ線の三次元角度(方位角θと天頂角φの2つのパラメータで表現される)のベクトルの相関を、入力された任意ユーザ61のポーズとデータベース内の基準人62のポーズとの間で計算して、最もベクトルの相関性が高いポーズを選択して、この基準人62のポーズでの関節点間距離に基づき、スケール係数sj'を計算してもよい。
【0036】
各関節点をつなぐ線の三次元角度のベクトルは、以下の式(1)で示される。
【数1】
【0037】
スケール係数が求まった後、本システムは、入力された三次元点群Puの各関節点間の長さlujにスケール係数sj'を乗じる。式(2)に、或る関節点puiとpui+1から次のスケーリングされた関節点ps ui+1を計算する場合を示す。
【数2】
【0038】
上記のように三次元空間上でのスケーリングを行う場合、任意ユーザ61の三次元点群Puの絶対的なスケールが既知であることが望ましい。そのため、任意ユーザ61の撮影範囲の足下に、図6に示すキャリブレーションボード7を敷いて絶対スケールを計算する。本実施形態のキャリブレーションボード7は、例えば白黒の市松模様のボードである。市松模様を構成する四角形の辺の長さは既知なので、そこから任意ユーザ61のボーン構造の絶対スケールを計算することができる。なお、本発明はこれに限定されず、既知のサイズのマーカが、撮影範囲の実空間の床の何れかに含まれていればよい。
【0039】
図7に示す任意ユーザ61は、キャリブレーションボード7上に足を接地している。本システムは、接地点に近い両足のかかと、又は、両足のつま先などの関節点間距離が、キャリブレーションボード7に描かれた市松模様の四角形のマーカの一辺の何倍になるかを計算することで、任意ユーザ61の両足のかかとなどの関節点間距離の絶対スケールを計算できる。そして、任意ユーザ61の両足のかかとなどの関節点間距離に基づき、任意ユーザ61のボーン構造の絶対スケールを求めることができる。
【0040】
任意ユーザ61の両足の関節点がキャリブレーションボード7上に存在すると近似してホモグラフィ変換を行うと、実空間である地面上での両足の関節点間の絶対距離が計算できる。
【0041】
画像上の点xからを実空間内の点x'へのホモグラフィ変換は、下記の式(3)で表せられる。
【数3】
【0042】
h11からh33は、OpenCVのfindHomography関数など既知の手法により推定されているので、xを画像上の点、x'を実空間内の点(ただし地面をz=0とする)とすると、x'より絶対距離が計算できる。このようにして、任意ユーザ61のボーンを構成する各関節点のスケール係数sj'を求める。
【0043】
次に、任意ユーザ61が全体的に体を移動させた場合の画面上での移動量の補正係数を考える。ピンホールカメラモデルを前提とすると、任意ユーザ61の画面上での移動量は、実空間の移動量に比例する。体格の大きなユーザを画面上に投影するとアバター63のサイズより大きくなる。それに比例して任意ユーザ61の画面上での移動量も、アバター63の画面上での移動量よりも大きくなる。任意ユーザ61は、モニタ4の画面上のアバター63を目視して、このアバター63が画面端から逸脱しないようにフィードバックしつつ自身が移動する。アバター63の移動量が任意ユーザ61の移動量よりも小さい場合、実空間上の任意ユーザ61が計測カメラ1の撮像範囲から逸脱するおそれがある。
【0044】
実空間座標系Σrにおいて任意ユーザ61の占める空間の水平方向の幅をwu、アバター63の占める空間の水平方向の幅をwa、一回のステップでの移動量をdと仮定する。画面の中心から画面の端までの距離をWとする。任意ユーザ61の幅と一回のステップでの移動量との関係を示す比例定数kを用いると、移動量dは、比例定数kと幅wの積となる。画面の中心に位置する任意ユーザ61がq回のステップで画面端に到達する場合、本システムは、画面の中心に位置するアバター63が、体格に依らずq回のステップで画面端に到達するように補正する。
よって、移動補正係数hを用いると、上記を満たす式(4)が得られる。
【数4】
【0045】
式(4)から、移動補正係数hは以下の式(5)で算出できる。
【数5】
【0046】
幅waとwuは、それぞれCGカメラおよび計測カメラ1の画面上に投影したボーン構成点群を包括する最大矩形範囲を三次元空間(実空間)に再度投射した領域の水平方向の長さから得ることができる。水平方向の絶対スケールは、画面上でキャリブレーションボード7上に有ると見做される水平方向の線分をホモグラフィ変換した結果から算出できる。図8図9に概要図を示す。
【0047】
移動補正係数hは、アバター63に対して任意ユーザ61の体格が大きいほど大きくなる。アバター63によるユーザの動作模倣サービスを提供中、アバター63のボーンの基準点の移動量に移動補正係数hを常に乗じることで、画面上の任意ユーザ61の位置にアバター63を配置する。
【0048】
このように任意ユーザ61の画面上の移動量とアバター63の画面上の移動量とを等しくして、モニタ4の画面上のアバター63の位置を、任意ユーザ61に視覚的にフィードバックすることにより、任意ユーザ61に画面から見切れることを認識させる。よって、任意ユーザ61が計測カメラ1の画面端に寄り、計測カメラ1の撮像範囲(計測可能範囲)から逸脱することを抑制できる。
【0049】
また、この変換は、計測カメラ1に正対している座標系において画像上の水平方向の移動量を考えているが、垂直方向の移動にも同様の処理が可能である。また、計測カメラ1に対する深さ方向については、ユーザの体格差による影響が小さいため補正の必要性はないと考えられる。
【0050】
本実施形態は、VRでもARでも使用できる。VRの場合、ユーザに提示する画面上に映るものは全てCGであり、ユーザを画面から隠蔽する処理は不要である。
ARの場合、アバター63のみCGで背景は計測カメラ1の映像を転用した実写である。ARの場合、計測カメラ1で背景の空絵を予め取得しておき、アバター63からユーザがはみ出る場合、空絵を合成してユーザを隠蔽する。ユーザ領域の認識は、例えば幅wuを計算する時に使用した最大矩形範囲で行うが、これに限られず、直接人物領域を切り抜くなど別のアルゴリズムを用いてもよい。
【0051】
図10A図10Bに、本実施形態の表示制御処理のフローチャートを示す。図11に示したブロック図を参照しつつ、表示制御処理について説明する。
【0052】
アバター表示制御装置2は、ボーン抽出手段21、関節点間三次元角度計算手段22、ポーズ検索手段23、ポーズデータ24、関節点スケーリング手段25、ホモグラフィ変換手段26、絶対スケール計算手段27、矩形計算手段28、幅計算手段29、移動補正係数計算手段30、基準点補正手段31、ユーザ隠蔽手段32、レンダリング手段33、映像出力手段34を含んで構成される。
【0053】
ボーン抽出手段21、関節点間三次元角度計算手段22、ポーズ検索手段23、関節点スケーリング手段25、ホモグラフィ変換手段26、絶対スケール計算手段27、矩形計算手段28、幅計算手段29、移動補正係数計算手段30、基準点補正手段31、ユーザ隠蔽手段32、レンダリング手段33、映像出力手段34は、アバター表示制御装置2が備える不図示のCPUが、不図示のアバター表示制御プログラムを実行することで具現化される。アバター表示制御装置2は、入力映像51を解析して被写体エリアやボーン構造を抽出し、移動補正係数などを算出し、ボーン構造をアバター63に反映して結果をレンダリングすることで、出力映像52を生成する。
【0054】
最初、このアバター表示制御装置2に入力映像51が入力される(ステップS10)。この入力映像51には、ユーザの大きさをスケーリングするためのマーカが含まれる。
ボーン抽出手段21は、この入力映像51を解析して被写体エリアやボーン構造を抽出する(ステップS11)。ここで被写体エリアとは、画面上の被写体領域のことをいう。
【0055】
以下、ステップS12,S13の処理と、ステップS14,S15の処理は並行に実施される。
ステップS12にて、関節点間三次元角度計算手段22は、任意ユーザ61のボーン構造の関節点の三次元角度を計算する。そして、ポーズ検索手段23は、ポーズデータ24に格納された基準人62のポーズ(姿勢)から、任意ユーザ61がとっているポーズ(姿勢)と最も近いものを検索して、任意ユーザ61と基準人62との間のスケール係数sj'と、基準人62とアバター63との間のスケール係数sjを計算する(ステップS13)。
【0056】
なお、基準人62とアバター63との間のスケール係数sjは、予め計算してもよい。また任意ユーザ61と基準人62との間のスケール係数sj'は、手作業によって計算してシステムに入力してもよく、限定されない。つまり、ポーズ検索手段23と、ポーズデータ24は、任意の構成要素である。
【0057】
ステップS14にて、ホモグラフィ変換手段26は、画像上の任意ユーザ61の両足の点を、実空間内の両足の点へホモグラフィ変換する。これら両足の点は、地面上での関節点であり、キャリブレーションボード7上に位置している。そして、絶対スケール計算手段27は、実空間である地面上での関節点間の絶対距離(絶対スケール)を計算する(ステップS15)。このとき、絶対スケール計算手段27は、キャリブレーションボード7に示された既知のサイズのマーカに基づき、実空間における関節点間の絶対距離を計算する。本実施形態のキャリブレーションボード7は、既知のサイズの白黒の市松模様のマーカが示されている。
【0058】
なおアバター表示制御装置2は、任意ユーザ61の両足点の座標を実空間の座標にホモグラフィ変換して絶対スケールを計算すればよく、その詳細手順は限定されない。
【0059】
以下、ステップS16~S18の処理と、ステップS19,S20の処理は並行に実施される。
ステップS20にて、関節点スケーリング手段25は、スケール係数sjおよびsj'に基づき、任意ユーザ61の関節点間の距離をスケーリングし、かつ任意ユーザ61のボーン構造の関節点の三次元角度をアバター63に反映させる(ステップS16)。そして、矩形計算手段28は、アバター63の被写体エリアを含む矩形を検出する(ステップS17)。幅計算手段29は、アバター63の被写体エリアを含む矩形の幅waを計算する(ステップS18)。
【0060】
ステップS19にて、矩形計算手段28は、任意ユーザ61の被写体エリアを含む矩形を検出する。幅計算手段29は、任意ユーザ61の被写体エリアを含む矩形の幅wuを計算する(ステップS20)。
【0061】
ステップS21にて、移動補正係数計算手段30は、アバター63の移動量を補正する移動補正係数hを計算する。アバター63の移動量に移動補正係数hを掛けて補正すると、アバター63の移動量は、任意ユーザ61の移動量と等しくなる。そして基準点補正手段31は、アバター63のボーン構造の基準となる関節点(一般的に腰を基準とすることが多い)である基準点の位置を補正する(ステップS22)。
【0062】
レンダリング手段33は、アバター63のボーンの基準点の位置にアバター63をレンダリングする(ステップS23)。これと並列に、ユーザ隠蔽手段32は、入力映像51中の任意ユーザ61の像を隠蔽して背景映像に置き換える(ステップS24)。
最後に映像出力手段34が、ユーザ隠蔽手段32によって生成された背景映像と、レンダリング手段33がレンダリングしたアバター63とを合成して出力映像52を生成すると(ステップS25)、図10Bの処理を終了する。
【0063】
なおアバター表示制御装置2は、基準点補正手段31によりアバター63のボーンの基準点の位置を補正し、アバター63のボーンの基準点の位置に、このアバター63をレンダリングすればよい。矩形計算手段28と幅計算手段29は、任意の構成要素である。任意ユーザ61の画面上の位置と、アバター63の画面上の位置が一致するようにアバター63をレンダリングすればよく、その計算の詳細は矩形計算手段28と幅計算手段29に限定されない。
【0064】
図10A図10Bの処理は、ARに係るものである。VRに係る処理ならば、ユーザ隠蔽手段32は不要である。つまりユーザ隠蔽手段32は、任意の構成要素である。
【0065】
上記の機能に加えて、任意ユーザ61が実際に画面端まで移動し、これ以上移動すると計測カメラ1の撮影範囲から体の一部が見切れる場合は、強制的にアバター63を透明化させてもよい。アバター63の透明化により、VRならはアバターそのものの消滅がユーザに示される。また、ARならばアバター63の透明化とともに隠蔽処理を解除してユーザの姿をモニタ4に露わにさせることで、AR効果の解除がユーザに示される。これにより、計測可能範囲からの逸脱をユーザに示唆し、計測カメラによる計測可能範囲から逸脱しないように誘導させることができる。任意ユーザ61のボーン構造を適切にスケーリングして、アバター63に当て嵌めているので、アバター63の同一性を担保できる。任意ユーザ61が手を振ったとき等の身体の一部の動作は、アバター63の体格に応じて、このアバター63に反映される。
【0066】
更に、アバター表示制御装置2は、入力映像51から任意ユーザ61が検出されなくなった場合、レンダリング手段33は、アバター63のポーズを固定して画面端にレンダリングしてもよい。アバター63のポーズ固定が、モニタ4の表示画面で視覚的にフィードバックされることにより、任意ユーザ61は、自身が計測カメラ1の撮像範囲から逸脱したことを認識可能である。
【0067】
《本実施形態の効果》
イベント展示やゲームなどで、特定の計測可能範囲内を移動するユーザを計測カメラで計測して、抽出したボーン構造をアバターに反映させるサービスにおいて、ユーザの体格に依らず計測カメラによる計測可能範囲から逸脱しないように誘導させることができる。
【産業上の利用可能性】
【0068】
本発明は主にユーザが特定範囲を動きながら画面上のアバターを操作する場面において用いられる。そして本発明は、イベント展示場、シミュレーターおよびゲーム産業において利用可能性を持つ。
【0069】
以上、実施形態を詳述してきたが、本発明は前記した実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0070】
前記した実施形態では、アバター表示制御装置が独立したハードウェアであることとして説明したが、本発明は、これに限定されない。例えば、本発明は、コンピュータが備えるCPU、メモリ、ハードディスク等のハードウェア資源を、前記したアバター表示制御装置として機能させるためのプログラムで実現することもできる。このプログラムは、通信回線を介して配布してもよく、CD-ROMやフラッシュメモリ等の記録媒体に書き込んで配布してもよい。
【符号の説明】
【0071】
1 計測カメラ
2 アバター表示制御装置
21 ボーン抽出手段
22 関節点間三次元角度計算手段
23 ポーズ検索手段
24 ポーズデータ
25 関節点スケーリング手段
26 ホモグラフィ変換手段
27 絶対スケール計算手段
28 矩形計算手段
29 幅計算手段
30 移動補正係数計算手段
31 基準点補正手段
32 ユーザ隠蔽手段
33 レンダリング手段
34 映像出力手段
4 モニタ
51 入力映像
52 出力映像
61 任意ユーザ
62 基準人
63 アバター
7 キャリブレーションボード
図1
図2A
図2B
図2C
図3
図4A
図4B
図4C
図5A
図5B
図5C
図6
図7
図8
図9
図10A
図10B
図11