【文献】
北原格,外5名,“大規模空間における多視点映像の撮影と自由視点映像生成”,映像情報メディア学会誌,(社)映像情報メディア学会,2002年,第56巻,第8号,p.1328−1333
【文献】
Chao-Yang Yang, et al.,“Application of Virtual Reality Technology in Online Fashion Store Development”,2009 International Conference on Computational Intelligence and Software Engineering,米国,IEEE,2009年
【文献】
三功浩嗣,外3名,“被写体3次元モデルの各撮影視点へのフィードバック処理に基づく背景分離方式”,2009年電子情報通信学会総合大会講演論文集 情報・システム2,社団法人電子情報通信学会,2009年,p.85
(58)【調査した分野】(Int.Cl.,DB名)
間隔を置いて固定配置された複数台のカメラで撮影されたオブジェクトのカメラ画像から任意の仮想視点での自由視点画像を生成する自由視点画像生成装置としてコンピュータを機能させるプログラムであって、コンピュータを、
各カメラ画像からオブジェクト2次元情報を抽出するオブジェクト2次元情報抽出手段と、
前記オブジェクト2次元情報抽出手段により抽出されたオブジェクト2次元情報と予めキャリブレーションを行うことで各カメラのパラメータと3次元座標系の各点と2次元座標系の各点との間の関係から求められた各カメラのパラメータを用いてオブジェクト3次元情報を抽出するオブジェクト3次元情報抽出手段であって、複数枚のカメラ画像のうち1つのカメラ画像を参照画像として該参照画像のオブジェクト領域の特徴点を抽出し、該参照画像以外のカメラ画像それぞれのオブジェクト領域における、前記参照画像の特徴点とマッチングする特徴点を抽出し、これらの特徴点の位置と前記各カメラのパラメータからオブジェクトの3次元点群を生成し、該3次元点群からオブジェクトの3次元輪郭および3次元骨格を前記オブジェクト3次元情報として生成するオブジェクト3次元情報抽出手段と、
前記オブジェクト3次元情報抽出手段により抽出されたオブジェクト3次元情報から3次元オブジェクトの各部位のサイズに関するパラメータおよび変形に関するパラメータを推定し、該パラメータに従って、予め設定された調整可能3次元オブジェクトテンプレートモデルのサイズを調整し、変形させる3次元オブジェクトテンプレートモデル調整手段と、
前記3次元オブジェクトテンプレートモデル調整手段により調整され、変形された3次元オブジェクトテンプレートモデルに対して任意の仮想視点に対応した射影変換を施すことにより該仮想視点での自由視点画像を生成する射影変換手段として機能させるプログラム。
【発明を実施するための形態】
【0027】
以下、図面を参照して本発明を説明する。
【0028】
本発明は、間隔を置いて配置された複数台の固定カメラ(以下、単に「カメラ」と称する)でオブジェクトを撮影して取得された複数枚のカメラ画像から任意の仮想視点での自由視点画像を生成するものであり、特に、スポーツ映像の画像中の人物(選手)をオブジェクトとして自由視点画像を生成するのに好適なものである。しかし、スポーツ映像の画像や人物に限らず、他の画像や他のオブジェクト、例えば動物をオブジェクトとすることもできる。
【0029】
図1は、本発明に係る自由視点画像生成装置の第1の実施形態を示す機能ブロック図である。
【0030】
本実施形態の自由視点画像生成装置は、オブジェクト2D情報抽出手段11、オブジェクト3D情報生成手段12、3Dオブジェクトテンプレートモデル調整手段13、射影変換手段14、着色手段15および背景合成手段16を備える。なお、各手段は、1つあるいは複数のプロセッサ内にソフトウエアで構成されたものであってもよい。
【0031】
オブジェクト2D情報抽出手段11は、間隔を置いて配置された複数台のカメラでオブジェクトをフィールドなどの現場で実際に撮影して得られた複数枚のカメラ画像(原カメラ画像)を入力とし、各カメラ画像におけるオブジェクトの2D位置、輪郭およびテクスチャをオブジェクト2D情報として抽出する。なお、カメラ画像は、モデルベースレンダリングによる自由視点画像生成ほど多く必要とせず、例えば、2〜3枚でよい。
【0032】
オブジェクト3D情報生成手段12は、オブジェクト2D情報抽出手段11で抽出されたオブジェクト2D情報と原カメラ画像を取得した各カメラのパラメータを入力としてオブジェクト3D情報を生成する。
【0033】
3Dオブジェクトテンプレートモデル調整手段13は、予めオフラインで設定された調整可能3Dオブジェクトテンプレートモデルと、オブジェクト3D情報生成手段12で生成されたオブジェクト3D情報を入力とし、調整可能3Dオブジェクトテンプレートモデルをオブジェクト3D情報により調整して調整済3Dオブジェクトテンプレートモデルを生成する。
【0034】
射影変換手段14は、3Dオブジェクトテンプレートモデル調整手段14で生成された調整済3Dオブジェクトテンプレートモデルに対し、任意に指定された仮想視点に対応した射影変換を施すことにより、該仮想視点でのオブジェクト2D画像を生成する。
【0035】
着色手段15は、射影変換手段14で生成されたオブジェクト2D画像に着色を施す。
【0036】
背景合成手段16は、着色手段15により着色されたオブジェクト2D画像を2D背景画像に合成し、1枚の2D画像を生成する。
【0037】
以下では、オブジェクトが人物であるとして、各手段における処理について詳細に説明する。
【0038】
オブジェクト3D情報生成手段12は、前もってオフラインで推定された各カメラのパラメータを入力とし、3Dオブジェクトテンプレートモデル調整手段13は、予めオフラインで設定された調整可能3Dオブジェクトテンプレートモデルを入力とするので、まず、それらについて説明する。
(カメラのパラメータ)
【0039】
各カメラのパラメータは、オブジェクト3D情報生成手段12がオブジェクト3D情報を生成するために必要なものであり、原カメラ画像を取得する現場に各カメラを固定配置した状態でキャリブレーションを実行することにより推定される。例えば、スポーツ映像の場合、実際に人物(選手)を撮影する現場にカメラを固定配置した状態でキャリブレーションを実行する。
【0040】
カメラのキャリブレーションには、例えば、チェスボードパターンを利用できる。以下では、この場合を例にして説明する。
【0041】
図2は、カメラのキャリブレーションに利用するチェスボードパターン画像の例であり、この場合のカメラのパラメータの推定の手順は、例えば、以下の(1)〜(5)のとおりである。
【0042】
(1)前もって各カメラでチェスボードを撮影し、
図2(1)のようなチェスボードパターン画像をチェスボードパターン画像の原本として用意しておく。このチェスボードパターン画像の原本は、カメラにチェスボードを正対させて撮影することにより取得することができる。
【0043】
(2)カメラの前に配置したチェスボードを撮影することによりチェスボードパターン画像を取得する。これにより取得されたチェスボードパターン画像は、チェスボードに対するカメラの向きにより、上記(1)のチェスボードパターン画像の原本とは異なる。
図2(2)は、カメラにより取得されたチェスボードパターン画像の例を示す。
【0044】
(3)上記(1)で予め用意されたチェスボードパターン画像の原本を利用して3D座標を設定し、それを世界座標系とする。例えば、上記(1)で予め用意されたチェスボードパターン画像の原本(
図2(1))の矩形(黒色部分)を検出し、そのうち斜めに隣接する矩形の数が1つだけの矩形を検出する。そして、その矩形が他の矩形に隣接するコーナーを最初の点として検出し、コマ内側の全てのコーナーを検出する。
図2(1)のチェスボードパターン画像の原本では、左上のコーナーが最初の点(A)として検出され、コマ内側のコーナーは、全体で7*10(7行10列)個だけ存在するので、1枚のチェスボードパターン画像につき最初の点(A)から最後の点までの70個のコーナーが検出される。なお、「*」は乗算を意味する(以下、同じ)。そして、最初の点(A)を3D座標(世界座標)系の原点として設定し、他のコーナーのX値,Y値には、パターンのマス(矩形)のサイズおよび個数に従って算出した値を代入する。また、Z値には、全て0または1を代入する。
【0045】
(4)上記(3)と同様に、上記(2)で取得されたチェスボードパターン画像(
図2(2))についても、コマ内側のコーナーを検出し、1枚のチェスボードパターン画像につき最初の点(A)から最後の点までの70個のコーナーを検出する。これにより検出されたコーナーの位置を画像座標(2D座標)系の位置(u,v)とする。
図2(2)には、最初の点(A)から最後の点までコーナーが検出される様子も図示している。これらのコーナーは、例えば、http://opencv.jp/sample/camera_calibration.htmlに開示されているOpenCVの関数cvFindChessboardCorners()を利用して検出できる。
【0046】
(5)上記(3),(4)で検出されたコーナーの各点の位置を用いてカメラのパラメータを推定する。カメラのパラメータには、内部パラメータと外部パラメータがある。カメラのパラメータと世界座標(3D座標)系の各点と画像座標(2D座標)系の各点との間には、式(1)の関係がある。
【0048】
ここで、(X,Y,Z)は、世界座標(3D座標)系の点(コーナー)の位置、(u,v)は、画像座標(2D座標)系の点(コーナー)の位置である。また、sは、スケーリングファクタであり、fx,fyは、カメラ焦点距離であり、(cx,cy)は、カメラ基準点であり、通常、画像中心点に選定される。なお、スケーリングファクタsは、既知であり、カメラ焦点距離fx,fyは、画素単位で表わせばよい。
【0049】
式(1)において、fx,fy,cx,cy,1含む行列は、カメラの内部パラメータの行列[A]であり、r11〜r33,t1〜t3を含む行列は、カメラの回転・並進の同時変換行列[R|t]であり、世界座標系に対する回転・並進を表し、カメラの外部パラメータの行列と呼ばれる。r11〜r33部分だけの行列[R]は、カメラの回転の変換行列となり、t1〜t3部分だけの行列[t]は、カメラの並進の変換行列となる。なお、カメラの内部パラメータ[A]は、ビューに依存しないので、一度推定すれば焦点距離を固定している限りは繰り返し使用できる。
【0050】
z≠0の場合、式(1)は、式(2)と等価である。なお、ここでは、S=1としている。
図3は、式(2)による世界座標(3D座標)系、カメラ座標(2D座標)系および画像座標(2D座標)系の間での座標変換の様子を示す。ここで、P(X,Y,Z)は、世界座標系における3D位置であり、P′(x,y,z)は、カメラ座標系における3D位置である。また、p′(x,y)は、カメラ光軸zを原点としたときの投影面(画像と同一の平面)座標系における投影点の2D位置であり、p(u,v)は、画像座標系における2D位置である。
【0052】
カメラのパラメータの推定に際しては、まず、内部パラメータと外部パラメータに初期値を設定する。次に、上記(3)で設定された各コーナーの3D座標系の位置(X,Y,Z)と上記(4)で検出されたコーナーの2D座標系の位置(u,v)をそれぞれ対応させて式(1)に代入し、逆投影誤差の総和が最小になるようにして、パラメータ(内部パラメータと外部パラメータ)を推定する。この推定には、例えば、Zhang Z. "A flexible new technique for camera calibration". IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330-1334.に開示されているClosed-form solutionという方法を利用できる。ここで、逆投影誤差の総和は、カメラのパラメータを用い、各コーナーの3D座標系の位置(X,Y,Z)を2D座標系上に投影したときの位置を算出し、これらの位置と実際の画像の各コーナーの2D座標系の位置(u,v)との差(距離)の二乗和を求めることを意味する。
【0053】
なお、カメラのパラメータの推定を、1枚のチェスボードパターン画像だけからでなく、別々の数枚〜数十枚程度のチェスボードパターン画像の各々について行い、その結果を平均化するなどすれば、ノイズの影響を軽減できる。
(調整可能3Dオブジェクトテンプレートモデルの設定)
【0054】
3Dオブジェクトテンプレートモデル調整手段13が必要とする調整可能3Dオブジェクトテンプレートモデルとして、例えば、
図4(1)に示すような、3D人体テンプレートモデル(原モデル)を、前もってオフラインで設定しておく。このような3D人体テンプレートモデルは、例えば、Tony Mullen (2007) (English). Introducing character animation with Blender. Indianapolis, Ind: Wiley Pub. ISBN 9780470102602. OCLC 76794771.に開示されている手法で作成できる。しかし、その手法に限られない。
【0055】
3D人体テンプレートモデルでは、オブジェクトの表面、内部骨格および節点が3Dで定義され、また、各部位のサイズに関するパラメータおよび変形に関するパラメータが定義されている。各部位のサイズに関するパラメータの値を変えれば、人体の各部位のサイズを調整でき、また、変形に関するパラメータの値を変えれば、人体の姿勢などを変形できる。なお、3D人体テンプレートモデルで、内部骨格や節点が定義されていなければ、後述するオブジェクト3D情報生成手段12と同様の処理で、それを定義すればよい。また、各部位のサイズに関するパラメータおよび変形に関するパラメータも、後述する3Dオブジェクトテンプレートモデル調整手段13と同様の処理で、それを定義すればよい。
【0056】
サイズに関するパラメータには、例えば、身長(Height)、脂肪率(Fat)、ヒップ・ウエスト比(Hip-Waist Ratio)がある。
図4(2)は、原モデル(Original model: Height;170cm, Fat;10%, Hip-Waist Ratio;0.9をベースにして、Fatを30%,45%に変え、Hip-Waist Ratioを1.249,1.049に変え、Heightを160cm,178cmに変えた場合の3D人体テンプレートモデルを示す。
【0057】
変形に関するパラメータには、例えば、
図4(3)に示すように、人体の各部位間の18個の節点の位置がある。
図4(4)は、原モデルの各節点の位置を変えることにより変形された3D人体テンプレートモデルの例を示す。
【0058】
調整可能3D人体テンプレートモデル(原モデル)は、人体の自然な姿勢で作成しておくのが好ましい。原モデルが人体の自然な姿勢で作成されていなければ、後述する3Dテンプレートモデルの変形と同様にして、その節点の位置を自然な姿勢の人体の節点の位置に合わせるようにすればよい。
(オブジェクト2D情報抽出手段11)
【0059】
次に、オブジェクト2D情報抽出手段11での処理について説明する。オブジェクト2D情報抽出手段11では、間隔を置いて配置された複数台のカメラで撮影された人物の各カメラ画像(原カメラ画像)から、オブジェクト2D情報として人物の2D位置、輪郭およびテクスチャを抽出する。
【0060】
そのために、まず、複数台のカメラで取得された各原カメラ画像から背景を分離して大凡の人物領域を抽出する。この抽出には、例えば、背景差分法を利用できる。その上で、人物領域を正確に抽出し、その輪郭とテクスチャを検出する。正確な人物領域の抽出には、例えば、Xu C, Prince J L. "Snakes, shapes, and gradient vector flow". IEEE Transactions on Image Processing, 1998, 7(3): 359-369.に開示されているthe gradient vector flow (GVF) snakeという形状変形に基づく分割手法を利用できる。この手法では、まず、原画像からエッジを検出し、エッジから正規化されたGVF画像を作成する。次に、正規化されたGVF画像からスカラー場(scalar field)の画像を生成する。さらに、スカラー場の画像において、背景を分離して大凡のオブジェクト領域を抽出し、この大凡のオブジェクト領域の内部から複数のシード点(一般的には局所領域単位の中心)を選択し、スカラー場の画像およびシード点を元に領域拡張と領域マージを行って、正確なオブジェクト領域を抽出する。
図5(1)は、1枚の原カメラ画像の例であり、
図5(2)は、背景が分離された大凡の人物領域を示し、
図5(3)は、正確に抽出された人物領域を示す。
(オブジェクト3D情報生成手段12)
【0061】
次に、オブジェクト3D情報生成手段12での処理について説明する。オブジェクト3D情報生成手段12では、人物の3Dメッシュを生成し、3Dメッシュから3D骨格を抽出し、さらに、3D骨格から節点を生成して該人物の3D情報とする。そのために、まず、人物領域を構成する3D点群を作成する。その上で、人物の3Dメッシュを生成し、さらに、3D骨格を抽出し、節点を生成する。
【0062】
オブジェクト3D情報生成の手順は、例えば、以下の(1)〜(5)のとおりである。
【0063】
(1)複数枚の原カメラ画像のうちの任意の1つの画像を参照画像として選択する。
【0064】
(2)上記(1)で選択した参照画像の人物領域を対象として、そこから特徴点を抽出する。人物領域は、オブジェクト2D情報抽出手段11で既に抽出されているので、それを利用できる。特徴点の抽出には、例えば、Derpanis K G. "The harris corner detector[J]". York University, 2004.に開示されているHarrisコーナー検出方法を利用できる。
【0065】
(3)上記(1)で選択した参照画像以外のカメラ画像の人物領域を対象として、例えば、最小二乗マッチング(LSM, least squares matching)方法で、参照画像で抽出された特徴点に対応する特徴点を抽出する。最小二乗マッチング方法は、例えば、Gruen A. "Least squares matching: a fundamental measurement algorithm". Close Range Photogrammetry and Machine Vision, 1996: 217-255.に開示されている。
【0066】
(4)上記(2),(3)で抽出された特徴点の位置と各カメラのパラメータを組み合わせて、人物の3D点群を作成する。この作成には、例えば、Fitzgibbon A, Zisserman A. "Automatic 3D model acquisition and generation of new images from video sequences", European Signal Processing Conference. 1998: 311-326.に開示されているAutomatic 3D model acquisition and generationという手法を利用できる。
【0067】
(5)上記(4)で作成された人物の3D点群から人物の3Dメッシュを生成し、3Dメッシュから人物の3D骨格を生成し、さらに、3D骨格から節点を生成する。3Dメッシュの生成には、例えば、A free library called Point Cloud Library (PCL), "http://pointclouds.org/documentation/tutorials/greedy_projection.php".に開示されているGreedy Projection Triangulation (GPT)という手法を利用できる。また、3D骨格の生成には、Reniers D, van Wijk J J, Telea A. "Computing multiscale curve and surface skeletons of genus 0 shapes using a global importance measure". IEEE Transactions on Visualization and Computer Graphics, 2008, 14(2): 355-368.に開示されているA global importance measure-based surface skeleton extractionという手法を利用できる。
(3Dオブジェクトテンプレートモデル調整手段13)
【0068】
次に、3Dオブジェクトテンプレートモデル調整手段13での処理について説明する。3Dオブジェクトテンプレートモデル調整手段13では、3Dオブジェクトテンプレートモデルのサイズおよび変形に関するパラメータを設定し、これらのパラメータに従って調整可能3Dオブジェクトテンプレートモデル(原モデル)を調整して調整済3Dオブジェクトテンプレートモデルを生成する。
【0069】
3Dオブジェクトテンプレートモデルのサイズの調整の手順は、例えば、以下の(1)〜(4)のとおりであり、この手順に従って3Dオブジェクトテンプレートモデルの各部位のサイズに関するパラメータを設定し、該パラメータに従って調整可能3Dオブジェクトテンプレートモデル(原モデル)の各部位のサイズを調整する。
【0070】
(1)オブジェクト3D情報生成手段12で生成された人物の3D情報から人物の身長を推定する。この推定には、例えば、Gocha T P, Vercellotti G, McCormick L E, et al. "Formulae for Estimating Skeletal Height in Modern South‐East Asians". Journal of forensic sciences, 2013, 58(5): 1279-1283.に開示されているA formulae for Estimating Skeletal Heightという手法を利用できる。
【0071】
(2)オブジェクト3D情報生成手段12で生成された3Dメッシュから人体の各部位(首、ウエスト、ヒップ)をユーザ指示あるいは画像処理技術利用により選択し、各部位の3D形状を抽出して各部位の周囲長を推定する。各部位の周囲長の値は、身長の値との関係から推定できる。
【0072】
(3)上記(1)で推定された身長および上記(3)で推定された各部位の周囲長から当該人物の脂肪率、ウエスト・ヒップ比を算出する。例えば、脂肪率は、女性の場合、(163.205*Log10(ウエスト周り+ヒップ周り-首周り)-97.684*Log10(身長)-78.387)で算出でき、男性の場合、(86.01*Log10(ウエスト周り-首周り)-70.041*Log10(身長)+36.76)で算出できる。また、ウエスト・ヒップ比は、(ウエスト周り/ヒップ周り)で算出できる。その他の汎用的な算出手法を利用してもよい。
【0073】
(4)調整可能3Dオブジェクトテンプレートモデル(原モデル)をベースにして、その各部位のサイズを、上記(1)で推定された身長および上記(3)で算出され脂肪率、ウエスト・ヒップ比により調整して当該人物に適合した3D人体テンプレートモデル(調整済3D人体テンプレートモデル)を生成する。
【0074】
3Dオブジェクトテンプレートモデルの変形の手順は、例えば、以下の(1)〜(4)のとおりであり、この手順に従って3Dオブジェクトテンプレートモデルの変形に関するパラメータを設定し、該パラメータに従って調整可能3Dオブジェクトテンプレートモデル(原モデル)を変形する。
【0075】
(1)
図6(1)は、原モデルの3D骨格であり、これは
図4(3)と同じである。これに対し、オブジェクト3D情報生成装置12で生成された人物の3D骨格は、例えば、
図6(2)のようになる。そこで、まず、
図6(2)の3D骨格から5個のエンド(末端)節点(Head, HandR, HandL, FootR, FootL)と1個の頚部節点(Neck)と1個の骨盤節点(Pelvis)を検出する。これらの7個の節点を検出するため、例えば、3D骨格上の全てのボクセルをチェックする。
図6(3)は、このチェックの様子を示す。例えば、
図6(3)において黒色で塗りつぶしたボクセルの最近隣の26個のボクセル(1〜26の番号を付したボクセル)を探し、その中に、3D骨格上のボクセルが1個だけ存在する場合、黒色のボクセルは、エンド節点であると判断する。同様の方法で、最近隣の26個のボクセルの中に3D骨格上のボクセルが4個存在する場合、そのボクセルは頚部節点であると判断し、3個存在する場合、そのボクセルは、骨盤節点であると判断する。
【0076】
(2)調整可能3Dオブジェクトテンプレートモデル(原モデル)の各節点(
図6(1))を上記(1)で検出された7個の各節点に対応付ける変形行列を推定する。例えば、式(3)のE
Fを最小化するように、7個の接点間を対応付ける変形行列を推定する。式(3)は、調整可能3Dオブジェクトテンプレートモデル(原モデル)の各節点の位置と上記(1)で検出された各節点の位置との間の距離を表す関数である。この算出には、例えば、Press W. H., Flannery B. P., Teukolsky S. A., and Vetterling W. T., "Numerical Recipes in C, The art of scientific computing", Cambridge University Press, 1988.に開示されているIterative gradient descentという手法を利用できる。
【0078】
ここで、mは、節点の個数(=7)、Piは、オブジェクト3D情報の3D骨格の節点iの位置、Pi′は、調整可能3Dオブジェクトテンプレートモデル(原モデル)の節点iの位置である。
【0079】
(3)上記(2)で推定された7個の節点に対する3D変形行列に従って調整可能3Dオブジェクトテンプレートモデル(原モデル)の18個の節点の位置を変えた上で、7個以外の11個の節点を、よりマッチングさせる3D変換行列を推定する。この推定には、Ilya Baran and Jovan Popovic. Automatic rigging and animation of 3D characters. In Proc. of the ACM SIGGRAPH, 2007.に開示されているPinocchioという手法を利用できる。
【0080】
(4)7個の節点に対する3D変形行列とその以外の11個の節点に対する3D変形行列をそれぞれ用いて、調整可能3Dオブジェクトテンプレートモデル(原モデル)の18個の全ての節点の位置を変える。
図6(4)は、これにより変形された3Dオブジェクトテンプレートモデルの例である。
【0081】
以上の3Dオブジェクトテンプレートモデル調整手段13での処理に従って、例えば、スポーツ映像のカメラ画像から人物(選手)のサイズおよび変形に関するパラメータを算出し、これらのパラメータに従って調整可能3Dオブジェクトテンプレートモデル(原モデル)のサイズを調整し、変形させることにより、当該選手に適合した調整済3Dオブジェクトテンプレートモデルを生成できる。
(射影変換手段14)
【0082】
次に、射影変換手段14での処理について説明する。射影変換手段14では、3Dオブジェクトテンプレートモデル調整手段13により生成された調整済3Dオブジェクトテンプレートモデルを、指定された仮想視点でのオブジェクト2D画像に射影変換する。なお、仮想視点は、任意に指定できる。
【0083】
図7は、調整済3Dオブジェクトテンプレートモデルの射影変換の説明図である。ここでは、調整済3Dオブジェクトテンプレートモデルを簡略化して円柱と立方体で図示している。なお、XYZは、世界座標系であり、xyzは、視点座標系であり、uvnは、投影面を定義する座標系である。
【0084】
射影変換手段14では、
図7に示すように、世界座標系での調整済3Dオブジェクトテンプレートモデルを、投影面を定義する座標系の投影点に射影変換する。視点座標系の原点oは、仮想視点に設定される。視点座標系のz軸は、uvn座標系の原点および調整済3Dオブジェクトテンプレートモデルの中心を通り、uv平面と直交する。
【0085】
図8に示すように、調整済3Dオブジェクトテンプレートモデルの点P(Px,Py)と投影面上の投影点(x,y)には式(4)の関係があるので、投影点(x,y)は、式(5)で算出できる。
【0088】
ここで、Px,Py,Pzは、調整済3Dオブジェクトテンプレートモデルの点Pのx,y,z座標値、fx,fy,fは、カメラの焦点距離、w,hはそれぞれ、画像の横幅、画像の縦幅である。なお、Px,Py,Pz,f,w,hは、ミリ単位で表され、fx,fyはそれぞれ、画素横幅単位、画素縦幅単位で表される。
(着色手段15)
【0089】
次に、着色手段16での処理について説明する。射影変換手段14により生成されたオブジェクト2D画像は、調整可能オブジェクトテンプレートモデルをベースにして生成されたものであるので、着色されていない、あるいは着色されていても現実の色と異なる。そこで、着色手段16では、射影変換手段14により生成されたオブジェクト2D画像に着色する。
【0090】
図9は、着色手段15での着色の説明図である。
図9に示すように、N台のカメラでオブジェクトを撮影して取得されたN枚のカメラ画像を元にして調整済3Dオブジェクトテンプレートモデルが生成された場合、各カメラ画像から、調整済3Dオブジェクトテンプレートモデルの点Pに対応する点の色情報(R,G,B)を取得する。色情報(R,G,B)は、オブジェクト2D情報抽出手段11で抽出された2D情報のうち、点Pに対応する点のテクスチャの色情報を取得すればよい。こられの色情報(R,G,B)をC1、…、CNとし、仮想視点から点Pへのベクトルとカメラから点P へのベクトルとがなす角度をθn(n = 1,…, N)として、各カメラ画像の色に対する重み(wi)を式(6)で算出し、仮想視点での点Pの色を式(7)で求める。
【0093】
式(6)では、括弧内をcosθのみにすると、色に対する重み(wi)が負の値をとるので、cosθ+1としている。なお、αは、経験上から定められる値であり、例えば、α=5とすればよい。
【0094】
式(6),(7)によれば、方向が仮想視点に近いカメラの画像の色の重みを大きくし、遠いカメラの画像の色の重みを小さくして、調整済3Dオブジェクトテンプレートモデルの各部分に着色するので、現実に近い色の着色ができる。なお、θn(n = 1,…, N)は、カメラの固定位置とオブジェクトの大まかな位置で定めても差し支えない。また、方向が仮想視点に近い方から予め定めた台数のカメラの画像だけを用いてもよい。
(背景合成手段16)
【0095】
次に、背景合成手段16での処理について説明する。背景合成手段16では、着色手段15で着色されたオブジェクト2D画像を2D背景画像に合成して1枚の2D画像を生成する。2D背景画像は、現場に固定配置された複数台のカメラで背景だけを撮影し、これにより取得された複数枚の背景画像を用いて3D背景モデルを予め作成しておき、それを投影面に射影変換することにより生成できる。
【0096】
3D背景モデルとしては、例えば、非特許文献2に開示されているIBR(Image-based rendering)の手法を利用して、調整済3Dオブジェクトテンプレートモデルと同じ座標系(
図6の世界座標系)のモデルを作成する。背景モデルや2D背景画像は、高精度に作成する必要がないので、数枚のカメラ画像から作成できる。
【0097】
そして、この3D背景モデルを、式(5)により
図7の投影面に射影変換して、仮想視点での2D背景画像を生成する。そして、生成された2D背景画像に着色手段15で着色されたオブジェクト2D画像を合成する。この合成では、2D背景画像にオブジェクト2D画像を嵌め込めばよい。なお、着色手段15での処理と同様にして、2D背景画像に着色できるが、背景画像が既に着色されていれば、それは必要ない。
【0098】
図10は、本発明に係る自由視点画像生成装置の第2の実施形態を示すブロック図である。本実施形態の自由視点画像生成装置では、第1の実施形態のようにして仮想視点での自由視点画像を生成するのに加えて、同じ仮想視点での自由視点画像を内挿補間技術により生成し、両者の自由視点画像の画質を評価し、その評価が高い方の自由視点画像を出力する。
【0099】
図10において、第1の自由視点画像は、上記のように、調整可能オブジェクトテンプレートモデルを調整して生成された自由視点画像である。それに加え、同じ仮想視点での第2の自由視点画像を内挿補間技術で生成する。内挿補間技術では、複数枚の原カメラ画像から隣接する2枚のカメラ画像を選択し、それを内挿補間手段17に入力して第2の自由視画像を生成する。画質評価・画像選択手段18では、第1および第2の自由視点画像の画質を評価し、その評価が高い方の自由視点画像を選択して出力する。
【0100】
図11(1)〜(3)は、内挿補間技術による自由視点画像生成の説明図である。
内挿補間技術による自由視点画像生成では、間隔を置いて固定配置された複数台のカメラでオブジェクトXを撮影したカメラ画像の中から、仮想視点Pcの両側に位置する2つのカメラ1,2のカメラ画像A,Bを選択する。そして、この2枚のカメラ画像A,Bから内挿補間技術により、指定された仮想視点Pcでの自由視点画像を生成する。
【0101】
具体的には、非特許文献1に開示されているように、まず、
図11(1),(2)に示すように、2つの視点Pa,Pbのカメラ画像A,Bの平行化処理を行う。この平行化処理では、視点Paでのカメラ画像Aと視点Pbでの原画像Bとが平行になるように、すなわち、視点Paでのカメラ1の光軸1と視点Pbでのカメラ2の光軸2が平行になるように、カメラ画像A,Bを回転させてカメラ画像A′,B′とする。次に、
図11(3)に示すように、平行化処理後のカメラ画像A′,B′の間を線形補間することにより中間画像C′を生成する。その後、
図11(3)に示すように、中間画像C′を、平行化処理前の空間に逆射影することによって、仮想視点Pcでの中間画像Cを生成する。
【0102】
画質評価・画像選択手段18では、例えば、N.B. Nill and B.H. Bouzas, "Objective Image Quality Measure Derived from Digital Image Power Spectra", Optical Engineering, vol.31, pp.813-825, 1992.に開示されているように、式(8)により、自由視点画像のパワースペクトルを解析することにより、その画質IQM(image quality measurement)を評価し、評価が高い方の自由視点画像を出力する。
【0103】
【数8】
ここで、M2は、画像のサイズ、S(θ1)は、方位画像スケールパラメータ、W(ρ)は、修正されたウィナーノイズフィルタ、A2(Tρ)は、人間の視覚系のMTF(T:固定)、P(ρ,θ)は、輝度正規化された画像のパワースペクトル、ρ,θは、極座標における空間周波数である。
【0104】
以上、実施形態について説明したが、本発明は、上記実施形態に限定されず、その技術的思想の範囲内において種々に変形したものを含む。例えば、上記実施形態では、射影変換により生成されたオブジェクト2D画像に着色し、さらに2D背景画像を合成しているが、仮想視点でのオブジェクトの態様は、無着色の2D画像でも着色した2D画像でも十分に把握できるので、そのような処理を行うことなく、画像を出力することも有効である。
【0105】
また、1枚の画像中に複数のオブジェクトが含まれている場合には、テクスチャなどでオブジェクトを特定しつつ、各オブジェクトについて処理するようにすればよい。
【0106】
また、本発明は、自由視点画像生成装置としてだけでなく、各手段での処理をステップとした自由視点画像生成方法としても実現でき、また、コンピュータを各手段として機能させる自由視点画像生成用プログラムとしても実現できる。自由視点画像生成方法は、各手段での処理を順次実行するステップを含めばよく、自由視点画像生成用プログラムは、コンンピュータを各手段として機能させるものであればよい。