(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-15
(45)【発行日】2024-03-26
(54)【発明の名称】画像処理装置および画像処理方法
(51)【国際特許分類】
G06T 15/50 20110101AFI20240318BHJP
H04N 23/60 20230101ALI20240318BHJP
【FI】
G06T15/50
H04N23/60 500
(21)【出願番号】P 2019239278
(22)【出願日】2019-12-27
【審査請求日】2022-12-19
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】豊原 遥平
【審査官】中田 剛史
(56)【参考文献】
【文献】特開2018-182699(JP,A)
【文献】特開2009-104330(JP,A)
【文献】特開2016-072692(JP,A)
【文献】特開2017-152866(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/50
H04N 23/60
(57)【特許請求の範囲】
【請求項1】
画像データから特徴領域を検出する検出手段と、
前記特徴領域に対する仮想光の照射特性を決定する決定手段と、
前記特徴領域の検出信頼度に応じて、前記決定手段が決定した前記照射特性を補正する補正手段と、
前記補正手段が補正した前記照射特性に基づいて前記特徴領域に前記仮想光の効果を付加する付加手段と、を有し、
前記補正手段は、前記検出信頼度が第1の信頼度である場合よりも、前記第1の信頼度より信頼度が低い第2の信頼度の場合の方が前記仮想光による効果が弱くなるように、前記照射特性を補正
し、
前記照射特性が照射強度および照射方向を含み、
前記補正手段は、前記仮想光が前記特徴領域に係る被写体をより正面から照射するように前記照射方向を補正することにより前記仮想光による効果を弱める、
ことを特徴とする画像処理装置。
【請求項2】
前記補正手段は、前記照射強度
についても補正することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記補正手段は、前記照射強度を低下させることにより前記仮想光による効果を弱めることを特徴とする請求項
1または2に記載の画像処理装置。
【請求項4】
前記検出信頼度は、前記特徴領域の検出結果に基づく被写体の角度が、前記被写体の正面向きの角度に対して大きいほど低下することを特徴とする請求項1から
3のいずれか1項に記載の画像処理装置。
【請求項5】
前記検出信頼度は、前記特徴領域に含まれる部位の検出信頼度が低いほど低下することを特徴とする請求項1から
3のいずれか1項に記載の画像処理装置。
【請求項6】
前記検出信頼度は、前記特徴領域の面積が小さいほど低下することを特徴とする請求項1から
3のいずれか1項に記載の画像処理装置。
【請求項7】
前記検出信頼度は、前記特徴領域の明るさが第1の閾値より低いほど、また第2の閾値より大きいほど低下することを特徴とする請求項1から
3のいずれか1項に記載の画像処理装置。
【請求項8】
さらに、前記画像データから前記特徴領域の一部を隠す遮蔽物の領域を検出する検出手段を有し、
前記検出信頼度は、前記特徴領域において前記遮蔽物の領域が占める割合が高いほど低くなることを特徴とする請求項1から
3のいずれか1項に記載の画像処理装置。
【請求項9】
前記検出信頼度が、前記特徴領域の角度に基づく信頼度、前記特徴領域の面積に基づく信頼度、前記特徴領域に含まれる部位の検出信頼度、前記特徴領域の検出信頼度、前記特徴領域の明るさに基づく信頼度、および前記特徴領域が隠されている割合に基づく信頼度の1つ以上に基づくことを特徴とする請求項1から
3のいずれか1項に記載の画像処理装置。
【請求項10】
撮像素子と、
前記撮像素子を用いて得られた画像データに対して仮想光の効果を付加する請求項1から
9のいずれか1項に記載の画像処理装置と、
を有する撮像装置。
【請求項11】
画像処理装置が実行する画像処理方法であって、
画像データから特徴領域を検出する検出工程と、
前記特徴領域に対する仮想光の照射特性を決定する決定工程と、
前記特徴領域の検出信頼度に応じて、前記決定工程で決定した前記照射特性を補正する補正工程と、
前記補正工程で補正された前記照射特性に基づいて前記特徴領域に前記仮想光の効果を付加する付加工程と、を有し、
前記補正工程では、前記検出信頼度が第1の信頼度である場合よりも、前記第1の信頼度より信頼度が低い第2の信頼度の場合の方が前記仮想光による効果が弱くなるように、前記照射特性を補正
し、
前記照射特性が照射強度および照射方向を含み、
前記補正工程では、前記仮想光が前記特徴領域に係る被写体をより正面から照射するように前記照射方向を補正することにより前記仮想光による効果を弱める、
ことを特徴とする画像処理方法。
【請求項12】
コンピュータを、請求項1から
9のいずれか1項に記載の画像処理装置が有する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置および画像処理方法に関し、特には画像に仮想光の効果を付与する技術に関する。
【背景技術】
【0002】
従来、画像に対して仮想的な光源からの光(仮想光)の効果を付与するリライティング技術が知られている(特許文献1)。特許文献1では、リライティングを適用する被写体領域のコントラスト値が目標値になるように、仮想光源の位置を定めることが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
リライティングを適用する被写体領域を自動的に検出する場合、リライティングの質は被写体領域の検出精度に影響を受ける。例えば、被写体領域の検出精度が低い場合、リライティング適用後の画像が不自然になりうる。
【0005】
本発明は、自動検出された領域に適用する仮想光の効果が不自然になることを抑制可能な画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述の目的は、画像データから特徴領域を検出する検出手段と、特徴領域に対する仮想光の照射特性を決定する決定手段と、特徴領域の検出信頼度に応じて、決定手段が決定した照射特性を補正する補正手段と、補正手段が補正した照射特性に基づいて特徴領域に仮想光の効果を付加する付加手段と、を有し、補正手段は、検出信頼度が第1の信頼度である場合よりも、第1の信頼度より信頼度が低い第2の信頼度の場合の方が仮想光による効果が弱くなるように、照射特性を補正し、照射特性が照射強度および照射方向を含み、補正手段は、仮想光が特徴領域に係る被写体をより正面から照射するように照射方向を補正することにより仮想光による効果を弱める、ことを特徴とする画像処理装置によって達成される。
【発明の効果】
【0007】
本発明によれば、自動検出された領域に適用する仮想光の効果が不自然になることを抑制可能な画像処理装置および画像処理方法を提供することができる。
【図面の簡単な説明】
【0008】
【
図1】実施形態に係るデジタルカメラの機能構成例を示すブロック図
【
図2】
図1における画像処理部の機能構成例を示すブロック図
【
図3】
図2におけるリライティング処理部の機能構成例を示すブロック図
【
図4】実施形態におけるリライティング処理に関する図
【
図5】実施形態における光源情報補正部の動作に関するフローチャート
【
図6】実施形態において光源情報補正部が用いる信頼度の特性例を示す図
【
図7】実施形態における光源情報補正部が行う補正に関する図
【
図8】実施形態における光源情報補正部の効果を模式的に示す図
【発明を実施するための形態】
【0009】
以下、添付図面を参照して本発明をその例示的な実施形態に基づいて詳細に説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定しない。また、実施形態には複数の特徴が記載されているが、その全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0010】
なお、以下では、本発明をデジタルカメラに適用した実施形態を説明する。しかし、本発明には撮像機能は必須でなく、任意の電子機器に対して適用可能である。このような電子機器には、ビデオカメラ、コンピュータ機器(パーソナルコンピュータ、タブレットコンピュータ、メディアプレーヤ、PDAなど)、携帯電話機、スマートフォン、ゲーム機、ロボット、ドローン、ドライブレコーダが含まれる。これらは例示であり、本発明は他の電子機器にも適用可能である。
【0011】
図1は、本発明の実施形態にかかる画像処理装置の一例としてのデジタルカメラ100の機能構成例を示すブロック図である。光学系101はフォーカスレンズ、シャッタを兼ねる絞りなどを含み、撮像素子102の撮像面に被写体像を形成する。フォーカスレンズや絞りの動作は制御部109が制御する。
【0012】
撮像素子102は、例えばCCDイメージセンサやCMOSイメージセンサであり、2次元配列された複数の光電変換部(画素)を有する。撮像素子102は光学系101が形成する被写体像を光電変換部で電気信号に変換することにより、アナログ画像信号を生成する。A/D変換部103はアナログ画像信号をA/D変換し、RAW画像データを生成する。
【0013】
画像処理部104はRAW画像データに対して予め定められた画像処理を適用し、信号や画像データを生成したり、各種の情報を取得および/または生成したりする。画像処理部104は例えば特定の機能を実現するように設計されたASICのような専用のハードウェア回路であってもよいし、DSPのようなプログラマブルプロセッサがソフトウェアを実行することで特定の機能を実現する構成であってもよい。
【0014】
ここで、画像処理部104が適用する画像処理には、前処理、色補間処理、補正処理、データ加工処理、評価値算出処理、特殊効果処理などが含まれる。前処理には、信号増幅、基準レベル調整、欠陥画素補正などが含まれる。色補間処理は、画素から読み出した画像データに含まれていない色成分の値を補間する処理であり、デモザイク処理や同時化処理とも呼ばれる。補正処理には、ホワイトバランス調整、階調補正(ガンマ処理)、光学系101の光学系の収差を補正する処理、色を補正する処理などが含まれる。データ加工処理には、合成処理、スケーリング処理、符号化および復号処理、ヘッダ情報生成処理などが含まれる。評価値算出処理は、自動焦点検出(AF)に用いる信号や評価値の生成、自動露出制御(AE)に用いる評価値の算出処理などである。特殊効果処理には、ぼかしの付加、色調の変更、リライティング処理などが含まれる。なお、これらは画像処理部104が実施可能な画像処理の例示であり、画像処理部104が実施する画像処理を限定するものではない。
【0015】
画像処理部104はRAW画像データに対して所定の画像処理を適用して記録用の画像データや表示用の画像データを生成する。記録用の画像データは所定の画像データファールの形式で記録部108に出力される。また、表示用の画像データはメモリ110のVRAM領域に出力される。
【0016】
記録部108は、制御部109の制御に従い、半導体メモリカードなどの記録媒体に、画像処理部104から出力される画像データを記録する。また、記録部108は、制御部109の制御に従い、記録媒体からデータを読み出して例えばメモリ110に出力する。
【0017】
距離マップ生成部105は、例えば画像処理部104から供給される画像データを用いて撮影範囲の距離マップD_MAPを生成し、生成した距離マップD_MAPを画像処理部104に出力する。距離マップD_MAPを生成する方法に特に制限はなく、公知の方法を用いることができる。距離マップD_MAPは画素ごとに被写体距離を表す情報であり、輝度値が距離を表すデプスマップ(距離画像、奥行き画像などと呼ばれることもある)であってよい。例えば、画像処理部104が生成するコントラストAF用の評価値が極大となるフォーカスレンズ位置を画素ごとに求めることで、画素ごとに被写体距離を取得することができる。また、合焦距離を変えて同一シーンを複数回撮影して得られる画像データと光学系の点像分布関数(PSF)とから、ぼけ量と距離との相関関係に基づいて画素ごとの距離情報を求めることもできる。これらの技術に関しては例えば特開2010-177741号公報や米国特許第4,965,840号公報などに記載されている。また、撮像素子102が視差画像の撮影に対応している場合など、視差画像対が利用できる場合には、ステレオマッチング等の手法で画素ごとに被写体距離を取得することができる。
【0018】
顔検出部106は、画像処理部104でリライティング処理を適用する特徴領域(被写体領域)の一例として、画像データから人物の顔の特徴を有する領域(顔領域)を検出する。なお、リライティング処理を適用する被写体領域は顔領域に限定されず、他の特徴領域であってよい。なお、顔検出部106は、公知の方法により顔領域を検出することができる。
【0019】
公知の方法の例としては、ニューラルネットワークなどを利用した学習に基づいて顔領域を検出する方法、テンプレートマッチングを用いて目、鼻、口等、顔の器官を画像から検出する方法、肌の色や目の形といった画像特徴量に基づく方法などがある。また、これらの方法を複数組み合わせ、顔領域の検出の精度を向上させることもできる。
【0020】
本実施形態において顔検出部106は、顔領域の検出時に、顔領域に含まれる部位(右目、左目、口、鼻など。顔の器官とも呼ぶ)の座標を検出する。そして、顔検出部106は、右目と左目との距離など、器官間の距離を算出する。器官間の距離は、例えば器官の画像領域(器官領域)の代表座標(例えば中心もしくは重心座標)間の距離であってよい。顔検出部106は、器官間の距離に基づいて、器官領域の代表座標の重心座標を中心とする楕円領域を顔領域として検出する。この際、顔検出部106は例えば色情報や距離情報を用いて、背景領域を含まないように楕円領域の大きさを決定する。
【0021】
また顔検出部106は、顔領域、器官領域について、検出の確からしさを示す検出信頼度も公知の方法で算出する。例えば、器官領域をパターンマッチングで検出する場合には、マッチングの度合い(例えばテンプレートとの相関度)を検出信頼度とすることができる。また、顔領域の検出信頼度は、例えば、器官間の距離や、器官領域の検出信頼度に基づいて決定することができる。なお、これらは例示であり、他の方法で検出信頼度を求めてもよい。顔検出部106は、検出結果(例えば顔領域の数、顔領域情報(例えば位置、大きさ、検出信頼度など))を画像処理部104に出力する。なお、被写体領域の検出処理は画像処理部104で実行してもよい。
【0022】
なお、顔検出部106で顔領域が複数検出された場合、顔検出部106は1つの顔領域を主顔領域として選択する。選択方法に特に制限はないが、面積が最も大きい顔領域や、画面の中央に最も近い顔領域、検出信頼度が最も高い顔領域を主顔領域として選択することができる。あるいは、主顔領域をユーザに選択させてもよい。なお、主顔領域の選択は画像処理部104が行ってもよい。以下の説明では特に主顔領域と他の顔領域とを区別しないが、複数の顔領域が検出された場合、本実施形態では主顔領域をリライティング処理を適用する顔領域とする。
【0023】
遮蔽物検出部107は、画像データから、リライティング処理を適用する被写体の一部を遮蔽している(隠している)物体の領域(遮蔽物領域)を検出する。本実施形態では顔領域にリライティング処理を適用するため、遮蔽物としてマスクやサングラスなど、顔領域を隠す物体を検出する。遮蔽物領域の検出方法に特に制限は無く、テンプレートマッチングなど公知の方法を用いることができる。顔領域内の距離情報を用いてもよい。遮蔽物検出部107は、検出した遮蔽物領域の情報(例えば位置、大きさ、検出信頼度など)を画像処理部104に出力する。
【0024】
制御部109は、1つ以上のマイクロプロセッサ(CPU、MPU)を有し、例えばメモリ110内のROMに記憶されたプログラムをメモリ110内のRAMに読み込んで実行することにより、各機能ブロックの動作を制御する。これにより、制御部109はデジタルカメラ100の各種の機能を実現する。制御部109は例えば、画像処理部104が生成するAF評価値に基づいてフォーカスレンズの駆動を制御したり、画像処理部104が生成するAE評価値に基づいて露出条件を決定したりする。
【0025】
メモリ110はROM(不揮発性領域)とRAM(揮発性領域)とを有する。ROMには制御部109のマイクロプロセッサが実行可能なプログラム、設定値、GUIデータなどを記憶する。RAMは、制御部109のマイクロプロセッサが実行するプログラムを読み込んだり、プログラムの実行中に必要な値を保存したりするために用いられる。RAMはまた、画像処理部104のバッファとして用いられたり、表示部112のビデオメモリとして用いられたりする。
【0026】
操作部111は、ユーザがデジタルカメラ100に各種の指示を入力するためのボタンやスイッチなどの入力デバイスの総称である。表示部112がタッチディスプレイである場合、タッチパネルは操作部111に含まれる。また、音声入力や視線入力など、非接触で指示を入力するタイプの入力デバイスが操作部111に含まれてもよい。
【0027】
表示部112は、例えばデジタルカメラ100の背面に設置された液晶ディスプレイである。表示部112は、撮影スタンバイ状態や動画撮影中に電子ビューファインダ(EVF)として機能する。また、表示部112は、デジタルカメラ100の現在の設定値や状態や、メニュー画面、記録部108から読み出された画像データなども表示する。
【0028】
図2は、画像処理部104の構成例を示すブロック図である。画像処理部104は、同時化処理部201、ホワイトバランス処理部202、リライティング処理部203、ガンマ処理部204を有する。
【0029】
A/D変換部103が出力するRAW画像データは、同時化処理部201に入力される。同時化処理部201は、画像データを構成する画素データに不足している色成分の値を生成する。ここでは、撮像素子102に原色ベイヤ配列のカラーフィルタが設けられているものとする。この場合、入力されるRAW画像データを構成する画素データは、R、G、Bの色成分のうち1つの色成分の値しか有していない。同時化処理部201は、公知の色補間方法を用いて、個々の画素データに不足している色成分の値を生成する。
【0030】
同時化処理部201は、処理を適用した画像データをホワイトバランス処理部202に出力する。ホワイトバランス処理部202は、例えば制御部109が算出したホワイトバランスゲインを適用することにより、画像データのホワイトバランスを補正する。ホワイトバランス補正後の画像データはリライティング処理部203に出力されるほか、距離マップ生成部105、顔検出部106、および遮蔽物検出部107に出力される。
【0031】
なお、距離マップ生成部105、顔検出部106、および遮蔽物検出部107で用いる画像データは、ホワイトバランス補正処理後の画像データに限定されず、他の処理段階で供給されてもよい。
【0032】
リライティング処理部203は、ホワイトバランス処理部202から画像データを、距離マップ生成部105から距離マップD_MAPを、顔検出部106から検出結果をそれぞれ受け取る。リライティング処理部203は、画像データに対して仮想光を照射した効果を付加するリライティング処理を適用し、処理後の画像データ(R_out,G_out,B_out)をガンマ処理部204に出力する。ガンマ処理部204はリライティング処理後の画像データに対して予め定められたガンマカーブに基づく階調変換処理を適用し、処理後の画像データ(Rg,Gg,Bg)を記録部108に出力する。ここでは省略しているが、ガンマ処理後、記録部108に出力されるまでに様々な画像処理(例えば符号化処理)が適用されうる。また、ガンマ処理後の画像データが表示用であれば記録部108には出力されず、メモリ110を介して表示部112に出力される。
【0033】
リライティング処理部203が画像データに適用する処理の詳細について、
図3を用いて説明する。
図3はリライティング処理部203の構成例を示すブロック図である。リライティング処理部203は、法線取得部301、光源情報算出部302、光源情報補正部303、拡散反射成分算出部304、付加処理部305、を有する。
【0034】
顔検出部106による検出結果は法線取得部301に入力される。法線取得部301は、顔検出部106が検出した顔領域に対する法線情報を取得する。例えば法線取得部301は、顔検出部106が検出した顔領域における器官の位置や距離などから顔の向きを決定し、予めメモリ110のROM領域に予め格納された一般的な人物の顔に対する法線情報を用いて、検出された顔領域に適切な法線情報を取得する。法線取得部301は、取得した法線情報Nを光源情報算出部302へ出力する。
【0035】
光源情報算出部302は、ホワイトバランス処理部202から画像データを、法線取得部301から法線Nを供給される。光源情報算出部302は、公知の方法を用いて仮想光の照射方向を示す3次元方向ベクトルLと、仮想光源の強度αとを算出する。例えば、特許文献1に記載されているように、類似色を有するブロックの輝度に基づいて求めたコントラスト値と、推定した環境光の照射方向とに基づいて、コントラスト値を目標値にするための仮想光の照射特性(照射方向や照射強度)を決定することができる。なお、仮想光の照射特性(照射方向や照射強度)を決定する方法は、特許文献1に記載された方法に限定されない。
【0036】
本実施形態では、仮想光源から被写体に照射される仮想光の方向を3次元方向ベクトルである仮想光ベクトルLとして表す。また、照射強度を照射目標座標と光源座標との距離に基づいて光源強度αに換算する。ベクトルLは、仮想光の照射方向を示す単位ベクトルnLと、照射目標座標と光源座標との距離|L|からL=|L|*nLと表記することができる。光源情報算出部302は、求めたベクトルLおよび照射強度αを光源情報補正部303へ出力する。
【0037】
光源情報補正部303は、仮想光源を照射する顔領域の状態に基づいて、仮想光の照射特性を表す仮想光ベクトルL(照射方向)と光源強度α(照射強度)の少なくとも一方を特徴領域の検出信頼度に応じて補正する。光源情報補正部303は、補正後の仮想光ベクトルL’と補正後の光源強度α’を拡散反射成分算出部304に出力する。
【0038】
拡散反射成分算出部304は、被写体による仮想光の拡散反射成分Rd、Gd、Bdを算出する。拡散反射成分の求め方について、
図4を用いて説明する。
図4は、撮影時におけるデジタルカメラ100と被写体401、および被写体に仮想光を照射する仮想光源402との位置を鉛直上方からみた図である。なお、ここでは鉛直な撮像面のある水平方向に並んだ画素に入射する光線に関して述べる。垂直方向についても基本的な考え方は同様である。また、被写体401の形状は説明および理解を容易にするために単純化している。
【0039】
デジタルカメラ100で撮影された画像の水平画素位置H1に入射する仮想光の拡散反射成分は、カメラ座標H1における、法線N1と仮想光ベクトルL1の内積に比例し、仮想光源402と被写体位置の距離K1の二乗に反比例する値となる。したがって、仮想光源402から放射された光(仮想光)が被写体401で反射されることによる拡散反射成分の強度Pdは(式1)で表すことができる。
【数1】
ここで、(式1)におけるNは被写体の3次元法線ベクトル、Kは仮想光源と被写体との距離、kdは被写体の拡散反射率である。α’、L’はそれぞれ光源情報補正部303が出力する補正後の仮想光源の強度と仮想光ベクトルである。wθは予め用意された、仮想光源402の方向と被写体の法線方向の差に基づく重み関数である。重み関数wθは、仮想光源402の方向と、仮想光源から注目画素(カメラ座標H1)に対応する被写体上の位置への方向の角度差に応じて変化する特性をもつ。
【0040】
また、拡散反射成分の強度Pdを用い、色成分ごとの拡散反射成分Rd、Gd、Bdは(式2)で表すことができる。
Rd=Pd×Rw×R
Gd=Pd×Gw×G ・・・(式2)
Bd=Pd×Bw×B
ここで、R、G、Bは注目画素の色成分値、Rw、Gw、Bwは仮想光源402(仮想光)の色を示すパラメータである。
【0041】
付加処理部305は、拡散反射成分算出部304で算出した拡散反射成分Rd、Gd、Bdを、ホワイトバランス処理部202から入力される画像データのうち、注目画素の色成分値R、G、Bに付加することにより、仮想光の効果を付加する。したがって、付加処理部305が仮想光の効果を付加した画像データR_out、G_out、B_outは(式3)のように表すことができる。
R_out=R+Rd
G_out=G+Gd ・・・(式3)
B_out=B+Bd
【0042】
付加処理部305は、ホワイトバランス処理部202から入力される画像データのうち、リライティング処理の対象となる被写体領域に含まれる画素のデータについて、拡散反射成分を付加して出力する。付加処理部305は、被写体領域に含まれない画素のデータについては色成分R,G,Bを変更せずに出力する。
【0043】
次に、光源情報補正部303の処理について
図5に示すフローチャートを用いて詳細に説明する。
S501で光源情報補正部303は、顔面積情報、顔信頼度、顔器官検出信頼度を顔検出部106から取得する。また、光源情報補正部303は、ホワイトバランス処理部202から入力される画像データのうち、顔領域に含まれる画素データから顔領域の輝度値を求め、顔明るさ情報とする。光源情報補正部303は、例えば画素データのR、G、B成分を所定の比率、例えばR:G:Bを3:6:1の比率で合成した値を輝度値として算出することができる。なお、光源情報補正部303は、顔明るさ情報を画像処理部104または制御部109から取得してもよい。また、光源情報補正部303は、顔領域に含まれる器官領域の情報から得られる顔領域内の器官の配置と、予め保持している正面向きの顔における器官領域の配置と比較することにより、顔領域の姿勢(被写体の角度)を求める。顔領域の姿勢は、正面向きの角度を水平0°垂直0°としたときの、水平角度、垂直角度として求めることができる。また、光源情報補正部303は、遮蔽物検出部107から遮蔽物領域の情報を取得する。
【0044】
S502で光源情報補正部303は、光源信頼度を算出する。光源信頼度は、以下の複数の信頼度に基づく。
顔角度に基づく信頼度Conf_FaceAngle
顔面積に基づく信頼度Conf_FaceSize
顔器官検出信頼度Conf_FacePartsDetect
顔検出信頼度Conf_FaceDetect
顔明るさに基づく信頼度Conf_Luminace
顔遮蔽物に基づく信頼度Conf_FaceCover
【0045】
顔角度に基づく信頼度Conf_FaceAngleは、顔の姿勢を表す角度が大きいほど低くなる信頼度であり、例えば
図6(a)に示す特性を持つ。デジタルカメラ100に対して顔が正対している(正面を向いている)場合に、水平方向および垂直方向の角度が0度であるものとする。また、デジタルカメラ100からみて顔が右方向および上方向に向いている場合に水平方向および垂直方向に正の角度を有し、左方向および下方向に向いている場合に水平方向および垂直方向に負の角度を有するものとする。顔の水平方向の角度絶対値と垂直方向の角度絶対値の加重加算値FaceAngleが予め定めたTh_FaceAngleを超えると信頼度Conf_FaceAngleは0になる。基本的に、正面向きからの角度が大きいほど信頼度Conf_FaceAngleは低下する。
【0046】
ここで、水平角度と垂直角度を加算する際の重みは任意に設定してよい。一例をあげれば、顔検出部106の特性に基づいて設定することができる。例えば、顔検出部106が機械学習したニューラルネットワークに基づいて顔領域を検出する構成とする。この場合、水平方向に角度を有する顔の画像を垂直方向に角度を有する顔の画像よりも多く学習データとして用いた場合、水平方向の角度の重みを相対的に小さくしてConf_FaceAngleが低くならないようにすることができる。
【0047】
顔面積に基づく信頼度Conf_FaceSizeは、画像全体に占める顔領域面積の比率が高いほど高くなる信頼度であり、例えば
図6(b)に示す特性を持つ。
図6(b)において、Th_FaceSize_Minは顔検出部106が検出可能な顔領域の最小サイズに対応する比率であり、Th_FaceSize_Maxは顔検出の信頼度が十分高いと見なすことのできる顔領域のサイズに対応する比率である。
【0048】
顔器官検出信頼度Conf_FacePartsDetectは、顔検出部106が検出した器官領域の信頼度に基づく信頼度である。例えば、個々の器官領域の検出信頼度の平均値であってよい。
【0049】
顔検出信頼度Conf_FaceDetectは顔検出部106が検出した顔領域の検出信頼度に基づく信頼度である。ここでは顔検出部106から得られる検出結果に含まれる信頼度をそのまま用いるものとするが、何らかの要因によって重み付けを行うなど、顔検出部106から得られる信頼度に基づいて顔検出信頼度Conf_FaceDetectを求めてもよい。
【0050】
顔明るさに基づく信頼度Conf_Luminaceは、顔領域の明るさが極端に暗いまたは明るい場合に低くなり、それ以外の明るさの範囲ではほぼ高い値を有する信頼度であり、例えば
図6(c)に示す特性を持つ。信頼度は、Th_Luminance_Min(第1の閾値)より低いほど低下し、またTh_Luminance_Max(第2の閾値)より大きいほど低下する。Th_Luminance_Min、Th_Luminance_Maxは、例えば顔領域に含まれる画素の平均輝度値もしくは最高/最低輝度値について、顔領域内のコントラストが適正な範囲に保たれる明るさに基づいて定めた閾値である。例えば、最低輝度値が高い場合には顔領域の多くが白飛びしており、十分なコントラストが得られていないと考えられる。同様に、最高輝度値が低い場合には顔領域の多くが黒つぶれしており、やはり十分なコントラストが得られていないと考えられる。Th_Luminance_Min、Th_Luminance_Maxは例えば予め実験的に決定することができる。
【0051】
顔遮蔽物に基づく信頼度Conf_FaceCoverは、顔領域上に占める遮蔽物領域の割合が高いほど低くなる信頼度であり、例えば
図6(d)に示す特性を持つ。Th_FaceCoverは許容できる遮蔽物の占有率の上限値であり、予め例えば実験的に定めることができる。
【0052】
以上説明した6種類の光源信頼度は、最低の信頼度から最高の信頼度を表す0から1までの値を取る。光源情報補正部303は、各信頼度に予め定められた重みを適用して加重加算し、光源強度の信頼度Conf_powerを算出する。光源強度の信頼度Conf_powerは0から1の値をとり、値が小さいほど仮想光源の強度を低く補正する。光源強度の信頼度を算出する際に光源信頼度に適用する重みの設定方法に特に制限はない。光源強度は仮想光の効果を適用した顔領域の明るさに大きく影響を与えるため、顔明るさに基づく信頼度Conf_Luminaceの重みを相対的に大きくすることができる。また、顔領域の面積が小さい場合は、顔領域から取得した陰影情報の信頼度が低い可能性があるため、顔面積に基づく信頼度Conf_FaceSizeの重みを相対的に大きくすることができる。これらは単なる例示であり、他の重み付けを行ってもよい。また、重み付けを行わずに光源信頼度の平均値を用いてもよい。基本的に、光源信頼度が低い場合には仮想光源の強度を抑えることにより、仮想光の付加が不自然な結果になることを抑制可能であれば、重みの設定方法に制限はない。
【0053】
光源情報補正部303は、光源強度の信頼度Conf_powerを用い、(式4)に従って光源強度αを補正し、補正後の光源強度α’を得る。
α’=Conf_power×α ・・・(式4)
このように、光源情報補正部303は、光源強度の信頼度Conf_powerが第1の信頼度である場合よりも、第1の信頼度より信頼度が低い第2の信頼度の場合の方が仮想光による効果が弱くなるように、光源強度αを補正する。
【0054】
S504で光源情報補正部303は、光源信頼度に基づいて仮想光ベクトルLを補正する。
図7を用いてS504の処理について説明する。
図7は
図4で説明した被写体401と仮想光源402の関係から、仮想光ベクトルLを補正する原理を示す図である。被写体401に仮想光源402から照射される仮想光の方向を示す仮想光ベクトルLは仮想光の照射目標点701をもつ。照射目標点701を通り、被写体401の代表法線Npの方向を持つ直線700と、仮想光ベクトルLのなす角θを算出する。算出したθに対して(式5)を用い、補正後の仮想光ベクトルL’が直線700となす角θ’を算出する。
θ’=Conf_angle×θ ・・・(式5)
【0055】
ここでConf_angleは仮想光源の方向信頼度であり、強度信頼度と同様に0~1の値をとる。このように、光源情報補正部303は、仮想光源の方向信頼度Conf_angleが第1の信頼度である場合よりも、第1の信頼度より信頼度が低い第2の信頼度の場合の方が仮想光による効果が弱くなるように、照射方向θを補正する。
【0056】
信頼度Conf_angleが小さいほどθ’は0に近づき、被写体401の代表法線Npとの角度差が小さくなる特性を持つ。方向信頼度Conf_angleは、S503で説明した6種類の光源信頼度に対し予め定められた重みを適用して加重加算して得られる信頼度である。方向信頼度を求める際の重みは、強度信頼度を求める際に用いる重みとは異なってもよい。例えば、顔器官検出信頼度Conf_FacePartsDetectが低い場合、メモリ110から取得する法線情報の信頼性が低くなる可能性があるため、顔器官検出信頼度Conf_FacePartsDetectの重みを相対的に大きくする。これは単なる例示であり、他の重み付けを行ってもよい。また、重み付けを行わずに光源信頼度の平均値を用いてもよい。基本的に、光源信頼度が低い場合には仮想光源の照射方向を代表法線の方向に近く補正することで、仮想光の付加による陰影(コントラスト)の変化が不自然な結果になることを抑制可能であれば、重みの設定方法に制限はない。
【0057】
光源情報補正部303は、被写体401の代表法線Npの方向に延びる直線700と角θ’をなし、かつ|L’|と|L|が等しくなるよう補正後の仮想光ベクトルL’を求める。
【0058】
S505で光源情報補正部303は、補正後の光源強度α’および仮想光ベクトルL’を拡散反射成分算出部304に出力する。
【0059】
上述のように、拡散反射成分算出部304は、光源情報補正部303で補正した光源強度α’および仮想光ベクトルL’を用いて、仮想光の効果として付加する拡散反射成分を算出する。そのため、付加処理部305で付加される仮想光の効果の強さは、光源の強度信頼度および方向信頼度に応じて変化する。例えば、顔領域や器官領域の検出信頼度が低い場合には、仮想光の強度が弱められるほか、仮想光の照射方向が法線方向に近くなることにより、仮想光による効果が抑制される。そのため、仮に顔領域や器官領域の検出に失敗している場合でも、仮想光の効果を付加した画像が不自然に目立つことを抑制することができる。
【0060】
仮想光の効果が抑制されない場合のリライティング処理を
図8(a)に模式的に示す。ここで、画像の中心から右下に記載されている照明の絵は仮想光源の方向と強さを模式的に示すもので、実際には表示されない。
【0061】
例えば検出される顔領域のサイズが小さくなった場合、上述した6つの信頼度のうち、少なくとも顔面積に基づく信頼度Conf_FaceSizeが
図8(a)の場合よりも低下する。これにより、仮想光の強度が低く補正された状態を
図8(b)に示している。
図8(b)は仮想光の照射方向は補正されていないが、照射強度が低減されているため、顔の陰影を弱める効果が弱くなっている。したがって、顔領域の明るさを誤って検出した場合でも、誤った照射強度で仮想光の効果を付加することによる不自然さが生じることを抑制できる。
【0062】
また、例えばコントラストが非常に強く、顔領域の陰になった部分で目領域が検出できない場合には、少なくとも顔面積に基づく信頼度Conf_FaceSizeが
図8(a)の場合よりも低下する。これにより、仮想光の角度が法線方向に近づくように補正された状態を
図8(c)に示している。
図8(c)は仮想光の照射強度は補正されていないが、照射方向が顔の正面に近い方向に補正されているため、顔領域のより仮想光の効果が反映されるようになっている。したがって、目領域の検出失敗によって顔の姿勢の判定精度が低下した場合であっても、誤った照射方向で仮想光の効果を付加することによる不自然さが生じることを抑制できる。
【0063】
本実施形態によれば、画像処理によって検出された特徴領域に対して仮想光の効果を付加するリライティング処理を適用する画像処理装置において、特徴領域の検出信頼度に応じて仮想光の照射強度および/または照射方向を補正するようにした。具体的には、特徴領域の検出信頼度が低い場合には仮想光の効果が抑制されるように補正するようにした。そのため、信頼度が低い検出結果に基づいてリライティング処理を適用する必要がある場合であっても、リライティング処理が不自然になることを抑制できる。
【0064】
(その他の実施形態)
上述の実施形態ではリライティング処理を適用する特徴領域が人物の顔領域であった。しかし、特徴領域は顔領域に限定されず、画像データから機械的に検出可能な任意の特徴領域であってよい。
【0065】
また、上述の実施形態では光源強度αを、光源信頼度に基づく強度信頼度Conf_powerに基づいて補正した。しかし、強度信頼度Conf_powerの代わりに被写体と光源の距離を示すノルム|L|を制御することで被写体に照射される仮想光の強度を制御してもよい。すなわち、強度を弱める場合には距離を延ばすように補正した|L’|を用いるようにすればよい。
【0066】
さらに、上述の実施形態では強度信頼度および角度信頼度のいずれにおいても6種類の信頼度を用いて算出した。しかしながら、より少ない種類の信頼度に基づいて強度信頼度および角度信頼度を求めてもよい。例えば、6つの信頼度のうち、特に照射強度の決定に影響が大きい信頼度だけに基づいて照射強度の信頼度を求めたり、特に照射角度の決定に影響が大きい信頼度だけに基づいて照射角度の信頼度を求めたりしてもよい。
【0067】
例えば、照射強度を補正する強度信頼度Conf_powerについては、顔領域の明るさに基づく信頼度Conf_Luminanceおよび顔領域の面積に基づく信頼度Conf_FaceSizeの1つ以上に基づいて求めることができる。また、照射角度を補正する方向信頼度Conf_angleについては、顔器官検出信頼度Conf_FacePartsDetectに基づいて求めることができる。これらは例示であり、強度信頼度Conf_powerおよび方向信頼度Conf_angleは、それぞれ6種類の信頼度の1つ以上に基づいて求めることができる。
【0068】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0069】
本発明は上述した実施形態の内容に制限されず、発明の精神および範囲から離脱することなく様々な変更及び変形が可能である。したがって、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0070】
101…光学系、102…撮像素子、103…A/D変換部、104…画像処理部、105…距離マップ生成部、106…顔検出部、107…遮蔽物検出部、108…記録部、109…制御部、110…メモリ、111…操作部、112…表示部