JP2022096217A - 画像処理装置、画像処理システム、画像処理方法、およびプログラム - Google Patents
画像処理装置、画像処理システム、画像処理方法、およびプログラム Download PDFInfo
- Publication number
- JP2022096217A JP2022096217A JP2020209195A JP2020209195A JP2022096217A JP 2022096217 A JP2022096217 A JP 2022096217A JP 2020209195 A JP2020209195 A JP 2020209195A JP 2020209195 A JP2020209195 A JP 2020209195A JP 2022096217 A JP2022096217 A JP 2022096217A
- Authority
- JP
- Japan
- Prior art keywords
- image
- stationary object
- frame
- stationary
- foreground
- 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
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Image Analysis (AREA)
Abstract
【課題】静止物を含む仮想視点画像を適切に生成するための技術を提供する。【解決手段】仮想視点画像を生成するための処理を行う三次元モデル生成装置104は、所定期間、動きがないオブジェクトである静止物が存在する撮像エリアを撮像装置が撮像して得られた複数のフレームにそれぞれ基づく画像であって、静止物を少なくとも含むオブジェクトを表す画像を取得し、特定のフレームに基づく画像に含まれる静止物の領域を表す静止物データで、特定のフレームとは異なるフレームに基づく画像における静止物の領域の少なくとも一部を修正し、修正された画像を、仮想視点画像を生成するための生成手段に出力する。【選択図】図7
Description
本開示は、仮想視点画像の生成に用いられる撮像画像に基づくデータの生成に関する。
複数のカメラを異なる位置に設置して複数の視点から時刻同期して撮像し、当該撮像により得られた複数の画像を用いて三次元モデルを生成する方法がある。また、三次元モデルに基づき仮想視点画像を生成する方法がある。
特許文献1には、複数の視点から撮像して得られた撮像画像に含まれるオブジェクトのシルエットを抽出して、オブジェクトの三次元モデルを生成する方法が記載されている。
静止しているオブジェクトである静止物を同じ視点から撮像した場合において、撮像環境における光源の影響等により、フレームにおける静止物の形状および色がフレームごとに異なって表現されることがある。そのフレームに基づき静止物の三次元モデルを生成して仮想視点画像を生成すると、静止物の形状や色がフレームごとに異なる仮想視点画像が生成されてしまう。この結果、仮想視点画像における静止物にちらつきが生じてしまうことがある。
本開示の技術は、静止物を含む仮想視点画像を適切に生成するための技術を提供することを目的とする。
画像処理装置は、仮想視点画像を生成するための処理を行う画像処理装置であって、所定期間、動きがないオブジェクトである静止物が存在する撮像エリアを撮像装置が撮像して得られた複数のフレームにそれぞれ基づく画像であって、前記静止物を少なくとも含むオブジェクトを表す画像を取得する取得手段と、特定のフレームに基づく前記画像に含まれる前記静止物の領域を表す静止物データに基づいて、前記特定のフレームとは異なるフレームに基づく前記画像に含まれる前記静止物の領域の少なくとも一部を修正する修正手段と、前記修正された前記画像を、前記仮想視点画像を生成するための生成手段に出力する出力手段と、を有することを特徴とする。
本開示の技術によれば、静止物を含む仮想視点画像を適切に生成するための技術を提供することができる。
<第1の実施形態>
本実施形態について、図面を用いて説明する。本実施形態では、動画像を構成するフレームに基づき三次元モデルを生成する場合、テーブルや大型楽器など動きがなく静止しているオブジェクト(静止物とよぶ)の三次元モデルを更新する頻度を、他のオブジェクト(動体)よりも下げる。同様に、静止物の三次元モデルの色の更新する頻度を他のオブジェクトよりも下げる。このように処理することにより、仮想視点画像における静止物のちらつきを抑制する方法について説明する。静止物は、完全に静止していなくてもよく、一定の期間中、動かない物体でもよい。また、静止物は、撮像領域に設置される物体であってもよく、撮像期間以外は撮像領域から撤去される物体でもよいし、撮像期間以外でも撮像領域に設置され続けるものでもよい。静止物は、スポーツ競技に使用される機材や、コンサートで使用される機材あるいはステージであってもよい。
本実施形態について、図面を用いて説明する。本実施形態では、動画像を構成するフレームに基づき三次元モデルを生成する場合、テーブルや大型楽器など動きがなく静止しているオブジェクト(静止物とよぶ)の三次元モデルを更新する頻度を、他のオブジェクト(動体)よりも下げる。同様に、静止物の三次元モデルの色の更新する頻度を他のオブジェクトよりも下げる。このように処理することにより、仮想視点画像における静止物のちらつきを抑制する方法について説明する。静止物は、完全に静止していなくてもよく、一定の期間中、動かない物体でもよい。また、静止物は、撮像領域に設置される物体であってもよく、撮像期間以外は撮像領域から撤去される物体でもよいし、撮像期間以外でも撮像領域に設置され続けるものでもよい。静止物は、スポーツ競技に使用される機材や、コンサートで使用される機材あるいはステージであってもよい。
[システム構成]
図1は、本実施形態の画像処理システムである仮想視点画像生成システム100を説明するための図である。仮想視点画像とは、実際のカメラとは異なる実在しないカメラの位置及び向き等に基づいて生成される画像であり、自由視点画像や任意視点画像とも呼ばれる。仮想視点画像を生成する技術によれば、例えば、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴することが出来るため、通常の画像と比較してユーザに高臨場感を与えることが出来る。仮想視点画像は、動画であっても、静止画であってもよい。本実施形態では、仮想視点画像は動画であるものとして説明する。仮想視点画像の生成は、複数のカメラが撮像した画像をサーバなどの画像処理部に集約し、当該画像処理部にて、三次元モデル生成、レンダリングなどの処理を施し、ユーザ端末に伝送を行うことで実現できる。
図1は、本実施形態の画像処理システムである仮想視点画像生成システム100を説明するための図である。仮想視点画像とは、実際のカメラとは異なる実在しないカメラの位置及び向き等に基づいて生成される画像であり、自由視点画像や任意視点画像とも呼ばれる。仮想視点画像を生成する技術によれば、例えば、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴することが出来るため、通常の画像と比較してユーザに高臨場感を与えることが出来る。仮想視点画像は、動画であっても、静止画であってもよい。本実施形態では、仮想視点画像は動画であるものとして説明する。仮想視点画像の生成は、複数のカメラが撮像した画像をサーバなどの画像処理部に集約し、当該画像処理部にて、三次元モデル生成、レンダリングなどの処理を施し、ユーザ端末に伝送を行うことで実現できる。
図1(a)は、仮想視点画像生成システム100の構成を示すブロック図である。本実施形態の仮想視点画像生成システム100は、複数の撮像装置であるカメラ101a~101pを有するカメラアレイ101、複数の前景抽出装置102a~102pを有する前景抽出装置群102、制御装置103を有する。さらに、仮想視点画像生成システム100は、三次元モデル生成装置104、レンダリング装置105を有する。前景抽出装置102a~102p、制御装置103、三次元モデル生成装置104、及びレンダリング装置105は、演算処理を行うCPU、演算処理の結果やプログラム等を記憶するメモリなどを備えた一般的な画像処理装置によって実現される。
カメラアレイ101は、複数のカメラ101a~101pで構成され、様々な角度の複数方向からオブジェクトを撮像して前景抽出装置群102へ撮像画像の画像データを出力する。なお、カメラの台数は、16台に限らず、撮像対象に応じて変更してもよい。
図1(b)は、カメラアレイ101を構成する全16台のカメラ101a~101pの配置を俯瞰で示した図である。本実施形態では、カメラアレイ101は、直方体で示した撮像エリア120の周囲に配置され、カメラ101a~101pは、撮像エリア120を様々な角度から、オブジェクトである人物130、131およびテーブル140を撮像する。また、カメラ101a~101pは時刻を同期して撮像エリア120を撮像する。
前景抽出装置群102は、夫々のカメラ101a~101pに対応する前景抽出装置102a~102pで構成される。各前景抽出装置102a~102pは、対応するカメラから出力された撮像画像の画像データから撮像画像に含まれるオブジェクトのシルエットを示す前景領域を抽出する。そして各前景抽出装置102a~102pは、対応するカメラの撮像画像におけるオブジェクトの領域を表す画像である前景マスク画像と、オブジェクトのテクスチャを表す前景テクスチャ画像と、を生成する。前景マスク画像と前景テクスチャ画像をまとめて前景画像と称することがある。前景マスク画像および前景テクスチャ画像の説明については後述する。
制御装置103は、カメラアレイ101のカメラによって時刻同期され撮像された撮像画像からカメラ101a~カメラ101pの位置や姿勢を示すカメラパラメータを算出し、三次元モデル生成装置104およびレンダリング装置105に出力する。
カメラパラメータは、外部パラメータおよび内部パラメータで構成されている。外部パラメータは回転行列および並進行列で構成されており、カメラの位置や姿勢を示すものである。一方、内部パラメータはカメラの焦点距離や光学的中心などを含みカメラの画角や撮像センサの大きさなどを示すものである。カメラパラメータを算出する処理はキャリブレーションと呼ばれ、チェッカーボードのような特定パターンを撮像した複数枚の画像を用いて取得した三次元の世界座標系の点とそれに対応する二次元上の点との対応関係を用いることで求められる。
三次元モデル生成装置104は、制御装置103からカメラパラメータを取得し、前景抽出装置群102から前景マスク画像および前景テクスチャ画像を取得する。そして、三次元モデル生成装置104は、複数のカメラの前景マスク画像を用いて、視体積交差法(shape from silhouette法)によりボクセル集合で表されるオブジェクトの三次元モデルを三次元空間上に生成する。視体積交差法およびボクセルについては後述する。三次元モデル生成装置104は、生成したオブジェクトの三次元モデルのデータをレンダリング装置105に出力する。
レンダリング装置105は、オブジェクトの三次元モデル、および前景テクスチャ画像を取得し、制御装置103からカメラパラメータを取得する。レンダリング装置105はこれらのデータに基づき仮想視点画像を生成する生成装置である。具体的には、カメラパラメータから前景テクスチャ画像とオブジェクトの三次元モデルとの位置関係を求める。そして、三次元モデルを構成する各ボクセルに対応する前景テクスチャ画像における画素の色に基づき色づけすることで三次元空間が再構築され、任意視点から見た画像が生成される。
本実施形態では、前景抽出装置102a~102pと三次元モデル生成装置104とがスター型のトポロジーで接続されている形態であるものとして説明する。他にも、前景抽出装置102a~102pと三次元モデル生成装置104とがディジーチェーン接続によるリング型またはバス型等のトポロジーで接続されている形態であってもよい。
[ハードウェア構成]
図2は、本実施形態の三次元モデル生成装置104のハードウェア構成例を示すブロック図である。三次元モデル生成装置104は、CPU201、RAM202、ROM203、記憶装置204、表示部205、操作部206、および通信部207を有する。
図2は、本実施形態の三次元モデル生成装置104のハードウェア構成例を示すブロック図である。三次元モデル生成装置104は、CPU201、RAM202、ROM203、記憶装置204、表示部205、操作部206、および通信部207を有する。
CPU201は、中央処理装置(Central Processing Unit)であり、ROM203またはRAM202に格納されたプログラムを実行することにより三次元モデル生成装置の全体を制御する。たとえば、CPU201は、記憶装置204に格納されている所定のプログラムをRAM202にロードし、RAM202にロードされたプログラムを実行することにより、後述する図7に示す三次元モデル生成装置104の各機能部を実現する。ROM203は読み取り専用の不揮発性メモリである。RAM202は、随時読み書きが可能なメモリである。RAM202として、DRAM(Dynamic Randam Access Memory)を用いることができる。記憶装置204はたとえばハードディスクなどで構成される大容量の記憶装置である。記憶装置204には、前景抽出装置群102から出力された前景画像などを格納することができる。
表示部205は、例えば液晶ディスプレイやLED等で構成され、ユーザが三次元モデル生成装置104を操作するためのGUI(Graphical User Interface)などを表示する。操作部206は、例えばキーボードやマウス、ジョイスティック、タッチパネル等で構成され、ユーザによる操作を受けて各種の指示をCPU201に入力する。CPU201は、表示部205を制御する表示制御部、及び操作部206を制御する操作制御部としても動作する。本実施形態では表示部205と操作部206が三次元モデル生成装置104の内部に存在するものとするが、表示部205と操作部206との少なくとも一方が三次元モデル生成装置104の外部に別の装置として存在していてもよい。
通信部207は、三次元モデル生成装置104と外部装置との通信制御を行い、本実施形態では、前景抽出装置群102、制御装置103、およびレンダリング装置105が接続される。なお、外部装置と三次元モデル生成装置104とは、LANなどのネットワークを介して接続される。
[前景マスク画像、前景テクスチャ画像について]
撮像画像において前景として表されるオブジェクトは、撮像エリア内に存在する床、壁、天井以外の物体であり、仮想視点の任意の角度から見ることを可能とする物体である。例えば、オブジェクトは、人物のような動体であってもよいし、テーブルのような静止物であってもよい。
撮像画像において前景として表されるオブジェクトは、撮像エリア内に存在する床、壁、天井以外の物体であり、仮想視点の任意の角度から見ることを可能とする物体である。例えば、オブジェクトは、人物のような動体であってもよいし、テーブルのような静止物であってもよい。
図3はカメラ101gによる撮像画像、およびその撮像画像に基づき前景抽出装置102gにより生成された前景画像(前景マスク画像および前景テクスチャ画像)の例を示す図である。図3(a)はカメラ101gが撮像エリア120を撮像することによって得られた動画像を構成する1フレーム目の撮像画像(フレーム)である。
図3(b)は、図3(a)の撮像画像から前景抽出装置102gが前景領域を抽出して生成した前景マスク画像である。前景マスク画像は、撮像画像内の前景領域を1(白色)、背景領域を0(黒色)の2値で表すシルエット画像である。前景領域の抽出方法は、例えば、対応するカメラの背景画像と撮像画像との輝度や色の差分の大きい画素を前景の画素と決定する方法が用いられる。背景は撮像画像の前景以外の領域を指す。図3(c)は前景抽出装置102gで生成された前景テクスチャ画像であり、撮像画像から前景が存在する領域を切り出して生成された画像である。
撮像エリア120における人工光源によるフリッカなどの影響により、図3(b)の前景マスク画像におけるテーブルの前景領域の端のように、前景領域の一部に欠けが生じることがある。フリッカとは、蛍光灯やLEDなど人工光源が一定の周期で点滅していることを指す。
図4は、カメラ101gによる2フレーム目の撮像画像、およびその撮像画像に基づき生成された前景画像(前景マスク画像および前景テクスチャ画像)の例を示す図である。図4(b)は図4(a)の撮像画像から生成された2フレーム目の前景マスク画像である。図4(b)の前景領域についても、人工光源によるフリッカなどの影響によりテーブル端など一部に欠けが生じている。図3(b)の1フレーム目の前景マスク画像と、図4(b)の2フレーム目の前景マスク画像を比べると欠けの位置が異なっている。このように、人工光源によるフリッカなどの影響による前景領域の欠けの位置は、フレームごとに異なる位置に形成されることがある。
図4(c)は、図4(a)の撮像画像から生成された2フレーム目の前景テクスチャ画像である。図3(c)の1フレーム目の前景テクスチャ画像と、図4(c)の2フレーム目の前景テクスチャ画像を比べると、テーブルの色が1フレーム目と2フレーム目で異なっている。このように、カメラの撮像周期と光源の発光周期が異なるため、静止物であっても、撮像画像ごとの静止物の色が異なって表現されてしまうことがある。
[三次元モデルの生成方法について]
次に、オブジェクトの三次元モデルの生成処理の概要について説明する。三次元形状データにおいてボクセルで表されるオブジェクトの三次元形状を、オブジェクト(前景)の三次元モデルとも呼ぶ。ここでは、視体積交差法によるオブジェクトの三次元モデルの生成について説明する。
次に、オブジェクトの三次元モデルの生成処理の概要について説明する。三次元形状データにおいてボクセルで表されるオブジェクトの三次元形状を、オブジェクト(前景)の三次元モデルとも呼ぶ。ここでは、視体積交差法によるオブジェクトの三次元モデルの生成について説明する。
図5は、視体積交差法の基本原理を示す図である。図5(a)は、オブジェクトである対象物体をカメラで撮像したときの図である。前述したように、対象物体を撮像して得られる撮像画像と背景画像との色または輝度の差分に基づき二値化することで対象物体の前景領域(二次元シルエット)が含まれる前景マスク画像が得られる。
図5(b)は、カメラの投影中心から前景領域の輪郭上の各点を通すように、三次元空間中に広がる錐体を示す図である。この錐体のことを当該カメラによる視体積と呼ぶ。図5(c)は、複数のカメラの視体積によりオブジェクトの三次元モデルが求まる様子を示す図である。図5(c)のように、視体積交差法による三次元モデルの生成では、複数のカメラの視体積の共通領域を求めることによって、オブジェクトの三次元モデルが生成される。生成される三次元モデルはボクセルの集合で表される。
図6はボクセルを説明するための図である。ボクセルとは、図6(a)で示すような微小な直方体のことである。図6(b)はカメラアレイの撮像エリアをボクセルの集合として表したものである。対象空間のボクセルのうち処理対象のボクセルである1つの着目ボクセルを各カメラの前景マスク画像に射影したとき、各カメラの前景マスク画像の前景領域内に着目ボクセルの射影が収まるか否かが判定される。この判定の結果、着目ボクセルの射影が前景領域から外れる場合、着目ボクセルは削除される。
カメラの前景領域に収まらなかったボクセルを削ることで、図6(c)に示す四角錐の対象物体の三次元モデルが、図6(d)に示すようにボクセルによって生成される。
生成された三次元モデルを三次元空間に配置して任意の視点へ投影し、前景テクスチャ画像を用いて三次元モデルの各ボクセルに色を付与することで、任意の視点からオブジェクトを見た画像である仮想視点画像が生成される。
三次元空間における床や壁などの背景は、ポリゴン(多角形)の集合で形状を表し、固定の画像のポリゴンへの貼り付けや、撮像した画像を各ポリゴンの位置に投影などで生成される。テーブルのような静止物を含む仮想視点画像を生成する場合、静止物についても三次元空間の背景として表すことが考えられる。しかしながら、静止物を背景とするためには予め静止物の位置、大きさの正確な情報が必要であり手間を要する。また、静止物が撮像中に動くと本来とは異なる位置に静止物が存在する状態となり、仮想視点画像が適切に生成されない。そのため、静止物についても、人物など動くオブジェクトと同様に、前景領域を抽出し視体積交差法により三次元モデルを生成することで仮想視点画像の生成が行われる。
また、動画像の仮想視点画像を生成する場合、フレームに対応する前景モデル画像に基づきフレームごとの三次元モデルが生成される。そして、そのフレームに対応する前景テクスチャ画像に基づき三次元モデルに色付けをして、フレームごとの仮想視点画像が生成される。
例えば、1フレーム目の三次元モデルは、図3(b)の前景マスク画像を用いて生成し、2フレーム目の三次元モデルは、図4(b)の前景マスク画像を用いて生成するものとする。この場合、前景マスク画像におけるテーブルを表す前景領域の欠けの位置が1フレーム目と2フレーム目とでは異なっているため、フレームごとに形状が異なった三次元モデルが生成されてしまう。静止しているオブジェクトであるにも関わらずそのオブジェクトの形がフレームごとに異なってしまうと、静止物にちらつきが生じて不自然さが際立ち、仮想視点画像の品質を損なうおそれがある。
また、1フレーム目の三次元モデルに対して、図3(c)の前景テクスチャ画像を用いて色付けし、2フレーム目の三次元モデルに対して、図4(c)の前景テクスチャ画像を用いて色付けするものとする。この場合、1フレーム目と2フレーム目とではテーブルの色が異なっており、静止物であるテーブルの色がフレームを通して一定でなくなってしまう。フレームごとに静止物の色が異なると、静止物にちらつきが生じて不自然さが際立ち、仮想視点画像の品質を損なうおそれがある。
そこで、本実施形態では、テーブルのような静止物の三次元モデルが生成(更新)される頻度を他のオブジェクトの三次元モデルよりも抑制することで、仮想視点画像における静止物のちらつきを抑制して、仮想視点画像の品質の劣化を抑制する方法を説明する。
[機能構成について]
図7は、本実施形態における三次元モデル生成装置104の機能構成を示すブロック図である。三次元モデル生成装置104は、取得部701、静止物領域置換部702、静止物マスク管理部703、静止物データ管理部704、モデル生成部705を有する。
図7は、本実施形態における三次元モデル生成装置104の機能構成を示すブロック図である。三次元モデル生成装置104は、取得部701、静止物領域置換部702、静止物マスク管理部703、静止物データ管理部704、モデル生成部705を有する。
取得部701は、制御装置103から出力されるカメラ101a~101pのカメラパラメータ、更新間隔情報、および静止物マスクを取得する。さらに取得部701は、前景抽出装置群102から出力されるカメラ101a~101pの撮像画像に対応する前景テクスチャ画像および前景マスク画像をそれぞれ取得する。更新間隔情報および静止物マスクについては後述する。
静止物マスク管理部703は、取得した静止物マスクを、ROM203または記憶装置204等の記憶部に記憶させて管理する。
静止物領域置換部702は、前景画像に対して修正を行い、修正がされた前景画像に基づき仮想視点画像が生成されるように、修正後の前景画像を出力する機能部である。
静止物領域置換部702は、更新間隔を設定し更新間隔に基づき更新タイミングを判定して、更新タイミングである場合、取得した前景テクスチャ画像と前景マスク画像から静止物データを生成して、静止物データ管理部704に静止物データを出力する。
静止物領域置換部702は、更新タイミングでない場合、取得した前景テクスチャ画像と前景マスク画像を、静止物データ管理部704が管理している静止物データを用いて修正する。静止物領域置換部702は、修正後の前景テクスチャ画像および前景マスク画像を、三次元モデルの生成および三次元モデルの色付けのためにモデル生成部705に出力する。静止物領域置換部702の処理の詳細は後述する。
静止物データ管理部704は、静止物領域置換部702が生成した静止物データを、ROM203または記憶装置204等の記憶部に記憶させて管理する。静止物データ管理部704は、静止物領域置換部702からの取得要求に対して管理する静止物データを出力する。
モデル生成部705は、複数の前景マスク画像とカメラの位置姿勢を示すカメラパラメータと、に基づき視体積交差法により三次元モデルを生成して出力する。
三次元モデル生成装置104において実現される各機能部は、CPU201が所定のプログラムを実行することにより実現されるものとして説明するが、これに限られるものではない。例えば、演算を高速化するためのGPU(Graphics Processing Unit)やFPGA(Field Programmable Gate Array)などのハードウェアが利用されてもよい。すなわち、三次元モデル生成装置104の各機能部は、ソフトウェアと専用ICなどのハードウェアとの協働で実現されてもよいし、一部またはすべての機能がハードウェアのみで実現されてもよい。また、三次元モデル生成装置104を複数用いることにより各機能部の処理を分散させて実行するような構成が用いられても良い。
[三次元モデルの生成処理フローについて]
図8は、フレーム内のオブジェクトの三次元モデルの生成処理の流れを説明するためのフローチャートである。図8のフローチャートで示される一連の処理は、三次元モデル生成装置104のCPU201がROM203に記憶されているプログラムコードをRAM202に展開し実行することにより行われる。また、図8におけるステップの一部または全部の機能をASICまたは電子回路等のハードウェアで実現してもよい。なお、各処理の説明における記号「S」は、当該フローチャートにおけるステップであることを意味し、以後のフローチャートにおいても同様とする。
図8は、フレーム内のオブジェクトの三次元モデルの生成処理の流れを説明するためのフローチャートである。図8のフローチャートで示される一連の処理は、三次元モデル生成装置104のCPU201がROM203に記憶されているプログラムコードをRAM202に展開し実行することにより行われる。また、図8におけるステップの一部または全部の機能をASICまたは電子回路等のハードウェアで実現してもよい。なお、各処理の説明における記号「S」は、当該フローチャートにおけるステップであることを意味し、以後のフローチャートにおいても同様とする。
S801において取得部701は、制御装置103からカメラアレイ101を構成する全カメラの静止物マスクを取得する。
図9は、図1(b)で示した撮像エリア120において、テーブル140を静止物とした場合のカメラ101gに対応する静止物マスクを示す図である。静止物マスクは撮像画像内の静止物(本実施形態ではテーブル140)が存在する領域である静止物領域を1(白色)、静止物領域以外の領域(非静止物領域という)を0(黒色)で表したシルエット画像である。各カメラ101a~101pに対応する静止物マスクが撮像前に予め生成されており、制御装置103の記憶部に記憶されている。
本実施形態では、静止物マスクの生成方法は、限定しない。静止物と静止物以外のオブジェクトのシルエットが含まれる前景マスク画像から、ユーザが、静止物のシルエットを指定して生成してもよいし、三次元モデル生成装置104が生成してもよい。三次元モデル生成装置104による静止物マスクの生成方法は第3の実施形態で後述する。
S802において静止物領域置換部702は、前景マスク画像および前景テクスチャ画像内の静止物領域を何秒ごとに更新するかを示す更新間隔を設定する。
前景マスク画像および前景シルエット画像はフレームごとに生成されるが、本実施形態では、前景マスク画像の前景領域のうち、静止物を示す前景領域は、フレームごとに更新しない。本実施形態では、現フレームが更新タイミングである場合のみ前景マスク画像内の静止物を表す前景領域を更新する。更新タイミングであるフレームを更新フレームとよぶ。同様に、前景テクスチャ画像において静止物の領域は、フレームごとに更新しないで、更新タイミングである場合のみ前景テクスチャ画像内の静止物を示す領域を更新する。更新間隔は、現フレームが更新タイミングかを決めるために設定される。
静止物領域置換部702は、はじめに、取得部701が取得した更新間隔情報に含まれる更新間隔の設定値を取得する。例えば、処理開始時に、ユーザが操作部206を介して更新間隔の設定値を指定する。静止物領域置換部702は、更新間隔の設定値を用いて、後のステップで現フレームが更新タイミング(更新フレーム)かを判定するために更新間隔を設定する。
S803において取得部701は、カメラ101a~101pの位置および姿勢を示すカメラパラメータを取得し、モデル生成部705に出力する。
ここまでの処理が、三次元モデルを生成するための前処理である。次のS804~S808の処理は、1フレーム分の三次元モデルを生成するための処理である。次のS804~S808の処理では、静止物マスクを用いて、前景マスク画像および前景テクスチャ画像に対して処理行った後に、三次元モデルの生成を行う。以降のステップを説明するために、カメラ101gの静止物マスクとして、図9の静止物マスクが取得されたものとして説明する。また、カメラ101gの撮像画像に基づく前景マスク画像および前景テクスチャ画像を例に、前景マスク画像および前景テクスチャ画像に対する処理の説明を行う。実際は、全カメラに対応する前景マスク画像および前景テクスチャ画像に対して、各カメラに対応する静止画マスクを用いた処理が行われる。
S804において取得部701は前景抽出装置群102から出力された、1フレーム分の前景マスク画像および前景テクスチャ画像を、全カメラ分、取得する。本ステップで取得された前景マスク画像と前景テクスチャ画像との生成に用いられたフレームを現フレームと称する。最初は、1フレーム目の前景マスク画像と前景テクスチャ画像が取得される。
S805において静止物領域置換部702は、設定された更新間隔とカメラ101a~101pの撮像時のフレームレートとに基づいて、現フレームが更新フレームであるか判定する。
判定方法は、S802で設定された更新間隔と、1秒間にカメラ101a~101pが送信するフレームの数(fps:frames per second)と、に基づいて現フレームが更新フレームであるか判定する。
具体的には、1秒間に受信するフレームの数をF、更新間隔をI(秒)とすると、次の式1で求められるフレーム番号を更新フレームとする。
更新フレームのフレーム番号=F×I×n+1(n=0、1、2、・・・) 式1
本実施形態では、1秒間に送信されるフレームの数は60であり、更新間隔が30秒と設定されたものとして説明する。このため式1より、現フレームのフレーム番号が1(1フレーム目)、1801(1801フレーム目)、3601(3601フレーム目)、・・・の場合、更新フレームと判定される。
更新フレームのフレーム番号=F×I×n+1(n=0、1、2、・・・) 式1
本実施形態では、1秒間に送信されるフレームの数は60であり、更新間隔が30秒と設定されたものとして説明する。このため式1より、現フレームのフレーム番号が1(1フレーム目)、1801(1801フレーム目)、3601(3601フレーム目)、・・・の場合、更新フレームと判定される。
現フレームが更新フレームと判定された場合(S805がYES)、S806に進む。現フレームが1フレーム目であるものとしてS806の説明を行う。また、S804で前景抽出装置102gから取得された1フレーム目の前景マスク画像は図3(b)の前景マスク画像であり、1フレーム目の前景テクスチャ画像は図3(c)の前景テクスチャ画像であるものとして説明する。
S806において静止物領域置換部702は、S804で取得した現フレームの前景マスク画像と前景テクスチャ画像とから、静止物マスクの静止物領域に対応する領域を切り出す。前景テクスチャ画像および前景マスク画像の静止物領域に対応する領域を切り出して得られたデータを静止物データと呼ぶ。
図10は静止物データを示す図である。図10(a)、は図3(b)で示した1フレーム目の前景マスク画像を、図9の静止物領域で切り出して得られた画像である。図10(b)は図3(c)で示した1フレーム目の前景テクスチャ画像を、図9の静止物領域で切り出して得られた画像である。このように静止物データには、前景マスク画像に対応する静止物データ(静止物領域マスクとよぶ)と前景テクスチャ画像に対応する静止物データ(静止物領域テクスチャとよぶ)とが含まれる。
静止物データは、非更新タイミングにおける前景マスク画像および前景テクスチャ画像を修正するために生成される。非更新タイミングである場合とは、現フレームが更新フレームより後のフレームであって次の更新フレームの前までの場合であるものとして説明する。このため、静止物データ管理部704は、生成された静止物データを、非更新タイミングの前景マスク画像および前景テクスチャ画像に対して処理を行うために記憶して管理する。静止物データ管理部704は、前の更新フレームにおいて生成された静止物データが記憶されている場合、記憶されている静止物データを新たに生成された静止物データに置き換えて管理する。
一方、現フレームが更新フレームでないと判定された場合(S805がNO)、S807に進む。現フレームが2フレーム目であり、2フレーム目が非更新タイミングである場合を例に、S807の説明を行う。また、前景抽出装置102gから出力された2フレーム目の前景マスク画像は図4(b)の前景マスク画像であり、2フレーム目の前景テクスチャ画像は図4(c)の前景テクスチャ画像であるものとして説明する。
S807において静止物領域置換部702は、現フレームの前景マスク画像と前景テクスチャ画像との静止物領域に対応する領域を静止物データで置き換えて、前景マスク画像と前景テクスチャ画像とを修正する。静止物領域置換部702は、修正後の前景マスク画像と前景テクスチャ画像とをモデル生成部705に出力する。
図11は、図10の静止物データで修正された後の2フレーム目の前景マスク画像と前景テクスチャ画像とを示す図である。図11(a)は、静止物データで修正された後の2フレーム目の前景マスク画像である。図4(b)の修正前の前景マスク画像と比べると、テーブルを示す前景領域が、図10(a)の静止物データの前景領域に置き換わっていることが分かる。現フレームが2フレーム目である場合、2フレームは非更新タイミングであり、直前の更新タイミングは1フレーム目である。この場合、管理されている静止物データは1フレーム目の前景マスク画像から切り出された画像なので、2フレーム目の静止物の前景領域を1フレーム目と同じにすることができる。なお非更新タイミングであるフレームを非更新フレームともよぶ。
図11(b)は、図10の静止物データで修正された後の2フレーム目の前景テクスチャ画像である。図4(c)の修正前の前景テクスチャ画像と比べるとテーブルの領域が、図10(b)の静止物データのテーブルの画像と置き換わっていることが分かる。図11(a)と同様に、2フレーム目の静止物の画像を1フレーム目と同じにすることができる。
S808においてモデル生成部705は、全カメラの前景マスク画像を用いて視体積交差法により前景の三次元モデルを生成する。
モデル生成部705は、現フレームが更新フレームの場合、前景抽出装置群102で生成され、修正がされていない前景マスク画像を用いて、三次元モデルを生成する。
一方、モデル生成部705は、現フレームが非更新フレームの場合、S807で修正された後の前景マスク画像を用いて三次元モデルを生成する。このため、現フレームが非更新フレームの場合、静止物の三次元モデルは、直前の更新フレームで生成された静止物の三次元モデルと同じ形状で生成される。このため、更新フレームから次の更新フレームの前のフレームまでの静止物の三次元モデルは同じ形状で生成されるため、自然な仮想視点画像の生成が可能となる。
S809においてモデル生成部705は、生成した三次元モデルと前景テクスチャ画像とをレンダリング装置105に出力する。
現フレームが更新フレームの場合、レンダリング装置105は、前景抽出装置群102で生成された修正前の前景テクスチャ画像を用いて、三次元モデルに色付けする。
一方、現フレームが非更新フレームの場合、レンダリング装置105は、S807で修正された後の前景テクスチャ画像を用いて三次元モデルに色付けする。このため、現フレームが非更新フレームの場合の静止物の三次元モデルは、直前の更新フレームと同様の色で表現される。このため、更新フレームから次の更新フレームの前のフレームまでの静止物の三次元モデルは同じ色で表現されるため、自然な仮想視点画像の生成が可能となる。
なお、現フレームが非更新フレームであっても、前景マスク画像および前景テクスチャ画像における静止物領域以外の領域は修正されない。このため静止物以外の人物等のオブジェクトの動きは仮想視点画像で再現される。
S810において、次のフレームがあるかが判定される。次のフレームがある場合は、S804に戻る。そして、S804~S810の処理を繰り返すことで、時間的に連続する一連のフレームの三次元モデルが生成され、時間的に連続した三次元モデルが出力される。
なお、本実施形態では、図9に示すように静止物マスクとして各画素が1か0かの2値である2値画像を用いる方法を説明したが、静止物マスクとして各画素が2値より大きい値をもつ画像を用いてもよい。また、画素ごとに更新間隔を設定し、各画素の更新間隔を異ならせて設定してもよい。静止物マスクの画素値に、画素ごとの更新間隔(更新タイミング)を示す情報を含ませてもよい。
例えば、前景画像の対象の画素ごとにS805~S807の処理を行ってもよい。静止物マスクの対象の画素の画素値が、現フレームが更新タイミングであることを示す場合、現フレームの前景画像における対象の画素の画素値を切り出して、対象の画素の静止物データとして管理する。そして、静止物マスクの対象の画素の画素値が非更新タイミングであることを示す場合、現フレームの前景画像における対象の画素の画素値を、対象の画素の静止物データで置き換える。
その場合、静止物の端では欠けが生じやすいため、静止物の端の画素には、他の画素に比べて静止物データの更新頻度を低くするための情報を画素値に含ませてもよい。また、静止物の中央では欠けは生じにくいため更新頻度を高く設定するための情報を画素値に含ませてもよい。
以上説明したように本実施形態によれば、三次元モデルの欠けや静止物のテクスチャの色の違いによる仮想視点画像における静止物のちらつきを抑制できる。このため品質の高い仮想視点画像を生成することができる。
なお、上記の説明では、更新フレームの静止物データに基づき、更新フレームより後のフレームの前景マスク画像および前景テクスチャ画像を修正する方法を説明した。他にも、更新フレームの静止物データに基づき、その更新フレームより前のフレームの前景マスク画像および前景テクスチャ画像を修正してもよい。この場合でも、非更新フレームの前景マスク画像および前景テクスチャ画像の静止物領域を、更新フレームの静止物領域と同じに表現できるため、三次元モデルの欠けや静止物のテクスチャの色の違いによる仮想視点画像における静止物のちらつきを抑制できる。
<第2の実施形態>
本実施形態では、撮像画像に含まれる静止物にオクルージョンが生じた場合における、仮想視点画像における静止物のちらつきを抑制する処理について説明する。オクルージョンとは、オブジェクトとカメラとの間に他の物体が存在することにより、撮像画像においてオブジェクトの一部が他の物体によって隠れてしまうことを指す。
本実施形態では、撮像画像に含まれる静止物にオクルージョンが生じた場合における、仮想視点画像における静止物のちらつきを抑制する処理について説明する。オクルージョンとは、オブジェクトとカメラとの間に他の物体が存在することにより、撮像画像においてオブジェクトの一部が他の物体によって隠れてしまうことを指す。
本実施形態については、第1の実施形態からの差分を中心に説明する。特に明記しない部分については第1の実施形態と同じ構成および処理である。
図12は、静止物にオクルージョンが生じている撮像画像に基づき生成された、前景マスク画像と前景テクスチャ画像との例を示す図である。図12は、更新フレームである1フレーム目に対応する画像であり、図12(a)は、1フレーム目の前景マスク画像、図12(b)は1フレーム目の前景テクスチャ画像の例である。静止物であるテーブルの手前に人物が存在していることにより、静止物の領域にオクルージョンが生じている。
図13は、オクルージョンを考慮しない方法により、図12の画像を切り出して生成された静止物データの比較例である。図13(a)は、図12(a)の前景マスク画像から、図9で示した静止物マスクの静止物領域に対応する領域を切り出して生成された、静止物データである。図13(b)は、図12(b)の前景テクスチャ画像から、図9で示した静止物マスクの静止物領域に対応する領域を切り出して生成された、静止物データである。このように、比較例の方法では、静止物の手前に存在する人物も切りだされて静止物データが生成されてしまう。
図14は、非更新フレームである2フレーム目に対応する、修正前の前景マスク画像と、修正前の前景テクスチャ画像と、の例を示す図である。図14(a)は、2フレーム目の前景マスク画像、図14(b)は2フレーム目の前景テクスチャ画像である。2フレーム目も静止物の手前に存在する人物により、静止物にオクルージョンが生じている。
図15は、図13で示した静止物データで静止物領域が置き換えられた、2フレーム目の前景マスク画像および前景テクスチャ画像の比較例を説明するための図である。図15(a)は、図14(a)の前景マスク画像のうちの静止物領域に対応する領域を、図13(a)で示した比較例の静止物データで置き換えることで修正された、前景マスク画像である。図15(b)は、図14(b)の前景テクスチャ画像のうちの静止物領域に対応する領域を、図13(b)で示した比較例の静止物データで置き換えることで修正された、前景テクスチャ画像である。図15の画像を生成するために用いられた静止物領域は、図9の静止物マスクの静止物領域である。修正後の2フレーム目のテクスチャ画像は1フレーム目の人物の一部が静止物の上に重畳され、2フレーム目の人物が静止物で隠れ、正常ではない画像となってしまう。
そこで本実施形態では、静止物以外の他のオブジェクトによる静止物へのオクルージョンに対応するため、更新フレームでは、オクルージョンが生じている領域を除いた静止物領域を示す静止物マスク(更新静止物マスクという)を生成する。そして更新静止物マスクを用いて、静止物データを生成する。非更新フレームでは、更新静止物マスクと静止物データを用いて、非更新フレームの前景マスク画像と前景テクスチャ画像を修正する方法を説明する。
[三次元モデル生成装置の機能構成]
図16は、本実施形態の三次元モデル生成装置104の機能構成を示すブロック図である。第1の実施形態と同一の処理ブロックについては同じ番号を付して説明を省略する。
図16は、本実施形態の三次元モデル生成装置104の機能構成を示すブロック図である。第1の実施形態と同一の処理ブロックについては同じ番号を付して説明を省略する。
静止物領域置換部1601は、更新フレームでは、静止物マスクの静止物領域からオクルージョンの発生している領域が除外された領域(更新静止物領域)を示す更新静止物マスクを生成する。静止物領域置換部1601は、更新静止物マスクを静止物マスク管理部1602に出力する。そして、静止物領域置換部1601は、更新フレームでは、更新静止物マスクに基づき静止物データを生成する。
静止物領域置換部1601は、非更新フレームでは、非更新フレームにおける静止物を示す画素の領域と、更新静止物マスクの更新静止物領域と、の共通領域を決定する。そして、前景画像における共通領域を関連する静止物データで置き換える処理を行う。静止物領域置換部1601の処理の詳細は後述する。
静止物マスク管理部1602は、取得部701が取得した静止物マスクを三次元モデル生成装置104の記憶部に記憶して静止物マスクを管理する。さらに、静止物マスク管理部1602は、更新静止物マスクを取得すると、前の更新フレームの更新静止物マスクと置き換えて、取得した更新静止物マスクを三次元モデル生成装置104の記憶部に記憶して管理する。
静止物情報管理部1603は、撮像画像における静止物を示す画素を決定するための情報である静止物情報として、静止物の色情報(色または輝度等)またはカメラから静止物までの距離の情報など取得して管理する。
[三次元モデルの生成処理フローについて]
図17は、フレーム内のオブジェクトの三次元形状データの生成の流れを示すフローチャートである。
図17は、フレーム内のオブジェクトの三次元形状データの生成の流れを示すフローチャートである。
S1701~S1703は、S801~803と同様の処理である。S1701において取得部701は、全カメラの静止物マスクを取得する。S1702において静止物領域置換部1601は更新間隔の設定値に基づき更新間隔を設定する。S1703において取得部701は全カメラの位置姿勢を示すカメラパラメータを取得する。
S1704において静止物情報管理部1603は、静止物情報として静止物の色情報を取得する。静止物情報管理部1603は、取得した情報を記憶部に記憶して管理する。
S1705において取得部701は、前景抽出装置群102から出力された、1フレーム分の前景マスク画像と前景テクスチャ画像とを、カメラ101a~101p分、取得する。
本フローチャートにおいてもカメラ101gの静止物マスクは、図9の静止物マスクが取得されるものとして説明し、カメラ101gの撮像画像に基づく前景マスク画像および前景テクスチャ画像を例に、S1706~S1710の処理の説明を行う。
S1706において静止物領域置換部1601は、S805と同様の方法により、現フレームが更新フレームであるか判定する。
現フレームが更新フレームの場合(S1706がYES)、S1707に進む。現フレームが1フレーム目であるものとしてS1707の説明を行う。また、S1705で前景抽出装置102gから取得された1フレーム目の前景マスク画像は図12(a)の前景マスク画像であり、1フレーム目の前景テクスチャ画像は図12(b)の前景テクスチャ画像であるものとして説明する。
S1707において静止物領域置換部1601は、S1701で取得した静止物マスクの静止物領域を用いて、現フレームの前景テクスチャ画像の静止物領域に対応する領域の全画素に対して、静止物を示す画素であるかを判定する。静止物を示す画素であるかを判定する方法は、例えば、前景テクスチャ画像の画素の色情報が、静止物の色情報と同じであるかによって判定する。
なお、静止物の画素を判定する処理において、静止物領域に対応する領域内の画素であるにも関わらず、前景テクスチャ画像に前景の画素がない(黒色の領域である)場合は、静止物の画素と判定する。このように判定することにより、前景テクスチャ画像の静止物に欠けが生じていても、欠けの部分を静止物の画素と判定することができる。
また、前景マスクの静止物領域から静止物を示す画素であるかを判定することで、撮像画像の端などに静止物と似た色情報の物が存在している場合でも、その画素を、静止物を示す画素を判定することを防ぐことができる。
静止物領域置換部1601は、静止物マスクと前景テクスチャ画像とに基づき静止物を示す画素の領域を切り出して、切り出された領域を更新静止物領域として表す「更新静止物マスク」を生成する。静止物マスク管理部1602は、更新静止物マスクを記憶部に記憶して管理する。
図18(a)は、図12(b)で示した1フレーム目の前景テクスチャ画像のうち、図9で示した静止物マスクの静止物領域に対応する領域から、静止物を示す画素を判定して生成された更新静止物マスクを示す図である。更新静止物マスクにおいて白色の領域が更新静止物領域である。このように、更新静止物マスクは、図9で示した静止物マスクの静止物領域から更新フレームにおいてオクルージョンが発生している領域を除外した領域を表す画像である。
S1708において静止物領域置換部1601は、現フレームの前景マスク画像と前景テクスチャ画像とを更新静止物マスクの更新静止物領域で切り出す。静止物データ管理部704は、切り出されたそれぞれのデータを静止物データとして記憶する。
図19は、本実施形態の方法で生成された静止物データを示す図である。図19(a)は、図12(a)の1フレーム目の前景マスク画像を、図18(a)の更新静止物マスクで切り出して生成された静止物データである。図19(b)は、図12(b)の1フレーム目の前景テクスチャ画像を、図18(a)の更新静止物マスクで切り出して生成された静止物データである。図19に示すように、本実施形態の静止物データでは、図13の比較例の静止物データと異なり、人物によるオクルージョンの生じた領域が除外される。
本実施形態では、更新フレームにおいて記憶部に記憶されて管理されるデータとして、静止物データに加えて、更新静止物マスクが記憶される。静止物データおよび更新静止物マスクは、非更新フレームにおける、前景マスク画像および前景テクスチャ画像を修正する処理に用いられる。
一方、現フレームが更新フレームではないと判定された場合(S1706がNO)、S1709に進む。以下、現フレームが2フレーム目であり、2フレーム目が非更新フレームであるものとして、S1709およびS1710の説明をする。また、S1705で前景抽出装置102gから取得された2フレーム目の前景マスク画像は図14(a)の前景マスク画像であり、2フレーム目の前景テクスチャ画像は図14(b)の前景テクスチャ画像であるものとして説明する。
S1709において静止物領域置換部1601は、現フレームの前景テクスチャ画像に基づき、更新フレームおよび現フレームにおいてオクルージョンが生じている領域を除いた静止物を示す画素の領域を決定する。
具体的には、静止物領域置換部1601は、現フレームの前景テクスチャ画像の画素から静止物を示す画素を判定して、現フレームにおける静止物を示す画素の領域を決定する。図18(b)は、図14(b)で示した2フレーム目の前景テクスチャ画像から決定された静止物を示す画素の領域を、白色の領域で示した図である。現フレームにおいて人物によるオクルージョンが発生している領域が静止物の画素と判定されず黒色で表現されている。前景テクスチャ画像から静止物の画素を判定する方法は、S1707と同様に判定される。例えば、色情報で静止物を示す画素であるか判定する。S1707と同様に、静止物領域に対応する領域のうち欠けが生じている部分の画素は、静止物を示す画素と判定される。
さらに、静止物マスク管理部1602が管理している直前の更新フレームにおいて生成された更新静止物マスクの更新静止物領域と、現フレームの前景テクスチャ画像から決定された静止物を示す画素の領域と、の共通領域を導出する。例えば、図18(a)の白色の領域で示す、直前の更新フレームにおける更新静止物マスクの更新静止物領域と、図18(b)の白色の領域で示す現フレームの静止物を示す画素の領域との共通の領域を導出する。共通の領域とはいずれの画像においても白色の領域の画素である領域である。その結果、図18(c)の白色の領域で示す共通領域(共通マスク領域とよぶ)が導出される。
S1710において静止物領域置換部1601は、現フレームの前景マスク画像の共通マスク領域に対応する領域を静止物データで置換して現フレームの前景マスク画像を修正する。同様に、静止物領域置換部1601は、現フレームの前景テクスチャ画像の共通マスク領域に対応する領域を静止物データで置換して現フレームの前景テクスチャ画像を修正する。
図20は、修正後の2フレーム目の前景マスク画像および前景テクスチャ画像を示す図である。図20(a)は、図14(a)で示した2フレーム目の前景マスク画像に対して、共通マスク領域に対応する領域を、図19(a)で示した静止物データで置換した後の前景マスク画像を示す。図20(b)は、図14(b)で示した2フレーム目の前景テクスチャ画像に対して、共通マスク領域に対応する領域を、図19(b)で示した静止物データで置換した後の前景テクスチャ画像を示す。用いられた共通マスク領域は、図18(c)の白色の領域で示す領域である。
図20(b)に示すように、図15(b)の比較例の修正後の前景テクスチャ画像とは異なり、本実施形態の修正後の前景テクスチャ画像では、静止物の手前に人物が正しく配置される。レンダリング装置105は、人物で隠れた静止物の領域の色付けは、他のカメラの撮像画像に基づき生成された前景テクスチャ画像を用いて色付けする。
このように、本実施形態では、オクルージョンが発生しても、適切に非更新フレームの前景マスク画像および前景テクスチャ画像を修正することができる。
S1711~S1713は、S808~S810までの処理と同様であるため説明を省略する。
以上説明したように本実施形態によれば、オクルージョンが発生しても、非更新フレームの前景画像を適切に修正することができる。また、更新フレームと非更新フレームとで別の位置にオクルージョンが生じていても、更新フレームのオクルージョンの生じている領域は非更新フレームの画像で補完することができる。一方、非更新フレームにおけるオクルージョンは発生した領域は、静止物データで上書きされない。このため、本実施形態によれば、静止物以外のオブジェクトの動きを追従しながら、静止物の更新を抑制することができる。このため、本実施形態によれば、静止物にオクルージョンが生じている場合でも、仮想視点画像における静止物のちらつきを抑制することができる。
なお、本実施形態では、前景テクスチャ画像における静止物を示す画素を判定する方法として色情報を用いる方法を説明したが、カメラから静止物までの距離情報に基づき静止物を示す画素であるかを判定してもよい。
また、本実施形態では、更新間隔は変更されないものとして説明したが、更新間隔は変更されてもよい。例えば、静止物マスクと更新静止物マスクとを比較し、静止物領域内におけるオクルージョンが発生している領域の面積の大きさに基づき、更新間隔を変更してもよい。例えば、現フレームにおけるオクルージョンの発生している領域の面積が閾値以下の場合、現フレームを更新フレームと判定してもよい。
また、修正後の前景テクスチャ画像における更新フレームにおいてオクルージョンの生じていた領域はレンダリング装置105における色付けに使用されないように、前景テクスチャ画像に可視性に関する情報を設定してもよい。例えば、図20(b)の静止物の画像のうち、更新フレームでオクルージョンが発生していた領域(静止物データで置き換えられていない領域)の画素は三次元モデルの色付けに用いられないように、その画素に可視性に関する情報付加してもよい。
<第3の実施形態>
本実施形態では、静止物が存在する領域を前景マスク画像の画素値の時間変化から判定してカメラ毎の静止物マスクを生成する方法について説明する。
本実施形態では、静止物が存在する領域を前景マスク画像の画素値の時間変化から判定してカメラ毎の静止物マスクを生成する方法について説明する。
[機能構成]
図21は、本実施形態における三次元モデル生成装置104の構成を示すブロック図である。第1の実施形態と同一の処理ブロックについては同じ番号を付して説明を省略する。
図21は、本実施形態における三次元モデル生成装置104の構成を示すブロック図である。第1の実施形態と同一の処理ブロックについては同じ番号を付して説明を省略する。
静止物マスク生成部2101は、取得部701から前景マスク画像を取得し、静止物が存在する領域の画素を決定して、各カメラの静止物マスクを生成する。静止物マスク生成部2101は、生成した静止物マスクを静止物マスク管理部703に出力する。詳細は後述する。
[静止物マスクの生成処理]
図22は、静止物マスクの生成処理のフローを示すフローチャートである。以下の処理は、1台のカメラに対応する静止物マスクを生成する方法を説明する。このため、取得する前景マスク画像については、ある1台のカメラの前景マスクであるものとして説明する。実際は、以下のフローの処理が全カメラ分、行われる。
図22は、静止物マスクの生成処理のフローを示すフローチャートである。以下の処理は、1台のカメラに対応する静止物マスクを生成する方法を説明する。このため、取得する前景マスク画像については、ある1台のカメラの前景マスクであるものとして説明する。実際は、以下のフローの処理が全カメラ分、行われる。
S2201において取得部701は、前景抽出装置から出力された1フレーム分の前景マスク画像を取得する。
S2202において静止物マスク生成部2101は、前景マスク画像の画素毎に、これまで取得した前景マスク画像の画素値の累積和を算出する。本実施形態では、S2201とS2202との処理を所定時間が経過するまで繰り返すことにより、所定時間に対応するフレーム数分の前景マスク画像を取得する。そして、前景マスク画像の画素ごとに、取得した前景マスク画像の画素値を加算して、画素ごとの累積和を算出する。
本実施形態の前景マスク画像の画素値は、前景を表す画素は画素値が1であり、前景以外の領域である背景の画素の画素値は0として設定された画像である。このため、例えば、所定時間を通して、前景の領域であった画素の累積和は、所定時間に対応するフレーム数の値として算出される。一方、全フレームを通して、背景の領域であった画素の累積和は、0として算出される。
S2203において静止物マスク生成部2101は、所定時間が経過したか判定する。所定時間は、例えば、ユーザによって設定される。所定時間が経過していない場合(S2203がNO)、S2201とS2202との処理を所定時間が経過するまで繰り返すため、S2201へ戻る。
所定時間が経過した場合(S2203がYES)、S2204へ進む。S2204において静止物マスク生成部2101は、画素毎に算出された累積和を、それぞれ所定時間に対応するフレーム数で割って、画素毎の平均値(平均画素値)を算出する。
例えば、所定時間を通して前景の領域であった画素の平均画素値は、1として算出される。一方、所定時間を通して背景の領域であった画素の平均画素値は、0として算出される。所定時間を通して、前景の領域であった時間が長かった画素ほど、その平均画素値は1に近い値として算出される。
図23(a)は、各画素の平均画素値をグレースケール(白黒)で表現した図である。平均画素値が0の画素を黒色で表し、平均画素値が1の画素は白色で表している。また、平均画素値が0より大きく1より小さい画素は、灰色で表し、平均画素値が1に近い値であるほど、白に近い灰色で表している。
前景のうち人物のような静止物ではないオブジェクトは、所定時間を通して移動するため、人物が存在していた領域の平均画素値は0(黒色)に近い値となる。静止物の端は欠けが生じることがあるが、欠けが生じていた領域は、1(白色)に近い値となる。
S2205において1つの画素を処理対象として選択して、S2206~S2208の処理を行う。S2206~S2208の処理が終了し、未処理の画素がある場合、S2205に戻り、次の画素が選択される。
S2206において処理対象の画素の平均画素値が閾値以上か判定する。
閾値以上の場合(S2206がYES)、S2207において静止物マスク生成部2101は、処理対象の画素の画素値を、静止物領域を表す1(白色)に設定する。一方、閾値未満の場合(S2206がNO)、S2208において静止物マスク生成部2101は、処理対象の画素の画素値を、非静止物領域を表す0(黒色)に設定する。
閾値は、例えば、静止物の欠けの発生する領域の平均画素値未満であり、人物の移動した領域の平均画素値以上の値に設定される。
なお、本実施形態では、平均画素値と閾値とを比較して、処理対象の画素が静止物領域の画素とするかを判定するが、累積和と閾値とを比較して、処理対象の画素が静止物領域の画素とするかを判定してもよい。その場合、閾値は設定した所定時間に合わせて修正すればよい。
S2209において未処理の画素があるか判定する。未処理の画素あればS2205に戻る。未処理の画素がない場合はS2210に進む。
S2210において静止物マスク生成部2101は、画素毎に白と黒とが設定された画像を静止物マスクとして静止物マスク管理部703へ出力する。図23(b)は、図23(a)の全画素に対して閾値と比較することによって、画素値を2値化して得られた画像であり、この画像が静止物マスクとして出力される。
なお、本実施形態では前景マスク画像内に対応する全領域の画素について静止物領域の画素とするかを判定したが、予め静止物の位置が予想できる場合、処理対象の画素を選択する領域を限定して静止物マスクを生成してもよい。
以上説明したように本実施形態によれば、静止物マスクを前景マスク画像に基づき生成できる。このため、ユーザが静止物マスクを生成する手間を減らすことができる。
<その他の実施形態>
上述した実施形態で説明した静止物は、全フレームを通して静止しているオブジェクトに限定されない。所定期間、動きがないオブジェクトも静止物に含まれる。この場合、静止物の位置が変わることもある。このため、例えば、第3の実施形態で説明した静止物マスクの生成処理を所定の時間間隔で行い、静止物マスク管理部は、生成された静止物マスクを現在記憶している静止物マスクで置き換えて、静止物マスクを管理してもよい。また、更新タイミングごとに前の更新タイミングの静止物データと今回生成された静止物データとを比較し、差異が大きければ、静止物の位置が変わったと判定して静止物マスクを生成する処理が行われてもよい。
上述した実施形態で説明した静止物は、全フレームを通して静止しているオブジェクトに限定されない。所定期間、動きがないオブジェクトも静止物に含まれる。この場合、静止物の位置が変わることもある。このため、例えば、第3の実施形態で説明した静止物マスクの生成処理を所定の時間間隔で行い、静止物マスク管理部は、生成された静止物マスクを現在記憶している静止物マスクで置き換えて、静止物マスクを管理してもよい。また、更新タイミングごとに前の更新タイミングの静止物データと今回生成された静止物データとを比較し、差異が大きければ、静止物の位置が変わったと判定して静止物マスクを生成する処理が行われてもよい。
上述した実施形態では、制御装置103、三次元モデル生成装置104、レンダリング装置105はそれぞれ別の装置であるものとして説明した。他にも、1つのまたは2つの装置により、制御装置103、三次元モデル生成装置104、レンダリング装置105の機能が実現されてもよい。例えば、前景の三次元モデルの生成と、仮想視点画像の生成を1つの画像処理装置によって行う形態でもよい。
本開示は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
104 三次元モデル生成装置
701 取得部
702 静止物領域置換部
701 取得部
702 静止物領域置換部
Claims (16)
- 仮想視点画像を生成するための処理を行う画像処理装置であって、
所定期間、動きがないオブジェクトである静止物が存在する撮像エリアを撮像装置が撮像して得られた複数のフレームにそれぞれ基づく画像であって、前記静止物を少なくとも含むオブジェクトを表す画像を取得する取得手段と、
特定のフレームに基づく前記画像に含まれる前記静止物の領域を表す静止物データに基づいて、前記特定のフレームとは異なるフレームに基づく前記画像に含まれる前記静止物の領域の少なくとも一部を修正する修正手段と、
前記修正された前記画像を、前記仮想視点画像を生成するための生成手段に出力する出力手段と、
を有することを特徴とする画像処理装置。 - 前記画像は、前記オブジェクトの三次元形状データを生成するための前記オブジェクトの領域を表す画像であり、
前記生成手段は、前記画像に基づき、前記仮想視点画像の生成に用いられる前記オブジェクトの三次元形状データを生成する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記画像は、前記オブジェクトの三次元形状データの色情報を特定するためのテクスチャ画像であり、
前記生成手段は、前記テクスチャ画像に基づき前記仮想視点画像を生成する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記修正手段は、
前記特定のフレームに基づく前記画像の前記静止物を示す画素の領域に基づいて、前記静止物データを生成し、
前記特定のフレームにおける前記静止物を示す画素の領域と、前記特定のフレームとは異なるフレームにおける前記静止物を示す画素の領域と、の共通領域を導出し、前記特定のフレームとは異なるフレームに基づく前記画像の前記共通領域を前記静止物データで修正する
ことを特徴とする請求項3に記載の画像処理装置。 - 前記修正手段は、前記テクスチャ画像における各画素の色情報に基づき前記静止物を示す画素を決定する
ことを特徴とする請求項4に記載の画像処理装置。 - 前記修正手段は、前記テクスチャ画像における各画素の前記撮像装置と前記オブジェクトとの距離情報に基づき前記静止物を示す画素を決定する
ことを特徴とする請求項4に記載の画像処理装置。 - 前記取得手段は、オクルージョンが発生していない場合におけるフレーム内の前記静止物の存在する領域を表す静止物マスクをさらに取得し、
前記修正手段は、前記静止物マスクに基づき前記静止物の領域を決定して、前記静止物データを生成する
ことを特徴とする請求項1から6のいずれか1項に記載の画像処理装置。 - 前記オブジェクトの領域を表すマスク画像を複数のフレーム分、取得し、前記マスク画像の画素ごとに、前記複数のフレーム分の画素値を加算して得られた累積和に基づき前記静止物の存在する領域の画素かを判定することにより、前記静止物マスクを生成する静止物マスク生成手段をさらに有する
ことを特徴とする請求項7に記載の画像処理装置。 - 前記静止物マスク生成手段は、前記累積和に基づく値が閾値以上の画素を、前記静止物の存在する領域の画素と判定することにより、前記静止物マスクを生成する
ことを特徴とする請求項8に記載の画像処理装置。 - 前記画像は、前記オブジェクトの三次元形状データの色情報を特定するためのテクスチャ画像であり、
前記静止物マスクが示す前記静止物が存在する領域のうち前記特定のフレームにおいて前記静止物を示す画素では無い領域の色情報が、前記オブジェクトの三次元形状データの色情報の決定に使用されないように設定する設定手段をさらに有する
ことを特徴とする、請求項7から9のいずれか1項に記載の画像処理装置。 - 前記特定のフレームは、前記静止物マスクが示す前記静止物が存在する領域においてオクルージョンが発生している領域の面積が閾値以下となったフレームである
ことを特徴とする請求項7から10のいずれか1項に記載の画像処理装置。 - 前記静止物マスクの画素値には、前記特定のフレームを決定するための情報が含まれ、
前記修正手段は、
前記画素値に基づき画素ごとの前記特定のフレームを決定し、
前記特定のフレームに基づく前記画像から、前記特定のフレームを示す前記画素値を有する画素に対応する画素を切り出して、前記画素の前記静止物データを生成し、前記特定のフレームとは異なるフレームに基づく前記画像については、前記画素値を有する画素に対応する画素を、前記静止物データで置き換える
ことを特徴とする請求項7から11のいずれか1項に記載の画像処理装置。 - 前記特定のフレームは、所定の時間間隔ごとのフレームである
ことを特徴とする請求項1から11のいずれか1項に記載の画像処理装置。 - 請求項1から13のいずれか1項に記載の画像処理装置と、
前記画像処理装置から出力されたデータに基づき前記仮想視点画像を生成する装置と、
を有することを特徴とする画像処理システム。 - 仮想視点画像を生成するための処理を行う画像処理方法であって、
所定期間、動きがないオブジェクトである静止物が存在する撮像エリアを撮像装置が撮像して得られた複数のフレームにそれぞれ基づく画像であって、前記静止物を少なくとも含むオブジェクトを表す画像を取得する取得ステップと、
特定のフレームに基づく前記画像に含まれる前記静止物の領域を表す静止物データに基づいて、前記特定のフレームとは異なるフレームに基づく前記画像に含まれる前記静止物の領域の少なくとも一部を修正する修正ステップと、
前記修正された前記画像を、前記仮想視点画像を生成するための生成手段に出力する出力ステップと、
を有することを特徴とする画像処理方法。 - コンピュータを、請求項1から13のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020209195A JP2022096217A (ja) | 2020-12-17 | 2020-12-17 | 画像処理装置、画像処理システム、画像処理方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020209195A JP2022096217A (ja) | 2020-12-17 | 2020-12-17 | 画像処理装置、画像処理システム、画像処理方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022096217A true JP2022096217A (ja) | 2022-06-29 |
Family
ID=82163811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020209195A Pending JP2022096217A (ja) | 2020-12-17 | 2020-12-17 | 画像処理装置、画像処理システム、画像処理方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022096217A (ja) |
-
2020
- 2020-12-17 JP JP2020209195A patent/JP2022096217A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7003994B2 (ja) | 画像処理装置および方法 | |
EP2869266B1 (en) | Method and apparatus for generating depth map of a scene | |
US20190098277A1 (en) | Image processing apparatus, image processing method, image processing system, and storage medium | |
US11200690B2 (en) | Image processing apparatus, three-dimensional shape data generation method, and non-transitory computer readable storage medium | |
US11514654B1 (en) | Calibrating focus/defocus operations of a virtual display based on camera settings | |
JP2010510573A (ja) | 3次元画像を合成するシステム及び方法 | |
WO2019082797A1 (ja) | 再構成方法および再構成装置 | |
WO2023207452A1 (zh) | 基于虚拟现实的视频生成方法、装置、设备及介质 | |
JP6403862B1 (ja) | 3次元モデルの生成装置、生成方法及びプログラム | |
US11195322B2 (en) | Image processing apparatus, system that generates virtual viewpoint video image, control method of image processing apparatus and storage medium | |
CN114399610A (zh) | 基于引导先验的纹理映射系统和方法 | |
US20210374982A1 (en) | Systems and Methods for Illuminating Physical Space with Shadows of Virtual Objects | |
JP2022096217A (ja) | 画像処理装置、画像処理システム、画像処理方法、およびプログラム | |
JP2020046960A (ja) | 画像処理装置、画像処理装置の制御方法、およびプログラム | |
JP2007315777A (ja) | 三次元形状計測システム | |
JP7271115B2 (ja) | 画像処理装置、背景画像の生成方法およびプログラム | |
US20210297650A1 (en) | Image processing apparatus, image processing method, and storage medium | |
JP2022029239A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
Kim et al. | Compensated visual hull for defective segmentation and occlusion | |
US20230316640A1 (en) | Image processing apparatus, image processing method, and storage medium | |
WO2023037451A1 (ja) | 画像処理装置、方法およびプログラム | |
KR102617776B1 (ko) | 3d 모델 표면 재질 자동 생성 방법 및 장치 | |
US20230281900A1 (en) | Systems and Methods for Encoding and Rendering Animation Using a Point Cloud | |
JP2022039374A (ja) | 画像処理装置、画像処理システム、画像処理方法、およびプログラム | |
JP6618117B2 (ja) | オブジェクトのビルボードを生成するビルボード生成装置、方法及びプログラム |