JP5711702B2 - 投影型3次元形状復元装置、投影型3次元形状復元方法及び投影型3次元形状復元プログラム - Google Patents
投影型3次元形状復元装置、投影型3次元形状復元方法及び投影型3次元形状復元プログラム Download PDFInfo
- Publication number
- JP5711702B2 JP5711702B2 JP2012184418A JP2012184418A JP5711702B2 JP 5711702 B2 JP5711702 B2 JP 5711702B2 JP 2012184418 A JP2012184418 A JP 2012184418A JP 2012184418 A JP2012184418 A JP 2012184418A JP 5711702 B2 JP5711702 B2 JP 5711702B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- matrix
- dimensional shape
- projector
- shadow
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title description 17
- 239000011159 matrix material Substances 0.000 claims description 110
- 238000012937 correction Methods 0.000 claims description 41
- 238000005286 illumination Methods 0.000 claims description 31
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000000354 decomposition reaction Methods 0.000 claims description 10
- 239000013598 vector Substances 0.000 description 32
- 230000009466 transformation Effects 0.000 description 28
- 238000012545 processing Methods 0.000 description 26
- 238000004364 calculation method Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 13
- 230000014509 gene expression Effects 0.000 description 11
- 238000013500 data storage Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 239000000047 product Substances 0.000 description 6
- 238000002156 mixing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Description
本発明は、プロジェクタからの投影像をカメラを使って撮影するとき、その複数の時系列画像から、元の3次元形状とその表面テクスチャを同時に復元する投影型3次元形状復元装置、投影型3次元形状復元方法及び投影型3次元形状復元プログラムに関する。
ある被写体を照明して得た陰影画像から元の3次元形状を復元する技術は照度差ステレオ(photometric stereo)として知られている。照度差ステレオについて、その概略を以下に説明する。図7は、照度差ステレオの原理を示す図である。図7は、3次元物体の表面法線と照明の方向を表す方向ベクトルの関係を示している。この図において、物体の表面はLambertian面(任意の方向からの照明に対して等方的に反射する面)であるとし、無限遠に設置した光源によって照明されており(すなわち、平行光によって照明されている)、カメラは正射影によって物体表面の反射光を観測して画像を得ると仮定する。被写体表面の各点からの反射光は、画像上の画素値として観測される。ここでは、各画素の位置を表現するため、便宜上、画像上の座標を指すためのサフィックスjを使う。
図7の観測画像は横×縦のサイズがM×N画素であるとした場合、画像上の1画素はサフィックスjによって順番j=1,2,…,P(=MN)が付与されるので、j番目の画素に対応する被写体上の表面の法線ベクトルをnjとする。この物体に対して、それぞれ異なる方向からの照明光によって被写体を照明する。照明の方向を表すサフィックスとしてi∈{1,2,…,F}を使い、i番目の光源からの照明を方向ベクトルliで表現する。i番目の照明によってj番目の法線の箇所が照らされるとき、正射影のカメラによって、画像上では、その画素値、
を観測する。ここで、ρj(λ)はj番目の画素に対応する物体表面の反射分布であり、λは波長を表す。ω(λ)は入射光のスペクトル分布を表し、 ̄ν(λ)( ̄はνの上に付く)はカメラのνチャネルのスペクトル感度分布を表す。
式(1)において、括弧で囲んだ積分項は表面法線と照明の方向ベクトルとは無関係なのでνjで表すことにする。νjはアルベド(albedo)と呼ばれており、通常、被写体は一定のアルベドを有すると考えて、νj=νとおく。従来の照度差ステレオとは、式(1)に基づきカメラ観測値Cνijから被写体の表面を表す法線ベクトルnjを復元する方法である。その代表的な方法を以下に説明する。
照明方向を変えながら、逐次、カメラを使って陰影画像を観測したとすると、上記の説明に従えば、Fフレームの画像を得る。従来方法では濃淡画像から3次元形状を復元するため、このうち緑チャネル(ν=g)の画像を扱う。各フレームの緑チャネルの各画素を、画像データ行列(image data matrix)と呼ばれる行列形式に並べて、
を用意する。通常、被写体のアルベドは一定と考えるためν=1とする。
行列IはP×Fの行列サイズとなる。観測する画像の枚数が増えたり、あるいは各画像サイズが大きくなると、行列Iの行列サイズも大きくなる。ところで、式(2)の行列要素は、式(1)に示したように被写体の表面法線と照明の方向ベクトルの内積で表現できるため、式(2)の行列は、
と記述することができる。すなわち、観測する画像の枚数が増えたり、あるいは各画像サイズが大きくなったとしても、行列NはP×3の行列、行列Lは3×Fの行列であるため、行列Iのランクはたかだか3である。
この行列のランクに着目して、画像データ行列Iから法線を集めた行列Nと照明の方向ベクトルを集めた行列Lを同時に推定する方法が知られている(例えば、非特許文献1参照)。さらに、行列Nの行列要素(それぞれの法線)から、経路積分計算を使って物体表面の3次元形状を復元することができる。
照度差ステレオでは環境光は雑音となるため、暗室空間の中で被写体を照明する。これに対して、照明光にプロジェクタを使ったプロジェクタ・カメラシステムが知られている。プロジェクタ・カメラシステムは、様々な用途に利用されている。例えば、会議や学会発表でのプレゼンテーションにプロジェクタを利用する以外に、ヒューマンインタラクションや拡張現実感の表示システムとしても利用でき、近年ではHDR(High Dynamic Range)画像を表示するアプリケーションとしても期待されている。
プロジェクタ・カメラシステムでは、所定の画像を得るようにプロジェクタから投影する画像のRGB輝度を補正する。従来の輝度補正とは、プロジェクタからのRGB輝度値とカメラで観測されたRGB輝度値間の相関関係に着目し、カラー混合行列(Color Mixing Matrix)と呼ばれる3×3の行列Vを使って、所定のRGB輝度値C=(CR,CG,CB)をカメラが観測するようにプロジェクタからのRGB出力値P=(PR,PG,PB)を補正する。
H. Hayakawa:"Photometric stereo under a light source with arbitrary motion", Journal of the Optical Society of America A vol.11, no.11, pp.3079-3089, 1994.
K. Fujii, M. D. Grossberg, and S. K. Nayar: "A Projector-Camera System with Real-Time Photometric Adaptation for Dynamic Environments", Proc. of IEEE Computer Vision and Pattern Recognition (CVPR), vol.1, pp.814-821, 2005.
一般に、非特許文献1に代表される照度差ステレオでは、図7に示すように無限遠光源で被写体を照明することを前提とする。さらに、環境光は雑音となるため、暗室の中で照明された被写体を撮影する必要がある。従来技術(非特許文献1)では、カメラ観測で得た3チャネルの画像を全て使う必要はなく、画像の濃淡情報を最も反映するGチャネルの画像を使って3次元形状を復元する。これに対して、プロジェクタ・カメラシステムにおいては、蛍光灯などのプロジェクタ投影光以外の環境光を考慮する必要がある。
図8は、プロジェクタ・カメラシステムを使用した陰影画像投影を示す図である。図8に示すように、プロジェクタ・カメラシステムでは、スクリーンの前には被写体が存在しないが、図7に示すカメラ観測で得られる同様の画像を観測する。すなわち、被写体の3次元形状とその表面テクスチャが何らかの手段によって与えられたとき、照度差ステレオの原理によって再び3次元形状とその表面テクスチャを復元できるように、時系列画像を自動生成してプロジェクタからスクリーンなどの平面へ画像を投影する。そして、照度差ステレオにおいて、画像雑音に対してロバストに3次元形状を復元する必要がある。
上記照度差ステレオにおいて、式(3)の行列分解では、
なる線形変換行列Qの不定性が残る。3×3の線形変換行列Qを決定しないと、行列Iから一意に行列分解することはできない。非特許文献1では、物体表面(N)に関する拘束条件を課して線形変換行列Qを算出している。
しかしながら、プロジェクタ・カメラシステムを使って平面なスクリーン上に陰影画像を投影する際には、物体表面に関する拘束条件を利用できないという問題がある。さらに、非特許文献1において物体表面の拘束性は理想的であるため、実際の凸形状物体では当てはまらないことが多い。
本発明は、このような事情に鑑みてなされたもので、プロジェクタ・カメラシステムを活用する際に、ロバストな拘束条件を使用して、プロジェクタから投影された画像から元の3次元形状を復元することができる投影型3次元形状復元装置、投影型3次元形状復元方法及び投影型3次元形状復元プログラムを提供することを目的とする。
本発明は、プロジェクタによって投影すべき物体の画像に対して、前記物体の3次元形状と、該物体を照明する照明の方向情報とから照度差ステレオの原理に基づき生成した前記物体の陰影画像を生成する陰影画像生成手段と、前記陰影画像を所定の矩形面に投影する前記プロジェクタに対して出力する画像出力手段と、前記矩形面に投影された前記陰影画像がカメラによって撮像されることにより生成された撮像画像を得る画像入力手段と、前記撮像画像から生成した画像データ行列を行列分解することにより仮の表面法線行列と仮の光源方向行列とに分解し、前記仮の表面法線行列に対して線形変換行列を用いて線形変換を行うことによって表面法線行列を求め、該表面法線行列に基づき前記物体の3次元形状を復元する3次元形状復元手段とを備えたことを特徴とする。
本発明は、前記プロジェクタと前記矩形面との間の平面射影変換を用いて、前記陰影画像の幾何歪みを補正する第1の平面射影補正手段と、前記矩形面と前記カメラとの間の平面射影変換を用いて、前記撮像画像の幾何歪みを補正する第2の平面射影補正手段とをさらに備えたことを特徴とする。
本発明は、プロジェクタによって投影すべき物体の画像に対して、前記物体の3次元形状と、該物体を照明する照明の方向情報とから照度差ステレオの原理に基づき生成した前記物体の陰影画像を生成する陰影画像生成ステップと、前記陰影画像を所定の矩形面に投影する前記プロジェクタに対して出力する画像出力ステップと、前記矩形面に投影された前記陰影画像がカメラによって撮像されることにより生成された撮像画像を得る画像入力ステップと、前記撮像画像から生成した画像データ行列を行列分解することにより仮の表面法線行列と仮の光源方向行列とに分解し、前記仮の表面法線行列に対して線形変換行列を用いて線形変換を行うことによって表面法線行列を求め、該表面法線行列に基づき前記物体の3次元形状を復元する3次元形状復元ステップとを有することを特徴とする。
本発明は、コンピュータを、前記投影型3次元形状復元装置として機能させるための投影型3次元形状復元プログラムである。
本発明によれば、プロジェクタ・カメラシステムを使った映像投影において、スクリーン平面上にあたかも3次元物体が存在するかのように陰影画像を提示することができる。また、カメラ観測で得た陰影情報から物体の3次元形状とそのテクスチャ画像を同時に復元できるため、その立体情報を使った拡張現実や映像コミュニケーションを実現することが可能になるという効果が得られる。
以下、図面を参照して、本発明の一実施形態による投影型3次元形状復元装置を説明する。図1は同実施形態の構成を示すブロック図である。この図において、符号1は、画像を投影するプロジェクタである。符号2は、テクスチャ付き3次元データが予め記憶されたテクスチャ付き3次元データ記憶部である。符号3は、画像を送信する画像送信部である。符号31は、テクスチャ付き3次元データ記憶部2から取り出したテクスチャ付き3次元データと照明の方向情報から照度差ステレオの原理に基づいて、新たな陰影画像列を生成する陰影画像生成部である。符号32は、陰影画像生成部31が生成した陰影画像をスクリーン等の所定の矩形面に投影するために、プロジェクタ1とスクリーン平面間の平面射影変換を使って、用途に応じて観測画像の幾何歪みを補正する平面射影補正部である。符号33は、所定の画像を観測できるように生成した陰影画像の輝度を補正して、プロジェクタ1へ出力する画像出力部である。
符号4は、プロジェクタ1によって投影された画像を撮像するカメラである。符号5は、画像を受信する画像受信部である。符号51は、カメラ4から出力する画像データを入力する画像入力部である。符号52は、スクリーン平面とカメラ4間の平面射影変換を使って、用途に応じて観測画像の幾何歪みを補正する平面射影補正部である。符号53は、平面射影補正部52から出力する画像列から物体の3次元形状データとそのテクスチャ画像を復元する3次元形状復元部である。
図1に示す装置構成は、プロジェクタ1と接続された画像送信部3と、カメラ4と接続された画像受信部5に分かれて構成されており、双方においてデータの交換は行わない構成である。この構成において、プロジェクタ1、カメラ4、テクスチャ付き3次元データ記憶部2は必ずしも構成要素として接続している必要はなく、処理に必要なデータを取得すればよく、陰影画像生成部31、平面射影補正部32、画像出力部33からそれぞれの矢印のデータの流れ、並びに、画像入力部51、平面射影補正部52、3次元形状復元部53からそれぞれの矢印のデータの流れは、ハードディスク、RAID装置、CD−ROMなどの記録媒体を利用する形態、または、ネットワークを介してリモートなデータ資源を利用する形態でもどちらでも構わない。
次に、図2を参照して、図1に示す画像送信部3の処理動作を説明する。図2は、図1に示す画像送信部3の処理動作を示すフローチャートである。まず、陰影画像生成部31は、テクスチャ付き3次元データ記憶部2からテクスチャ付き3次元データを入力する(ステップS1)。また、陰影画像生成部31は、生成された照明データを入力する(ステップS2)。そして、陰影画像生成部31は、テクスチャ付き3次元データと照明データ(照明方向のデータ)とから陰影画像を生成する(ステップS3)。
次に、平面射影補正部32は、陰影画像生成部31から出力する陰影画像をスクリーン等の所定の矩形面に投影するために、プロジェクタ1とスクリーン平面間の平面射影変換を使って、用途に応じて観測画像の幾何歪みを補正する(ステップS4)。続いて、画像出力部33は、平面射影補正部32から出力する平面射影変換後の陰影画像の輝度を補正する(ステップS5)。そして、画像出力部33は、輝度補正後の陰影画像をプロジェクタ1に対して出力する(ステップS6)。画像送信部3は、この処理動作を処理の停止命令が出されない限り、照明の方向情報を変えて(ステップS2)、陰影画像を逐次生成(ステップS3〜S5)し、生成された陰影画像をプロジェクタ1へ出力する(ステップS6)という処理動作を繰り返す(ステップS7)。
次に、図3を参照して、図1に示す画像受信部5の処理動作を説明する。図5は、図1に示す画像受信部5の処理動作を示すフローチャートである。まず、画像入力部51は、カメラ4において撮像(観測)されて出力された時系列画像を入力する(ステップS11)。続いて、平面射影補正部52は、スクリーン平面とカメラ4間の平面射影変換を使って、用途に応じて観測画像の幾何歪みを補正した画像を出力する(ステップS12)。
次に、画像入力部51と平面射影補正部52は、所定枚数の画像が得られるまで、画像の入力と平面射影変換の処理を繰り返す(ステップS13)。そして、所定枚数の画像が得られた時点で、3次元形状復元部53は、平面射影補正部52から出力する画像列から物体の3次元形状データとそのテクスチャ画像を復元する(ステップS14)。
次に、図4を参照して、図1に示す陰影画像生成部31の処理動作の詳細を説明する。図4は、図1に示す陰影画像生成部31の処理動作を示すフローチャートである。陰影画像生成部31は、テクスチャ付き3次元データ記憶部2からテクスチャ付きの3次元形状データを取り出して、式(1)の画像照度の式に基づいて陰影画像を生成する。陰影画像生成部31は、処理を開始すると、カウンタ値iを1に初期化する(ステップS21)。そして、陰影画像生成部31は、現時点でのカウンタ値iが偶数か否かを判定する(ステップS22)。カウンタ値iが奇数ならば(i=2k−1、kは自然数)、陰影画像生成部31は、照明データとしてその方向ベクトルl2k−1を与える(ステップS24)。方向ベクトルは半球面座標の1点で表現できるため、その奇数フレームの照明ベクトルl2k−1を、
と与える。ここで、θ2k−1、φ2k−1は球面座標を表現する2つの角度であるが、角θ2k−1をθ2k−1=π/4と固定し、角φ2k−1を乱数を使って−π≦φi<πの範囲内においてランダムに選んでよい。
もし、カウンタ値iが偶数ならば(i=2k)、陰影画像生成部31は、一つ前の奇数フレーム(i=2k−1)での照明ベクトルl2k−1を使って、θ2k=θ2k−1に固定して、φ2k−1の位相をπ/2だけシフトする(ステップS23)。すなわち、偶数フレームの照明ベクトルl2kを、
と与える。
一方、陰影画像生成部31は、物体の3次元形状データとそのテクスチャ画像をテクスチャ付き3次元データ記憶部2から取り出す(ステップS25)。ここでいう3次元形状データとは、格子状に並んだ各点(X,Y)の奥行き値ZがZj=f(Xj,Yj)と与えれているデータであり、格子点の合計数をP個とする。さらに、その物体のテクスチャ画像とは、奥行き値と同時に各点(X,Y)のRGB値が付与されている。3次元形状データはZj=f(Xj,Yj)の関数形であるとき、法線ベクトルnjは、
で表される。
陰影画像生成部31は、法線ベクトルの計算において、3次元形状データからX軸方向とY軸方向の偏微分値を求め、式(10)を使って各座標(j=1,2,…,P)の法線ベクトルnjを算出する(ステップS26)。ここでは、任意の凸形の3次元データを前提とするので、偏微分値
を、
の差分計算により得る。
なお、データの端では、例えば、j=Pのときは
としてデータの整合性をとっておく。この差分計算は、奇数フレームと偶数フレームで同じであるため、全ての格子点について予め計算しておき、奇数フレームまたは偶数フレームでの照明ベクトルとの内積計算の際に、その偏微分値を適宜使う。
次に、陰影画像生成部31は、方向ベクトルliと法線ベクトルnjの内積を計算する(ステップS27)。続いて、陰影画像生成部31は、テクスチャ付き3次元データ記憶部2から取り出しておいた物体のテクスチャ画像から、j番目の画素に対応する画素値(rj,gj,bj)を抽出する。そして、このRGB輝度値に、方向ベクトルliと法線ベクトルnjの内積をかけて、
を陰影画像の画素値(Crij,Cgij,Cbij)とする(ステップS28)。
次に、3次元形状データの各点とテクスチャ画像の各画素は1対1に対応しているとし、全ての画素について、式(15)〜式(17)によりそのRGB輝度値を計算して、陰影画像の各画素を埋めることにより陰影画像を生成する(ステップS29)。
以上の処理を、奇数フレームと偶数フレームを交互に実行し、停止命令が出るまでカウンタ値iを更新しながら(ステップS30、S31)陰影画像の画像系列を生成する。停止命令とは、プロジェクタのスイッチを切った場合や装置の動作そのものを停止することを意味する。以降では、画像系列の陰影画像を時系列画像と呼ぶ。
次に、図5を参照して、図1に示す平面射影補正部32の処理動作の詳細を説明する。図5は、図1に示す平面射影補正部32の処理動作を示すフローチャートである。平面射影補正部32では、プロジェクタ1がスクリーン面上の所定領域を投影するよう、プロジェクタ1に対して出力する時系列画像上の画素とスクリーン面上の所定領域中の点を1対1に対応付けるための射影変換を行う。
ここで、この射影変換処理について説明する。プロジェクタ画面の点の2次元座標を(u,v)、その点がZ=0のXY平面(スクリーン)上に投影されたときの3次元座標を(X,Y,0)とすると、プロジェクタ1と平面間の平面射影変換Hpsによって、
の計算により各画素をそれぞれ対応付けることができる。
さらに、プロジェクタ1から出力する画像の2次元座標(u,v)と時系列画像上の点の2次元座標(u′,v′)と、
の計算により両画素を対応付けることができる。Hipは時系列画像とプロジェクタ画面間の平面射影変換である。これらの平面射影変換は、事前のキャリブレーション作業において、公知の平面射影変換推定方法により得られる。それらのデータは平面射影補正部32において保持されており、平面射影計算の際には必要に応じて利用する。
次に、図5を参照して、処理動作を説明する。まず、陰影画像生成部31において生成した時系列画像が逐次転送されると、平面射影補正部32は、平面射影変換のHpsとHipをロードする(ステップS41)。そして、平面射影補正部32は、時系列画像の画像座標値(u′,v′)に(0,0)をセットして初期化する(ステップS42)。
次に、平面射影補正部32は、ロードしたHpsとHipを使って、式(18)、式(19)に従って画像座標値(u′,v′)からスクリーン面上の座標(X,Y)を算出する(ステップS43)。スクリーン面には所定の枠が設定され、幅が−W/2≦X≦−W/2、高さが−H/2≦Y≦−H/2の範囲であるとする。平面射影補正部32は、算出した座標(X,Y)がこの有効範囲内か否かを判定して(ステップS44)、その有効範囲内の点だと判定された場合は、時系列画像の画像座標値(u′,v′)の画素値(R,G,B)を取り出し(ステップS45)、プロジェクタ画面の2次元座標値(u,v)の画素値にコピーする(ステップS46)。
次に、平面射影補正部32は、時系列画像の画像座標値をu′←u′+1へシフトさせる(ステップS47)。もし、u′が画像幅であった場合は次のラインへ移行してv′←v′+1とシフトさせる。画像座標値をシフトした後、スクリーン面上の座標(X,Y)を再び算出して、有効範囲内か否かを判定する。この処理を全ての画像座標値について処理して、時系列画像の順に平面射影補正画像を生成する。平面射影補正画像は画像出力部33へ逐次転送される。
次に、図1に示す画像出力部33の処理動作の詳細を説明する。画像出力部33は、平面射影補正部32において得られた画像をプロジェクタ1で投影する際、時系列画像と同じ輝度値を有する画像をカメラ4で観測できるようにプロジェクタ1へ出力する画像の輝度を補正する。ここでは、プロジェクタ1への入力輝度と出力輝度の間で線形化作業が行われていることを前提として、カラー混合行列Vと環境光Fを公知の手法(例えば、非特許文献2)を使って算出しておく。
そして、画像出力部33に平面射影補正部32から画像が転送されるたびに、カラー混合行列Vと環境光Fを使って、その画像の各RGB値Cを、
により輝度の補正を行って、プロジェクタ1へ出力する画像の各画素のRGB輝度値Pで与える。この輝度補正を全ての画素値について処理して輝度補正画像を生成する。輝度補正が完了した画像は、逐次、プロジェクタ1へ時系列画像が逐次出力されて、プロジェクタ1はその補正画像をスクリーン面へ投影する。
次に、図1に示す画像入力部51の処理動作の詳細を説明する。画像入力部51はカメラ4等の画像入力手段を利用して画像を取得するものである。カメラ4はプロジェクタ1によって画像が投影されているスクリーン面の一部が欠落することなく、所定の枠を含めて撮像する。画像送信部3から逐次投影されている時系列画像に対して、画像入力部は1フレームずつ画像を取得し、取得した画像は、逐次、平面射影補正部52へ転送する。
次に、図1に示す平面射影補正部52の処理動作の詳細を説明する。平面射影補正部52は、平面射影補正部32の処理と同様の処理を行うものであり、プロジェクタ1をカメラ4に置き換えて、同様に動作する。プロジェクタ画面の点がZ=0のXY平面(スクリーン)上に投影されたときの3次元座標を(X,Y,0)、その投影点をカメラで観測したときの点の2次元座標を(x,y)とすると、スクリーン平面とカメラ間の平面射影変換Hscによって、
の計算により各画素をそれぞれ対応付けることができる。
画像受信側においても、画像送信部3の平面射影変換HpsとHipを保持していれば、それらの平面射影変換を使って、観測した画像座標値(x,y)から時系列画像上の画像座標値(u′,v′)と対応付けることができる。すなわち、カメラ観測した時系列画像は平面射影で変換された画像であるが、平面射影補正部52によって元の時系列画像と同じサイズの画像へ補正することができる。
平面射影補正部52は図5に示す処理動作に従って動作するため、プロジェクタ1をカメラ4に置き換えて説明する。画像入力部51から時系列画像が逐次転送されると、まず、平面射影変換のHsc,Hps,Hipをロードし(ステップS41)、時系列画像の大きさの画像バッファを用意する。その画像サイズは元の時系列画像のサイズと同じとする。時系列画像の画像座標値(u′,v′)に(0,0)をセットして初期化する(ステップS42)。
次に、Hsc,Hps,Hipを使って、式(18)、式(19)、式(21)に従って、(u′,v′)からカメラ観測での2次元座標値(x,y)、並びに、スクリーン面上の座標(X,Y)を算出する(ステップS43)。スクリーン面には所定の枠が設定され、幅が−W/2≦X≦−W/2、高さが−H/2≦Y≦−H/2の範囲であるとする。算出した座標(X,Y)がこの有効範囲内か否かを判定して(ステップS44)、その範囲の点だと判定された場合は、カメラ画面の2次元座標値(x,y)の画素値を取り出し(ステップS45)、元の時系列画像の画像座標値(u′,v′)の画素値(R,G,B)にコピーする(ステップS46)。
次に、時系列画像の画像座標値をu′←u′+1へシフトさせる(ステップS47)。もし、u′が画像幅であった場合は次のラインへ移行してv′←v′+1とシフトさせる。画像座標値をシフトした後、スクリーン面上の座標(X,Y)を再び算出して、範囲内か否かを判定する。この処理を全ての画像座標値について処理して、観測した時系列画像の順に平面射影補正画像を生成する。平面射影補正画像は3次元形状復元部53へ逐次転送される。
次に、図6を参照して、図1に示す3次元形状復元部53の処理動作の詳細を説明する。図6は、図1に示す3次元形状復元部53の処理動作を示すフローチャートである。ここでは、平面射影補正部52から転送された時系列画像が2F枚のフレーム画像とする。Fは整数であり、F=10またはF=20とする。3次元形状復元部53は、画像データ行列と称する入力データ形式を扱うため、3次元形状復元部53の処理動作を説明する前に、画像データ行列とそのランクに基づいた行列分解について補足する。
i番目の照明に関する画像上のj番目の画素(全画素数をPとする)のRGB値を(Crij,Cgij,Cbij)とすると、縦方向に時系列の順に、横方向に画素順に並べて、画像データ行列I:
とする。画像データ行列Iの第1行目から第F行までは奇数フレームの画像のRGB値が画素の順番に並べて、画像データ行列Iの第F+1行目から第2F行までは偶数フレームの画像のRGB値が画素の順番に並べるので、画像データ行列Iは2F×3Pの行列となる。
行列Lは光源方向行列であり、行列Nは各要素がテクスチャ画像の画素値(rj,gj,bj)でスケール倍された表面法線行列である。式(23)〜式(25)により、2F×3Pの行列Iは2F×3の行列Lと3×3Pの行列Nに分解でき、行列Iのランクはたかだか3となる。3次元形状復元部53は、式(23)〜式(25)に示した行列分解に基づいて処理を行う。
まず、3次元形状復元部53は、処理を開始すると、平面射影補正部52から転送された2F枚の時系列画像から、式(22)のデータフォーマットに従った画像データ行列Iを生成する(ステップS51)。この行列を特異値分解により、
と行列分解を行う(ステップS52)。F′は便宜上2F−3と置換している。特異値分解は公開されている数学ライブラリ等を使用する。
仮の行列として得たのは、式(29)の〜L(〜はLの上に付く)は必ずしも式(24)の行列Lと一致しないからである。そこで、3×3の線形変換行列Qを算出し、この線形変換行列Qによって、
の変換を行って、光源方向行列Lと表面法線行列Nを得る必要がある。
ここで、線形変換行列Qを決定するための拘束条件について補足する。奇数フレームの照明方向ベクトルl2k−1は式(8)で与えられ、偶数フレームの照明方向ベクトルl2kは式(9)で与えられるので、式(24)は、
と表現できる。
次に、線形変換行列Qの算出の詳細を説明する。ペアフレームに該当する式(34)〜式(36)は、式(29)と式(31)を使って、
と得られる。式(37)〜式(39)はFフレームにわたって存在し、未知数はQQTであることが分かる。QQTは対称行列となるため、その独立な未知数は6個である。すなわち、式(37)〜式(39)は未知数が6個の連立方程式を構成する。そこで、3F×6サイズの行列Aを用意する。
次に、式(34)〜式(36)の右辺で与えられる定数項としての3F×1の行ベクトル、
を用意する。ただし、α=cos2(θ0)と置換した。すなわち、式(37)〜式(39)から構成される連立方程式は、
となる。
したがって、式(45)から、行ベクトルqは、
の計算で得ることができる。行ベクトルqの各要素を、式(40)のQQTの各要素に代入する。この代入して得た対称行列をBとする。この行列Bから線形変換行列Qを得るには、行列Bを固有値分解して、
を計算する。
次に、3次元形状復元部53は、カウンタ値jに1をセットし(ステップS56)、j≦Pであるかを判定しながら(ステップS57)、表面法線行列Nから表面法線njとそれに対応する画素値(rj,gj,bj)を復元する。説明の便宜上、式(32)で得た表面法線行列Nを、
とする。
各画素に対する表面法線njは式(10)で表すことができるので、行列Nのj番目の画素に該当する3つの行ベクトル:^nrj,^ngj,^nbj(^はnの上に付く)の第3番目の要素は、その画素値(rj,gj,bj)に対応することが明らかである。そこで、ここでは、mT=[0,0,1]のベクトルを用意して、
の内積計算より、画素値(rj,gj,bj)を得る(ステップS58)。
さらに、式(25)が示しているように、行列Nのj番目の3つの行ベクトル:^nrj,^ngj,^nbj(^はnの上に付く)はそれぞれの輝度値rj,gj,bjでスケール倍されている事を利用して、
の計算により、それぞれの画素の表面法線ベクトルnjを計算する(ステップS59)。
そして、3次元形状復元部53は、カウンタ値jを更新しながら(ステップS60)、上記の計算を全ての画素(j=1,2,…,P)に対して行い、全ての点の表面法線ベクトルを得る。
最後に、テクスチャ画像の復元を行う(ステップS61)とともに、求めた表面法線データを入力し(ステップS62)、経路積分によって元の奥行き値Zj=f(Xj,Yj)を復元することにより3次元形状データ復元する(ステップS63)。この計算は一般に公知であるため、ここでは詳細な説明を省略する。
このように、任意の凸形状の3次元形状データとその各点に付随するテクスチャ画像から時系列の陰影画像を生成してプロジェクタで投影したとき、その時系列にカメラ観測で得た画像から元の3次元形状とそのテクスチャ画像を同時に復元することができる。これにより、プロジェクタ・カメラシステムを使った映像投影において、スクリーン平面上にあたかも3次元物体が存在するかのように陰影画像を提示することができる。さらに、カメラ観測で得た陰影情報から物体の3次元形状とそのテクスチャ画像を同時に復元できるため、その立体情報を使った拡張現実や映像コミュニケーションを実現することが可能になる。
なお、図1における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより3次元形状復元処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行っても良い。
プロジェクタの投影画像をカメラで観測し、その複数の観測画像から、投影画像に重畳されている元の3次元形状を復元することが不可欠な用途に適用できる。
1・・・プロジェクタ、2・・・テクスチャ付き3次元データ記憶部、3・・・画像送信部、31・・・陰影画像生成部、32・・・平面射影補正部、33・・・画像出力部、4・・・カメラ、5・・・画像受信部、51・・・画像入力部、52・・・平面射影補正部、53・・・3次元形状復元部
Claims (4)
- プロジェクタによって投影すべき物体の画像に対して、前記物体の3次元形状と、該物体を照明する照明の方向情報とから照度差ステレオの原理に基づき生成した前記物体の陰影画像を生成する陰影画像生成手段と、
前記陰影画像を所定の矩形面に投影する前記プロジェクタに対して出力する画像出力手段と、
前記矩形面に投影された前記陰影画像がカメラによって撮像されることにより生成された撮像画像を得る画像入力手段と、
前記撮像画像から生成した画像データ行列を行列分解することにより仮の表面法線行列と仮の光源方向行列とに分解し、前記仮の表面法線行列に対して線形変換行列を用いて線形変換を行うことによって表面法線行列を求め、該表面法線行列に基づき前記物体の3次元形状を復元する3次元形状復元手段と
を備えたことを特徴とする投影型3次元形状復元装置。 - 前記プロジェクタと前記矩形面との間の平面射影変換を用いて、前記陰影画像の幾何歪みを補正する第1の平面射影補正手段と、
前記矩形面と前記カメラとの間の平面射影変換を用いて、前記撮像画像の幾何歪みを補正する第2の平面射影補正手段と
をさらに備えたことを特徴とする請求項1に記載の投影型3次元形状復元装置。 - プロジェクタによって投影すべき物体の画像に対して、前記物体の3次元形状と、該物体を照明する照明の方向情報とから照度差ステレオの原理に基づき生成した前記物体の陰影画像を生成する陰影画像生成ステップと、
前記陰影画像を所定の矩形面に投影する前記プロジェクタに対して出力する画像出力ステップと、
前記矩形面に投影された前記陰影画像がカメラによって撮像されることにより生成された撮像画像を得る画像入力ステップと、
前記撮像画像から生成した画像データ行列を行列分解することにより仮の表面法線行列と仮の光源方向行列とに分解し、前記仮の表面法線行列に対して線形変換行列を用いて線形変換を行うことによって表面法線行列を求め、該表面法線行列に基づき前記物体の3次元形状を復元する3次元形状復元ステップと
を有することを特徴とする投影型3次元形状復元方法。 - コンピュータを、請求項1または2に記載の投影型3次元形状復元装置として機能させるための投影型3次元形状復元プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012184418A JP5711702B2 (ja) | 2012-08-23 | 2012-08-23 | 投影型3次元形状復元装置、投影型3次元形状復元方法及び投影型3次元形状復元プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012184418A JP5711702B2 (ja) | 2012-08-23 | 2012-08-23 | 投影型3次元形状復元装置、投影型3次元形状復元方法及び投影型3次元形状復元プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014042210A JP2014042210A (ja) | 2014-03-06 |
JP5711702B2 true JP5711702B2 (ja) | 2015-05-07 |
Family
ID=50394126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012184418A Expired - Fee Related JP5711702B2 (ja) | 2012-08-23 | 2012-08-23 | 投影型3次元形状復元装置、投影型3次元形状復元方法及び投影型3次元形状復元プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5711702B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015144209A1 (en) * | 2014-03-25 | 2015-10-01 | Metaio Gmbh | Method and system for representing a virtual object in a view of a real environment |
CN103974048B (zh) * | 2014-04-28 | 2016-05-04 | 京东方科技集团股份有限公司 | 控制可穿戴设备投影的方法及装置、可穿戴设备 |
JP2016086249A (ja) * | 2014-10-23 | 2016-05-19 | カシオ計算機株式会社 | 表示装置、表示制御方法及び表示制御プログラム |
JP6736257B2 (ja) | 2015-04-02 | 2020-08-05 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム |
JP6650986B2 (ja) * | 2018-10-23 | 2020-02-19 | 株式会社キーエンス | 画像検査装置、画像検査方法、画像検査プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0792370B2 (ja) * | 1993-06-02 | 1995-10-09 | 株式会社エイ・ティ・アール人間情報通信研究所 | 物体および光源情報抽出方法とそれを用いた装置 |
JP2001074431A (ja) * | 1999-09-07 | 2001-03-23 | Minolta Co Ltd | 被写体の面の向きの抽出方法、それを用いた3次元データ生成方法及び装置 |
JP2004021373A (ja) * | 2002-06-13 | 2004-01-22 | Matsushita Electric Ind Co Ltd | 物体及び光源情報推定方法並びに物体及び光源情報推定装置 |
JP4469021B2 (ja) * | 2008-07-08 | 2010-05-26 | パナソニック株式会社 | 画像処理方法、画像処理装置、画像処理プログラム、画像合成方法、および画像合成装置 |
-
2012
- 2012-08-23 JP JP2012184418A patent/JP5711702B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014042210A (ja) | 2014-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6722323B2 (ja) | 撮像装置のモデリングおよび校正のためのシステムおよびその方法 | |
JP5711702B2 (ja) | 投影型3次元形状復元装置、投影型3次元形状復元方法及び投影型3次元形状復元プログラム | |
KR102152436B1 (ko) | 3차원 포인트 클라우드 기반의 동적 3차원 모델 생성을 위한 뼈대 정보 처리 시스템 및 방법 | |
JP4965967B2 (ja) | 映像表示システムの調整システム | |
US8160394B2 (en) | Real-time capture and transformation of hemispherical video images to images in rectilinear coordinates | |
JP6521352B2 (ja) | 情報提示システム及び端末 | |
JP6835080B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
KR101801100B1 (ko) | 몰입형 콘텐츠 제작 지원용 영상 제공 장치 및 방법 | |
JP6126519B2 (ja) | 空間投影装置、空間投影方法、空間投影プログラム及び記録媒体 | |
JP2002014611A (ja) | プラネタリウムのまたは球面スクリーンへのビデオ投映方法と装置 | |
JP7474137B2 (ja) | 情報処理装置およびその制御方法 | |
KR101806840B1 (ko) | 다수의 카메라를 이용한 고해상도 360도 동영상 생성 시스템 | |
JP4554231B2 (ja) | 歪みパラメータの生成方法及び映像発生方法並びに歪みパラメータ生成装置及び映像発生装置 | |
CN115002345B (zh) | 一种图像校正方法、装置、电子设备及存储介质 | |
CN109923854B (zh) | 图像处理装置、图像处理方法以及记录介质 | |
JP5841495B2 (ja) | 投影型3次元形状復元装置、投影型3次元形状復元方法、投影型3次元形状復元プログラムおよびそのプログラムを記録した記録媒体 | |
JP5592834B2 (ja) | 光学投影制御装置、光学投影制御方法、及びプログラム | |
JP2005142765A (ja) | 撮像装置及び方法 | |
JP2006323139A (ja) | プロジェクタ・カメラサーバ、及び画像投影方法 | |
JPWO2018088211A1 (ja) | 画像処理装置、画像処理方法、及び、プログラム | |
JP2017215706A (ja) | 映像合成方法、映像取得装置、映像合成装置、映像合成システム及びコンピュータプログラム。 | |
JP2012173858A (ja) | 全方位画像生成方法、画像生成装置およびプログラム | |
WO2022044807A1 (ja) | 情報処理装置および方法 | |
JP6069241B2 (ja) | 空間投影装置及び空間投影プログラム | |
JP6071142B2 (ja) | 画像変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140711 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150303 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150306 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5711702 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |