IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7490457処理装置、処理システム、撮像装置、処理方法、およびプログラム
<>
  • 特許-処理装置、処理システム、撮像装置、処理方法、およびプログラム 図1
  • 特許-処理装置、処理システム、撮像装置、処理方法、およびプログラム 図2A
  • 特許-処理装置、処理システム、撮像装置、処理方法、およびプログラム 図2B
  • 特許-処理装置、処理システム、撮像装置、処理方法、およびプログラム 図3
  • 特許-処理装置、処理システム、撮像装置、処理方法、およびプログラム 図4
  • 特許-処理装置、処理システム、撮像装置、処理方法、およびプログラム 図5
  • 特許-処理装置、処理システム、撮像装置、処理方法、およびプログラム 図6
  • 特許-処理装置、処理システム、撮像装置、処理方法、およびプログラム 図7
  • 特許-処理装置、処理システム、撮像装置、処理方法、およびプログラム 図8
  • 特許-処理装置、処理システム、撮像装置、処理方法、およびプログラム 図9
  • 特許-処理装置、処理システム、撮像装置、処理方法、およびプログラム 図10
  • 特許-処理装置、処理システム、撮像装置、処理方法、およびプログラム 図11
  • 特許-処理装置、処理システム、撮像装置、処理方法、およびプログラム 図12
  • 特許-処理装置、処理システム、撮像装置、処理方法、およびプログラム 図13
  • 特許-処理装置、処理システム、撮像装置、処理方法、およびプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-17
(45)【発行日】2024-05-27
(54)【発明の名称】処理装置、処理システム、撮像装置、処理方法、およびプログラム
(51)【国際特許分類】
   G06T 15/50 20110101AFI20240520BHJP
   G06T 7/586 20170101ALI20240520BHJP
【FI】
G06T15/50
G06T7/586
【請求項の数】 21
(21)【出願番号】P 2020100331
(22)【出願日】2020-06-09
(65)【公開番号】P2021196656
(43)【公開日】2021-12-27
【審査請求日】2023-06-07
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100110412
【弁理士】
【氏名又は名称】藤元 亮輔
(74)【代理人】
【識別番号】100104628
【弁理士】
【氏名又は名称】水本 敦也
(74)【代理人】
【識別番号】100121614
【弁理士】
【氏名又は名称】平山 倫也
(72)【発明者】
【氏名】楠美 祐一
(72)【発明者】
【氏名】井田 義明
【審査官】▲徳▼田 賢二
(56)【参考文献】
【文献】特開2019-205205(JP,A)
【文献】特表2016-505968(JP,A)
【文献】特開2019-168862(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/50
G06T 7/586
(57)【特許請求の範囲】
【請求項1】
入力画像における被写体の第法線情報を取得する第取得部と、
ユーザにより指定された前記被写体の指定領域を取得する領域取得部と、
前記被写体の第法線情報を取得する第取得部と、
前記指定領域に対応する前記第法線情報に基づいて仮想光源条件を決定する決定部と、
前記第法線情報と前記仮想光源条件とを用いてレンダリング画像を生成するレンダリング部と、を有し、
前記第法線情報は、前記第法線情報よりも低周波な法線情報であることを特徴とする処理装置。
【請求項2】
前記第取得部は、前記第法線情報に基づいて前記第法線情報を取得することを特徴とする請求項1に記載の処理装置。
【請求項3】
前記第取得部は、前記第法線情報を縮小する処理、または前記第1法線情報に対してローパスフィルタをかける処理を実行することで前記第法線情報を取得することを特徴とする請求項1又は2に記載の処理装置。
【請求項4】
前記第取得部は、前記被写体の形状情報に基づいて前記法線情報を取得することを特徴とする請求項1に記載の処理装置。
【請求項5】
記決定部は、前記指定領域及び該指定領域の周囲における前記第法線情報に基づいて前記仮想光源条件を決定することを特徴とする請求項1乃至4のいずれか一項に記載の処理装置。
【請求項6】
前記指定領域は、前記入力画像における複数の画素からなり、
記決定部は、前記複数の画素に対応する前記第法線情報に基づいて前記仮想光源条件を決定することを特徴とする請求項1乃至4のいずれか一項に記載の処理装置。
【請求項7】
前記第取得部は、前記第法線情報と前記指定領域とに基づいて前記第法線情報を取得することを特徴とする請求項2に記載の処理装置。
【請求項8】
前記第取得部は、前記指定領域該指定領域の周囲における前記第法線情報とに基づいて前記第法線情報を取得することを特徴とする請求項7に記載の処理装置。
【請求項9】
前記指定領域、前記入力画像における複数の画素からなり、
前記第取得部は、前記複数の画素に対応する前記第法線情報に基づいて前記第法線情報を取得することを特徴とする請求項7に記載の処理装置。
【請求項10】
少なくとも3つの異なる光源条件のもとで前記被写体を撮影することで得られた複数の撮影画像を前記入力画像として取得する画像取得部を更に有することを特徴とする請求項1乃至9のいずれか一項に記載の処理装置。
【請求項11】
記レンダリング部は、前記仮想光源条件に基づいてレンダリングされた画像前記複数の撮影画像のうちの1枚の画像との差分を取得することで前記レンダリング画像を生成することを特徴とする請求項10に記載の処理装置。
【請求項12】
前記第1取得部は、前記入力画像に基づいて法線エラー領域を取得し、
前記第取得部は、前記指定領域前記法線エラー領域である場合、法線エラー領域ではない領域の前記第法線情報に基づいて前記第法線情報を取得することを特徴とする請求項7乃至9のいずれか一項に記載の処理装置。
【請求項13】
前記第1取得部は、前記入力画像に基づいて法線エラー領域を取得し、
記決定部は、前記指定領域前記法線エラー領域である場合、前記指定領域の周囲の法線エラー領域ではない領域の前記第法線情報に基づいて前記仮想光源条件を取得することを特徴とする請求項2または3に記載の処理装置。
【請求項14】
前記第1取得部は、前記入力画像に基づいて法線エラー領域を取得し、
前記第取得部は、前記指定領域前記法線エラー領域である場合、前記被写体の前記形状情報に基づいて前記第法線情報取得することを特徴とする請求項4に記載の処理装置。
【請求項15】
前記第1取得部は、前記入力画像に基づいて法線エラー領域を取得し、
前記レンダリング部は、前記指定領域前記法線エラー領域である場合、前記指定領域を中心として放射状に明るさを変化させた画像を前記レンダリング画像として生成することを特徴とする請求項1乃至1のいずれか一項に記載の処理装置。
【請求項16】
前記第1取得部は、前記入力画像に基づいて法線エラー領域を取得し、
前記指定領域前記法線エラー領域である場合に警告を表示する表示部を更に有することを特徴とする請求項1乃至1のいずれか一項に記載の処理装置。
【請求項17】
前記第取得部は、異なる光源条件のもとで前記被写体を撮影することで得られた複数の画像と、該複数の画像の少なくとも一つと同じ光源条件のもとで前記被写体を撮影することで得られた画像を再現した仮レンダリング画像とに基づいて法線エラー領域を取得することを特徴とする請求項1乃至1のいずれか一項に記載の処理装置。
【請求項18】
求項1乃至1のいずれか一項に記載の処理装置と、光源部とを有することを特徴とする処理システム。
【請求項19】
求項1乃至1のいずれか一項に記載の処理装置と、被写体を撮像する撮像部とを有することを特徴とする撮像装置。
【請求項20】
入力画像における被写体の第法線情報を取得するステップと、
ユーザにより指定された前記被写体の指定領域を取得するステップと、
前記被写体の第法線情報を取得するステップと、
前記指定領域に対応する前記第法線情報に基づいて仮想光源条件を決定するステップと、
前記第法線情報と前記仮想光源条件とを用いてレンダリング画像を生成するステップと、を有し、
前記第法線情報は、前記第法線情報よりも低周波な法線情報であることを特徴とする処理方法。
【請求項21】
請求項2に記載の処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レンダリング画像を生成する処理装置に関する。
【背景技術】
【0002】
被写体に関するより多くの物理情報を取得しておくことで、撮像後の画像処理において、物理モデルに基づく画像生成を行うことができる。例えば、被写体に対する光の当たり方(ライティング)等、被写体の見えを変更した画像(レンダリング画像)を生成することが可能となる。被写体の見えは、被写体の形状情報、被写体の反射率情報、および光源情報等で決定される。光源から出た光が被写体によって反射された反射光の物理的な振る舞いは局所的な法線に依存するため、被写体の形状情報として、被写体の法線を用いることが有効である。特許文献1には、被写体の法線を高精度かつ高解像に取得する方法として照度差ステレオ法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2010-122158号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
画像中で明るくしたい領域または暗くしたい領域をユーザが指定し、その領域に応じたライティングのレンダリング画像を生成することで、ユーザが意図したライティングのレンダリング画像を直感的に取得することができる。しかしながら、特許文献1に開示されているような照度差ステレオ法で取得した被写体の法線を用いると、ユーザが指定した領域を少し動かしただけでライティングが大きく変化し、ユーザが直感的にライティングを変更することができない場合がある。
【0005】
そこで本発明は、ユーザが直観的に画像のライティングを変更することが可能な処理装置、処理システム、撮像装置、処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一側面としての処理装置は、入力画像における被写体の第法線情報を取得する第取得部と、ユーザにより指定された前記被写体の指定領域を取得する領域取得部と、前記被写体の第法線情報を取得する第取得部と、前記指定領域に対応する前記第法線情報に基づいて仮想光源条件を決定する決定部と、前記第法線情報と前記仮想光源条件とを用いてレンダリング画像を生成するレンダリング部とを有し、前記第法線情報は、前記第法線情報よりも低周波な法線情報である。
【0007】
本発明の他の目的及び特徴は、以下の実施例において説明される。
【発明の効果】
【0008】
本発明によれば、ユーザが直観的に画像のライティングを変更することが可能な処理装置、処理システム、撮像装置、処理方法、およびプログラムを提供することができる。
【図面の簡単な説明】
【0009】
図1】実施例1における撮像装置の外観図である。
図2A】実施例1および実施例2における撮像装置のブロック図である。
図2B】実施例1および実施例2における処理システムのブロック図である。
図3】実施例1および実施例2における処理方法を示すフローチャートである。
図4】実施例1における指定領域の説明図である。
図5】実施例1における指定領域とレンダリング画像の説明図である。
図6】実施例1における第二法線情報の説明図である。
図7】実施例1における第二法線情報の説明図である。
図8】実施例1における撮像素子の受光部と撮像光学系の瞳との関係を示す図である。
図9】実施例1における撮像部の模式図である。
図10】実施例1における撮像装置の他の例を示す図である。
図11】実施例1における指定領域とレンダリング画像の説明図である。
図12】実施例2における第二法線情報の説明図である。
図13】実施例3における処理システムの外観図である。
図14】Torrance-Sparrowモデルの説明図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施例について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照符号を付し、重複する説明は省略する。
【0011】
照度差ステレオ法は、被写体の法線(面法線)と被写体から光源への方向に基づく被写体の反射特性を仮定し、複数の光源位置での被写体の輝度情報と仮定した反射特性から法線を算出する方法である。反射特性は、所定の法線と光源の位置が与えられたときに反射率が一意に定まらない場合、ランバートの余弦則に従うランバート反射モデルで近似すればよい。図14は、Torrance-Sparrowモデルの説明図である。図14に示されるように、鏡面反射成分は、光源ベクトルsと視線方向ベクトルvの2等分線と、法線nのなす角αに依存する。したがって、反射特性は、視線方向に基づく特性としてもよい。また、輝度情報は、光源が点灯している場合と消灯している場合のそれぞれの被写体を撮像し、これらの差分をとることで環境光等の光源以外の光源による影響を除いてもよい。
【0012】
以下、ランバート反射モデルで反射特性を仮定した場合について説明する。反射光の輝度値をi、物体のランバート拡散反射率をρ、入射光の強さをE、物体から光源への方向(光源方向)を示す単位ベクトル(光源方向ベクトル)をs、物体の単位法線ベクトルをnとする。このとき、輝度値iは、ランバートの余弦則より、以下の式(1)のように表される。
【0013】
【数1】
【0014】
ここで、異なるM個(M≧3)の光源ベクトルの各成分をs、s、…、s、光源ベクトルの各成分の輝度値をi、i、…、iとすると、式(1)は以下の式(2)のように表される。
【0015】
【数2】
【0016】
式(2)において、左辺はM行1列の輝度ベクトル、右辺の[s 、…s ]はM行3列の光源方向を示す入射光行列S、nは3行1列の単位法線ベクトルである。M=3の場合は、入射光行列Sの逆行列S-1を用いることにより、Eρnは以下の式(3)のように表される。
【0017】
【数3】
【0018】
式(3)の左辺のベクトルのノルムが入射光の強さEとランバート拡散反射率ρとの積であり、正規化したベクトルが物体の法線ベクトルとして算出される。すなわち、入射光の強さEとランバート拡散反射率ρは積の形でのみ条件式に現れるため、Eρを一つの変数とすると、式(3)は単位法線ベクトルnの2自由度と合わせて未知の3変数を決定する連立方程式とみなせる。したがって、少なくとも3つの光源を用いて輝度情報を取得することで、各変数を決定することができる。なお、入射光行列Sが正則行列でない場合は逆行列が存在しないため、入射光行列Sが正則行列となるように入射光行列Sの各成分s~sを選択する必要がある。すなわち、成分sを成分s、sに対して線形独立に選択することが好ましい。
【0019】
M>3の場合、求める未知変数より多い条件式が得られる。このため、任意に選択した3つの条件式から、M=3の場合と同様の方法で単位法線ベクトルnを算出すればよい。4つ以上の条件式を用いる場合、入射光行列Sが正則行列ではなくなるため、例えば、Moore-Penrose疑似逆行列を使って近似解を算出すればよい。また、フィッティング手法や最適化手法によって単位法線ベクトルnを算出してもよい。
【0020】
被写体の反射特性をランバート反射モデルとは異なるモデルで仮定すると、条件式が単位法線ベクトルnの各成分に対する線形方程式と異なる場合がある。この場合、未知変数以上の条件式が得られれば、フィッティング手法や最適化手法を用いることができる。
【0021】
またM>3の場合、3以上M-1以下の複数の条件式が得られるため、単位法線ベクトルnの複数の解の候補を求めることができる。この場合、さらに別の条件を用いて複数の解の候補から解を選択すればよい。例えば、単位法線ベクトルnの連続性を条件として用いることができる。単位法線nを撮像装置の1画素ごとに算出する場合、画素(x、y)での法線をn(x、y)として、n(x-1、y)が既知であれば、以下の式(4)で表される評価関数が最小となる解を選択すればよい。
【0022】
【数4】
【0023】
また、n(x+1、y)やn(x、y±1)も既知であれば、以下の式(5)が最小となる解を選択すればよい。
【0024】
【数5】
【0025】
既知の法線がなく、全画素位置で法線の不定性があるとすれば、以下の式(6)で示されるように、式(5)の全画素での総和が最小となるように解を選択してもよい。
【0026】
【数6】
【0027】
なお、最近傍以外の画素での法線を用いることや、注目する画素位置からの距離に応じて重み付けした評価関数を用いてもよい。また、別の条件として、任意の光源位置での輝度情報を用いてもよい。ランバート反射モデルに代表される拡散反射モデルでは、単位法線ベクトルと光源方向ベクトルが近いほど反射光の輝度が大きくなる。よって、複数の光源方向での輝度値のうち最も輝度値が大きくなる光源方向ベクトルに近い解を選択することで、単位法線ベクトルを決定することができる。
【0028】
また、鏡面反射モデルでは、光源ベクトルをs、物体からカメラへの方向の単位ベクトル(カメラの視線ベクトル)をvとすると、以下の式(7)が成り立つ。
【0029】
【数7】
【0030】
式(7)で表されるように、光源方向ベクトルsとカメラの視線ベクトルvが既知であれば、単位法線ベクトルnを算出することができる。表面に粗さがある場合、鏡面反射も出射角の広がりを持つが、平滑面として求めた解の付近に広がるため、複数の解の候補うち最も平滑面に対する解に近い候補を選択すればよい。また、複数の解の候補の平均によって真の解を決定してもよい。
【0031】
以上の照度差ステレオ法によって法線nおよび反射率ρ(=Eρ)を取得すると、式(1)に対して任意の光源ベクトルsを与えることにより、任意の光源下での輝度値iを算出することができる。すなわち、任意の光源下での見えを再現したレンダリング画像を生成することが可能となる。式(1)ではランバート拡散反射でのレンダリング画像を生成するが、その他の拡散反射特性やそれに加えて鏡面反射特性でのレンダリング画像を生成することもできる。
【実施例1】
【0032】
次に、図1および図2Aを参照して、本発明の実施例1における撮像装置について説明する。図1は、本実施例における撮像装置1の外観図である。図2Aは、撮像装置1のブロック図である。
【0033】
撮像装置1は、レンダリング処理を行ってレンダリング画像(リライティング画像)を生成する。図1に示されるように、撮像装置1は、被写体を撮像する撮像部100および光源部200を有する。図2Aに示されるように、撮像部100は、撮像光学系101および撮像素子102を有する。光源部200は、互いに異なる複数の位置からの光を被写体に光を照射可能に構成されている。本実施例において、光源部200は8つの光源200a~200hを有するが、これに限定されるものではない。照度差ステレオ法を実施する際に必要な光源は少なくとも3個であるため、入力画像を取得するために少なくとも3つ以上の光源を備えていればよい。また本実施例において、撮像部100を構成する撮像光学系の光軸OAから等距離の位置に同心円状に8つの光源を等間隔で配置しているが、これに限定されるものではない。また本実施例において、光源部200は、撮像装置1に内蔵されているが、これに限定されるものではない。光源部200は、撮像装置1に着脱可能に取り付けられるように構成されていてもよい。
【0034】
撮像光学系101は、絞り101aを備え、被写体からの光を撮像素子102上に結像させる。撮像素子102は、CCDセンサやCMOSセンサ等の光電変換素子により構成され、被写体を撮像する。すなわち撮像素子102は、撮像光学系101により形成された被写体の像(光学像)を光電変換し、アナログ電気信号(入力画像に対応する画像データ)を生成する。A/Dコンバータ103は、撮像素子102の光電変換により生成されたアナログ信号をデジタル信号に変換し、デジタル信号を画像処理部104に出力する。
【0035】
画像処理部(処理装置)104は、デジタル信号に対して一般的に行われる画像処理と併せて、被写体の法線情報を取得し、任意の仮想光源下でのレンダリング画像を生成する。画像処理部104は、入力画像取得部104a、第一法線取得部104b、指定領域取得部104c、第二法線取得部104d、仮想光源決定部104e、およびレンダリング部104fを有する。
【0036】
画像処理部104により処理された出力画像は、半導体メモリや光ディスク等の画像記録部109に保存される。また、出力画像を表示部(ディスプレイ)105に表示してもよい。本実施例において、入力画像取得部104a、第一法線取得部104b、指定領域取得部104c、第二法線取得部104d、仮想光源決定部104e、およびレンダリング部104fは、撮像装置1に内蔵されている。ただし本実施例は、これに限定されるものではなく、前述の各部の少なくとも一部を撮像装置1とは別に設けてもよい。
【0037】
情報入力部108は、ユーザにより選択された撮影条件(絞り値、露出時間、ISO感度、および、焦点距離など)をシステムコントローラ110に供給する。撮像制御部107は、システムコントローラ110からの情報に基づいて、ユーザが選択した所望の撮影条件で画像を取得する。照射光源制御部106は、システムコントローラ110の制御指示に応じて光源部200の発光状態を制御する。
【0038】
また情報入力部108は、ユーザにより指定された被写体の指定領域(指定部)をシステムコントローラ110に供給する。また情報入力部108は、指定領域に加えて、仮想光源強度や仮想光源色などの仮想光源条件をシステムコントローラ110に供給してもよい。画像処理部104は、システムコントローラ110からの情報に基づいて、ユーザが指定した指定領域が所望の効果を得る(明るくなる、または暗くなる)ように仮想光源条件を決定し、レンダリング画像(リライティング画像)を生成する。
【0039】
なお本実施例において、撮像光学系101は、撮像装置1と一体的に構成されているが、これに限定されるものではない。本発明は、撮像素子を有する撮像装置本体と、撮像装置本体に着脱可能な撮像光学系(交換レンズ)とを備えて構成される一眼レフカメラやミラーレスカメラ等のカメラシステムにも適用可能である。
【0040】
次に、図3を参照して、本実施例におけるレンダリング処理(処理方法)について説明する。図3は、レンダリング処理を示すフローチャートである。本実施例のレンダリング処理は、システムコントローラ110および画像処理部104により、コンピュータプログラムとしての処理プログラムに従って実行される。なお処理プログラムは、例えば、コンピュータに読み取り可能な記憶媒体(システムコントローラ110の内部メモリ等)に記憶されている。
【0041】
まず、ステップS101において、入力画像取得部104aは、互いに位置の異なる複数の光源位置で被写体の撮像を行うことで撮像部100により取得された複数の入力画像を取得する。複数の入力画像は、単一の光源の位置を(駆動部などを用いて)変更しながら単一の光源からの光を順次照射することで取得することができる。または、複数の入力画像を、それぞれ位置の異なる複数の光源(例えば、図1に示される8つの光源200a~200h)からの光を順次照射して取得してもよい。
【0042】
また、後述するステップS102にてランバート反射等の拡散反射モデルを仮定した照度差ステレオ法で法線情報を取得する場合、入力画像として撮影画像から鏡面反射成分を除去した複数の拡散反射画像を用いてもよい。画像から鏡面反射成分を除去した拡散反射画像を取得するため、例えば、2色性反射モデルによる手法を用いることができる。ただし、画像から鏡面反射成分を除去する手法はこれに限定されるものではなく、種々の手法を用いることが可能である。
【0043】
入力画像取得部104aにより取得された複数の入力画像のうち、一枚または複数枚の画像を平均した画像や最大値をとった画像など、複数の入力画像に基づく画像が表示部105に表示される。または、入力画像取得部104aは、上述した、互いに位置の異なる複数の光源位置で被写体の撮像を行うことで取得された複数の入力画像以外の画像を取得して表示してもよい。例えば、光源を照射せずに撮影して得られた環境光画像を加えて取得して表示してもよい。
【0044】
続いて、図3のステップS102において、第一法線取得部104bは、互いに位置の異なる複数の光源位置で被写体の撮像を行うことで取得された複数の入力画像を用いて、被写体の第一法線情報および反射率を取得する。第一法線情報および反射率は、照度差ステレオ法を用いて、光源位置による輝度情報の変化に基づいて算出される。なお本実施例において、第一法線取得部104bは、複数の入力画像に基づいて第一法線情報および反射率を算出しているが、これに限定されるものではない。例えば、第一法線取得部104bは、他のユニットが算出した法線情報や反射率を取得してもよく、または、入力画像を取得しなくてもよい。
【0045】
加えて、第一法線取得部104bは、法線エラー領域(第一法線情報にエラーがある領域)を取得してもよい。以下、法線エラー領域の取得について述べる。第一法線取得部104bは、ステップS102にて取得した法線情報n(第1の法線情報)および反射率ρと、ステップS101にて取得した入力画像が撮像された際の光源条件のうちの少なくとも一つの光源条件とに基づいて、仮レンダリング画像を生成する。すなわち第一法線取得部104bは、取得した法線情報nおよび反射率ρを用いて、入力画像を再現した仮レンダリング画像を生成する。仮レンダリング画像は、入力画像が撮像された光源条件と同一の光源条件でレンダリングされた画像である。すなわち第一法線取得部104bは、光源位置を変えた複数の画像と、該複数の画像の少なくとも一つと同じ光源条件下での見えを再現した仮レンダリング画像とに基づいて法線エラー領域を取得する。
【0046】
また、仮レンダリング画像は、ステップS102にて法線情報を算出する際に仮定した反射特性を用いてレンダリング処理により生成される。ランバート拡散を仮定して法線情報を算出した場合、第一法線取得部104bは、式(1)に従って複数の仮レンダリング画像を生成することができる。なお、仮レンダリング画像は、複数の入力画像のうち一部の入力画像に対応する仮レンダリング画像、または、複数の入力画像の全ての入力画像に対応する複数の仮レンダリング画像のいずれであってもよい。なお本実施例において、仮レンダリング画像とは、本実施例の処理において最終的に生成されるレンダリング画像とは異なるレンダリング画像を言う。
【0047】
続いて、第一法線取得部104bは、ステップS101にて取得された入力画像と仮レンダリング画像とに基づいて、法線エラー領域の分布(法線エラー領域マップ)を検出する。法線エラー領域は、例えば、法線情報の誤差が周囲と比べて大きい領域である。照度差ステレオ法で面法線を算出した場合、仮定した反射特性とは異なる反射特性の被写体については法線誤差(法線エラー)が生じる。このため、誤差が生じた面法線を用いてレンダリング画像を生成すると、レンダリング画像にも誤差(エラー)が生じる。
【0048】
そこで第一法線取得部104bは、ステップS101にて取得された入力画像とステップS102にて生成された仮レンダリング画像との差分(差分画像)に基づいて、法線エラー領域を検出する。入力画像のうちの一つと、該画像の光源条件を再現した仮レンダリング画像との差分が大きい領域は、照度差ステレオ法で仮定した反射特性とは異なる反射特性の被写体である可能性が高く、法線誤差が生じている可能性が高い。
【0049】
本実施例において、第一法線取得部104bは、例えば、入力画像と仮レンダリング画像との差分が所定の閾値以上である領域を検出し、その領域を法線エラー領域とする。好ましくは、差分を反射率ρで除した正規化差分に基づいて法線エラー領域を決定する。または、差分を入力画像または複数の入力画像の平均値もしくは中央値等の入力画像に基づく画像で除した正規化差分に基づいて法線エラー領域を決定してもよい。差分を反射率ρや入力画像に基づく画像で除することにより、算出した差分から明るさの影響を低減(好ましくは除外)することができる。
【0050】
また、第一法線取得部104bは、複数の入力画像と複数の仮レンダリング画像との複数の差分における最大値である最大差分、または、複数の差分の平均値である平均差分に基づいて、法線エラー領域を決定してもよい。好ましくは、最大差分や平均差分を反射率ρで除した正規化最大差分または正規化平均差分に基づいて法線エラー領域を決定する。または、最大差分や平均差分を、入力画像または複数の入力画像の平均値もしくは中央値等の入力画像に基づく画像で除した正規化最大差分や正規化平均差分に基づいて法線エラー領域を決定してもよい。
【0051】
また、法線情報を用いたレンダリング処理では、光が遮られて発生する影を再現することができない。したがって、入力画像と仮レンダリング画像との差分をとった際に入力画像における影領域において差分が大きくなる。このため、第一法線取得部104bは、差分に関して、法線情報nが正確であっても法線エラー領域と検出する可能性がある。そこで、法線情報nに加えて形状情報を用いて、影を再現したレンダリング画像を生成することが好ましい。形状情報がない場合、入力画像における影領域を検出し、差分に示されるように検出した影領域においては差分をとらないようにすることが好ましい。入力画像における影領域は、輝度値が所定の閾値以下である領域とすることができる。または、入力画像と仮レンダリング画像との差分と差分の符号とに基づいて法線エラー領域を検出してもよい。例えば、入力画像における影領域では、入力画像から仮レンダリング画像を引いた値が負となるため、負の差分領域は法線エラー領域として検出しないようにする。
【0052】
第一法線取得部104bは、差分に対して閾値処理を行うことにより、法線エラー領域を取得することができる。本実施例において、第一法線取得部104bは、入力画像と仮レンダリング画像との差分に基づいて法線エラー領域を検出するが、これに限定されるものではない。例えば、複数の入力画像における輝度値をフィッティングすることで法線情報nを取得し、得られたフィッティング誤差を、法線エラー領域を検出する際の差分として用いてもよい。
【0053】
また、第一法線情報における法線エラー領域における法線情報を、周囲の法線情報を用いてインペインティングしておくことが好ましい。インペインティングの手法は種々の手法を用いることができる。
【0054】
続いてステップS103において、指定領域取得部104cは、ユーザにより指定された被写体中の領域である指定領域(指定部)を取得する。ここで、図4を参照して、ユーザにより指定される指定領域について説明する。図4は、指定領域の説明図である。ユーザは、表示部105に表示された画像を見ながら明るく、または暗くしたい領域を指定する。図4の画像111に示されるように、ユーザが表示部105に表示された画像をタップまたはクリックする等して指定した画素111aを指定領域としてもよい。また、図4の画像112に示されるように、指定領域は、指定した画素を含む複数の画素の領域112aとしてもよい。または、図4の画像113に示されるように、ユーザが領域の枠を直接的に描いた領域内部113aを指定領域としてもよい。また、ユーザにより指定された領域である指定領域が法線エラー領域(第1法線情報または第2法線情報の少なくとも一方にエラーがある場合)である場合、その旨を警告するようにしてもよい。このとき表示部105は、警告を表示することができる。
【0055】
ここで、ユーザが指定した指定領域の第一法線情報に基づいて、指定領域が明るく、または暗くなるように仮想光源条件を決定しレンダリング画像を生成して表示すると、指定領域を動かした際に、レンダリング画像のライティングが大きく変化する場合がある。図5は、指定領域とレンダリング画像の説明図である。特に、照度差ステレオ等で取得した高解像な法線を用いる場合で、かつ高周波な構造がある場合、図5に示されるように、ユーザが指定する領域を少し動かしただけで、レンダリング画像のライティングが大きく変化してしまう。すなわち、図5の画像114に示されるように、ある画素を指定領域とした場合、拡大画像114aのように指定領域の周囲で法線114bが激しく変化する場合である。画像114および拡大画像114aに示される指定領域の場合では、レンダリング画像115が生成されるが、画像116および拡大画像116aのように指定領域を少し動かすと、レンダリング画像117のように大きくライティングが変化する。このような課題を解決するため、本実施例では、高解像かつ高周波な第一法線情報を用いるのではなく、低周波な(解像度が低い)法線情報に基づいて仮想光源条件を決定する。
【0056】
そこでステップS104において、第二法線取得部104dは、ステップS102にて取得した第一法線情報よりも低周波な法線情報である第二法線情報を取得する。ここで、第一法線情報よりも低周波な法線情報とは、第一法線情報よりも解像度が低い法線情報や、第一法線情報に対してローパスフィルタ等を適用した低周波な法線情報である。すなわち第二法線情報は、画像中の位置に対する法線の変化量が第一法線情報よりもなだらかである。
【0057】
したがって、第二法線情報の説明図である図6(拡大画像114aの一断面における、矢印で示される法線情報)のように、第二法線取得部104dは、第一法線情報114bに対して平均化フィルタやローパスフィルタを適用して第二法線情報114cを取得する。または、第二法線情報の説明図である図7に示されるように、第二法線取得部104dは、第一法線情報114bを縮小することで第二法線情報114cを取得してもよい。
【0058】
また、第二法線取得部104dは、被写体の形状情報から第二法線情報を取得してもよい。形状情報は、レーザ光を用いた三角測量や2眼ステレオカメラ等、種々の距離計測手法を用いて取得すればよい。例えば、異なる視点から撮影した複数の視差画像を取得するステレオ法によって取得する。ステレオ法では、取得した複数の視差画像中の被写体の対応点の視差量と撮影した各視点の位置情報および光学系の焦点距離から三角測量によって奥行きを取得する。距離情報は、被写体の対応点で算出された奥行きの平均値としてもよいし、被写体の特定の点における奥行きとしてもよい。
【0059】
視差画像から距離情報を取得する場合、複数の視差画像の撮像部(撮像系)100は、図8に示されるように、撮像光学系101の瞳のうち互いに異なる領域P1、P2を通過した複数の光束を撮像素子102の互いに異なる受光部(画素)に導いて光電変換を行う。
【0060】
図8は、撮像素子102の受光部と撮像光学系101の瞳との関係を示す図である。撮像素子102には、受光部であるG1画素とG2画素の対(画素対)が複数配列されている。複数のG1画素をまとめてG1画素群といい、複数のG2画素をまとめてG2画素群という。対のG1画素とG2画素は、共通の(すなわち、画素対ごとに一つずつ設けられた)マイクロレンズMLを介して撮像光学系101の射出瞳EXPと共役な関係を有する。また、マイクロレンズMLと受光部との間には、カラーフィルタCFが設けられている。
【0061】
図9は、射出瞳EXPの位置に薄肉レンズがあると仮定した場合の撮像部(撮像系)の模式図である。G1画素は射出瞳EXPのうち領域P1を通過した光束を受光し、G2画素は射出瞳EXPのうち領域P2を通過した光束を受光する。撮像している物点OSPには必ずしも物体が存在している必要はなく、物点OSPを通った光束は通過する瞳内での領域(位置)に応じてG1画素またはG2画素に入射する。瞳内の互いに異なる領域を光束が通過することは、物点OSPからの入射光が角度(視差)によって分離されることに相当する。すなわち、マイクロレンズMLごとに設けられたG1画素およびG2画素のうち、G1画素からの出力信号を用いて生成された画像とG2画素からの出力信号を用いて生成された画像とが、互いに視差を有する複数(ここでは一対)の視差画像となる。以下の説明において、瞳内の互いに異なる領域を通過した光束を互いに異なる受光部(画素)により受光することを瞳分割という。
【0062】
図8および図9において、射出瞳EXPの位置がずれる等して、上述した共役関係が完全ではなくなった場合や、領域P1と領域P2とが部分的にオーバーラップする場合でも、得られた複数の画像を視差画像として扱うことができる。
【0063】
図10は、撮像装置の他の例を示す図である。図10に示されるように、一つの撮像装置に複数の撮像光学系OSj(j=1、2)を設けることで視差画像を取得することができる。また、複数のカメラを用いて同一被写体を撮像する場合も視差画像が得られる。
【0064】
なお本実施例において、ステップS104における第二法線情報の取得は、ステップS103における指定領域の取得の前に行ってもよい。
【0065】
続いてステップS105において、仮想光源決定部104eは、ユーザにより指定された指定領域に対応する第二法線情報に基づいて、仮想光源条件を決定する。具体的には、仮想光源決定部104eは、第二法線情報における指定領域の法線情報を用いて仮想光源の光源ベクトルを決定する。ユーザが指定した領域を明るくする場合、第二法線情報における指定領域の法線ベクトルを仮想光源の光源ベクトルとして採用すればよい。一方、ユーザが指定した領域を暗くする場合、例えば、第二法線情報における指定領域の法線ベクトルのx、y成分に-1をかけたベクトルを仮想光源の光源ベクトルとして採用すればよい。または、指定領域が明るくなるように指定領域の法線ベクトルを仮想光源の光源ベクトルとして採用しておき、後述するステップS106において仮想光源を用いて生成したレンダリング画像をベース画像から差し引くことで指定領域が暗くなるようにしてもよい。
【0066】
第二法線情報における指定領域が複数の法線ベクトルを含む場合、複数の法線ベクトルの平均値や中央値を用いればよい。また、指定領域だけでなくその周辺領域の第二法線情報を用いて仮想光源の光源ベクトルを決定してもよい。例えば、仮想光源決定部104eは、指定領域とその周辺領域の複数の法線ベクトルの平均値や中央値を用いて仮想光源の光源ベクトルを決定する。周辺領域の大きさは、予め決められた大きさでもよいし、ユーザが設定できるようにしておき取得してもよい。好ましくは、ユーザが指定領域を指定する際の画像の表示倍率に応じて周辺領域の大きさを決める。例えば、表示倍率が大きい場合、周辺領域の大きさを小さくする。
【0067】
また第二法線情報における指定領域の複数の法線ベクトルが一つではなく複数に分類される場合、仮想光源決定部104eは、仮想光源を複数決定してもよい。例えば、複数の法線ベクトルのヒストグラムから、代表する複数の法線ベクトルを抽出できる場合、仮想光源の光源ベクトルを複数決定してもよい。
【0068】
また、指定領域が法線エラー領域である場合(指定領域に対応する第二法線情報にエラーがある場合)、法線エラー領域ではない領域の第二法線情報を用いて仮想光源を決定することが好ましい。例えば、仮想光源決定部104eは、指定領域の周辺領域で法線エラー領域ではない領域の第二法線情報のみを用いて仮想光源を決定する。または、指定領域内で法線エラー領域ではない第二法線情報のみを用いて仮想光源条件を決定する。
【0069】
続いてステップS106において、レンダリング部104fは、ステップS105にて取得された仮想光源条件に基づいてレンダリング画像を生成し、表示部105に表示する。レンダリング画像は、ステップS103にて取得された、ユーザが指定した領域が明るくまたは暗くなるように仮想光源が設定された画像である。レンダリング画像は、仮想光源条件に基づいて生成したレンダリング画像のみでもよいし、入力画像等のベース画像に対して加算や加重平均したものでもよい。ベース画像は、光源位置を変化させて取得した入力画像を用いてもよいし、光源を照射せずに撮影して得られた環境光画像など、光源環境が異なる画像を用いてもよい。好ましくは、ベース画像は、ステップS101で述べた、表示部105にて表示した画像とする。また、レンダリング画像の生成においては、ステップ102の法線情報算出において仮定した反射特性でなくてもよく、その他の拡散反射特性やそれに加えて鏡面反射特性でのレンダリング画像を生成してもよい。また、入力画像やベース画像を反射率とみなしてレンダリング画像を生成してもよい。
【0070】
また、指定領域が法線エラー領域である場合、法線情報を用いずに、指定領域を中心として明るさを変化させたベース画像をレンダリング画像として生成してもよい。例えば、レンダリング部104fは、指定領域を中心として放射状に明るさを変化させたベース画像をレンダリング画像としてもよい。
【0071】
また、ユーザが異なる被写体中の領域を指定しなおした場合、再びステップS103の指定領域の取得に戻り、仮想光源を決定しレンダリング画像を生成して表示する。その際、第二法線情報がすでに取得されていれば、第二法線情報は再び取得しなくてもよい。
【0072】
以上のように、本実施例では、低周波な第二法線情報に基づいて仮想光源条件を決定する。これにより、図11(指定領域とレンダリング画像の説明図)に示されるように、ユーザが指定領域を動かしたとしてもライティングの変化が滑らかなレンダリング画像118、119を生成し表示することができる。
【0073】
なお本実施例では、撮像装置内で被写体の面法線を算出し、レンダリング画像を生成しているが、図2Bに示されるように、撮像装置とは異なる処理システム2を用いて処理を行ってもよい。図2Bに示される処理システム2は、処理装置500、撮像部501、および光源部502を備える。処理装置500は、入力画像取得部500a、第一法線取得部500b、指定領域取得部500c、第二法線取得部500d、仮想光源決定部500e、およびレンダリング部500fを備える。処理システム2を用いてレンダリング画像を生成する場合、まず、入力画像取得部500aは、互いに位置の異なる複数の光源位置で被写体の撮像を行うことで取得された複数の入力画像を取得する。次に、第一法線取得部500bは、複数の入力画像に基づいて被写体の第一法線情報および反射率を算出する。そして指定領域取得部500cは、ユーザによって指定された被写体中の領域である指定領域を取得する。そして第二法線取得部500dは、第一法線情報よりも低周波な法線情報である第二法線情報を取得する。そして仮想光源決定部500eは、ユーザにより指定された指定領域に対応する第二法線情報に基づいて、仮想光源条件を決定する。そしてレンダリング部500fは、仮想光源条件に基づいてレンダリング画像を生成する。なお、撮像部501および光源部502はそれぞれ、個別の装置であってもよいし、光源部502が撮像部501に内蔵されていてもよい。
【0074】
本実施例によれば、指定領域に対応する第二法線情報に基づいて仮想光源を決定することで、ユーザが直観的に画像のライティングを変更することができる。
【実施例2】
【0075】
次に、本発明の実施例2について説明する。本実施例は、実施例1と同様の撮像装置を用いて被写体の法線を取得し、ユーザが指定した指定領域に対応する第二法線情報に基づいて仮想光源条件を決定することで、ユーザが直観的に画像のライティングを変更することができる。本実施例では、第一法線情報における指定領域とその周囲の法線情報を用いて、指定領域に対応する第二法線情報を取得して仮想光源条件の決定に用いる。
【0076】
実施例1と同様に、図2Aは本実施例における撮像装置1のブロック図であり、図3は本実施例のレンダリング処理(処理方法)を示すフローチャートである。本実施例のレンダリング処理は、実施例1と同様に、システムコントローラ110および撮像制御部107により、コンピュータプログラムとしての画像処理プログラムに従って実行される。
【0077】
画像処理部104は、デジタル信号に対して一般的に行われる画像処理と併せて、被写体の法線情報を取得し、任意の仮想光源下でのレンダリング画像を生成する。画像処理部104は、入力画像取得部104a、第一法線取得部104b、指定領域取得部104c、第二法線取得部104d、仮想光源決定部104e、およびレンダリング部104fを有する。なお、図3のステップS101~S103、106はそれぞれ、実施例1と同様であるため、それらの詳細な説明は省略する。
【0078】
ステップS104において、第二法線取得部104dは、ステップS103にて取得した指定領域に基づいて、ステップS102で取得した第一法線情報よりも低周波な法線情報である第二法線情報を取得する。指定領域が1画素の領域である場合、指定領域とその周囲の第一法線情報に基づいて第二法線情報を取得する。具体的には、図12図5の拡大画像114aの一断面における、矢印で示す法線情報)に示されるように、第一法線情報における指定領域とその周辺領域の複数の法線ベクトル114bの平均値や中央値を用いて第二法線情報の法線ベクトル114dを決定する。第一法線情報における指定領域が複数の法線ベクトルを含む場合、複数の法線ベクトルの平均値や中央値を用いればよい。また、指定領域だけでなくその周辺領域の第一法線情報を用いて第二法線情報を取得してもよい。例えば、第二法線取得部104dは、指定領域とその周辺領域の複数の法線ベクトルの平均値や中央値を用いて第二法線情報の法線ベクトルを取得する。周辺領域の大きさは、予め決められた大きさでもよいし、ユーザが設定できるようにしておき取得してもよい。好ましくは、ユーザが指定領域を指定する際の画像の表示倍率に応じて周辺領域の大きさを決める。例えば、表示倍率が大きい場合、周辺領域の大きさを小さくする。
【0079】
また、第一法線情報における指定領域の複数の法線ベクトルが一つではなく複数に分類される場合、複数の第二法線情報を取得してもよい。例えば、第二法線取得部104dは、第一法線情報における指定領域の複数の法線ベクトルのヒストグラムから、代表する複数の法線ベクトルを抽出できる場合には、第二法線情報として複数の法線ベクトルを取得してもよい。
【0080】
また、指定領域が法線エラー領域である場合(第一法線情報にエラーがある場合)、法線エラー領域ではない領域の法線情報を用いて第二法線情報を取得することが好ましい。例えば、第二法線取得部104dは、指定領域の周辺領域で法線エラー領域ではない領域の第一法線情報のみを用いて第二法線情報を取得する。または第二法線取得部104dは、指定領域内で法線エラー領域ではない第一法線情報のみを用いて第二法線情報を取得する。
【0081】
ステップS105において、仮想光源決定部104eは、ステップS104にて取得された、ユーザにより指定された指定領域に対応する第二法線情報に基づいて、仮想光源条件を決定する。具体的には、仮想光源決定部104eは、指定領域に対応する第二法線情報を用いて仮想光源の光源ベクトルを決定する。
【0082】
ユーザが指定した領域を明るくする場合、指定領域に対応する第二法線情報の法線ベクトルを仮想光源の光源ベクトルとして採用すればよい。一方、ユーザが指定した領域を暗くする場合、例えば、指定領域に対応する第二法線情報の法線ベクトルのx、y成分に-1をかけたベクトルを仮想光源の光源ベクトルとして採用すればよい。または、指定領域が明るくなるように指定領域に対応する第二法線情報の法線ベクトルを仮想光源の光源ベクトルとして採用し、ステップS106で仮想光源を用いて生成したレンダリング画像をベース画像から差し引くことで指定領域が暗くなるようにしてよい。また、ステップS104で取得した指定領域に対応する第二法線情報が複数の法線ベクトルを有する場合、仮想光源決定部104eは、仮想光源を複数決定してもよい。
【0083】
続いてステップS106において、レンダリング部104fは、ステップS105にて取得された仮想光源条件に基づいてレンダリング画像を生成し、表示部105に表示する。
【0084】
本実施例によれば、第一法線情報における指定領域とその周囲の法線情報を用いて、指定領域に対応する第二法線情報を取得して仮想光源の決定に用いることで、ユーザが直観的に画像のライティングを変更することができる。
【実施例3】
【0085】
次に、図13を参照して、本発明の実施例3について説明する。実施例1および実施例2では、光源を内蔵した撮像装置について説明したが、本実施例では撮像装置と光源ユニットとから構成される処理システムについて説明する。図13は、処理システム3の外観図である。処理システム3は、被写体303を撮像する撮像装置301、および、複数の光源ユニット302を備えて構成される。本実施例の撮像装置301は、実施例1の撮像装置1と同様の構成であるが、光源部として照度差ステレオ法用の複数の光源を内蔵する必要はない。
【0086】
光源ユニット302は、撮像装置301と有線または無線で接続され、撮像装置301からの情報に基づいて制御できることが好ましい。また、照度差ステレオ法では少なくとも3つの光源を順次照射して撮像された画像が必要であるが、光源が移動可能に構成された光源ユニットを使用する場合、少なくとも一つの光源ユニットを備えていればよい。ただし、光源を移動させて、少なくとも互いに異なる3つの光源位置で撮像を行う必要がある。なお本実施例のレンダリング処理は、実施例1および実施例2と同様であるため、その詳細な説明を省略する。
【0087】
本実施例によれば、ユーザが直観的に画像のライティングを変更することができる。
【0088】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0089】
各実施例によれば、ユーザが直観的に画像のライティングを変更することが可能な処理装置、処理システム、撮像装置、処理方法、およびプログラムを提供することができる。
【0090】
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【0091】
104 画像処理部(処理装置)
104b 第一法線取得部
104c 指定領域取得部
104d 第二法線取得部
104e 仮想光源決定部
104f レンダリング部
図1
図2A
図2B
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14