【国等の委託研究の成果に係る記載事項】(出願人による申告)平成21年度 独立行政法人科学技術振興機構 若手研究者ベンチャー創出推進事業 産業技術力強化法第19条の適用を受ける特許出願
(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
ロボットに現実の人間または動物(以下、「人間等」と称する)と同様の外観を与えて対人親和性を高めるための方法として、複合現実感(Mixed Reality)の技術を用いてロボットの像を人間等の像に置き換える方法が考えられる。
この方法では、ロボットを製造する際に、外観を人間等の外観に似せる必要が無いので、ロボットの設計・製造に要するコストや時間を低減させることができる。また、外観の変更も、合成する画像データを変更することで容易に行い得る。
【0003】
ここで、ロボットを用いずとも、実画像に仮想の人間等の像を合成することで、人間等のいない空間にあたかも人間等がいるように見せ得る。しかしながら、この方法では、仮想の人間等の位置と実物体との位置関係の把握が問題となる。
例えば、仮想の人間等の位置に向けて観察者(合成画像を見る者)が手を出した場合、観察者から見た手と仮想の人間等との重なりの前後関係を表現するために、重なり部分について仮想的な人間等の表示/非表示を制御する必要がある。なお、以下では、観察者から見て重なり合う物(仮想物を含む)の前後関係を「遮蔽関係」と称する。
【0004】
かかる遮蔽関係を把握するために観察者の手など実物体の位置(観察者の視点からの距離)を測定する方法として、例えばTOF(Time Of Flight)法がある。TOF法では、光源から被写体(観察者の手などの実物体)へ光を照射し、反射光を光センサで検出する。そして、光を照射してから反射光を検出するまでの時間(光の飛行時間)に基づいて、光源やセンサと被写体との距離を測定する。
しかしながら、TOF法を用いて遮蔽関係を把握する場合、TOF法を実施するための精密装置が必要となり、装置の製造コストが増大してしまう。
【0005】
これに対して、ロボット(実物体)の像を人間等の像に置き換える上記の方法では、ロボットの位置が仮想の人間等の位置を示している。従って、ロボットと観察者の手との前後関係を把握することで、仮想の人間等と観察者の手との前後関係を把握することができ、TOF法を実施するための装置等を必要としない。
また、ロボットの像を人間等の像に置き換える上記の方法では、観察者がロボットに触れた際に触感を提供することができる。
【0006】
もっとも、ロボットの像を人間等の像に置き換える上記の方法では、ロボットの像の形状と仮想の人間等の像の形状との相違部分の処理が問題となる。この点について、
図11〜
図13を参照して説明する。
図11は、実画像の例を示す説明図であり、ユーザの手の像I1101と、ロボットの像I1102とを含む。また、
図12は、合成する人間の像(例えばComputer Graphics;CG)の例を示す説明図である。また、
図13は、合成の結果得られる画像の例を示す説明図である。
図11の実画像において、クロマキー技術を用いてロボットの像I1102の領域部分を
図12の人間の像に置き換えて
図13の画像を合成している。
【0007】
図13において、ロボットの像I1102(
図11)の形状と、人間の像(
図12)の形状との相違により、人間の像のうち、ロボットの像I1102の領域からはみ出した部分が切り取られている。かかる人間の像の部分的な切り取りにより、観察者に違和感を与えてしまう。
また、
図13の例とは逆に、人間の像の領域に対してロボットの像I1102の領域がはみ出す場合は、
図12の画像のうち人間の像以外の部分が合成画像に含まれることになる。例えば、
図12の画像において人間の像以外の部分がマスクとなっていれば、ロボットの像I1102がはみ出した領域の画像情報が、合成画像において欠落する。かかる人間の像以外の部分の混入(例えば画像情報の欠落)により、人間の像が部分的に切り取られる場合と同様、観察者に違和感を与えてしまう。
【0008】
かかる問題への対処方法の1つとして、特許文献1に記載の画像処理システムを用いる方法がある。特許文献1に記載の画像処理システムは、実物体の形態および実物体を見る観察者と実物体との位置関係に合う形態のCGを選択する画像選択用デバイスと、CGの周縁に後光画像を生成する後光生成用デバイスと、CGと後光画像とを合成した合成画像を生成する合成画像生成用デバイスと、合成画像を、実物体に重なるように、観察者が見るディスプレイに表示させる画像表示処理用デバイスとを備える。
【0009】
この画像処理システムを用いて実画像におけるロボットの像を仮想の人間等の像に置き換える際、人間等の像の大きさがロボットの像の大きさよりもやや小さくなるようにする。そうすると、人間等の像に対してロボットの像がはみ出した領域について合成画像では後光画像が表示され、観察者の違和感を低減させることができる。
【発明を実施するための形態】
【0022】
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明の一実施形態における画像構成システムの装置構成を示す概略構成図である。同図において、画像合成システム1は、ロボット制御装置100と、画像合成装置200と、CGデータサーバ装置300と、ロボット400と、センサ500と、ヘッドマウントディスプレイ(Head Mounted Display;HMD)600と、ネットワーク700とを具備する。ヘッドマウントディスプレイ600は、撮像装置610と表示装置620とを具備する。
【0023】
ロボット制御装置100と、画像合成装置200と、CGデータサーバ装置300とは、それぞれネットワーク700に接続されており通信可能である。また、ロボット制御装置100とロボット400とは無線通信可能である。また、画像合成装置200とセンサ500とは有線接続されており、通信可能である。また、画像合成装置200とヘッドマウントディスプレイ600とは、無線通信可能である。
【0024】
画像合成システム1は、複合現実感の画像を生成するシステムであり、ヘッドマウントディスプレイ600が撮像する実画像(実空間を撮像した画像)に、実際には位置しない物体の像を合成する。
なお、ここでいう物体には人物を含む。従って、画像合成システム1が、ヘッドマウントディスプレイ600の撮像する実画像に、実際には位置しない人物の像を合成するようにしてもよい。
また、ここでいう像は、物の外観を示す画像である。
【0025】
ロボット制御装置100は、ロボット400を制御して動作させ、ロボット400の姿勢情報を画像合成装置200に送信する。ロボット制御装置100は、例えばパソコン(Personal Computer;PC)にて実現される。あるいは、ロボット制御装置100は、マイコン(Micro Computer)にて実現されていてもよい。
なお、本実施形態では、ロボット400が同一の位置に留まって姿勢を変化させる場合について説明するが、ロボット400が自律歩行など移動するようにしてもよい。この場合、ロボット制御装置100は、ロボット400の姿勢および位置を制御し、ロボット400の位置情報および姿勢情報を画像合成装置200に送信する。
【0026】
ロボット400は、本発明における置換前物体(画像合成装置200によって像を他の像に置き換えられる物体)の一例である。ロボット400は、画像合成装置200が、実画像に像を合成する物体の位置を算出するために設けられている。すなわち、画像合成装置200は、ロボット400を他の物体に置き換えた画像を合成する。例えば、ロボット400の外観は単色で構成されており、画像合成装置200がクロマキー技術を用いてロボット400の像を他の像に置き換える。
なお、本発明における置換前物体はロボットに限らない。外観を有する様々な物体を置換前物体として用いることができる。
【0027】
センサ500は、ユーザ(ヘッドマウントディスプレイ600を装着して合成画像を見る観察者)の頭部(頭および顔)の位置および姿勢(顔の向き)を検出し、検出した位置および姿勢の情報(以下、「センサ情報」と称する)を画像合成装置200に出力する。
ここで、センサ500として様々なセンサを用いることができる。例えば、センサ500が、赤外線または超音波を照射し、反射波を解析してユーザの頭部の位置および姿勢を算出するようにしてもよい。あるいは、センサ500が、ユーザの頭部の画像を撮像し、画像認識にてユーザの頭部の位置および姿勢を算出するようにしてもよい。あるいは、センサ500が、ヘッドマウントディスプレイ600に搭載されたジャイロセンサを具備し、当該ジャイロセンサの検出する角度および加速度に基づいて、ユーザの頭部の位置および姿勢を算出するようにしてもよい。
【0028】
なお、ユーザの頭部の位置および姿勢を検出する方法は、センサ500を用いる方法に限らない。例えば、センサ500に代えて位置マーカーとしてのマークを配置しておき、ヘッドマウントディスプレイ600(撮像装置610)が撮像した画像に含まれるマークの像の大きさおよび歪みから、画像合成装置200がユーザの頭部の位置および姿勢を算出するようにしてもよい。
【0029】
画像合成装置200は、ヘッドマウントディスプレイ600が撮像した実画像を取得し、当該実画像に含まれるロボット400の像を、CGデータサーバ装置300の出力する像に置き換えた画像を合成し、ヘッドマウントディスプレイ600に表示させる。画像合成装置200は、例えばパソコンにて実現される。
ここで、
図2〜
図4を参照して、画像合成装置200が合成する画像の例について説明する。
【0030】
図2は、ヘッドマウントディスプレイ600が撮像する実画像の例を示す説明図である。同図に示す実画像は、ユーザがロボット400に手を出した状態を撮像した画像である。この実画像は、ロボット400の像の領域A111と、ロボット400の像を遮蔽しているユーザの手の像の領域A112と、背景画像の領域A113とを含んでいる。
【0031】
図3は、画像合成装置200が実画像に合成する像の例を示す説明図である。同図に示す画像は、合成対象の像A211を含み、背景領域A212は無背景(例えば黒の単色)となっている。
なお、以下では、画像合成装置200が像を実画像に合成する物体を「置換後物体」と称し、置換後物体の像を「置換後物体像」と称する。置換後物体は、
図3に示す人物に限らない。外観を視覚的に表示可能な様々な物体の像を置換後物体とすることができる。また、置換後物体は、実在の物体であってもよいし架空の物体であってもよい。
【0032】
図4は、画像合成装置200が生成(合成)する画像の例を示す説明図である。同図に示す画像は、
図2の実画像においてロボット400の像を
図3に示される人物の像に置き換えた画像であり、当該人物の像の領域A311と、ユーザの手の像の領域A312と、背景画像の領域A313とを含んでいる。
【0033】
ここで、
図4に示される人物の像は、
図2に示されるロボットの像と形状が異なるが、
図2の場合と同様の遮蔽関係が保たれている。すなわち、ユーザの手が、人物の一部を遮蔽している(ユーザの手の像が、人物の像の手前に重なって、人物の像の一部を遮蔽している)。また、ユーザの手および人物が、背景の壁の一部を遮蔽している(ユーザの手の像および人物の像が、背景の壁の像の手前に重なって、壁の像の一部を遮蔽している)。
このように、画像合成装置200は、ヘッドマウントディスプレイ600が撮像した実画像において、遮蔽関係を保って、置換前物体の像を置換後物体の像に置き換える。
【0034】
CGデータサーバ装置300は、置換後物体である人物の様々な姿勢の像を出力可能である。そして、CGデータサーバ装置300は、ロボット制御装置100が検出したロボット400の姿勢、および、センサ500が検出したユーザの頭部の位置および姿勢に応じて、ユーザから見たロボットの姿勢に応じた姿勢の像を画像合成装置200に提供する。
【0035】
具体的には、CGデータサーバ装置300は、置換後物体である人物の3次元モデルを予め記憶している。この3次元モデルは、正面のみならず側面や背面も立体的に作られている3DCG(3-Dimensional Computer Graphics、3次元コンピュータグラフィックス)である。また、この3次元モデルは、関節のある骨格を仕込まれており、関節角を設定することでポーズを調整することができる。
そして、CGデータサーバ装置300は、ロボット400の関節角を取得し、人物の3次元モデルのポーズを当該関節角に対応したポーズに調整する。さらに、CGデータサーバ装置300は、ロボット400とユーザとの位置関係に基づいて大きさおよび向きを調整した人物(置換後物体)のスナップショット(2次元画像)を取得する。
【0036】
また、CGデータサーバ装置300は、ロボット400(置換前物体)の様々な姿勢の像を、遮蔽されていない状態の像(以下、「完全な像」と称する)にて出力可能である。具体的には、CGデータサーバ装置300は、ロボット400の3次元モデルを予め記憶している。そして、CGデータサーバ装置300は、人物(置換後物体)のスナップショットの場合と同様、ロボット400の完全な像のスナップショット(2次元画像)を、ロボット400の関節角やロボット400とユーザとの位置関係に基づいて、取得する。このCGデータサーバ装置300が出力するロボット400(置換前物体)の完全な像は、後述するように、画像合成装置200が合成画像を生成する際に用いられる。なお、以下では、置換前物体の完全な像を「非遮蔽時像」と称する。
CGデータサーバ装置300は、例えばパソコンにて実現される。
【0037】
ヘッドマウントディスプレイ600は、撮像装置610にてユーザの視野画像を撮像して画像合成装置200に送信し、画像合成装置200からの合成画像を表示装置620に表示する。
なお、本実施形態では、ヘッドマウントディスプレイ600としてビデオシースルー(Video See-Through)型のヘッドマウントディスプレイを用いる場合について説明するが、これに限らない。例えば、ヘッドマウントディスプレイ600として、光学シースルー(Optical See-Through)型のヘッドマウントディスプレイを用いるようにしてもよい。具体的には、本実施形態では、ヘッドマウントディスプレイ600は、撮像装置で撮像した外部の画像に基づく合成画像を表示装置に表示する。これに代えて、ヘッドマウントディスプレイ600が、外部からの光線の一部を遮蔽して置換後物体の像を示す光線に置き換え、他の部分(遮蔽物体の像の領域や、背景画像の領域)について外界からの光線を透過させることで、実画像に基づく合成画像を表示するようにしてもよい。
【0038】
ネットワーク700は、例えばLAN(Local Area Network)等の通信ネットワークであり、ロボット制御装置100と画像合成装置200とCGデータサーバ装置300との通信を仲介する。
なお、本発明は各部の通信形態に依存しない。従って、各部の通信方式として、
図1に示すものに限らず様々なものを用いることができる。例えば、画像合成装置200とセンサ500とが無線にて通信を行うようにしてもよい。また、ロボット制御装置100とロボット400とが有線接続されて通信を行うようにしてもよい。同様に、画像合成装置200とヘッドマウントディスプレイ600とが有線接続されて通信を行うようにしてもよい。
また、ロボット制御装置100と、画像合成装置200とが、ネットワーク700を介さず直接、有線または無線接続されて通信するようにしてもよい。また、画像合成装置200とCGデータサーバ装置300とが、ネットワーク700を介さず直接、有線または無線接続されて通信するようにしてもよい。また、ロボット制御装置100とロボット400と、あるいは、画像合成装置200とセンサ500と、あるいは、画像合成装置200とヘッドマウントディスプレイ600とが、ネットワーク700を介して通信を行うようにしてもよい。
なお、本実施形態では、ロボット制御装置100と、画像合成装置200と、CGデータサーバ装置300とは別個の装置にて実現されているが、これらのうち2つ、あるいは3つ全てが、1つの装置(例えば1台のパソコン)にて実現されるようにしてもよい。
【0039】
次に、
図5を参照して、画像合成装置200の構成についてより詳細に説明する。
図5は、画像合成装置200の機能構成を示す概略ブロック図である。同図において、画像合成装置200は、ネットワーク通信部201と、センサ情報取得部202と、HMD通信部203と、制御部210とを具備する。制御部210は、置換後物体像取得部221と、置換後物体像マスク処理部222と、非遮蔽時像取得部231と、非遮蔽時像マスク化処理部232と、周囲画像取得部233と、実画像取得部241と、置換前物体像領域処理部242と、領域分割部243と、遮蔽領域検出部251と、遮蔽物体像領域検出部252と、遮蔽物体像領域処理部253と、被遮蔽部分除外部254と、合成実行部255とを具備する。
【0040】
ネットワーク通信部201は、ネットワーク700に接続しており、ロボット制御装置100やCGデータサーバ装置300と通信して各種データを取得する。
センサ情報取得部202は、センサ500と通信してセンサ情報を取得する。
HMD通信部203は、ヘッドマウントディスプレイ600と通信して、撮像装置610が撮像した実画像のデータを取得し、表示装置620に表示させる合成画像データを送信する。
【0041】
制御部210は、画像合成装置200の各部を制御して、画像合成を実行する。制御部210は、例えば、画像合成装置200としてのパソコンの具備するCPU(Central Processing Unit、中央制御装置)が、当該パソコンの具備する記憶デバイスからプログラムを読み出して実行することで実現される。制御部210の各部は、例えば制御部210が実行するプログラムのモジュール(例えばサブルーチン)として構成される。
【0042】
置換後物体像取得部221は、実画像に含まれる置換前物体の像に置き換えて当該実画像に合成される置換後物体の像を取得する。具体的には、置換後物体像取得部221は、まず、センサ情報取得部202が取得したセンサ情報に基づいて、ユーザから見たロボット400の姿勢を算出する。そして、置換後物体像取得部221は、算出した姿勢の情報を、ネットワーク通信部201を介してCGデータサーバ装置300に送信し、当該姿勢に該当する置換後物体像(本実施形態では人物の像)を、CGデータサーバ装置300から取得する。さらに、置換後物体像取得部221は、取得した人物の像に対して位置合わせおよび大きさ調整(拡大/縮小)を行って、実画像におけるロボット400の像に重ね合わせる。より具体的には、置換後物体像取得部221は、人物の像の大きさを、身長または肩幅など体の一部の寸法を基準としてロボット400の像と同等の大きさとし、空間内における人物の座標がロボット400の座標と一致するように、人物の像を重ね合わせる。ロボット400として置換後物体よりも痩せている(やや小さい)ロボットを用いることで、ロボット400の像全体に人物の像を重ねる(ロボット400の像を隠す)ことができる。
【0043】
置換後物体像マスク処理部222は、置換後物体像取得部221が取得した置換後物体像に応じたマスクの生成や、生成したマスクの実画像への適用を行う。
非遮蔽時像取得部231は、遮蔽物体の像による遮蔽が無い場合の置換前物体の像を取得する。具体的には、上記のように、CGデータサーバ装置300が、ロボット400(置換前物体)の様々な姿勢の完全な像を出力可能である。また、非遮蔽時像取得部231は、置換後物体像取得部221と同様、センサ情報取得部202が取得したセンサ情報に基づいて、ユーザから見たロボット400の姿勢を算出する。そして、非遮蔽時像取得部231は、算出した姿勢の情報を、ネットワーク通信部201を介してCGデータサーバ装置300に送信し、当該姿勢に該当するロボット400の完全な像を、CGデータサーバ装置300から取得する。さらに、非遮蔽時像取得部231は、取得したロボット400の像に対して位置合わせおよび大きさ調整を行って、実画像におけるロボット400の像に重ね合わせる(ユーザの手によって遮蔽された部分以外は像が一致するように重ねる)。
【0044】
非遮蔽時像マスク化処理部232は、非遮蔽時像取得部231が取得した置換前物体の像をマスク化する。
周囲画像取得部233は、非遮蔽時像マスク化処理部232が生成したマスクを置換後物体像取得部221が取得した置換後物体像に適用することで、置換後物体の像のうち、置換前物体の像(遮蔽無し)に重ね合わせられる部分以外の部分の画像を取得(生成)する。
【0045】
実画像取得部241は、撮像装置610が撮像した実画像を、HMD通信部203を介して取得する。
置換前物体像領域処理部242は、実画像取得部241が取得した実画像に含まれる置換前物体像の領域(単色領域)を抽出し、抽出した領域に基づいてマスクを生成する。
【0046】
領域分割部243は、実画像に対するエッジ抽出(微分処理)を行って当該実画像を領域分割する。領域分割部243がエッジ抽出を行うことで、同一物体の色がグラデーションや陰影(shade)により変化する場合でも、当該同一物体の画像の領域を同一領域として検出し得る。
【0047】
遮蔽領域検出部251は、遮蔽物体の像による遮蔽が無い場合の置換前物体の像と、遮蔽物体の像に遮蔽された部分を除いた置換前物体の像との差分を求めることで、置換前物体の像のうち遮蔽物体の像に遮蔽される領域(
図2の例では、ユーザの手の像で遮蔽されている領域)を検出する。
【0048】
遮蔽物体像領域検出部252は、実画像にて置換前物体の像を遮蔽する遮蔽物体の像の領域を検出する。具体的には、遮蔽物体像領域検出部252は、領域分割部243が分割した領域のうち、少なくとも一部が置換前物体の像を遮蔽している領域(
図2の例では、ユーザの手の像の領域)を、遮蔽物体の像の領域として検出する。さらに具体的には、遮蔽物体像領域検出部252は、実画像を分割した領域のうち、遮蔽領域検出部251が検出した、置換前物体の像のうち遮蔽物体の像に遮蔽される領域を含む領域を検出する。
【0049】
遮蔽物体像領域処理部253は、遮蔽物体像領域検出部252が検出した遮蔽物体の像に対して、実画像からの抽出(合成用部分画像の生成)やマスク化の処理を行う。
被遮蔽部分除外部254は、置換後物体の像のうち、遮蔽物体の像の領域に対応する部分を除外する。ここで、置換後物体の像のうち、遮蔽物体の像の領域に対応する部分とは、置換後物体の像のうち、合成後の画像にて遮蔽物体の像に遮蔽される部分である。
【0050】
具体的には、被遮蔽部分除外部254は、置換後物体の像のうち、置換前物体の像に置き換わる部分の画像と、その周囲の画像の各々について、遮蔽物体の像の領域に対応する部分を除外した画像を生成する。すなわち、被遮蔽部分除外部254は、置換後物体の像のうち、遮蔽物体の像に遮蔽された部分を除く置換前物体の像に対応する部分の画像と、置換後物体の像のうち、置換前物体の像に対応する部分と遮蔽物体の像に対応する部分とを除外した部分の画像とを生成する。
【0051】
合成実行部255は、実画像に対して、遮蔽物体の像の領域に対応する部分を除外した置換後物体の像の合成を行う。合成実行部255が行う処理の具体例については後述する。
【0052】
次に、
図6および
図7を参照して画像合成装置200の動作について説明する。
図6および
図7は、画像合成装置200が合成画像を生成する処理手順を示す説明図である。画像合成装置200は、例えば、HMD通信部203から実画像P310(動画像のフレーム)を受信する毎に、同図の処理を行う。その際、置換後物体像取得部221が、CGデータサーバ装置300から置換後物体の像P110(本実施形態では人物の画像)を取得し、非遮蔽時像取得部231が、CGデータサーバ装置300から非遮蔽時像P210(本実施形態では、ロボット400の完全な像)とを取得する。
【0053】
同図の処理において、置換後物体像マスク処理部222は、まず、置換後物体像取得部221が取得した置換後物体の像P110に対して単色化を行い、画像P111を生成する(ステップS111)。次に、置換後物体像マスク処理部222は、単色化された画像P111から単色の領域を抽出して画像P112を生成する(ステップS112)。画像P112は、置換後物体の画像の領域と、背景の領域(置換後物体の像P110にて無背景として設定されている領域)とに分割されている。
【0054】
次に、置換後物体像マスク処理部222は、画像P112をマスク化して、マスクP113を生成する(ステップS113)。マスクP113では、背景の領域がマスクされ(画像無しに設定され)、置換後物体の画像の領域が非マスクとされている(画像有りに設定されている)。
ただし、画像合成装置200がマスクP113を取得する方法は、ステップS111〜S113の処理を行う方法に限らない。例えば、CGデータサーバ装置300が、置換後物体の画像と共に当該画像に対応するマスクを合成する、あるいは、単色に塗り潰された人物(置換後物体)のCG画像を予め記憶しておき当該CG画像からマスクを生成するようにしてもよい。そして、画像合成装置200が、CGデータサーバ装置300から、置換後物体の画像と共にマスクを取得するようにしてもよい。
【0055】
次に、置換後物体像マスク処理部222は、マスクP113を反転させてマスクP121を生成する(ステップS121)。すなわち、マスクP121では、置換後物体の画像の領域がマスクされ、背景の領域が非マスクとされている。
そして、置換後物体像マスク処理部222は、マスクP121を実画像P310に適用して、画像P122を生成する(ステップS122)。この画像P122は、画像合成装置200が生成する合成画像の一部として用いられる。画像P122は、実画像P310のうち、置換後物体の像の影響を受けない部分の画像である。従って、画像合成装置200(合成実行部255)は、画像P122については、遮蔽関係を検出する必要無しに、そのまま合成することができる。
【0056】
一方、非遮蔽時像マスク化処理部232は、まず、非遮蔽時像取得部231が取得した非遮蔽時像P210に対して単色の色(クロマキー処理のためにロボット400に彩色されている色)を抽出し、画像P211を生成する(ステップS211)。画像P211は、非遮蔽時像の領域(置換前物体としてのロボット400の完全な像の領域)と、背景の領域とに分割されている。
【0057】
次に、非遮蔽時像マスク化処理部232は、画像P211をマスク化して、マスクP212を生成する(ステップS212)。マスクP212では、非遮蔽時像の領域がマスクされ、背景の領域が非マスクとされている。
そして、周囲画像取得部233が、マスクP212を置換後物体の像P221に適用して画像P221を生成する(ステップS221)。画像P221は、置換後物体の像のうち、置換前物体の像に対応する領域を除いた周囲の領域の画像である。この周囲の領域は、実画像にて遮蔽関係が示されていない領域であり、画像合成装置200が実物体との遮蔽関係を検出する必要がある。
また、遮蔽領域検出部251は、マスクP212を反転させてマスクP231を生成する(ステップS231)。すなわち、マスクP231では、背景の領域がマスクされ、非遮蔽時像の領域が非マスクとされている。
【0058】
一方、置換前物体像領域処理部242は、実画像取得部241が取得した実画像P310から単色の領域を抽出して、画像P311を取得する(ステップS311)。具体的には、置換前物体像領域処理部242は、クロマキー処理のためにロボット400に彩色されている色の領域を実画像P310から抽出することで、置換前物体の像のうち遮蔽されていない部分の領域を検出する。
次に、置換前物体像領域処理部242は、画像P311をマスク化してマスクP312を生成する(ステップS312)。マスクP312では、置換前物体の像のうち遮蔽されていない部分の領域がマスクされ、それ以外の領域(背景の領域および遮蔽物体の像の領域)が非マスクとされている。
【0059】
さらに、置換前物体像領域処理部242は、マスクP312を反転させてマスクP313を生成する(ステップS313)。すなわち、マスクP313では、置換前物体の像のうち遮蔽されていない部分の領域が非マスクとされ、それ以外の領域(背景の領域および遮蔽物体の像の領域)がマスクされている。
【0060】
そして、被遮蔽部分除外部254が、マスクP313を置換後物体の像P110に適用して、画像P314を生成する。画像P314は、実画像にて遮蔽関係が示されている領域(遮蔽物体の影響を受けていない領域)の画像である。従って、画像合成装置200(合成実行部255)は、画像P314については、さらに遮蔽関係を検出する必要無しに、そのまま合成することができる。
【0061】
一方、領域分割部243は、実画像取得部241画取得した実画像P310からエッジを抽出して、画像P322を取得する(ステップS321)。
そして、領域分割部243は、置換前物体像領域処理部242が生成した単色領域の画像P311を参照し(ステップS322)、エッジの画像P322における単色領域内のエッジを無視(削除)して、画像P323を生成する(ステップS323)。
【0062】
一方、遮蔽領域検出部251は、ステップS231で生成したマスクP231と、置換前物体像領域処理部242が生成したマスクP312とを足し合わせて、マスクP421を生成する(ステップS421)。マスクP421では、置換前物体の像が遮蔽物体の像で遮蔽されている部分のみが非マスクに設定されており、他の領域(置換前物体の像が遮蔽されていない領域、および背景の領域)はマスクされている。すなわち、遮蔽領域検出部251は、マスクP421を生成することで、実画像P310において置換前物体の像が遮蔽物体の像に遮蔽されている部分を検出している。
【0063】
一方、遮蔽物体像領域検出部252は、置換後物体像マスク処理部222が生成したマスクP113を、領域分割部243が生成した画像P323(分割領域画像)に適用して、画像P411を生成する。画像P411は、実画像P310のうち、遮蔽関係が問題となり得る部分(置換後物体の像に対応する部分)の領域分割を示す画像である。
【0064】
次に、遮蔽物体像領域検出部252は、画像P411の各領域についてマスクP421(における非マスクの領域)との重なりの有無を判定する(ステップS422)。そして、遮蔽物体像領域検出部252は、画像P411の各領域のうち、マスクP421(における非マスクの領域)と一部でも重なりのある領域全体を抽出して、画像P423を生成する(ステップS423)。すなわち、遮蔽物体像領域検出部252は、遮蔽領域検出部251が検出した、遮蔽物体の像が置換前物体の像を遮蔽している領域に基づいて、遮蔽物体の像の領域(のうち、置換後物体の像に対応する部分)を検出している。
【0065】
そして、遮蔽物体像領域処理部253は、画像P423をマスク化してマスクP424を生成する(ステップS424)。マスクP424では、遮蔽物体の像の領域(のうち、置換後物体の像に対応する部分)が非マスクとされ、他の領域(置換後物体の像の領域うち、遮蔽物体の像に遮蔽されない部分、および背景の領域)がマスクされている。
また、遮蔽物体像領域処理部253は、マスクP424を、実画像P310に適用して、画像P431を生成する(ステップS431)。画像P431は、遮蔽物体の像(のうち、置換後物体の像に対応する部分)である。
【0066】
また、被遮蔽部分除外部254は、マスクP424を反転し、周囲画像取得部233が生成した画像P221に適用して、画像P441を生成する(ステップS441)。画像P441は、置換後物体の像のうち周囲部分について、遮蔽物体に遮蔽される部分を除外した画像である。すなわち、画像P441と画像P314とを足し合わせると、置換後物体の像のうち、遮蔽物体に遮蔽されていない部分の画像が得られる。
【0067】
そして、合成実行部255は、画像P122と、画像P314と、画像P431と、画像P441とを足し合わせて合成画像P511を生成する。
これにより、置換前物体と遮蔽物体との遮蔽関係を、置換後物体のうちの周囲部分(置換前物体の像の領域に対応付けられる部分以外の部分)にも反映させた、自然な遮蔽関係を示す画像を得られる。
【0068】
次に、
図8〜
図10を参照して、画像合成システム1を適用する態様について説明する。
図8は、画像合成システム1を適用した第1の態様の例を示す説明図である。同図に示す態様では、画像合成システム1(CGデータサーバ装置300)は、置換後物体として複数のキャラクタの画像データを合成する。
図8の例では、CGデータサーバ装置300は、4つのキャラクタC111〜C114の各々について3次元モデルを予め記憶しており、様々な姿勢の像について、ユーザの任意の視点から見たスナップショット(2次元画像)を出力可能である。そして、画像合成システム1は、ユーザが選択したキャラクタ(
図8の例ではキャラクタC111)の像を、実画像に合成して(ロボット400の像から置き換えて)ユーザに提示する。
【0069】
画像合成システム1では、ロボット400と異なる形状のキャラクタであっても、キャラクタの周辺部分が欠けないので、ユーザは、リアリティのある体験をすることができる。
なお、ロボット400は、自動操縦されていてもよし、他者が遠隔操作にてロボット400を操縦するようにしてもよい。
また、CGデータサーバ装置300がインターネット上にあるなど、共用可能な形態であってもよい。
【0070】
図9は、画像合成システム1を適用した第2の態様の例を示す説明図である。同図に示す態様では、ユーザと対話相手とは、それぞれアバターサービス(例えば仮想世界サービス)にログインし、アバター同士での対話を行う。
画像合成システム1は、対話相手のアバターとしてのキャラクタC211の像を実画像に合成してユーザに提示する。この第2の態様では、対話相手が、パソコンをロボット制御装置100として使用してロボット400を遠隔操作する。ユーザは、対話相手のアバターとの対話を、臨場感を持って楽しむことができる。
なお、対話相手のアバターとしてのキャラクタC211とユーザ(のアバター)とが対話する世界W211は、仮想世界であっても良いし、ユーザの部屋など実空間であってもよい。
【0071】
図10は、画像合成システム1を適用した第3の態様の例を示す説明図である。
図9の例の場合と同様、
図10に示す態様では、ユーザと対話相手とは、それぞれアバターサービス(例えば仮想世界サービス)にログインし、アバター同士(アバターC311およびC312)での対話を行う。一方、
図10の例では、
図9の場合と異なり、ユーザと対話相手との双方が、ロボット(ロボット400−1および400−2)を所持している。
【0072】
この場合、画像合成システム1は、お互いのアバターが相手のロボットに乗り移ったかのように画像を合成する。これにより、ユーザや対話相手は、アバター同士の対話を、一層の臨場感をもって楽しむことができる。
なお、対話相手のアバターC311とユーザのアバターC312とが対話する世界W311は、仮想世界であっても良いし、互いの部屋(ユーザの部屋および対話相手の部屋)など実空間であってもよい。
【0073】
なお、画像合成システム1の用途としては、キャラクタの体験やアバターを用いての対話などのエンターテイメント用途以外にも、様々な用途が考えられる。例えば、ロックスターが登場してギターを教えてくれるなどの教育用コンテンツを構築することもできる。あるいは、医療用途として、画像合成システム1を対人恐怖症の治療のために用いることも考えられる。また、患者に対する医者の対応をトレーニングするための模擬患者として画像合成システム1を用いることも可能である。
【0074】
以上のように、遮蔽物体像領域検出部252が、遮蔽物体の像の領域を検出する。そして、被遮蔽部分除外部254は、置換後物体の像のうち、遮蔽物体の像の領域に対応する部分を除外する。そして、合成実行部255は、実画像(
図7の例では、画像P122およびP431)に対して、遮蔽物体の像の領域に対応する部分を除外した置換後物体の像の合成を行う。
これにより、画像合成装置200は、置換前物体の像と遮蔽物体の像との遮蔽関係を把握することで、置換後物体の像と遮蔽物体の像との遮蔽関係を把握することができる。従って、画像合成システム1では、TOF等の装置を必要とせずに比較的低コストにて物の遮蔽関係に応じた画像合成を行うことができる。かつ、画像合成システム1では、置換前物体と置換後物体との差を埋めるための後光の表示を行う必要が無く、観察者の違和感をより低減させることができる。
【0075】
また、画像合成システム1は、ユーザの手の色などの色情報を用いずに合成画像を生成する。この点で、画像合成システム1は汎用性が高い。
また、画像合成システム1では、ロボットなど置換前物体を、人物など置換後物体に対して大きくする必要がない。従って、ロボットなど置換前物体のデザインの自由度が高い。また、置換後物体(合成する画像)についても、ロボットの形状に併せてショートカットにするなど形状の制約が不要となる。すなわち、置換後物体について形状の自由度が増した。
【0076】
また、領域分割部243は、実画像に対するエッジ抽出を行って当該実画像を領域分割する。そして、遮蔽物体像領域検出部252は、領域分割部243が分割した領域のうち、少なくとも一部が置換前物体の像を遮蔽している領域を、遮蔽物体の像の領域として検出する
これにより、遮蔽物体像領域検出部252は、合成画像における置換後物体の像と、遮蔽物体との遮蔽関係をより正確に把握することができる。
【0077】
また、遮蔽領域検出部251は、遮蔽物体の像による遮蔽が無い場合の置換前物体の像と、遮蔽物体の像に遮蔽された部分を除いた置換前物体の像との差分を求めることで、前記置換前物体の像のうち前記遮蔽物体の像に遮蔽される領域を検出する。そして、遮蔽物体像領域検出部252は、実画像を分割した領域のうち、遮蔽領域検出部251が検出した領域を含む領域を検出する。
これにより、画像合成システム1は、
図6〜
図7のステップS421におけるマスクの足し合わせ、および、ステップS422〜S423における重なりのある領域の検出といった、簡単な画像処理や判定にて、合成画像における遮蔽関係を検出することができる。
【0078】
また、被遮蔽部分除外部254は、置換後物体の像のうち、遮蔽物体の像に遮蔽された部分を除く置換前物体の像に対応する部分の画像と、置換後物体の像のうち、置換前物体の像に対応する部分と遮蔽物体の像に対応する部分とを除外した部分の画像とを生成する。ここで、遮蔽物体の像に遮蔽された部分を除く置換前物体の像に対応する部分については、置換後物体と遮蔽物体との遮蔽関係を改めて求める必要なしに、そのまま置換後物体の画像を合成すればよい。従って、被遮蔽部分除外部254は、置換後物体の像の領域のうち、置換前物体の像の周辺に該当する領域について、遮蔽物体との遮蔽関係を検出すればよい。
【0079】
なお、本発明の適用範囲は、上述したヘッドマウントディスプレイを用いる構成に限らない。例えば固定カメラで固定のスクリーンに表示するものなど、ロボットと物との前後関係が生じる様々な構成に本発明を適用し得る。あるいは、本発明における表示装置として、スマートフォンや、パソコンのディスプレイを用いるようにもできる。
【0080】
なお、制御部210の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することで各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0081】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。