JP2022093262A - 画像処理装置、画像処理装置の制御方法およびプログラム - Google Patents

画像処理装置、画像処理装置の制御方法およびプログラム Download PDF

Info

Publication number
JP2022093262A
JP2022093262A JP2021166499A JP2021166499A JP2022093262A JP 2022093262 A JP2022093262 A JP 2022093262A JP 2021166499 A JP2021166499 A JP 2021166499A JP 2021166499 A JP2021166499 A JP 2021166499A JP 2022093262 A JP2022093262 A JP 2022093262A
Authority
JP
Japan
Prior art keywords
image
virtual
virtual object
image processing
color information
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
Application number
JP2021166499A
Other languages
English (en)
Inventor
圭吾 米田
Keigo Yoneda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to US17/525,251 priority Critical patent/US11941729B2/en
Publication of JP2022093262A publication Critical patent/JP2022093262A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

【課題】仮想オブジェクトを含む仮想視点画像を適切に生成する。【解決手段】画像処理装置は、1または複数の撮影装置の撮影に基づく1または複数の画像を取得し、仮想オブジェクトに関する情報を取得し、1または複数の画像と仮想オブジェクトに関する情報とに基づいて、当該仮想オブジェクトを含む二次元画像を生成する。画像処理装置は、二次元画像の生成において、仮想オブジェクトの色情報を1または複数の画像に含まれる実オブジェクトの色情報に基づいて決定する。【選択図】 図2

Description

本発明は、仮想視点画像を生成する画像処理装置、画像処理装置の制御方法、プログラムに関する。
複数の物理カメラで撮影した画像(以下、複数視点画像)を用いて、3次元空間内に仮想的に配置したカメラ(以下、仮想カメラ)からの画像(以下、仮想視点画像)を再現する技術がある。また、そのような仮想視点画像に、仮想カメラで仮想オブジェクトを撮影し生成したコンピュータグラフィックス(以下、CG)画像を重畳して表示する技術が存在する。例えば、複数視点画像に基づいて撮影空間を再構築することで得られた三次元空間(以下、仮想空間)に、仮想オブジェクト、例えば広告を目的とした仮想の看板、を配置する。そして、仮想カメラでこの仮想空間を撮影することにより、仮想視点画像上に仮想広告(CG画像)を重畳し、描画することが可能となる。
撮影画像に基づく仮想視点画像と、撮影画像とは独立に生成されたCG画像を重畳して表示した場合、仮想視点画像中のCG画像が浮いて見えるなどの不自然さが生じる場合がある。特許文献1では、撮影画像とCG画像のより自然な合成画像を生成するために、仮想オブジェクトの撮影画像に発生するノイズを推定し付加するノイズ処理を行い、ノイズ処理されたCG画像を撮影画像に重ね合わせて合成画像を生成する構成が開示されている。特許文献1によれば、撮影画像とCG画像のノイズ感を合わせることで合成画像における不自然さの低減が図られる。
特開2014-203326号公報
しかしながら、特許文献1では、撮影空間の照明条件や物理カメラの撮影条件などに応じて変化する実オブジェクトの色味や解像感と仮想オブジェクトの色味や解像感を合わせることは考慮されていない。そのため、依然として、撮影画像に基づいて生成される仮想視点画像と、仮想オブジェクトのCG画像との合成画像において不自然さが生じてしまう。
本開示は、仮想オブジェクトを含む仮想視点画像を適切に生成することを目的とする。
本開示の一態様による画像処理装置は以下の構成を有する。すなわち、
1または複数の撮影装置の撮影に基づく1または複数の画像を取得する第1取得手段と、
仮想オブジェクトに関する情報を取得する第2取得手段と、
前記第1取得手段により取得された1または複数の画像と、前記第2取得手段により取得された前記仮想オブジェクトに関する情報に基づいて、前記仮想オブジェクトを含む二次元画像を生成する生成手段と、を有し、
前記生成手段は、前記仮想オブジェクトの色情報を前記1または複数の画像に含まれる実オブジェクトの色情報に基づいて決定することにより前記二次元画像を生成する。
本開示によれば、仮想オブジェクトを含む仮想視点画像を適切に生成することができる。
(a)は画像処理システムの構成例を示すブロック図、(b)は画像処理装置のハードウェア構成例を示すブロック図。 画像処理装置の機能構成例を示すブロック図。 第1実施形態による合成画像の生成を説明する図。 第1実施形態による合成画像の生成処理の一例を示すフローチャート。 第1実施形態によるCG画像の加工処理の一例を示すフローチャート。 第2実施形態による合成画像の生成を説明する図。 第2実施形態によるCG画像の加工処理の一例を示すフローチャート。 第3実施形態による合成画像の生成を説明する図。 第3実施形態によるCG画像の加工処理の一例を示すフローチャート。 第4実施形態による画像処理システムの構成例を示すブロック図。 第4実施形態による画像処理装置の機能構成例を示すブロック図。 第4実施形態による合成画像の生成を説明する図。 第4実施形態による合成画像の生成処理の一例を示すフローチャート。 第4実施形態による合成画像の加工処理の一例を示すフローチャート。 第5実施形態による画像処理システムの構成例を示すブロック図。 第5実施形態による画像処理装置の機能構成例を示すブロック図。 第5実施形態によるCG画像の生成処理の一例を示すフローチャート。
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
なお、以下の実施形態において、仮想視点画像とは、ユーザ及び/又は専任のオペレータ等が自由に仮想カメラの位置及び姿勢を操作することによって生成される画像であり、自由視点画像や任意視点画像などとも呼ばれる。また、特に断りが無い限り、画像という文言が動画と静止画の両方の概念を含むものとして説明する。
(第1実施形態)
仮想視点画像上に描かれる実オブジェクト、例えば現実に存在する看板は、天候、照明、遮蔽物の影等の影響を受けて色が明るくなったり暗くなったりする。一方、CG画像上に描かれる仮想オブジェクト、例えば仮想看板は、そのような照明条件をシミュレートして描画しなければ周囲の環境の変化に応じた明るさにならない。しかしながら、時々刻々と変化する照明条件をコンピュータグラフィックスにより忠実にシミュレートすることは非常に困難である。撮影空間の照明条件により明るさに変化がある仮想視点画像と、そのような変化のないCG画像とを合成して得られる合成画像は、視聴者に不自然な印象を与える可能性がある。
第1実施形態では、複数の視点からの複数の画像(以下、複数視点画像)により生成された仮想視点画像上にCG画像が重畳された合成画像を生成する際に、CG画像の色味を調整することによって、より自然な合成画像を生成する構成を説明する。CG画像の色味の調整は、例えば、仮想視点画像の生成に用いられた複数視点画像を用いて生成された被写体(実オブジェクト)のテクスチャデータ(すなわち、色情報)に基づいて、CG画像の彩度および/または明度を加工することで行われ得る。
<画像処理システムのハードウェア構成>
図1(a)は、第1実施形態に係る、画像処理システム10の構成の一例を示す図である。画像処理システム10は、撮影システム101、画像処理装置102、情報処理装置103を備え、仮想視点画像、CG画像及びそれらを重畳した合成画像を生成する。
撮影システム101は、異なる位置に配置された複数の撮影装置(以下、物理カメラともいう)を有し、複数の物理カメラによる同期撮影(本実施形態では、複数の物理カメラの同時撮影)を行う。撮影システム101は、複数の物理カメラにより3次元空間を同時撮影することにより、複数の撮影画像からなる複数視点画像を取得し、それらを画像処理装置102に送信する。
画像処理装置102は、複数視点画像をもとに仮想カメラから撮影される仮想視点画像を生成する。また、画像処理装置102は、当該仮想カメラで、3次元空間に配置された仮想オブジェクトを撮影することにより得られるCG画像を生成する。そして、画像処理装置102は、実オブジェクトの描画に用いられる情報(テクスチャ)に基づいてCG画像を加工する。より具体的には、画像処理装置102は、仮想オブジェクトに近い実オブジェクトの色情報に基づいて、実オブジェクトと仮想オブジェクトの色味を合わせるようCG画像を加工し、加工したCG画像と仮想視点画像を重畳して合成画像を生成する。このようなCG画像の加工により、撮影システム101が有する物理カメラの撮影条件や撮影空間の照明条件などに応じて色味が変化するCG画像が生成され、より自然な合成画像を得ることができる。なお、仮想カメラの視点は、後述する情報処理装置103が決定するカメラパラメータによって表現される。画像処理装置102は、生成した合成画像を情報処理装置103に送信する。
情報処理装置103は、仮想カメラ(視点)を制御するためのコントローラと、合成画像などを表示する表示部とを有する。コントローラは、キーボードやマウスといったユーザが入力操作を行うための一般的なデバイスの他、仮想カメラの位置や姿勢を操作するためのジョイスティック、つまみ、ジョグダイヤル等を含む。表示部は、1又は複数の表示デバイス(以下、「モニタ」と表記)を有し、ユーザに必要な情報を表示する。表示デバイスとして例えばタッチパネルディプレイを採用した場合は、タッチパネルが上述のコントローラの一部またはすべてを兼ねてもよい。モニタには仮想カメラ制御用のUI画面が表示される。ユーザはモニタの表示を見ながら仮想カメラの操作量、つまり移動方向、向き(姿勢)、回転、移動距離や移動速度などを指示することができる。情報処理装置103は、コントローラを介してユーザにより指示された操作量から仮想カメラの位置、姿勢、またはズームなどを示すカメラパラメータを決定し、それを画像処理装置102に送信する。決定されたパラメータは仮想カメラの状態としてモニタに表示されてもよい。また、情報処理装置103は、画像処理装置102が生成した合成画像を受信しモニタに表示する。
図1(b)は、画像処理装置102のハードウェア構成の一例を示す図である。画像処理装置102は、CPU111、RAM112、ROM113、通信部114を備える。CPU111は、RAM112をワークメモリとして、ROM113に格納されたプログラムを実行し、画像処理装置102の各構成部を統括的に制御するプロセッサである。CPU111が、各種プログラムを実行することで、後述の図2に示される各機能部が実現される。RAM112は、ROM113から読み出されたコンピュータプログラムや計算の途中の結果などを一時的に記憶する。ROM113は、変更を必要としないコンピュータプログラムやデータを保持する。ROM113に保持されるデータは、物理カメラのカメラパラメータ、後述する背景モデルおよび仮想オブジェクトの3Dデータ等を含む。通信部114は、EthernetやUSBなどの通信手段を有し、撮影システム101及び情報処理装置103との通信を行う。
<画像処理装置102の機能構成>
図2は、画像処理装置102の機能構成例を示すブロック図である。図2では、物理カメラの撮影条件や撮影空間の照明条件に応じたCG画像となるようにCG画像を加工し、加工したCG画像と仮想視点画像とを重ね合わせることにより合成画像を生成する処理を実現する機能構成の一例が示されている。本実施形態の画像処理装置102は、機能構成として、通信制御部201、仮想視点画像生成部202、CG画像生成部203、CG画像加工部204、合成画像生成部205を有する。
通信制御部201は、通信部114を用いて、撮影システム101から複数視点画像を受信し、情報処理装置103から仮想カメラのカメラパラメータの情報を受信する。通信制御部201は、受信した複数視点画像を仮想視点画像生成部202に出力し、受信したカメラパラメータを仮想視点画像生成部202とCG画像生成部203に出力する。また、通信制御部201は、合成画像生成部205から合成画像を入力し、通信部114を介して情報処理装置103に送信する。仮想視点画像生成部202は、通信制御部201から受信した複数視点画像と仮想カメラのカメラパラメータ、および、ROM113に予め保存されている物理カメラのカメラパラメータに基づき、仮想視点画像を生成する。
仮想視点画像生成部202は、例えば以下のような方法で仮想視点画像を生成する。まず、仮想視点画像生成部202は、複数視点画像から人物やボールなどの所定のオブジェクトに対応する前景領域を抽出した前景画像と、複数視点画像から前景領域以外の背景領域を抽出した背景画像とを取得する。仮想視点画像生成部202は、前景画像と物理カメラのカメラパラメータに基づき、所定のオブジェクトの三次元形状を表す前景モデルと、前景モデルの仮想空間における位置の情報と、前景モデルの表面を描画するためのテクスチャデータとを生成する。また、仮想視点画像生成部202は、ROM113に予め保存した競技場などの背景のオブジェクトの三次元形状を表す背景モデルの表面を描画するためのテクスチャデータを背景画像に基づいて生成する。仮想視点画像生成部202は、前景モデルと背景モデルに対してテクスチャデータをマッピングし、仮想カメラのカメラパラメータに応じて仮想空間をレンダリングすることにより、仮想視点画像を生成する。ただし、仮想視点画像の生成方法はこれに限られるものではなく、三次元モデルを用いずに撮影画像の射影変換により仮想視点画像を生成する方法など、種々の方法を用いることができる。
なお、前景画像とは、複数視点画像から、所定のオブジェクトの領域(前景領域)を抽出した画像である。所定のオブジェクトとは、例えば、固定位置から撮影を行った場合に動きのある(その絶対位置や形が変化し得る)動的なオブジェクト(動体)である。そのようなオブジェクトとは、例えば、競技が行われるフィールド内にいる選手や審判などの人物、球技において用いられるボール、コンサートやエンタテイメントにおける歌手、演奏者、パフォーマー、司会者などである。また、背景画像とは、少なくとも前景となるオブジェクトとは異なる領域(背景領域)の画像である。より具体的には、背景画像は、固定位置から撮影を行った場合において静止している、又は静止に近い状態が継続しているオブジェクト(不動体)を指す。そのようなオブジェクトとは、例えば、コンサート等のステージ、競技などのイベントを行うスタジアム、球技で使用するゴールなどの構造物、フィールド、などである。
仮想視点画像生成部202は、以上のようにして生成した仮想視点画像をCG画像加工部204、合成画像生成部205に送る。また、仮想視点画像生成部202は、複数視点画像、仮想視点画像を生成する際に生じる中間データ(例えば前景オブジェクトそれぞれの仮想空間上での位置や、それらのテクスチャデータ等)をCG画像加工部204に送る。
CG画像生成部203は、通信制御部201から受信した仮想カメラのカメラパラメータに基づき、仮想オブジェクトの撮影(仮想オブジェクトの画像上への投影)、ラスタライズ、色の決定等の処理を行い、CG画像を生成する。仮想オブジェクトは、3Dデータ(メッシュデータやテクスチャデータ、マテリアルデータ等)を有する、仮想空間にのみ存在するオブジェクトである。CG画像生成部203は、ROM113に予め保存されている仮想オブジェクトの3Dデータを取得し、仮想オブジェクトを仮想空間の任意の位置に配置し、仮想カメラから見た画像を生成する。仮想オブジェクトは、例えば、物理カメラの撮影空間には存在しない仮想の看板であり、仮想カメラがそれを撮影することにより仮想広告画像(CG画像)が生成される。CG画像生成部203は、生成したCG画像及びCG画像を生成するために用いた仮想オブジェクトの3DデータをCG画像加工部204に送る。
CG画像加工部204は、仮想視点画像生成部202から送られた仮想視点画像と複数視点画像と中間データ、および、CG画像生成部203から送られた仮想オブジェクトの3Dデータを用いて、CG画像生成部203から受信したCG画像を加工する。CG画像加工部204は、加工したCG画像を合成画像生成部205に送る。CG画像の加工方法については、図3を用いて後述する。合成画像生成部205は、仮想視点画像生成部202から入力した仮想視点画像と、CG画像加工部204から入力したCG画像とを合成することで、前景、背景、CGが描画された合成画像を生成する。合成画像生成部205は、生成した合成画像を通信制御部201に出力する。
<CG画像の加工と合成画像の生成方法の説明>
図3を用いて、第1実施形態による、CG画像の加工と合成画像の生成の手順を説明する。ここでは、CG画像加工部204によるCG画像の加工の一例として、仮想視点画像における実オブジェクトのテクスチャ(色情報)に基づいてCG画像の色味を変化させる態様を説明する。図3(a)は、撮影システム101の撮影空間上に実在する前景オブジェクト301、背景オブジェクト302、撮影空間上に実在しない仮想オブジェクト303を仮想カメラ304で撮影する様子を俯瞰で見た概略図である。図3(b)は、図3(a)で生成される仮想視点画像312とCG画像313とを合成する方法を説明した概略図である。
撮影システム101が有する物理カメラ305と物理カメラ306は、前景オブジェクト301および背景オブジェクト302を撮影し、撮影画像307と撮影画像308を生成する。前景オブジェクト301は、太陽やライトなどの光源309に照らされているため、撮影画像307は逆光により暗い画像となり、撮影画像308は順光により明るい画像となる。画像処理装置102は、撮影システム101が撮影した複数視点画像に基づき、前景オブジェクト301、背景オブジェクト302を仮想空間上に再構築した前景モデル310と背景モデル311を生成する。そして、画像処理装置102は、情報処理装置103から受信した仮想カメラ304のカメラパラメータに基づき、前景モデル310と背景モデル311を撮影した仮想視点画像312と、仮想オブジェクト303を撮影したCG画像313を生成する。
画像処理装置102は、前景モデル310のテクスチャデータを生成する際に、より仮想カメラから撮影した画像に近づけるため、仮想カメラ304と近い物理カメラ305の撮影画像のテクスチャを優先的に使うとする。そうすると、仮想視点画像312に映る前景モデル310は、撮影画像308に比べて暗い画像になる。一方、CG画像313は、仮想空間上で光源309を模倣しない限り、撮影システム101の撮影空間上の照明条件の影響を受けず、仮想カメラ304を動かしても仮想オブジェクト303の色の変化はない。そのため、仮想視点画像312とCG画像313をそのまま合成すると、前景モデル310と仮想オブジェクト303の色味が異なり不自然な合成画像となる可能性がある。CG画像313を生成する際に、撮影システム101の撮影空間上の照明を模倣することも可能だが、太陽やスタジアムのライトなどの多数の照明が存在する場合、画像処理装置102はそれらをシミュレートするために多大な処理時間が必要となる。また、太陽やステージのライトなどは時々刻々と色や強度が変化するため、それらを忠実に模倣することは難しい。そこで、第1実施形態の画像処理装置102は、自然な合成画像を生成するために、仮想視点画像312における前景モデル310のテクスチャデータに基づいてCG画像313の彩度や明度を変化させたCG画像314を生成する。以上のようにCG画像313を加工することにより得られたCG画像314と仮想視点画像312とを合成することで、より自然な仮想視点画像とCG画像との合成画像315を生成することが可能となる。
<CG画像の加工と合成画像の生成の制御>
図4は、本実施形態に係る、CG画像と仮想視点画像の生成及びそれらの合成処理を示すフローチャートである。図4に示される処理は、例えば、ROM113に格納された制御プログラムがRAM112に読み出され、CPU111がこれを実行することによって実現される。通信制御部201は、撮影システム101から複数視点画像を受信し、情報処理装置103から仮想カメラのカメラパラメータを受信する。仮想視点画像生成部202およびCG画像生成部203がこれら受信データを通信制御部201から受け取ると図4に示される処理が開始される。
S401において、仮想視点画像生成部202は、複数の撮影装置(複数の物理カメラ)からの複数の画像を取得する。なお、複数の画像として本実施形態では複数視点画像(複数の撮影装置による複数の撮影画像)を用いられているが、これに限られるものではない。例えば、複数の画像は、複数の撮影画像のそれぞれから得られる前景オブジェクトのテクスチャ画像(撮影画像から前景オブジェクトの領域を抽出した部分画像)を含んでもよい。或いは、複数の画像は、複数の撮影画像のそれぞれから得られる背景オブジェクトのテクスチャ画像(撮影画像から背景オブジェクトの領域を抽出した部分画像)を含んでもよい。これらの場合、撮影システム101において、撮影画像のそれぞれから前景オブジェクトおよび背景オブジェクトが抽出され、複数の画像として画像処理装置102に送られることになる。なお、画像処理装置102が複数視点画像を受信する場合、複数視点画像を構成する複数の撮影画像のそれぞれからの前景オブジェクトおよび背景オブジェクトの抽出は、例えば仮想視点画像生成部202で行われ得る。S402において、CG画像生成部203は、仮想オブジェクトに関する情報を取得する。仮想オブジェクトに関する情報は、仮想オブジェクトの3次元形状データ(例えば、ポリゴンデータまたはボクセルデータ)と仮想オブジェクトの仮想空間における配置位置(例えば、ユーザ(オペレータ)が設定した位置)の少なくとも何れかを含む。
S403において、仮想視点画像生成部202は、S401で取得された複数視点画像と仮想カメラのカメラパラメータ(仮想視点の位置、姿勢))に基づいて仮想カメラによって撮影される仮想視点画像を生成する。なお、仮想カメラのカメラパラメータは通信制御部201から入力される。すなわち、指定された仮想視点から観察される実空間を表す画像が仮想視点画像として生成される。生成された仮想視点画像は、合成画像生成部205に送られる。また、仮想視点画像の生成途中の中間データ(例えば前景オブジェクトそれぞれの仮想空間上での位置や、それらのテクスチャデータ等)は、CG画像加工部204に送られる。S404において、CG画像生成部203は、S402で取得された仮想オブジェクトに関する情報と仮想カメラのカメラパラメータとに基づいて、仮想カメラから仮想オブジェクトを撮影することにより得られるCG画像を生成する。なお、仮想カメラのカメラパラメータは、S403でも用いられたものであり、通信制御部201から入力される。すなわち、上記仮想視点画像の生成に用いられた仮想視点から観察される仮想オブジェクトを表す画像がCG画像として生成される。生成されたCG画像は、CG画像加工部204に送られる。
S405において、CG画像加工部204は、仮想視点画像生成部202から入力された中間データに基づいてCG画像生成部203から入力されたCG画像を加工する。S405におけるCG画像の加工処理の詳細は、図5の参照により後述する。加工されたCG画像は、合成画像生成部205に出力される。S406において、合成画像生成部205は、仮想視点画像生成部202から入力された仮想視点画像とCG画像加工部204から入力された加工済みのCG画像とを合成し、合成画像を生成する。その後、本処理は終了する。本処理の終了後、生成された合成画像は合成画像生成部205から通信制御部201を介して情報処理装置103に送信される。以上が、第1実施形態に係る、仮想視点画像とCG画像の合成画像処理である。
<CG画像の加工処理の説明>
図5は、本実施形態に係る、CG画像の加工処理の一例を示すフローチャートであり、図4のS405におけるCG画像の加工処理の詳細を示す。第1実施形態におけるCG画像の加工処理では、3次元空間において仮想オブジェクトに近い前景モデルのテクスチャデータ(彩度と明度)に基づいてCG画像の色情報を決定し、加工する。より具体的には、CG画像加工部204は、仮想空間上で仮想オブジェクトが配置された位置に近い前景モデルの彩度と明度を取得し、それらに近づくように仮想オブジェクトの彩度と明度を変更する。加工前のCG画像の彩度や明度は、仮想オブジェクトのテクスチャデータやマテリアルデータに基づき、CG画像生成部203により算出されている。図5に示される処理は、CG画像加工部204により実行される。また、図5に示される処理は、仮想視点画像生成部202から中間データが取得され、CG画像加工部204からCG画像が取得されたことをトリガとして開始する。
S501において、CG画像加工部204は、仮想視点画像生成部202から入力された中間データより、仮想オブジェクトに近い前景モデルを選択し、そのテクスチャデータを取得する。仮想オブジェクトに近い前景モデルとは、例えば、仮想オブジェクトに最も近い位置にある実オブジェクトの前景モデルである。なお、S501で選択される前景モデルはこれに限られるものではない。例えば、仮想オブジェクトから近い順に所定数の実オブジェクトの前景モデルが選択されるようにしてもよいし、仮想オブジェクトから所定距離内に存在する全ての実オブジェクトの前景モデルが選択されるようにしてもよい。すなわち、CG画像を加工する際に、仮想オブジェクトと近くに位置する前景モデルが複数ある場合に、一つの前景モデルだけでなく複数の前景モデルに基づいてCG画像を加工するようにしてもよい。また、実オブジェクトと仮想オブジェクトとの距離には、例えば、両オブジェクトの重心位置の距離、両オブジェクトの表面間の最短距離などが用いられ得る。また、必ずしも選択された前景モデルの描画に用いられるテクスチャデータの全体が用いられなくてもよい。すなわち、前景オブジェクトの一部分のテクスチャデータ(例えば、前景オブジェクトの仮想オブジェクトに最も近い点を中心とした所定範囲内の部分に対応するテクスチャデータ)が取得されるようにしてもよい。
S502において、CG画像加工部204は、S502で取得された前景モデルのテクスチャデータをRGB空間からHSI空間へ変換する。S503において、CG画像加工部204は、CG画像生成部203により生成されたCG画像の色情報をRGB空間からHSI空間へ変換する。S504において、CG画像加工部204は、前景モデルのテクスチャデータのHSI空間モデルに基づき、CG画像の彩度と明度を加工する。例えば、CG画像加工部204は、前景モデルのテクスチャデータの彩度と明度の平均値をそれぞれ算出する。そして、CG画像加工部204は、CG画像の色相はそのままで、CG画像の彩度と明度のそれぞれの平均値が前景モデルのテクスチャデータについて算出されたそれぞれの平均値と一致するまたは近づくように、CG画像の彩度と明度を変更する。S505において、CG画像加工部204は、CG画像をHSI空間からRGB空間に逆変換する。以上が、第1実施形態に係るCG画像の加工処理の例である。
以上説明したように、第1実施形態では、複数視点画像に基づき生成された前景モデルのテクスチャデータを用いて、CG画像の彩度と明度を加工する処理が行われる。これにより、仮想視点画像とCG画像を重ね合わせたときに、仮想視点画像の実オブジェクトとCG画像の色味が近くなり、より自然な合成画像を生成することが可能となる。
なお、第1実施形態では、前景モデルのテクスチャデータを用いて彩度と明度を加工する例を説明したが、これに限られるものではない。例えば、背景モデルのテクスチャデータが用いられてもよい。また、背景モデルがスタジアムやフィールドのように大きい場合には、その一部分が用いられてもよい。例えば、背景モデルのテクスチャデータのうち仮想オブジェクトに近い部分のテクスチャデータを抽出し、抽出されたテクスチャデータが用いられるようにしてもよい。また、仮想オブジェクトの位置と面の向きに基づいて選択した物理カメラによる撮影画像を複数視点画像から選択し、選択された撮影画像の彩度や明度が用いられてもよい。仮想オブジェクトの面の向きは、例えば、ポリゴンの面法線や頂点法線に基づいて決定することができる。またその場合、選択された撮影画像の全体の色情報が用いられてもよいし、選択された撮影画像の一部分を抽出し、抽出した部分の画像の色情報が用いられてもよい。撮影画像から抽出される部分の画像としては、例えば、仮想オブジェクトの近傍の所定範囲の画像、仮想オブジェクトに近い実オブジェクトの領域の画像などがあげられる。
また、CG画像を加工する際は、CG画像が急激に変化しないように徐々に変化させるようにしてもよい。CG画像の加工を毎フレーム行うのではなく、所定の単位時間を設定し、その単位時間ごとにCG画像を加工してもよい。また、その際にも、CG画像を徐々に変化させるようにしてよい。複数視点画像に基づくCG画像の加工を常時行わず、ユーザにより情報処理装置103を介して、加工の有無を切り替えてもよい。また、CG画像の加工は、複数視点画像に基づくものだけでなく、光源やマテリアルを設定して、コンピュータグラフィックスにより加工を加えてもよい。また、本実施形態では、CG画像生成部203とCG画像加工部204を分けて記載したが、これに限られるものではない。例えば、CG画像加工部204は、CG画像生成部203の機能の一部又はすべてを兼ねてもよい。この場合、例えば、CG画像加工部204は複数視点画像(から得られるテクスチャデータ)に基づいて仮想オブジェクトの画像を加工しながらCG画像を生成するようにしてもよい。
(第2実施形態)
第1実施形態では、前景モデルのテクスチャに基づいて、仮想視点画像に重畳するCG画像の彩度と明度を加工することで、仮想視点画像の実オブジェクトとCG画像の仮想オブジェクトの色味を合わせ、合成画像における違和感を低減する構成を説明した。第2実施形態では、実オブジェクトと仮想オブジェクトの解像度の違いにより生じる違和感を低減する構成を説明する。例えば、物理カメラから近い、もしくは望遠で撮影された現実の看板の画像は解像度が高くなり、反対に物理カメラから遠い、もしくは広角で撮影された現実の看板の画像の解像度は低くなる。このように、撮影条件により現実の看板の画像の解像度は異なるが、仮想オブジェクトである仮想看板のCG画像は常にその解像度が一定である。そのため、仮想空間に配置された仮想看板の画像と周囲の現実の看板の画像との解像度が異なるものとなり、看板どうしの解像感が不均一になるために、違和感のある不自然な合成画像が生成される可能性がある。
第2実施形態では、仮想オブジェクトと距離が近い背景モデルのテクスチャデータ(すなわち色情報)の解像度に応じて、仮想モデルのテクスチャデータの解像度を加工する。なお、画像処理装置102のハードウェア構成や機能構成など第1実施形態と共通する部分は説明を省略ないしは簡略化し、以下では差異点であるCG画像の加工制御を中心に説明を行う。
図6は、第2実施形態に係る、仮想視点画像とCG画像との合成処理を説明する図である。図7は、第2実施形態に係るCG画像の加工処理を示すフローチャートである。第2実施形態によるCG画像の加工処理では、背景モデルの表面を描画するためのテクスチャデータの解像度に応じて、CG画像の解像度が変更される。
図6において、仮想視点画像601は現実に存在する実看板602を仮想カメラで撮影することにより得られた画像であり、CG画像603は仮想看板604を仮想カメラで撮影することにより得られた画像である。CG画像603に映る仮想看板604のテクスチャデータの解像度は、仮想視点画像601の実看板602のテクスチャデータの解像度より高い。実看板602に比べて仮想看板604のテクスチャデータの解像度が過度に高い状態で仮想視点画像601にCG画像603が重畳されると、不自然な合成画像になる可能性がある。そのため、第2実施形態のCG画像加工部204は、仮想看板604のテクスチャデータの解像度を仮想視点画像601における実看板602のテクスチャデータの解像度に近づけるようにCG画像603を加工する。合成画像生成部205は、こうして加工されたCG画像605を仮想視点画像601に重畳することで、解像度の違いに起因した不自然さが低減または解消された合成画像606を生成する。
図7は、図4のS405の処理(CG画像の加工処理)を詳細に示すフローチャートである。CG画像加工部204は、仮想視点画像生成部202から背景モデルのテクスチャデータが入力され、CG画像生成部203から仮想オブジェクトのテクスチャデータが入力されると、図7に示される加工処理を開始する。
S701において、CG画像加工部204は、仮想オブジェクトに近い背景モデルに貼られるテクスチャデータを取得する。仮想オブジェクトに近い背景モデルに貼られるテクスチャデータは、例えば、背景オブジェクトのテクスチャデータから、仮想オブジェクトに近い部分(仮想オブジェクトに最も近い位置を中心とした所定の大きさの範囲)を抽出したテクスチャデータである。もちろん、これに限られるものではなく、例えば、仮想オブジェクトに最も近い実オブジェクトに対応する背景モデルのテクスチャデータ全体が選択されるようにしてもよい。S702において、CG画像加工部204は、仮想オブジェクトに貼られるテクスチャデータを取得する。
S703において、CG画像加工部204は、背景モデルと仮想オブジェクトのテクスチャデータの解像度を比較する。本実施形態において、背景モデルのテクスチャデータの解像度は、例えば当該テクスチャデータのもととなる撮影画像において当該テクスチャデータが貼られる範囲の画素数と、当該範囲の3次元空間における実際の大きさとから得られる。また、本実施形態において、仮想オブジェクトのテクスチャデータの解像度は、仮想オブジェクトにおける当該テクスチャデータが貼られる範囲の大きさと、その範囲に対応するCG画像の画素数から得られる。S704において、CG画像加工部204は、S703における解像度の比較結果に従って処理を分岐する。背景モデルと仮想オブジェクトのテクスチャデータの解像度の差が所定値以下である場合(S704でNO)、本処理は終了する。この場合、S406における合成画像の生成では、S404で生成されたCG画像がそのまま用いられることになる。
背景モデルと仮想オブジェクトのテクスチャデータの解像度の差が所定値より大きい場合(S704でYES)、処理はS704からS705に進む。S705において、CG画像加工部204は、背景モデルのテクスチャデータの解像度に基づいて、CG画像における仮想オブジェクトのテクスチャデータの解像度を変更する。例えば、仮想オブジェクトと背景モデルが同じ大きさで、仮想オブジェクトのテクスチャデータの解像度が背景モデルのテクスチャデータの解像度の2倍であったとする。この場合、CG画像加工部204は、S404で生成されたCG画像を仮想オブジェクトのテクスチャデータサイズを50%に縮小する加工を行う。こうして、合成画像に用いられる現実の看板と仮想の看板の画像のテクスチャデータの解像度を一致させる、或いはそれらテクスチャデータの解像度を近づけることができる。
以上のように、第2実施形態によれば、背景モデルのテクスチャデータの解像度に応じて仮想オブジェクトの解像度を変化させることによりCG画像が加工され、加工されたCG画像と仮想視点画像を重畳することでより自然な合成画像が生成される。なお、CG画像の加工に用いられるテクスチャデータは、背景モデルに限られるものではなく、第1実施形態のように仮想オブジェクトの近くに存在する前景モデルのテクスチャデータが用いられてもよい。また、第2実施形態では、仮想の看板の近くの現実に存在する看板(現実の看板)のテクスチャデータに基づきCG画像の加工を行ったが、これに限られるものではない。例えば、現実の看板を仮想の看板で置き換える場合は、置き換えの対象となる現実の看板のテクスチャデータに基づいて仮想の看板のテクスチャデータを変化させてもよい。
(第3実施形態)
第1実施形態および第2実施形態では、仮想オブジェクトとの位置関係に基づいて選択された実オブジェクトに基づいてテクスチャデータが選択され、選択されたテクスチャデータに基づいてCG画像の加工が行われた。第3実施形態では、撮影システム101が撮影する空間に存在する実オブジェクトの種類(選手、ボール、看板など)を識別し、識別された種類と仮想オブジェクトの種類に基づいて選択された実オブジェクトのテクスチャデータに基づいてCG画像を加工する。なお、画像処理装置102のハードウェア構成や機能構成など第1実施形態と共通する部分は説明を省略ないしは簡略化し、以下では差異点であるCG画像の加工処理を中心に説明する。
図8は、第3実施形態に係る、仮想視点画像とCG画像の合成処理を説明する図である。図9は、第3実施形態に係るCG画像の加工処理を示すフローチャートである。上述のように、第3実施形態では、オブジェクトの種類を識別し、種類が識別されたオブジェクトのうちの所定のオブジェクトのテクスチャデータに応じて、CG画像を加工する。
図8において、仮想視点画像801は、現実に存在する看板802と看板以外のオブジェクト803を仮想カメラで撮影した画像である。また、CG画像804は、仮想の看板805を、仮想カメラで撮影した画像である。仮想の看板805のテクスチャデータは、現実に存在する看板802に比べて解像度が高い。第2実施形態では、仮想オブジェクトに近い、前景又は背景モデルのテクスチャデータを用いてCG画像の解像度を加工する方法を説明した。これに対し、第3実施形態のCG画像加工部204は、前景又は背景モデルのオブジェクトの種類を識別し、事前に設定された種類のオブジェクトを選択し、選択したオブジェクトのテクスチャデータを用いてCG画像を加工する。
図8の例では、仮想オブジェクトの種類は看板であり、これと同一の種類の実オブジェクトである看板802が選択され、そのテクスチャデータに基づいて仮想の看板805のテクスチャデータが変更される。合成画像生成部205は、こうして加工されたCG画像806を仮想視点画像801に重畳して合成画像807を生成する。例えば、実オブジェクトのテクスチャデータの色味または解像度に基づいて仮想オブジェクトの色味または解像度が変更される。色味の変更は第1実施形態で、解像度の変更は第2実施形態で説明したとおりである。これにより、仮想カメラに現実に存在する看板と仮想看板が映った際に、現実の看板と仮想看板の色味や解像感が似ることで、違和感の少ない合成画像を生成することが可能となる。
図9のフローチャートにより示される処理は、第3実施形態のCG画像加工部204により実行される処理である。CG画像加工部204は、仮想視点画像生成部202から前景モデル又は背景モデルの各位置とテクスチャデータが入力され、CG画像生成部203から仮想オブジェクトのテクスチャデータが入力されると、図9の処理を開始する。図9は、図4のS405の処理(CG画像を加工する処理)を詳細に説明したフローチャートである。
S901において、CG画像加工部204は、前景または背景モデルの実オブジェクトの種類を識別し、仮想オブジェクトと同一種類の実オブジェクトを選択する。オブジェクトの種類の識別には、例えば物体検出アルゴリズムが用いられ得る。また、背景モデルであれば、例えばメッシュデータに種類を示す情報が埋め込まれていてもよい。S902において、CG画像加工部204は、S901で選択された実オブジェクトのテクスチャデータに基づき、仮想オブジェクトのCG画像を加工する。CG画像の加工は、第1実施形態、第2実施形態で説明したとおりである。
以上のように、第3実施形態によれば、種類が識別した実オブジェクトの中から、所定の種類のオブジェクトのためのテクスチャデータに基づいて、CG画像が加工される。このような第3実施形態によれば、例えば、現実の複数の看板のうちの一つを仮想の看板で置き換えた合成画像を生成するような場合に、より確実に看板のオブジェクトのテクスチャデータを用いてCG画像を加工することができる。このように、仮想オブジェクトと同一種別の実オブジェクトのテクスチャデータによりCG画像が加工されるため、より自然な合成画像を得ることができる。なお、第1実施形態~第3実施形態は適宜組み合わせて用いることが可能であることは言うまでもない。
(第4実施形態)
第1実施形態乃至第3実施形態では、二次元画像である仮想視点画像上にCG画像を重畳する際に、複数視点画像により生成されたオブジェクトのテクスチャデータに基づき、CG画像を加工する処理を説明した。第4実施形態では、二次元画像として拡張現実画像が用いられる。すなわち、第4実施形態では、拡張現実(AR:Augmented Reality)において、カメラの撮影画像に基づき、CG画像を加工する態様を説明する。昨今、拡張現実技術を利用した様々なサービスが提供されている。AR技術を用いると、現実空間を撮像した画像(実画像)上にCG画像を重畳表示することができる。例えば、実画像に仮想広告(CG画像)を表示することができる。しかしながら、実画像とCG画像を重畳して表示した場合、実画像中のCG画像が浮いて見える不自然さが生じる場合がある。これは、第1実施形態乃至第3実施形態で説明した不自然さと同様である。拡張現実においても、撮影空間の照明条件やカメラの撮影条件などに応じて、実画像に写る現実空間に存在するオブジェクト(実オブジェクト)とCG画像に写る仮想オブジェクトの色味や解像感を合わせる必要がある。そこで、第4実施形態では、実オブジェクトと仮想オブジェクトの色味を合わせる一例として、カメラにより撮影された実画像に基づき、CG画像の彩度および/または明度を加工する手法を説明する。なお、第1実施形態乃至第3実施形態と共通する部分は省略ないしは簡略化して説明する。
<画像処理システムのハードウェア構成>
図10は、本実施形態に係る、画像処理システム全体構成の一例を示す図である。画像処理システム1000は、カメラの撮影画像を取得し、撮影画像に写った実オブジェクトの色情報に応じてCG画像の色情報を決定する。そして、画像処理システム1000は、決定したCG画像の色情報に基づき合成画像を生成し出力する。画像処理システム1000は、カメラ1010、画像処理装置1020、及び表示装置1030を有する。第4実施形態の画像処理装置1020のハードウェア構成例は、第1実施形態(図1(b))で説明したとおりである。
カメラ1010は、現実空間を撮影する。そして撮影した撮影画像、事前に計算したカメラ1010の内部パラメータなどが、画像処理装置1020に送信される。カメラの内部パラメータとは、カメラ固有の内部パラメータであり、例えば、焦点距離、画像中心、及びレンズ歪みパラメータ等である。なお、カメラは1台に限らず複数台でもよい。カメラが複数台ある場合、複数の撮影画像および内部パラメータが画像処理装置1020に送信される。本実施形態では、1台のカメラの撮影画像に基づきCG画像を加工する処理を説明しているが、それに限らず、複数台の撮影画像に基づき1つのCG画像を加工してもよい。
画像処理装置1020は、カメラ1010から入力した撮影画像、カメラの内部パラメータに基づき、現実空間の三次元情報とカメラの位置姿勢を推定する。現実空間の三次元情報とカメラの位置姿勢の推定は、例えば、Visual SLAMなどの技術を用いて行われる。この技術を用いれば、カメラの周囲の三次元情報やカメラの位置姿勢を示すパラメータ(カメラの外部パラメータ)を算出することが可能である。現実空間の三次元情報は、例えばVisual SLAMであれば、カメラの撮影画像から周辺の物体の特徴点を認識して、多数の特徴点の三次元座標の集合(点群)として出力される。すなわち、現実空間の実オブジェクト群の三次元情報(三次元座標)が取得できる。なお、現実空間の三次元情報の推定は、この方法に限らず、LiDARに代表されるレーザーセンサなどのセンサを利用・併用してもよく、画像処理装置1020は各種センサ(デプスセンサや加速度センサ)を含んでもよい。実オブジェクト群の三次元情報は、三次元座標だけでなく、物体認識技術を併用し、三次元座標と対応する実オブジェクトの種別(看板、床、壁など)などの情報を含んでもよい。また、カメラの外部パラメータの推定は、例えば、現実空間中に設置された固有の識別情報を持つマーカを検出することで幾何学的に算出されてもよく、上記の方法に限らない。カメラの外部パラメータは、例えば回転行列及び位置ベクトル等で表現される。カメラの内部パラメータと外部パラメータを合わせて、カメラパラメータと呼ぶ。本実施形態では、現実のカメラ(実カメラ)の位置姿勢が仮想カメラの位置姿勢と一致しているものとし、仮想カメラのカメラパラメータを実カメラのカメラパラメータに一致させる。なお、これに限らず、実カメラと仮想カメラのカメラパラメータは異なっていてもよい。また、三次元情報を推定する現実空間と仮想広告を配置する仮想空間の座標系は一致するものとする。
画像処理装置1020は、取得したカメラパラメータに基づき、仮想広告などの仮想オブジェクトを配置した仮想空間を撮影しCG画像を生成する。仮想オブジェクトの3Dデータは、ROM113(図1(b))に予め保存されており、それを読み出し使用する。仮想オブジェクトの3Dデータは、配置情報(姿勢情報や位置情報)を有しており、それに基づき仮想オブジェクトを仮想空間に配置する。なお、仮想オブジェクトの配置位置はこれに限らず、画像処理装置1020が仮想オブジェクトの位置や姿勢を変化させてもよく、仮想空間上に任意の位置姿勢で配置してもよい。そして、画像処理装置1020は、撮影画像、生成した実オブジェクト群の三次元情報に基づいてCG画像を加工する。より具体的には、画像処理装置1020は、仮想オブジェクトと近い実オブジェクトの色情報に基づいて、実オブジェクトと仮想オブジェクトの色味を合わせるようCG画像を加工する。まず、画像処理装置1020は、実オブジェクト群の三次元情報を用いて仮想オブジェクトと距離が近い実オブジェクト(もしくは点)を選択し、それをカメラパラメータに基づき撮影画像に投影する。そして、画像処理装置1020は、投影先の色情報を取得し、その色情報に基づいて、仮想オブジェクトの色情報を変化させ加工する。最後に、画像処理装置1020は、撮影画像と加工したCG画像を重畳して合成画像を生成する。このようなCG画像の加工により、カメラ1010の撮影条件や撮影空間の照明条件などに応じて色味が変化するCG画像が生成され、より自然な合成画像を得ることができる。
画像処理装置1020は、生成した合成画像を表示装置1030に出力する。
表示装置1030は、画像処理装置1020により生成され出力された合成画像を表示する。表示装置1030は合成画像を逐次更新して連続して表示することで拡張現実を実現する。ユーザは、表示装置1030に表示された合成画像を見て、カメラ1010を操作し、カメラのズームや位置姿勢を指定する。表示装置1030は、例えばモニタや、タブレット、ビデオシースルー型のヘッドマウントディスプレイ(HMD)である。
なお、本実施形態では、カメラ1010、画像処理装置1020、表示装置1030は、別々の装置を想定しているが、これに限らず、画像処理装置1020が、カメラ1010または表示装置1030の機能を兼ねてもよい。例えば、カメラ内蔵のタッチパネルディスプレイを採用したタブレットで合成画像を表示する場合、タブレットが、カメラ1010、画像処理装置1020、表示装置1030を兼ねることもできる。タブレットのタッチパネルディスプレイには合成画像が表示され、ユーザはタッチパネルディスプレイに触れてタブレットを操作し、後述するCPU、RAM、ROMが連携することで合成画像が生成される。
<画像処理装置の機能構成>
図11は、画像処理装置1020の、カメラ1010の撮影画像に基づき、CG画像を加工する処理に係る機能構成の一例を示す図である。
画像処理装置1020は、通信制御部1101、カメラ情報推定部1102、CG画像生成部1103、CG画像加工部1104、合成画像生成部1105を備える。
通信制御部1101は、通信部114を用いて、カメラ1010から撮影画像、カメラ1010の内部パラメータを受信する。通信制御部1101は、受信した撮影画像と内部パラメータをカメラ情報推定部1102に出力する。また、通信制御部1101は、撮影画像をCG画像加工部1104に出力する。さらに、通信制御部1101は、通信部114を用いて、合成画像生成部1105から受信した合成画像を表示装置1030に送信する。
カメラ情報推定部1102は、通信制御部1101から取得したカメラ1010の撮影画像と内部パラメータに基づいて、現実空間の三次元情報とカメラ1010の外部パラメータを推定する。カメラ情報推定部1102は、通信制御部1101から入力した内部パラメータと、生成した現実空間の三次元情報とカメラ1010の外部パラメータをCG画像生成部1103に出力する。
CG画像生成部1103は、カメラ情報推定部1102から入力したカメラパラメータに基づき、仮想オブジェクトを撮影し、CG画像を生成する。カメラパラメータは、カメラ1010のものであるため、生成したCG画像の画角や位置姿勢はカメラ1010の撮影画像の画角や位置姿勢と一致する。CG画像生成部1103は生成したCG画像、仮想オブジェクトの配置情報、カメラ情報推定部1102から入力した現実空間の三次元情報とカメラパラメータをCG画像加工部1104に出力する。
CG画像加工部1104は、通信制御部1101から送られてきたカメラ1010の撮影画像、および、CG画像生成部1103から送られた仮想オブジェクトの配置情報、現実空間の三次元情報、カメラパラメータを用いて、CG画像生成部1103から受信したCG画像を加工する。CG画像加工部1104は加工したCG画像とカメラ1010の撮影画像を合成画像生成部1105に送る。CG画像の加工方法は図12を用いて後述する。
合成画像生成部1105は、CG画像加工部1104から入力したカメラ1010の撮影画像とCG画像を合成することで、カメラ1010の撮影画像にCGが描画された合成画像を生成する。合成画像生成部1105は、生成した合成画像を通信制御部1101に出力する。
<CG画像の加工と合成画像の生成方法の説明>
図12を用いて、第4実施形態による、CG画像の加工と合成画像の生成の手順を説明する。ここでは、CG画像加工部1104によるCG画像の加工の一例として、実オブジェクトの撮影画像に基づいてCG画像の色味を変化させる態様を説明する。図12(a)は、カメラ1010の撮影空間上の実オブジェクト1201、撮影空間上に実在しない仮想オブジェクト1202を実カメラ(仮想カメラ)1203で撮影する様子を俯瞰で見た概略図である。なお、実カメラと仮想カメラの位置姿勢は一致している。図12(b)は、図12(a)の撮影画像1204とCG画像1206とを合成する方法を説明した概略図である。
実カメラ1203は、実オブジェクト1201を撮影し、撮影画像1204を生成する。実カメラ1203は、カメラ1010に対応する。実オブジェクト1201は、太陽やライトなどの光源1205に照らされて逆光の状態となるため順光より暗い色となる。画像処理装置1020は、実カメラ1203が撮影した撮影画像1204に基づき、実オブジェクト1201を含む三次元情報、カメラの外部パラメータを推定する。そして、画像処理装置1020は、カメラ1010のカメラパラメータに基づき、CG画像1206を生成する。さらに、画像処理装置1020は、推定した三次元情報と撮影画像1204に基づき、CG画像1206の色の彩度や明度を実オブジェクト1201の色の彩度や明度に近づけるように加工してCG画像1207を生成する。ここで、CG画像1206の色の彩度や明度を加工するために使われる実オブジェクトは、例えば仮想オブジェクトと距離が近いものを選んで行われる。最後に、画像処理装置1020は、加工したCG画像1207と撮影画像1204を重畳して合成画像1208を生成する。
以上のようにCG画像1206に写る仮想オブジェクト1202の色味を、撮影画像1204に写る実オブジェクト1201の色情報に応じて加工することで、仮想空間上で光源1205を模倣しなくても、自然な合成画像1208を生成することが可能となる。
<CG画像の加工と合成画像の生成の制御>
図13は、本実施形態に係る、撮影画像とCG画像の合成処理を示すフローチャートである。図13に示される処理は、例えばROM113に格納された制御プログラムがRAM112に読み出され、CPU111がこれらを実行することで実現される。通信制御部1101は、カメラ1010から撮影画像と内部パラメータを受信する。カメラ情報推定部1102がこれら受信データを通信制御部1101から受け取ると図13に示される処理が開始される。
S1301において、カメラ情報推定部1102は、カメラ1010の撮影画像と内部パラメータを取得する。そして、それらの取得データに基づいて、現実空間の三次元情報とカメラ1010の外部パラメータを推定する。カメラ情報推定部1102は、カメラパラメータと現実空間の三次元情報をCG画像生成部1103に出力する。
S1302において、CG画像生成部1103は、カメラ1010のカメラパラメータ、仮想オブジェクトの3Dデータを取得し、仮想オブジェクトを映したCG画像を生成する。CG画像生成部1103は、生成したCG画像、仮想オブジェクトの配置情報、現実空間の三次元情報、カメラパラメータをCG画像加工部1104に出力する。
S1303において、CG画像加工部1104は、CG画像生成部1103から入力した仮想オブジェクトの配置情報、現実空間の三次元情報、カメラパラメータ、通信制御部1101から入力した撮影画像に基づいてCG画像生成部1103から入力したCG画像を加工する。S1303におけるCG画像の加工処理の詳細は、図14の参照により後述する。CG画像加工部1104は、加工したCG画像と撮影画像を合成画像生成部1105に出力する。
S1304において、合成画像生成部1105は、CG画像加工部1104から入力した撮影画像とCG画像とを合成し、合成画像を生成する。その後、S1305において、合成画像生成部1105は生成された合成画像を出力する。本実施形態では、合成画像生成部1105は、通信制御部1101を介して表示装置1030に合成画像を送信する。以上が、第4実施形態に係る、カメラ1010の撮影画像とCG画像の合成処理である。
<CG画像の加工処理の説明>
図14は、本実施形態に係る、CG画像の加工処理の一例を示すフローチャートであり、図13のS1303におけるCG画像の加工処理の詳細を示す。第4実施形態におけるCG画像の加工処理では、3次元空間において仮想オブジェクトと近い実オブジェクトの撮影画像の彩度と明度に基づいてCG画像の色情報を決定し、加工する。より具体的には、CG画像加工部1104は、現実(仮想)空間上で配置位置が仮想オブジェクトに近い実オブジェクトの撮影画像の彩度と明度を取得し、それらに近づくように仮想オブジェクトの彩度と明度を変更する。加工前のCG画像の彩度や明度は、仮想オブジェクトのテクスチャデータやマテリアルデータに基づき、CG画像生成部1103により算出されている。図14に示される処理は、CG画像加工部104により実行される。また、図14に示される処理は、通信制御部1101から撮影画像が取得され、CG画像生成部から現実空間の三次元情報、CG画像、仮想オブジェクトの配置情報、カメラパラメータが取得されたことをトリガとして開始される。ただし、現実空間の三次元情報は、実オブジェクト群の三次元座標の集合(点群)を想定する。
S1401において、CG画像加工部1104は、CG画像生成部から入力された実オブジェクト群の三次元座標の集合(点群)より、仮想オブジェクトの配置位置に近い実オブジェクトの点群を取得する。例えば、CG画像加工部1104は、仮想オブジェクトの配置位置から所定距離の範囲内に存在する実オブジェクトの点群を取得する。なお、点群は複数の点の座標を含んでもよいし、一点の座標でもよい。実オブジェクトの点群の選択は、点群とその点群に対応した種別情報が存在する場合、その種別情報に基づき判定されてもよい。例えば、仮想の看板広告のCG画像を加工する場合、現実空間に存在する看板の点群が優先的に選ばれてもよい。
S1402において、CG画像加工部1104は、選択した実オブジェクトの点群をCG画像生成部から入力されたカメラパラメータに基づき、通信制御部1101から入力した撮影画像に投影する。
S1403において、CG画像加工部1104は、実オブジェクトの点群の投影先の撮影画像の色情報を取得する。
S1404において、CG画像加工部1104は、取得した色情報をRGB空間からHSI空間へ変換する。
S1405において、CG画像加工部1104は、CG画像生成部1103により生成されたCG画像の色情報をRGB空間からHSI空間へ変換する。
S1406において、CG画像加工部1104は、撮影画像の色情報のHSI空間モデルに基づき、CG画像の彩度と明度を加工する。例えば、CG画像加工部1104は、S1404で取得した撮影画像の色情報の彩度と明度の平均値をそれぞれ算出する。そして、CG画像加工部1104は、CG画像の色相はそのままで、CG画像の彩度と明度のそれぞれの平均値が撮影画像の色情報について算出されたそれぞれの平均値と一致するまたは近づくように、CG画像の彩度と明度を変更する。
S1407において、CG画像加工部1104は、CG画像をHSI空間からRGB空間に逆変換する。以上が、第4実施形態に係るCG画像の加工処理の例である。
以上説明したように、第4実施形態では、カメラ1010の撮影画像を用いて、CG画像の彩度と明度を加工する処理が行われる。これにより、拡張現実において、撮影画像とCG画像を重ね合わせたときに、撮影画像に写る実オブジェクトとCG画像に写る仮想オブジェクトの色味が近くなり、より自然な合成画像を生成することが可能となる。なお、第1実施形態の色味の加工方法など、第1実施形態乃至第3実施形態で説明した各種方法は、第4実施形態においても適宜組み合わせで用いることも可能である。
(第5実施形態)
第4実施形態では、表示装置1030に実画像にCG画像を重畳した合成画像を表示する処理を説明した。第5実施形態では、光学シースルー型の表示装置、例えば拡張/複合現実用の光学シースルー型HMDに、撮影した実画像に基づき加工したCG画像を表示する態様を説明する。なお、第4実施形態と共通する部分は省略ないしは簡略化して説明する。
図15は本実施形態に係る、画像処理システム全体構成の一例を示す図である。画像処理システム1500は、カメラの撮影画像を取得し、撮影画像に写った実オブジェクトの色情報に応じてCG画像の色情報を決定する。そして、画像処理システム1500は、色情報を決定したCG画像を表示する。画像処理システム1500は、カメラ1510、画像処理装置1520、及び表示装置1530を有する。ただし、カメラ1510はカメラ1010と同様である。第5実施形態の画像処理装置1520のハードウェア構成例は、第1実施形態(図1(b))で示したとおりである。
画像処理装置1520は、画像処理装置1020と異なり、カメラ1510の撮影画像に基づき加工したCG画像を撮影画像に重畳せずに、そのまま表示装置1530に出力する。それ以外は、画像処理装置1020と同様である。
表示装置1530は、画像処理装置1520により生成され出力されたCG画像を表示する。表示装置1530は、例えば光学シースルー型HMDであり、透過型のスクリーンにCG画像を表示し、現実の景色と重ね合わせること拡張/複合現実を実現する。
なお、本実施形態では、カメラ1510、画像処理装置1520、表示装置1530は、別々の装置を想定しているが、第4実施形態と同様に、画像処理装置1520が、カメラ1510、表示装置1530の機能を兼ねてもよい。
図16は、画像処理装置1520の、カメラ1510の撮影画像に基づき、CG画像を加工する処理に係る機能構成の一例を示す図である。
画像処理装置1520は、通信制御部1601、カメラ情報推定部1602、CG画像生成部1603、CG画像加工部1604を備える。ただし、カメラ情報推定部1602、CG画像生成部1603はそれぞれ、カメラ情報推定部1102、CG画像生成部1103と同様である。
通信制御部1601は、通信部114を用いて、カメラ1510から撮影画像、カメラ1510の内部パラメータを受信する。通信制御部1601は、受信した撮影画像と内部パラメータをカメラ情報推定部1602に、撮影画像をCG画像加工部1604に出力する。また、通信制御部1601は、通信部114を用いて、CG画像加工部1604から受信したCG画像を表示装置1530に送信する。
CG画像加工部1604は、通信制御部1601から送られてきたカメラ1510の撮影画像、および、CG画像生成部1103から送られてきた仮想オブジェクトの配置情報、現実空間の三次元情報、カメラパラメータを用いて、CG画像生成部1603から受信したCG画像を加工する。CG画像加工部1604は加工したCG画像を通信制御部1601に送る。CG画像の加工方法は、第4実施形態のCG画像の加工方法と同様である。
図17は、第5実施形態に係る、CG画像の生成処理を示すフローチャートである。上述のように、第5実施形態では、カメラ1510の撮影画像に基づいて生成されたCG画像を撮影画像と重畳せずそのまま表示装置1530に出力する。図17に示される処理は、例えばROM113に格納された制御プログラムがRAM112に読み出され、CPU111がこれらを実行することで実現される。通信制御部1601は、カメラ1510から撮影画像と内部パラメータを受信する。カメラ情報推定部1602がこれら受信データを通信制御部1601から受け取ると図17に示される処理が開始される。ただし、S1701およびS1702は、それぞれS1301およびS1302と同様である。
S1703において、CG画像加工部1604は、CG画像生成部1603から入力した仮想オブジェクトの配置情報、現実空間の三次元情報、カメラパラメータ、通信制御部1601から入力した撮影画像に基づいてCG画像生成部1603から入力したCG画像を加工する。CG画像の加工は、第4実施形態(図14)で説明したとおりである。S1704において、CG画像加工部1604は、加工されたCG画像を通信制御部1601に出力する。そして、本処理は終了する。加工されたCG画像は、通信制御部1601から表示装置1530に送信される。以上が、第5実施形態に係る、CG画像の生成処理である。
以上、説明したように、第5実施形態では、カメラ1510の撮影画像を用いて、CG画像を加工し、そのCG画像を光学シースルー型HMDなどの透過型のスクリーンに表示する。これにより、現実の景色とCG画像の色味が近くなり、より自然な拡張/複合現実を実現することが可能となる。なお、第4実施形態のCG画像の加工方法など、第1実施形態乃至第3実施形態で説明した各種方法は、第5実施形態においても適宜組み合わせて用いることも可能である。
(その他の実施形態)
本開示は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本開示は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
101:撮影システム、102:画像処理装置、103:情報処理装置、201:通信制御部、202:仮想視点画像生成部、203:CG画像生成部、204:CG画像加工部、205:合成画像生成部

Claims (22)

  1. 1または複数の撮影装置の撮影に基づく1または複数の画像を取得する第1取得手段と、
    仮想オブジェクトに関する情報を取得する第2取得手段と、
    前記第1取得手段により取得された1または複数の画像と、前記第2取得手段により取得された前記仮想オブジェクトに関する情報に基づいて、前記仮想オブジェクトを含む二次元画像を生成する生成手段と、を有し、
    前記生成手段は、前記仮想オブジェクトの色情報を前記1または複数の画像に含まれる実オブジェクトの色情報に基づいて決定することにより前記二次元画像を生成することを特徴とする画像処理装置。
  2. 前記二次元画像は、前記複数の撮影装置によって撮影された複数の画像に基づき生成される仮想視点画像であることを特徴とする請求項1に記載の画像処理装置。
  3. 前記複数の画像は、前記複数の撮影装置により撮影される撮影画像、前記撮影画像から前景オブジェクトを抽出した部分画像、または、撮影画像から背景オブジェクトの領域を抽出した部分画像のいずれかを含むことを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記生成手段は、
    前記複数の画像に基づいて仮想視点から観察される画像を生成し、
    前記仮想オブジェクトの情報に基づいて前記仮想視点から観察される前記仮想オブジェクトのCG画像を生成し、
    前記仮想視点からの画像における前記実オブジェクトの色情報に基づいて前記CG画像の色情報を決定し、
    前記仮想視点からの画像と加工された前記CG画像とを合成して前記二次元画像を生成することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
  5. 前記二次元画像は、前記1または複数の撮影装置によって撮影された1または複数の画像に基づき生成される拡張現実画像であることを特徴とする請求項1に記載の画像処理装置。
  6. 前記二次元画像は、前記1または複数の撮影装置によって撮影された1または複数の画像に基づき生成されるCG画像であることを特徴とする請求項1に記載の画像処理装置。
  7. 前記生成手段は、前記画像を用いてカメラの周囲の三次元情報とカメラの位置姿勢を推定し、前記画像と前記カメラの周囲の三次元情報と前記カメラの位置姿勢に基づいて、前記仮想オブジェクトのCG画像の色情報を決定することを特徴とする請求項5または6に記載の画像処理装置。
  8. 前記仮想オブジェクトに関する情報は、仮想オブジェクトの3次元形状データ、または、仮想オブジェクトの仮想空間における配置位置を含むことを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
  9. 前記生成手段は、前記仮想オブジェクトとの位置関係に基づいて選択した実オブジェクトの色情報に基づいて前記仮想オブジェクトの色情報を決定することを特徴とする請求項1乃至8のいずれか1項に記載の画像処理装置。
  10. 前記生成手段は、前記仮想オブジェクトに最も近い、または、前記仮想オブジェクトから所定距離の範囲にある前景オブジェクトの色情報に基づいて前記仮想オブジェクトの色情報を決定することを特徴とする請求項1乃至9のいずれか1項に記載の画像処理装置。
  11. 前記生成手段は、前記仮想オブジェクトからの距離に基づいて選択した背景オブジェクトまたは背景オブジェクトの一部の色情報に基づいて、前記仮想オブジェクトの色情報を決定することを特徴とする請求項1乃至10のいずれか1項に記載の画像処理装置。
  12. 前記生成手段は、前記仮想オブジェクトの色情報が表す彩度と明度の少なくとも一方を、前記実オブジェクトの色情報が表わす彩度と明度の少なくとも一方に基づいて決定することを特徴とする請求項1乃至11のいずれか1項に記載の画像処理装置。
  13. 前記生成手段は、前記実オブジェクトの色情報の彩度および明度のそれぞれの平均値と前記仮想オブジェクトの彩度および明度のそれぞれの平均値が一致するまたは近づくように、前記仮想オブジェクトの彩度および明度を変更することを特徴とする請求項1乃至12のいずれか1項に記載の画像処理装置。
  14. 前記生成手段は、前記仮想オブジェクトの色情報の解像度が前記実オブジェクトの色情報の解像度に一致するまたは近づくように、前記仮想オブジェクトの色情報の解像度を決定することを特徴とする請求項1乃至13のいずれか1項に記載の画像処理装置。
  15. 前記生成手段は、前記仮想オブジェクトの色情報の解像度と前記実オブジェクトの色情報の解像度との差が所定値よりも大きい場合に、前記仮想オブジェクトの色情報の解像度を変更することを特徴とする請求項14に記載の画像処理装置。
  16. 前記実オブジェクトの種類を識別する識別手段をさらに有し、
    前記生成手段は、所定の種類の実オブジェクトの色情報に基づいて前記仮想オブジェクトの色情報を変更することを特徴とする請求項1乃至15のいずれか1項に記載の画像処理装置。
  17. 前記生成手段は、前記仮想オブジェクトの位置と前記仮想オブジェクトの面の方向とに基づいて前記複数の画像の中から選択された画像の色情報に基づいて、前記仮想オブジェクトの色情報を決定することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
  18. 前記生成手段は、前記複数の画像のうちの、前記仮想オブジェクトの位置と前記仮想オブジェクトの面の方向とに基づいて前記複数の撮影装置の中から選択された撮影装置により撮影された撮影画像の色情報に基づいて、前記仮想オブジェクトの色情報を決定することを特徴とする請求項17に記載の画像処理装置。
  19. 前記生成手段は、前記選択された撮影装置により得られた撮影画像のうちの、前記仮想オブジェクトの位置に基づいて抽出された部分の画像の色情報に基づいて前記仮想オブジェクトの色情報を決定することを特徴とする請求項18に記載の画像処理装置。
  20. 前記仮想オブジェクトは、前記1または複数の撮影装置により撮影されないオブジェクトであることを特徴とする請求項1乃至19のいずれか1項に記載の画像処理装置。
  21. 1または複数の撮影装置の撮影に基づく1または複数の画像を取得する第1取得工程と、
    仮想オブジェクトに関する情報を取得する第2取得工程と、
    前記第1取得工程により取得された1または複数の画像と、前記第2取得工程により取得された前記仮想オブジェクトに関する情報に基づいて、前記仮想オブジェクトを含む二次元画像を生成する生成工程と、を有し、
    前記生成工程では、前記仮想オブジェクトの色情報を前記1または複数の画像に含まれる実オブジェクトの色情報に基づいて決定することにより前記二次元画像を生成することを特徴とする画像処理装置の制御方法。
  22. コンピュータを、請求項1乃至20のいずれか1項に記載された画像処理装置の各手段として機能させるためのプログラム。
JP2021166499A 2020-12-11 2021-10-08 画像処理装置、画像処理装置の制御方法およびプログラム Pending JP2022093262A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/525,251 US11941729B2 (en) 2020-12-11 2021-11-12 Image processing apparatus, method for controlling image processing apparatus, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020206041 2020-12-11
JP2020206041 2020-12-11

Publications (1)

Publication Number Publication Date
JP2022093262A true JP2022093262A (ja) 2022-06-23

Family

ID=82069304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021166499A Pending JP2022093262A (ja) 2020-12-11 2021-10-08 画像処理装置、画像処理装置の制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2022093262A (ja)

Similar Documents

Publication Publication Date Title
US11210838B2 (en) Fusing, texturing, and rendering views of dynamic three-dimensional models
US10096157B2 (en) Generation of three-dimensional imagery from a two-dimensional image using a depth map
US10692288B1 (en) Compositing images for augmented reality
US8933965B2 (en) Method for calculating light source information and generating images combining real and virtual images
US5694533A (en) 3-Dimensional model composed against textured midground image and perspective enhancing hemispherically mapped backdrop image for visual realism
US20190164346A1 (en) Method and apparatus for providing realistic 2d/3d ar experience service based on video image
US20110084983A1 (en) Systems and Methods for Interaction With a Virtual Environment
US20190213975A1 (en) Image processing system, image processing method, and computer program
KR20220004008A (ko) 객체 카테고리 모델링을 위한 생성 잠재 텍스처 프록시
CN107862718B (zh) 4d全息视频捕捉方法
US11941729B2 (en) Image processing apparatus, method for controlling image processing apparatus, and storage medium
KR20190062102A (ko) 비디오 영상기반 2d/3d ar 실감체험 방법 및 장치
EP3057316B1 (en) Generation of three-dimensional imagery to supplement existing content
CN108564654B (zh) 三维大场景的画面进入方式
US11043019B2 (en) Method of displaying a wide-format augmented reality object
JP2022093262A (ja) 画像処理装置、画像処理装置の制御方法およびプログラム
JPH11316853A (ja) 仮想現実感生成装置及び方法
WO2020236460A1 (en) Blended mode three dimensional display systems and methods
JP2021047468A (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP7044149B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2023153534A (ja) 画像処理装置、画像処理方法、およびプログラム
WO2022107688A1 (ja) 画像生成装置、画像生成方法、およびプログラム
JP7390265B2 (ja) 仮想視点映像レンダリング装置、方法およびプログラム
Mori et al. Augmented visualization: Observing as desired
JP2005107644A (ja) ロボット