3次元形状復元装置
【課題】1台のカメラにより対象物の3次元形状を精度高く復元することが可能な3次元形状復元装置を提供する。
【解決手段】対象物・影集合分離手段12が、複数の光源102−1〜4により構成された照明空間で撮影された画像から、対象物画像及びその影集合画像を分離する。3次元格子量子化データ生成手段13,14が、カメラ101と対象物画像、光源102−1〜4と影集合画像を用いたシルエット法により、対象物100の3次元データをそれぞれ生成する。そして、AND領域抽出手段15が、AND領域を抽出し、3次元形状データを復元する。また、影集合分離手段16が影集合から光源102−1〜4に対応した影を分離し、3次元格子量子化データ生成手段17がこの影に基づいて3次元データを生成し、AND領域抽出手段18が、3次元格子量子化データ生成手段13,17により生成された3次元データから、精度の高い3次元形状データを復元する。
【解決手段】対象物・影集合分離手段12が、複数の光源102−1〜4により構成された照明空間で撮影された画像から、対象物画像及びその影集合画像を分離する。3次元格子量子化データ生成手段13,14が、カメラ101と対象物画像、光源102−1〜4と影集合画像を用いたシルエット法により、対象物100の3次元データをそれぞれ生成する。そして、AND領域抽出手段15が、AND領域を抽出し、3次元形状データを復元する。また、影集合分離手段16が影集合から光源102−1〜4に対応した影を分離し、3次元格子量子化データ生成手段17がこの影に基づいて3次元データを生成し、AND領域抽出手段18が、3次元格子量子化データ生成手段13,17により生成された3次元データから、精度の高い3次元形状データを復元する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラが撮影した対象物の画像から3次元形状を復元する装置に関する。
【背景技術】
【0002】
従来、「shape from shading」と呼ばれている、画像の濃淡情報から対象物の形状を復元する手法が知られている。この手法は、照明条件や反射特性の正確な事前知識を必要とするが、実際にはこれらを得ることができない場合が多いことから、今のところ実験的な水準にとどまっている。また、従来の復元手法には、画像の投影変換を正射影で近似し、光源を無限遠方にある点光源とみなすことにより、陰影から形状を復元するものがある。このような単純化手法は、問題の定式化を簡単にするものであるが、仮定または近似により復元された形状には誤差が存在する。
【0003】
これに対し、非特許文献1に記載の復元手法は、より一般的な条件を考慮した画像の投影変換モデルとして正射影ではなく透視投影を仮定し、対象物の表面上に陰影を生成する光源が、対象から有限の距離にある点光源であるとして、この一般的な条件を定式化したものである。すなわち、光源からの距離が等しい曲線についてその性質を調べ、これを用いて画像の濃淡からこの曲線を発展させる手法を定式化したものである。この手法を内視鏡画像へ応用した結果、胃壁の形状を良好に復元することでき、この手法の有効性が確認されている。
【0004】
また、他の復元手法として、非特許文献2に記載されているように、複数台のカメラを用いて撮影された画像から、対象物のシルエットを抽出し、そのシルエットを用いて視体積交差法及びステレオマッチング法を行うことにより、対象物の3次元形状モデルを生成するものもある。また、特許文献1に記載の3次元形状復元手法もある。
【0005】
【非特許文献1】岡谷貴之、“画像陰影からの形状復元に関する研究”、[online]、東京大学、[平成18年9月20日検索]、インターネット<URL: http://www.fractal.is.tohoku.ac.jp/~okatani/pub/pdf/thesis.pdf>
【非特許文献2】冨山仁博、片山美和、岩舘祐一、今泉浩幸、“視体積交差法とステレオマッチング法を用いた多視点画像からの3次元動オブジェクト生成手法”、映像情報メディア学会誌、58、6、pp.797−806、2004
【特許文献1】特開2003−271928号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、前述の非特許文献1のように、対象物の陰影情報に基づいて形状を復元する手法では、対象物の表面形状を復元することはできるが、対象物全体の3次元形状を復元することができない。このため、ユーザが鑑賞できる範囲は対象物表面のみに限定され、視点の自由度が小さいという問題があった。
【0007】
また、前述の非特許文献2のように、複数台のカメラにより撮影された画像に基づいて3次元形状を復元する手法では、複数台のカメラを同期するように設置する必要がある。このため、大きな手間と設備が必要になり、さらには空間的な制約があるという問題があった。
【0008】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、1台のカメラにより対象物の3次元形状を精度高く復元することが可能な3次元形状復元装置を提供することにある。
【課題を解決するための手段】
【0009】
本発明では、前記課題を以下の手段により解決する。すなわち、本発明による3次元形状復元装置は、対象物を含む画像から対象物の3次元形状を復元する3次元形状復元装置において、複数の光源により構成された照明空間内で1台のカメラにより撮影されたカメラキャリブレーションパターンの画像を入力し、該カメラキャリブレーションパターン画像からカメラパラメータを算出するカメラパラメータ算出手段と、前記照明空間内で1台のカメラにより撮影された対象物及びその影を含む対象物撮影画像を入力し、該対象物撮影画像から前記対象物の画像及び前記対象物の影のみから成る影集合画像を分離し、前記対象物撮影画像における対象物の2次元画像領域及び影集合の2次元画像領域を求める対象物・影集合分離手段と、該対象物・影集合分離手段により求められた対象物の2次元画像領域、及び前記カメラパラメータ算出手段により算出されたカメラパラメータを用いて、対象物画像に基づく3次元立体領域を生成する第1の3次元データ生成手段と、前記対象物・影集合分離手段により求められた影集合の2次元画像領域、及び前記カメラパラメータ算出手段により算出されたカメラパラメータを用いて、影集合画像に基づく前記光源に対応したそれぞれの3次元立体領域を生成する第2の3次元データ生成手段と、前記第1の3次元データ生成手段により生成された対象物画像に基づく3次元立体領域、及び第2の3次元データ生成手段により生成された影集合画像に基づく光源に対応したそれぞれの3次元立体領域について、これらの3次元立体領域のデータに論理積の演算を施し、対象物画像及び影集合画像に基づく3次元立体領域を生成する第3の3次元データ生成手段とを備え、該第3の3次元データ生成手段により生成された3次元立体領域から3次元形状を復元することを特徴とする。
【0010】
また、本発明による3次元形状復元装置は、さらに、前記第3の3次元データ生成手段により生成された3次元立体領域、及び前記光源の世界座標を用いて、前記光源から光をあてた場合の仮想影を光源毎に生成して3次元平面領域を求め、該光源毎の仮想影の3次元平面領域、及び前記影集合の2次元画像領域に対応する3次元平面領域を用いて、光源毎の影の3次元平面領域を生成する第4の3次元データ生成手段と、該第4の3次元データ生成手段により生成された光源毎の影の3次元平面領域、及び前記光源の世界座標を用いて、光源及び影に基づく光源に対応したそれぞれの3次元立体領域を生成する第5の3次元データ生成手段と、前記第1の3次元データ生成手段により生成された対象物画像に基づく3次元立体領域、及び第5の3次元データ生成手段により生成された光源及び影に基づく光源に対応したそれぞれの3次元立体領域を用いて、これらの3次元立体領域のデータに論理積の演算を施し、対象物の3次元立体領域を生成する第6の3次元データ生成手段とを備え、該第6の3次元データ生成手段により生成された3次元立体領域から3次元形状を復元することを特徴とする。
【0011】
この場合、前記対象物・影集合分離手段が、クロマキー処理により、対象物撮影画像から対象物画像及び影集合画像を分離することが好適である。
【0012】
また、前記第1、第2及び第5の3次元データ生成手段が、対象物を囲むボクセル空間の世界座標を用いたシルエット法により、それぞれ3次元立体領域を生成することが好適である。
【0013】
また、前記第4の3次元データ生成手段が、前記第4の3次元データ生成手段が、対象物・影集合分離手段により求められた影集合の2次元画像からその輪郭を抽出し、該抽出した輪郭についてその内部の画素を所定の領域に分解し、該所定の領域と前記第3の3次元データ生成手段により生成された3次元立体領域を2次元画像に射影した領域とにより論理積の演算を施し、光源毎の影の3次元平面領域を生成することが好適である。
【発明の効果】
【0014】
以上のように、本発明によれば、1台のカメラにより対象物の3次元形状を精度高く復元することが可能な3次元形状復元装置を実現することが可能となる。
【発明を実施するための最良の形態】
【0015】
以下、本発明を実施するための最良の形態について図面を用いて詳細に説明する。
図1は、本発明の実施の形態による3次元形状復元装置を用いて、対象物の3次元形状データを復元するために必要な照明空間を説明する図である。この照明空間は、対象物の3次元形状データを復元するために用意され、3次元形状データが復元される球である対象物100、1台のカメラ101、及び4つの光源102−1〜4が設けられている。
【0016】
図17は、本発明の実施の形態による3次元形状復元装置の構成を示すブロック図である。この3次元形状復元装置1は、図1に示した照明空間を用いてカメラ101により撮影さたカメラキャリブレーション撮影画像及び対象物撮影画像から、対象物100の3次元形状データを復元する装置であり、カメラパラメータ算出手段11、対象物・影集合分離手段12、3次元格子量子化データ生成手段(第1の3次元データ生成手段)13、3次元格子量子化データ生成手段(第2の3次元データ生成手段)14、AND領域抽出手段(第3の3次元データ生成手段)15、影集合分離手段(第4の3次元データ生成手段)16、3次元格子量子化データ生成手段(第5の3次元データ生成手段)17、AND領域抽出手段(第6の3次元データ生成手段)18、及び表面形状復元手段19を備えている。
【0017】
図2は、図17に示す3次元形状復元装置1により実現される処理のフローチャートを示す図である。以下、図17に示す3次元形状復元装置1の構成、及び図2に示すフローチャートについて詳細に説明する。
【0018】
(1)撮影
まず、ユーザは、カメラ101により、カメラキャリブレーションパターン及び対象物を撮影する(ステップS201)。具体的には、3次元形状復元装置1がカメラ101のカメラパラメータを算出できるように、図1に示した照明空間にカメラキャリブレーションパターンを配置し、カメラ101により、カメラキャリブレーションパターンを撮影する。図3は、カメラキャリブレーションパターン撮影画像を示す図である。
【0019】
そして、3次元形状復元装置1により3次元形状が復元される対象物100の球を、図1に示した照明空間に配置し、カメラ101により、その対象物を撮影する。図4は、対象物撮影画像を示す図である。
【0020】
(2)カメラパラメータ算出
カメラパラメータ算出手段11は、カメラ101から図3に示したカメラキャリブレーション撮影画像、及びカメラ101から図4に示した対象物撮影画像を入力し、カメラパラメータを算出する(ステップS202)。カメラパラメータは、カメラ101の位置、向き、焦点距離、回転行列、平行移動ベクトル等により構成され、ここでは、以下の(1)〜(3)式に示すパラメータA,R,Tをいう。
【数1】
ここで、世界座標とは、カメラキャリブレーションパターン上に構成される3次元座標であり、X−Y軸による平面が地面になり、Z軸がその地面と垂直になるように構成される。また、カメラ座標とは、カメラ101からみた2次元座標(画像座標)である。
【0021】
(3)クロマキー処理による対象物と影集合との分離
対象物・影集合分離手段12は、カメラ101から対象物撮影画像を入力し、クロマキー処理により、この対象物撮影画像から図5に示す対象物画像及び図6に示す影集合A画像を抽出し、さらに、これらの対象物画像と影集合A画像とを合成して図7に示す影集合B画像を生成する(ステップS203)。
【0022】
具体的には、クロマキー処理により、対象物撮影画像における対象物及び影の色素値と背景の色素値とを用いて、これらの色素値に対してしきい値処理を施し、対象物及び影と背景との間の境界を特定する。そして、対象物及び影の画像に対して、対象物の色素値及び輝度と影の色素値及び輝度とを用いて、これらに対してしきい値処理を施し、対象物と影との間の境界を特定する。これにより、図5に示す対象物画像及び図6に示す影集合A画像をそれぞれ抽出する。そして、これらを合成して図7に示す影集合B画像を生成する。ここで、図6の影集合A画像では、対象物100により隠れてしまった部分の影を抽出することができない。そこで、この隠れてしまった部分の影の抽出を行うために、図5に示す対象物画像と図6に示す影集合A画像とを合成して、図7に示す影集合B画像を生成する。この影集合Bを、光源102によって発生した対象物100の影集合とする。
【0023】
(4)カメラと対象物によるシルエット法
3次元格子量子化データ生成手段13は、カメラパラメータ算出手段11からカメラパラメータを、対象物・影集合分離手段12から対象物画像をそれぞれ入力し、シルエット法により、対象物画像に基づく3次元格子量子化データを生成する(ステップS204)。
【0024】
具体的には、対象物画像における対象物100の画像座標を(uobject,vobject)とし、この対象物100の世界座標を(Xobject,Yobject,Zobject)とし、世界座標において対象物100を取り囲むボクセル空間を用意し、このボクセル空間の世界座標を(Xbox,Ybox,Zbox)とする。この場合、カメラパラメータの(1)〜(3)式及び以下の(4)式を用いて、得られた(u,v)が(uobject,vobject)に含まれるときには、以下の(5)式に示すように、(Xbox,Ybox,Zbox)が(Xobject,Yobject,Zobject)に含まれることになる。このシルエット法による処理をボクセル空間における全てのボクセルに対して行い、対象物100が存在すると考えられる、対象物画像に基づく3次元格子量子化データ(Xobject,Yobject,Zobject)を生成する。
【数2】
【数3】
【0025】
図8は、カメラと対象物によるシルエット法を説明する図である。図8の左図が真上から見た図であり、右図が斜め上から見た図である。左図では太線で囲まれた領域、右図ではカメラ101から伸びた錐体のうちのボクセル空間に含まれる領域が、それぞれ対象物画像に基づく3次元格子量子化データ(Xobject,Yobject,Zobject)である。対象物100は、この対象物画像に基づく3次元格子量子化データ(Xobject,Yobject,Zobject)の領域内に存在する。
【0026】
(5)光源と影集合によるシルエット法
3次元格子量子化データ生成手段14は、カメラパラメータ算出手段11からカメラパラメータを、対象物・影集合分離手段12から影集合B画像をそれぞれ入力し、シルエット法により、影集合B画像に基づく光源毎の3次元格子量子化データを生成する(ステップS205)。
【0027】
具体的には、影集合Bの画像座標を(uSHADOW,vSHADOW)とした場合に、カメラパラメータの(1)〜(3)式及び以下の(6)式を用いて、影集合Bの画像座標(uSHADOW,vSHADOW)を影集合Bの世界座標(xSHADOW,ySHADOW,0)に変換する。
【数4】
【0028】
そして、影集合Bの世界座標(xSHADOW,ySHADOW,0)と光源102−1〜4の世界座標(Xlight_N,Ylight_N,Zlight_N)とを結ぶ直線の式を、以下の(7)式により求める。尚、この光源102−1〜4の世界座標(Xlight_N,Ylight_N,Zlight_N)は、図1に示した照明空間により予め設定される値である。ここで、Nは、4つの光源102−1〜4の番号1〜4を示す。また、この直線とボクセル空間におけるボクセルとの間の交点を以下の(8)式により求める。このシルエット法による処理を、影集合Bを構成する全ての画素に対して行い、対象物100が存在すると考えられる、影集合B画像に基づく光源毎の3次元格子量子化データ(XSHADOW_N,YSHADOW_N,ZSHADOW_N)を生成する。
【数5】
【数6】
【0029】
図9は、光源と影集合Bによるシルエット法を説明する図である。図9の左図が光源102−1に対して前述の処理を行った様子を真上から見た図であり、右図が斜め上から見た図である。左図では太線で囲まれた領域、右図では光源102−1から伸びた錐体のうちのボクセル空間に含まれる領域(ボクセル空間内にあり、かつ光源102−1と影集合Bとを結ぶ直線の集合)が、影集合B画像に基づく光源102−1の3次元格子量子化データ(XSHADOW_1,YSHADOW_1,ZSHADOW_1)である。同様にして、光源102−2から伸びた錐体のうちのボクセル空間に含まれる領域(ボクセル空間内にあり、かつ光源102−2と影集合Bとを結ぶ直線の集合)が、影集合B画像に基づく光源102−2の3次元格子量子化データ(XSHADOW_2,YSHADOW_2,ZSHADOW_2)である。影集合B画像に基づく光源102−3の3次元格子量子化データ(XSHADOW_3,YSHADOW_3,ZSHADOW_3)、影集合B画像に基づく光源102−4の3次元格子量子化データ(XSHADOW_4,YSHADOW_4,ZSHADOW_4)についても同様である。対象物100は、この影集合B画像に基づく3次元格子量子化データ(XSHADOW_N,YSHADOW_N,ZSHADOW_N)の領域内に存在する。
【0030】
(6)影集合分離前のAND領域の抽出
AND領域抽出手段15は、3次元格子量子化データ生成手段13から対象物画像に基づく3次元格子量子化データを、3次元格子量子化データ生成手段14から影集合B画像に基づく光源毎の3次元格子量子化データをそれぞれ入力し、これら5つの3次元格子量子化データでAND(論理積)演算を行い、対象物画像及び影集合B画像に基づく3次元格子量子化データを生成する(ステップS206)。
【0031】
3次元格子量子化データ生成手段13,14により生成された3次元格子量子化データは、それぞれ「少なくともこの3次元量子化データの中に対象物100が存在する」ことを意味する対象物100の3次元情報である。そこで、カメラ101と対象物100とを結ぶ1つの錐体、及び、各光源102−1〜4と影集合Bとを結ぶ4つの錐体の合計5つの錐体に対し、AND領域を得ることにより、対象物画像及び影集合B画像に基づく(一層限定された対象物100の)3次元格子量子化データ(XMODEL,YMODEL,ZMODEL)を生成する。
【0032】
図10は、影集合分離前のAND領域を説明する図であり、前述のAND演算を行った様子を真上から見た図である。図10において太線で囲まれた領域が、対象物画像及び影集合B画像に基づく3次元格子量子化データ(XMODEL,YMODEL,ZMODEL)である。対象物100は、図10に示したように、対象物画像及び影集合B画像に基づく3次元格子量子化データ(XMODEL,YMODEL,ZMODEL)の領域内に存在する。
【0033】
このように、対象物100は、対象物画像及び影集合B画像に基づく3次元格子量子化データ(XMODEL,YMODEL,ZMODEL)の領域内に存在するが、図10によれば、対象物100以外に多くの余分な領域が存在している。これは、それぞれの光源102−1〜4に対して影集合Bによるシルエット法を用いているからである。この余分な領域を除去し、一層精度高く対象物100を復元するためには、図6に示した影集合A画像の影集合から、各光源102−1〜4によって発生した影を分離し、光源102−1〜4にそれぞれ対応した影のみによるシルエット法を用いる必要がある。以下、詳細に説明する。
【0034】
(7)影集合の領域分解
影集合分離手段16は、対象物・影集合分離手段12から対象物画像及び影集合A画像を、AND領域抽出手段15から対象物画像及び影集合B画像に基づく3次元格子量子化データをそれぞれ入力する。そして、影集合A画像から影集合Aの輪郭を抽出し、その抽出した輪郭内の画素について領域を分解してラベリングする(ステップS207)。
【0035】
具体的には、影集合A画像において各画素の輝度値を微分し、近隣の画素における微分値の差と予め設定されたしきい値とを比較し、微分値が大きく変化する画素の箇所を影集合Aの輪郭として抽出する。そして、その輪郭内部において各領域に分解してラベリングする。図11は、領域分解された影集合Aを説明する図である。図11において、影集合Aは、1〜9の番号にラベリングされた9つの領域に分解されている。
【0036】
(8)影集合の分離
また、影集合分離手段16は、AND領域抽出手段15から入力した対象物画像及び影集合B画像に基づく3次元格子量子化データに対し、光源102−1〜4のうちの1つの光源からそれぞれ仮想的に光をあてた場合の、光源毎の影座標(影の世界座標)を生成する(ステップS208)。
【0037】
具体的には、まず、対象物画像及び影集合B画像に基づく3次元格子量子化データ(XMODEL,YMODEL,ZMODEL)に対し、光源102−1〜4のうちの1つの光源からそれぞれ仮想的に光をあてた場合の仮想影a〜dの世界座標(xvirtual_shadow_N,yvirtual_shadow_N,zvirtual_shadow_N)を、以下の(9)式により求める。
【数7】
【0038】
図12は、(9)式により求めた仮想影画像を示す図である。仮想影aは光源102−1から仮想的に光をあてた場合の影であり、同様に、仮想影b,c,dは光源102−2,3,4からそれぞれ仮想的に光をあてた場合の影である。
【0039】
そして、仮想影a〜dの世界座標と、影集合分離手段16により領域分解された影集合Aの世界座標とを用いて、仮想影a〜bと領域分解された影集合Aとの間でAND演算を行い、それぞれAND領域を抽出する。ここで、影集合分離手段16により領域分解された影集合Aの世界座標は、前述の(6)式に示したように、影集合Aび2次元の画像座標及び前述の(1)〜(3)式のカメラパラメータに基づいて求められる。
【0040】
また、抽出したAND領域の画素数、及び影集合分離手段16により分解された領域毎の画素数をそれぞれ求め、その分解領域の画像数におけるAND領域の画素数の割合が予め設定されたしきい値以上の場合に、その分解領域におけるAND領域を対象物100の影とする。また、対象物100により隠れてしまう欠損を補うために、対象物画像を用いてその対象物100を前述の影に加える。これにより、光源102−1〜4に対応した影を影集合Aから抽出することができ、対象物100を加えた光源毎の影座標(xshadow_N,yshadow_N,zshadow_N)を得ることができる。ここで、対象物100の世界座標は、前述の(6)式に示したように、対象物の2次元の画像画像及び前述の(1)〜(3)式のカメラパラメータに基づいて求められる。
【0041】
図13は、影集合Aの分離の流れを説明する図である。図13に示すように、領域分解された影集合A及び仮想影dによるAND演算、さらには分解領域毎にしきい値処理が施されてAND領域が得られ、それに対象物100が加えられて、光源102−4の影座標(xshadow_4,yshadow_4,zshadow_4)が得られる。同様にして、図14に示すように、光源102−1,2,3の影座標(xshadow_1,yshadow_1,zshadow_1),(xshadow_2,yshadow_2,zshadow_2),(xshadow_3,yshadow_3,zshadow_3)がそれぞれ得られる。
【0042】
(9)光源と影によるシルエット法
3次元格子量子化データ生成手段17は、影集合分離手段16から光源毎の影座標を入力し、シルエット法により、光源及び影に基づく光源毎の3次元格子量子化データを生成する(ステップS209)。
【0043】
具体的には、影座標(影の世界座標)(xshadow_N,yshadow_N,zshadow_N)と光源102−1〜4の世界座標(Xlight_N,Ylight_N,Zlight_N)とを結ぶ直線の式を、以下の(10)式により求める。また、この直線とボクセル空間におけるボクセルとの間の交点を以下の(11)式により求める。このシルエット法による処理を、影座標を構成する全ての画素に対して行い、対象物100が存在すると考えられる、光源及び影に基づく光源毎の3次元格子量子化データ(Xshadow_N,Yshadow_N,Zshadow_N)を生成する。
【数8】
【数9】
【0044】
図15は、光源と影によるシルエット法を説明する図である。図15の左図が光源102−1に対して前述の処理を行った様子を真上から見た図であり、右図が斜め上から見た図である。左図では太線で囲まれた領域、右図では光源102−1から伸びた錐体のうちのボクセル空間に含まれる領域(ボクセル空間内にあり、かつ光源102−1と影aとを結ぶ直線の集合)が、光源102−1及び影aに基づく3次元格子量子化データ(Xshadow_1,Yshadow_1,Zshadow_1)である。同様にして、光源102−2から伸びた錐体のうちのボクセル空間に含まれる領域(ボクセル空間内にあり、かつ光源102−2と影bとを結ぶ直線の集合)が、光源102−2及び影bに基づく3次元格子量子化データ(Xshadow_2,Yshadow_2,Zshadow_2)である。光源102−3及び影cに基づく3次元格子量子化データ(Xshadow_3,Yshadow_3,Zshadow_3)、光源102−4及び影dに基づく3次元格子量子化データ(Xshadow_4,Yshadow_4,Zshadow_4)についても同様である。対象物100は、この光源及び影に基づく光源毎の3次元格子量子化データ(Xshadow_N,Yshadow_N,Zshadow_N)の領域内に存在する。
【0045】
(10)影集合分離後のAND領域の抽出
AND領域抽出手段18は、3次元格子量子化データ生成手段17から光源及び影に基づく光源毎の3次元格子量子化データを、3次元格子量子化データ生成手段13から対象物画像に基づく3次元格子量子化データをそれぞれ入力し、これら5つの3次元格子量子化データでAND演算を行い、対象物100の3次元格子量子化データ(Xmodel,Ymodel,Zmodel)を生成する(ステップS210)。
【0046】
図16は、影集合分離後のAND領域を説明する図であり、前述のAND演算を行った様子を真上から見た図である。図16において太線で囲まれた領域が、対象物100の3次元格子量子化データ(Xmodel,Ymodel,Zmodel)である。図16に示した影集合分離後のAND領域と、図10に示した影集合分離前のAND領域とを比較すると、図16のAND領域の方が対象物100である球の形状に近いことがわかる。
【0047】
このように、影集合Aから各光源102−1〜4に対応した影a〜dを分離し、その影によるシルエット法を用いることにより、対象物100である球に近いAND領域を得ることができる。つまり、一層正確な対象物100の3次元格子量子化データを得ることができる。
【0048】
(11)表面形状の復元
表面形状復元手段19は、AND領域抽出手段18から対象物100の3次元格子量子化データを入力し、離散的MC(Marching Cubes)法を用いて、対象物100の面を構成して表面形状を復元し、3次元形状データを生成する(ステップS211)。
【0049】
以上のように、本発明の実施の形態による3次元形状復元装置1によれば、1台のカメラ101により撮影された対象物100及びその影の画像の画像から、対象物100の3次元形状を復元することができる。
【0050】
また、本発明の実施の形態による3次元形状復元装置1によれば、対象物100の影の画像から、光源102−1〜4に対応したそれぞれの対象物100の影を分離して抽出する。そして、光源102−1〜4に対応したそれぞれの対象物100の影から、一層精度の高い対象物100の3次元形状を復元することができる。
【0051】
つまり、3次元形状復元装置1が、1台のカメラ101により3次元形状を復元することができるから、複数台のカメラを用いる必要がない。また、ユーザは、復元された3次元形状を好きな位置や角度から鑑賞することができるから、視点の自由度が小さいという従来の問題を解決することができる。また、複数台のカメラを用いて前述の処理を行うことにより、さらに一層精度の高い対象物100の3次元形状を復元することができる。
【0052】
以上、実施の形態を挙げて本発明を説明したが、本発明は上記実施の形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、上記実施の形態では、対象物・影集合分離手段12が、クロマキー処理により、対象物撮影画像から対象物画像及び影集合A画像を抽出するようにしたが、クロマキー処理に限定されるものではない。要するに、対象物撮影画像から対象物画像及び影集合A画像を抽出する処理であれば何でもよい。
【0053】
また、3次元格子量子化データ生成手段13,14,17が、ボクセル空間を用いたシルエット法により、3次元格子量子化データを生成するようにしたが、シルエット法に限定されるものではなく、3次元格子量子化データを生成する手法であれば何でもよい。
【図面の簡単な説明】
【0054】
【図1】本発明の実施の形態における照明空間を説明する図である。
【図2】本発明の実施の形態による3次元形状復元処理のフローチャートを示す図である。
【図3】カメラキャリブレーションパターン撮影画像を示す図である。
【図4】対象物撮影画像を示す図である。
【図5】対象物画像を示す図である。
【図6】影集合A画像を示す図である。
【図7】影集合B画像を示す図である。
【図8】カメラと対象物によるシルエット法を説明する図である。
【図9】光源と影集合Bによるシルエット法を説明する図である。
【図10】影集合分離前のAND領域を説明する図である。
【図11】領域分解された影集合Aを説明する図である。
【図12】仮想影画像を示す図である。
【図13】影集合Aの分離の流れを説明する図である。
【図14】影画像を示す図である。
【図15】光源と影によるシルエット法を説明する図である。
【図16】影集合分離後のAND領域を説明する図である。
【図17】本発明の実施の形態による3次元形状復元装置の構成を説明するブロック図である。
【符号の説明】
【0055】
1 3次元形状復元装置
11 カメラパラメータ算出手段
12 対象物・影集合分離手段
13,14,17 3次元格子量子化データ生成手段
15,18 AND領域抽出手段
16 影集合分離手段
19 表面形状復元手段
100 対象物
101 カメラ
102 光源
【技術分野】
【0001】
本発明は、カメラが撮影した対象物の画像から3次元形状を復元する装置に関する。
【背景技術】
【0002】
従来、「shape from shading」と呼ばれている、画像の濃淡情報から対象物の形状を復元する手法が知られている。この手法は、照明条件や反射特性の正確な事前知識を必要とするが、実際にはこれらを得ることができない場合が多いことから、今のところ実験的な水準にとどまっている。また、従来の復元手法には、画像の投影変換を正射影で近似し、光源を無限遠方にある点光源とみなすことにより、陰影から形状を復元するものがある。このような単純化手法は、問題の定式化を簡単にするものであるが、仮定または近似により復元された形状には誤差が存在する。
【0003】
これに対し、非特許文献1に記載の復元手法は、より一般的な条件を考慮した画像の投影変換モデルとして正射影ではなく透視投影を仮定し、対象物の表面上に陰影を生成する光源が、対象から有限の距離にある点光源であるとして、この一般的な条件を定式化したものである。すなわち、光源からの距離が等しい曲線についてその性質を調べ、これを用いて画像の濃淡からこの曲線を発展させる手法を定式化したものである。この手法を内視鏡画像へ応用した結果、胃壁の形状を良好に復元することでき、この手法の有効性が確認されている。
【0004】
また、他の復元手法として、非特許文献2に記載されているように、複数台のカメラを用いて撮影された画像から、対象物のシルエットを抽出し、そのシルエットを用いて視体積交差法及びステレオマッチング法を行うことにより、対象物の3次元形状モデルを生成するものもある。また、特許文献1に記載の3次元形状復元手法もある。
【0005】
【非特許文献1】岡谷貴之、“画像陰影からの形状復元に関する研究”、[online]、東京大学、[平成18年9月20日検索]、インターネット<URL: http://www.fractal.is.tohoku.ac.jp/~okatani/pub/pdf/thesis.pdf>
【非特許文献2】冨山仁博、片山美和、岩舘祐一、今泉浩幸、“視体積交差法とステレオマッチング法を用いた多視点画像からの3次元動オブジェクト生成手法”、映像情報メディア学会誌、58、6、pp.797−806、2004
【特許文献1】特開2003−271928号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、前述の非特許文献1のように、対象物の陰影情報に基づいて形状を復元する手法では、対象物の表面形状を復元することはできるが、対象物全体の3次元形状を復元することができない。このため、ユーザが鑑賞できる範囲は対象物表面のみに限定され、視点の自由度が小さいという問題があった。
【0007】
また、前述の非特許文献2のように、複数台のカメラにより撮影された画像に基づいて3次元形状を復元する手法では、複数台のカメラを同期するように設置する必要がある。このため、大きな手間と設備が必要になり、さらには空間的な制約があるという問題があった。
【0008】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、1台のカメラにより対象物の3次元形状を精度高く復元することが可能な3次元形状復元装置を提供することにある。
【課題を解決するための手段】
【0009】
本発明では、前記課題を以下の手段により解決する。すなわち、本発明による3次元形状復元装置は、対象物を含む画像から対象物の3次元形状を復元する3次元形状復元装置において、複数の光源により構成された照明空間内で1台のカメラにより撮影されたカメラキャリブレーションパターンの画像を入力し、該カメラキャリブレーションパターン画像からカメラパラメータを算出するカメラパラメータ算出手段と、前記照明空間内で1台のカメラにより撮影された対象物及びその影を含む対象物撮影画像を入力し、該対象物撮影画像から前記対象物の画像及び前記対象物の影のみから成る影集合画像を分離し、前記対象物撮影画像における対象物の2次元画像領域及び影集合の2次元画像領域を求める対象物・影集合分離手段と、該対象物・影集合分離手段により求められた対象物の2次元画像領域、及び前記カメラパラメータ算出手段により算出されたカメラパラメータを用いて、対象物画像に基づく3次元立体領域を生成する第1の3次元データ生成手段と、前記対象物・影集合分離手段により求められた影集合の2次元画像領域、及び前記カメラパラメータ算出手段により算出されたカメラパラメータを用いて、影集合画像に基づく前記光源に対応したそれぞれの3次元立体領域を生成する第2の3次元データ生成手段と、前記第1の3次元データ生成手段により生成された対象物画像に基づく3次元立体領域、及び第2の3次元データ生成手段により生成された影集合画像に基づく光源に対応したそれぞれの3次元立体領域について、これらの3次元立体領域のデータに論理積の演算を施し、対象物画像及び影集合画像に基づく3次元立体領域を生成する第3の3次元データ生成手段とを備え、該第3の3次元データ生成手段により生成された3次元立体領域から3次元形状を復元することを特徴とする。
【0010】
また、本発明による3次元形状復元装置は、さらに、前記第3の3次元データ生成手段により生成された3次元立体領域、及び前記光源の世界座標を用いて、前記光源から光をあてた場合の仮想影を光源毎に生成して3次元平面領域を求め、該光源毎の仮想影の3次元平面領域、及び前記影集合の2次元画像領域に対応する3次元平面領域を用いて、光源毎の影の3次元平面領域を生成する第4の3次元データ生成手段と、該第4の3次元データ生成手段により生成された光源毎の影の3次元平面領域、及び前記光源の世界座標を用いて、光源及び影に基づく光源に対応したそれぞれの3次元立体領域を生成する第5の3次元データ生成手段と、前記第1の3次元データ生成手段により生成された対象物画像に基づく3次元立体領域、及び第5の3次元データ生成手段により生成された光源及び影に基づく光源に対応したそれぞれの3次元立体領域を用いて、これらの3次元立体領域のデータに論理積の演算を施し、対象物の3次元立体領域を生成する第6の3次元データ生成手段とを備え、該第6の3次元データ生成手段により生成された3次元立体領域から3次元形状を復元することを特徴とする。
【0011】
この場合、前記対象物・影集合分離手段が、クロマキー処理により、対象物撮影画像から対象物画像及び影集合画像を分離することが好適である。
【0012】
また、前記第1、第2及び第5の3次元データ生成手段が、対象物を囲むボクセル空間の世界座標を用いたシルエット法により、それぞれ3次元立体領域を生成することが好適である。
【0013】
また、前記第4の3次元データ生成手段が、前記第4の3次元データ生成手段が、対象物・影集合分離手段により求められた影集合の2次元画像からその輪郭を抽出し、該抽出した輪郭についてその内部の画素を所定の領域に分解し、該所定の領域と前記第3の3次元データ生成手段により生成された3次元立体領域を2次元画像に射影した領域とにより論理積の演算を施し、光源毎の影の3次元平面領域を生成することが好適である。
【発明の効果】
【0014】
以上のように、本発明によれば、1台のカメラにより対象物の3次元形状を精度高く復元することが可能な3次元形状復元装置を実現することが可能となる。
【発明を実施するための最良の形態】
【0015】
以下、本発明を実施するための最良の形態について図面を用いて詳細に説明する。
図1は、本発明の実施の形態による3次元形状復元装置を用いて、対象物の3次元形状データを復元するために必要な照明空間を説明する図である。この照明空間は、対象物の3次元形状データを復元するために用意され、3次元形状データが復元される球である対象物100、1台のカメラ101、及び4つの光源102−1〜4が設けられている。
【0016】
図17は、本発明の実施の形態による3次元形状復元装置の構成を示すブロック図である。この3次元形状復元装置1は、図1に示した照明空間を用いてカメラ101により撮影さたカメラキャリブレーション撮影画像及び対象物撮影画像から、対象物100の3次元形状データを復元する装置であり、カメラパラメータ算出手段11、対象物・影集合分離手段12、3次元格子量子化データ生成手段(第1の3次元データ生成手段)13、3次元格子量子化データ生成手段(第2の3次元データ生成手段)14、AND領域抽出手段(第3の3次元データ生成手段)15、影集合分離手段(第4の3次元データ生成手段)16、3次元格子量子化データ生成手段(第5の3次元データ生成手段)17、AND領域抽出手段(第6の3次元データ生成手段)18、及び表面形状復元手段19を備えている。
【0017】
図2は、図17に示す3次元形状復元装置1により実現される処理のフローチャートを示す図である。以下、図17に示す3次元形状復元装置1の構成、及び図2に示すフローチャートについて詳細に説明する。
【0018】
(1)撮影
まず、ユーザは、カメラ101により、カメラキャリブレーションパターン及び対象物を撮影する(ステップS201)。具体的には、3次元形状復元装置1がカメラ101のカメラパラメータを算出できるように、図1に示した照明空間にカメラキャリブレーションパターンを配置し、カメラ101により、カメラキャリブレーションパターンを撮影する。図3は、カメラキャリブレーションパターン撮影画像を示す図である。
【0019】
そして、3次元形状復元装置1により3次元形状が復元される対象物100の球を、図1に示した照明空間に配置し、カメラ101により、その対象物を撮影する。図4は、対象物撮影画像を示す図である。
【0020】
(2)カメラパラメータ算出
カメラパラメータ算出手段11は、カメラ101から図3に示したカメラキャリブレーション撮影画像、及びカメラ101から図4に示した対象物撮影画像を入力し、カメラパラメータを算出する(ステップS202)。カメラパラメータは、カメラ101の位置、向き、焦点距離、回転行列、平行移動ベクトル等により構成され、ここでは、以下の(1)〜(3)式に示すパラメータA,R,Tをいう。
【数1】
ここで、世界座標とは、カメラキャリブレーションパターン上に構成される3次元座標であり、X−Y軸による平面が地面になり、Z軸がその地面と垂直になるように構成される。また、カメラ座標とは、カメラ101からみた2次元座標(画像座標)である。
【0021】
(3)クロマキー処理による対象物と影集合との分離
対象物・影集合分離手段12は、カメラ101から対象物撮影画像を入力し、クロマキー処理により、この対象物撮影画像から図5に示す対象物画像及び図6に示す影集合A画像を抽出し、さらに、これらの対象物画像と影集合A画像とを合成して図7に示す影集合B画像を生成する(ステップS203)。
【0022】
具体的には、クロマキー処理により、対象物撮影画像における対象物及び影の色素値と背景の色素値とを用いて、これらの色素値に対してしきい値処理を施し、対象物及び影と背景との間の境界を特定する。そして、対象物及び影の画像に対して、対象物の色素値及び輝度と影の色素値及び輝度とを用いて、これらに対してしきい値処理を施し、対象物と影との間の境界を特定する。これにより、図5に示す対象物画像及び図6に示す影集合A画像をそれぞれ抽出する。そして、これらを合成して図7に示す影集合B画像を生成する。ここで、図6の影集合A画像では、対象物100により隠れてしまった部分の影を抽出することができない。そこで、この隠れてしまった部分の影の抽出を行うために、図5に示す対象物画像と図6に示す影集合A画像とを合成して、図7に示す影集合B画像を生成する。この影集合Bを、光源102によって発生した対象物100の影集合とする。
【0023】
(4)カメラと対象物によるシルエット法
3次元格子量子化データ生成手段13は、カメラパラメータ算出手段11からカメラパラメータを、対象物・影集合分離手段12から対象物画像をそれぞれ入力し、シルエット法により、対象物画像に基づく3次元格子量子化データを生成する(ステップS204)。
【0024】
具体的には、対象物画像における対象物100の画像座標を(uobject,vobject)とし、この対象物100の世界座標を(Xobject,Yobject,Zobject)とし、世界座標において対象物100を取り囲むボクセル空間を用意し、このボクセル空間の世界座標を(Xbox,Ybox,Zbox)とする。この場合、カメラパラメータの(1)〜(3)式及び以下の(4)式を用いて、得られた(u,v)が(uobject,vobject)に含まれるときには、以下の(5)式に示すように、(Xbox,Ybox,Zbox)が(Xobject,Yobject,Zobject)に含まれることになる。このシルエット法による処理をボクセル空間における全てのボクセルに対して行い、対象物100が存在すると考えられる、対象物画像に基づく3次元格子量子化データ(Xobject,Yobject,Zobject)を生成する。
【数2】
【数3】
【0025】
図8は、カメラと対象物によるシルエット法を説明する図である。図8の左図が真上から見た図であり、右図が斜め上から見た図である。左図では太線で囲まれた領域、右図ではカメラ101から伸びた錐体のうちのボクセル空間に含まれる領域が、それぞれ対象物画像に基づく3次元格子量子化データ(Xobject,Yobject,Zobject)である。対象物100は、この対象物画像に基づく3次元格子量子化データ(Xobject,Yobject,Zobject)の領域内に存在する。
【0026】
(5)光源と影集合によるシルエット法
3次元格子量子化データ生成手段14は、カメラパラメータ算出手段11からカメラパラメータを、対象物・影集合分離手段12から影集合B画像をそれぞれ入力し、シルエット法により、影集合B画像に基づく光源毎の3次元格子量子化データを生成する(ステップS205)。
【0027】
具体的には、影集合Bの画像座標を(uSHADOW,vSHADOW)とした場合に、カメラパラメータの(1)〜(3)式及び以下の(6)式を用いて、影集合Bの画像座標(uSHADOW,vSHADOW)を影集合Bの世界座標(xSHADOW,ySHADOW,0)に変換する。
【数4】
【0028】
そして、影集合Bの世界座標(xSHADOW,ySHADOW,0)と光源102−1〜4の世界座標(Xlight_N,Ylight_N,Zlight_N)とを結ぶ直線の式を、以下の(7)式により求める。尚、この光源102−1〜4の世界座標(Xlight_N,Ylight_N,Zlight_N)は、図1に示した照明空間により予め設定される値である。ここで、Nは、4つの光源102−1〜4の番号1〜4を示す。また、この直線とボクセル空間におけるボクセルとの間の交点を以下の(8)式により求める。このシルエット法による処理を、影集合Bを構成する全ての画素に対して行い、対象物100が存在すると考えられる、影集合B画像に基づく光源毎の3次元格子量子化データ(XSHADOW_N,YSHADOW_N,ZSHADOW_N)を生成する。
【数5】
【数6】
【0029】
図9は、光源と影集合Bによるシルエット法を説明する図である。図9の左図が光源102−1に対して前述の処理を行った様子を真上から見た図であり、右図が斜め上から見た図である。左図では太線で囲まれた領域、右図では光源102−1から伸びた錐体のうちのボクセル空間に含まれる領域(ボクセル空間内にあり、かつ光源102−1と影集合Bとを結ぶ直線の集合)が、影集合B画像に基づく光源102−1の3次元格子量子化データ(XSHADOW_1,YSHADOW_1,ZSHADOW_1)である。同様にして、光源102−2から伸びた錐体のうちのボクセル空間に含まれる領域(ボクセル空間内にあり、かつ光源102−2と影集合Bとを結ぶ直線の集合)が、影集合B画像に基づく光源102−2の3次元格子量子化データ(XSHADOW_2,YSHADOW_2,ZSHADOW_2)である。影集合B画像に基づく光源102−3の3次元格子量子化データ(XSHADOW_3,YSHADOW_3,ZSHADOW_3)、影集合B画像に基づく光源102−4の3次元格子量子化データ(XSHADOW_4,YSHADOW_4,ZSHADOW_4)についても同様である。対象物100は、この影集合B画像に基づく3次元格子量子化データ(XSHADOW_N,YSHADOW_N,ZSHADOW_N)の領域内に存在する。
【0030】
(6)影集合分離前のAND領域の抽出
AND領域抽出手段15は、3次元格子量子化データ生成手段13から対象物画像に基づく3次元格子量子化データを、3次元格子量子化データ生成手段14から影集合B画像に基づく光源毎の3次元格子量子化データをそれぞれ入力し、これら5つの3次元格子量子化データでAND(論理積)演算を行い、対象物画像及び影集合B画像に基づく3次元格子量子化データを生成する(ステップS206)。
【0031】
3次元格子量子化データ生成手段13,14により生成された3次元格子量子化データは、それぞれ「少なくともこの3次元量子化データの中に対象物100が存在する」ことを意味する対象物100の3次元情報である。そこで、カメラ101と対象物100とを結ぶ1つの錐体、及び、各光源102−1〜4と影集合Bとを結ぶ4つの錐体の合計5つの錐体に対し、AND領域を得ることにより、対象物画像及び影集合B画像に基づく(一層限定された対象物100の)3次元格子量子化データ(XMODEL,YMODEL,ZMODEL)を生成する。
【0032】
図10は、影集合分離前のAND領域を説明する図であり、前述のAND演算を行った様子を真上から見た図である。図10において太線で囲まれた領域が、対象物画像及び影集合B画像に基づく3次元格子量子化データ(XMODEL,YMODEL,ZMODEL)である。対象物100は、図10に示したように、対象物画像及び影集合B画像に基づく3次元格子量子化データ(XMODEL,YMODEL,ZMODEL)の領域内に存在する。
【0033】
このように、対象物100は、対象物画像及び影集合B画像に基づく3次元格子量子化データ(XMODEL,YMODEL,ZMODEL)の領域内に存在するが、図10によれば、対象物100以外に多くの余分な領域が存在している。これは、それぞれの光源102−1〜4に対して影集合Bによるシルエット法を用いているからである。この余分な領域を除去し、一層精度高く対象物100を復元するためには、図6に示した影集合A画像の影集合から、各光源102−1〜4によって発生した影を分離し、光源102−1〜4にそれぞれ対応した影のみによるシルエット法を用いる必要がある。以下、詳細に説明する。
【0034】
(7)影集合の領域分解
影集合分離手段16は、対象物・影集合分離手段12から対象物画像及び影集合A画像を、AND領域抽出手段15から対象物画像及び影集合B画像に基づく3次元格子量子化データをそれぞれ入力する。そして、影集合A画像から影集合Aの輪郭を抽出し、その抽出した輪郭内の画素について領域を分解してラベリングする(ステップS207)。
【0035】
具体的には、影集合A画像において各画素の輝度値を微分し、近隣の画素における微分値の差と予め設定されたしきい値とを比較し、微分値が大きく変化する画素の箇所を影集合Aの輪郭として抽出する。そして、その輪郭内部において各領域に分解してラベリングする。図11は、領域分解された影集合Aを説明する図である。図11において、影集合Aは、1〜9の番号にラベリングされた9つの領域に分解されている。
【0036】
(8)影集合の分離
また、影集合分離手段16は、AND領域抽出手段15から入力した対象物画像及び影集合B画像に基づく3次元格子量子化データに対し、光源102−1〜4のうちの1つの光源からそれぞれ仮想的に光をあてた場合の、光源毎の影座標(影の世界座標)を生成する(ステップS208)。
【0037】
具体的には、まず、対象物画像及び影集合B画像に基づく3次元格子量子化データ(XMODEL,YMODEL,ZMODEL)に対し、光源102−1〜4のうちの1つの光源からそれぞれ仮想的に光をあてた場合の仮想影a〜dの世界座標(xvirtual_shadow_N,yvirtual_shadow_N,zvirtual_shadow_N)を、以下の(9)式により求める。
【数7】
【0038】
図12は、(9)式により求めた仮想影画像を示す図である。仮想影aは光源102−1から仮想的に光をあてた場合の影であり、同様に、仮想影b,c,dは光源102−2,3,4からそれぞれ仮想的に光をあてた場合の影である。
【0039】
そして、仮想影a〜dの世界座標と、影集合分離手段16により領域分解された影集合Aの世界座標とを用いて、仮想影a〜bと領域分解された影集合Aとの間でAND演算を行い、それぞれAND領域を抽出する。ここで、影集合分離手段16により領域分解された影集合Aの世界座標は、前述の(6)式に示したように、影集合Aび2次元の画像座標及び前述の(1)〜(3)式のカメラパラメータに基づいて求められる。
【0040】
また、抽出したAND領域の画素数、及び影集合分離手段16により分解された領域毎の画素数をそれぞれ求め、その分解領域の画像数におけるAND領域の画素数の割合が予め設定されたしきい値以上の場合に、その分解領域におけるAND領域を対象物100の影とする。また、対象物100により隠れてしまう欠損を補うために、対象物画像を用いてその対象物100を前述の影に加える。これにより、光源102−1〜4に対応した影を影集合Aから抽出することができ、対象物100を加えた光源毎の影座標(xshadow_N,yshadow_N,zshadow_N)を得ることができる。ここで、対象物100の世界座標は、前述の(6)式に示したように、対象物の2次元の画像画像及び前述の(1)〜(3)式のカメラパラメータに基づいて求められる。
【0041】
図13は、影集合Aの分離の流れを説明する図である。図13に示すように、領域分解された影集合A及び仮想影dによるAND演算、さらには分解領域毎にしきい値処理が施されてAND領域が得られ、それに対象物100が加えられて、光源102−4の影座標(xshadow_4,yshadow_4,zshadow_4)が得られる。同様にして、図14に示すように、光源102−1,2,3の影座標(xshadow_1,yshadow_1,zshadow_1),(xshadow_2,yshadow_2,zshadow_2),(xshadow_3,yshadow_3,zshadow_3)がそれぞれ得られる。
【0042】
(9)光源と影によるシルエット法
3次元格子量子化データ生成手段17は、影集合分離手段16から光源毎の影座標を入力し、シルエット法により、光源及び影に基づく光源毎の3次元格子量子化データを生成する(ステップS209)。
【0043】
具体的には、影座標(影の世界座標)(xshadow_N,yshadow_N,zshadow_N)と光源102−1〜4の世界座標(Xlight_N,Ylight_N,Zlight_N)とを結ぶ直線の式を、以下の(10)式により求める。また、この直線とボクセル空間におけるボクセルとの間の交点を以下の(11)式により求める。このシルエット法による処理を、影座標を構成する全ての画素に対して行い、対象物100が存在すると考えられる、光源及び影に基づく光源毎の3次元格子量子化データ(Xshadow_N,Yshadow_N,Zshadow_N)を生成する。
【数8】
【数9】
【0044】
図15は、光源と影によるシルエット法を説明する図である。図15の左図が光源102−1に対して前述の処理を行った様子を真上から見た図であり、右図が斜め上から見た図である。左図では太線で囲まれた領域、右図では光源102−1から伸びた錐体のうちのボクセル空間に含まれる領域(ボクセル空間内にあり、かつ光源102−1と影aとを結ぶ直線の集合)が、光源102−1及び影aに基づく3次元格子量子化データ(Xshadow_1,Yshadow_1,Zshadow_1)である。同様にして、光源102−2から伸びた錐体のうちのボクセル空間に含まれる領域(ボクセル空間内にあり、かつ光源102−2と影bとを結ぶ直線の集合)が、光源102−2及び影bに基づく3次元格子量子化データ(Xshadow_2,Yshadow_2,Zshadow_2)である。光源102−3及び影cに基づく3次元格子量子化データ(Xshadow_3,Yshadow_3,Zshadow_3)、光源102−4及び影dに基づく3次元格子量子化データ(Xshadow_4,Yshadow_4,Zshadow_4)についても同様である。対象物100は、この光源及び影に基づく光源毎の3次元格子量子化データ(Xshadow_N,Yshadow_N,Zshadow_N)の領域内に存在する。
【0045】
(10)影集合分離後のAND領域の抽出
AND領域抽出手段18は、3次元格子量子化データ生成手段17から光源及び影に基づく光源毎の3次元格子量子化データを、3次元格子量子化データ生成手段13から対象物画像に基づく3次元格子量子化データをそれぞれ入力し、これら5つの3次元格子量子化データでAND演算を行い、対象物100の3次元格子量子化データ(Xmodel,Ymodel,Zmodel)を生成する(ステップS210)。
【0046】
図16は、影集合分離後のAND領域を説明する図であり、前述のAND演算を行った様子を真上から見た図である。図16において太線で囲まれた領域が、対象物100の3次元格子量子化データ(Xmodel,Ymodel,Zmodel)である。図16に示した影集合分離後のAND領域と、図10に示した影集合分離前のAND領域とを比較すると、図16のAND領域の方が対象物100である球の形状に近いことがわかる。
【0047】
このように、影集合Aから各光源102−1〜4に対応した影a〜dを分離し、その影によるシルエット法を用いることにより、対象物100である球に近いAND領域を得ることができる。つまり、一層正確な対象物100の3次元格子量子化データを得ることができる。
【0048】
(11)表面形状の復元
表面形状復元手段19は、AND領域抽出手段18から対象物100の3次元格子量子化データを入力し、離散的MC(Marching Cubes)法を用いて、対象物100の面を構成して表面形状を復元し、3次元形状データを生成する(ステップS211)。
【0049】
以上のように、本発明の実施の形態による3次元形状復元装置1によれば、1台のカメラ101により撮影された対象物100及びその影の画像の画像から、対象物100の3次元形状を復元することができる。
【0050】
また、本発明の実施の形態による3次元形状復元装置1によれば、対象物100の影の画像から、光源102−1〜4に対応したそれぞれの対象物100の影を分離して抽出する。そして、光源102−1〜4に対応したそれぞれの対象物100の影から、一層精度の高い対象物100の3次元形状を復元することができる。
【0051】
つまり、3次元形状復元装置1が、1台のカメラ101により3次元形状を復元することができるから、複数台のカメラを用いる必要がない。また、ユーザは、復元された3次元形状を好きな位置や角度から鑑賞することができるから、視点の自由度が小さいという従来の問題を解決することができる。また、複数台のカメラを用いて前述の処理を行うことにより、さらに一層精度の高い対象物100の3次元形状を復元することができる。
【0052】
以上、実施の形態を挙げて本発明を説明したが、本発明は上記実施の形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、上記実施の形態では、対象物・影集合分離手段12が、クロマキー処理により、対象物撮影画像から対象物画像及び影集合A画像を抽出するようにしたが、クロマキー処理に限定されるものではない。要するに、対象物撮影画像から対象物画像及び影集合A画像を抽出する処理であれば何でもよい。
【0053】
また、3次元格子量子化データ生成手段13,14,17が、ボクセル空間を用いたシルエット法により、3次元格子量子化データを生成するようにしたが、シルエット法に限定されるものではなく、3次元格子量子化データを生成する手法であれば何でもよい。
【図面の簡単な説明】
【0054】
【図1】本発明の実施の形態における照明空間を説明する図である。
【図2】本発明の実施の形態による3次元形状復元処理のフローチャートを示す図である。
【図3】カメラキャリブレーションパターン撮影画像を示す図である。
【図4】対象物撮影画像を示す図である。
【図5】対象物画像を示す図である。
【図6】影集合A画像を示す図である。
【図7】影集合B画像を示す図である。
【図8】カメラと対象物によるシルエット法を説明する図である。
【図9】光源と影集合Bによるシルエット法を説明する図である。
【図10】影集合分離前のAND領域を説明する図である。
【図11】領域分解された影集合Aを説明する図である。
【図12】仮想影画像を示す図である。
【図13】影集合Aの分離の流れを説明する図である。
【図14】影画像を示す図である。
【図15】光源と影によるシルエット法を説明する図である。
【図16】影集合分離後のAND領域を説明する図である。
【図17】本発明の実施の形態による3次元形状復元装置の構成を説明するブロック図である。
【符号の説明】
【0055】
1 3次元形状復元装置
11 カメラパラメータ算出手段
12 対象物・影集合分離手段
13,14,17 3次元格子量子化データ生成手段
15,18 AND領域抽出手段
16 影集合分離手段
19 表面形状復元手段
100 対象物
101 カメラ
102 光源
【特許請求の範囲】
【請求項1】
対象物を含む画像から対象物の3次元形状を復元する3次元形状復元装置において、
複数の光源により構成された照明空間内で1台のカメラにより撮影されたカメラキャリブレーションパターンの画像を入力し、該カメラキャリブレーションパターン画像からカメラパラメータを算出するカメラパラメータ算出手段と、
前記照明空間内で1台のカメラにより撮影された対象物及びその影を含む対象物撮影画像を入力し、該対象物撮影画像から前記対象物の画像及び前記対象物の影のみから成る影集合画像を分離し、前記対象物撮影画像における対象物の2次元画像領域及び影集合の2次元画像領域を求める対象物・影集合分離手段と、
該対象物・影集合分離手段により求められた対象物の2次元画像領域、及び前記カメラパラメータ算出手段により算出されたカメラパラメータを用いて、対象物画像に基づく3次元立体領域を生成する第1の3次元データ生成手段と、
前記対象物・影集合分離手段により求められた影集合の2次元画像領域、及び前記カメラパラメータ算出手段により算出されたカメラパラメータを用いて、影集合画像に基づく前記光源に対応したそれぞれの3次元立体領域を生成する第2の3次元データ生成手段と、
前記第1の3次元データ生成手段により生成された対象物画像に基づく3次元立体領域、及び第2の3次元データ生成手段により生成された影集合画像に基づく光源に対応したそれぞれの3次元立体領域について、これらの3次元立体領域のデータに論理積の演算を施し、対象物画像及び影集合画像に基づく3次元立体領域を生成する第3の3次元データ生成手段とを備え、
該第3の3次元データ生成手段により生成された3次元立体領域から3次元形状を復元することを特徴とする3次元形状復元装置。
【請求項2】
請求項1に記載の3次元形状復元装置において、
さらに、前記第3の3次元データ生成手段により生成された3次元立体領域、及び前記光源の世界座標を用いて、前記光源から光をあてた場合の仮想影を光源毎に生成して3次元平面領域を求め、該光源毎の仮想影の3次元平面領域、及び前記影集合の2次元画像領域に対応する3次元平面領域を用いて、光源毎の影の3次元平面領域を生成する第4の3次元データ生成手段と、
該第4の3次元データ生成手段により生成された光源毎の影の3次元平面領域、及び前記光源の世界座標を用いて、光源及び影に基づく光源に対応したそれぞれの3次元立体領域を生成する第5の3次元データ生成手段と、
前記第1の3次元データ生成手段により生成された対象物画像に基づく3次元立体領域、及び第5の3次元データ生成手段により生成された光源及び影に基づく光源に対応したそれぞれの3次元立体領域を用いて、これらの3次元立体領域のデータに論理積の演算を施し、対象物の3次元立体領域を生成する第6の3次元データ生成手段とを備え、
該第6の3次元データ生成手段により生成された3次元立体領域から3次元形状を復元することを特徴とする3次元形状復元装置。
【請求項3】
請求項1または2に記載の3次元形状復元装置において、
前記対象物・影集合分離手段が、クロマキー処理により、対象物撮影画像から対象物画像及び影集合画像を分離することを特徴とする3次元形状復元装置。
【請求項4】
請求項1または2に記載の3次元形状復元装置において、
前記第1、第2及び第5の3次元データ生成手段が、対象物を囲むボクセル空間の世界座標を用いたシルエット法により、それぞれ3次元立体領域を生成することを特徴とする3次元形状復元装置。
【請求項5】
請求項1から4までのいずれか一項に記載の3次元形状復元装置において、
前記第4の3次元データ生成手段が、対象物・影集合分離手段により求められた影集合の2次元画像からその輪郭を抽出し、該抽出した輪郭についてその内部の画素を所定の領域に分解し、該所定の領域と前記第3の3次元データ生成手段により生成された3次元立体領域を2次元画像に射影した領域とにより論理積の演算を施し、光源毎の影の3次元平面領域を生成することを特徴とする3次元形状復元装置。
【請求項1】
対象物を含む画像から対象物の3次元形状を復元する3次元形状復元装置において、
複数の光源により構成された照明空間内で1台のカメラにより撮影されたカメラキャリブレーションパターンの画像を入力し、該カメラキャリブレーションパターン画像からカメラパラメータを算出するカメラパラメータ算出手段と、
前記照明空間内で1台のカメラにより撮影された対象物及びその影を含む対象物撮影画像を入力し、該対象物撮影画像から前記対象物の画像及び前記対象物の影のみから成る影集合画像を分離し、前記対象物撮影画像における対象物の2次元画像領域及び影集合の2次元画像領域を求める対象物・影集合分離手段と、
該対象物・影集合分離手段により求められた対象物の2次元画像領域、及び前記カメラパラメータ算出手段により算出されたカメラパラメータを用いて、対象物画像に基づく3次元立体領域を生成する第1の3次元データ生成手段と、
前記対象物・影集合分離手段により求められた影集合の2次元画像領域、及び前記カメラパラメータ算出手段により算出されたカメラパラメータを用いて、影集合画像に基づく前記光源に対応したそれぞれの3次元立体領域を生成する第2の3次元データ生成手段と、
前記第1の3次元データ生成手段により生成された対象物画像に基づく3次元立体領域、及び第2の3次元データ生成手段により生成された影集合画像に基づく光源に対応したそれぞれの3次元立体領域について、これらの3次元立体領域のデータに論理積の演算を施し、対象物画像及び影集合画像に基づく3次元立体領域を生成する第3の3次元データ生成手段とを備え、
該第3の3次元データ生成手段により生成された3次元立体領域から3次元形状を復元することを特徴とする3次元形状復元装置。
【請求項2】
請求項1に記載の3次元形状復元装置において、
さらに、前記第3の3次元データ生成手段により生成された3次元立体領域、及び前記光源の世界座標を用いて、前記光源から光をあてた場合の仮想影を光源毎に生成して3次元平面領域を求め、該光源毎の仮想影の3次元平面領域、及び前記影集合の2次元画像領域に対応する3次元平面領域を用いて、光源毎の影の3次元平面領域を生成する第4の3次元データ生成手段と、
該第4の3次元データ生成手段により生成された光源毎の影の3次元平面領域、及び前記光源の世界座標を用いて、光源及び影に基づく光源に対応したそれぞれの3次元立体領域を生成する第5の3次元データ生成手段と、
前記第1の3次元データ生成手段により生成された対象物画像に基づく3次元立体領域、及び第5の3次元データ生成手段により生成された光源及び影に基づく光源に対応したそれぞれの3次元立体領域を用いて、これらの3次元立体領域のデータに論理積の演算を施し、対象物の3次元立体領域を生成する第6の3次元データ生成手段とを備え、
該第6の3次元データ生成手段により生成された3次元立体領域から3次元形状を復元することを特徴とする3次元形状復元装置。
【請求項3】
請求項1または2に記載の3次元形状復元装置において、
前記対象物・影集合分離手段が、クロマキー処理により、対象物撮影画像から対象物画像及び影集合画像を分離することを特徴とする3次元形状復元装置。
【請求項4】
請求項1または2に記載の3次元形状復元装置において、
前記第1、第2及び第5の3次元データ生成手段が、対象物を囲むボクセル空間の世界座標を用いたシルエット法により、それぞれ3次元立体領域を生成することを特徴とする3次元形状復元装置。
【請求項5】
請求項1から4までのいずれか一項に記載の3次元形状復元装置において、
前記第4の3次元データ生成手段が、対象物・影集合分離手段により求められた影集合の2次元画像からその輪郭を抽出し、該抽出した輪郭についてその内部の画素を所定の領域に分解し、該所定の領域と前記第3の3次元データ生成手段により生成された3次元立体領域を2次元画像に射影した領域とにより論理積の演算を施し、光源毎の影の3次元平面領域を生成することを特徴とする3次元形状復元装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2008−107877(P2008−107877A)
【公開日】平成20年5月8日(2008.5.8)
【国際特許分類】
【出願番号】特願2006−287222(P2006−287222)
【出願日】平成18年10月23日(2006.10.23)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2006年8月1日 社団法人映像情報メディア学会発行のCD(Compact Disk)により「2006年映像情報メディア学会年次大会(ITE Annual Convention 2006)」にて、文書をもって発表
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】
【公開日】平成20年5月8日(2008.5.8)
【国際特許分類】
【出願日】平成18年10月23日(2006.10.23)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2006年8月1日 社団法人映像情報メディア学会発行のCD(Compact Disk)により「2006年映像情報メディア学会年次大会(ITE Annual Convention 2006)」にて、文書をもって発表
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】
[ Back to top ]