説明

画像処理装置、画像処理システムおよび画像処理方法

【課題】付加的な撮像装置を搭載することなく、光源が撮像された光源画像を撮像し、光源情報を推定して、画像の高解像度化を実現する。
【解決手段】広角画像撮像部101は広角画像を撮像可能な撮像装置1001を用いて、被写体を自動的に連続して撮像する。撮像装置情報取得部102は撮像が行われたときにおける撮像装置1001の状況を表す撮像装置情報を取得する。光源情報推定部103は撮像された広角画像と取得された撮像装置情報とを用いて、光源の位置、色および照度を含む光源情報を推定し、画像高解像度化部104は推定された光源情報を用いて、撮像された広角画像を高解像度化する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像撮像時の光源の位置、方向、輝度、スペクトル、色などの光源情報を推定する技術、および、推定した光源情報を用いて画像の高解像度化を行う技術に関するものである。
【背景技術】
【0002】
カメラ付き携帯電話やデジタルカメラの普及に伴い、画像処理の重要度が高まってきている。このような画像処理として、例えばデジタルズームとして知られている画像の高解像度化や、Computer−Graphicsで作成された画像を重畳表示する拡張現実など、さまざまなものがある。
【0003】
これらの画像処理は、画像撮像により撮像素子に記録された被写体の「見え」を基に処理が行なわれている。この物体の見えは、光源からの光が被写体表面で反射され、その反射光を撮像素子が受光することで得られる。
【0004】
そのため、光源情報は画像処理において非常に重要である。つまり、光源情報を取得して、画像撮像や画像処理に利用することは非常に効果的である。例えば、特許文献1では、仮想物体を実世界に重畳表示させる際、実世界の光源環境を計測することで、仮想物体上に写り込む照射光による反射光や仮想物体により生成される影を付与する。
【0005】
また、光源情報は、画像処理だけでなく、撮像行為を行う主体者である撮像者が撮像装置で画像を取得する際にも有益である。例えば、特許文献2では、光源位置を検出し、その情報を利用して、順光状態や逆光状態を撮像者に表示することによって、一般の人が特に専門的な知識をもっていない場合でも、光や影を生かした逆光(半逆光)のポートレート写真等を容易に撮像することを可能にしている。
【特許文献1】特開平11−175762号公報
【特許文献2】特開平8−160507号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
このような画像処理を実現するために、光源を撮像した画像、すなわち光源画像が必要である。光源画像は、
(1)被写体とは別方向を撮像し、かつ
(2)全天周に近い、広範囲な画像である
ことが望ましい。これは、以下の理由による。
【0007】
(1)一般的な被写体、例えば人に対して、照明である街灯や室内照明は上方から照射されることが多い。また、被写体と同じ方向に光源がある場合、逆光状態となり、被写体が暗くなる可能性がある。そのため、撮像者は被写体と光源が同じ画像に入ることを避けたがる。
【0008】
(2)光源は、撮像者にとって、どこに何個あるか未知。
【0009】
このため、上述の特許文献1および特許文献2では、光源情報を取得するために、天頂方向に光軸を向け、魚眼レンズを搭載した撮像装置を利用している。
【0010】
しかし、このように魚眼レンズを被写体とは別方向に向けて撮像するためには、被写体を撮像する撮像装置とは別の、第2の撮像装置が必要になる。これは、コストの面で大きな負担となってしまう。また特に、身に付けるカメラであるウェアラブルカメラやカメラ付き携帯電話では、小型化の要望が大きいため、撮像装置を現在よりも増やすことは、大きさの面でも大きな問題となる。
【0011】
さらに、被写体を撮像する撮像装置と光源を撮像する撮像装置が異なるため、2つの撮像装置間での位置合わせ(キャリブレーション)が必要になってしまう。これは、光源情報を推定する上で、被写体と光源との位置関係が特に重要であることに起因する。すなわち、被写体と光源を別個の撮像装置で撮像した場合、これらの対応付けが必要になるが、この操作は非常に煩雑である。
【0012】
前記の問題に鑑み、本発明は、例えばウェアラブルカメラなどの装置において、付加的な撮像装置を搭載することなく、光源が撮像された光源画像を撮像し、光源情報を推定して、画像の高解像度化を実現することを課題とする。
【課題を解決するための手段】
【0013】
本発明は、画像処理装置および方法として、広角画像を撮像可能な撮像装置を用いて、被写体を自動的に連続して撮像し、撮像が行われたときにおける前記撮像装置の状況を表す撮像装置情報を取得し、撮像された広角画像と取得された撮像装置情報とを用いて、光源の位置、色および照度を含む光源情報を推定し、前記広角画像を、推定された光源情報を用いて、高解像度化するものである。
【0014】
本発明によると、被写体を、広角画像を撮像可能な撮像装置を用いて、自動的に連続して撮像するので、撮像された広角画像には、被写体周囲の光源が映る可能性が高くなる。すなわち、被写体画像と併せて、光源画像を得ることができる。そして、撮像された広角画像と、撮像が行われたときの撮像装置情報とを用いて、光源の位置、色および照度を含む光源情報が推定され、推定された光源情報を用いて、前記広角画像が高解像度化される。すなわち、被写体撮像用以外の付加的な撮像装置を搭載することなく、光源画像を取得し、画像の高解像度化を実現することが可能となる。
【発明の効果】
【0015】
本発明によると、本来の目的である被写体撮像用以外の付加的な撮像装置を搭載することなく、被写体周囲の光源画像を撮像することができ、こうして撮像された光源画像から、光源情報を推定することができる。これにより、高倍率のデジタルズーム処理などの多彩な画像処理を実現することができる。
【発明を実施するための最良の形態】
【0016】
本発明の第1態様では、広角画像を撮像可能な撮像装置を用いて、被写体を自動的に連続して撮像する広角画像撮像部と、前記広角画像撮像部によって撮像が行われたときにおける前記撮像装置の状況を表す撮像装置情報を取得する撮像装置情報取得部と、前記広角画像撮像部によって撮像された広角画像と、前記撮像装置情報取得部によって取得された撮像装置情報とを用いて、光源の位置、色および照度を含む光源情報を推定する光源情報推定部と、前記広角画像を、前記光源情報推定部によって推定された光源情報を用いて高解像度化する画像高解像度化部とを備えた画像処理装置を提供する。
【0017】
本発明の第2態様では、前記撮像装置情報取得部は、前記撮像装置に搭載された角度センサの出力、および、前記広角画像撮像部が撮像した画像のうち、少なくともいずれか一方を用いて、前記撮像装置情報を取得するものである前記第1態様の画像処理装置を提供する。
【0018】
本発明の第3態様では、前記広角画像撮像部は、前記撮像装置の画素の露光時間を領域毎に異なる値に設定する前記第1態様の画像処理装置を提供する。
【0019】
本発明の第4態様では、前記広角画像撮像部は、前記撮像装置のレンズの周辺部に対応する領域において、画素の露光時間を、前記レンズの中心部に対応する領域よりも、短く設定する前記第3態様の画像処理装置を提供する。
【0020】
本発明の第5態様では、前記被写体の、表面の法線情報または3次元位置情報を、形状情報として取得する形状情報取得部を備え、前記画像高解像度化部は、前記形状情報取得部によって取得された形状情報を用いて、前記広角画像の高解像度化を行うものである前記第1態様の画像処理装置を提供する。
【0021】
本発明の第6態様では、前記画像高解像度化部は、前記広角画像を拡散反射成分と鏡面反射成分とに分離し、分離した拡散反射成分と鏡面反射成分とを個別に高解像化するものである前記第5態様の画像処理装置を提供する。
【0022】
本発明の第7態様では、前記画像高解像度化部は、前記広角画像をパラメータに分解し、分解したパラメータを個別に高解像化するものである前記第5態様の画像処理装置を提供する。
【0023】
本発明の第8態様では、前記画像高解像度化部は、高解像度化の拡大倍率を画像の領域毎に異なる値に設定する前記第1態様の画像処理装置を提供する。
【0024】
本発明の第9態様では、前記画像高解像度化部は、前記撮像装置のレンズの周辺部に対応する領域において、拡大倍率を前記レンズの中心部に対応する領域よりも高く設定する前記第8態様の画像処理装置を提供する。
【0025】
本発明の第10態様では、前記撮像装置に対する光源環境が変化したか否かを判定する光源環境判定部を備え、前記光源情報推定部は、光源環境が変化したと前記光源環境判定部によって判定されたとき、光源情報の推定を行う前記第1態様の画像処理装置を提供する。
【0026】
本発明の第11態様では、前記光源環境判定部は、前記撮像装置に搭載された角度センサの出力から、前記撮像装置が移動したか否かを判定し、移動したとき、光源環境が変化したと判定する前記第10態様の画像処理装置を提供する。
【0027】
本発明の第12態様では、前記撮像環境判定部は、前記広角画像撮像部が撮像した画像を用いて、前記撮像装置が移動したか否かを判定し、移動したとき、光源環境が変化したと判定する前記第10態様の画像処理装置を提供する。
【0028】
本発明の第13態様では、前記光源情報推定部が光源情報を正確に推定しているか否かを判定する推定光源情報判定部を備え、前記光源情報推定部は、光源情報を正確に推定していないと前記推定光源情報判定部によって判定されたとき、再度、光源情報の推定を行う前記第1態様の画像処理装置を提供する。
【0029】
本発明の第14態様では、前記推定光源情報判定部は、GPS(Global Positioning System)センサの出力と時刻情報とを用いて、太陽光の方向または太陽の位置を推定し、推定した方向または位置を、前記光源情報推定部によって推定された光源情報と対比することによって、判定を行う前記第13態様の画像処理装置を提供する。
【0030】
本発明の第15態様では、前記推定光源情報判定部は、被写体の形状情報と、前記光源情報推定部が推定した光源情報とを用いて、前記被写体の画像を推定し、推定した画像を、前記広角画像撮像部によって撮像された画像と対比することによって、判定を行う前記第13態様の画像処理装置を提供する。
【0031】
本発明の第16態様では、前記推定光源情報判定部は、前記広角画像撮像部によって撮像された画像の色情報を、前記光源情報推定部によって推定された光源の色と対比することによって、判定を行う前記第13態様の画像処理装置を提供する。
【0032】
本発明の第17態様では、画像を高解像度化する画像処理システムとして、前記第1態様の広角画像撮像部および撮像装置情報取得部を有し、前記広角画像撮像部によって撮像された広角画像、および前記撮像装置情報取得部によって取得された撮像装置情報を送信する通信端末と、前記第1態様の光源情報推定部および画像高解像度化部を有し、前記通信端末から送信された前記広角画像および前記撮像装置情報を受信し、前記広角画像を前記光源情報推定部および画像高解像度化部に与えるとともに、前記撮像装置情報を前記光源情報推定部に与えるサーバとを備え、前記通信端末は、前記サーバに、光源情報の推定および画像の高解像度化の内容を指示するものを提供する。
【0033】
本発明の第18態様では、広角画像を撮像可能な撮像装置を用いて、被写体を、自動的に連続して撮像する第1のステップと、前記第1のステップにおいて撮像が行われたときにおける、前記撮像装置の状況を表す撮像装置情報を、取得する第2のステップと、前記第1のステップにおいて撮像した広角画像と、前記第2のステップにおいて取得した撮像装置情報とを用いて、光源の位置、色および照度を含む光源情報を推定する第3のステップと、前記広角画像を、前記第3のステップにおいて推定した光源情報を用いて、高解像度化する第4のステップとを備えた画像処理方法を提供する。
【0034】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【0035】
(第1の実施形態)
図1は本発明の第1の実施形態に係る画像処理装置の構成を示すブロック図である。図1において、101は広角画像を撮像可能な撮像装置1001を用いて、被写体を自動的に連続して撮像する広角画像撮像部、102は広角画像撮像部101によって撮像が行われたとき、撮像装置1001の状況を表す撮像装置情報を取得する撮像装置情報取得部、103は広角画像撮像部101によって撮像された広角画像と撮像装置情報取得部102によって取得された撮像装置情報とを用いて、光源の位置、色および照度を含む光源情報を推定する光源情報推定部、104は広角画像撮像部101によって撮像された広角画像を、光源情報推定部103によって推定された光源情報を用いて、高解像度化する画像高解像度化部である。
【0036】
なおここでは、広角画像撮像部101、撮像装置情報取得部102、光源情報推定部103および画像高解像度化部104は、例えば、CPU1021によってプログラムを実行することによって、実現されるものとする。ただし、これらの機能の全部または一部を、ハードウェアによって実現するようにしてもかまわない。また、メモリ1022は、広角画像撮像部101によって撮像された撮像画像と、撮像装置情報取得部102によって取得された撮像装置情報を格納する。
【0037】
図2は本実施形態に係る画像処理装置が搭載された機器としてのウェアラブルカメラの利用形態を示す模式図である。図2において、撮像行為を行う主体者である撮像者1003は、ウェアラブルカメラ1000を自分の肩に設置している。1017はウェアラブルカメラ1000の撮像装置の光軸方向を示す。図2のように、本実施形態に係る画像処理装置は、ウェアラブルカメラなどに利用されることが有効である。
【0038】
撮像装置1001はCMOSやCCDセンサ等によって構成されており、広角画像が撮像可能なように、例えば魚眼レンズや全周囲カメラ、あるいは焦点距離の短いレンズが搭載されている。また撮像装置1001には、3軸の角度センサ1020が搭載されている。広角画像撮像部101は撮像装置1000を用いて、被写体を自動的に連続して撮像する。すなわち本実施形態では、撮像者が撮像スイッチを押すなどの積極的な操作をすることなく、撮像が連続して実施される。このとき撮像された広角画像には、光源が含まれる可能性が高い。撮像された広角画像は、メモリ1022に格納される。
【0039】
図3は撮像された広角画像を示す模式図である。図3において、撮像装置1001の視野範囲1004には、被写体1018と被写体1018を照射している光源1005とが含まれる。すなわち、撮像装置1001によって撮像された広角画像1006には、光源画素1007および被写体画像1019が映っている。このように、広角に画像を撮像することにより、光源1005と被写体1018を同時に撮像することができる。なお、焦点距離の短いレンズを用いる場合、撮像者が気になっている画像全てを撮像することが望ましい。そのため、はっきりは見えないが物体の存在や動きが気になる視野の領域である誘導視野が撮像できるように、視野角110度以上のレンズを利用することが望ましい。
【0040】
撮像装置情報取得部102は、広角画像撮像部101によって撮像が行われた際の、撮像装置1001の状況を表す撮像装置情報を取得する。具体的には例えば、角度センサ1020の出力と撮像装置1001の焦点距離情報とを、撮像装置情報として取得する。取得された撮像装置情報はメモリ1022に格納される。図4はメモリ1022に保持された情報の一部を示す模式図である。ある撮像画像に対して、角度センサ出力と焦点距離が、撮像装置情報として格納されている。
【0041】
撮像装置1001の姿勢情報は、角度センサ1020の出力を用いて、以下の3x3行列Rlightで表現される。
【数1】

【0042】
撮像装置1001の姿勢情報を表す、この3x3行列Rlightをカメラ姿勢行列と呼ぶ。ここで、(α,β,γ)はカメラに取り付けられたセンサ出力のロール・ピッチ・ヨー角表現での値であり、ある基準点からの動き量で表現される。ロール・ピッチ・ヨー角表現とは、図5に示したように、任意の回転を、z軸周りの回転であるロー、次に、新しいy軸周りの回転であるピッチ、最後に、新しいx軸まわりの回転であるヨーの3段階の回転によって表すものである。
【0043】
また、Rx(α)、Ry(β)、Rz(γ)はロール・ピッチ・ヨー角からx軸回転、y軸回転、z軸回転へ変換する行列であり、次式で表される。
【数2】

【0044】
このような、カメラに取り付けられた角度センサや角速度センサからカメラの姿勢情報を取得する方法は、既存の手法を利用すればよい(例えば、「岡谷貴之、“メカニカルセンサとイメージセンサの融合による3次元形状復元”、情報処理学会研究報告会、2005−CVIM−147、pp.123−130、2005」)。
【0045】
また、撮像装置1001がズーム可能である場合、そのズーム情報も焦点距離情報として取得される。また、撮像装置1001が固定焦点の場合、その焦点距離情報も取得される。焦点距離情報は、画像処理の分野で広く使われているカメラキャリブレーションを行うことにより、取得できる。
【0046】
また、撮像装置情報取得部102は、広角画像撮像部101によって撮像された画像を利用して、撮像装置1001の光軸方向や位置情報等を撮像装置情報として求めてもかまわない。例えば、時刻t1とt2で撮像された画像を利用して、時刻t1とt2間の相対的な位置関係P1とカメラ姿勢行列Rlightを、オプティカルフローを用いて求める。
【0047】
オプティカルフローは、被写体上のある1点に対応する、時間的に連続した2つの画像上の点、すなわち対応点を結ぶベクトルであり、対応点とカメラ動きとの間には幾何学的な拘束式が成り立つ。このため、対応点が一定の条件を満たす場合に、カメラの動きを算出することができる。
【0048】
異なる時刻における撮像装置の相対的な位置関係をオプティカルフローから求める手法としては、例えば8点法と呼ばれる手法が知られている(H. C. Longuet-Higgins, “A computer algorithm for reconstructing a scene from two projections”, Nature, vol.293, pp.133-135, 1981)。この手法は、2画像間の静止した8点以上の対応点の組からカメラ動きを算出するものである。また、このような2画像間の対応点を求める手法は、一般に広く知られた方法であるので、詳細な説明を省略する(例えば、Carlo Tomasi and Takeo Kanade, “Detection and Tracking of Point Features”, Carnegie Mellon University Technical Report, CMU-CS-91-132, April 1991)。
【0049】
光源情報推定部103は、メモリ1022に格納された、広角画像撮像部101が撮像した広角画像と撮像装置情報取得部102が取得した撮像装置情報とを用いて、現在の撮像装置1001に対する光源情報を取得する。この処理について説明する。
【0050】
ここでは、光源の方向を推定するものとする。まず、広角画像において、十分に輝度値の高い画素を、光源を撮像している画素すなわち光源画素として抽出する。図3において、撮像された広角画像1006では、光源1005が撮像されている領域1007の輝度値は非常に高くなる。そこで、閾値処理を利用し、所定の閾値よりも輝度値が高い画素を光源画素として抽出する。
【0051】
こうして求まった光源画素から、光源方向を推定する。この処理には、撮像装置の画素位置(u,v)と画像座標系とよばれる撮像素子上での実寸位置(xf,yf)との関係式が必要である。レンズの歪みなどの影響を考慮すると、画素位置(u,v)と実寸位置(xf,yf)との関係は、次式で求められる。
【数3】

【0052】
ただし、(Cx,Cy)は画素中心位置、sはスケールファクタ、(dx,dy)は撮像素子1画素のサイズ[mm]、Ncxはx方向の撮像素子数、Nfxはx方向の有効画素数、κ1、κ2はレンズの歪みを示す歪みパラメータである。
【0053】
また、図6に示した、撮像装置の焦点位置を原点、その光軸方向をZ軸にとったカメラ座標系(x,y,z)と画像座標系(xf,yf)との関係は、次式で求められる。
【数4】

ここで、fは撮像装置の焦点距離を表している。つまり、カメラパラメータ(Cx,Cy),s,(dx,dy),Ncx,Nfx,f,κ1,κ2が既知であれば、(式1)(式2)により、画素位置(u,v)とカメラ座標系(x,y,z)の変換が可能である。
【0054】
通常、Ncx,Nfxは撮像素子が特定できれば既知であり、また、(Cx,Cy),s,(dx,dy),κ1、κ2、fはいわゆるカメラキャリブレーションを行うことで既知となる(例えば、Roger Y.Tsai, “An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision”, Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, Miami Beach, FL, 1986, pp. 364-374, 1986)。これらのパラメータは、撮像装置の位置や姿勢が変化しても変化しない。このようなパラメータをカメラ内部パラメータとよぶ。
【0055】
そこで、撮像を行う前にカメラキャリブレーションを行い、カメラ内部パラメータ(Cx,Cy),s,(dx,dy),Ncx,Nfx,f,κ1,κ2を特定する。これらの値は、撮像装置購入時に付属されているものを利用しても構わない。また、カメラが固定焦点ではなく、ズーム可能である場合、各ズーム時の焦点距離fを個別に求めておき、必要なときに選択できるようにしておけばよい。そして、焦点距離fを撮像した画像とともに保持しておけばよい。
【0056】
以上の情報を利用して、光源画素から光源方向を推定する。光源画素の画素位置を(ulight,vlight)とすると、光源方向Llightは以下の式で表現できる。
【数5】

ただし、
【数6】

ところで、Llightは光源画素を撮像したときのカメラ座標系で表現されているため、現在のカメラ座標系Lnowで表現しなおす。これは、以下の式で表現できる。
【数7】

ただし、Rlightは光源画素を撮影したときのカメラ姿勢行列、Rnowは現在のカメラ姿勢行列を示している。
【0057】
以上の処理を行うことにより、光源方向ベクトルLnowを推定する。このようにして、光源の方向が推定される。
【0058】
さらに、撮像装置1001が移動することを利用して、光源の方向だけでなく、3次元位置まで求めるようにしても構わない。
【0059】
図7はこの処理を説明するための模式図である。図7において、1001A、1002Aは時刻t=t1における撮像装置と推定された光源方向ベクトル、また、1001B、1002Bは時刻t=t2における撮像装置と推定された光源方向ベクトルを示している。ここで、時刻t1とt2の撮像装置の相対的な位置関係と姿勢がわかっていれば、光源ベクトル1002A、1002Bを延長した交点に光源は存在するはずである。つまり、光源の3次元位置は以下のように求まる。
【0060】
時刻t1における、撮像装置のカメラ姿勢行列、撮像装置の3次元位置、および推定された光源方向ベクトルをそれぞれ、R1、P1、L1とし、時刻t2における、撮像装置のカメラ姿勢行列と推定された光源方向ベクトルをそれぞれ、R2、L2とする。ただし、時刻t2において、撮像装置の位置は原点O(0,0,0)であるとする。このとき、光源位置Plightは次式を満たす。
【数8】

【数9】

ただし、s,mは任意の定数である。もし、すべての推定値が正しく、ノイズが存在していなければ、(式3)と(式4)をsとmに関する連立方程式を解くことによって、光源位置Plightは求まる。しかし、通常はノイズの影響があるため、最小自乗法を利用して、光源位置を求める。
【0061】
まず、以下の関数f(m,s)を考える。
【数10】

ここで、m,sは以下の関係式を満たす。
【数11】

【数12】

つまり、
【数13】

【数14】

よって、(式5)、(式6)をmとsに関する連立方程式として解き、求まったmとsを(式3)または(式4)へ代入することにより、光源位置Plightが求まる。このようにして、光源の位置が推定される。
【0062】
なお、時刻t1における撮像装置の相対的な3次元位置P1(時刻t1とt2における撮像装置の相対的な位置関係)は、上述したように、広角画像撮像部101によって撮像された画像から、オプティカルフローを用いることによって求められる。
【0063】
さらに、光源画素の輝度値やRGB値を求めることによって、光源の輝度や色も求めることができる。また、画像をマルチスペクトルカメラで取得することで、光源のスペクトルを検出するようにしても構わない。このように光源のスペクトルを取得することによって,後述する画像の高解像度化や拡張現実において、色再現性の高い画像が合成できることが知られている(例えば、「内山俊郎, 土田 勝, 山口雅浩, 羽石秀昭, 大山永昭, “マルチスペクトル撮影による光源環境計測とスペクトルに基づく画像生成”, 電子情報通信学会技術研究報告PRMU2005-138, pp.7-12, 2006」)。
【0064】
また、光源情報取得部103は、光源情報として、光源の照度情報を取得するようにしても構わない。これは撮像装置1001と光軸方向の一致した照度計を利用すればよい。照度計としては、光電池にマイクロアンペア計を接続し、入射光によって生じる光電流を読む光電池照度計などを用いればよい。
【0065】
画像高解像度化部104は、広角画像撮像部101が撮像した画像を、光源情報推定部103が推定した光源情報を利用して、高解像度化する。
【0066】
CCDやCMOSのような素子で広角画像を撮像した場合、狭角レンズで撮像した場合に比べて低解像度の画像となってしまう。そこで、本実施形態に係る画像撮像装置では、光源情報推定部103が推定した光源情報などを利用して、被写体の解像度を改善させる。
【0067】
画像高解像度化部104について詳述する。画像の高解像度化はデジタルズームとして知られており、補間を利用する方法、複数枚の画像を利用してカメラの劣化モデルを推定する方法(例えば、「田中正行,奥富正敏,“再構成型超解像処理の高速化アルゴリズムとその精度評価”、電子情報通信学会論文誌D-II,vol.J88-D-II,No.11,pp.2200-2209,2005」など)、学習を利用する方法などを利用すればよい。ここでは、学習を利用した画像の高解像度化処理について説明する。
【0068】
まず、学習を利用した画像の高解像度化処理の概念を説明する。画像高解像度化部104は、以下の4つの入力情報を利用する。
【0069】
○被写体の拡散反射画像
○被写体の鏡面反射画像
○被写体の3次元形状情報
○光源位置・色・照度
【0070】
ここで、拡散反射画像とは、入力画像のうち、マットな反射成分である拡散反射成分のみを画像化したものであり、同様に、鏡面反射画像は、入力画像のうち、てかりである鏡面反射成分のみを画像化したものである。ここで、拡散反射成分とは、光沢の無い物体表面で起こる反射であり、すべての方向に一様に散乱する成分である。一方、鏡面反射成分とは、鏡の面での反射のように、法線に対して入射光の反対方向に強く反射する成分である。2色性反射モデルを仮定すると、物体の輝度は、拡散反射成分と鏡面反射成分との和として表現される。後述するように、鏡面反射画像と拡散反射画像は、例えば偏光フィルタを回転させながら被写体を撮像することで取得することができる。
【0071】
図8(a)は、光源で照射された被写体(タンブラー)を撮像装置で撮像した画像を示している。図の上部にてかりである鏡面反射が現れているのがわかる。一方、図8(b)(c)は、図8(a)の画像を後述する方法で拡散反射画像と鏡面反射画像とに分離した結果である。拡散反射画像はてかりが取り除かれ、表面のテクスチャ情報が鮮明になっているが、立体感が失われている。一方、鏡面反射画像は細かな形状情報が鮮明に現れているが、逆にテクスチャ情報が失われている。つまり、入力画像はこれら全く異なる情報を含んだ二つの画像が重畳されたものであった。画像を拡散反射画像と鏡面反射画像とに分離し、別々に処理することにより、より精細な高解像度化処理が可能である。
【0072】
高解像度化処理には、学習ベースの手法を用いる。学習ベースとは、事前に低解像度と高解像度の画像組を用意し、その対応を学習するものである。この際、用意された画像以外の画像においても高解像度化処理を働かせるために、画像そのものを学習するのではなく、画像から抽出した特徴量を学習する。
【0073】
図9は画像高解像度化部104の構成例を示すブロック図である。図9の画像高解像度化部104は、広角画像撮像部101によって撮像されメモリ1022に格納された広角画像を、光源情報推定部103によって推定された光源情報を用いて、高解像度化する。また、形状情報取得部204は、被写体の表面の法線情報または3次元位置情報を形状情報として取得する。形状情報取得部204によって取得された形状情報は、画像高解像度化部104における画像の高解像度化処理に用いられる。
【0074】
画像高解像度化部104は、与えられた広角画像を拡散反射成分と鏡面反射成分とに分離し、分離した拡散反射成分と鏡面反射成分とを個別に高解像化する。以下、それぞれの処理について説明する。
【0075】
拡散反射・鏡面反射分離部202は、与えられた広角画像を、拡散反射成分と鏡面反射成分とに分離する。
【0076】
まず、物体の反射特性について説明する。2色性反射モデルを仮定すると、物体の輝度は、拡散反射成分と鏡面反射成分との和として以下の式で表現される。
【数15】

ここで、Iは撮像装置が撮像した被写体の輝度値、Iaは環境光成分、Idは拡散反射成分、Isは鏡面反射成分である。ここで、環境光成分とは、光源の光が物体などによって散乱された間接光のことである。これは空間の至る所に散乱され、直接光がとどかない影の部分にもわずかに明るさを与える。そのため、通常はノイズとして取り扱われることが多い。
【0077】
環境光成分は十分に小さく、ノイズとして無視できると考えると、画像は拡散反射成分と鏡面反射成分とに分離できる。上述のように、拡散反射成分がテクスチャ情報に依存するのに対し、鏡面反射画像は細かな形状情報に依存するといったように、これらの成分は非常に異なった特質を示す。そのため、画像を高解像度化するために、入力画像を拡散反射画像と鏡面反射画像とに分離し、それぞれの画像を別々の方法で高解像度化することによって、非常に高精細な高解像度化画像を取得することができる。このため、まずは拡散反射画像と鏡面反射画像とを分離する必要性がある。
【0078】
この分離方法は、従来からさまざまなものが提案されている。例えば、
・鏡面反射と拡散反射の偏光度の違いを利用し、偏光フィルタを用いた方法(例えば、特許第3459981号公報)。
・対象物を回転させ、マルチスペクトルカメラを利用することで鏡面反射領域を分離する方法(例えば、特開2003−85531号公報)。
・様々な方向から光源を当てた対象物の画像を利用し、鏡面反射が生じない理想状態での画像である線形化画像を合成し、その線形化画像を利用して鏡面反射や影領域を分離する方法(例えば、「石井育規,福井孝太郎,向川康博,尺長健,“光学現象の分類に基づく画像の線形化“,情報処理学会論文誌,vol.44,no. SIG5 (CVIM6) ,pp.11-21,2003」)。
などがある。
【0079】
ここでは、偏光フィルタを利用する方法を用いる。図10は本実施形態に係る画像処理装置が搭載されたウェアラブルカメラ1000を示している。図10に示すように、撮像装置1001には回転機構(図示せず)をもった直線偏光フィルタ1009Aが設けられている。また、直線偏光フィルタ1009Bが取り付けられた照明装置1005が設けられている。
【0080】
ここで、直線偏光フィルタ1009Bが取り付けられた照明装置1005に照らされた被写体について、撮像装置1001が、直線偏光フィルタ1009Aを回転機構により回転させながら、複数枚の画像を撮像する。ここで、照明が直線偏光されていることに着目すると、反射光強度は偏光フィルタ1009Aの回転角ψに対して、図11のように変化する。ここで、反射光の拡散反射成分をId、鏡面反射成分をIsとすると、反射光輝度の最大値Imaxと最小値Iminは以下の式で表現される。
【数16】

【数17】

つまり、反射光の拡散反射成分Id、鏡面反射成分Isは、以下の式から求まる。
【数18】

【数19】

【0081】
図12はこの処理の流れを示したものである。まず、回転機構により偏光フィルタ1009Aを回転させ(ステップS301)、画像を撮像し、メモリに保持する(ステップS302)。次に、メモリに保持された画像が、所定の枚数撮像されているかを確認する(ステップS303)。このとき、反射光輝度の最小値と最大値を検出するのに十分な枚数がまだ撮像されていない場合(ステップS303でNo)、偏光フィルタを再度回転させ(ステップS301)、撮像を繰り返す。一方、十分な枚数の撮像ができている場合(ステップS303でYes)、撮像された画像データを利用して、反射光輝度の最小値と最大値を検出し(ステップS304)、(式8)と(式9)を利用することにより、拡散反射成分と鏡面反射成分とを分離する(ステップS305)。この処理は、複数枚の画像から各画素ごとに最小値と最大値を求めても構わないが、ここでは、sin関数のフィッテングを利用する。この処理を説明する。
【0082】
図11に示した偏光フィルタ角ψに対する反射光輝度Iは、以下のように、sin関数で近似できる。
【数20】

ここで、A、B、Cは定数であり、(式8)、(式9)より
【数21】

【数22】

つまり、撮像された画像から、(式10)のA,B,Cを求めることにより、拡散反射成分と鏡面反射成分とを分離することができる。
【0083】
ところで、(式10)は以下のように展開できる。
【数23】

ただし、
【数24】

つまり、以下の評価式を最小にするA,B,Cを求めることで、拡散反射成分と鏡面反射成分とを分離することができる。
【数25】

ただし、Iiは、偏光フィルタ角ψi時の反射光強度を示している。ここで、最小自乗法を用いると、各パラメータは以下のように推定される。
【数26】

【数27】

【数28】

【数29】

【数30】

以上より、(式11)〜(式19)を利用することで、拡散反射成分と鏡面反射成分とを分離する。この場合、未知パラメータが3個であるため、偏光フィルタの回転角を変更した画像を最低3枚撮像すればよい。
【0084】
このため、直線偏光フィルタ1009Aの回転機構を設ける代わりに、画素ごとに偏光方向の異なる撮像装置を利用しても構わない。図13はこのような撮像装置の画素を模式的に示したものである。ここで、1010は各画素を示し、各画素内の直線は偏光方向を示している。すなわち、この撮像装置は0°、45°、90°、135°の4種類の偏光方向を有する画素を持つ。そして、図13の太線1010のように、4種類の画素をベイヤ配列のように1画素として取り扱うことによって、偏光方向が4種類異なった画像を同時に撮像することができる。このような撮像装置は、例えば、フォトニック結晶デバイスなどを利用すればよい。
【0085】
また、照明装置1005として、偏光された照明例えば液晶ディスプレイを利用してもかまわない。例えば、ウェアラブルカメラにインターフェイス用として搭載されている液晶ディスプレイを利用すればよい。
【0086】
もちろん、撮像装置1001の偏光フィルタ1009Aを回転させる代わりに、照明装置1005の偏光フィルタ1009Bを回転させてもかまわない。また、撮像装置1001と照明装置1005の両方に偏光フィルタを設置する代わりに、撮像装置側など片側のみに設置し、独立成分分析を利用して拡散反射成分と鏡面反射成分とを分離させてもかまわない(例えば、特許3459981号公報参照)。
【0087】
形状情報取得部204は、被写体の形状情報である表面の法線情報または、被写体の3次元位置情報を取得する。被写体の形状情報を取得する手段としては、例えば、スリット光投影法、パターン光投影法、レーザレーダ法などの既存の手法を用いればよい。
【0088】
もちろん、形状情報の取得はこれらの手法に限られるものでない。例えば、複数のカメラを利用するステレオ視、カメラの動きを利用するモーションステレオ法、光源の位置を変化させながら撮像した画像を利用する照度差ステレオ法、ミリ波や超音波を利用して被写体との距離を測定する方法、さらには反射光の偏光特性を利用した方法(例えば、米国特許第5,028,138号公報や「宮崎大輔,池内克史,"偏光レイトレーシング法による透明物体の表面形状の推定手法", 電子情報通信学会論文誌D-II,vol. J88-D-II,No.8,pp. 1432-1439,2005」)を用いてもかまわない。ここでは、照度差ステレオ法について説明する。
【0089】
照度差ステレオ法は、光源方向が異なる3枚以上の画像を利用して、被写体の法線方向と反射率を推定する手法である。例えば、「H. Hayakawa, ”Photometric Stereo under a light source with arbitrary motion”, Journal of the Optical Society of America A, vol.11, pp.3079-89, 1994」は、画像上で6点以上の反射率が等しい点を既知情報として取得し、拘束条件として利用することによって、光源の位置情報も未知としながらも、以下のパラメータを推定する手法である。
・被写体情報:画像上の各点の法線方向と反射率
・光源情報:被写体の観察点における光源方向と照度
【0090】
ここでは、前述の拡散反射・鏡面反射分離手法によって分離された拡散反射画像のみを利用した照度差ステレオ法を行う。本来、この手法は被写体が完全拡散反射をしていることを仮定しているため、鏡面反射が存在する被写体では大きな誤差が生じてしまう。しかし、分離した拡散反射画像のみを利用することで、鏡面反射の存在による推定誤差を無くすことができる。もちろん、後述するように、影除去部205で影領域を除去した拡散反射画像で処理を行ってもかまわない。
【0091】
光源方向が異なる拡散反射画像を以下のように輝度行列Idで表現する。
【数31】

ただし、idf(p)は光源方向fの拡散反射画像の画素pにおける輝度値を示している。また、画像の画素数はP画素、異なった光源方向で撮像した画像枚数はF枚である。ところで、ランバーシャンモデルより、拡散反射画像の輝度値は以下のように表現できる。
【数32】

ただし、ρpは画素pの反射率(アルベド)、npは画素pの法線方向ベクトル、tfは光源fの入射照度、Lfは光源fの方向ベクトルを示している。
(式20)、(式21)より以下の式が導かれる。
【数33】

ただし、
【数34】

【数35】

【数36】

【数37】

【数38】

【数39】

ここで、Rは表面反射行列、Nは表面法線行列、Lは光源方向行列、Tは光源強度行列、Sは表面行列、Mは光源行列と呼ぶ。
【0092】
ここで、特異値分解を利用すると、(式22)は以下のように展開できる。
【数40】

【数41】

ただし、
【数42】

であり、Eは単位行列を示している。また、U’はP×3行列、U”はP×(F−3)行列、Σ’は3×3行列、Σ”は(F−3)×(F−3)行列、V’は3×F行列、V”は(F−3)×F行列である。ここで、U”、V”は信号成分であるU’、V’の直交基底、すなわち、ノイズ成分であると考えられる。ここで、特異値分解を利用すると、(式24)は以下のように変形できる。
【数43】

【数44】

【0093】
すなわち、(式25)を解くことにより、形状情報と光源情報を同時に取得することができるが、以下の3×3行列Aの不定性が残る。
【数45】

【数46】

ここで、Aは任意の3×3行列である。形状情報と光源情報を取得するためには、この行列Aを求める必要がある。これは、例えば、画面上の6点以上で反射率が等しいことが既知であればよい。例えば、任意の6点k1〜k6の反射率が等しいとすると、
【数47】

(式23)、(式26)と(式28)より、
【数48】

さらに、
【数49】

とおくと、(式29)は以下のようになる。
【数50】

ここで、(式30)より行列Bは対称行列であるため、行列Bの未知数は6である。すなわち、画面上の6点以上で反射率が等しいことが既知であれば、(式31)は解くことができる。
【0094】
また、行列Bが既知となれば、(式30)に特異値分解を利用することにより、行列Aは解くことができる。
【0095】
さらに、(式26)、(式27)より、形状情報と光源情報を取得する。
【0096】
以上のことより、反射率が等しい6点以上の画素が既知な被写体において、光源方向を変更しながら3枚以上の画像を撮像することにより、以下の情報を得ることができる。
・被写体情報:画像上の各点の法線方向ベクトルと反射率
・光源情報:被写体の観察点における光源方向ベクトルと放射輝度
【0097】
ただし、上記の処理で求まる被写体の反射率と光源の放射輝度は相対的なものであり、絶対値を求めるためには、画面上の6点以上で反射率が既知であるなど、上記とは異なる既知情報が必要となる。
【0098】
また、光源と撮像装置の位置関係が既知の場合、撮像装置と被写体の距離や3次元位置を求めるようにしてもかまわない。これを図を用いて説明する。
【0099】
図14はこの処理を説明するための模式図である。図14において、1001は撮像装置、1005Aおよび1005Bは光源、1012は被写体の観察点O、1002Aおよび1002Bは被写体の観察点Oにおける各光源の光源方向、1013は被写体の観察点Oにおける撮像措置の視線方向を示している。
【0100】
まず、光源と撮像装置との位置関係が既知であるため、撮像装置1001と光源1005A、1005Bの3次元位置関係La、Lbは既知である。また、撮像装置1001はキャリブレーションされているとすると、撮像装置1001の視線方向1013も既知である。このことから、被写体の観察点O1012はこの視線方向1013上に存在する。また、上述の照度差ステレオ法により、被写体の観察点Oにおける各光源の光源方向1002A、1002Bは既知である。撮像装置1001と観察点O1012の距離Lvが正(Lv>0)であるとすると、このような位置関係を満たす観察点Oは、1点しか存在しない。そのため、観察点O1012の位置がわかり、撮像装置1001と観察点O1012との距離Lvが求まる。
【0101】
また、例えばデジタルカメラのフラッシュのように撮像装置に光源が設置されている場合、光源と撮像装置との位置関係は設計情報から求めることができる。
【0102】
また、形状情報取得部204は反射光の偏光特性を利用して、被写体の表面法線方向を取得してもかまわない。この処理について、図15を用いて説明する。
【0103】
図15において、1001は撮像装置、1005は光源、1012は観察点O、1009は回転機構(図示せず)をもった直線偏光フィルタ、1014は法線方向を示している。光源として自然光が照射されている状態において、回転機構によって偏光フィルタ1009を回転させながら撮像を行った場合、その反射光強度は、図16に示したように、周期πのsin関数となる。
【0104】
ここで、この反射光強度の最大値Imaxと最小値Iminを計測する偏光フィルタの角度ψmax、ψminを考える。撮像装置1001と光源1005、観察点O1012を含む平面を入射面とすると、ψmaxは偏光フィルタ1009の偏光方向が入射面に対して垂直な方向、また、ψminは偏光フィルタ1009の偏光方向が入射面に対して平行な方向になることが知られている。
【0105】
また、上述したように、反射光成分において、偏光特性を有するものは観察点Oの表面で反射した鏡面反射成分、非偏光の成分は拡散反射成分である。このことから、反射光強度の最大値Imaxと最小値Iminの強度差が生じる観察点Oは鏡面反射成分が強い観察点、すなわち、光が正反射している(観察点Oの法線方向1014が観察点Oからの光源方向と観察点Oからの撮像装置方向の二等分線方向である)ことがわかる。そのため、法線方向1014も入射面内に存在する。そのため、ψmaxまたはψminを推定することにより、法線方向1014は以下の平面内に存在すると推定することができる。
○撮像装置1001を通り、偏光フィルタ1009の偏光方向ψmin(またはψmaxの垂直方向)を含む平面
【0106】
ここで、ψmaxまたはψminは、上述のsin関数のフィッテング処理を行うことで推定する。
【0107】
また、撮像装置1001の位置を変更させて、同様な処理を行うことによって、法線方向1014を含む、異なった2つの平面を推定することができる。推定した2つの平面の交線を求めることによって、法線方向1014を推定する。この際、撮像装置1001の移動量を推定する必要があるが、これは、前述の8点法などを利用すればよい。
【0108】
もちろん、拡散反射・鏡面反射分離部202と同様に、画素ごとに偏光方向の異なる撮像装置を利用しても構わない。
【0109】
また、もちろん、撮像装置1001の位置を変更させるのではなく、複数台の撮像装置を設置して法線方向1014を求めるようにしても構わない。
【0110】
以上のように、照度差ステレオ法や偏光特性を利用した方法では、表面の法線情報を取得する。一方、スリット光投影法やステレオ視などの手法では、被写体の3次元位置情報を取得する。被写体表面の法線情報とは、被写体の3次元位置情報の微小空間での傾き情報であり、どちらも被写体の形状情報である。
【0111】
以上の処理により、形状情報取得部204は被写体の形状情報である表面の法線情報または、被写体の3次元位置情報を取得する。
【0112】
以上の処理により、以下の情報を取得する。
○被写体の拡散反射画像
○被写体の鏡面反射画像
○被写体の3次元形状情報
○光源位置・照度
【0113】
影除去部205は、画像中の影領域を推定し、影除去処理を行う。このような、影除去および影領域推定処理はさまざまな方法が提案されているが、例えば、影領域は輝度値が低いことを利用し、輝度値が閾値以下の画素を影領域と推定すればよい。
【0114】
また、形状情報取得部204によって3次元形状情報が取得されている場合、Computer−Graphicsの分野で広く利用されているレンダリング手法である、レイトレーシングを利用してもかまわない。レンダリングは物体の座標データや光源や視点の位置などの環境に関するデータを計算して行うが、レイトレーシングは、視点に届く光線を逆にたどることによって描画する。そのため、レイトレーシングを利用してどの場所にどの程度の影が生成されているかを計算することができる。
【0115】
次に、拡散反射・鏡面反射分離部202によって分離された拡散反射画像と鏡面反射画像を、それぞれ、別々の方法で高解像度化する。まず、拡散反射画像の処理について説明する。
【0116】
アルベド推定部206は、拡散反射・鏡面反射分離部202によって分離された拡散反射画像を利用し、被写体のアルベドを推定する。アルベドは光源情報に影響を受けないため、アルベド画像を利用して処理を行うことによって、光源変動にロバストな処理が実現できる。
【0117】
この処理を説明する。(式21)より、拡散反射成分では、以下の関係が成り立つ。
【数51】

ただし、θiは被写体の法線方向ベクトルと光源方向ベクトルのなす角を示す。ここで、光源情報取得部103および形状情報取得部204により、角度θiは既知である。また、後述するように、光源の入射照度tfも推定可能なため、被写体のアルベドrpを(式32)から求める。
【0118】
この際、cosθiが0以下の値を持つ場合、すなわち、attached shadowである場合、(式32)はアルベドがマイナスになる、あるいは、0で除算を行うことになり、意味を持たない。しかし、上述の影除去部205によってこのような画素を除去しているため、問題は生じない。
【0119】
もちろん、被写体のアルベドを求めるのではなく、次式によりアルベドに光源の放射輝度を乗算した擬似アルベドを求め、これを利用しても構わない。
【数52】

【0120】
次に、こうして求めたアルベド画像の高解像度化について説明する。
【0121】
アルベド高解像度化部207は、アルベド推定部206が推定したアルベド画像を高解像度化する。この処理について詳述する。
【0122】
前述のように、アルベド画像は、光の鏡面反射や陰影など光学現象によらない被写体固有の反射率特性を表現した画像である。本実施形態における高解像度化は、被写体情報が不可欠なため、被写体の事前学習に基づく。ここではテキストン(画像のテクスチャ特徴量)に基づく高解像度化を用いる。
【0123】
図17はテキストンに基づく高解像度化の概念を示す図である。実行時に入力された低解像度画像LR(画素数N×N)は、画素数を目標画素数に合致させるため、M×M倍に補間拡大される。この画素数MN×MN画像をexLR画像と称する。exLR画像では画像の高周波成分が失われて、ぼけた画像になる。このぼけ画像を先鋭化することが高解像度化に他ならない。
【0124】
次に、多重解像度変換WTによって、exLR画像の輝度値を画素ごとに、多重解像度に基づくT次元テキストンに変換する。この変換にはウェーブレット変換やピラミッド構造分解などの処理が用いられる。この結果、exLR画像の各画素ごとに、合計MN×MN本のT次元テキストンベクトルが生成される。次に、汎用性の向上のため、テキストンベクトルにクラスタリングが実施されて、L本の入力代表テキストンベクトルが選択生成される。これらL本のテキストンベクトルに対して、予め学習したデータベースの情報から変換が施されて、T次元の高解像度化テキストンベクトルが生成される。この変換には、テーブル読み出しや、T次元の多次元特徴ベクトル空間内における線形および非線形変換が用いられる。高解像度化テキストンベクトルは、逆ウェーブレット変換やピラミッド構造再構成などの逆変換IWTによって、画像輝度値に戻されて、高解像度画像HRが完成する。
【0125】
この処理では、MN×MN本のT次元テキストンベクトルのクラスタリング処理における探索とテーブル読み出しの処理に多大な時間を要し、動画など高速化対応が困難であった。そこで、1)クラスタリング処理をLR画像にて実施する。2)テーブル読み出しを線形マトリクス変換に変更する。という改良を加えた。この処理では、LR画像の1画素はHR画像のM×M画素のセルに対応する事実を使って、T次元からT次元への線形マトリクス変換をセル毎に実施して、セル内部での空間的な連続性を維持することができる。また利用する線形マトリクスはクラスタリングの結果から最適に選択する。セル境界の不連続性が問題になる場合にはマトリクス処理単位のブロックを一部重ねるなどの処理を追加してもよい。
【0126】
図18は上の改良点を模式的に描いた図である。LR画像をWT変換して、T次元の特徴量空間の中のL(ここではL=3)本の代表特徴ベクトルとしている。そして、各特徴ベクトルに異なる線形マトリクスが付随している。この状態を保存したものが高解像度化データベースに他ならない。
【0127】
以下、N=32、M=4、すなわち32×32画素の低解像画像に4×4倍の高解像度化を施す例をとって、画像処理手法の詳細を述べる。アルベド画像は(RGB)カラー画像とするが、カラー画像は(RGB)から輝度色差(YCrCB)に変換して独立した色成分画像として取り扱うものとする。通常、2×2倍率程度では、輝度Y成分だけの高解像度でカラー成分は低解像度の色差信号のまま付加しても違和感はないが、4×4以上では、色信号も高解像度化が必須になるので各成分とも同様な取り扱いとする。以下、カラー画像の1つの成分画像のみの処理を説明することとする。
【0128】
(学習時)
図19は学習処理の流れを説明するPAD図であり、図20は学習処理において処理される画像の処理対象画素と処理対象セルとの関係を説明する図である。以下、図19および図20を交互に用いて説明を行う。
【0129】
まず、S311〜S313において、低解像度画像LR画像、高解像度画像HR画像、および低解像度画像の拡大画像exLR画像を入力する。これら画像は、HRから全て生成されており、撮像における画素ずれがない状態としておく。また、LR画像からexLR画像の生成にはバイキュービック補間を用いている。図20において、高解像度画像HR(画素数128×128)と、低解像度LR画像(画素数32×32)と、LRを画素数だけHRと合致させたexLR画像(画素数128×128)の3種類の画像を用意する。
【0130】
S314において、LR画像をテキストン化する。具体的には、Haar基底を用いた2次元離散定常ウェーブレット変換(Discrete stationary wavelet transform:SWT変換)を行う。SWT変換の階層は2階層(2-step)とすると、6次元のLRW画像(画素数32×32=1024)が生成される。本来、2階層ステップの2次元離散定常ウェーブレット変換では7次元の特徴ベクトルとなるが、最低周波数のLL成分画像は画像の平均輝度情報に近くなり、これを保存するため残りの6成分のみを利用する。
【0131】
S315において、テキストン化されたLRW画像の合計1024本の6次元ベクトルをCmax個にまでクラスタリングする。ここではK-means法を用いて、例えばCmax=512本にクラスタリングする。この512本の結果のテキストンベクトルの集合をクラスタCと称する。クラスタリングをせず1024本のテキストンを全て利用しても問題ない。
【0132】
S316において、クラスタCの同一クラスタに判別されたLR画素を判定する。具体的には、LR画像の画素値がクラスタCの各テキストン番号に置き換えられる。
【0133】
S317において、クラスタCの全テキストンに対して繰り返し処理をしながら、該当テキストンに対応するexLRの画素セルとHR画像の画素セルを探索して、該当セル番号を格納する。この探索がLR画像の画素数分だけで済むため、高倍率の場合に大きな探索時間の削減となる。
【0134】
ここでLR画像の画素とexLR画像、HR画像の画素セルとの対応につき、図20で説明する。図20では、LR画像上で、2001と2002という2画素がCの同一クラスタ(クラスタ番号:Ci=0)に判別されたとする。すると、そのままの位置関係を保って拡大されたexLR画像上では2003,2004、HR画像上では2005、2006という画素セルが対応していると考えられ、これらの2箇所のセル位置の番号が、該当するテキストンを有するものとして格納される。画素セル内に含まれる画素数は拡大率4×4=16に等しい。
【0135】
次にS318において、これらの画素セル群についてexLR画像とHR画像の対でテキストン化を行う。具体的には、2次元離散定常ウェーブレット変換(Discrete stationary wavelet transform)が実施されて、exLRW画像とHRW画像が生成される。
【0136】
S319とS320において、上記HRW画像とexLRW画像から得られたテキストンの対が行列の形として集積される。形式はいずれも、6×Data_numの行列となる。ここでData_numは、(1セルの画素数)×(探索されたセルの数)となり、上のCi=0の例では、2個のセルが探索されたので16×2=32となる。
【0137】
S321において、集積された両者に所属する合計2×4×4=128個の特徴ベクトルから最小二乗法にて6×6マトリクスMを算出し、それをS322において、クラスタ番号K=0とともにデータベースCMat(K)に格納蓄積する。S322における最小二乗法は、まずS319とS320において集積されたexLRとHRのテキストンの行列を各々LfとHf(サイズ:6×Data_num)とし、求めるマトリクスをM(6×6)とすると以下のように実行できる。
【数53】

【0138】
次に、クラスタ番号K=1について同様処理を繰り返して、K=511まで行う。すなわち、CMatはクラスタ番号ごとに規定される6×6変換行列の群である。
【0139】
最後に、S323とS324において、使用したクラスタCと学習された変換行列CMatとを出力する。こうして求めたクラスタCと学習された変換行列CMatを、アルベドDB208に蓄積する。
【0140】
図21は2次元離散定常ウェーブレット変換(Discrete stationary wavelet transform)の処理を示す図である。通常のウェーブレット変換では、フィルタバンク構成は同一のまま分解の階層が進む毎に画像が縮小していくが、2次元離散定常ウェーブレット変換では、分解の階層が進んでも変換画像サイズは不変であり、スケーリング関数Fとウェーブレット関数Gの2種類のフィルタがアップサンプリング(↑)されて2のべき乗で長くなっていくことにより多重解像度解析を行う。Haar基底では、FとGの具体的な数値とアップサンプリングの様子は表1のようになる。
【0141】
【表1】

【0142】
LL成分であるcA画像を1階層進めてウェーブレット分解する場合、FとGのフィルタを交互に1次元的にコンボリューションすることにより、図21のように4種類の画像が生成される。1)行方向にF・列方向にF:cA画像(LL成分) 2)行方向にF・列方向にG:cDh画像(LH成分) 3)行方向にG・列方向にF:cDv画像(HL成分) 4)行方向にG・列方向にG:cDd画像(HH成分)。
【0143】
図22は2次元離散定常ウェーブレット変換をテスト画像に実施した場合の画像結果例である。テキストンベクトルとは、これらウェーブレットの1−STEPと2−STEPの変換画像の1画素ごとに対応する値を連ねたもので、
【数54】

の7次元ベクトルのことである。ただし2−STEPのLL成分であるcA2を除いて、6次元ベクトル部分のみを使って高解像度変換し、cA2成分は保存している。
【0144】
なお、ウェーブレット変換のステップ数をここではS314とS318のいずれも2−STEPとしている。このステップ数が大きくなるほど、画像の大まかな特徴までテキストンで表現することができる。本発明においてステップ数は可変であるが、LR画像のクラスタリングのためのS314の場合、1−STEPでは周辺の画素状況として十分な情報とならない場合があるため、2−STEPとしている。一方、exLR画像を高解像度化するためのテキストンを生成するS318の場合、たとえば8×8の倍率においては2−STEPよりも3−STEPの方が良好な画像が得られることが、実験的に確認されている。このため、倍率との関係でステップ数を決定することが望ましい。
【0145】
(高解像度化処理の実行時)
図23は実行時の処理の流れを示すPAD図であり、図24は実行時の処理の画素セルとの関係を示す図である。
【0146】
まず、S331とS332において、LR画像とこれを拡大したexLR画像とを入力する。学習時と同様に、LR画像の画素数=32×32、exLR画像の画素数=128×128とする。ここでexLR画像の生成方法は、図19のS313において学習画像のexLR画像を生成した方法と同様にバイキュービック法による。
【0147】
次に、S333とS334において、学習時に得られたクラスタCと変換行列CMatとアルベドDB208から読み出し、入力する。
【0148】
S335において、LR画像をテキストン化する。具体的には図24で示すように、Haar基底を用いた2次元離散定常ウェーブレット変換(Discrete stationary wavelet transform:SWT変換)を行う。SWT変換の階層は2階層(2-step)とすると、6次元のLRW画像(画素数32×32=1024)が生成される。本来は2階層ステップの2次元離散定常ウェーブレット変換では7次元の特徴ベクトルとなるが、最低周波数のLL成分画像は画像の平均輝度情報に近くなり、これを保存するため残りの6成分のみを利用する。
【0149】
次にS336において、各テキストンにつき、クラスタC(Cmax個のテキストン)内の最短距離のテキストンベクトルを探索してテキストン番号(Ci)を得る。これは図24において、LR画像の1ライン上の各画素2011,2012,…,2013について、各々C0,C1,…,Cnというテキストン番号が付与されることに相当する。
【0150】
次にS337に進むが、これ以降はHR画像の各セルを走査線順に処理していく繰り返し処理となる。具体的には、図24において、exLR画像のセル2014,2015,…,2016を処理していくと、対応するHR画像のセル2023,2024,…,2025が順次高解像度化されていく。
【0151】
S337において、exLR画像の該当セル領域がテキストン化される。具体的には、2次元離散定常ウェーブレット変換(Discrete stationary wavelet transform)が実施されて、exLRW画像が生成される。セル2017,2018,…,2019などが生成される。
【0152】
S338において、テキストン番号から変換行列CMatを引いて該当セルにおける変換行列Mを確定する。この処理は図24のように行われる。LRW画像には、すでに画素2011=C0、画素2012=C1、…、画素2013=Cnとテキストン番号が振られている。これを位置関係を保存したexLRW画像のセル2017、2018、…2019に適用して、各々のセルで、C0,C1,・・Cnをテキストン番号としてMatから別々の6×6変換行列Mを選択することができる。
【0153】
S339において、各セルに変換行列Mを作用させる。これはセル内のテキストンLTi(i=1〜16)全部について、
【数55】

を実施すればよい。これらを繰り返して、exLRW画像のセル2017,2018,…,2019からHRW画像のセル2020,2021,…,2022が、それぞれ生成される。
【0154】
次に、これら高解像度化されたセル内の6次元テキストンに、exLRW画像の2−STEPのLL成分を付加して7次元テキストンを生成する。
【0155】
S340において、この各セル内7次元のテキストンを逆SWT変換することにより画像に変換する。以上をexLR画像の全セルについて繰り返す。
【0156】
逆SWT(ISWT)変換は、図25で示す信号フローで実現できる。図21とほとんど同じ表現である。通常のウェーブレット逆変換ではフィルタバンクの構成は同一のまま、分解の階層が進む毎に画像が拡大していく。これに対して、本逆変換においては、分解の階層が進んでも変換画像サイズは不変であり、スケーリング関数Fとウェーブレット関数G1の2種類のフィルタがダウンサンプリング(↓)されて2のべき乗で短くなっていくことにより、多重解像度解析を行う。Haar基底では、FとG1の具体的な数値とダウンサンプリングの様子は表2のようになる。
【0157】
【表2】

【0158】
以上のようにしてアルベド画像の1成分が高解像度化される。この処理を、アルベド画像全てに行うことにより、高解像度なアルベド画像を合成する。
【0159】
このとき、アルベド画像に含まれる被写体の大きさや姿勢、向きなどが変化しても処理が可能なように、画像の正規化を行うようにしてもかまわない。テキストンを利用した高解像度化処理は、学習データに対してアルベド画像の大きさや姿勢が異なっている場合、高解像度化の精度が十分に発揮されないことが考えられる。そこで、アルベド画像を複数組用意し、この問題を解決する。すなわち、アルベド画像を30度ずつ回転させた画像を合成し、そのすべての画像で高解像度化を行い、姿勢や向きの変化に対応させる。この場合、前述の「高解像度化処理の実行時」のPAD図である図23のステップS336において、最短距離のテキストンを探索する際、回転処理を行った各画像から求めた複数のLR画像のテキストン、それぞれにおいて最短距離のテキストンを探索し、最も距離の近いものを探索してテキストン番号(Ci)を得るようにすればよい。
【0160】
また、大きさの変化に対応するために、画像の大きさを変更したアルベド画像を合成するようにしてもかまわない。
【0161】
また、実際の大きさを基準に、例えば、5cm×5cmの画像が必ず8x8画素になるように拡大縮小処理を行い、その画像に対してテキストンを作製するようにしてもかまわない。被写体の大きさは、形状情報取得部204により既知であるため、「学習時」および「高解像度化処理の実行時」ともに同じ大きさの画像でテキストンを作製することで、大きさの変動に対応するようにしてもかまわない。
【0162】
また、「高解像度化処理の実行時」のアルベド画像を回転させるのではなく、「学習時」のアルベド画像を回転させ、複数組のテキストンを作製し、クラスタCと学習された変換行列CMatをアルベドDB208に蓄積するようにしてもかまわない。
【0163】
さらに、入力された被写体が何であるかを推定し、推定された被写体がどのように回転しているかを姿勢推定するようにしてもかまわない。このような処理は、広く使われている画像認識技術を利用すればよい。これは、例えば、被写体にRFIDのようなタグを設置しておき、そのタグ情報を認識することで被写体が何であるかを認識し、さらにタグ情報から被写体の形状情報を推定し、画像や被写体の形状情報から姿勢推定を行うようにすればよい(例えば、特開2005−346348号公報参照)。
【0164】
拡散画像高解像度化部209は、アルベド高解像度化部207が合成した高解像度アルベド画像から高解像度な拡散画像を合成する。この処理を説明する。
【0165】
前述のように、アルベド画像は、拡散成分画像を光源ベクトルと被写体の法線方向ベクトルの内積で除算したものである。そのため、アルベド画像に、光源情報推定部103によって推定された光源方向ベクトルと、後述するパラメータ高解像度化部213によって求めた被写体の高密度法線方向ベクトルとの内積を乗算することによって、高解像度の拡散画像を合成する。光源情報推定部103により、複数の光源が推定された場合、それぞれの光源に対して高解像度な拡散画像をおのおの合成し、その画像を足し合わせることで、一枚の高解像度拡散画像を合成する。
【0166】
以上の処理により、高解像度化された拡散画像を合成することができる。ここで、高解像度化処理はアルベド画像を利用して行ったが、アルベド画像ではなく、拡散画像を直接、高解像度化するようにしてもかまわない。この場合、学習処理は拡散画像を用いて行えばよい。
【0167】
次に、鏡面反射画像の高解像度化処理について説明する。ここでは、画像をパラメータに分解し、パラメータごとに高密度化する。この処理を順に説明する。
【0168】
パラメータ推定部210は、形状情報取得部204によって取得された被写体の法線情報、拡散反射・鏡面反射分離部202によって分離された拡散反射画像と鏡面反射画像を利用して、その被写体を表現するパラメータを推定する。ここでは、Computer−Graphicsの分野で広く使われているCook−Torranceモデルを利用する方法を説明する。
【0169】
Cook−Torranceモデルでは、鏡面反射画像を次式のようにモデル化する。
【数56】

【数57】

【数58】

【数59】

【数60】

【数61】

【数62】

【数63】

【数64】

【0170】
ここで、Eiは入射照度、ρs,λは波長λにおける鏡面反射成分の双方向反射率、nは被写体の法線方向ベクトル、Vは視線ベクトル、Lは光源方向ベクトル、Hは視線ベクトルと照明方向ベクトルの中間ベクトル、βは中間ベクトルHと法線方向ベクトルnの角度を表す。また、Fλはフレネル方程式から求められる誘電体表面からの反射光の比であるフレネル係数、Dはマイクロファセット分布関数、Gは物体表面の凸凹による遮光の影響を表す幾何減衰率である。さらに、nλは被写体の屈折率、mは被写体表面の粗さを示す係数、Ijは入射光の放射輝度である。また、ksは鏡面反射成分の係数である。
【0171】
さらに、(式21)のランバーシャンモデルを利用すると、(式7)は以下のように展開される。
【数65】

ただし、
【数66】

【数67】

ここで、ρdは拡散反射成分の反射率(アルベド)、dpx、dpyは撮像装置の1画素のx方向、y方向の長さ、rは撮像装置の観察点Oからの距離を示している。また、kdは以下の関係式を満たす係数である。
【数68】

Srは拡散反射成分と鏡面反射成分の輝度値の違いを表現するための定数であり、拡散反射成分が被写体からすべての方向へエネルギーを反射することを示している。図26はこの定数Srを説明するための模式図である。図26において、観察点Oで反射された拡散反射成分エネルギーは、半球状に広がっていく。ここで、撮像装置1001が観察点Oからrだけ離れているので、撮像装置の1撮像素子に届くエネルギーと、観察点Oで反射した総エネルギーの比Srは、(式44)で表される。
【0172】
以上のことから、パラメータ推定部210は、(式33)〜(式44)からパラメータを推定する。
【0173】
以上の関係式をまとめると、パラメータ推定を行うための既知パラメータと、推定すべきパラメータは以下のようになる。
【0174】
(既知パラメータ)
○環境光成分Ia
○拡散反射成分Id
○鏡面反射成分Is
○被写体の法線方向ベクトルn
○光源方向ベクトルL
○視線ベクトルV
○中間ベクトルH
○中間ベクトルHと法線方向ベクトルnの角度β。
○撮像装置の1画素のx方向、y方向の長さdpx,dpy。
○撮像装置と観察点Oとの距離r
【0175】
(推定すべきパラメータ)
○入射照度Ei
○鏡面反射成分の係数ks
○被写体表面の粗さm
○被写体の屈折率ηλ
ここで、拡散反射成分の係数kd、および拡散反射成分の反射率(アルベド)ρdも未知パラメータであるが、鏡面反射成分のパラメータのみを推定するため、ここでは推定処理を行わない。
【0176】
図27はパラメータ推定部210の処理の流れを示した図である。処理は、以下の2段階からなる。
【0177】
まず、光源情報を使用して、入射照度Eiを求める(ステップS351)。これは、光源情報推定部103によって取得した光源の位置情報、形状情報取得部204で求めた撮像装置と被写体との距離情報、さらには光源情報推定部103で求めた光源照度を用いる。これは、次式から求まる。
【数69】

ここで、Iiは撮像装置1001に設置された照度計1015によって測定された光源1005の入射照度、R1は撮像装置1001と光源1005との距離、R2は光源1005と観察点Oとの距離、θ1は観察点Oにおける法線1014と光源方向1002Cとのなす角度、θ2は撮像装置1001における光軸方向1017と光源方向1002Aとのなす角度を示している(図28参照)。ここで、被写体の大きさが、光源1005と観察点Oとの距離R2に比べ十分に大きいと考えられる場合、距離R2は被写体上の全ての観察点Oで等しくなる。そのため、(式46)において(R1/R2)は定数となり、実際に計測する必要はなくなる。
【0178】
次に、シンプレックス法を利用して、未知パラメータm、ηλ、ksを推定する(ステップS352)。シンプレックス法は、シンプレックスと呼ぶ図形の頂点に変数を割り付け、シンプレックスの大きさと形を変えて関数の最適化を行う方法である(大田登,“色再現光学の基礎” ,pp.90-92,コロナ社)。シンプレックスは、n次元空間の(n+1)個の点の集合である。ただし、nは推定する未知数の数であり、ここでは「3」である。そのため、シンプレックスは四面体である。シンプレックスの頂点をベクトルxiで表し、新しいベクトルを次のように定める。
【数70】

【数71】

【数72】

【数73】

ただし、
【数74】

【数75】

はそれぞれ関数f(xi)を最大、最小にするxiを示している。
【0179】
さらに、この方法で用いる3種類の操作を以下のように定める。
1.鏡像:
【数76】

【0180】
2.拡張:
【数77】

【0181】
3.収縮:
【数78】

ここで、α(>0)、β(>1)、γ(1>γ>0)は係数である。
【0182】
シンプレックス法は、シンプレックスの頂点の中で関数値の最も大きなものを選ぶことで、その鏡像における関数値は小さくなるという期待に基づいている。この期待が正しければ、同じプロセスの繰り返しで関数の最小値が求められる。つまり、初期値で与えたパラメータを3種類の操作で更新しながら、評価関数が示すターゲットとの誤差が閾値未満になるまでパラメータの更新を繰り返す。ここでは、パラメータとしてm、ηλ、ks、評価関数として(式52)で表される、(式33)から算出される鏡面反射成分画像と拡散反射・鏡面反射分離部202で求められた鏡面反射成分画像との差ΔIsを利用した。
【数79】

ただし、is(i,j)’,is(i,j)はそれぞれ、計算された鏡面反射画像の推定値Is’と拡散反射・鏡面反射分離部202で求められた鏡面反射成分画像Isの画素(i,j)の輝度値、Ms(i,j)は、画素(i,j)が鏡面反射成分を持つ場合に1、そうでない場合0をとる関数である。
【0183】
この処理について詳しく説明する。図29はこの処理の流れを説明するためのフローチャートである。
【0184】
まず、繰り返し演算の更新回数を記憶するカウンターnとkに0を代入し、初期化する(ステップS361)。ここで、カウンターnは初期値を何回変更したかを記憶するカウンターであり、kはある初期値に対してシンプレックスによる候補パラメータの更新を何回行ったかを記憶するカウンターである。
【0185】
次に、乱数を利用し、推定パラメータの候補パラメータm’、ηλ’、ks’の初期値を決定する(ステップS362)。このとき、各パラメータの物理的な拘束条件から、初期値の発生範囲は以下のように決定した。
【数80】

【0186】
次に、こうして求めた候補パラメータを(式33)へ代入し、鏡面反射画像の推定値Is’を求める(ステップS363)。さらに、計算された鏡面反射画像の推定値Is’と拡散反射・鏡面反射分離部202で求められた鏡面反射成分画像との差ΔIsを(式52)より求め、これをシンプレックス法の評価関数とする(ステップS364)。こうして求めたΔIsが十分小さい場合(ステップS365でYes)、パラメータ推定は成功したとして、推定パラメータm、ηλ、ksとして候補パラメータm’、ηλ’、ks’を選択し、処理を終了する。一方、ΔIsが大きい場合(ステップS365でNo)、シンプレックス法により候補パラメータの更新を行う。
【0187】
候補パラメータの更新を行う前に、更新回数の評価を行う。まず、更新回数を記憶しているカウンターkに1を足し(ステップS366)、カウンターkの大きさを判断する(ステップS367)。カウンターkが十分に大きい場合(ステップS367でNo)、繰り返し演算は十分に行われているが、ローカルミニマムに落ちいっているため、このまま更新を繰り返しても最適値には達しないと判断し、初期値を変更して、ローカルミニマムからの脱却を図る。そのため、カウンターnに1を足し、カウンターkに0を入れる(ステップS371)。ここで、カウンターnの値が閾値より高いかどうかを判定し、処理をこのまま続けるか、処理不能として処理を終了させるかを決定する(ステップS372)。ここで、nが閾値より大きい場合(ステップS372でNo)、この画像は推定不能として処理を終了する。一方、nが閾値より小さい場合(ステップS372でYes)、再度、初期値を(式53)の範囲内で乱数から選択しなおし(ステップS362)、処理を繰り返す。このようなkに対する閾値は、例えば、100などを選択すればよい。
【0188】
一方、ステップS367において、カウンターkが閾値以下の場合(ステップS367でYes)、候補パラメータを(式49)〜(式51)を利用して変更する(ステップS368)。この処理については後述する。
【0189】
次に、こうして変形された候補パラメータが、解として意味のあるものであるかを判定する(ステップS369)。すなわち、シンプレックス法を繰り返すことで、変形されたパラメータが物理的に意味のない値(例えば、粗さパラメータmが負の値など。)におちいる可能性があるため、これを除去する。これは、例えば、以下のような条件を与え、この条件を満たす場合には意味のあるパラメータ、満たさない場合には意味のないパラメータと判定すればよい。
【数81】

これらの値は、被写体より求めることができる。例えば、屈折率ηλであれば、被写体の材質によって決定される値である。例えば、プラスチックであれば1.5〜1.7、ガラスであれば1.5〜1.9であることが知られているため、これらの値を利用すればよい。つまり、被写体がプラスチックである場合、屈折率ηλは1.5〜1.7とすればよい。
【0190】
変形したパラメータが(式54)を満たす場合(ステップS369でYes)、その候補パラメータは意味のある値であると考えられるため、新しい候補パラメータとして設定し(ステップS370)、更新処理を繰り返す(ステップS363)。一方、変形したパラメータが(式54)を満たさない場合(ステップS369でNo)、その初期値に対する更新処理を打ち切り、新しい初期値により更新を行う(ステップS371)。
【0191】
ここで、ステップS368の変形処理について詳述する。図30はこの処理の流れを示したフローチャートである。ここでは、候補パラメータm’、ηλ’、ks’をベクトル表現し、これをパラメータxとする。すなわち、
【数82】

【0192】
まず、(式47)〜(式49)を利用して、鏡像操作を行ったパラメータxrを計算し、(式52)によってxrでの鏡面反射成分画像との差ΔIs(xr)を計算する(ステップS381)。次に、こうして求められたΔIs(xr)と、2番目に評価関数が悪かったΔIs(xs)を比較する(ステップS382)。ここでΔIs(xr)がΔIs(xs)より小さかった場合(ステップS382でYes)、鏡像操作を行った評価値ΔIs(xr)と現在、最も評価値のよいΔIs(xl)を比較する(ステップS383)。ここで、ΔIs(xr)の方が大きかった場合(ステップS383でNo)、最も評価値の悪かったxhをxrへ変更し(ステップS384)、処理を終了する。
【0193】
一方、ΔIs(xr)がΔIs(xl)より小さかった場合(ステップS383でYes)、(式46)を利用して拡張処理を行い、パラメータxeと、xeでの鏡面反射成分画像との差ΔIs(xe)を計算する(ステップS385)。次に、こうして求められたΔIs(xe)と、鏡像操作によるΔIs(xr)を比較する(ステップS386)。ここでΔIs(xe)がΔIs(xr)より小さかった場合(ステップS386でYes)、最も評価値の悪かったxhをxeへ変更し(ステップS387)、処理を終了する。
【0194】
一方、ΔIs(xe)がΔIs(xr)より大きかった場合(ステップS386でNo)、最も評価値の悪かったxhをxrへ変更し(ステップS387)、処理を終了する。
【0195】
また、ステップS382において、ΔIs(xr)がΔIs(xs)より大きかった場合(ステップS382でNo)、鏡像操作を行った評価値ΔIs(xr)と現在、最も評価値の悪いΔIs(xh)を比較する(ステップS388)。ここでΔIs(xr)がΔIs(xh)より小さかった場合(ステップS388でYes)、最も評価値の悪かったxhをxrへ変更し(ステップS389)、(式50)を利用して、収縮操作を行ったパラメータxcと、xcでの鏡面反射成分画像との差ΔIs(xc)を計算する(ステップS390)。一方、ΔIs(xr)がΔIs(xh)より大きかった場合(ステップS388でNo)、xhを変更することなく、収縮操作を行ったパラメータxcと、xcでの鏡面反射成分画像との差ΔIs(xc)を計算する(ステップS390)。
【0196】
次に、こうして求められたΔIs(xc)と、最も評価値の悪いΔIs(xh)を比較する(ステップS391)。ここでΔIs(xc)がΔIs(xh)より小さかった場合(ステップS391でYes)、最も評価値の悪かったxhをxcへ変更し(ステップS392)、処理を終了する。
【0197】
一方、ΔIs(xc)がΔIs(xh)より大きかった場合(ステップS391でNo)、すべての候補パラメータxi(i=1,2,3,4)を以下の式により変更し、処理を終了する。
【数83】

【0198】
以上の処理を繰り返すことにより、鏡面反射画像における未知パラメータであるm、ηλ、ksを推定する。
【0199】
以上の処理により、すべての未知パラメータを推定することができる。
【0200】
なお、パラメータ推定に用いるモデルは、Cook−Torranceモデルである必要はなく、例えば、Torrance−SparrowモデルやPhongモデル、簡易Torrance-Sparrowモデル(例えば、「K. Ikeuchi and K. Sato, “Determining reflectance properties of an object using range and brightness images”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.13, no.11, pp.1139-1153, 1991」)であってもかまわない。
【0201】
また、パラメータ推定方法は、シンプレックス法である必要はなく、例えば、勾配法や最小自乗法などのような一般的なパラメータ推定手法を利用してもかまわない。
【0202】
また、以上の処理は、画素毎に行ってもかまわないし、領域分割を行い、各領域ごとに等しいパラメータ組を推定するようにしてもかまわない。画素毎に処理を行う場合、光源や撮像装置、または被写体を動かすことにより、被写体の法線方向ベクトルnや光源方向ベクトルL、または視線ベクトルVといった既知パラメータが変動したサンプルを取得するようにすることが望ましい。また、処理を領域ごとに行う場合、領域ごとに求まったパラメータのばらつきが小さくなるように領域分割を変更することで、最適なパラメータ推定を行うようにすることが望ましい。
【0203】
法線情報高密化部211は、形状情報取得部204で取得した表面の法線情報を高密度化する。これは、以下のように実現される。
【0204】
まず、形状情報取得部204によって取得した表面の法線情報を、画像撮像部201によって取得された画像へ投影し、画像内の各画素に対応する法線方向を求める。このような処理は、従来のカメラキャリブレーション処理(例えば、「運天 弘樹, 池内 克史, “実物体の仮想化のための3次元幾何モデルのテクスチャリング手法”, CVIM-149-34, pp.301-316, 2005」)を行うことで実現できる。
【0205】
この際、法線ベクトルは極座標で表現し、その値をθi、φiとする(図31参照)。以上の処理により、法線成分であるθ、φの画像を作製する。こうして求めたθ画像とφ画像を、上述のアルベド高解像度化部207と同様の手法によって高解像度化することによって、高密度の法線情報を推定する。この際、高密度度化処理を行う前に学習処理を行い、法線のθ、φ成分に対するクラスタCと学習された変換行列CMatを法線DB212に蓄積する。
【0206】
また、以上の処理は、影除去部205において、影として除去されなかった領域のみに対して行うことが望ましい。これは、影の存在により、パラメータ推定処理に誤差が生じてしまうことを防止するためである。
【0207】
また、パラメータ推定部210において、撮像装置近傍に設置された制御可能な光源を利用してもかまわない。この光源は、デジタルカメラのフラッシュであってもよい。この場合、フラッシュを照射して撮像したフラッシュ画像と、フラッシュを照射しないで撮像した非フラッシュ画像を時間的に連続して撮像し、その差分画像を利用してパラメータ推定を行えばよい。撮像装置と光源であるフラッシュとの位置関係は既知であり、また、フラッシュの光源情報である3次元位置や色、強度も事前に測定しておくことが可能である。また、撮像装置とフラッシュは非常に近い場所に設置されているため、影が少ない画像を撮像することができる。そのため、画像内のほとんどの画素において、パラメータを推定することができる。
【0208】
さらに、パラメータ高密度化部213は、パラメータ推定部210によって求めたパラメータを高密度化する。ここでは、単純な線形補間を行い、すべてのパラメータを高密度化する。もちろん、上述のアルベド高解像度化部207のような学習を利用した高密度化手法を利用してもかまわない。
【0209】
また、パラメータごとに高密化方法を切り替えるようにしてもかまわない。例えば、推定パラメータである被写体の屈折率ηλは、高密度化しても値が変化しないと考えられる。そのため、被写体の屈折率ηλは単純補間により高密度化を行い、拡散反射成分の係数kd、鏡面反射成分の係数ks、さらには拡散反射成分の反射率(アルベド)ρdに関しては学習を利用した高密度化処理を行うようにしてもかまわない。
【0210】
鏡面反射画像高解像度化部214は、法線情報高密度化部211によって推定された高密度法線情報と、パラメータ高解像度化部214によって高密度化されたパラメータを利用し、高解像度な鏡面反射画像を合成する。高解像度な鏡面反射画像は、(式33)〜(式41)に高密度化したパラメータを代入することによって、合成する。
【0211】
ここで、実際の鏡面反射画像よりも輝度値が高くなるように、例えば入射照度Eiのみ推定された値に係数l(例えば、l=2)を乗算するようにしてもかまわない。これは、鏡面反射画像の輝度値を上げることによって、被写体の質感を上げるためである。同じように、被写体表面の粗さmを推定値よりも大きな値として、実際よりもてかりが強い鏡面反射画像を合成してもかまわない。
【0212】
影生成部215は、拡散反射画像高解像度化部209と鏡面反射画像高解像度化部214によって生成された高解像度拡散反射画像と高解像度化鏡面反射画像に重畳する、影画像を合成する。これは、前述影除去部205において利用したレイトレーシングを利用すればよい。
【0213】
ここで、画像高解像度化部104は、撮影対象となっている被写体の3次元形状に関する知識を有するものとする。影生成部215は、被写体の3次元形状データを取得し、撮影画像における被写体の見え(appearance)から、被写体の3次元姿勢及び3次元位置を推定する。被写体が人間の目の角膜である場合の、見えから3次元位置及び3次元姿勢を推定する例が、「K.Nishino and S.K.Nayar, "The World in an Eye", in Proc. of Computer Vision and Pattern Recognition CVPR '04, vol.I, pp444-451, Jul., 2004.」に開示されている。見えから3次元位置及び3次元姿勢を推定できる被写体は限られるが、そのような被写体であれば、上記文献の手法を本発明に適用することが可能である。
【0214】
被写体の3次元姿勢及び3次元位置が推定されれば、被写体上の任意の位置において、被写体表面の法線情報が算出できる。以上の処理を、撮影画像において繰り返し、被写体表面の法線情報を算出する。さらに、法線情報高密度化部211で推定された高密度法線情報を利用して被写体の法線情報を高密度化することによって、被写体の3次元形状を高密化することが可能である。こうして求めた高密度3次元形状と、パラメータ高解像度化部213によって高密度化されたパラメータを利用してレイトレーシングを行うことにより、高解像度な影画像の推定を行う。
【0215】
レンダリング部216は、拡散反射画像高解像度化部209が合成した高解像度拡散反射画像、鏡面反射画像高解像度化部214が合成した高解像度鏡面反射画像、さらには、影生成部215が合成した影画像を合成し、高解像度の出力画像を合成する。
【0216】
以上のように、本実施形態に係る画像処理装置は、画像の高解像度化処理を行うことができる。
【0217】
また、ここでは、鏡面反射画像のみパラメータ推定を利用して高解像度化を行ったが、拡散反射画像においてもパラメータ推定を行い、高解像度化するようにしてもかまわない。
【0218】
この処理を説明する。拡散反射画像の未知パラメータは、上述のとおり、以下の2つである。
○拡散反射成分の係数kd
○拡散反射成分の反射率(アルベド)ρd
そこで、これらのパラメータを推定する。図32は拡散反射画像のパラメータ推定処理の流れを示した図である。図27で示した鏡面反射画像のパラメータ推定部210の処理後、さらに以下の2段階の処理を行う。
【0219】
まず、(式45)と鏡面反射画像のパラメータ推定で求まったksを利用して、次式よりkdを推定する(ステップS353)。
【数84】

【0220】
さらに、(式43)を利用して、拡散反射画像の反射率(アルベド)ρdを次式より推定する(ステップS354)。
【数85】

【0221】
以上の処理により、すべての未知パラメータを推定することができる。こうして求まったパラメータをパラメータ高密度化部213と同様の手法により高密化することによって、拡散反射画像を高解像度化すればよい。
【0222】
また、広角画像撮像部101が撮像を行う際には、フラッシュを照射せずに撮像を行うことが望ましい。これは、鏡のような鏡面反射を起こす被写体が撮像装置1001の視野内に存在している場合、フラッシュが反射され、誤って光源画素として推定されてしまうためである。そのため、冷却CCDカメラや多重露光撮像など、広いダイナミックレンジを撮像できる撮像装置を利用することが望ましい。
【0223】
また、広角画像撮像部101は、撮像装置1001の画素の露光時間を、領域毎に、異なる値に設定するようにしてもかまわない。異なる露光時間の設定は、例えば撮像装置1001がCCDである場合、その電荷蓄積時間を変えることによって、実現できる。
【0224】
図2において、ウェアラブルカメラ1000の光軸方向1017が撮像者1003の正面方向と同じ方向であるとすると、撮像者が正対している被写体は、レンズ中心部に撮像される可能性が高い。そして、撮像者1003が正対している被写体は、撮像者1003が興味を持っている被写体だと考えられる。このため、被写体が映るレンズ中心部に対応する領域については、画素の露光時間を長くして、高感度に撮像することが効果的である。一方、光源は、屋外では太陽光や街灯、また屋内では天井に敷設された照明などが考えられるため、レンズの周辺部に撮像される可能性が高い。このため、レンズ周辺部に対応する領域では、画素の露光時間をレンズ中心部よりも短くすることによって、輝度値の高い光源画素が飽和する可能性を低くすることが可能である。
【0225】
もちろん、ウェアラブルカメラ1000の光軸方向1017が撮像者1003の正面方向と異なっている場合、撮像者1003の正面方向に対応する画素の露光時間を相対的に長くするようにすればよい。撮像者1003の正面方向を検出するには、例えば、撮像者1003がウェアラブルカメラ1000を装着した際に、撮像者1003が正面方向をウェアラブルカメラ1000に指示するようにすればよい。
【0226】
また、画像高解像度化部104は、高解像度化の拡大倍率を、画像の領域毎に、異なる値に設定するようにしてもかまわない。
【0227】
広角画像を撮像するためには、焦点距離の短い広角レンズや魚眼レンズなどを利用する必要がある。しかし、これらのレンズはレンズ歪みの影響が大きいため、レンズ中心部と周辺部とで分解能が一様ではなくなる。通常、レンズ中心部の分解能が最も高く、周辺部へ行くほど低分解能になる。このため、レンズ周辺部に対応する領域に対する拡大倍率を、レンズ中心部に対応する領域に対して高く設定するようにしてもよい。これにより、分解能が一様な拡大画像を生成することができる。
【0228】
上述のように、撮像者が正対している被写体はレンズ中心部に撮像される可能性が高い。そして、撮像者に正対している被写体は、撮像者が興味を持っている被写体だと考えられる。一方、光源は、屋外では太陽光や街灯、また屋内では天井に敷設された照明などが考えられるため、レンズの周辺部に撮像される可能性が高い。通常、2x2倍以上の画像の高解像度化処理を行うと、拡大倍率を高くすればするほど、画像がぼやけて画質が劣化してしまうといった問題が生じる。しかし、レンズ中心部の拡大倍率を周辺部に比べて低くすることによって、撮像者が興味を持っている被写体の画質の劣化を抑えながら、広角画像を高解像度化することができる。
【0229】
また、分解能が低い領域の拡大倍率を、分解能が高い領域に比べて高くすることによって、分解能が一様な拡大画像を生成するようにしてもかまわない。
【0230】
また、広角画像を撮影するために、反射ミラーを利用する方法が知られている(例えば、特許第2939087号公報参照)。このような撮像装置を利用する場合も、やはり、分解能は画像内で一様ではなくなる。そこで、撮像画像内の分解能を検出し、その結果に基づいて、分解能が低い領域の拡大倍率を、分解能が高い領域に比べて高く設定することによって、分解能が一様な拡大画像を生成するようにしてもかまわない。
【0231】
撮像画像内の分解能を検出するためには、広く知られているカメラキャリブレーションを行うことによって、カメラの内部パラメータを取得すればよい。これは、内部パラメータである、焦点距離や焦点位置、レンズの歪み、さらには撮像素子のサイズなどの情報を利用することによって、撮像装置の画素毎の撮影範囲を推定することができるためである。
【0232】
以上のように本実施形態によると、被写体を、広角画像を撮像可能な撮像装置を用いて、自動的に連続して撮像するので、被写体画像と併せて光源画像を得ることができる。すなわち、被写体を撮像したその時の光源画像を正確に取得することができる。そして、撮像された広角画像と、撮像が行われたときの撮像装置情報とを用いて、光源の位置、色および照度を含む光源情報を推定し、推定された光源情報を用いて、広角画像を高解像度化することができる。すなわち、被写体撮像用以外の付加的な撮像装置を搭載することなく、光源画像を取得し、画像の高解像度化を実現することが可能となる。さらに、被写体と光源が一枚の画像として取得できるため、光源位置と被写体との位置合わせにわずらわされることもない。
【0233】
(第2の実施形態)
図33は本発明の第2の実施形態に係る画像処理装置の構成を示すブロック図である。図33において、図1に示す本発明の第1の実施形態に係る画像処理装置と共通の構成要素には、同一の符号を付しており、ここではその詳細な説明を省略する。
【0234】
図33の構成は、図1の構成に加え、光源環境判定部105を有する。光源環境判定部105は、撮像装置1001に対する光源環境が変化したか否かを判定し、光源情報推定部103は、光源環境判定部105によって光源環境が変化したと判定されたとき、光源情報の推定を行う。
【0235】
具体的には例えば、光源環境判定部105は、撮像装置1001が移動したか否かを判定し、移動したとき、撮像装置1001に対する光源環境が変化したと判定する。上述のように、光源情報として光源の位置を推定する場合、撮像装置1001の位置や姿勢が変化した2画像が必要である。そこで、撮像装置1001が移動した場合にのみ光源情報推定部103によって光源推定処理を行うことによって、効率的な光源推定処理を行うことが可能となる。
【0236】
光源環境判定部105は例えば、撮像装置1001に搭載された角度センサ1020の出力から、撮像装置1001が移動したか否かを判定する。すなわち、角度センサ1020の出力が変化したとき、撮像装置1001が移動したと判定すればよい。また、撮像装置1001に角速度センサや加速度センサが搭載されている場合は、その出力の変化を検出したとき、撮像装置1001が移動したと判定すればよい。
【0237】
また、角度センサ1020の出力を利用する代わりに、広角画像撮像部101が撮像した画像を用いて、撮像装置1001が移動したか否かを判定してもよい。例えば、時系列に撮像された広角画像の差分を求め、差分画像を合成し、変化量が大きい場合に、撮像装置1001が移動したと判定すればよい。あるいは、広角画像から、上述の8点法などを利用して、撮像装置1001の移動量や姿勢の変化量を求めるようにしてもかまわない。
【0238】
また、光源環境判定部105は、上述した光源画素の情報を利用して、撮像装置1001に対する光源環境が変化したか否かを判定するようにしてもかまわない。すなわち、光源画素の輝度値や位置が変化した場合、光源環境が変化している可能性が高いと判断できる。このため、広角画像から光源画素のみを抽出し、その位置や輝度値に変化があったとき、光源環境が変化したと判定し、光源情報推定処理を行うようにすればよい。
【0239】
以上のように本実施形態によると、撮像装置に対する光源環境が変化したか否かを判定し、光源環境が変化したと判定されたとき、光源情報の推定を行うので、効率的に、光源情報を推定し、撮像画像を高解像度化することができる。
【0240】
(第3の実施形態)
図34は本発明の第3の実施形態に係る画像処理装置の構成を示すブロック図である。図34において、図1に示す第1の実施形態に係る画像処理装置と共通の構成要素には、同一の符号を付しており、ここではその詳細な説明を省略する。
【0241】
図34の構成は、図1の構成に加え、推定光源情報判定部106を有する。推定光源情報判定部106は、光源情報推定部103が光源情報を正確に推定しているか否かを判定する。推定光源情報判定部106によって、光源情報が正確に推定されていないと判定されたとき、光源情報推定部103は再度、光源情報の推定処理を行う。
【0242】
推定光源情報判定部106の処理について説明する。ここでは、GPS(Global Positioning System)センサと時刻情報とを利用する手法を説明する。晴天の昼間に屋外で撮像が行われている場合、光源として、太陽光が存在すると考えられる。そこで、太陽光の方向または太陽の位置を推定し、推定した方向または位置を、光源情報推定部103によって推定された光源情報と対比する。これによって、光源情報が正確に推定されているか否かを判定する。太陽光の推定は、撮像装置1001に設置されたGPSセンサ1024の出力と、例えば、電波時計1025などを利用して取得した時刻情報とから、行えばよい。
【0243】
また、GPS情報を利用して、撮像者周囲の建物の状況を地図情報から利用するようにしても構わない。建物の状況から、太陽光が遮断されているか否かを判断することができる。
【0244】
また、推定光源情報判定部106は、被写体の形状情報を利用してもかまわない。これは、被写体の形状情報と光源情報推定部103が推定した光源情報とから、被写体の画像を推定し、実際に広角画像撮像部101によって撮像された画像と推定した画像とを比較することによって、光源情報が正確に推定されているか否かを判定するものである。
【0245】
この処理を詳述する。撮像装置1001に前述の形状情報取得部204が搭載されている場合、被写体の形状情報である被写体表面の法線情報、撮像装置1001からの距離情報、被写体の3次元位置情報などが取得できる。そこで、被写体表面の法線情報または被写体の3次元位置情報と、光源情報、さらにはカメラパラメータ情報を用いて、図35に示すように、観察点Oにおける法線方向、視線方向、光源方向を取得する。
【0246】
図35は観察点Oと撮像装置1001および光源1005との位置関係を示す模式図である。ここで、視線方向Vと法線方向nとのなす角をθV、光源方向Lと法線方向nとのなす角をθLとする。ここで、以下の関係を満たす画素は、光が正反射を起こしている画素となり、その輝度値が非常に高くなることが知られている。
○θL=θV
○光源方向L、法線方向n、視線方向Vが同一平面上に存在
【0247】
そこで、上記の条件を満たす画素を広角画像撮像部101によって撮像された画像から検出し、その輝度値が、十分に大きい、または近傍画素の輝度値よりも十分に大きい場合、光源情報推定部103は光源情報を正確に推定していると判定する。一方、検出した画素の輝度値が、十分に大きくない、または近傍画素の輝度値よりも小さい場合、光源情報推定部103が推定した光源情報は誤っていると判定する。
【0248】
また、推定光源情報判定部106は、広角画像撮像部101によって撮像された画像の色情報を、光源情報推定部103によって推定された光源の色と対比することによって、光源情報が正確に推定されているか否かを判定するようにしてもよい。
【0249】
例えば、推定された光源の色と、鏡面反射成分の色情報とを比較する。まず、被写体は誘電体であるとする。このとき、広角画像撮像部101によって撮像された画像を、拡散反射・鏡面反射分離部202の説明で述べた手法を利用して、鏡面反射成分と拡散反射成分とに分離する。ここで、分離された鏡面反射成分の色情報は、光源の色情報と等しいことが知られている。そこで、分離された鏡面反射成分の色情報と、光源情報推定部103が推定した光源の色とを比較し、十分に近い場合、光源情報推定部103が推定した光源情報が正しいと判断する。一方、色情報が十分に近くない場合、光源情報推定部103が推定した光源情報が誤っていると判断する。あるいは、分離された鏡面反射成分の色情報と、光源画素の色情報とを比較するようにしても構わない。
【0250】
また、もちろん、光源の色情報と拡散反射成分の色情報とを比較するようにしてもかまわない。拡散反射成分の色情報は、被写体固有の色情報と光源の色情報とにより決定される。そのため、光源の色情報と拡散反射の色情報とが補色の関係になることはありえない。そのため、例えば光源色は青であるが、拡散反射の色は黄であるというように、光源の色情報と拡散反射の色情報とが補色の関係にある場合は、光源情報推定部103が推定した光源情報が誤っていると判断する。この処理はもちろん、光源の色情報と、広角画像撮像部101によって撮像された画像の色情報を利用してもかまわない。
【0251】
また、推定光源情報判定部106によって、推定された光源情報が誤っていると判断された場合、そのときの広角画像にマーキングを行い、以後の処理において、その広角画像を光源推定に用いないようにしてもかまわない。これは、編集処理のように、光源情報推定部103が、広角画像撮像部101が撮像を行ったときでなく、後で推定を行う場合に有効である。
【0252】
以上のように本実施形態によると、光源情報が正確に推定されているか否かを判定し、光源情報が正確に推定されていないと判定されとき、再度、光源情報の推定が行われるので、正確な光源情報が確実に推定されることとなり、撮像画像を精度良く高解像度化することができる。
【0253】
(第4の実施形態)
図36は本発明の第4の実施形態に係る画像処理システムの構成を示すブロック図である。図36において、図1に示す第1の実施形態に係る画像処理装置と共通の構成要素には、同一の符号を付しており、ここではその詳細な説明を省略する。
【0254】
図36では、通信機能を有した通信端末1100に、広角画像撮像部101と撮像装置情報取得部102が設けられている。そして、光源情報推定部103と画像高解像度化部104は、通信端末1100とネットワークで接続された外部の装置であるサーバ1101に設けられている。すなわち、本実施形態では、通信端末1000側では、全ての処理を行うのではなく、広角画像と撮像装置情報の取得のみを行い、光源情報の推定と画像の高解像度化はサーバ1101側で実行する。
【0255】
サーバ1101と通信端末1100は互いに離れた位置にあり、サーバ1101はネットワークを介して通信端末1100と通信を行う。通信端末1000は情報送信部107を有し、情報送信部107は、広角画像撮像部101が撮像した広角画像と撮像装置情報取得部102が取得した撮像装置情報とをサーバ1101に送信する。また、通信端末1100はサーバ1101に、光源情報の推定および画像の高解像度化の内容を指示する。
【0256】
サーバ1101は情報受信部108を有し、情報受信部108は、通信端末1100の情報送信部107が送信した広角画像および撮像装置情報を受信する。光源情報取得部103は、受信された広角画像および撮像装置情報を用いて、光源情報を推定する。さらに、画像高解像度化部104は、受信した広角画像を、光源情報推定部103が推定した光源情報を用いて、高解像度化する。光源情報の推定および画像の高解像度化は、通信端末1100から指示された内容に従って行われる。
【0257】
このように、光源情報推定部103と画像高解像度化部104をサーバ1101に設けることによって、通信端末1100の計算負荷を軽くすることが可能である。
【0258】
本発明の画像処理方法は、画像の高解像度化以外の画像処理に関しても有効である。ここでは、Computer−Graphicsで作成された画像(CG画像)を重畳表示する拡張現実表示について説明する。
【0259】
Computer−Graphicsで作成された画像を重畳表示する場合、CG画像を、違和感のない明るさ、色合い、陰影でもって実画像に重ね込むことが重要である(例えば、特許文献1を参照)。本発明の画像処理方法では、光源の位置や方向、輝度、色、スペクトル情報を正確に取得することができるため、このような処理が可能である。この場合、画像高解像度化部104に代えて、CG画像を実画像に重畳表示する手段を設ければよい。このような重畳表示の方法は、例えば、特許文献1のような公知の方法を利用すればよい。
【0260】
以上のように、本発明の画像処理装置を利用することによって、高解像度なデジタルズーム処理などの画像処理を行うことができる。
【産業上の利用可能性】
【0261】
本発明によると、付加的な撮像装置を搭載することなく、光源画像を取得し、光源情報を推定することが可能となる。このため、例えば、人や車など移動体に取り付けたデジタルカメラやデジタルビデオカメラにおいて、画像の高解像度化などの画象処理を行うのに有用である。
【図面の簡単な説明】
【0262】
【図1】本発明の第1の実施形態に係る画像処理装置の構成を示すブロック図である。
【図2】本発明に係る画像処理装置が搭載された機器としてのウェアラブルカメラの利用形態を示す模式図である。
【図3】撮像された広角画像を示す模式図である。
【図4】メモリに保持された情報の一部を示す模式図である。
【図5】ロール・ピッチ・ヨー角表現を説明するための模式図である。
【図6】カメラ座標系と画像座標系との関係を説明するための模式図である。
【図7】撮像装置が移動することを利用して、光源の3次元位置を推定する処理を説明するための模式図である。
【図8】画像を拡散反射画像と鏡面反射画像とに分離した例を示す図である。
【図9】画像高解像度化部の構成例を示すブロック図である。
【図10】本発明の実施形態に係る画像処理装置が搭載されたウェアラブルカメラを示す図である。
【図11】直線偏光光を照射した際、偏光フィルタを回転させたときの反射光強度の変化を示すグラフである。
【図12】偏光フィルタを利用した、鏡面反射画像と拡散反射画像との分離処理の流れを示すフローチャートである。
【図13】画素ごとに偏光方向が異なる撮像装置を説明するための模式図である。
【図14】照度差ステレオ法を利用して、被写体の距離や3次元位置を求める処理を説明するための模式図である。
【図15】反射光の偏光特性を利用した形状情報の取得処理を説明するための模式図である。
【図16】自然光を照射した際、偏光フィルタを回転させたときの反射光強度の変化を示すグラフである。
【図17】テキストンに基づく高解像度化処理の概念を示す模式図である。
【図18】線形マトリクス変換を利用したテキストンに基づく高解像度化処理を説明するための概念図である。
【図19】テキストンに基づく高解像度化処理における学習処理の流れを示すPAD図である。
【図20】テキストンに基づく高解像度化処理における学習処理を説明するための模式図である。
【図21】2次元離散定常ウェーブレット変換の処理を示す図である。
【図22】2次元離散定常ウェーブレット変換をテスト画像に実施した場合の画像結果例である。
【図23】テキストンに基づく高解像度化処理における実行時の処理の流れを示すPAD図である。
【図24】テキストンに基づく高解像度化処理における実行時の処理を説明するための模式図である。
【図25】2次元離散定常逆ウェーブレット変換の処理を示す図である。
【図26】拡散反射成分と鏡面反射成分の輝度値の違いを表現するための定数Srを説明するための模式図である。
【図27】画像高解像度化処理における鏡面反射画像のパラメータ推定処理の流れを示す図である。
【図28】入射照度を表す式の各パラメータを説明するための概念図である。
【図29】シンプレックス法によるパラメータ推定処理の流れを示すフローチャートである。
【図30】シンプレックス法におけるパラメータ更新処理の流れを示したフローチャートである。
【図31】極座標表現を説明するための模式図である。
【図32】画像高解像度化処理における拡散反射画像のパラメータ推定処理の流れを示す図である。
【図33】本発明の第2の実施形態に係る画像処理装置の構成を示すブロック図である。
【図34】本発明の第3の実施形態に係る画像処理装置の構成を示すブロック図である。
【図35】被写体の観察点と撮像装置および光源との位置関係を示す模式図である。
【図36】本発明の第4の実施形態に係る画像処理システムの構成を示すブロック図である。
【符号の説明】
【0263】
101 広角画像撮像部
102 撮像装置情報取得部
103 光源情報推定部
104 画像高解像度化部
105 光源環境判定部
106 推定光源情報判定部
204 形状情報取得部
1001 撮像装置
1020 角度センサ
1024 GPSセンサ
1100 通信端末
1101 サーバ

【特許請求の範囲】
【請求項1】
広角画像を撮像可能な撮像装置を用いて、被写体を、自動的に連続して撮像する広角画像撮像部と、
前記広角画像撮像部によって撮像が行われたときにおける、前記撮像装置の状況を表す撮像装置情報を、取得する撮像装置情報取得部と、
前記広角画像撮像部によって撮像された広角画像と、前記撮像装置情報取得部によって取得された撮像装置情報とを用いて、光源の位置、色および照度を含む光源情報を推定する光源情報推定部と、
前記広角画像を、前記光源情報推定部によって推定された光源情報を用いて、高解像度化する画像高解像度化部とを備えた
ことを特徴とする画像処理装置。
【請求項2】
請求項1記載の画像処理装置において、
前記撮像装置情報取得部は、
前記撮像装置に搭載された角度センサの出力、および、前記広角画像撮像部が撮像した画像のうち、少なくともいずれか一方を用いて、前記撮像装置情報を取得するものである
ことを特徴とする画像処理装置。
【請求項3】
請求項1記載の画像処理装置において、
前記広角画像撮像部は、前記撮像装置の画素の露光時間を、領域毎に、異なる値に設定する
ことを特徴とする画像処理装置。
【請求項4】
請求項3記載の画像処理装置において、
前記広角画像撮像部は、前記撮像装置のレンズの周辺部に対応する領域において、画素の露光時間を、前記レンズの中心部に対応する領域よりも、短く設定する
ことを特徴とする画像処理装置。
【請求項5】
請求項1記載の画像処理装置において、
前記被写体の、表面の法線情報または3次元位置情報を、形状情報として取得する形状情報取得部を備え、
前記画像高解像度化部は、
前記形状情報取得部によって取得された形状情報を用いて、前記広角画像の高解像度化を行うものである
ことを特徴とする画像処理装置。
【請求項6】
請求項5記載の画像処理装置において、
前記画像高解像度化部は、前記広角画像を拡散反射成分と鏡面反射成分とに分離し、分離した拡散反射成分と鏡面反射成分とを、個別に、高解像化するものである
ことを特徴とする画像処理装置。
【請求項7】
請求項5記載の画像処理装置において、
前記画像高解像度化部は、前記広角画像をパラメータに分解し、分解したパラメータを、個別に、高解像化するものである
ことを特徴とする画像処理装置。
【請求項8】
請求項1記載の画像処理装置において、
前記画像高解像度化部は、高解像度化の拡大倍率を、画像の領域毎に、異なる値に設定する
ことを特徴とする画像処理装置。
【請求項9】
請求項8記載の画像処理装置において、
前記画像高解像度化部は、前記撮像装置のレンズの周辺部に対応する領域において、拡大倍率を、前記レンズの中心部に対応する領域よりも、高く設定する
ことを特徴とする画像処理装置。
【請求項10】
請求項1記載の画像処理装置において、
前記撮像装置に対する光源環境が変化したか否かを判定する光源環境判定部を備え、
前記光源情報推定部は、光源環境が変化したと前記光源環境判定部によって判定されたとき、光源情報の推定を行う
ことを特徴とする画像処理装置。
【請求項11】
請求項10記載の画像処理装置において、
前記光源環境判定部は、
前記撮像装置に搭載された角度センサの出力から、前記撮像装置が移動したか否かを判定し、移動したとき、光源環境が変化したと判定する
ことを特徴とする画像処理装置。
【請求項12】
請求項10記載の画像処理装置において、
前記撮像環境判定部は、
前記広角画像撮像部が撮像した画像を用いて、前記撮像装置が移動したか否かを判定し、移動したとき、光源環境が変化したと判定する
ことを特徴とする画像処理装置。
【請求項13】
請求項1記載の画像処理装置において、
前記光源情報推定部が光源情報を正確に推定しているか否かを判定する推定光源情報判定部を備え、
前記光源情報推定部は、光源情報を正確に推定していないと前記推定光源情報判定部によって判定されたとき、再度、光源情報の推定を行う
ことを特徴とする画像処理装置。
【請求項14】
請求項13記載の画像処理装置において、
前記推定光源情報判定部は、GPS(Global Positioning System)センサの出力と時刻情報とを用いて、太陽光の方向または太陽の位置を推定し、推定した方向または位置を、前記光源情報推定部によって推定された光源情報と対比することによって、判定を行う
ことを特徴とする画像処理装置。
【請求項15】
請求項13記載の画像処理装置において、
前記推定光源情報判定部は、被写体の形状情報と、前記光源情報推定部が推定した光源情報とを用いて、前記被写体の画像を推定し、推定した画像を、前記広角画像撮像部によって撮像された画像と対比することによって、判定を行う
ことを特徴とする画像処理装置。
【請求項16】
請求項13記載の画像処理装置において、
前記推定光源情報判定部は、前記広角画像撮像部によって撮像された画像の色情報を、前記光源情報推定部によって推定された光源の色と対比することによって、判定を行う
ことを特徴とする画像処理装置。
【請求項17】
画像を高解像度化する画像処理システムであって、
請求項1記載の広角画像撮像部および撮像装置情報取得部を有し、前記広角画像撮像部によって撮像された広角画像、および前記撮像装置情報取得部によって取得された撮像装置情報を送信する通信端末と、
請求項1記載の光源情報推定部および画像高解像度化部を有し、前記通信端末から送信された前記広角画像および前記撮像装置情報を受信し、前記広角画像を前記光源情報推定部および画像高解像度化部に与えるとともに、前記撮像装置情報を前記光源情報推定部に与えるサーバとを備え、
前記通信端末は、前記サーバに、光源情報の推定および画像の高解像度化の内容を指示する
ことを特徴とする画像処理システム。
【請求項18】
広角画像を撮像可能な撮像装置を用いて、被写体を、自動的に連続して撮像する第1のステップと、
前記第1のステップにおいて撮像が行われたときにおける、前記撮像装置の状況を表す撮像装置情報を、取得する第2のステップと、
前記第1のステップにおいて撮像した広角画像と、前記第2のステップにおいて取得した撮像装置情報とを用いて、光源の位置、色および照度を含む光源情報を推定する第3のステップと、
前記広角画像を、前記第3のステップにおいて推定した光源情報を用いて、高解像度化する第4のステップとを備えた
ことを特徴とする画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図8】
image rotate

【図22】
image rotate


【公開番号】特開2008−16918(P2008−16918A)
【公開日】平成20年1月24日(2008.1.24)
【国際特許分類】
【出願番号】特願2006−183168(P2006−183168)
【出願日】平成18年7月3日(2006.7.3)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】