(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-26
(45)【発行日】2024-12-04
(54)【発明の名称】画像処理装置、撮像装置、情報処理装置、画像処理方法、及びプログラム
(51)【国際特許分類】
G06T 1/00 20060101AFI20241127BHJP
【FI】
G06T1/00 500A
G06T1/00 280
(21)【出願番号】P 2020186748
(22)【出願日】2020-11-09
【審査請求日】2023-10-19
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】穂積 靖
【審査官】藤原 敬利
(56)【参考文献】
【文献】特開2020-095454(JP,A)
【文献】特開2019-168862(JP,A)
【文献】特開2020-024581(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00- 7/90
G06V 10/00-20/90
H04N 23/00-23/959
(57)【特許請求の範囲】
【請求項1】
仮想光源を規定する光源情報と、撮影範囲における法線の分布を示す法線情報と、前記法線の分布においてエラーが発生している法線エラー領域を示す法線エラー情報とを取得する取得手段と、
前記光源情報及び前記法線情報に基づいて、第1のゲイン量分布を示す第1のゲイン情報を生成する第1の生成手段と、
前記第1のゲイン量分布において前記法線エラー領域に対応する領域のゲイン量に対して平滑化処理を行うことにより、第2のゲイン量分布を示す第2のゲイン情報を生成する第2の生成手段と、
前記撮影範囲の画像に対して、前記第2のゲイン量分布に従うゲインを適用することにより、前記画像に前記仮想光源の効果を付加する付加手段と、
を備え
、
前記第2の生成手段は、前記第1のゲイン量分布において前記法線エラー領域に対応する領域における各位置のゲイン量の差に基づいて、前記平滑化処理における前記各位置の平滑化範囲を決定し、
前記ゲイン量の差が第2の値である第2の位置について決定される前記平滑化範囲は、前記ゲイン量の差が前記第2の値より小さい第1の値である第1の位置について決定される前記平滑化範囲よりも広い
ことを特徴とする画像処理装置。
【請求項2】
仮想光源を規定する光源情報と、撮影範囲における法線の分布を示す法線情報と、前記法線の分布においてエラーが発生している法線エラー領域を示す法線エラー情報とを取得する取得手段と、
前記光源情報及び前記法線情報に基づいて、第1のゲイン量分布を示す第1のゲイン情報を生成する第1の生成手段と、
前記第1のゲイン量分布において前記法線エラー領域に対応する領域のゲイン量に対して平滑化処理を行うことにより、第2のゲイン量分布を示す第2のゲイン情報を生成する第2の生成手段と、
前記撮影範囲の画像に対して、前記第2のゲイン量分布に従うゲインを適用することにより、前記画像に前記仮想光源の効果を付加する付加手段と、
を備え、
前記取得手段は、前記撮影範囲における被写体間の境界位置を示す境界情報を更に取得し、
前記法線エラー領域が前記境界位置を含む場合、前記第2の生成手段は、前記平滑化処理を行った後に、前記第1のゲイン量分布において前記法線エラー領域に対応する領域のゲイン量を前記法線エラー領域に隣接する位置のゲイン量で置換することにより、前記第2のゲイン量分布を示す前記第2のゲイン情報を生成する
ことを特徴とす
る画像処理装置。
【請求項3】
仮想光源を規定する光源情報と、撮影範囲における法線の分布を示す法線情報と、前記法線の分布においてエラーが発生している法線エラー領域を示す法線エラー情報とを取得する取得手段と、
前記光源情報及び前記法線情報に基づいて、第1のゲイン量分布を示す第1のゲイン情報を生成する第1の生成手段と、
前記第1のゲイン量分布において前記法線エラー領域に対応する領域のゲイン量に対して平滑化処理を行うことにより、第2のゲイン量分布を示す第2のゲイン情報を生成する第2の生成手段と、
前記撮影範囲の画像に対して、前記第2のゲイン量分布に従うゲインを適用することにより、前記画像に前記仮想光源の効果を付加する付加手段と、
を備え、
前記取得手段は、前記撮影範囲における被写体間の境界位置を示す境界情報を更に取得し、
前記法線エラー領域が前記境界位置を含む場合、前記第2の生成手段は、
前記境界位置から前記法線エラー領域に隣接する位置までの距離が閾値未満であるか否かを判定し、
前記距離が前記閾値未満の場合、前記平滑化処理を行った後に、前記第1のゲイン量分布において前記法線エラー領域に対応する領域のゲイン量を前記法線エラー領域に隣接する位置のゲイン量で置換することにより、前記第2のゲイン量分布を示す前記第2のゲイン情報を生成し、
前記距離が前記閾値未満でない場合、前記平滑化処理を行った後に、前記第1のゲイン量分布において前記境界位置から前記閾値以下の距離範囲に含まれる領域のゲイン量を前記距離範囲に含まれる領域に隣接する位置のゲイン量で置換することにより、前記第2のゲイン量分布を示す前記第2のゲイン情報を生成する
ことを特徴とす
る画像処理装置。
【請求項4】
前記取得手段は、前記境界情報として、拡散反射率の画素位置毎の変化を示す情報、物体距離の画素位置毎の変化を示す情報、物体検知情報、色の画素位置毎の変化を示す情報、又は輝度の画素位置毎の変化を示す情報を取得する
ことを特徴とする請求項
2又は
3に記載の画像処理装置。
【請求項5】
請求項1乃至
4のいずれか1項に記載の画像処理装置と、
前記画像を生成する撮像手段と、
を備えることを特徴とする撮像装置。
【請求項6】
画像処理装置が実行する画像処理方法であって、
仮想光源を規定する光源情報と、撮影範囲における法線の分布を示す法線情報と、前記法線の分布においてエラーが発生している法線エラー領域を示す法線エラー情報とを取得する取得工程と、
前記光源情報及び前記法線情報に基づいて、第1のゲイン量分布を示す第1のゲイン情報を生成する第1の生成工程と、
前記第1のゲイン量分布において前記法線エラー領域に対応する領域のゲイン量に対して平滑化処理を行うことにより、第2のゲイン量分布を示す第2のゲイン情報を生成する第2の生成工程と、
前記撮影範囲の画像に対して、前記第2のゲイン量分布に従うゲインを適用することにより、前記画像に前記仮想光源の効果を付加する付加工程と、
を備え
、
前記第2の生成工程は、前記第1のゲイン量分布において前記法線エラー領域に対応する領域における各位置のゲイン量の差に基づいて、前記平滑化処理における前記各位置の平滑化範囲を決定し、
前記ゲイン量の差が第2の値である第2の位置について決定される前記平滑化範囲は、前記ゲイン量の差が前記第2の値より小さい第1の値である第1の位置について決定される前記平滑化範囲よりも広い
ことを特徴とする画像処理方法。
【請求項7】
画像処理装置が実行する画像処理方法であって、
仮想光源を規定する光源情報と、撮影範囲における法線の分布を示す法線情報と、前記法線の分布においてエラーが発生している法線エラー領域を示す法線エラー情報とを取得する取得工程と、
前記光源情報及び前記法線情報に基づいて、第1のゲイン量分布を示す第1のゲイン情報を生成する第1の生成工程と、
前記第1のゲイン量分布において前記法線エラー領域に対応する領域のゲイン量に対して平滑化処理を行うことにより、第2のゲイン量分布を示す第2のゲイン情報を生成する第2の生成工程と、
前記撮影範囲の画像に対して、前記第2のゲイン量分布に従うゲインを適用することにより、前記画像に前記仮想光源の効果を付加する付加工程と、
を備え、
前記取得工程は、前記撮影範囲における被写体間の境界位置を示す境界情報を更に取得し、
前記法線エラー領域が前記境界位置を含む場合、前記第2の生成工程は、前記平滑化処理を行った後に、前記第1のゲイン量分布において前記法線エラー領域に対応する領域のゲイン量を前記法線エラー領域に隣接する位置のゲイン量で置換することにより、前記第2のゲイン量分布を示す前記第2のゲイン情報を生成する
ことを特徴とする画像処理方法。
【請求項8】
画像処理装置が実行する画像処理方法であって、
仮想光源を規定する光源情報と、撮影範囲における法線の分布を示す法線情報と、前記法線の分布においてエラーが発生している法線エラー領域を示す法線エラー情報とを取得する取得工程と、
前記光源情報及び前記法線情報に基づいて、第1のゲイン量分布を示す第1のゲイン情報を生成する第1の生成工程と、
前記第1のゲイン量分布において前記法線エラー領域に対応する領域のゲイン量に対して平滑化処理を行うことにより、第2のゲイン量分布を示す第2のゲイン情報を生成する第2の生成工程と、
前記撮影範囲の画像に対して、前記第2のゲイン量分布に従うゲインを適用することにより、前記画像に前記仮想光源の効果を付加する付加工程と、
を備え、
前記取得工程は、前記撮影範囲における被写体間の境界位置を示す境界情報を更に取得し、
前記法線エラー領域が前記境界位置を含む場合、前記第2の生成工程は、
前記境界位置から前記法線エラー領域に隣接する位置までの距離が閾値未満であるか否かを判定し、
前記距離が前記閾値未満の場合、前記平滑化処理を行った後に、前記第1のゲイン量分布において前記法線エラー領域に対応する領域のゲイン量を前記法線エラー領域に隣接する位置のゲイン量で置換することにより、前記第2のゲイン量分布を示す前記第2のゲイン情報を生成し、
前記距離が前記閾値未満でない場合、前記平滑化処理を行った後に、前記第1のゲイン量分布において前記境界位置から前記閾値以下の距離範囲に含まれる領域のゲイン量を前記距離範囲に含まれる領域に隣接する位置のゲイン量で置換することにより、前記第2のゲイン量分布を示す前記第2のゲイン情報を生成する
ことを特徴とする画像処理方法。
【請求項9】
コンピュータを、請求項1乃至
4のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、撮像装置、情報処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【0002】
デジタルカメラ等の撮像装置で被写体を撮像して得られた撮影画像から、被写体の形状情報として面法線の情報(以後、「法線情報」と呼ぶ)を取得する方法が知られている。この法線情報をレンダリング処理時に利用することにより、リライティング画像のような、被写体の見え方(リライティングの場合、陰影の付き方又は光の当たり方)を変更した画像を取得することができる。
【0003】
このような法線情報を取得する方法の1つとして、照度差ステレオ法が提案されている。照度差ステレオ法は、光源方向に基づいた被写体の反射特性と被写体の面法線とを仮定し、複数の光源位置での被写体の輝度情報と反射特性とから面法線を決定する方法である。照度差ステレオ法における被写体の反射特性としては、ランバートの余弦則に従うランバート反射モデルが用いられることが多い。
【0004】
一般に、物体の反射には、鏡面反射と拡散反射がある。鏡面反射は、物体表面での正反射であり、物体表面(界面)においてフレネルの式に従う反射である。一方で、拡散反射は、被写体の表面を透過した後に物体内部で散乱されて光が返ってくる反射である。
【0005】
鏡面反射した光は、上述のランバートの余弦則では表すことができない。従って、撮像装置で観測される被写体からの反射光に鏡面反射光が含まれていると、照度差ステレオ法では面法線が正確に求まらない。
【0006】
また、光源からの光が当たらない陰影部においても、仮定したランバートの余弦則による反射モデルからの誤差が生じるため、被写体の法線情報を正確に取得することができない。更には、形状的に相互反射するような表面形状を有する被写体に関しても、仮定したランバートの余弦則による反射モデルからの誤差が生じ、被写体の法線情報を正確に取得することができない。以下では、上述したような被写体の法線情報を正確に求めることができない領域を、法線エラー領域と呼ぶ。
【0007】
特許文献1には、照度差ステレオ法により輝度情報から法線情報を取得する際に、輝度情報に含まれるノイズを低減し、ノイズに起因する法線情報の誤差を排除できることが記載されている。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、特許文献1の技術は、輝度情報に含まれるノイズに起因する法線情報の誤差を抑制することはできるが、前述の鏡面反射光、陰影部、及び相互反射に起因する法線情報の誤差を抑制することはできず、法線エラー領域が発生する。このような法線エラー領域を含んだ法線情報に基づいて被写体の見え方を変更した仮想光源画像を形成した場合、例えば
図10(a)に示すように、法線エラー領域で陰影の状態が不自然になる場合がある。
【0010】
本発明はこのような状況に鑑みてなされたものであり、法線エラー領域に起因する仮想光源画像の画質劣化を抑制する技術を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明は、仮想光源を規定する光源情報と、撮影範囲における法線の分布を示す法線情報と、前記法線の分布においてエラーが発生している法線エラー領域を示す法線エラー情報とを取得する取得手段と、前記光源情報及び前記法線情報に基づいて、第1のゲイン量分布を示す第1のゲイン情報を生成する第1の生成手段と、前記第1のゲイン量分布において前記法線エラー領域に対応する領域のゲイン量に対して平滑化処理を行うことにより、第2のゲイン量分布を示す第2のゲイン情報を生成する第2の生成手段と、前記撮影範囲の画像に対して、前記第2のゲイン量分布に従うゲインを適用することにより、前記画像に前記仮想光源の効果を付加する付加手段と、を備え、前記第2の生成手段は、前記第1のゲイン量分布において前記法線エラー領域に対応する領域における各位置のゲイン量の差に基づいて、前記平滑化処理における前記各位置の平滑化範囲を決定し、前記ゲイン量の差が第2の値である第2の位置について決定される前記平滑化範囲は、前記ゲイン量の差が前記第2の値より小さい第1の値である第1の位置について決定される前記平滑化範囲よりも広いことを特徴とする画像処理装置を提供する。
【発明の効果】
【0012】
本発明によれば、法線エラー領域に起因する仮想光源画像の画質劣化を抑制することが可能となる。
【0013】
なお、本発明のその他の特徴及び利点は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【図面の簡単な説明】
【0014】
【
図4A】ゲイン情報補正処理の詳細を示すフローチャート。
【
図4B】ゲイン情報補正処理の詳細を示すフローチャート。
【
図5】ゲイン情報補正処理における処理aを説明する図。
【
図6】ゲイン情報補正処理における処理b(例1)を説明する図。
【
図7】ゲイン情報補正処理における処理cを説明する図。
【
図8】平均化処理範囲(平滑化範囲)を決定する方法の詳細を説明する図。
【
図10】(a)不自然な陰影の仮想光源画像例を示す図、(b)望ましい陰影の仮想光源画像例を示す図。
【
図11】ゲイン情報補正処理における処理b(例2)を説明する図。
【発明を実施するための形態】
【0015】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。更に、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0016】
[第1の実施形態]
●照度差ステレオ法
照度差ステレオ法は、被写体の面法線と被写体から光源への方向(光源方向)とに基づく被写体の反射特性を仮定し、複数の光源位置に対応する被写体の輝度情報と仮定した反射特性とに基づいて面法線情報を算出する方法である。所定の面法線と光源の位置とが与えられたときに反射率が一意に定まらない場合、反射特性はランバートの余弦則に従うランバート反射モデルで近似すればよい。
図9に示されるように、鏡面反射成分は、光源ベクトルs及び視線方向ベクトルvの2等分線と、面法線nとのなす角αに依存する。従って、反射特性は、視線方向に基づく特性としてもよい。また、輝度情報については、光源が点灯している場合及び消灯している場合のそれぞれの被写体を撮像し、これらの差分をとることで光源以外の光(環境光等)による影響を除いてもよい。
【0017】
以下、ランバート反射モデルで反射特性を仮定した場合について説明する。反射光の輝度値をi、物体のランバート拡散反射率をρd、入射光の強さをE、物体から光源への方向を示す単位ベクトル(光源方向ベクトル)をs、物体の単位面法線ベクトルをnとすると、輝度iはランバートの余弦則から以下の式(1)で示される。
【0018】
【0019】
異なるM個(M≧3)の光源ベクトルの各成分をs1、s2、・・・、sM、光源ベクトルの成分ごとの輝度値をi1、i2、・・・iMとすると、式(1)は以下の式(2)で示される。
【0020】
【0021】
式(2)の左辺はM行1列の輝度ベクトル、右辺の[s1
T,・・・,sM
T]はM行3列の光源方向を示す入射光行列S、nは3行1列の単位面法線ベクトルである。M=3の場合は、入射光行列Sの逆行列S-1を用いて、Eρdnは以下の式(3)で示される。
【0022】
【0023】
式(3)の左辺のベクトルのノルムが入射光の強さEとランバート拡散反射率ρdの積であり、正規化したベクトルが物体の面法線ベクトルとして算出される。即ち、入射光の強さEとランバート拡散反射率ρdは積の形でのみ条件式に現れるので、Eρdを1つの変数とみなすと、式(3)は、単位面法線ベクトルnの2自由度と合わせて未知の3変数を決定する連立方程式とみなせる。従って、少なくとも3つの光源を用いて輝度情報を取得することで、各変数を決定することができる。なお、入射光行列Sが正則行列でない場合は逆行列が存在しないため、入射光行列Sが正則行列となるように入射光行列Sの各成分s1~s3を選択する必要がある。即ち、成分s3を成分s1,s2に対して線形独立に選択することが望ましい。
【0024】
また、M>3の場合は求めるべき未知変数より多い条件式が得られるので、任意に選択した3つの条件式からM=3の場合と同様の方法で単位面法線ベクトルnを算出することができる。4つ以上の条件式を用いる場合は、入射光行列Sが正則行列ではなくなるため、例えば、Moore-Penrose疑似逆行列を使って近似解を算出してもよい。また、フィッティング手法や最適化手法によって単位面法線ベクトルnを算出してもよい。
【0025】
一方で、上述のようにして法線情報(面法線情報)を導出する場合、鏡面反射光による被写体、陰影部による被写体、及び表面形状的に相互反射が生じる被写体に対しては、法線情報が正しく得られない。通常の撮影シーンにおいては、少なくとも被写体の一部に、上述のような法線情報が正しく取得できない被写体の領域(法線エラー領域)が存在する場面は多々ある。本実施形態においては、以下に詳述する手法を用いることにより、この法線エラー領域を有する被写体シーンに対しても、良好にレンダリング処理を実施することができる。
【0026】
●撮像装置1の構成
図1及び
図2を参照して、撮像装置1の構成について説明する。
図1は、撮像装置1の外観図である。
図2は、撮像装置1の構成を示すブロック図である。
【0027】
撮像装置1は、レンダリング処理を行うことによりレンダリング画像(リライティング画像)を生成する。
図1に示されるように、撮像装置1は、被写体を撮像する撮像部100及び光源部200を有する。
図2に示されるように、撮像部100は、撮像光学系101及び撮像素子102を有する。光源部200は、互いに異なる複数の位置からの光を被写体に照射可能に構成されている。本実施形態において、光源部200は8つの光源200a~200hを有するが、これに限定されるものではない。照度差ステレオ法を実施する際に必要な光源は少なくとも3個であるため、光源部200は少なくとも3個の光源を備えていればよい。また、
図1に示す例では、撮像部100に含まれる撮像光学系101の光軸から等距離の位置に同心円状に8つの光源が等間隔で配置されているが、これに限定されるものではない。また、
図1に示す例では、光源部200は撮像装置1に内蔵されているが、これに限定されるものではない。光源部200は、撮像装置1に着脱可能に取り付けられるように構成されていてもよい。
【0028】
撮像光学系101は、絞り101aを備え、被写体からの光を撮像素子102上に結像させる。撮像素子102は、CCDセンサやCMOSセンサ等の光電変換素子により構成され、被写体を撮像する。即ち、撮像素子102は、撮像光学系101により形成された被写体の像(光学像)を光電変換し、アナログ電気信号(入力画像に対応する画像データ)を生成する。A/Dコンバータ103は、撮像素子102の光電変換により生成されたアナログ信号をデジタル信号に変換し、デジタル信号を画像処理部104に出力する。
【0029】
画像処理部104(処理装置)は、A/Dコンバータ103から入力されたデジタル信号に対して、各種の画像処理を行う。また、本実施形態において、画像処理部104は、被写体の法線情報を算出し、任意の光源下でのレンダリング画像(リライティング画像)を生成する。画像処理部104は、入力画像取得部104a、法線情報取得部104b、境界情報取得部104c、及び、レンダリング部104dを有する。
【0030】
画像処理部104により処理された出力画像は、半導体メモリや光ディスク等の画像記録部109に保存される。また、画像処理部104は、出力画像を表示部105(ディスプレイ)に出力してもよい。本実施形態において、入力画像取得部104a、法線情報取得部104b、境界情報取得部104c、及び、レンダリング部104dは、撮像装置1に内蔵されているが、これに限定されるものではなく、前述の各部の一部を撮像装置1とは別に設けてもよい。
【0031】
情報入力部108は、ユーザにより選択された撮影条件(絞り値、露出時間、ISO感度、及び、焦点距離など)をシステム制御部110に供給する。撮像制御部107は、システム制御部110からの情報に基づいて、ユーザが選択した撮影条件で画像を取得する。照射光源制御部106は、システム制御部110の制御指示に応じて光源部200の発光状態を制御する。また、情報入力部108は、ユーザにより選択された光源条件(仮想光源角度、仮想光源強度、及び、仮想光源色など)をシステム制御部110に供給する機能も備えている。画像処理部104は、システム制御部110からの情報に基づいて、ユーザが選択した仮想光源条件でレンダリング画像(リライティング画像)を生成する。なお、本実施形態において、撮像光学系101は、撮像装置1と一体的に構成されているが、これに限定されるものではない。撮像装置1の代わりに、撮像素子を有する撮像装置本体と、撮像装置本体に着脱可能な撮像光学系(交換レンズ)とを含む一眼レフカメラやミラーレスカメラ等のカメラシステムを用いることも可能である。
【0032】
●レンダリング処理
図3を参照して、本実施形態のレンダリング処理について説明する。
図3は、レンダリング処理のフローチャートである。本実施形態のレンダリング処理は、システム制御部110及び画像処理部104により、コンピュータプログラムとしての処理プログラムに従って実行される。なお処理プログラムは、例えば、コンピュータが読み取り可能な記憶媒体(システム制御部110の内部メモリ等)に記憶されている。
【0033】
S101で、システム制御部110は、被写体の撮像を少なくとも3回行うように撮像制御部107を制御する。各回の撮像において、システム制御部110は、光源部200の異なる位置の光源を点灯させるように照射光源制御部106を制御する。入力画像取得部104aは、少なくとも3回の撮像により生成された少なくとも3つの撮影画像を入力画像として取得する。
【0034】
なお、後述するS102にてランバート反射等の拡散反射モデルを仮定した照度差ステレオ法で法線情報を取得する場合、入力画像として、撮影画像から鏡面反射成分を除去した拡散反射画像を用いてもよい。撮影画像から鏡面反射成分を除去した拡散反射画像を取得するためには、例えば、2色性反射モデルによる手法を用いることができる。但し、撮影画像から鏡面反射成分を除去する手法はこれに限定されるものではなく、種々の手法を用いることが可能である。
【0035】
S102で、法線情報取得部104bは、法線情報(撮影範囲における法線の分布を示す情報)及び反射率を取得する。本実施形態において、法線情報取得部104bは、S101において入力画像取得部104aが取得した少なくとも3つの入力画像を用いて、被写体の法線情報及び反射率を取得する。法線情報及び反射率は、照度差ステレオ法を用いて、光源位置に応じた輝度情報の変化に基づいて算出される。
【0036】
S103で、画像処理部104は、S102で取得した法線情報に基づいて、法線エラー領域(法線の分布においてエラーが発生している領域)を特定するために用いる法線エラー情報を取得する。法線エラー情報は、撮影画像の各画素のうち、法線エラーが発生している画素を特定する情報であり、後述する
図4AのS204において条件分岐判定のために使用される。本実施形態では、画像処理部104は、S102で取得された法線情報を用いて、撮影画像と同じ光源条件におけるレンダリング画像を生成し、レンダリング画像と撮影画像との差分を算出する。そして、画像処理部104は、所定の閾値よりも大きい差分を持つ画素の領域を法線エラー領域として判定し、法線エラー情報を取得する。
【0037】
S104で、境界情報取得部104cは、撮像画角内に映し出される複数の被写体の境界情報(撮影範囲における被写体間の境界位置を示す情報)を取得する。本実施形態では、境界情報取得部104cは、オートフォーカス(AF)用の像面位相差法を用いて被写体までの距離を計測し、この計測値に基づいて物体距離の画素位置毎の変化(以下、「平坦度」と呼ぶ)を検出することにより、境界情報を取得する。より具体的には、境界情報取得部104cは、隣接画素間の物体距離差を算出し、この距離差の正負の極性が反転する位置を複数の被写体間の境界と判定し、判定結果を境界情報として用いる。
【0038】
なお、境界情報は上述の平坦度に限定されない。例えば、境界情報取得部104cは、前述した式(1)における物体のランバート拡散反射率ρdの画素位置毎の変化を検出して、この検出結果を境界情報として用いてもよい。或いは、境界情報取得部104cは、Deep Learningなどを用いた物体検知情報に基づいた境界情報を用いてもよい。更には、境界情報取得部104cは、複数の被写体間の色又は輝度の画素位置毎の変化を検出して、この検出結果を境界情報として取得してもよい。
【0039】
S105で、レンダリング部104dは、S102で取得された法線情報に基づいて、情報入力部108で設定された光源条件(仮想光源を規定する光源情報)に対応する第1のゲイン情報(第1のゲイン量分布を示す第1のゲイン情報)を生成して取得する。
【0040】
S106で、レンダリング部104dは、第1のゲイン情報を補正する処理(ゲイン情報補正処理)を行うことにより、第2のゲイン情報を生成する。ゲイン情報補正処理の詳細は後述する。ここでは、ゲイン情報補正処理の目的について簡単に説明する。S102において法線情報を取得するために用いられた少なくとも3つの入力画像は、鏡面反射部、陰影部、又は、表面形状の影響で相互反射が生じている部分を含んでいる。そのため、法線情報に誤りのある法線エラー領域を含めた法線情報により第1のゲイン情報が導出されることになる。このような第1のゲイン情報に従ってレンダリング処理を行った場合、法線エラー領域において不自然な陰影部が形成され、破綻したリライティング画像が生成される可能性がある。そこで、レンダリング部104dは、第1のゲイン情報に対してゲイン情報補正処理を行うことにより、第2のゲイン情報(第2のゲイン量分布を示す第2のゲイン情報)を新たに生成する。この第2のゲイン情報を用いてレンダリング処理をすることにより、不自然な陰影部を形成することなく、破綻のないリライティング画像を生成することが可能となる。
【0041】
S107で、レンダリング部104dは、S106において生成された第2のゲイン情報に従って、レンダリング画像を生成する。レンダリング画像(リライティング画像)は、入力画像等のベース画像(撮影範囲の画像)において、光源条件に基づく陰影をつけたい画素の画素値に対する所定のゲイン処理を施す(第2のゲイン量分布に従うゲインを適用する)ことにより取得される。ベース画像としては、S101で取得された少なくとも3つの入力画像に基づく画像を用いることができる。本実施形態では、異なる位置の光源に対応する少なくとも3つの入力画像から、各画素位置において最も輝度値の高い画素値を選択することにより構成された画像をベース画像として用いるものとする。そして、本実施形態のレンダリング処理のためのゲイン処理としては、光源条件に基づく陰影部の形成のために、ベース画像における画素値を小さい値にするゲイン処理を行うものとする。なお、本実施形態のベース画像としては、上述の方法で構成された画像に限定されず、例えば、光源を点灯せずに撮影して得られた環境光画像など、光源環境が異なる画像を用いてもよい。
【0042】
●ゲイン情報補正処理
図4A及び
図4Bを参照して、ゲイン情報補正処理の詳細について説明する。S201で、レンダリング部104dは、処理対象画素(着目画素)を選択する。
【0043】
S202で、レンダリング部104dは、第1のゲイン情報に基づいて隣接画素に対する処理対象画素のゲイン差を算出することにより、処理対象画素のゲイン差情報を取得する。
【0044】
S203で、レンダリング部104dは、S202において取得されたゲイン差情報に基づいて、処理対象画素の平均化処理範囲を決定する。平均化処理範囲を決定する方法の詳細については後述する。
【0045】
S204で、レンダリング部104dは、S103で取得された法線エラー情報に基づいて、処理対象画素が法線エラー領域の画素である否かを判定する。処理対象画素が法線エラー領域の画素である場合、処理ステップはS205へ進み、そうでない場合、処理ステップはS210へ進む。
【0046】
ここでは、S210の処理について先に説明する。S210で、レンダリング部104dは、仮処理マップにおいて処理対象画素に対応する位置に処理cを設定する。仮処理マップは、第1のゲイン情報の各画素位置に対して適用する予定の処理のタイプを示すマップである。但し、仮処理マップに設定された処理のタイプは暫定的なものであり、最終的に適用される処理のタイプは、後述する処理マップに設定される。従って、S210の処理により、処理対象画素における第1のゲイン情報に対して処理cを実行する可能性があることを示すように、仮処理マップが構成される。
【0047】
ここで、
図7を参照して、処理cについて説明する。
図7は、第1のゲイン情報においてゲイン差が生じているものの、法線エラー領域は存在していない状態を示している。
図7において、第1のゲイン情報及び第2のゲイン情報を示す領域では、色の濃さによって視覚的にゲイン量を表現している。色の濃い画素ほど、陰影を形成するための負のゲイン量が大きくかかっていることを示している。第1のゲイン情報を示す領域の下には、S102で取得される法線エラー情報を示す領域、仮処理マップを示す領域、後述するS213で生成される処理マップを示す領域が並んでいる。また、
図7では、着目水平ライン上の隣接画素間のゲイン差の変化がグラフで示されており、グラフの縦軸はゲイン差である。
【0048】
法線エラー情報を示す領域では、濃く彩られる画素に関しては法線エラーが発生していることを表している。
図7の例では、全画素の色が白であるため、法線エラー領域は存在しない。従って、いずれの画素が処理対象画素であっても、S210の処理により仮処理マップに処理cが設定される。また、後述するS213において生成される処理マップにおいても、各画素に処理cが設定される。なお、仮処理マップ及び処理マップを示す領域では、白の画素は処理cが設定された画素を示す。
【0049】
処理cは、第2のゲイン情報として第1のゲイン情報と同一のゲイン量を設定する処理である。従って、
図7においては、第1のゲイン情報と第2のゲイン情報との間に変化がない。
【0050】
ここで再び
図4Aを参照して、処理対象画素が法線エラー領域の画素である場合(処理ステップがS204からS205へ進んだ場合)について説明する。
【0051】
S205で、レンダリング部104dは、S104で取得された境界情報に基づいて、処理対象画素が境界領域の画素であるか否かを判定する。処理対象画素が境界領域の画素である場合、処理ステップはS209へ進み、そうでない場合、処理ステップはS208へ進む。
【0052】
S208で、レンダリング部104dは、仮処理マップにおいて処理対象画素に対応する位置に処理aを設定する。S209で、レンダリング部104dは、仮処理マップにおいて処理対象画素に対応する位置に処理bを設定する。処理a及び処理bの詳細については後述する。
【0053】
S212で、レンダリング部104dは、未処理の画素が存在するか否かを判定する。未処理の画素が存在する場合、処理ステップはS201へ戻る。そして、レンダリング部104dは、未処理の画素のうちのいずれかを次の処理対象画素として選択する。従って、各画素に対してS201乃至S212の処理が行われる。全画素に対する処理が完了すると(即ち、S212において未処理の画素が存在しないと判定されると)、処理ステップはS213へ進む。
【0054】
S213で、レンダリング部104dは、S208乃至S210において暫定的な処理のタイプが設定された仮処理マップ、S203において決定された平均化処理範囲、及び、処理b範囲閾値thに基づいて、処理マップを生成する。処理マップの生成方法の詳細は後述する。
【0055】
次に、
図4BのS302で、レンダリング部104dは、S213において生成された処理マップに基づいて、処理aを実行する。処理aの詳細については後述する。
【0056】
その後、S303で、レンダリング部104dは、S213において生成された処理マップに基づいて、処理bを実行する。処理bの詳細については後述する。
【0057】
S304で、レンダリング部104dは、S302及びS303において処理a及び処理bが順に適用された第1のゲイン情報を、第2のゲイン情報として記憶する。
【0058】
以上の処理により、
図3のS106におけるゲイン情報補正処理が完了し、第2のゲイン情報が得られる。そして、前述したように、こうして得られた第2のゲイン情報は、S107においてレンダリング部104dによるレンダリング処理のために使用される。
【0059】
ここで、
図5、
図6、
図8、及び
図11を参照して、処理a、処理b、及び処理マップ生成処理について説明する。
図5は、処理aを説明する図であり、
図6及び
図11は、処理bを説明する図である。
図5、
図6、及び
図11に示す各例において、第1のゲイン情報は隣接画素間のゲイン段差を有し、ゲイン段差の位置を含むか又はゲイン段差の位置に接している法線エラー領域が存在している。一方で、
図5は、法線エラー領域において境界情報に対応する平坦度に変化がない(境界がない)場合を示しており、
図6及び
図11は、法線エラー領域において平坦度に変化がある(境界が存在する)場合を示している。
【0060】
最初に、
図5を参照して、処理aについて説明する。
図5の仮処理マップ及び処理マップを示す領域において、濃い色の画素は処理aが設定された画素を示す。レンダリング部104dは、仮処理マップに基づいて処理マップを生成し、処理マップにおいて処理aが設定されている各画素について、第1のゲイン情報からの第1のゲイン量に対して処理aを実施する。処理aは、着目画素(処理aを実施する画素)とその周辺の画素とにおける第1のゲイン量を用いた平滑化処理を実施することで、第2のゲイン情報のための第2のゲイン量を求める処理である。以下の説明において、レンダリング部104dは平滑化処理として平均化処理を行うものとするが、これに限定されず、他の種類の平滑化処理を行ってもよい。本実施形態では、
図5に示すような、着目画素を含む平均化処理範囲と記載された領域の画素における第1のゲイン量に対し加算平均による平均化処理を実施することにより、着目画素での第2のゲイン量を算出する処理が行われる。
【0061】
ここで、
図8を参照して、平均化処理範囲(平滑化範囲)を決定する方法の詳細を説明する。
図8(a)、
図8(b)、
図8(c)の順に、第1のゲイン情報の第1のゲイン量におけるゲイン段差が大きくなっていることを表している。また、このゲイン段差の増加に伴い、水平方向の平均化処理範囲を広く設定していることも表している。従って、ゲイン量の差(ゲイン段差)が第2の値である第2の位置について決定される平均化処理範囲は、ゲイン段差が第2の値より小さい第1の値である第1の位置について決定される平均化処理範囲よりも広い。これにより、ゲイン段差の大小に関わらず、リライティング画像形成後の法線エラー領域上の陰影部において、滑らかな変化を実現することができる。また、コントラストの大きい不自然な陰影や陰影部でのトーンジャンプの発生を抑制することができる。
【0062】
S213の処理マップ生成処理において、レンダリング部104dは、S203において決定された平均化処理範囲(
図8参照)と、S208において処理aが設定された仮処理マップの領域とに基づき、平均化処理範囲を考慮した処理aの領域を新たに設定することにより、最終的な処理マップを生成する。
【0063】
なお、本実施形態では、水平方向にゲイン段差が生じた場合を仮定して、水平方向の平均化処理範囲の設定に関して言及した。しかし、これに限るものではなく、垂直方向にゲイン段差が生じる場合には、ゲイン段差量の増加に伴い、垂直方向の平均化処理範囲を広く設定するようにすればよい。更に、水平方向及び垂直方向にゲイン段差があり、例えばそれぞれの方向での平均化処理範囲に相当する平均化フィルターのタップ数が、fH、fVである場合、fH×fVの平均化フィルターで平均化処理を実施してもよい。また、平均化処理の際においては、単なる加算平均で実施することに限るものではなく、着目画素に近いものほど重みをつけて平均化処理を行ってもよい。
【0064】
次に、
図6及び
図11を参照して、処理bについて説明する。
図6と
図11との違いは、法線エラー領域の範囲が異なっていることである。
図6は、仮処理マップの処理bの画素から法線エラー領域の右端の画素までの距離B(境界位置から法線エラー領域に隣接する位置までの距離)が、処理b範囲閾値thより小さい場合(B<th)を示す。一方、
図11は、仮処理マップの処理bの画素から法線エラー領域の右端の画素までの距離Bが、処理b範囲閾値thより大きい場合(B>th)を示す。なお、
図6及び
図11において、仮処理マップの処理bの画素から法線エラー領域の左端の画素までの距離Aは、処理b範囲閾値thより小さい。なお、処理b範囲閾値thは、予め決められた値でもよいし、情報入力部108を通じてユーザが変更可能な値であってもよい。
【0065】
図6及び
図11に示すように、水平方向に処理する場合、法線エラー領域に隣接する非法線エラー領域は、当然、法線エラー領域の両端に形成されている。また、
図6及び
図11は、境界情報である平坦度の変化位置が法線エラー領域内に存在していることも表している。そして、この境界情報に基づいて仮処理マップでは境界領域に処理bが設定される。
図6及び
図11の仮処理マップ及び処理マップを示す領域において、中程度の濃さの画素は、処理bが設定された画素を示す。
【0066】
図6に示すB<thの場合(距離が閾値未満の場合)、レンダリング部104dは、仮処理マップの処理bの画素を境に2分した各法線エラー領域の画素に対し、各法線エラー領域に隣接する非法線エラー領域の画素における第1のゲイン量を、第2のゲイン量として設定する処理を行う。即ち、レンダリング部104dは、第1のゲイン情報が示す第1のゲイン量分布において法線エラー領域に対応する領域のゲイン量を、法線エラー領域に隣接する位置のゲイン量で置換する。これは、境界情報である平坦度の変化位置を境に材質が変わる可能性があるために行っている。つまり、境界情報(平坦度)の変化位置を境に、前述の式(1)におけるランバート拡散反射率ρ
dが変化している可能性があり、上述の法線エラー領域の第2のゲイン量の設定の際には、これを考慮する必要があるからである。
【0067】
一方で、
図11に示すB>thの場合(距離が閾値未満でない場合)、レンダリング部104dは、仮処理マップの処理bの画素を境に2分した各法線エラー領域の画素に対し、境界から距離thの画素に隣接する画素における、処理a実行後の第1のゲイン量を、第2のゲイン量として設定する処理を行う。即ち、レンダリング部104dは、第1のゲイン情報が示す第1のゲイン量分布において境界位置から閾値以下の距離範囲に含まれる領域のゲイン量を、この距離範囲に含まれる領域に隣接する位置のゲイン量で置換する。
【0068】
なお、本実施形態では、水平方向に処理する場合について記載したが、これに限るものではなく、垂直方向についても、水平方向と同様に処理して第2のゲイン量を求めることができる。また、水平方向及び垂直方向にゲイン段差があり、それぞれの方向で第2のゲイン量を求められる場合、その2つのゲイン量の相加平均を第2のゲイン量として用いてもよい。
【0069】
以上説明したように、第1の実施形態によれば、撮像装置1は、仮想光源を規定する光源情報と、撮影範囲における法線の分布を示す法線情報と、法線の分布においてエラーが発生している法線エラー領域を示す法線エラー情報とを取得する。また、撮像装置1は、光源情報及び法線情報に基づいて、第1のゲイン量分布を示す第1のゲイン情報を生成する。そして、撮像装置1は、例えば
図5に示すように、第1のゲイン量分布において法線エラー領域に対応する領域のゲイン量に対して平滑化処理を行うことにより、第2のゲイン量分布を示す第2のゲイン情報を生成する。その後、撮像装置1は、撮影範囲の画像に対して、第2のゲイン量分布に従うゲインを適用することにより、画像に仮想光源の効果を付加する。なお、撮像装置1は、例えば
図6に示すように、上記の平滑化処理を行った後に、第1のゲイン量分布において法線エラー領域に対応する領域のゲイン量を法線エラー領域に隣接する位置のゲイン量で置換することにより、第2のゲイン量分布を示す第2のゲイン情報を生成してもよい。
【0070】
これにより、例えば
図10(b)に示すように、自然な陰影を持つ仮想光源画像(リライティング画像)を生成することが可能になり、法線エラー領域に起因する仮想光源画像の画質劣化を抑制することが可能となる。
【0071】
なお、上の説明では、法線エラー領域を伴う法線情報に基づいて生成されたゲイン情報を、法線エラー領域に基づいて補正する構成について説明した。しかしながら、撮像装置1(情報処理装置)は、ゲイン情報を補正する代わりに、法線エラー領域を伴う法線情報自体を法線エラー領域に基づいて補正してもよい。この場合、撮像装置1は、
図3のS102において取得された法線情報(第1の法線情報)が示す第1の法線分布(撮影範囲における法線の分布)において、法線エラー領域の法線に対して平滑化処理を行うことにより、第2の法線分布を示す第2の法線情報を生成する。平滑化処理の具体的な方法については、
図5を参照して説明したゲイン量の平滑化処理と同様の方法を用いることができる。また、撮像装置1は、平滑化処理を行った後に、
図6及び
図11を参照して説明したゲイン量の置換処理と同様の方法により、境界位置に基づいて法線の置換を行ってもよい。
【0072】
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0073】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0074】
1…撮像装置、104…画像処理部、104a…入力画像取得部、104b…法線情報取得部、104c…境界情報取得部、104d…レンダリング部、108…情報入力部、110…システム制御部、200…光源部