以下、図面を参照して、本発明の実施形態による画像処理装置を説明する。ここでは、1枚の画像に対する処理を説明するが、複数の連続する画像に対して処理を繰り返すことで映像(動画像)を処理することができる。なお、映像の全てのフレームに適用せずに、一部のフレームに対して本手法による処理を適用し、その他のフレームに対しては別の処理を適用しても構わない。
図1は本実施形態における画像処理装置の構成を示すブロック図である。画像処理装置100は、コンピュータ装置によって構成し、図1に示すように、処理対象画像入力部101、参照ライトフィールド画像入力部102及び高解像度ライトフィールド画像生成部103を備えている。
処理対象画像入力部101は、ライトフィールド化の対象となる高解像度の画像を入力する。以下では、この画像を処理対象画像と称する。参照ライトフィールド画像入力部102は、処理対象画像よりも空間解像度が低く、処理対象画像と同一のシーンに対するライトフィールド画像を入力する。以下では、この低解像度ライトフィールド画像を参照ライトフィールド画像と称する。
なお、どのようなライトフィールド画像が入力されても構わない。例えば、非特許文献1のようなメインレンズによって結像した被写体の光学像を複数のマイクロレンズを用いて取得したライトフィールド画像であっても、別の方法を用いて取得したライトフィールド画像であっても構わない。ここでは、非特許文献1のライトフィールド画像が入力されるものとする。
高解像度ライトフィールド画像生成部103は、処理対象画像と参照ライトフィールド画像とを用いて、処理対象画像をライトフィールド化した画像を推定して生成する。以下では、生成されたライトフィールド画像を高解像度ライトフィールド画像と称する。
次に、図2を参照して、図1に示す画像処理装置100の動作を説明する。図2は、図1に示す画像処理装置100の動作を示すフローチャートである。まず、処理対象画像入力部101は処理対象画像を入力して内部に保持する。これと並行して、参照ライトフィールド画像入力部102は参照ライトフィールド画像を入力して内部に保持する(ステップS101)。
処理対象画像および参照ライトフィールド画像の入力が終了したら、高解像度ライトフィールド画像生成部103は、処理対象画像と参照ライトフィールド画像とを用いて、処理対象画像に対するライトフィールド画像を推定することで、高解像度ライトフィールド画像を生成する(ステップ102)。生成された高解像度ライトフィールド画像は画像処理装置100の出力となる。ここでの処理は、処理対象画像と参照ライトライトフィールド画像を用いる処理であれば、どのような手法を用いても構わない。
例えば、処理対象画像や参照ライトフィールド画像との整合性を考慮しながら高解像度ライトフィールド画像を生成するようにしても構わない。その際に、(1)式、(2)式に従って高解像度ライトフィールド画像を生成しても構わない。
ここで、LF
high、LF
low及びI
highは、それぞれ、高解像度ライトフィールド画像、参照ライトフィールド画像及び処理対象画像を表す。また、Downはライトフィールド画像に対するダウンサンプル処理を表し、与えられたライトフィールド画像をダウンサンプルして、参照ライトフィールド画像と同じ条件のライトフィールド画像を生成した結果を返す。
Convはライトフィールド画像から通常の画像を再構成する処理を表し、与えられたライトフィールド画像から、処理対象画像と同じ条件の画像を再構成した結果を返す。α、β及びγはそれぞれの項の重みを調節するパラメータである。‖A‖はAのノルムを表す(典型的にはl2ノルムが用いられる)。Rは与えられたライトフィールド画像のライトフィールド画像らしさを評価した結果を返す。どのような基準で評価を行っても構わないが、ここでは、値が小さいほどライトフィールド画像らしさが高いものとするが、値が大きいほどライトフィールドらしさを返すものでも構わない。その場合、βは負の数となる。
Rとしては、例えば、(3)式、(4)式に示すようにライトフィールド画像におけるスパース性を用いても構わない。つまり、ライトフィールド画像を過完備(オーバーコンプリート)な辞書Dを用いて表現した際の係数ベクトルχのノルムを用いても構わない。ここで‖χ‖
nはχのl
nノルムを表し、l
0ノルムやl
1ノルム、l
1/2ノルムなどが用いられるが、何を用いても構わない。
過完備な辞書Dはどのような方法を用いて生成しても構わない。例えば、参照ライトフィールド画像を用いて生成しても構わないし、別のライトフィールド画像群を用いて生成しても構わない。具体的な生成方法としては、例えば、文献「J. Mairal, F. Bach, J. Ponce, and G. Spairo, "Online Dictionary Learning for Sparse Coding", International Conference on Machine Learning, 2009.」に記載の生成方法を用いても構わない。なお、別のライトフィールド画像群を用いて生成する場合は、事前に生成しておいた辞書を入力して用いても構わない。
その他の例としては、ライトフィールド画像から生成されるリフォーカス画像や全焦点画像の画像らしさを用いても構わない。画像らしさの尺度としてはTV(Total Variation)ノルムなどがある。リフォーカス画像は1つでも構わないし、複数のリフォーカス画像を生成して、それらの画像らしさの平均値や合計値などを用いても構わない。更に別の例としては、ライトフィールド画像から生成できる多視点画像の画像らしさの平均値や合計値、分散などを用いても構わない。
Down及びConvはライトフィールド画像の形式やダウンサンプルの比率等に従って適切な手法を用いる必要がある。例えば、非特許文献1に記載のように、メインレンズによって結像した被写体の光学像を複数のマイクロレンズを用いてライトフィールド画像を撮像する場合、Downを、ダウンサンプル後の1つのマイクロレンズに対応する領域に存在するマイクロレンズ群に対して、マイクロレンズ下の画像の平均画像を求める処理として定義しても構わない。なお、ダウンサンプルの対象となるライトフィールド画像と参照ライトフィールド画像とが、異なる位置や向きから取得されたものの場合、Downでは、その位置や向きの違いも考慮した処理を含めても構わない。
別の例として、同様の手法によって得られたライトフィールド画像に対するConvによる変換は、例えば、変換後の1画素に対応する領域に入射した光線の平均値を求める処理として定義しても構わない。より具体的には、変換後の1画素に対応する領域に存在するマイクロレンズ下の画素の平均値や重み付き平均値を求める処理として定義しても構わない。なお、変換の対象となるライトフィールド画像と高解像度画像とが、異なる位置や向きから取得されたものの場合、Convでは、その位置や向きの違いも補償する処理を含めても構わない。
前述の(1)式で表した最小化問題に対して、どのような方法を用いて解となる高解像ライトフィールド画像を求めても構わない。例えば、全ての高解像度ライトフィールド画像の候補に対して評価値を計算し、その最小値を与えるものを求めても構わない。別の方法としては、Matching Persuit(MP)やOrthogonal Matching Persuit(OMP)、内点法、Block Coordinate Relaxation (BCR)法、Alternating Directional Method of Multiplers(ADMM)などを用いても構わない。
次に、図3を参照して、図1に示す高解像度ライトフィールド画像生成部103の詳細な構成を説明する。図3は、ライトフィールド画像から通常画像への変換及びライトフィールド画像のダウンサンプルを用いて、処理対象画像及び参照ライトフィールド画像との整合性を考慮しながら高解像度ライトフィールド画像を生成する高解像度ライトフィールド画像生成部103の構成を示すブロック図である。高解度ライトフィールド画像生成部103は、図3に示すように、位置関係設定部1031、高解像度ライトフィールド画像候補生成部1032、通常画像化部1033、ライトフィールド画像ダウンサンプル部1034、高解像度ライトフィールド画像候補補正部1035及びスイッチ1036を備えている。
位置関係設定部1031は、処理対象画像に対するカメラと参照ライトフィールド画像に対するカメラの位置関係を設定する。高解像度ライトフィールド画像候補生成部1032は、高解像度ライトフィールドの候補となるライトフィールド画像を生成する。通常画像化部1033は、高解像度ライトフィールド画像候補の角度解像度を縮退させることで、処理対象画像に対する推定画像を生成する。ライトフィールド画像ダウンサンプル部1034は、ライトフィールド画像に対するダウンサンプル及び位置関係に基づく変換によって、高解像度ライトフィールド画像候補の空間解像度を低下させ、参照ライトフィールド画像に対する推定画像を生成する。高解像度ライトフィールド画像候補補正部1035は、処理対象画像及びその推定画像と参照ライトフィールド画像及びその推定画像とを用いて、高解像度ライトフィールド画像候補を補正する。
次に、図4を参照して、図3に示す高解像度ライトフィールド画像生成部103の動作を説明する。図4は、図3に示す高解像度ライトフィールド画像生成部103の動作を示すフローチャートである。まず、位置関係設定部1031は、処理対象画像と参照ライトフィールド画像の位置関係を設定する(ステップS201)。処理対象画像と参照ライトフィールド画像の位置関係が分かるものであればどのような情報を設定しても構わない。例えば、文献「Oliver Faugeras, "Three-Dimension Computer Vision", MIT Press; BCTC/UFF-006.37 F259 1993, ISBN:0-262-06158-9.」に記載されているようなカメラパラメータを設定しても構わない。
また、どのように位置関係を示す情報を設定しても構わない。例えば、別途与えられる位置関係の情報を設定しても構わない。特に、処理対象画像と参照ライトフィールド画像とが、ハーフミラー等を用いて同じ位置で取得されたことが既知の場合は、同じ位置であることを設定しても構わない。なお、常に同じ位置であることが明らかであれば、このステップを省略し、以降の位置関係に伴う処理を行わないようにしても構わない。
別の方法としては、参照ライトフィールド画像からリフォーカス画像や全焦点画像、要素画像を生成し、それらと処理対象画像における画像間の対応点情報を求め、それらを用いることで求めても構わない。画像間の対応点情報から位置関係を求める方法としては、例えば、Structure from Motion(SfM)を用いても構わない。
位置関係の設定が終了したら、高解像度ライトフィールド画像候補生成部1032は、高解像度ライトフィールド画像候補を設定する(ステップS202)。どのように候補を設定しても構わない。例えば、全ての画素値が0のライトフィールド画像を設定しても構わないし、任意のライトフィールド画像を設定しても構わない。別の方法としては、参照ライトフィールド画像に対して、角度成分毎にフィルタ等を用いた拡大処理を行うことで生成したライトフィールド画像を設定しても構わない。その際、全ての角度成分で同じ拡大処理を用いても構わないし、異なる拡大処理を用いても構わない。
更に別の方法としては、処理対象画像に対して、任意のモデルに基づく角度成分の情報を与えることで生成したライトフィールド画像を設定しても構わない。角度成分の情報を与える方法としては、全ての角度成分が同じであるとしても構わないし、各画素に対して周辺の画像を縮小することで生成しても構わない。なお、周辺の画像を縮小して生成する際に、生成された角度成分の画素値の平均値が、元の画素値と同じになるように縮小処理を行うようにしても構わない。
また、高解像度ライトフィールド画像候補を直接生成するのではなく、前述した辞書Dに対する係数ベクトルχの候補を設定し、辞書Dを用いて高解像度ライトフィールド画像候補を生成しても構わない。係数ベクトルχの候補としては、ゼロベクトルを用いても構わないし、参照ライトフィールド画像に対する係数ベクトルを求め、それをアップサンプルすることで生成したベクトルを用いても構わない。
高解像度ライトフィールド画像候補の設定が終了したら、スイッチ1036を操作し、通常画像化部1033は高解像度ライトフィールド画像候補から処理対象画像に対応する画像を生成し(ステップS203)、ライトフィールド画像ダウンサンプル部1034は高解像度ライトフィールド画像候補から参照ライトフィールド画像に対応する画像を生成する(ステップS204)。ここでの処理は、それぞれ、前述したConvおよびDownによる処理と同じである。なお、ステップS203とステップS204はどちらを先に行っても構わない。
次に、高解像度ライトフィールド画像候補補正部1035は、得られた画像群を用いて高解像度ライトフィールド画像候補が更新処理の終了条件を満たすか否かをチェックする(ステップS205)。どのような終了条件を用いても構わないが、例えば、(2)式のE(LF)によって得られる高解像度ライトフィールド画像候補LFの評価値が予め定められた閾値より小さいか否かを終了条件にしても構わないし、高解像度ライトフィールド画像の更新回数が予め定められた回数行われたか否かを終了条件にしても構わないし、そのどちらか一方もしくは両方を満たすか否かを終了条件にしても構わない。
終了条件を満たしていた場合、高解像度ライトフィールド画像候補補正部1035は、高解像度ライトフィールド画像候補を高解像度ライトフィールドとして出力して処理を終了する。
一方、終了条件を満たしていない場合、高解像度ライトフィールド画像候補補正部1035は、高解像度ライトフィールド画像候補を更新する(ステップS206)。更新された高解像度ライトフィールド画像候補は、スイッチ1036が操作され、再度、通常画像化部1033、ライトフィールド画像ダウンサンプル部1034及び高解像度ライトフィールド画像候補補正部1035へ入力される。高解像度ライトフィールド画像候補の更新は、どのような方法を用いて行っても構わない。例えば、ランダムに生成された任意のライトフィールド画像を高解像度ライトフィールド画像候補として設定することで更新を行っても構わない。
なお、ステップS203及びステップS204において、高解像度ライトフィールド画像候補から生成された処理対象画像及び参照ライトフィールド画像に対する画像を、更新処理に使用しても構わない。例えば、前述のOMPなどの方法では、それら高解像度ライトフィールド画像から生成された画像と処理対象画像や参照ライトフィールド画像との誤差を計算し、その誤差に基づいて高解像ライトフィールド画像候補を更新する。
前述した説明では終了条件をチェックする前に、高解像度ライトフィールド画像候補から処理対象画像及び参照ライトフィールド画像に対する画像を生成しているが、それらの画像は終了条件のチェックには使用せず、高解像度ライトフィールド画像候補の更新処理のみ使用する場合は、図5に示すように、終了条件を満たさなかった場合のみに生成するようにしても構わない。図5は、図3に示す高解像度ライトフィールド画像生成部103の動作の変形例を示すフローチャートである。図5において、図4に示す処理と同じ処理には同じ符号を付与してある。
前述した説明では、1フレームに対する処理を説明したが、複数フレーム繰り返すことで映像(動画像)を処理することができる。また、前述した説明では画像処理装置の構成及び処理動作を説明したが、これら画像処理装置の各部の動作に対応した処理動作によって本発明の画像処理方法を実現することができる。
このように、空間解像度の高いライトフィールド画像を直接取得するのではなく、同じシーンにおける空間解像度の限定されたライトフィールド画像を用いて、空間解像度の高い通常の画像に対する角度成分の情報を生成することで、空間解像度を損なわずにライトフィールド画像を生成することができる。
図6は、前述した画像処理装置100をコンピュータとソフトウェアプログラムとによって構成する場合のハードウェア構成を示すブロック図である。図6に示すシステムは、プログラムを実行するCPU50と、CPU50がアクセスするプログラムやデータが格納されるRAM等のメモリ51と、カメラ等からの処理対象の画像信号を入力する処理対象画像入力部52(ディスク装置等による映像信号を記憶する記憶部でもよい)と、ライトフィールドカメラ等から参照ライトフィールド画像の画像信号を入力する参照ライトフィールド画像入力部53(ディスク装置等によるライトフィールドを記憶する記憶部でもよい)と、画像処理をCPU50に実行させるソフトウェアプログラムである画像処理プログラム541が格納されたプログラム記憶装置54と、CPU50がメモリ51にロードされた画像処理プログラム541を実行することにより生成された高解像度ライトフィールド画像を出力する高解像度ライトフィールド画像出力部55(ディスク装置等による高解像度ライトフィールド画像を記憶する記憶部でもよい)とが、バスで接続された構成になっている。
以上説明したように、処理対象画像と、当該処理対象画像より空間解像度が低いライトフィールド画像を用いて、当該処理対象画像をライトフィールド化した画像を生成することにより、ライトフィールドカメラで処理対象画像と同一のシーンを撮像したライトフィールド画像よりも解像度の高いライトフィールド化した画像を得ることができる。
前述した実施形態における画像処理装置100をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、PLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されるものであってもよい。
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。