(57)【要約】【課題】精度よく面法線情報を取得する場合のユーザー負荷を低減可能な制御装置、照明装置、撮像装置、画像処理装置、画像処理方法、プログラムおよび記憶媒体を提供すること。【解決手段】制御装置は、位置の異なる少なくとも３つの光源を用いて撮影された画像を取得する際の撮影状態に関する付加情報を画像に関連づけて記録する書込部を有し、付加情報は、光源から画像上の被写体に対する光の入射角度の情報、および画像上における光源から照射される光の光量分布情報の少なくとも一方を識別可能な情報である。【選択図】図１Ａ
2020127190.tif 000002
【特許請求の範囲】
【請求項１】
位置の異なる少なくとも３つの光源を用いて撮影された画像を取得する際の撮影状態に関する付加情報を前記画像に関連づけて記録する書込部を有し、
前記付加情報は、前記光源から前記画像上の被写体に対する光の入射角度の情報、および前記画像上における前記光源から照射される光の光量分布情報の少なくとも一方を識別可能な情報であることを特徴とする制御装置。
【請求項２】
前記少なくとも３つの光源の発光状態を制御する制御部を更に有することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記付加情報は、前記入射角度の情報、および前記光量分布情報を識別可能な情報であることを特徴とする請求項１または２に記載の制御装置。
【請求項４】
前記少なくとも３つの光源の発光状態を制御する制御部を更に有し、
前記制御部は、複数の発光モードを切り替える機能を備え、
前記書込部は、前記発光モードに基づいて前記付加情報を変更することを特徴とする請求項１から３のいずれか一項に記載の制御装置。
【請求項５】
前記発光モードは、少なくとも３回以上の撮影信号のそれぞれに同期して前記発光状態を変更するプログラム発光モードを含むことを特徴とする請求項４に記載の制御装置。
【請求項６】
前記プログラム発光モードの複数の発光状態のうち少なくとも１つは、全ての光源を発光させない状態であることを特徴とする請求項５に記載の制御装置。
【請求項７】
前記プログラム発光モードで取得された複数の画像を用いて被写体の面法線情報を取得可能な面法線情報取得部を更に有することを特徴とする請求項５または６に記載の制御装置。
【請求項８】
前記付加情報は、前記プログラム発光モードにおいて、前記光源を備える照明装置の識別情報を含むことを特徴とする請求項５から７のいずれか一項に記載の制御装置。
【請求項９】
前記付加情報は、前記プログラム発光モードにおいて、撮像装置に対する前記光源の位置情報を含むことを特徴とする請求項５から８のいずれか一項に記載の制御装置。
【請求項１０】
前記付加情報は、前記プログラム発光モードにおいて、前記光源のそれぞれの発光状態を識別可能な情報を含むことを特徴とする請求項５から９のいずれか一項に記載の制御装置。
【請求項１１】
前記発光モードは、全ての光源を発光させる全発光モードと、全ての光源を発光させない非発光モードと、を含むことを特徴とする請求項４から１０のいずれか一項に記載の制御装置。
【請求項１２】
第１の発光モードにおいて所定の発光状態で撮影された場合の前記付加情報は、第２の発光モードにおいて前記所定の発光状態で撮影された場合の付加情報と異なることを特徴とする請求項４から１１のいずれか一項に記載の制御装置。
【請求項１３】
前記付加情報は、撮影条件、トリミング情報、およびセンサーサイズのうち少なくとも１つを含むことを特徴とする請求項１から１１のいずれか一項に記載の制御装置。
【請求項１４】
前記光量分布情報に基づいて、異なる発光状態で取得された画像の輝度分布から前記光源の光量分布の違いを低減するように補正する補正部を更に有することを特徴とする請求項１から１３のいずれか一項に記載の制御装置。
【請求項１５】
請求項１から１４のいずれか一項に記載の制御装置により制御される照明装置であって、
位置の異なる少なくとも３つの光源と、
前記制御部に前記照明装置に関する情報を識別させる被識別部とを有することを特徴とする照明装置。
【請求項１６】
被写体を撮像して画像を取得する撮像素子と、
請求項１から１４のいずれか一項に記載の制御装置とを有することを特徴とする撮像装置。
【請求項１７】
前記少なくとも３つの光源を備える照明装置を更に有することを特徴とする請求項１６に記載の撮像装置。
【請求項１８】
画像を取得する画像取得部と、
画像を取得する際の撮影状態に関する付加情報を取得する付加情報取得部と、
前記画像と、前記付加情報を用いて取得された、光源から前記画像上の被写体に対する光の入射角度の情報、および前記画像上における前記光源から照射される光量分布情報と、に基づいて面法線情報を取得する面法線情報取得部とを有することを特徴とする画像処理装置。
【請求項１９】
画像を取得するステップと、
画像を取得する際の撮影状態に関する付加情報に基づいて光源から前記画像上の被写体に対する光の入射角度の情報、および前記画像上における前記光源から照射される光量分布情報を取得するステップと、
前記画像、前記入射角度の情報、および前記光量分布情報を用いて面法線情報を取得するステップとを有することを特徴とする画像処理方法。
【請求項２０】
請求項１９に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【請求項２１】
請求項２０に記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、照明装置、撮像装置、画像処理装置、画像処理方法、プログラムおよび記憶媒体に関する。
【背景技術】
【０００２】
被写体に関するより多くの物理情報を取得しておくことで、撮像後の画像処理において、物理モデルに基づく画像生成を行うことができる。例えば、光源の光量だけでなく光源の位置やサイズを変更した被写体の見えを再現した画像を生成することが可能となる。被写体の見えは、被写体の形状情報、被写体の反射率情報および光源情報等で決定される。光源から射出され、被写体によって反射された光の物理的な振る舞いは局所的な面法線に依存するため、形状情報としては３次元形状ではなく被写体の面法線を用いることが特に有効である。被写体の面法線を取得する方法として、例えば、レーザ光を用いた三角測量や２眼ステレオなどの方法で取得された距離情報から求められた三次元形状を面法線情報に変換する方法が知られている。しかしながら、このような方法では装置は複雑になり、取得された面法線の精度は不十分である。
【０００３】
一方、被写体の面法線を直接取得する方法として照度差ステレオ法が知られている。照度差ステレオ法は、被写体の面法線と被写体から光源への方向とに基づく被写体の反射特性を仮定し、複数の光源位置での被写体の輝度情報と仮定した反射特性とから面法線を算出する方法である。被写体の反射特性は、例えば、ランバートの余弦則に従うランバート反射モデルを用いて近似することができる。
【０００４】
ただし、照度差ステレオ法では、光源位置による被写体の輝度変化を用いるため、光源の光量情報が必要となる。特許文献１では、発光量の情報を画像情報に付加した情報を保存することで、光量情報の補正や面法線の算出処理を後から実行することを可能とする方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−９８５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の方法では、光源からの光の入射角度（光源入射角度）の情報が画像情報に付加されていないため、光源入射角度を別途取得しないと照度差ステレオ法によって面法線を算出することができない。したがって、撮像装置内に光源入射角度を保持しているか、測定時にユーザーが記録した光源入射角度の情報をマニュアルで入力するか、鏡面球の光沢写り込みから光源入射角度を推定する等の公知の光源環境推定処理を行うかが必要となる。撮像装置内に光源入射角度を保持している場合、画像を撮像装置とは異なる画像処理装置に送信し、画像処理装置上で面法線の算出処理をする際に、撮像装置内に保持されている光源入射角度を利用することはできない。また、光源入射角度をユーザーが入力する場合、面法線を算出する際のユーザーへの負荷が大きい。また、光源環境推定処理を行う場合、計算負荷が大きく、推定誤差によって面法線の算出精度が低下する。
【０００７】
また、特許文献１の方法では、画面内の光量ムラを補正していないため、それぞれ異なる位置での光源から撮像領域内の被写体に入射する光の光量分布を揃える必要がある。光源が理想的な平行光であればよいが、実際には拡散光源が被写体から有限距離に配置されるため、異なる位置から入射する光の光量分布が被写体面上で揃うように照明することは困難である。様々な被写体が写り込んだ画像から撮影時の照明装置の光量分布を推定することも困難であるため、光量ムラの影響によって面法線の算出精度が低下する。
【０００８】
本発明は、精度よく面法線情報を取得する場合のユーザー負荷を低減可能な制御装置、照明装置、撮像装置、画像処理装置、画像処理方法、プログラムおよび記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一側面としての制御装置は、位置の異なる少なくとも３つの光源を用いて撮影された画像を取得する際の撮影状態に関する付加情報を画像に関連づけて記録する書込部を有し、付加情報は、光源から画像上の被写体に対する光の入射角度の情報、および画像上における光源から照射される光の光量分布情報の少なくとも一方を識別可能な情報であることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、精度よく面法線情報を取得する場合のユーザー負荷を低減可能な制御装置、照明装置、撮像装置、画像処理装置、画像処理方法、プログラムおよび記憶媒体を提供することができる。
【図面の簡単な説明】
【００１１】
【図１Ａ】実施例１の撮像装置の外観図である
【図１Ｂ】実施例１の照明装置の外観図である。
【図２】実施例１の照明装置が取り付けられた状態の撮像装置の外観図である。
【図３】実施例１の撮像装置のブロック図である。
【図４】実施例１の面法線情報取得処理を示すフローチャートである。
【図５】撮影画像と付加情報の記録方法の一例を示す図である。
【図６】実施例２の画像処理装置の外観図である。
【図７】実施例２の画像処理装置のブロック図である。
【図８】実施例２の面法線情報取得処理を示すフローチャートである。
【図９】鏡面反射成分を説明するための模式図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施例について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照番号を付し、重複する説明は省略する。
（照度差ステレオ法についての説明）
照度差ステレオ法は、被写体の面法線と被写体から光源への方向（光源方向）とに基づく被写体の反射特性を仮定し、複数の光源位置での被写体の輝度情報と仮定した反射特性から面法線情報を算出する方法である。所定の面法線と光源の位置が与えられたときに反射率が一意に定まらない場合、反射特性はランバートの余弦則に従うランバート反射モデルで近似すればよい。鏡面反射成分は、図９に示されるように、光源ベクトルｓと視線方向ベクトルｖの２等分線と、面法線ｎのなす角αに依存する。したがって、反射特性は、視線方向に基づく特性としてもよい。また、輝度情報は、光源が点灯している場合と消灯している場合のそれぞれの被写体を撮像し、これらの差分をとることで環境光等の光源以外の光源による影響を除いてもよい。
【００１３】
以下、ランバート反射モデルで反射特性を仮定した場合について説明する。反射光の輝度値をｉ、物体のランバート拡散反射率をρｄ、入射光の強さをＥ、物体から光源への方向を示す単位ベクトル(光源ベクトル)をｓ、物体の単位面法線ベクトルをｎとすると、輝度ｉはランバートの余弦則から以下の式（１）で示される。
【００１４】
【数１】
2020127190.tif 000003
【００１５】
異なるＭ個（Ｍ≧３）の光源ベクトルの各成分をｓ１、ｓ２、・・・、ｓＭ、光源ベクトルの成分ごとの輝度値をｉ１、ｉ２、・・・ｉＭとすると、式（１）は以下の式（２）で示される。
【００１６】
【数２】
2020127190.tif 000004
【００１７】
式（２）の左辺はＭ行１列の輝度ベクトル、右辺の［ｓ１Ｔ、・・・ｓＭＴ］はＭ行３列の光源方向を示す入射光行列Ｓ、ｎは３行１列の単位面法線ベクトルである。Ｍ＝３の場合は、入射光行列Ｓの逆行列Ｓ−１を用いて、Ｅρｄｎは以下の式（３）で示される。
【００１８】
【数３】
2020127190.tif 000005
【００１９】
式（３）の左辺のベクトルのノルムが入射光の強さＥとランバート拡散反射率ρｄの積であり、正規化したベクトルが物体の面法線ベクトルとして算出される。すなわち、入射光の強さＥとランバート拡散反射率ρｄは積の形でのみ条件式に現れるので、Ｅρｄを１つの変数とみなすと、式（３）は単位面法線ベクトルｎの２自由度と合わせて未知の３変数を決定する連立方程式とみなせる。したがって、少なくとも３つの光源を用いて輝度情報を取得することで、各変数を決定することができる。なお、入射光行列Ｓが正則行列でない場合は逆行列が存在しないため、入射光行列Ｓが正則行列となるように入射光行列Ｓの各成分ｓ１〜ｓ３を選択する必要がある。すなわち、成分ｓ３を成分ｓ１，ｓ２に対して線形独立に選択することが望ましい。
【００２０】
また、Ｍ＞３の場合は求める未知変数より多い条件式が得られるので、任意に選択した３つの条件式からＭ＝３の場合と同様の方法で単位面法線ベクトルｎを算出すればよい。４つ以上の条件式を用いる場合は、入射光行列Ｓが正則行列ではなくなるため、例えば、Ｍｏｏｒｅ−Ｐｅｎｒｏｓｅ疑似逆行列を使って近似解を算出してもよい。また、フィッティング手法や最適化手法によって単位面法線ベクトルｎを算出してもよい。
【００２１】
被写体の反射特性をランバート反射モデルとは異なるモデルで仮定した場合は、条件式が単位面法線ベクトルｎの各成分に対する線形方程式と異なる場合がある。この場合、未知変数以上の条件式が得られれば、フィッティング手法や最適化手法を用いることができる。
【００２２】
また、Ｍ＞３の場合には３以上Ｍ−１以下の複数の条件式が得られるため、単位面法線ベクトルｎの複数の解の候補を求めることができる。この場合、さらに別の条件を用いて複数の解の候補から解を選択すればよい。例えば、単位面法線ベクトルｎの連続性を条件として用いることができる。単位面法線ｎを撮像装置の１画素ごとに算出する場合、画素（ｘ、ｙ）での面法線をｎ（ｘ、ｙ）として、ｎ（ｘ−１、ｙ）が既知であれば以下の式（４）で示される評価関数が最小となる解を選択すればよい。
【００２３】
【数４】
2020127190.tif 000006
【００２４】
また、ｎ（ｘ＋１、ｙ）やｎ（ｘ、ｙ±１）も既知であれば、以下の式（５）が最小となる解を選択すればよい。
【００２５】
【数５】
2020127190.tif 000007
【００２６】
既知の面法線がなく、全画素位置で面法線の不定性があるとすれば、以下の式（６）で示される式（５）の全画素での総和が最小となるように解を選択してもよい。
【００２７】
【数６】
2020127190.tif 000008
【００２８】
なお、最近傍以外の画素での面法線を用いてもよいし、注目する画素位置からの距離に応じて重みづけした評価関数を用いてもよい。
【００２９】
また、別の条件として、任意の光源位置での輝度情報を用いてもよい。ランバート反射モデルに代表される拡散反射モデルでは、単位面法線ベクトルと光源ベクトルが近いほど反射光の輝度が大きくなる。よって、複数の光源方向での輝度値のうち最も輝度値が大きくなる光源ベクトルに近い解を選択することで、単位面法線ベクトルを決定することができる。
【００３０】
また、鏡面反射モデルでは、光源ベクトルをｓ、物体からカメラへの方向の単位ベクトル(カメラの視線ベクトル)をｖとすると、以下の式（７）が成り立つ。
【００３１】
【数７】
2020127190.tif 000009
【００３２】
式（７）に示されるように、光源ベクトルｓとカメラの視線ベクトルｖが既知であれば単位面法線ベクトルｎを算出することができる。表面に粗さがある場合、鏡面反射も出射角の広がりを持つが、平滑面として求めた解の付近に広がるため、複数の解の候補うち最も平滑面に対する解に近い候補を選択すればよい。また、複数の解の候補の平均によって真の解を決定してもよい。
（本発明の課題である光源入射角度について）
式（３）からわかるように、照度差ステレオ法では、光源ベクトルｓを用いて面法線情報を推定する。光源ベクトルを未知とする未校正照度差ステレオ法や光源環境を画像から推定する方法もあるが、それによって同等の面法線取得精度を得ようとすると撮像する画像の枚数や発光部の数が増えたり計算負荷が生じたりする。また、光源が未知の状態から推定するこれらの方法と比較して予め光源方向がわかっている場合は面法線情報の取得精度がよい。
（本発明の課題である照度ムラについて）
式（１）からわかるように、照度差ステレオ法では、入射光の強さＥが面法線情報の推定結果に影響を与える。複数の光源位置で撮像した一連の撮影画像において、所定の画素での輝度変化に着目した場合、光源ごとの光量が想定値に対してばらついていると左辺の輝度値ｉがばらついているように面法線を推定してしまう。光量のばらつきは光源ごとの発光量のばらつきによっても起こるが、光源からの光が被写体面上に入射する際の照度ムラによっても起こる。特に、撮影距離に自由度がある一般的な撮像装置においては位置の異なる光源が被写体面上に照射する照度ムラを等しくなるよう設計および制御することは困難であるため、得られた画像の輝度値を補正することが必要となる。
【実施例１】
【００３３】
図１Ａおよび図１Ｂはそれぞれ、本実施例の撮像装置１０００の一例であるデジタルカメラおよび照明装置１００１の外観図である。レリーズボタン３００は、撮影やオートフォーカスを作動させるためのボタンである。照明装置１００１は、発光部２００と照射光源制御部１０６を備え、撮像装置１０００に着脱可能に取り付けられる。照明装置１００１によるライティングや面法線情報の取得が不要な場合には撮像装置１０００のみを使用すればよい。照明装置１００１を撮像装置１０００に着脱可能とすることで、被写体の材質や大きさ、被写体距離、環境光の強さ等のシーンに応じて適切な照明装置１００１と撮像装置１０００の組み合わせを選択して使用できる。
【００３４】
本実施例では、発光部２００は、後述する撮像光学系１０１の光軸を中心に回転可能に撮像装置１０００に取り付けられ、光軸を中心とする同心円状に回転対称に配置される８個の光源を有する。なお、照度差ステレオ法を実施する際に必要な光源は少なくとも３個であるため、発光部２００は３個以上の光源を備えていればよい。また、本実施例では発光部２００は複数の光源が撮像光学系１０１の光軸を中心とする同心円状に回転対称に配置されるように構成されているが、光源が必ずしも等間隔に配置されている必要はなく隙間をあけて配置されていてもよい。また、光源が一体的に構成されている必要はなく、各光源が分離されていてもよい。また、本実施例では、発光部２００は、撮像装置１０００に着脱可能に取り付けられるが、撮像装置１０００に内蔵されていてもよい。
【００３５】
照射光源制御部１０６は、後述するシステムコントローラ１１０から出力される指示に応じて光源の発光状態を制御する。発光状態とは、発光量、位置や被写体に対する方向、光源からの配光分布等の撮影画像に影響を及ぼす発光に関する状態のことである。本実施例では、照射光源制御部１０６は、照明装置１００１に内蔵されているが、撮像装置１０００に内蔵されていてもよいし、照明装置１００１や撮像装置１０００とは異なる外部機器に内蔵されていてもよい。
【００３６】
また、照明装置１００１は、システムコントローラ１１０に照明装置１００１を識別させる被識別部を備えていてもよい。被識別部は、照明装置１００１を識別可能な情報をシステムコントローラ１１０に送信するための情報を記憶した後述するＲＯＭ１１２であってもよいし、照明装置１００１を撮像装置１０００に取り付ける際に固有の電圧値を発生する撮像装置１０００との接触部であってもよい。
【００３７】
図２は、照明装置１００１が取り付けられた状態の撮像装置１０００の外観図である。図３は、撮像装置１０００のブロック図である。
【００３８】
撮像光学系１０１は、絞り１０１ａを備え、被写体から射出される光を撮像素子１０２上に結像させる。なお、本実施例では、撮像光学系１０１は、撮像装置１０００に着脱可能に取り付けられるが、撮像装置１０００に内蔵されていてもよい。
【００３９】
撮像素子１０２は、ＣＣＤセンサやＣＭＯＳセンサ等の光電変換素子により構成され、被写体を撮像して画像を取得する。撮像素子１０２の光電変換によって生成されるアナログ電気信号は、Ａ／Ｄコンバータ１０３でデジタル信号（撮影画像、輝度情報）に変換されて画像処理部１０４に入力される。
【００４０】
画像処理部１０４は、デジタル信号に対して一般的に行われる画像処理（現像処理や各種の画像補正処理など）と併せて、被写体の面法線情報を取得する。面法線情報とは、面法線の１自由度の候補を少なくとも１つ以上決定する情報、面法線の複数の解候補から真の解を選択するための情報、および求めた面法線の妥当性に関する情報である。画像処理部１０４は、発光部２００から被写体への光の入射角度を取得する光源入射角度取得部１０４ａ、および発光部２００からの光の光量分布情報を取得する光量分布情報取得部１０４ｂを備える。光量分布情報とは、処理対象画像上における発光部２００からの光の光量分布に関する情報である。また、画像処理部１０４は、光量分布情報に基づいて撮像した撮影画像の輝度値を領域ごとに補正する補正部１０４ｃ、および面法線情報を取得する面法線情報取得部１０４ｄを備える。画像処理部１０４で処理された撮影画像は、半導体メモリや光ディスク等の画像記録部１０９に保存される。また、出力画像を表示部１０５に表示してもよい。なお、本実施例では、光源入射角度取得部１０４ａ、光量分布情報取得部１０４ｂ、補正部１０４ｃ、および面法線情報取得部１０４ｄは、撮像装置１０００に内蔵されているが、後述するように撮像装置１０００とは別に構成されていてもよい。
【００４１】
書込部１１３は、位置の異なる少なくとも３つの光源を用いて撮影された画像を取得する際の撮影状態に関する付加情報を画像に関連づけて記録する。付加情報は、光源から画像上の被写体に対する光の入射角度の情報、および画像上における光源から照射される光の光量分布情報の少なくとも一方を識別可能な情報である。
【００４２】
書込部１１３は、光源から画像上の被写体に対する光の入射角度（光源入射角度）の情報および画像上の光量分布情報を取得可能な、撮影状態に関する付加情報を、画像処理部１０４から取得された撮影画像に関連付けて画像記録部１０９に記録する。撮影状態とは、撮像光学系１０１のズーム倍率、Ｆ値、フォーカス位置等の撮影時の設定、撮像装置１０００の仕様、および光源の発光状態などである。付加情報とは、例えば、ＥＸＩＦ（Ｅｘｃｈａｎｇｅａｂｌｅ  ｉｍａｇｅ  ｆｉｌｅ  ｆｏｒｍａｔ）のように画像そのもの以外のメタデータとして保存するものである。光源入射角度の情報および画像上の光量分布情報は、ＲＯＭ１１２や照射光源制御部１０６からの情報をシステムコントローラ１１０や画像処理部１０４を経由することで取得可能である。なお、本実施例では、光量分布情報は、ＲＯＭ１１２に格納されているが、ＲＯＭ１１１に格納されていてもよい。この場合、書込部１１３は、システムコントローラ１１０が取得した照明装置１００１を識別可能な情報に基づいて光量分布情報を取得する。
【００４３】
また、書込部１１３は、撮像時のズーム倍率や撮影距離など光源入射角度や光量分布に影響を与える撮影状態に応じて記録する付加情報を変更してもよい。この場合、書込部１１３は、システムコントローラ１１０経由で取得した撮像情報に基づいて画像処理部１０４で変更処理を行った付加情報を取得する。
【００４４】
また、書込部１１３は、複数の発光モードに基づいて付加情報を変更してもよい。これにより、面法線情報を取得する場合と面法線情報を取得せずにライティングを用いた撮影をする場合や非発光での撮影をする場合とを分けて扱うことができる。そのため、面法線情報を取得しない場合には面法線情報の取得にしか用いない付加情報を保存せずにデータ量を削減することや面法線情報の取得用に撮影した一連の画像をその他の画像と判別することが可能となる。
【００４５】
付加情報は、撮影条件、トリミング情報、およびセンサーサイズのうち少なくとも１つを含んでいることが好ましい。ズーム倍率や撮影距離を変えて撮像する場合は撮像する画角や倍率が変化するため、画面内の位置に応じた光源入射角度や発光部２００の配光により生じる画面内光量分布を求めるには撮影条件の情報が必要となる。したがって、撮像光学系１０１の条件を照明装置１００１の条件と合わせて付加情報として記録する必要がある。撮影距離情報は、光源の位置や向きから光源入射角度や画面内光量分布を求めるために必要となる。同様に、撮影画像をトリミング（クロップ）して取得する場合も撮像する画角や倍率が変化するため、トリミング情報は光源入射角度や画面内光量分布を求めるために必要となる。したがって、撮像装置１０００の画像取得条件を照明装置１００１の条件と合わせて付加情報として記録する必要がある。また、撮像素子１０２のサイズ（センサーサイズ）によっても撮像する画角や倍率が変化する。照明装置１００１と撮像装置１０００が着脱可能で交換できる等組み合わせが変わりうる場合に、光源入射角度や画面内光量分布を求めるために必要となる。
【００４６】
情報入力部１０８は、ユーザーによって選択された撮影条件（絞り値、露出時間、または焦点距離など）をシステムコントローラ１１０に供給する。モード選択部１０８ａは、ユーザーによって選択された撮影（発光）モード（全発光モード、プログラム発光モード、非発光モード、およびその他の発光モードなど）をシステムコントローラ１１０に供給する。なお、本実施例では、モード選択部１０８ａは、撮像装置１０００に内蔵されているが、照明装置１００１に内蔵されていてもよく、撮影モードを照射光源制御部１０６に供給してもよい。
【００４７】
プログラム発光モードとは、少なくとも３回以上の撮影信号のそれぞれに同期して発光状態を変更するモードである。このモードでは、撮影ごとにユーザーが発光状態を制御することなしに、連続撮影に同期して異なる発光状態の撮影画像を撮影することができ、簡易に照度差ステレオ法に必要な撮影画像を取得することができる。複数の撮影画像の少なくとも一部を用いて照度差ステレオ法を行ってもよい。また、複数の撮影画像の加重加算平均をとり、複数のライティング条件の光量や光量比を後から変更したりできる。
【００４８】
また、プログラム発光モードは、複数のモード、例えば、発光順序や一度に発光する光源の数、発光状態の数等の違うモードを有していてもよい。被写体の距離やシャッター速度等の撮影条件に応じて異なるプログラム発光モードを自動的に選択してもよく、ユーザーの指定によって特定のプログラム発光モードを選択してもよい。例えば、発光状態の数を変えてより少ない回数での撮影としたり、１つの発光状態で用いる光源の数を変えて光量を調整したりすることもできる。プログラム発光モード時は、発光状態数と撮影時の画像取得枚数を自動的に連動させてもよい。連射が途切れた際には次の順序の発光状態から再開してもよく、初めの発光状態から撮影を開始してもよい。
【００４９】
プログラム発光モードの複数の発光状態のうち少なくとも１つは、全ての光源を発光させない状態（非発光状態）であることが好ましい。非発光状態がある場合、発光時との差分を撮ることで環境光の影響を差し引くことができる。これにより、照度差ステレオ法に必要な発光部２００からの入射光のみに基づく撮影画像を取得することができ、環境光の影響による誤差を低減できる。
【００５０】
付加情報は、プログラム発光モードにおいて照明装置１００１の識別情報を含むことが好ましい。照明装置１００１を識別可能であることで、発光量や光源の位置、発光の配光、発光面積等の発光状態に関する情報を取得できる。照明装置１００１が複数存在する場合はそれぞれの識別情報を含むことが好ましい。識別情報は型名であっても個体を特定できる情報であってもよい。個体を特定する場合は製造時の誤差についても考慮できるためなおよい。
【００５１】
また、付加情報は、プログラム発光モードにおいて撮像装置１０００に対する光源の位置情報を含むことが好ましい。撮像装置１０００に対する光源の位置や向きがわかることで、光源の位置や配光と組み合わせて撮像装置１０００と被写体との相対的な位置関係における光源入射角度や配光、画面内での配光分布等に関する情報を取得できる。位置情報は位置を特定できる情報であれば座標である必要はなく、例えば照明装置１００１の識別番号と光源に割り振られた光源番号であってもよい。本実施例では、光源が撮像光学系１０１の光軸を中心とする同心円状に回転対称に配置されているため、光軸からの距離等の形式で表される。
【００５２】
また、付加情報は、プログラム発光モードにおいて光源のそれぞれの発光状態を識別する情報を含むことが好ましい。各光源の発光量や位置、発光の配光、発光面積等の発光状態に関する情報を含むことで、被写体の画像位置ごとに光源入射角度の情報および画像上の光量分布情報を取得でき、照度差ステレオ法に必要な光量や光源入射角度を取得できる。
【００５３】
全発光モードとは、全ての光源を発光するモードであり、非発光モードとは、全ての光源を発光させないモードである。全発光モードでは、発光量を大きくすることができ、照明装置１００１の光量や発光面積を最大限に活かした通常のライティング撮影が可能となる。非発光モードでは、追加のライティングが不要なシーンでの撮影が可能となる。
【００５４】
撮像制御部１０７は、システムコントローラ１１０から出力される情報に基づいて、ユーザーが選択した所望の撮影条件で画像を取得する。
【００５５】
ＲＯＭ１１１は、システムコントローラ１１０によって実行される各種のプログラムやそれに必要となるデータを格納している。
【００５６】
図４は、本実施例の面法線情報取得処理を示すフローチャートである。本実施例の面法線情報取得処理は、システムコントローラ１１０と書込部１１３により構成される制御部および画像処理部１０４によりプログラムに従って実行される。なお、プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録されていてもよい。
【００５７】
ステップＳ１０１では、システムコントローラ１１０は、モード選択部１０８ａから発光モードを取得するとともに、照射光源制御部１０６から光源の発光状態を取得する。
【００５８】
ステップＳ１０２では、システムコントローラ１１０は、まず、情報入力部１０８からユーザーによって設定される撮影条件を取得する。次に、システムコントローラ１１０は、レリーズボタン３００の全押し動作に連動し、撮影条件やステップＳ１０１で取得された発光モードおよび発光状態を用いて被写体の撮像を行うことで撮影画像を取得する。全発光モードでは全光源を同時発光させて撮像し、非発光モードでは全光源を発光させずに撮像するが、面法線情報取得時には撮像信号に同期してプログラム発光モードで所定の順序で発光状態を変えつつ複数の光源位置での被写体の撮像を行う。このとき、ユーザーのレリーズ指示に従って撮像信号を送ってもよいし、プログラム発光モードで設定された発光状態の数に応じて自動的に撮像信号を送ってもよい。例えば、システムコントローラ１１０は、照射光源制御部１０６を介して８つの光源からの光を被写体に順次照射させた後、非発光状態も含めて、撮像制御部１０７を介して撮像部１００に被写体を撮像させる。また、プログラム発光モードにおける発光状態では、互いに位置の異なる少なくとも３つ以上の光源が使用されていればよい。
【００５９】
ステップＳ１０３では、書込部１１３は、まず、照明装置１００１を識別可能な情報や、発光した光源の位置を特定する情報、ズーム倍率、被写体距離、およびセンサーサイズ等の撮影条件を付加情報として取得する。発光した光源の位置を特定する情報として、発光部２００の識別番号と照明装置１００１の撮像装置１０００に対する回転角度が用いられる。書込部１１３は、次に、画像処理部１０４から取得された撮影画像と関連させて付加情報を画像記録部１０９に記録する。具体的には、図５Ａに示されるように、書込部１１３は、付加情報を撮影画像ごとにヘッダ情報として書き込む。これにより、各撮影画像の発光状態が画像ファイルから取得可能になる。なお、書込部１１３は、付加情報を撮影画像ごとに例えばフッター情報として書き込んでもよく、書込み形式は限定されない。
【００６０】
また、書込部１１３は、同じ発光状態でも発光モードに応じた付加情報（例えば、異なる識別番号）を画像記録部１０９に記録する。言い換えると、第１の発光モードにおいて所定の発光状態で撮影された場合の付加情報は、第２の発光モードにおいて所定の発光状態で撮影された場合の付加情報と異なる。これにより、面法線情報取得時において、例えば非発光モードにおいて非発光状態で撮影された撮影画像とプログラム発光モードにおいて非発光状態で撮影された撮影画像とを判別することができる。そのため、面法線情報取得時の入力情報として用いる撮影画像の判定を行うことが可能となる。
【００６１】
照度差ステレオ法や画像合成の入力画像は撮像装置１０００の位置や設定、被写体ぶれなどの影響を抑えるためにプログラム発光モードで撮影された一連の撮影画像から選択されることが好ましい。発光状態と付加情報は１対１対応であることが好ましく思えるが、等しい発光状態で撮像された撮影画像でも異なる付加情報を記録することで入力画像の選択に伴う負荷を低減できる。
【００６２】
例えば、撮影時に類似の構図や類似の撮影条件で撮影した場合や太陽の移動など環境光の軽微な変化に伴って再撮影した場合は撮影画像が似ているため、同じ発光状態の複数画像から一連の画像であるかを判断して選択することは困難である。さらに、照度差ステレオ法や画像合成処理を撮影時とは異なるタイミングで行ったり、撮影者とは異なるユーザーが行ったり、撮像装置１０００とは異なる画像処理装置で行ったりする場合には一層困難である。ここで等しい発光状態でも異なる付加情報を記録しておくことで、ユーザーが不適切な入力画像の組み合わせを選択した場合に警告を出すことができ、自動的に入力画像を選択することも可能となる。また、照度差ステレオ法を用いる場合とその他の場合を区別できることで、面法線情報の取得にしか用いない付加情報のデータ量を削減することも可能となる。
【００６３】
また、書込部１１３は、図５Ｂに示されるように、プログラム発光モードで撮影された場合に１枚ずつ記録される撮影画像とは別に一連の撮影画像に基づく付加情報を１つのファイルとしてまとめて記録してもよい。付加情報には、対応する撮影画像を特定する情報も記録される必要がある。この記録方法では、付加情報ファイルを指定することで一連の撮影画像とその付加情報を取得することができる。また、図５Ａの方法と同様であるが、画像ファイルの記録方式がプログラム発光モードでない場合と同様のため、同じ読み出し方法やＵＩで取り扱うことが可能である。一方、付加情報が画像ファイルと別ファイルになっているため、付加情報を用いて照度差ステレオ法を実行する場合にはそれぞれのファイルを取得する必要がある。
【００６４】
また、書込部１１３は、図５Ｃに示されるように、プログラム発光モードで撮影された場合に一連の付加情報と一連の撮影画像をそれぞれ１ファイルとしてまとめて記録してもよい。
【００６５】
また、書込部１１３は、図５Ｄに示されるように、プログラム発光モードで撮影された場合に一連の付加情報と撮影画像のすべてを１ファイルとして記録してもよい。
【００６６】
図５Ｃや図５Ｄに示される記録方法では、画像ファイルを複数枚まとめて記録するため、一連の撮影画像を一括して管理することができる。
【００６７】
ステップＳ１０４では、システムコントローラ１１０は、ユーザーの指定に基づいて、面法線情報を取得するための複数の発光状態で取得した撮影画像を選択する。後述するように、照度差ステレオ法に必要な光源入射角度と光量分布情報は付加情報から取得されるため、ステップＳ１０４はステップＳ１０３の後に行う必要はない。
【００６８】
ステップＳ１０５では、画像処理部１０４は、付加情報として、照明装置１００１を識別するための情報、および発光した光源を特定する情報、ズーム倍率、被写体距離、センサーサイズの撮影条件を取得する。
【００６９】
ステップＳ１０６では、光源入射角度取得部１０４ａは、ステップＳ１０５で取得された付加情報を用いて撮影画像の各領域における面法線情報を取得するために用いる光源入射角度を取得する。光源入射角度取得部１０４ａは、被写体距離、ズーム倍率やセンサーサイズなどの撮影画角、発光部２００の被写体に対する位置を用いて光源入射角度を算出する。本実施例では、光源入射角度取得部１０４ａは、付加情報から識別可能な照明装置１００１の機種と光源の位置を用いて光源の被写体に対する位置を取得する。なお、ステップＳ１０６は、後述するステップＳ１０７やステップＳ１０８の後に実行されてもよい。
【００７０】
ステップＳ１０７では、光量分布情報取得部１０４ｂは、ステップＳ１０５で取得された付加情報を用いて撮影画像の各領域における面法線情報を取得するために用いる光量分布情報を取得する。光量分布情報取得部１０４ｂは、付加情報から識別可能な照明装置１００１の機種と発光部２００の情報を用いて光量分布情報をプログラム上で取得する。また、光量分布情報取得部１０４ｂは、テーブルとして保存された光量分布情報から値を読み出してもよい。光量分布情報は、関数やそのパラメタであってもよいし、発光部２００からの射出角度に対する配光であってもよいし、撮影画面上に対する光量分布であってもよい。
【００７１】
ステップＳ１０８では、補正部１０４ｃは、ステップＳ１０７で取得された光量分布情報を用いて、異なる発光状態で取得された撮影画像の輝度分布から複数の光源の光量分布の違いを低減するように、撮影画像の輝度を補正する。補正部１０４ｃは、例えば、撮影画面上に対する光量分布の逆数を撮影画像に乗じることで撮影画像の輝度を補正する。照度差ステレオ法では、同じ被写体位置に対して異なる光源入射角度で入射する光の光量のばらつきが取得する面法線情報の精度の劣化原因となる。そこで、光量分布の違いを面法線情報取得の際に考慮することで光源の光量分布の違いを実質的に低減した面法線情報を取得できる。なお、光量分布の違いによる輝度値への影響を各撮影画像間で補正できればよく、必ずしも各画像に対して光量分布の影響を補正する必要はない。また、補正前に非発光状態での撮影画像をその他の画像から差し引くことで環境光の影響を排除して照明装置１００１からの光のみを反映した画像を取得することができ、良好に補正された撮影画像を取得することができる。
【００７２】
ステップＳ１０９では、面法線情報取得部１０４ｄは、ステップＳ１０８で補正された撮影画像とステップＳ１０６で取得された光源入射角度を用いて照度差ステレオ法により面法線情報を取得する。面法線情報や画像情報は、画像記録部１０９に保存され、フローは完了する。
【００７３】
なお、本実施例では、ステップＳ１０８で補正された撮影画像を取得したが、撮影画像を補正せずに照度差ステレオ法で式（１）を解く際に光量分布を考慮して面法線情報を取得してもよい。具体的には、式（２）における入射光の強さＥを各光源での光量分布の違いを考慮できる形式とするため、各光源ベクトルｓｉＴに対して係数として乗じることで可能である。画像の位置ごと、かつ光源入射方向ごとの光量の違いを反映して方程式を解けばよい。
【００７４】
また、本実施例では、光量分布を用いて撮影画像の輝度を補正したが、各光源の照射光量のばらつきについても補正してもよい。また、光源入射角度や光量分布情報を付加情報に含めてもよい。また、ＲＯＭ１１２は、撮影距離ごとの光源入射角度や光量分布情報を記録したテーブルを格納しておいてもよい。この場合、書込部１１３は、ステップＳ１０３において、これらの情報をＲＯＭ１１２から直接、付加情報として取得すればよい。また、本実施例では、プログラム発光モードにて面法線情報を取得する場合について説明したが、面法線情報を取得しない場合、ステップＳ１０４以降のフローは不要である。
【００７５】
以上説明したように、付加情報を撮影画像に記録しておくことで光源入射角度と光量分布情報を付加情報から取得することができる。これにより、精度よく面法線情報を算出する場合のユーザー負荷を低減することができる。
【実施例２】
【００７６】
実施例１では、撮像装置１０００内で被写体の面法線情報を算出しているが、本実施例では、撮像装置１０００とは異なる画像処理装置２０００を用いて被写体の面法線情報を取得する。撮像装置１０００とは異なる画像処理装置２０００を用いて面法線情報を取得することで、撮像装置１０００上で取得するよりも高速に取得可能であったり、負荷が大きいが精度の高い取得方法を用いたりできる。また、面法線情報から光源を仮想的に変更した画像をレンダリングするなど、面法線情報取得と後段の画像処理を一連の操作として行う際の利便性が高まる。これを実現するために、画像処理装置２０００は、付加情報を取得し、付加情報を用いて光源入射角度の情報および光量分布情報を取得し、面法線情報を取得する。なお、画像処理装置２０００は、例えば、ＰＣやサーバである。
【００７７】
図６は、画像処理装置２０００の一例であるＰＣの外観図である。図７は、画像処理装置２０００のブロック図である。画像処理装置２０００は、撮像装置１０００と有線または無線で接続されていて、撮像装置１０００で取得した画像と付加情報を通信可能である。
画像処理装置２０００は、画像取得部２０４ａ、付加情報取得部２０４ｂ、光源入射角度情報取得部２０４ｃ、光量分布情報取得部２０４ｄ、補正部２０４ｅおよび面法線情報取得部２０４ｆを備える。光源入射角度情報取得部２０４ｃ、光量分布情報取得部２０４ｄ、補正部２０４ｅおよび面法線情報取得部２０４ｆはそれぞれ、実施例１の光源入射角度取得部１０４ａ、光量分布情報取得部１０４ｂ、補正部１０４ｃ、面法線情報取得部１０４ｄに相当する。
【００７８】
図８は、本実施例の面法線情報取得処理を示すフローチャートである。
【００７９】
ステップＳ２０１〜Ｓ２０３は、撮像装置１０００で行われ、ステップＳ１０１〜ステップＳ１０３と同様である。
【００８０】
ステップＳ３０１〜Ｓ３０４は、画像処理装置２０００で行われる。
【００８１】
ステップＳ３０１では、画像取得部２０４ａは、撮像装置１０００で撮像された撮影画像とそれらに関連付けられた付加情報を有線または無線の通信により取得する。
【００８２】
ステップＳ３０２〜Ｓ３０３は、ステップＳ１０６〜Ｓ１０７と同様である。実施例１では光量分布情報は付加情報により特定された照明装置の機種と発光部の情報からプログラム上で取得される。本実施例では、照明装置の機種と発光部に応じた光量分布は、Ｗｅｂ上からダウンロードすることで取得される。
【００８３】
ステップＳ３０４では、面法線情報取得部２０４ｄは、照度差ステレオ法で式（１）を解く際に光量分布を考慮することで面法線情報を取得する。面法線情報や画像情報は、画像記録部１０９に保存され、フローは完了する。
【００８４】
以上説明したように、付加情報を撮影画像に記録しておくことで光源入射角度と光量分布情報を付加情報から取得することができる。これにより、撮像装置とは異なる画像処理装置上で面法線情報取得処理を実行する場合においても、精度よく面法線情報を算出する場合のユーザー負荷を低減することができる。
［その他の実施例］
本発明は、ＰＣやモバイル端末等から撮像装置を制御するリモート撮影によっても実行可能である。その場合は制御装置の一部または全ての機能を撮像装置上ではなくＰＣ上やモバイル端末上で実行してもよい。例えば、付加情報の書込みや発光状態の制御、発光モードの制御をＰＣやモバイル端末が実行できる。また、発光状態や発光モードの制御を必ずしも撮像装置、ＰＣ、モバイル端末から行う必要はない。例えば、照明装置上で発光モードを切り替えたり、撮像信号等の発光を指示する信号を受ける度に照明装置上の制御部で発光状態を順次変更したりする等の制御が可能である。また、照明装置上の制御部で発光状態を制御しつつ、照明装置から撮像装置に撮像信号を送信してもよい。また、照明装置の発光状態を制御する制御部と、付加情報の書込みを行う書込部は別の装置に存在していても良い。
【００８５】
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８６】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００８７】
１１３  書込部
【図１Ａ】
2020127190.tif 000010
【図１Ｂ】
2020127190.tif 000011
【図２】
2020127190.tif 000012
【図３】
2020127190.tif 000013
【図４】
2020127190.tif 000014
【図５】
2020127190.tif 000015
【図６】
2020127190.tif 000016
【図７】
2020127190.tif 000017
【図８】
2020127190.tif 000018
【図９】
2020127190.tif 000019