(57)【要約】      （修正有）【課題】簡易な構成で精度良く光源色を推定可能な画像処理装置および画像処理方法を提供すること【解決手段】物体を異なる視点から撮影した複数の画像を取得する。そして、複数の画像の対応点７２〜７４を検出する。対応点の画素値の色度座標から求まる直線７５上の特定の座標が表す色を、複数の画像の撮影時の光源色として推定する。また、上記推定手段は、黒体軌跡７６と上記直線の交点７７が表す色を、光源色として推定してもよい。或いは、上記推定手段は、複数の対応点７２〜７４、８２〜８４、８６〜８８の画素値から求まる複数の直線７５、８５、８９の交点７７の座標が表す色を、光源色として推定してもよい。【選択図】図１
2017215851.tif 000002
【特許請求の範囲】
【請求項１】
物体を異なる視点から撮影した複数の画像を取得する取得手段と、
前記複数の画像の対応点を検出する検出手段と、
前記対応点の画素値の色度座標から求まる直線上の特定の座標が表す色を、前記複数の画像の撮影時の光源色として推定する推定手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記推定手段は、黒体軌跡と前記直線との交点の座標が表す色を、前記光源色として推定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記推定手段は、複数の前記対応点の画素値から求まる複数の直線の交点の座標が表す色を、前記光源色として推定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記推定手段は、前記複数の直線が１点で交わらない場合、前記複数の直線からの距離が最小となる座標が表す色を、前記光源色として推定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記推定手段は、前記複数の画像の合焦領域に含まれる対応点の画素値を用いて前記直線を求めることを特徴とする請求項１から請求項４のいずれか１項に記載の画像処理装置。
【請求項６】
前記推定手段は、前記複数の画像の主被写体領域に含まれる対応点の画素値を用いて前記直線を求めることを特徴とする請求項１から請求項４のいずれか１項に記載の画像処理装置。
【請求項７】
前記取得手段が、マイクロレンズを共有する複数の光電変換領域を備える撮像素子を用いて前記複数の画像を取得することを特徴とする請求項１から請求項６のいずれか１項に記載の画像処理装置。
【請求項８】
前記推定手段はさらに、前記推定された光源色に基づいて、前記対応点における物体色を推定することを特徴とする請求項１から請求項７のいずれか１項に記載の画像処理装置。
【請求項９】
前記検出手段はさらに、前記複数の画像から、前記物体の形状情報を生成することを特徴とする請求項１から請求項８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記形状情報が距離画像であることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
請求項１から請求項１０のいずれか１項に記載の画像処理装置と、
前記画像処理装置が生成する情報から、３次元造形装置が用いるための造形データを生成する生成手段と、
前記造形データを用いる前記３次元造形装置と、
を有することを特徴とする造形システム。
【請求項１２】
画像処理装置が実行する画像処理方法であって、
物体を異なる視点から撮影した複数の画像を取得し、
前記複数の画像の対応点を検出し、
前記対応点の画素値の色度座標から求まる直線上の特定の座標が表す色を、前記複数の画像の撮影時の光源色として推定する、
ことを特徴とする画像処理方法。
【請求項１３】
コンピュータを、請求項１から請求項１０のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法に関し、特には画像から光源色を推定する技術に関する。本発明はまた造形システムに関する。
【背景技術】
【０００２】
３次元（３Ｄ）物体の撮影画像に基づいて物体の３Ｄ形状のデータを生成する装置（３Ｄスキャナ）が知られている。例えば、ある３次元物体のミニチュアを３Ｄプリンタ（３Ｄ造形装置）で作る場合、物体の３Ｄ形状だけでなく色についても情報が取得できれば、再現性のよい造形物が得られる。
【０００３】
しかしながら、撮影画像における物体の色は、環境光の色に影響を受けている。そのため、撮影画像における環境光の色の影響を排除することが望まれる。撮影画像から環境光の色（光源色）を推定する技術として、特許文献１には、明るさの異なる近接画素間の差分を算出することで、被写体を照射する光源色を特定する方法が開示されている。また、特許文献２には、入力画像の中から鏡面反射の生じている領域を推定し、その領域において画素値の差分を算出することにより、光源色を推定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１３４１５号公報
【特許文献２】特開２０１４−７６１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１、２に開示された方法は、差分を取得する画素の位置に対応する物体の色が同一であることを仮定して光源色を推定している。そのため、例えば物体色が連続的に変化している場合など、差分を取得する画素の位置に対応する物体の色が異なっている場合には推定精度が低下するという課題があった。
【０００６】
本発明の目的は、簡易な構成で精度良く光源色を推定可能な画像処理装置および画像処理方法を提供することである。
【課題を解決するための手段】
【０００７】
上述の目的は、物体を異なる視点から撮影した複数の画像を取得する取得手段と、複数の画像の対応点を検出する検出手段と、対応点の画素値の色度座標から求まる直線上の特定の座標が表す色を、複数の画像の撮影時の光源色として推定する推定手段と、を有することを特徴とする画像処理装置によって達成される。
【発明の効果】
【０００８】
本発明によれば、簡易な構成で光源色を推定可能な画像処理装置および画像処理方法を提供することが出来る。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る光源色の推定方法を説明するための図
【図２】実施形態に係るカメラシステムの構成例を示す図
【図３】実施形態に係るカメラシステムが有する撮像素子に関する図
【図４】実施形態における物体上での光の反射と輝度に関する図
【図５】実施形態に係るカメラシステムの動作に関するフローチャート
【図６】実施形態におけるブロックマッチングに関する図
【図７】実施形態に係る３Ｄ造形システムの構成例を示す図
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明の例示的な実施形態について説明する。なお、以下では、本発明の実施形態に係る画像処理装置の一例としての、もしくは本発明の実施形態に係る画像処理方法を実施可能な装置の一例としてのカメラシステム（一眼レフデジタルカメラ）について説明する。しかしながら、本発明は画像処理が可能な電子機器において実施可能であり、撮影機能は必須では無い。本発明を実施可能な電子機器の例には、撮像装置や撮影機能を有する電子機器、各種のコンピュータ機器（パーソナルコンピュータ、タブレットコンピュータ、ウェアラブルコンピュータなど）、スマートフォン、ゲーム機、メディアプレーヤなどが含まれる。
【００１１】
図２は実施形態に係るカメラシステムの構成例を示す図であり、図２（ａ）は撮影光学系の光軸を通る鉛直断面の図、図２（ｂ）は電気的な構成例を示すブロック図である。なお、本実施形態のカメラシステムは、被写体の３次元形状の情報を取得することが可能であるため、３Ｄスキャナとしても機能する。また、環境光の色を推定し、被写体の物体色の情報を取得することが可能であるため、光源色または物体色の推定装置としても機能する。
【００１２】
カメラシステム１００は、カメラ本体１と、カメラ本体１に着脱自在に装着されるレンズユニット２を備えて構成される。カメラ本体１は、カメラ制御部５、撮像素子６、画像処理部７、メモリ部８、表示部９、操作検出部１０、電器接点１１、クイックリターンミラー１４を備えている。また、レンズユニット２は、光軸４を共通とする複数のレンズからなる撮影光学系３と、レンズ駆動部１３と、レンズ制御部１２とを有している。撮影光学系３は、絞り、フォーカスレンズ、変倍レンズ、補正レンズなどの可動部材を有する。レンズ駆動部１３は、レンズ制御部１２の制御に従ってアクチュエータやモータを駆動することにより、可動部材の位置を変更する。
【００１３】
カメラシステム１００において、撮影光学系３および撮像素子６は被写体像を電気信号に変換する撮像部の少なくとも一部を構成する。また、メモリ部８および表示部９は画像データを記録したり出力したりする記録再生部の少なくとも一部を構成する。カメラ制御部５は１つ以上のプロセッサとメモリとを有する。
【００１４】
カメラ制御部５は、メモリの不揮発性部分に記憶されたプログラムをメモリの揮発性部分にロードして実行することにより、カメラ本体１およびレンズユニット２の動作を制御し、カメラシステム１００全体の動作を実現する。カメラ制御部５はレンズ制御部１２と電器接点１１を通じて通信し、レンズ制御部１２を通じてレンズユニット２の動作を制御する。
【００１５】
レンズ制御部１２は１つ以上のプロセッサとメモリとを有する。レンズ制御部１２は、メモリの不揮発性部分に記憶されたプログラムをメモリの揮発性部分にロードして実行することにより、カメラ制御部５との通信を確立したり、カメラ制御部５の制御に基づく動作を実行したりする。さらにレンズ制御部１２は例えばレンズユニット２に設けられた加速度センサのような振れ検出センサの信号に基づいて補正レンズの駆動方向および駆動量を算出し、レンズ駆動部１３を介して補正レンズを駆動して手振れ補正を実行する。なお、手振れ補正の実行有無はカメラ制御部５から制御される。
【００１６】
撮影光学系３は、被写体の光学像を撮像素子６の撮像面に形成する。後述するように、撮像素子６の結像面には複数のマイクロレンズが格子状に配列されたマイクロレンズアレイ（以下、ＭＬＡ）が配置される。また、撮像素子６は、１つのマイクロレンズを共有する複数の光電変換部を有し、焦点検出用の信号を生成可能である。画像処理部７は、撮像素子６から得られる信号に基づいて所定の評価値を生成する。カメラ制御部５は評価値に基づいて自動焦点検出（ＡＦ）および自動露出制御（ＡＥ）処理を実行することができる。
【００１７】
画像処理部７は、撮像素子６からの信号読み出しおよび、読み出した信号に対する各種処理を実行する。画像処理部７が実行する処理には例えば以下の様なものがある。Ａ／Ｄ変換、Ｄ／Ａ変換、ノイズ低減、信号形式の変換、ホワイトバランス調整、ガンマ補正、デモザイキング、スケーリング、フィルタリング、符号化および復号、評価値の生成、画像特徴量の生成、相関演算、画像認識、ＧＵＩ画像生成、暗号化および解除など。なお、これらは単なる例示であり、他の処理を実行したり、一部を実行しないこともあり得る。
【００１８】
また、画像処理部７は、１回の撮影で撮像素子６から得られる信号に基づいて、撮影視点の異なる複数の画像（多視点画像）を生成すること、多視点画像の各画素における被写体距離を算出することができる。また、画像処理部７は多視点画像に基づいて、多視点画像の撮影時の光源（環境光）の色を推定する処理も実行する。
【００１９】
画像処理部７はこれらの処理の少なくとも一部を専用のハードウェア回路で実行することができる。また、画像処理部７はこれらの処理の少なくとも一部を、プロセッサでプログラムを実行することによって実現することができる。したがって、カメラ制御部５が画像処理部７の少なくとも一部を兼ねてもよい。また、撮像素子６がＡ／Ｄ変換機能を有していてもよい。
【００２０】
メモリ部８は記憶装置を含み、各種データの記録先として用いられるほか、表示部９のビデオメモリや、カメラ制御部５や画像処理部７のワークメモリとしても用いられる。メモリ部８が着脱可能な記憶媒体（例えばメモリカード）を含む場合、メモリ部８は記録媒体の読み書きに必要なハードウェアも合わせて有する。また、メモリ部８は、黒体放射に関する情報、例えばｘｙ色度空間における黒体放射を示す曲線を表す情報を記憶している。
【００２１】
操作検出部１０は、カメラシステムに対するユーザ指示を検出する。操作検出部１０はユーザが操作可能なボタン、スイッチ、タッチパネルなどを含むことができる。なお、ユーザ指示は視線入力や音声入力などで行われてもよく、操作検出部１０は受け付け可能な入力の種類に応じた構成を有する。操作検出部１０で検出した入力はカメラ制御部５に通知される。カメラ制御部５は、通知された入力に応じた処理を実行する。
【００２２】
例えば、レリーズボタンの押下を操作検出部１０が検出すると、カメラ制御部５は静止画の撮影・記録動作を実行する。具体的には、カメラ制御部５は、クイックリターンミラー１４をアップし、ＡＥ動作で決定された露出条件に従って撮影光学系３に含まれる絞りと撮像素子６の電荷蓄積時間を制御する。また、カメラ制御部５は撮像素子６から画像信号を読み出して画像処理部７に供給し、表示用の画像データと、記録用の画像データファイルを生成させる。さらに、カメラ制御部５は、表示用の画像データをメモリ部８のビデオメモリに書き込んで表示部９に表示させ、記録用の画像データファイルはメモリ部８の記憶装置に書き込む。
【００２３】
例えば、画像処理部７におけるホワイトバランス調整処理の一部として、後述する光源色の推定処理を実行し、推定した光源色に応じた白検出範囲を用いたオートホワイトバランス調整を実行することができる。
【００２４】
図３は撮像素子６の構成例を示す図である。本実施形態において撮像素子６は瞳分割機能を有し、１度の露光で視点の異なる複数の画像を生成することができる。図３（ａ）は撮像素子６の模式的な上面図および側面図である。撮像素子６上にはＭＬＡ２０が設けられており、ＭＬＡ２０の前側主点は撮影光学系３の結像面近傍になるように配置されている。なお、図３（ａ）ではＭＬＡ２０を構成する各マイクロレンズの形状が把握しやすいようにデフォルメしてある。
【００２５】
図３において、ｚ軸は撮影光学系３の光軸に並行で、カメラ本体１内の原点からレンズユニット方向に延びる軸である。また、カメラ本体１の底面（図２（ａ）のＢ）を水平にし、光軸上の点からカメラ本体１を見た際に、原点から鉛直上方に延びる軸をｙ軸、原点から水平左方向に延びる軸がｘ軸である。
【００２６】
図３（ｂ）は水平２つおよび垂直２つのマイクロレンズと、撮像素子６の光電変換領域との対応関係を模式的に示した図である。ここでは、１つのマイクロレンズ２１に対して、５行×５列＝２５個の光電変換領域が対応付けられている（２５個の光電変換領域が１つのマイクロレンズを共有している）。ここで、光電変換領域とは、撮像素子６において独立して信号を読み出しできる最小単位とし、複数の光電変換領域の信号を合成（加算）して読み出すことも可能である。
【００２７】
図３（ｃ）は、図３（ｂ）の光電変換領域２０−ａ〜２０−ｅと、撮影光学系３の射出瞳３１との対応関係を模式的に示した図である。図３（ｃ）の下の図は、撮像素子６の、図３（ｂ）の左上のマイクロレンズ２１に対応する部分のａ−ａ断面を示している。また、図３（ｃ）の上の図は、撮影光学系３の射出瞳面を示している。ここでは説明を分かりやすくするため、射出瞳面を９０度回転させ、紙面に平行な面として図示している（軸の方向を参照されたい）。
【００２８】
図３（ｃ）に示すように、マイクロレンズ２１は、マイクロレンズ２１に対応付けられた２５個の光電変換領域のそれぞれが、撮影光学系３の射出瞳３１内の互いに異なる特定の領域と共役関係を有するように設計されている。すなわち、図３（ｃ）の例では光電変換領域２０−ａ〜２０−ｅが、射出瞳３１内の領域３０−ａ〜３０−ｅとそれぞれ１対１で対応している。このような共役関係により、個々の光電変換領域には、射出瞳３１内の特定の領域を出射した光束のみが入射する。また、個々の光電変換領域で得られる信号は、マイクロレンズ２１に特定の方向から入射した光束の強度を表す。例えば、光電変換領域２０−ｂには、射出瞳３１内の領域３０−ｂを出射した、特定の方向からの光束のみが入射する。図３（ｃ）では理解を容易にするため、２５個の光電変換領域のうち、水平方向の５つについてのみ説明したが、他の光電変換領域についても同様である。
【００２９】
個々のマイクロレンズに対応付けられた複数の光電変換領域のうち、射出瞳内の同じ領域（例えば領域３０−ｂ）に対応する光電変換領域（この例では２０−ｂ）から得られる信号群から画像を形成することができる。従って、図３の構成を有する撮像素子６を用いた場合、１回の露光で２５種類の画像を形成することができる。この、２５種類の画像は、射出瞳３１内の異なる領域から被写体を見た画像であるため、同一被写体を異なる視点位置から撮影した多視点画像（視差画像）である。
【００３０】
なお、本実施形態では１つのマイクロレンズに複数の光電変換領域を対応付けた構成を有する撮像素子を用いて多視点画像を得る構成について説明した。しかし、多眼カメラを用いるなど、他の構成によって多視点画像を得ることもできる。
【００３１】
次に、本実施形態における光源色の推定処理について説明する。本実施形態では、物体からの反射光が、光源と同じ分光分布を有する鏡面反射成分と、物体の材質によって一部の波長が吸収された拡散反射成分との和として観察される２色性反射モデルに基づいて光源色を推定する。
【００３２】
図４（ａ）は、物体５０の表面が完全拡散反射面（ランバート面）の場合における、光線５１の反射光（拡散反射光）５２を模式的に示す図である。図４（ａ）では、反射光５２を強度の包絡線で表している。ランバート面での拡散反射光は各方向への反射が均一で、反射光の輝度（強度）は観察方向に依存しない。拡散反射光の輝度Ｌｄ（λ）は、以下の式で表すことができる。
Ｌｄ（λ）＝Ｉｅ（λ）Ｋｄ（λ）ｃｏｓθ        …（１）
ただし、Ｉｅ（λ）は光源の輝度、Ｋｄ（λ）は拡散反射特性、θは入射角、λは波長である。
【００３３】
図４（ｂ）は物体５０の表面が鏡面の場合における、光線５１の反射光（鏡面反射光）５３を模式的に示す図である。６１は光線５１の正反射方向を示している。また、図４（ａ）と同様に、反射光５３を強度の包絡線で表している。ここでは鏡面反射光のモデルとしてフォンモデルを用いるが、他のモデルを用いても良い。鏡面反射光５３の強度は、光線５１の正反射方向６１に強いピークを持ち、観察方向が正反射方向から離れると大きく減衰する。鏡面反射光の輝度Ｌｓ（λ）は、以下の式で表すことができる。
Ｌｓ（λ）＝Ｉｅ（λ）（ｃｏｓφ）ｎ      …（２）
ただし、φは正反射方向と観察方向のなす角、ｎは物体の特性によって決まる定数である。
【００３４】
２色性反射モデルによれば、物体の反射光は、鏡面反射光と拡散反射光との合成であるため、任意の視点ｐで観察される反射光の輝度Ｌ（λ）は次の式で表すことができる。
Ｌ（λ）＝Ｌｄ（λ）＋Ｌｓ（λ）
＝Ｉｅ（λ）Ｋｄ（λ）ｃｏｓθ＋Ｉｅ（λ）（ｃｏｓφｐ）ｎ  …（３）
ただし、φｐは正反射方向と視点ｐとのなす角である。
【００３５】
図４（ｃ）は、式（３）で表される、物体５０の反射光５４をカメラシステム１００で撮影したいる状態を模式的に示す図である。ここでは、光軸４が光線５１の反射点を通り、光軸４と正反射方向６１とが少しずれた位置関係にあるものとする。また、撮影光学系３は反射点５０ａに合焦している。反射光５４は、包絡線で示すように、拡散反射光５２と鏡面反射光５３とを合成した強度分布を有している。また、φaおよびφeは、撮影光学系３の瞳領域３０−ａおよび３０−ｅに入射する反射光と正反射方向６１がなす角をそれぞれ示している。
【００３６】
この例では、φa＞φeであるため、瞳領域３０−ａに入射する光束に含まれる鏡面反射光の強度は、瞳領域３０−ｅに入射する光束に含まれる鏡面反射光の強度より低くなる。一方、拡散反射光の強度は観察方向に依存しないため、瞳領域３０−ａと３０−ｅに入射する光束に含まれる拡散反射光の強度は等しい。
【００３７】
図４（ｄ）は、図４（ｃ）を複数の平行光に拡張した状態を示している。光線５１ａ〜５１ｄは物体５０に入射し、入射点（反射点）５０ａ〜５０ｄで反射する。６１ａ〜６１ｄは光線５１ａ〜５１ｄの正反射方向である。ここでは、撮影光学系３の光軸４の方向が光線５１ｂの正反射方向６１ｂと合致し、かつ反射点５０ａ〜５０ｄに合焦している。そのため、ある反射点からの反射光は、射出瞳内のどこを通っても結像面上の同じ位置に入射する。従って、光線５１ａ〜５１ｄの反射光は、撮像素子６の結像面上の点６ａ〜６ｄに結像される。
【００３８】
図４（ｄ）の下部に、撮像素子６で観察される、瞳領域３０−ａからの入射光の強度分布５２−ａと瞳領域３０−ｅからの入射光の強度分布５２−ｅを示している。ここでは、強度分布を輝度の大きさによって示している。また、５３は、結像面上の位置６ｃで観測される瞳領域３０−ａからの入射光の輝度、５４は、結像面上の位置６ｃで観測される瞳領域３０−ｅからの入射光の輝度５４を、５５は拡散反射光の輝度を、それぞれ示す。拡散反射光の強度５５は式（１）、式（３）のＬｄ（λ）に相当する。
【００３９】
このように、物体表面の同一点を異なる視点から観察した場合、観察される反射光に含まれる鏡面反射光の強度に差が生じる。そのため、この強度差を用いて鏡面反射光の色を推定する。鏡面反射光は環境光源と同じ分光分布を有するため、鏡面反射光の色の推定は環境光の色の推定に等しい。
【００４０】
以下、具体的な光源色推定動作について説明する。
図５（ａ）はカメラシステム１００における撮影動作のフローチャートである。ここでは、撮影動作の過程で光源色推定を実施するものとする。しかしながら、本実施形態の光源色推定動作は例えばメモリ部８の記憶装置などに記録済みの画像データに対して実行することも可能である。すなわち、同一物体を異なる視点から観察した画像のデータが得られれば、データの取得方法は問わない。また、ここでは例えば３Ｄプリンタへの利用を想定して被写体の３次元形状の情報の取得や物体色の推定も実行するものとするが、これらの処理は必須ではない。
【００４１】
図５（ａ）に示す処理は、例えばカメラシステム１００が撮影スタンバイ状態の際に実行される。カメラシステム１００は、撮影スタンバイ状態において継続的に動画撮影を実行し、撮影した動画を表示部９に表示する、所謂ライブビュー表示動作を実行するものとする。
【００４２】
Ｓ１１０でカメラ制御部５は、撮像素子６から１フレーム分の画像を取得し、画像処理部７に供給する。画像処理部７は、ライブビュー表示用の画像データを生成し、メモリ部８のビデオメモリ部分に書き込む。なお、ライブビュー表示においては多視点画像を生成する必要がない。そのため、カメラ制御部５は、１つのマイクロレンズを共有する複数の光電変換部のそれぞれで得られる信号を加算した信号を画像処理部７に供給する。なお、信号の読み出しは光電変換部ごとに行い、マイクロレンズあたり１つの信号が得られるように画像処理部７で加算してもよい。
【００４３】
Ｓ１２０でカメラ制御部５はメモリ部８から画像データを読み出し、表示部９に表示させ、処理をＳ１３０に進める。
【００４４】
Ｓ１３０でカメラ制御部５は、操作検出部１０で撮影開始指示が検出されたか否かを調べる。撮影開始指示は、例えば操作検出部１０に含まれるレリーズボタンの全押し操作であってよい。カメラ制御部５は、撮影開始指示が検出されていれば処理をＳ１４０に進め、検出されていなければ処理をＳ１１０に戻して次のフレームの取得および表示動作を実行する。なお、図５（ａ）には記載していないが、操作検出部１０を通じて撮影準備動作の開始指示が検出された場合、カメラ制御部５はＳ１１０およびＳ１２０の動作と並行して、ＡＦ処理やＡＥ処理などの撮影準備動作を実行する。
【００４５】
Ｓ１４０でカメラ制御部５はＡＥ処理で決定した露出条件に従って静止画撮影を行い、画像処理部７に供給する。ここでは、カメラ制御部５は、光電変換部ごとの信号を画像処理部７に供給する。画像処理部７は、共役関係を有する瞳領域が同じ光電変換部から得られた信号群ごとに１フレームの画像を生成し、メモリ部８に一時的に記憶する。撮像素子６が図３に示した構成を有する場合、１回の露光で２５フレームの多視点画像が生成可能である。なお、多視点画像は最低２フレーム生成すればよく、必ずしも２５フレーム全てを生成しなくてもよい。
【００４６】
Ｓ１５０で画像処理部７は、多視点画像間で対応点を推定する。詳細については後述する。
Ｓ１６０でカメラ制御部５は、Ｓ１５０で推定された対応点の情報を用い、光源色を推定する。詳細については後述する。
【００４７】
Ｓ１７０でカメラ制御部５は、推定された光源色に基づいて、物体色を推定する。Ｓ１６０での光源色の推定により、式（１）〜式（３）における光源輝度Ｉｅ（λ）が求まる。撮影で得られた画像は、式（３）で表される反射光によるものであるから、鏡面反射光Ｌｓ（λ）の成分を除去すれば、拡散反射光Ｌｄ（λ）を得ることができる。鏡面反射光成分は光源輝度Ｉｅ（λ）が小さいほど小さくなる。従って、多視点画像において同一物体に対応する画素のうち、輝度が最も低い画素の信号を、その物体の色成分（拡散反射光）を最も高い割合で含んでいる信号として選択することができる。あるいは、適当な反射モデル（例えばフォンモデル）の下で、拡散反射光の強度を表す関数を回帰分析などにより求め（フィッティングし）、式（３）における拡散反射光の成分Ｌｄ（λ）を推定してもよい。拡散反射光の成分を抽出することは、図４（ｃ）の反射光５４から拡散反射光５２の成分を抽出することに相当する。
【００４８】
このようにして抽出された拡散反射光の成分が表す色は、光源色の影響を受けている。そのため、Ｓ１６０で推定した光源色に基づくホワイトバランスゲインを適用することにより、観察された色から光源色の影響を低減し、物体色を推定することができる。例えば、撮像素子６が原色ベイヤ配列のカラーフィルタを用いている場合、緑フィルタの透過光に対応する信号値を基準（ゲイン１．０）として、赤および青フィルタの透過光に対応する信号値のゲインを調整する。
【００４９】
Ｓ１８０でカメラ制御部５は、撮影で得られた画像の出力（表示および記録の少なくとも一方）を行う。記録する画像は多視点画像の全てであってもよいが、多視点画像の一部、あるいは多視点画像を合成した画像であってよい。表示については多視点画像の１つ、あるいは多視点画像を合成した画像を用いることができる。なお、本実施形態では、推定した光源色に基づくホワイトバランス調整を行った画像を記録するものとする。これにより、記録画像は環境光の色に依存しない物体の色を示す。なお、記録する画像データの形式や画像データを格納するファイルの形式に制限はない。もちろん、推定した光源色のデータとともに、ホワイトバランス調整を行っていない画像（例えばＲＡＷ形式の画像）を記録してもよい。また、撮影の目的が被写体の３次元情報の取得である場合は、合成画像、距離画像、および推定した光源色を記録してもよい。
【００５０】
Ｓ１９０でカメラ制御部５は撮影および記録動作を終了するかどうか判定し、予め定められた終了指示が検出された場合には処理を終了し、検出されていなければ処理をＳ１１０に戻す。終了指示の検出は、例えば再生モードへの切り替え指示が検出された場合や、電源ＯＦＦの指示が検出された場合であってよいが、これらに限定されない。
【００５１】
次に、Ｓ１５０で行う対応点の推定処理の詳細について、図５（ｂ）に示すフローチャートを用いて説明する。対応点の推定は、Ｓ１４０で生成した多視点画像のうち、任意の２画像を対象として相対的な位置関係を探索する処理である。一方の画像の一部を矩形（ブロック）状に切り出し、テンプレートとする。そして、他方の画像に探索領域を設定し、探索領域内でテンプレートを移動させながら、個々の位置で類似度（相関）を算出し、最も類似度が高い位置を探索する。例えば、多視点画像の１つを基準画像として他のそれぞれと対応点を推定することにより、基準画像の各画素について、他の画像のそれぞれにおける対応点を検出することができる。
【００５２】
Ｓ３１０で画像処理部７は、一方の画像に対してテンプレートを設定する。テンプレートは例えば８×８画素の矩形ブロックであってよい。テンプレートの設定位置は特に制限されないが、コントラストの高いパターンや特徴的なパターンを含むように設定することで、対応点の検出精度を高めることができる。また、画像の各画素について対応点を探索する場合には、探索の対象画素を画像の左から右へ、また上から下へ順次移動させながら、対象画素を中心としたテンプレートを設定することができる。
【００５３】
Ｓ３２０で画像処理部７はブロックマッチングを行う。例えば、図６（ａ）および（ｂ）に示す画像９１、９４を対象とし、Ｓ３１０で画像９１にテンプレート９３を設定したとする。この場合、画像処理部７は、画像９４内で対応点を探索する。
【００５４】
具体的には、画像処理部７は、画像９４において、テンプレート９３と最も類似度が高い領域を探索する。例えば画像処理部７は、画像９４内の領域のうち、テンプレート９３と画素値の差分絶対値和（ＳＡＤ）が最も小さくなる領域を、テンプレート９３と最も類似度が高い領域として探索する。図６の例では、画像処理部７は、画像９１のテンプレート９３の切り出し位置に対応する、画像９４内の領域９５について、テンプレート９３との類似度をまず算出する。その後、画像処理部７は、矢印９６で示されるように、画像９４内で類似度を算出する領域の位置を水平および垂直方向に順次移動させながら、各位置で類似度を算出する。ただし、画像９１と画像９４にはエピポーラ拘束が当てはまるため、探索は画像９１と９４のエピポーラ線上の位置に限定することができる。
【００５５】
ここでは、領域９７が類似度の最も高い領域として検出されたものとする。図６（ｃ）は画像９１および９４、テンプレート９３および領域９７を重ね合わせて模式的に示した図である。テンプレート９３の移動方向および移動量を動きベクトル９９として示している。
【００５６】
Ｓ３３０で画像処理部７は、対応点情報を保存する。対応点情報は例えば、テンプレート９３から、Ｓ３２０で検出された、テンプレート９３に最も類似度の高い領域への移動ベクトルであってよい。あるいは、テンプレート９３内の対象画素の対応点として検出された画像９４の画素の座標を保存してもよい。
【００５７】
Ｓ３４０で画像処理部７は、画像９１についてのマッチング処理が完了したか（予め定められた全ての領域をテンプレートとしてマッチング処理を行ったか）否かを判定する。画像処理部７は、マッチング処理が完了したと判定されれば対応点推定処理を終了し、完了したと判定されなければ処理をＳ３１０にもどして、別の領域をテンプレートとしたマッチング処理を実行する。
【００５８】
対応点推定処理により、視点の異なる２画像、すなわちステレオ画像における対応点が特定される。そのため、画素ピッチなど既知のパラメータを用い、三角測量の原理に基づいて各画素位置についての被写体距離を推定することができる。これにより、被写体の形状に関する情報を得ることができる。例えば３次元物体を異なる角度から複数回撮影し、各撮影で得られる形状情報を合成することで、３次元物体全体の形状情報を得ることができる。
【００５９】
次に、Ｓ１６０で行う光源色の推定処理の詳細について、図５（ｃ）に示すフローチャートを用いて説明する。
Ｓ４１０でカメラ制御部５は、対応点推定処理により得られた対応点の情報と、画素値とに基づいて、同一物体の同一位置（すなわち、対応点）に対応する複数の画素の値（色）を色度図にマッピングする。マッピングの詳細に関しては図１を用いて後述する。マッピングは、光源色推定に用いる領域に含まれる少なくとも１つ以上の対応点について行う。
【００６０】
Ｓ４２０でカメラ制御部５は、光源色推定に用いるすべての領域について、Ｓ４１０のマッピング処理を行ったか判断している。なお、光源色推定に用いる領域が１つの場合、Ｓ４２０は省略できる。しかし、例えば互いに異なる色を有する複数の領域を光源色推定に用いる領域に設定し、各領域で推定した光源色に基づいて最終的な光源色を推定することで、推定精度を向上させることができる。
【００６１】
一般的には主被写体の色を正しく認識することが最も重要と考えられる。そのため、合焦領域や焦点検出領域の情報を用いたり、例えば顔検出や人物認識などの被写体検出の結果を用いたりして画像中の主被写体領域を特定し、光源色推定に用いる領域として設定することができる。例えば、合焦領域を主被写体領域とみなして光源色推定に用いる領域として設定したり、合焦領域内で彩度が大きく異なる複数の領域を光源色推定に用いる領域として設定したりすることができる。
【００６２】
Ｓ４３０でカメラ制御部５は最尤推定などに基づいて光源の推定色を決定する。図１（ｂ）を用いて後述する例のように、複数の対応点についてマッピングを行った場合、個々に推定される光源色が合致しないことがある。このような場合、カメラ制御部５は、最小２乗法などの最尤推定に基づいて光源色を決定する。
【００６３】
図１を用いて色度図への画素値のマッピングと、光源色の推定原理について説明する。ここでは色度図として、ＣＩＥ標準表色系として規定されているｘｙ色度図を用いている。しかし、同一物体色についての反射光（拡散反射光と鏡面反射光が合成された反射光）の色度が、色度図上において物体色と光源色とを結ぶ直線上に位置するという条件を満たす任意の表色系を用いることができる。
【００６４】
図１（ａ）は、光源が黒体放射で近似できると仮定した場合の光源色推定方法を説明する図である。
７１は単波長光の色（もっとも彩度の高い色）がｘｙ色度図上で描く線を、７２〜７４は物体上の同一点を異なる視点から見たときに観察された色の座標（色度座標）を、７５は座標７２〜７４から算出した直線を示す。また、７６は黒体軌跡、７７は推定された光源色の色度座標をそれぞれ示す。
【００６５】
黒体とは、外部から入射する電磁波のエネルギーを波長によらず完全に吸収し、かつ放射する理想的な物体であり、黒体の絶対温度［Ｋ］が定まれば、放射される電磁波の分光分布（すなわち、色）が一義的に定まる物体である。低い色温度（１０００Ｋ程度）では赤みを帯びた色を、中間くらいの色温度（６０００Ｋ程度）では白い色を、高い色温度（１００００Ｋ程度）では青みを帯びた色を有する。このような、色温度に応じた黒体放射の色変化をｘｙ色度図に示したのが黒体軌跡７６である。太陽光は黒体放射で非常によく近似できることが知られており、屋外の光源（人工光源を除く）は黒体放射で近似できる。色度図上の黒体軌跡を表す情報は、例えばメモリ部８に記憶されている。
【００６６】
座標７２〜７４は、光源色推定処理のＳ４１０でマッピングされた、物体上の同一点を異なる視点から見たときに観察された色の例である。
【００６７】
図４および式（３）で示したように、物体上の一点からの反射光に含まれる鏡面反射成分の大きさは、視点によって変化する。そのため、物体上の同じ位置を異なる視点から観察すると、異なった色に見える。上述の通り、拡散反射成分の大きさは観察位置に依存しないため、視点位置による色の違いは鏡面反射成分の大きさの違いによるものである。拡散反射成分が同一で、鏡面反射成分の大きさの違いによって違う色に観察された色を色度図にマッピング（プロット）すると、それらの座標（この例では座標７２〜７４）によって直線（直線７５）を規定することができる。直線７５は、ある特定の物体色について観察される、鏡面反射成分の大きさに応じた見かけの色の軌跡を示す。したがって、物体色と光源色はいずれも直線７５上に存在する。従って、光源が黒体放射で近似できる場合には、直線７５と黒体軌跡７６との交点７７が光源色に該当する。
【００６８】
なお、３点以上マッピングした場合など、全ての座標を通る直線が得られない場合、カメラ制御部５は最小２乗法などの方法で直線７５を定めることができる。そして、カメラ制御部５は、黒体軌跡７６と直線７５の交点７７を光源の推定色として求める。
【００６９】
光源が黒体放射で良く近似できる場合には、黒体軌跡を用いて光源色を推定する方が容易であるが、黒体放射では近似精度が低い光源については推定精度が低下する。図１（ｂ）は光源が黒体放射で近似できると仮定せず、画像から得られる情報のみに基づいて光源色を推定する方法を説明する図である。
【００７０】
図１（ｂ）において、図１（ａ）と共通する構成には同じ参照番号を付した。座標８２〜８４は座標７２〜７４とは異なる色を有する物体上の点を異なる視点から見たときに観察された色を、８５は座標８２〜８４から求めた直線を示す。また、座標８６〜８８は座標７２〜７４および座標８２〜８４とは異なる色を有する物体上の点を異なる視点から見たときに観察された色を、８９は座標８６〜８８から求めた直線を示す。
【００７１】
図１（ｂ）の例においても、鏡面反射成分の大きさによって見かけ上の色が異なる複数の座標から求めた直線上の座標として光源色を特定する点は図１（ａ）の例と同様である。図１（ｂ）の例では、黒体軌跡の代わりに、異なる物体色に係る直線を複数求め、それら複数の直線の交点の座標を光源色として特定する。具体的には、複数の物体色についてそれぞれ直線７５，８５，８９を求め、直線の交点を光源の推定色とする。直線が１点で交わらない場合には、交点に最も近い座標として、３つの直線からの距離の和が最も小さくなる座標７７を求め、光源の推定色とする。なお、ここでは直線を３本求めたが、２本以上の任意数の直線に基づいて光源色を推定することができる。
【００７２】
図１（ｂ）の例ではマッピングした画素値から求めた複数の直線の交点を求める。従って、色が異なる複数の領域を、光源色の推定に用いる領域としてマッピングを行う。
【００７３】
また、本実施形態では、光源が黒体放射で近似できると仮定するか（推定に黒体軌跡を用いるか）否かにかかわらず、マッピングした画素値の座標から求めた直線を用いて光源色を推定する。そのため、直線を規定する座標は色度図上である程度離れていた方が正しい直線が得られやすく、推定精度が向上する。例えば、複数の視差画像のうち、視点が最も離れた画像対など、鏡面反射成分の大きさが有意に変化しやすい画像対をマッピングに用いることができる。また、対応点推定処理において、探索範囲で局所的に類似度が低かった領域の画素をマッピングに用いてもよい。
【００７４】
以上説明したように、本実施形態では異なる視点から物体上の点を観察した複数の画像（多視点画像）を用いることで、例えば色が連続的に変化する物体の反射光から光源色を精度よく推定することができる。なお、多視点画像は多眼カメラを用いたり、１つのカメラの撮影位置を移動させたりすることで取得されてもよい。また、撮影時の視点位置や画素ピッチ、被写体距離などの情報が記録されていれば、記録済みの多視点画像を用いることも可能である。一方、本実施形態で用いるような撮像素子を用いることで、１台のカメラによる１度の撮影で多視点画像を取得可能であるという利点がある。
【００７５】
（その他の実施形態）
図７は、上述の実施形態で説明したカメラシステムを３Ｄスキャナとして用いた造形システムの構成例を模式的に示している。造形システムは、３Ｄスキャナとしてのカメラシステム１００と、画像処理装置の一例であるパーソナルコンピュータ（ＰＣ）２００と、３Ｄプリンタのような３次元造形装置３００とを有する。カメラシステム１００とＰＣ２００とはケーブル１５０で、ＰＣ２００と３次元造形装置３００とはケーブル２５０でそれぞれ接続されている。なお、ケーブルのかわりに無線通信を用いて機器間が接続されてもよい。
【００７６】
例えばカメラ制御部５は、図５のＳ１８０で記録した情報をＰＣ２００に送信する。ＰＣ２００は例えば多視点画像から距離画像を生成したり、環境光源の色を推定したり、推定した光源色に基づくホワイトバランス調整を行ったりして、３次元造形装置３００が用いるための造形データを生成する。なお、距離画像、光源色、物体色の１つ以上はカメラシステム１００から取得してもよい。なお、ユーザは、必要に応じて被写体の全周の画像をカメラシステム１００を用いて取得し、ＰＣ２００に送信するようにしてもよい。３次元造形装置３００は、ＰＣ２００が生成した造形データに基づいて３次元物体を生成する。このような造形システムでは、簡易な構成で光源色を推定し、色を忠実に再現した造形物を提供することができる。
【００７７】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７８】
２…レンズユニット、３…撮影光学系、５…カメラ制御部、７…画像処理部、８…メモリ部、９…表示部、１０…操作検出部、１２…レンズ制御部、１００…カメラシステム
【図１】
2017215851.tif 000003
【図２】
2017215851.tif 000004
【図３】
2017215851.tif 000005
【図４】
2017215851.tif 000006
【図５】
2017215851.tif 000007
【図６】
2017215851.tif 000008
【図７】
2017215851.tif 000009