JP2014039126A - 画像処理装置、画像処理方法、及びプログラム - Google Patents
画像処理装置、画像処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2014039126A JP2014039126A JP2012179854A JP2012179854A JP2014039126A JP 2014039126 A JP2014039126 A JP 2014039126A JP 2012179854 A JP2012179854 A JP 2012179854A JP 2012179854 A JP2012179854 A JP 2012179854A JP 2014039126 A JP2014039126 A JP 2014039126A
- Authority
- JP
- Japan
- Prior art keywords
- light source
- data
- texture
- flash
- subject
- 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.)
- Pending
Links
Images
Landscapes
- Studio Devices (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
【課題】高周波成分を十分に含まない光源下においても、適切な質感データを推定する。
【解決手段】光源情報が高周波成分を含む場合、フラッシュを用いて撮像した画像データから被写体の質感データを推定すると判定する。そして、判定に応じて被写体の被写体の反射率分布を指す質感データを推定する。質感データは、画像データ取得手段で取得した画像データと、形状データ取得手段で取得した形状データと、光源データ取得手段で取得した光源データとを用いて推定する。
【選択図】図2
【解決手段】光源情報が高周波成分を含む場合、フラッシュを用いて撮像した画像データから被写体の質感データを推定すると判定する。そして、判定に応じて被写体の被写体の反射率分布を指す質感データを推定する。質感データは、画像データ取得手段で取得した画像データと、形状データ取得手段で取得した形状データと、光源データ取得手段で取得した光源データとを用いて推定する。
【選択図】図2
Description
本発明は、質感データを推定する画像処理装置、画像処理方法、およびプログラムに関する。
撮像画像に対して撮像者の意図に沿った効果を与えるために、画像加工ソフトウェアなどによる加工処理を行う場合がある。例えば、光源の方向や輝度を変えたり、CG被写体をシーン中に合成するといった加工処理である。ここで、被写体の形状や質感、光源の情報が未知の場合、上記のような加工処理によって自然な加工画像を作成するためには、熟練者が時間をかけて加工を行う必要がある。しかし、形状、質感、光源の情報が既知の場合には、CGレンダリング技術によって加工を自動化することが可能である(特許文献1)。
上記加工処理の自動化に必要な形状、質感、光源の情報を推定する技術が数多く提案されている。例えば、特許文献2では、多視点から撮像した画像と整合性がとれるように被写体表面にパッチを生成していくことで、被写体形状を推定する技術が開示されている。また、非特許文献1では、多視点画像の画素値とレンダリング方程式から算出される反射輝度との整合性がとれるように最適化計算を行うことで、形状、質感、光源を同時に推定する技術が開示されている。
"Incorporating the Torrance and Sparrow Model of Reflectance in Uncalibrated Photometric Stereo", A. Georghiades, ICCV, pp.816-823 (2003)
"signalprocessing framework for inverse rendering", Ravi Ramamoorthi, et al, Proc. ACM SIGGRAPH 2001, pp.117-128(2001)
しかし、高周波成分を十分に含まない光源下(例えば、くもり空や物陰のように、局所的に輝度が高い光源がない環境)では、被写体の質感を推定できないことが知られている(非特許文献2)。もし、間違った質感を元に上記の自動加工処理を行うと、被写体の実際の質感を反映していない不自然な加工画像が生成されてしまう。
そこで本発明では、高周波成分を十分に含まない光源下においても、適切な質感データを推定することを目的とする。
本発明にかかる画像処理装置は、フラッシュを用いて撮像した画像データから被写体の質感データを推定するかを光源情報に基づいて判定する判定手段と、前記判定手段による判定に応じて前記被写体の質感データを推定する質感データ推定手段とを備えることを特徴とする。
本発明は、高周波成分を十分に含まない光源下でも適切な質感データを得ることができる。
以下、図面を参照して各実施例について説明する。
<装置構成>
図1は、実施例1における画像処理装置の一例を示すブロック図である。撮像部101、102は、ズームレンズ、フォーカスレンズ、ぶれ補正レンズ、絞り、シャッター、光学ローパスフィルタ、iRカットフィルタ、カラーフィルタ、CMOSやCCDなどのセンサ、及びフラッシュなどから構成され、被写体の光量を検知する。ここで、図1では撮像部が2つの例を示しているが、撮像部が2つの場合に限定されず、1つ以上の任意の数の撮像部を持つ画像処理装置に適用可能である。A/D変換部103は、被写体の光量をデジタル値に変換する。信号処理部104は、上記デジタル値にホワイトバランス処理、ガンマ処理、ノイズ低減処理などを行い、デジタル画像データを生成する。D/A変換部105は、上記デジタル画像データに対しアナログ変換を行う。シーン要素データ取得部106は、形状、光源、および質感などのシーン要素データの取得、並びに推定を行う。エンコーダ部107は、上記デジタル画像をJpegやMpegなどのファイルフォーマットに変換する処理を行う。メディアインターフェース108は、PCその他メディア(例えば、ハードディスク、メモリーカード、CFカード、SDカード、USBメモリ)につなぐためのインターフェースである。また、メディアインターフェース108はインターネットなど通信網へ接続されており必要に応じてデータの送受信を行う。CPU109は、各構成の処理全てに関わり、ROM110やRAM111に格納された命令を順に読み込み、解釈し、その結果に従って処理を実行する。また、ROM110とRAM111は、その処理に必要なプログラム、データ、作業領域などをCPU109に提供する。フラッシュ要否判定部112は、シーン要素データ取得部106において上記質感データを推定するために、撮像時にフラッシュを焚く必要があるかどうかを判定する。撮像系制御部113は、フォーカスを合わせる、シャッターを開く、絞りを調節する、フラッシュを焚くなどの、CPU109から指示された撮像系の制御を行う。操作部114は、ボタンやモードダイヤルなどが該当し、これらを介して入力されたユーザ指示を受け取る。キャラクタージェネレーション115は、文字やグラフィックなどを生成する。表示部116は、一般的には液晶ディスプレイが広く用いられており、D/A変換部105やキャラクタージェネレーション115から受け取った撮像画像や文字の表示を行う。また、タッチスクリーン機能を有していても良く、その場合は、ユーザ指示を操作部114の入力として扱うことも可能である。なお、装置の構成要素は上記以外にも存在するが、本実施例の主眼ではないので、説明を省略する。
図1は、実施例1における画像処理装置の一例を示すブロック図である。撮像部101、102は、ズームレンズ、フォーカスレンズ、ぶれ補正レンズ、絞り、シャッター、光学ローパスフィルタ、iRカットフィルタ、カラーフィルタ、CMOSやCCDなどのセンサ、及びフラッシュなどから構成され、被写体の光量を検知する。ここで、図1では撮像部が2つの例を示しているが、撮像部が2つの場合に限定されず、1つ以上の任意の数の撮像部を持つ画像処理装置に適用可能である。A/D変換部103は、被写体の光量をデジタル値に変換する。信号処理部104は、上記デジタル値にホワイトバランス処理、ガンマ処理、ノイズ低減処理などを行い、デジタル画像データを生成する。D/A変換部105は、上記デジタル画像データに対しアナログ変換を行う。シーン要素データ取得部106は、形状、光源、および質感などのシーン要素データの取得、並びに推定を行う。エンコーダ部107は、上記デジタル画像をJpegやMpegなどのファイルフォーマットに変換する処理を行う。メディアインターフェース108は、PCその他メディア(例えば、ハードディスク、メモリーカード、CFカード、SDカード、USBメモリ)につなぐためのインターフェースである。また、メディアインターフェース108はインターネットなど通信網へ接続されており必要に応じてデータの送受信を行う。CPU109は、各構成の処理全てに関わり、ROM110やRAM111に格納された命令を順に読み込み、解釈し、その結果に従って処理を実行する。また、ROM110とRAM111は、その処理に必要なプログラム、データ、作業領域などをCPU109に提供する。フラッシュ要否判定部112は、シーン要素データ取得部106において上記質感データを推定するために、撮像時にフラッシュを焚く必要があるかどうかを判定する。撮像系制御部113は、フォーカスを合わせる、シャッターを開く、絞りを調節する、フラッシュを焚くなどの、CPU109から指示された撮像系の制御を行う。操作部114は、ボタンやモードダイヤルなどが該当し、これらを介して入力されたユーザ指示を受け取る。キャラクタージェネレーション115は、文字やグラフィックなどを生成する。表示部116は、一般的には液晶ディスプレイが広く用いられており、D/A変換部105やキャラクタージェネレーション115から受け取った撮像画像や文字の表示を行う。また、タッチスクリーン機能を有していても良く、その場合は、ユーザ指示を操作部114の入力として扱うことも可能である。なお、装置の構成要素は上記以外にも存在するが、本実施例の主眼ではないので、説明を省略する。
<実施例1のフローチャート>
図2は、図1に示す画像処理装置の実施例1における動作を示すフローチャートである。図2に示すフローチャートは、例えばCPU109がROM110やRAM111に格納された命令を読み込み、解釈することによって実行される。以降では、図2を参照して画像処理装置の実施例1における動作を説明する。
図2は、図1に示す画像処理装置の実施例1における動作を示すフローチャートである。図2に示すフローチャートは、例えばCPU109がROM110やRAM111に格納された命令を読み込み、解釈することによって実行される。以降では、図2を参照して画像処理装置の実施例1における動作を説明する。
ステップS201は光源情報取得処理であり、シーン要素データ取得部106が撮像シーンの光源情報を取得する。光源情報は、後述するようにフラッシュを焚く必要があるか否かを判定するために用いられる情報である。光源情報には光源データが含まれる。光源データの一例としては、光源の位置、方向、輝度などの照明情報に関するデータが挙げられる。以下では、図3に示すような極角と方位角で表現できる「方向」と、各方向から被写体に入射する「入射輝度」の組み合わせにより光源データが表されるものとして説明を行う。なお、光源データの表し方には様々な方法があり、図3で示す例に限られないことはもちろんである。実施例1においては、光源データの取得のために任意の方法を用いてよい。光源データの取得方法は本実施例の主眼ではないため、詳細な説明は省略するが、鏡面球を撮像した画像データ、もしくは魚眼レンズを用いてシーンの周囲を撮像した画像データから光源データを取得する方法が知られている。
ステップS202で、フラッシュ要否判定部112が、ステップS201で取得した光源情報に基づいて、撮像時にフラッシュを焚く必要があるかどうかを判定する。フラッシュ要否判定部112の動作の詳細は後述する。
ステップS203で、撮像部101、102がフラッシュ要否判定部112の判定結果に応じて、フラッシュ有り撮像、もしくはフラッシュ無し撮像を行う。ここで、推定する質感データの精度を高めるために撮像部101、102は多視点から被写体を撮像することが望ましい。このような撮像部として、図4(a)のような多眼カメラや、図4(b)のような複数台カメラ、あるいは図4(c)のような撮像位置を変えながら撮像ができるビデオカメラなどがある。図4(c)の場合は、ビデオカメラで撮像した動画の複数フレームを抽出した画像が多視点画像データとなる。なお、1つの視点からの撮像画像でも、大まかな質感は取得できるため、本実施例は多視点撮像のできる撮像部に限定されない。
ステップS204で、シーン要素データ取得部106が被写体の形状データを取得する。形状データは、外部データの入力を用いても良いし、例えば例えば多視点から撮像した画像と整合性がとれるように被写体表面にパッチを生成していくことで、形状データを算出して取得してもよい。
ステップS205は質感データ推定処理であり、シーン要素データ取得部106が被写体の質感データを推定する。ここで、質感データとは、被写体の反射率分布を指す。反射率分布を表すモデルとして例えば、以下の式で表されるBRDF(Bidirectional Reflectance Distribution Function)がある。
ここで、θiは入射極角、φiは入射方位角、θrは反射極角、φrは反射方位角、Lは入射輝度、Rは反射輝度であり、それぞれの角度は形状データに含まれる「法線方向」とのなす角度である。なお、以下では、BRDFモデルにより質感データが表されるものとして説明を行うが、本実施例はこれに限定されない。BSSRDF(Bidirectional Scattering Surface Reflectance Distribution Function)など、任意の反射モデルに適用することが可能である。
<シーン要素データ取得部106の詳細>
図5は、シーン要素データ取得部106の各処理部を示すブロック図である。図4のステップS205の質感データの推定処理について図5を参照して説明する。実施例1では、撮像画像データ取得部501で取得した撮像画像データ、形状データ取得部502で取得した形状データ、光源データ取得部503を通じて取得した光源データを用いて、質感データ取得部504が被写体の質感データを推定する。以下では、質感データの推定処理の詳細について説明する。
図5は、シーン要素データ取得部106の各処理部を示すブロック図である。図4のステップS205の質感データの推定処理について図5を参照して説明する。実施例1では、撮像画像データ取得部501で取得した撮像画像データ、形状データ取得部502で取得した形状データ、光源データ取得部503を通じて取得した光源データを用いて、質感データ取得部504が被写体の質感データを推定する。以下では、質感データの推定処理の詳細について説明する。
まず、形状、質感、光源と撮像画像の画素値の関係について説明する。反射角(θr、φr)の反射光を受光する画素の画素値Iは、以下の式から算出される。
ここで、αは輝度から画素値への変換係数である。この変換係数αは測定などによって取得可能である。具体的には、輝度計で計測済みの光源を撮像し、その撮像画像の画素値と輝度計により測定した輝度の関係からαを算出すればよい。
次に、質感推定の方法について説明する。本実施例では、光源データはメディアインターフェース108を通じて光源データ取得部503が取得しているので、式2、3の中で、入射輝度L(光源データ)は、全ての入射極角θiと入射方位角φiについて既知である。また、画素値Iは撮像部101、102の画素数の分だけ既知である。これら入射輝度Lと画素値Iとの整合性がとれるようなBRDFを最適化計算により算出するというのが質感データの基本的な推定方法である。しかし、入射極角θi、入射方位角φi、反射極角θr、反射方位角φrの全組み合わせでBRDFを算出することは現実的に困難である。そこで、非特許文献1記載の技術のように、BRDFがパラメトリックモデルで表現できると仮定し、そのモデルのパラメータを求めるという方法で質感を推定するのが一般的である。なお、本実施例は質感推定の方法には依存しないため、上記以外の任意の質感推定方法を用いてよい。また、最適化計算の初期値は任意であるが、実際の質感データに近い初期値を設定するのが望ましい。
<光源周波数>
本実施例の主眼は、光源が高周波成分を十分に含んでいない場合に、「質感推定が困難であり、フラッシュを焚く必要がある」と判定する点である。以下では、光源の周波数について説明する。
本実施例の主眼は、光源が高周波成分を十分に含んでいない場合に、「質感推定が困難であり、フラッシュを焚く必要がある」と判定する点である。以下では、光源の周波数について説明する。
図6は、太陽光(図6(a))とくもり空(図6(b))について、入射極角θiと入射輝度Lとの関係を示す図である(説明の簡略化のため、入射方位角φiは固定としている)。また、図7は、太陽光(図7(a))とくもり空(図7(b))について、周波数次数fと入射輝度周波数係数L'との関係を示す図である。ここで、周波数次数fは周波数の高低を表し、入射輝度周波数係数L'は入射輝度Lを周波数変換した結果を表す。入射輝度Lを周波数変換する方法は任意だが、例えば、非特許文献2記載の球面調和展開、およびウェーブレット展開を用いればよい。以下では、これら図6と図7とを参照して、光源の周波数について説明する。
図6(a)を見ると、局所的に入射輝度Lが高くなっている。これは、太陽のある方向だけ極端に入射輝度Lが高くなっていることを表している。このように局所的に入射輝度Lが高くなる方向がある場合、光源は高周波成分を多く含む。逆に、図6(b)はくもり空であり、局所的に入射輝度Lが高くなる方向がない。このような場合、光源は高周波成分を十分に含まない。この差が図7に現れており、図7(a)の方が図7(b)よりも高周波成分を多く含んでいることが分かる。
<光源周波数と質感推定成否、およびフラッシュ要否の関係>
以下、光源周波数と質感推定の成否、およびフラッシュ要否の関係について説明する。まず、光源が高周波成分を十分に含んでいないと質感推定が困難である理由を、金属のような高光沢な質感とプラスチックのような低光沢な質感を例にして説明する。高光沢被写体と低光沢被写体とを撮像した画像を比較すると、光源の写り込み方が大きく異なる。具体的には、高光沢被写体を撮像した画像では光源がくっきりと写り込み、低光沢被写体を撮像した画像では光源がぼんやりと写り込む。この光源の写り込み方の違いから被写体が高光沢か低光沢かを判断することができる。しかし、光源が高周波成分を十分に含んでいない場合、つまり光源自体がぼんやりしている場合は、高光沢被写体と低光沢被写体のどちらを撮像しても写り込みがぼんやりとしてしまう。このように撮像画像の光源の写り込み方に差が現れなくなるため、質感データの推定が困難となる。以上が、光源が高周波成分を十分に含まない場合に質感データの推定が困難となる理由である。
以下、光源周波数と質感推定の成否、およびフラッシュ要否の関係について説明する。まず、光源が高周波成分を十分に含んでいないと質感推定が困難である理由を、金属のような高光沢な質感とプラスチックのような低光沢な質感を例にして説明する。高光沢被写体と低光沢被写体とを撮像した画像を比較すると、光源の写り込み方が大きく異なる。具体的には、高光沢被写体を撮像した画像では光源がくっきりと写り込み、低光沢被写体を撮像した画像では光源がぼんやりと写り込む。この光源の写り込み方の違いから被写体が高光沢か低光沢かを判断することができる。しかし、光源が高周波成分を十分に含んでいない場合、つまり光源自体がぼんやりしている場合は、高光沢被写体と低光沢被写体のどちらを撮像しても写り込みがぼんやりとしてしまう。このように撮像画像の光源の写り込み方に差が現れなくなるため、質感データの推定が困難となる。以上が、光源が高周波成分を十分に含まない場合に質感データの推定が困難となる理由である。
以下では、式2を周波数変換することで、上記の理由を理論的に説明する。式2を周波数変換すると、以下の式に変形することができる(式変形の詳細は非特許文献2に記載)。
ここで、B'はBRDFを周波数変換した結果(以後、BRDF周波数係数と呼ぶ)、βはどの周波数変換を行ったかにより異なる変換係数である。
続けて、光源が高周波成分を十分に含んでいないと質感推定が困難となる理由を、式4を参照して理論的に説明する。光源が高周波成分を十分に含んでいない場合、入射輝度周波数係数L'は大きなfについてゼロとなる。すると、BRDF周波数係数B'が大きなfについて非ゼロの値を持っていても、画素値Iにその影響が反映されないことが式4から分かる。質感推定は画素値Iを参照して行うため、上記のようにBRDF周波数係数B'の影響が画素値Iに反映されない場合、質感推定が困難となる。以上が、光源が高周波成分を十分に含んでいないと質感推定が困難となる理由である。
なお、BRDF周波数係数B'が大きな周波数次数fで非ゼロの値を持たない場合、すなわち、被写体が低光沢である場合では、入射輝度周波数係数L'の値に関わらず、質感推定が可能である。すなわち、質感推定の目的となるBRDF周波数係数B'が大きな周波数次数fで非ゼロの値を持たない場合、入射輝度周波数係数L'が大きな周波数次数fについてゼロであっても、BRDF周波数B'の全ての情報が画素値Iに反映される。よって、質感推定が可能となる。つまり、入射輝度周波数係数L'がどのくらい大きな周波数次数fまで非ゼロの値を持っている必要があるかは、BRDF周波数係数B'に依存する。
<フラッシュ要否判定部112のフローチャート>
図8はフラッシュ要否判定部112の各処理部を示すブロック図である。また、図9はフラッシュ要否判定部112の動作を示すフローチャートである。以降では、図9を参照して、本実施例の主眼であるフラッシュ要否判定部112の動作の流れを説明する。
図8はフラッシュ要否判定部112の各処理部を示すブロック図である。また、図9はフラッシュ要否判定部112の動作を示すフローチャートである。以降では、図9を参照して、本実施例の主眼であるフラッシュ要否判定部112の動作の流れを説明する。
ステップS901で、光源周波数変換部801が光源データを周波数変換する。周波数変換の方法は上記の通りである。
ステップS902で、フラッシュ要否決定部802が、光源が高周波成分を十分に含むかを判定する。判定方法は後述する。もし、十分に含んでいれば、ステップS903で「フラッシュは不要」であると決定し、十分に含んでいなければ、ステップS904で「フラッシュは必要」であると決定する。
<フラッシュ要否判定処理の詳細>
図10は、周波数次数fと周波数次数の閾値tとの関係を示す図である。以降では、図10を参照して、光源が高周波成分を十分に含むかどうか判定する方法を説明する。まず、周波数次数fに固定閾値を設ける方法について説明する。図10(a)と図10(b)は異なる光源を周波数変換した場合の入射輝度周波数係数L'を表している。具体的には、図10(a)では太陽光のような高周波を十分に含む光源、図10(b)ではくもり空のような高周波を十分に含まない光源をそれぞれ周波数変換している。光源が高周波成分を十分に含むかどうか判定するためには、図10(a)と図10(b)に示すような周波数次数fの閾値tをあらかじめ決めておき、閾値tよりも小さい周波数次数fで入射輝度周波数係数L'が小さい値になるか確認すればよい。つまり、閾値tよりも小さい周波数次数fで入射輝度周波数係数L'が小さい値になれば高周波成分を十分に含まないと判定し、そうでなければ高周波成分を十分に含むと判定すればよい。なお、入射輝度周波数係数L'がどの程度小さい値になった時に高周波成分を十分に含まないと判定するかは、あらかじめ閾値を設定しておき、入射輝度周波数係数L'がその閾値よりも小さいかどうかで判定すればよい。
図10は、周波数次数fと周波数次数の閾値tとの関係を示す図である。以降では、図10を参照して、光源が高周波成分を十分に含むかどうか判定する方法を説明する。まず、周波数次数fに固定閾値を設ける方法について説明する。図10(a)と図10(b)は異なる光源を周波数変換した場合の入射輝度周波数係数L'を表している。具体的には、図10(a)では太陽光のような高周波を十分に含む光源、図10(b)ではくもり空のような高周波を十分に含まない光源をそれぞれ周波数変換している。光源が高周波成分を十分に含むかどうか判定するためには、図10(a)と図10(b)に示すような周波数次数fの閾値tをあらかじめ決めておき、閾値tよりも小さい周波数次数fで入射輝度周波数係数L'が小さい値になるか確認すればよい。つまり、閾値tよりも小さい周波数次数fで入射輝度周波数係数L'が小さい値になれば高周波成分を十分に含まないと判定し、そうでなければ高周波成分を十分に含むと判定すればよい。なお、入射輝度周波数係数L'がどの程度小さい値になった時に高周波成分を十分に含まないと判定するかは、あらかじめ閾値を設定しておき、入射輝度周波数係数L'がその閾値よりも小さいかどうかで判定すればよい。
次に、周波数次数fに2つの閾値t1、t2を設けた図10(c)を参照して、周波数次数fに可変閾値を設ける方法について説明する。閾値t1、t2のうち、どちらの閾値を用いてフラッシュの要否を判定するのが適切かは、上記したようにBRDF周波数係数B'に依存する。そのため、BRDF周波数係数B'に応じて、どちらの閾値を用いるかを決定することができれば、適切な閾値でフラッシュ要否を判定できる。しかし、質感データが未知であることから、BRDF周波数係数B'も未知であり、BRDF周波数係数B'を直接閾値の決定のために用いることはできない。そこで、BRDF周波数係数B'を大まかに予測し、その予測を用いて、閾値を決定することを考える。例えば、物体認識技術を用いて、被写体の種類を認識し、その種類の被写体が持ちうる最も高周波なBRDF周波数係数B'を用いて閾値を決定すればよい。また、被写体の種類を撮像者に設定させ、その被写体の種類に適した閾値を設定してもよい。
以上が入射輝度周波数係数L'からフラッシュ要否を判定する方法の説明である。なお、本実施例は入射輝度周波数係数L'から直接フラッシュ要否を判定することに限定されない。以下では、入射輝度周波数係数L'以外からフラッシュ要否を判定する方法について説明する。
まず、撮像モードから光源周波数を予測し、その予測結果を用いてフラッシュ要否を判定する方法について説明する。ここで、撮像モードとは、「くもりモード」、「晴れモード」など、カメラの撮像設定を自動で決めるために用いるシーン情報を指す。本実施例では、撮像モードもフラッシュ要否を判定するために用いられるものであるので、光源情報と称することができる。本方法では、図11に示すような撮像モードと光源周波数の関係をテーブルとして保持しておき、このテーブルを参照して、光源周波数からフラッシュ要否を判定する。なお、上記テーブルは各撮像モードに適合するような撮像環境において実際に光源周波数を算出することで作成することができる。また、撮像モードとフラッシュ要否の関係を直接テーブルとして保持しておいてもよい。
次に、フラッシュ要否を判定する他の方法として、本撮像の前にプレ撮像を行い、プレ撮像画像データが高周波成分を十分に含んでいるか否かに応じてフラッシュ要否を判定する方法を説明する。プレ撮像画像データもフラッシュ要否を判定するために用いられるものであるので、光源情報と称することができる。具体的には、プレ撮像画像に対して周波数変換を施し、その周波数係数I'(以後、撮像画像周波数係数と呼ぶ)が高周波成分を十分に含んでいる場合には「フラッシュは不要」であると判定し、十分に含んでいない場合には「フラッシュは必要」であると判定する。このような判定を行う理由は、式4から画素値Iが高周波成分を含まない場合には、入射輝度周波数係数L'かBRDF周波数係数B'のどちらかが大きなfについてゼロに近い値となっていると判断できるからである。つまり、入射輝度周波数係数L'が大きなfについてゼロに近い値になっている可能性があるため、「フラッシュは必要」であると判定する。なお、プレ撮像画像のダイナミックレンジが狭い場合に、プレ撮像画像が高周波成分を十分に含んでいないと判定してもよい。
なお、実施例1において撮像モードやプレ撮像画像データは、フラッシュ要否の判定に用いられる光源情報である。質感推定に用いる光源データについては、先に説明したように外部から取得した光源データを用いることができる。
以上説明したように、実施例1によれば、光源情報から撮像時にフラッシュが必要かどうかを判定し、必要に応じてフラッシュ撮像を行うことで、光源が高周波成分を十分に含まない場合でも質感データを得ることができる。
実施例1では、外部から取得した光源データを用いて、質感データを推定する手法を説明した。実施例2では、本画像処理装置の撮像部を用いて光源データを取得し、質感データのみならず光源データをも推定する手法について説明する。
<実施例2のフローチャート>
図12は図1に示す画像処理装置の実施例2における動作を示すフローチャートである。以降では、図12を参照して画像処理装置の実施例2における動作を説明する。
図12は図1に示す画像処理装置の実施例2における動作を示すフローチャートである。以降では、図12を参照して画像処理装置の実施例2における動作を説明する。
ステップS1201で、フラッシュ要否判定部112が撮像時にフラッシュを焚く必要があるかどうかを判定する。フラッシュを焚く必要があるかどうかは、実施例1で説明したように、撮像モードから予測した光源周波数やプレ撮像画像の撮像画像周波数係数I'などの光源情報から判定すればよい。なお、実施例1で説明した光源情報の一例である、光源の位置、方向、輝度などの照明情報に関する光源データは実施例2では未知であるので、この光源データは、光源情報としてフラッシュ要否の判定には用いられない。
ステップS1202で、撮像部101、102がフラッシュ要否判定部112の判定結果に応じて撮像を行う。具体的には、フラッシュ要否判定部112が「フラッシュは不要」と判定した場合はフラッシュ無しで撮像を行い、「フラッシュは必要」と判定した場合はフラッシュ無しとフラッシュ有りでそれぞれ撮像を行う。すなわち、フラッシュを用いて被写体を撮像した第1の画像データと、フラッシュを用いずに被写体を撮像した第2の画像データとを取得する。なお、ステップS1201でプレ撮像を行った場合は、そのプレ撮像画像をフラッシュ無し撮像画像として利用してもよい。
ステップS1203で、シーン要素データ取得部106が被写体の形状データを取得する。形状データの取得方法は実施例1と同様であるため、説明を省略する。
ステップS1204で、シーン要素データ取得部106が被写体の質感データと光源データとを推定する。基本的には、式2のBRDFと入射輝度Lとを実施例1と同様の最適化計算により求めればよい。しかし、一般的に、式2を満たすBRDFと入射輝度Lの組み合わせは多数存在する。そのため、最適化計算の初期値が実際の質感データや光源データから離れていると、局所解に陥り、推定に失敗してしまう。そこで、最適化計算の初期値を実際の質感データや光源データに近いものにすることが重要となる。
<実施例2におけるシーン要素データ取得部106のフローチャート>
実施例2では、実施例1のように外部から光源データを取得するのではなく、フラッシュ有り撮像画像とフラッシュ無し撮像画像の比較結果から適切な推定方法と最適化計算の初期値を求めることで、光源データと質感データを両方推定する。図13は、実施例2のシーン要素データ取得部の各処理部の一例を示す図である。実施例1と異なり、入力データは撮像画像データと形状データであり、これらのデータに基づいて質感データと光源データとが出力される。
実施例2では、実施例1のように外部から光源データを取得するのではなく、フラッシュ有り撮像画像とフラッシュ無し撮像画像の比較結果から適切な推定方法と最適化計算の初期値を求めることで、光源データと質感データを両方推定する。図13は、実施例2のシーン要素データ取得部の各処理部の一例を示す図である。実施例1と異なり、入力データは撮像画像データと形状データであり、これらのデータに基づいて質感データと光源データとが出力される。
図14は実施例2における質感・光源データ取得部1303の動作を示すフローチャートである。以降では、図14を参照して実施例2における質感・光源データ取得部1303の動作を説明する。
ステップS1401で、ステップS1202において、フラッシュ有りで撮像を行ったどうか判定する。
フラッシュ有りで撮像を行ったと判定した場合、ステップS1402で、フラッシュ有り撮像画像データとフラッシュ無し撮像画像データとを周波数変換する。
続けて、ステップS1403で、フラッシュ有り撮像画像データとフラッシュ無し撮像画像データの周波数を比較する。具体的には、フラッシュ無し撮像画像データの周波数係数I'1とフラッシュ有り撮像画像データの周波数係数I'2がそれぞれゼロに近い値となる最小の周波数次数f1_minとf2_minとを比較する。なお、どの程度ゼロに近い値となった時の周波数次数を比較するかについては、あらかじめ閾値を設け、その閾値よりも周波数係数I'が小さくなった時の周波数次数を比較すればよい。
f1_minとf2_minの差があらかじめ設定された閾値より大きい場合は、ステップS1404で、フラッシュ有り撮像画像とフラッシュ無し撮像画像の差分画像を用いて推定を行う。差分画像を用いた推定処理の詳細については後述する。
f1_minとf2_minの差が閾値以下の場合、もしくは、ステップS1401においてフラッシュ有りで撮像を行っていないと判定した場合は、ステップS1405で、最適化計算の初期値を算出する。具体的には、フラッシュ無し撮像画像が高周波成分を十分に含んでいる場合には、BRDFが高周波成分を十分に含む質感データを初期値とする。逆に、フラッシュ無し撮像画像が高周波成分を十分に含んでいない場合には、BRDFが高周波成分を十分に含まない質感データを初期値とする。このような初期値とする理由は、式2から、画素値Iが高周波成分を含む場合はBRDFも高周波成分を含み、画素値Iが高周波成分を含まない場合はBRDFも高周波成分を含まないと分かるからである。なお、上記初期値として具体的にどのような質感データを設定するかは任意である。例えば、金属などの高周波なBRDFとプラスチックなどの低周波なBRDFを実際に計測しておき、撮像画像の周波数に応じて、それらBRDFを質感データの初期値として設定すればよい。このように、高周波成分を多く含む場合、高周波に対応する初期値を与えた最適化計算処理を行い、高周波成分を多く含まない場合、低周波に対応する初期値を与えた最適化計算処理を行う。
続けて、ステップS1406で、フラッシュ無し撮像画像のみを用いて質感推定および光源推定処理を行う。質感推定処理は実施例1と同様である。また、画素値、形状データ、質感データが既知となっているので、式2を満たす入射輝度Lを最適化計算により求めることで光源データを推定できる。
なお、ここで、f1_minとf2_minの差が閾値以下の場合にフラッシュ無し撮像画像データのみを用いて質感を推定する理由を説明する。f1_minとf2_minが同じ場合、フラッシュ無し撮像画像データとフラッシュ有り撮像画像データとで、実施例1において説明した質感推定成否に違いが無いということになる。ということは、シーン中の光源はフラッシュが無くとも高周波成分を十分に含んでいたということになり、フラッシュ無し撮像画像のみから推定が可能だと分かる。以上が、f1_minとf2_minの差が小さい場合に、フラッシュ無し撮像画像のみを用いて推定を行う理由である。なお上記は、f1_minとf2_minの差が小さい場合に、フラッシュ有り撮像画像を用いて質感推定を行うことを排除する趣旨ではない。すなわち、f1_minとf2_minの差が小さい場合に、後述するように差分画像データを用いて質感推定を行っても良い。
<差分画像を用いた質感・光源データ推定処理の詳細>
図15は、質感・光源データ取得部1303による差分画像データを用いた質感・光源データ推定処理の流れを示すフローチャートである。以降では、図15を参照して差分画像データを用いた質感・光源データ推定処理について説明する。
図15は、質感・光源データ取得部1303による差分画像データを用いた質感・光源データ推定処理の流れを示すフローチャートである。以降では、図15を参照して差分画像データを用いた質感・光源データ推定処理について説明する。
ステップS1501で、差分画像データを生成する。差分画像データは、フラッシュ有り撮像画像データとフラッシュ無し撮像画像データの画素値の差を取ることで生成すればよい。ここで、差分画像データはフラッシュのみを光源としてシーンを撮像した画像データと同じとなるはずである。なぜなら、フラッシュ有り撮像画像データは元々シーン中にあった光源とフラッシュの両方を光源とした撮像画像データであり、フラッシュ無し撮像画像データは元々シーン中にあった光源のみを光源とした撮像画像データだからである。なお、フラッシュ有り撮像画像データとフラッシュ無し撮像画像データとの間でカメラ位置にずれがある場合は、差分画像データを生成する前に画像位置合わせ技術により、画像間の位置を合わせればよい。しかし、光源環境の異なる画像間で位置合わせを行うことは一般的に困難である。従って、三脚などに固定して撮像を行うか、フラッシュ有り撮像画像データとフラッシュ無し撮像画像データとをほぼ同時に撮像するなど、位置ずれが起こらないよう工夫することが望ましい。
ステップS1502で、差分画像データから質感データを推定する。ここで、フラッシュの情報が既知であれば、差分画像データの画素値、形状データ、フラッシュ(光源)情報から実施例1と同様に質感データを推定することができる。
ステップS1503で、フラッシュ無し撮像画像データから、フラッシュ無し撮影の際の光源データを推定する。ここで、ステップS1502において質感データを推定したことから、画素値、形状データ、質感データが既知となっている。そのため、式2を満たす入射輝度Lを最適化計算により求めることができる。
上記したように、質感データを推定する場合には画素値、形状データ、光源データが既知であり、光源データを推定する場合には画素値、形状データ、質感データが既知となっていることから、最適化計算の初期値により局所解に陥る心配は比較的少ない。そのため、初期値として任意の値を用いることができるが、実際の光源データや質感データに近い初期値を設定する方がより望ましい。
以上説明したように、実施例2によれば、未知の光源が高周波成分を十分に含まない場合に、フラッシュ有りとフラッシュ無しでそれぞれ撮像を行い、それらの撮像画像データから推定を行うことで、質感データと光源データとを両方推定することを可能とする。
<その他の実施例>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (14)
- フラッシュを用いて撮像した画像データから被写体の質感データを推定するかを光源情報に基づいて判定する判定手段と、
前記判定手段による判定に応じて前記被写体の質感データを推定する質感データ推定手段と
を備えることを特徴とする画像処理装置。 - 前記判定手段は、前記光源情報が高周波成分を含む場合、前記フラッシュを用いて撮像した画像データから前記被写体の質感データを推定すると判定することを特徴とする請求項1に記載の画像処理装置。
- 前記光源情報として、光源の位置、方向、輝度の少なくとも1つを含む光源データを取得する光源情報取得手段をさらに備えることを特徴とする請求項1または2に記載の画像処理装置。
- 前記光源情報取得手段は、前記被写体の周囲を撮像して得られる前記光源データを取得することを特徴とする請求項3に記載の画像処理装置。
- 前記光源情報として、前記被写体を撮像した際の撮像モードを示すデータを取得する光源情報取得手段をさらに備えることを特徴とする請求項1または2に記載の画像処理装置。
- 前記光源情報として、フラッシュを用いずに前記被写体を撮像したプレ撮像画像データを取得する光源情報取得手段をさらに備えることを特徴とする請求項1または2に記載の画像処理装置。
- 前記被写体を撮像した画像データを取得する画像データ取得手段と、
前記被写体の形状データを取得する形状データ取得手段と、
光源の位置、方向、輝度の少なくとも1つを含む光源データを取得する光源データ取得手段と、をさらに備え、
前記質感データ推定手段は、前記画像データ取得手段で取得した画像データと、前記形状データ取得手段で取得した形状データと、前記光源データ取得手段で取得した光源データとを用いて前記質感データを推定することを特徴とすることを特徴とする請求項1から6のいずれかに記載の画像処理装置。 - 前記判定手段による判定に応じて前記被写体の光源データを推定する光源データ推定手段をさらに備えることを特徴とする請求項1または2に記載の画像処理装置。
- フラッシュを用いて前記被写体を撮像した第1の画像データと、フラッシュを用いずに前記被写体を撮像した第2の画像データとを取得する画像データ取得手段と、
前記第1の画像データと前記第2の画像データとの周波数次数の差に応じて前記質感データ推定手段と前記光源データ推定手段とに推定処理を行わせる制御手段と
をさらに備えることを特徴とする請求項8に記載の画像処理装置。 - 前記制御手段は、前記周波数次数の差が閾値より多い場合、前記質感データ推定手段に前記第1の画像データと前記第2の画像データとの差分である差分画像データを用いて前記質感データを推定させ、前記光源データ推定手段に前記推定した質感データと、前記第2の画像データとを用いて前記光源データを推定させる、ことを特徴とする請求項9に記載の画像処理装置。
- 前記制御手段は、前記周波数次数の差が前記閾値以下の場合、前記質感データ推定手段に前記第2の画像データを用いて前記質感データを推定させ、前記光源データ推定手段に前記第2の画像データを用いて前記光源データを推定させる、ことを特徴とする請求項9に記載の画像処理装置。
- 前記質感データ推定手段は、高周波成分を多く含む場合、高周波に対応する初期値を与えた最適化計算処理を行い、高周波成分を多く含まない場合、低周波に対応する初期値を与えた最適化計算処理を行うことを特徴とする請求項11に記載の画像処理装置。
- フラッシュを用いて撮像した画像データから被写体の質感データを推定するかを光源情報に基づいて判定する判定ステップと、
前記判定ステップによる判定に応じて前記被写体の質感データを推定する質感データ推定ステップと
を備えることを特徴とする画像処理方法。 - コンピュータを、請求項1から12のいずれかに記載の画像処理装置として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012179854A JP2014039126A (ja) | 2012-08-14 | 2012-08-14 | 画像処理装置、画像処理方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012179854A JP2014039126A (ja) | 2012-08-14 | 2012-08-14 | 画像処理装置、画像処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014039126A true JP2014039126A (ja) | 2014-02-27 |
Family
ID=50286943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012179854A Pending JP2014039126A (ja) | 2012-08-14 | 2012-08-14 | 画像処理装置、画像処理方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014039126A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017085555A (ja) * | 2015-10-27 | 2017-05-18 | キヤノン株式会社 | 画像処理装置、画像処理方法、3dプリントシステム、プログラム、記憶媒体 |
US11170514B2 (en) | 2015-10-27 | 2021-11-09 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, 3D printing system, and storage medium |
-
2012
- 2012-08-14 JP JP2012179854A patent/JP2014039126A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017085555A (ja) * | 2015-10-27 | 2017-05-18 | キヤノン株式会社 | 画像処理装置、画像処理方法、3dプリントシステム、プログラム、記憶媒体 |
US11170514B2 (en) | 2015-10-27 | 2021-11-09 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, 3D printing system, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7003238B2 (ja) | 画像処理方法、装置、及び、デバイス | |
WO2020207385A1 (en) | Method of image processing based on plurality of frames of images and electronic device | |
KR102565513B1 (ko) | 다중 기술 심도 맵 취득 및 융합을 위한 방법 및 장치 | |
CN111698434B (zh) | 图像处理设备及其控制方法和计算机可读存储介质 | |
US8786679B2 (en) | Imaging device, 3D modeling data creation method, and computer-readable recording medium storing programs | |
KR102304784B1 (ko) | 더블 카메라 기반 이미징 방법 및 장치 | |
JP3967367B2 (ja) | 画像変換方法、装置およびプログラム、テクスチャマッピング方法、装置およびプログラム、並びに、サーバークライアントシステム | |
CN108668093A (zh) | Hdr图像的生成方法及装置 | |
CN109309796A (zh) | 使用多个相机获取图像的电子装置和用其处理图像的方法 | |
CN106454079B (zh) | 图像处理方法及装置和相机 | |
CN108541374A (zh) | 一种图像融合方法、装置及终端设备 | |
JP2015197745A (ja) | 画像処理装置、撮像装置、画像処理方法及びプログラム | |
US20210084231A1 (en) | Electronic device including plurality of cameras, and operation method therefor | |
JP6045378B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2017168982A (ja) | 撮像装置、撮像装置の制御方法及びプログラム | |
JP2018041380A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
WO2020029679A1 (zh) | 控制方法、装置、成像设备、电子设备及可读存储介质 | |
JP2016208075A (ja) | 画像出力装置およびその制御方法、撮像装置、プログラム | |
JP2014039126A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
CN116437198B (zh) | 图像处理方法与电子设备 | |
JP7321772B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2014164497A (ja) | 画像処理装置、画像処理方法及びプログラム | |
WO2020084894A1 (ja) | マルチカメラシステム、制御値算出方法及び制御装置 | |
JP6666735B2 (ja) | 画像処理装置、撮像装置、画像処理装置の制御方法及びプログラム | |
JP2016072924A (ja) | 画像処理装置及び画像処理方法 |