(57)【要約】【課題】特定領域(たとえば顔領域)の検出結果に基づく特定領域情報(たとえば顔枠)をスルー画像上に見やすく,かつ,正確に表示する。【解決手段】本発明の画像処理方法は、特定領域(たとえば顔領域)の検出結果および輝度情報を記憶しておき、最新の画像データが入力された場合に、記憶してある検出結果および輝度情報と最新の画像における特定領域の検出結果および輝度情報に基づいて重要度を算出し、特定領域情報を表示するか否かを重要度に基づいて判定することを特徴とする。また、画像データから輝度情報を算出する際、特定領域の検出結果に基づいて算出することを特徴とする。【選択図】図１
2010068030.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データを記憶するフレームメモリと、
前記画像データ内の特定領域を検出する特定領域検出部と、
前記画像データ内の輝度情報を算出する輝度情報算出部と、
前記特定領域検出部が出力する検出結果の重要度を算出する重要度算出部と、
前記検出結果と前記輝度情報と前記重要度からなる特定領域情報および前記特定領域情報の個数を記憶する情報記憶部と、
前記特定領域情報を表示するか否かを判定する表示判定部と、
前記情報記憶部から前記特定領域情報を削除するか否かを判定する情報削除判定部と、
前記表示判定部の判定に従って前記特定領域情報を表示する表示制御部と、
を備える、
ことを特徴とする画像処理装置。
【請求項２】
請求項１において、
前記重要度算出部は、
前記情報記憶部に記憶されている前記検出結果と、最新の入力画像データにおいて前記特定領域検出部にて検出される検出結果との比較結果に基づいて前記重要度を算出する、
ことを特徴とする画像処理装置。
【請求項３】
請求項１において、
前記重要度算出部は、
前記情報記憶部に記憶されている前記輝度情報と、最新の入力画像データにおいて前記輝度情報算出部にて算出される輝度情報との比較結果に基づいて前記重要度を算出する、
ことを特徴とする画像処理装置。
【請求項４】
請求項１において、
前記表示判定部は、
前記特定領域情報を表示するか否かを前記重要度に基づいて判定する、
ことを特徴とする画像処理装置。
【請求項５】
請求項１において、
前記情報削除判定部は、
前記情報記憶部から前記特定領域情報を削除するか否かを前記重要度に基づいて判定する、
ことを特徴とする画像処理装置。
【請求項６】
請求項１において、
前記輝度情報算出部は、
前記画像データをF×G個(F,G：任意の整数)のブロックに分割し、前記ブロックにおける輝度情報を算出する、
ことを特徴とする画像処理装置。
【請求項７】
請求項１において、
前記輝度情報算出部は、
前記情報記憶部に記憶されている前記検出結果,または,最新の入力画像データにおいて前記特定領域検出部にて検出される検出結果に基づいて前記画像データをブロックに分割し、前記ブロックおける輝度情報を算出する、
ことを特徴とする画像処理装置。
【請求項８】
請求項６または７において、
前記輝度情報算出部は、
最新の入力画像データにおいて前記特定領域検出部にて検出される検出結果に基づいて任意のブロックにおける輝度情報を算出する、
ことを特徴とする画像処理装置。
【請求項９】
請求項１において、
前記特定領域は、人の顔の領域である、
ことを特徴とする画像処理装置。
【請求項１０】
光学レンズを介して入射した被写体光を受光して撮像信号に変換して出力する撮像素子と、
前記撮像素子から出力された撮像信号をデジタル信号に変換するアナログ信号処理部と、
前記アナログ信号処理部から出力されたデジタル信号に対して所定の信号処理を施すデジタル信号処理部と、
前記デジタル信号処理部が出力する画像データを入力画像データとして処理を行う請求項１に記載の画像処理装置と、
を備える、
ことを特徴とする撮像装置。
【請求項１１】
入力された画像データを記憶するステップ(a)と、
前記画像データ内の特定領域を検出するステップ(b)と、
前記画像データ内の輝度情報を算出するステップ(c)と、
前記ステップ(b)における検出結果の重要度を算出するステップ(d)と、
前記ステップ(b)における検出結果と前記ステップ(c)により算出された輝度情報と前記ステップ(d)により算出された重要度とを含む特定領域情報,および,前記特定領域情報の個数を記憶するステップ(e)と、
前記特定領域情報を表示するか否かを前記重要度に基づいて判定するステップ(f)と、
ステップ(e)において記憶した前記特定領域情報を削除するか否かを前記重要度に基づいて判定するステップ(g)と、
前記ステップ(f)における判定に従って前記特定領域情報を表示するステップ(h)と、
を備える、
ことを特徴とする画像処理方法。
【請求項１２】
請求項１１において、
前記特定領域は、人の顔の領域である、
ことを特徴とする画像処理方法。
【請求項１３】
入力された画像データを記憶するステップ(a)，
前記画像データ内の特定領域を検出するステップ(b)，
前記画像データ内の輝度情報を算出するステップ(c)，
前記ステップ(b)における検出結果の重要度を算出するステップ(d)，
前記ステップ(b)における検出結果と前記ステップ(c)により算出された輝度情報と前記ステップ(d)により算出された重要度とを含む特定領域情報,および,前記特定領域情報の個数を記憶するステップ(e)，
前記特定領域情報を表示するか否かを前記重要度に基づいて判定するステップ(f)，
ステップ(e)において記憶した前記特定領域情報を削除するか否かを前記重要度に基づいて判定するステップ(g)，
前記ステップ(f)における判定に従って前記特定領域情報を表示するステップ(h)，
をコンピュータに実行させるための画像処理プログラム。
【請求項１４】
請求項１３において、
前記特定領域は、人の顔の領域である、
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定領域(たとえば顔領域)の検出結果を精度良く表示する画像処理技術に関するものである。
【背景技術】
【０００２】
近年、デジタルカメラ(デジタルスチルカメラ，デジタルビデオカメラ，カメラ付き携帯等)や監視カメラ，ドアフォンカメラ等の撮像装置および画像処理装置において顔領域検出機能の搭載が一般的となってきている。デジタルスチルカメラにおいては、検出された顔領域に対して自動合焦制御(Automatic Focus：AF)を行ったり、自動露出補正(Automatic Exposure：AE)を行ったりしており、また、監視カメラにおいては、検出された顔領域を記憶することで不審者の特定に用いられたりする。
【０００３】
顔領域の検出においては、標準的な顔のパーツ(目や口等)の位置関係から検出する方法，顔の色やエッジ情報を基に検出する方法，予め用意した顔の特徴データとの比較により検出する方法等、多くの技術が考案されている。また、上記のどの方法においても、検出結果は、検出対象となる顔領域の微小な位置変化，輝度変化，画角変化に影響を及ぼされる。ここで、連続したフレームに対する検出を想定した場合、検出対象となっている被写体がたとえ静止していたとしても、検出結果はフレーム毎に異なる。この検出結果を基に顔枠情報を作成し、OSD(On Screen Display)機能等を利用してスルー画像(モニタ画像)上に表示した場合、顔枠の位置や大きさが常時変化し、非常に見辛いことになる。
【０００４】
本発明に関連する先行技術文献としては特許文献1があり、図2に特許文献1の装置構成の概略を示す。特許文献1では、顔検出部206が、撮影された画像から顔領域を検出し、内部メモリ207に顔領域の過去の検出結果と最新の検出結果とからなる検出履歴を保存し、判定部208が検出履歴を参照して、最新で取得された画像において顔領域を検出扱いとするか否かを判定する。再度検出履歴を参照して、検出扱いとした顔領域の平滑化を実施し、スルー画像上に表示する。このようにして、顔枠の位置や大きさが変化して見づらくなることを解決している。
【特許文献１】特開2008-54295号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
顔領域検出機能が搭載されたデジタルスチルカメラや監視カメラにおいて、連続フレームに対して顔領域の検出を実施し、検出結果をスルー画像上に表示する場合も少なくない。特許文献1では、過去および最新のM回分の顔の検出結果を検出履歴として内部メモリ207に記憶し、検出履歴を参照することでN(M≧N)回以上リンク付けされている検出結果に対して平滑化を実施しスルー画像上に表示することで、顔枠の位置や大きさが変化して見づらくなることを解決する技術が提案されている。ここで、各回の検出結果は、検出された顔の数と、固有情報およびリンク情報からなる各顔の情報からなる。また、固有情報とは、顔検出部206が出力する顔の中心位置，大きさ，傾き，向き，検出した顔の顔らしさを表す顔らしさ値からなる情報であり、リンク情報とは、固有情報に基づいて過去および最新の検出結果を対応付けた情報である。しかしながら、図3(a)〜(c)に示すような検出結果が連続で得られた場合、リンク情報の更新が正しく行なわれないため、顔枠の表示に不備が生じる。図3は、輝度値の異なる被写体(A)302,305,308と被写体(B)303,306,309を3フレーム連続で撮影した場合である。図3(a)は、2フレーム前のフレームデータを示しており、図3(b)は、1フレーム前のフレームデータを示している。図3(c)は、最新フレームのフレームデータを示し、図3(b)に示す1フレーム前の被写体(A)305および被写体(B)306が被写体(A)308および被写体(B)309に示すように移動している。ここで、特許文献１においてM＝3,N＝2とし、2フレーム前における被写体(A)302と1フレーム前における被写体(A)305および2フレーム前における被写体(B)303と1フレーム前における被写体(B)306が各々リンク付けされていたとすると、最新フレームの検出結果によるリンク情報の更新では、被写体(B)303,306の検出結果に被写体(A)308がリンク付けられてしまう。ここで、判定部208が図3(a)〜(c)における検出履歴を参照して、最新フレーム307において顔領域を検出扱いとするか否かを判定し、判定結果に基づいて顔枠を表示した場合、図3(c)に示す顔枠310,311が表示される。ここで、顔枠310は被写体(A)に対応する顔枠であり、顔枠311は被写体(B)に対応する顔枠である。このように誤ったリンク付けが行なわれることで、正確な顔枠表示ができなくなる。また、顔検出結果に基づいてAFターゲットを設定するようなカメラシステムを想定した場合、仮に図3(a),(b)において被写体(B)303,306がAFターゲットに設定されていたとすると、誤ったリンク付けが行なわれることでAFターゲットの設定が変わってしまう。
【０００６】
本願発明は上記に鑑みてなされた発明であり、特定領域(たとえば顔領域)の検出結果に基づく特定領域情報(たとえば顔枠)をスルー画像上に見やすく,かつ,正確に表示することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明は、入力画像データにおける特定領域(たとえば顔領域)の検出結果および輝度情報を記憶しておき、最新の画像データが入力された場合に、記憶してある検出結果および輝度情報と最新の画像データにおける特定領域の検出結果および輝度情報に基づいて重要度を算出し、特定領域情報を表示するか否かを重要度に基づいて判定することを特徴とする。また、画像データから輝度情報を算出する際、特定領域の検出結果に基づいて算出することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、特定領域(たとえば顔領域)の検出結果に基づく特定領域情報(たとえば顔枠)をスルー画像上に見やすく,かつ,正確に表示することが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の実施の形態について説明する。なお、以下で説明する実施の形態はあくまで一例であり、様々な改変を行うことが可能である。また、以下の実施形態では、本発明の構成要素である特定領域検出部の具体的な一例として、人物の顔領域を検出する顔検出部を採りあげて説明し、また、それに伴い特定領域情報を顔情報として説明する。
【００１０】
(第1の実施形態)
図1は、本発明の第1の実施形態による撮像装置の全体構成を示す図である。この撮像装置114は、光学レンズ(光学系)101，撮像素子102，アナログ信号処理部103，デジタル信号処理部104，画像処理装置113を備えている。
【００１１】
光学レンズ101は、被写体像を撮像素子102上に集光する。撮像素子102は、光学レンズ101によって集光された被写体像を撮像する(以下では撮像素子102としてCCDを例に説明する)。アナログ信号処理部103は、撮像素子102から出力されるアナログ撮像信号に所定の処理を加え、デジタル撮像信号に変換する。デジタル信号処理部104は、アナログ信号処理部103から出力されるデジタル撮像信号に所定の処理を加える。画像処理装置113は、デジタル信号処理部104から出力される所定の処理が加えられたデジタル撮像信号(画像データ)に所定の処理を施し、画像データ上に顔枠を表示する。
【００１２】
画像処理装置113は、フレームメモリ105，顔検出部106，輝度情報算出部107，重要度算出部108，情報記憶部109，表示判定部110，情報削除判定部111，表示制御部112を備えている。
【００１３】
フレームメモリ105は、デジタル信号処理を施された画像データを記憶する。顔検出部106は、画像データにおいて人物の顔領域を検出する。輝度情報算出部107は、画像データにおいて任意の領域の輝度情報を算出する。重要度算出部108は、顔検出部106が出力する検出結果の重要度を算出する。情報記憶部109は、顔検出部106が出力する検出結果と輝度情報算出部107が出力する輝度情報と重要度算出部108が算出する重要度からなる顔情報および顔情報の個数を記憶する。表示判定部110は、重要度に基づいて情報記憶部109に記憶されている顔情報を表示するか否かを判定する。情報削除判定部111は、重要度に基づいて情報記憶部109に記憶されている顔情報を削除するか否かを判定する。表示制御部112は、表示判定部110の判定に従って画像データ上に顔枠を表示する。
【００１４】
なお、重要度算出部108にて算出される重要度とは、複数の画像データにおける各々の検出結果に基づいて算出される3次元的な評価値であって、顔検出部106が出力する1枚の画像データにおける検出結果の確からしさとは異なる。
【００１５】
次に、以上のように構成された撮像装置114の動作について説明する。以下では、本発明の特徴的な処理である、検出結果および輝度情報に基づいた重要度の算出処理および重要度に基づいた表示処理に関して説明する。この処理は図1の画像処理装置113において行われる。以下、図4のフローチャートを参照しつつ説明する。
【００１６】
まず、デジタル信号処理部104から画像処理装置113に入力された画像データはフレームメモリ105に記憶され(S401)、顔検出部106にて当該画像データ内の顔領域が検出される(S402)。また、デジタル信号処理部104から画像処理装置113に入力された画像データに対して輝度情報算出部107にて輝度情報が算出される(S403)。
【００１７】
次に、情報記憶部109を初期化するか否かが判断される(S404)。情報記憶部109を初期化する場合(S404でYes)、情報記憶部109に記憶されている顔情報および顔情報の個数が初期化され(S405)、次にステップS408にすすむ。一方、情報記憶部109を初期化しない場合(S404でNo)は、情報記憶部109に記憶されている顔情報と，最新の画像データに対して顔検出部106が出力する検出結果と，最新の画像データに対して輝度情報算出部107が出力する輝度情報とに基づいて重要度算出部108にて重要度が算出される(S406)。そして、算出された重要度に基づいて、情報削除判定部111にて、情報記憶部109に記憶されている顔情報を削除するか否かが判断される(S407)。
【００１８】
次に、情報記憶部109に記憶されている顔情報を表示するか否かの判断が表示判定部110にて重要度に基づいて行われ(S408)、この表示判定部110の判定に従って表示制御部112にて顔枠が表示される(S409)。
【００１９】
上記ステップS403〜S409の各処理の詳細を以下で説明する。なお、上記ステップS401およびS402の処理に関しては様々な公知技術が存在するため説明を省略する。
【００２０】
図5(a)に顔検出部106が出力する顔領域および顔領域の個数(検出顔数)を示し、図5(b)に情報記憶部109に記憶される顔情報および顔情報の個数(記憶顔数)を示す。
【００２１】
図5(a)に示すように、顔検出部106が出力する検出結果518は、検出顔数501と検出顔数501分の顔領域502からなる。各顔領域502は、顔の中心位置503，顔の大きさ504，顔の向き505，顔の傾き506，顔の顔らしさ値507からなる。ここで、顔の中心位置503は、顔領域の四隅の位置や、画像データ上でのx座標およびy座標で表すこともある。また、顔の向き505と顔の傾き506の情報を併せて顔の向きとすることもある。
【００２２】
図5(b)に示すように、情報記憶部109には、記憶顔数508と記憶顔数508分の顔情報509が記憶される。各顔情報509は、顔の中心位置510，顔の大きさ511，顔の向き512，顔の傾き513，顔らしさ値514，輝度情報算出部107が算出する輝度情報515，重要度算出部108が算出する重要度516，重要度が更新されたか否かを表す更新フラグ517からなる。顔検出部106が出力する検出結果518と同様に、顔の中心位置510は、顔領域の四隅の位置や、画像データ上でのx座標およびy座標で表すこともあり、また、顔の向き512と顔の傾き513の情報を併せて顔の向きとすることもある。
【００２３】
上記ステップS403の処理の詳細を図6,7を参照しつつ説明する。
【００２４】
図6に、画像データをF×G個(F,G：任意の整数)のブロックに分割し、最新の画像データにおける検出結果に基づいて輝度情報を算出するフローを示す。
【００２５】
まず、入力された画像データをF×Gのブロックに分割し(S601)、カウント用変数iを初期化する(S602)。次に、変数iが最新の画像データにおける検出顔数501より大きいか否かを判断する(S603)。変数iが検出顔数501以上の場合(ステップS603でNo)、輝度情報算出部107における輝度情報の算出処理を終了する。一方、変数iが検出顔数501より小さい場合(ステップS603でYes)、顔領域[i]502の顔の中心位置503が含まれるブロックの輝度情報を算出し(S604)、変数iをインクリメントして(S605)、ステップS603に戻る。
【００２６】
以上のようにステップS601〜S605の処理を実施することにより輝度情報を算出する。
【００２７】
図7に、最新の画像データにおける検出結果に基づいて画像データをブロック分割し、最新の画像データにおける検出結果に基づいて輝度情報を算出するフローを示す。
【００２８】
まず、カウント用変数jおよびブロックサイズ設定用変数BlockSizeを初期化し(S701)、変数jが最新の画像データにおける検出顔数501より大きいか否かを判断する(S702)。
【００２９】
変数jが検出顔数501より小さい場合(ステップS702でYes)、変数BlockSizeが顔領域[j]502の顔の大きさ504より大きいか否かを判断する(S703)。変数BlockSizeが顔領域[j]502の顔の大きさ504より大きい場合(ステップS703でYes)、変数BlockSizeに顔領域[j]502の顔の大きさ504を代入し(S704)、変数jをインクリメントして(S705)、ステップS702に戻る。一方、変数BlockSizeが顔領域[j]502の顔の大きさ504以下の場合(ステップS703でNo)、変数jをインクリメントして(S705)、ステップS702に戻る。
【００３０】
また、変数jが検出顔数501以上の場合(ステップS702でNo)、ブロックサイズがBlockSize×BlockSizeとなるように画像データをブロック分割する(S706)。ステップS706の処理に続き、カウント用変数iを初期化し(S707)、変数iが検出顔数501よりも大きいか否かを判断する(S708)。変数iが検出顔数501以上の場合(ステップS708でNo)、輝度情報算出部107における輝度情報の算出処理を終了する。変数iが検出顔数501より小さい場合(ステップS708でYes)、顔領域[i]502の顔の中心位置503が含まれるブロックの輝度情報を算出し(S709)、変数iをインクリメントして(S710)、ステップS708に戻る。
【００３１】
以上のようにステップS701〜S710の処理を実施することにより輝度情報を算出する。
【００３２】
図7に示すフローのうち、ステップS702における検出顔数501を情報記憶部109に記憶されている記憶顔数508に置き換え、さらにステップS703およびS704における顔領域[j]502の顔の大きさ504を顔情報[j]509の顔の大きさ511に置き換えることにより、情報記憶部109に記憶されている検出結果に基づいて画像データをブロック分割し、輝度情報を算出することが可能となる。
【００３３】
また、図6および図7に示すフローに従って算出された輝度情報は、後述する重要度算出部108における重要度算出に用いられる。特に、図7に示すフローにおいては、顔検出部106から出力される検出結果に基づいてブロックを分割し、輝度情報を算出しているため、有効な重要度算出処理と成り得る。なお、ステップS701におけるブロックサイズ設定用変数BlockSizeの初期化では、検出される顔の大きさの最大値(INI_BLOCK)を設定することが望ましい。
【００３４】
次に、上記ステップS405(図4)の処理の詳細を説明する。図8に情報記憶部109の初期化フローを示す。
【００３５】
カウント用変数kを初期化し(S801)、変数kが情報記憶部109に記憶されている記憶顔数508よりも小さいか否かを判断する(S802)。
【００３６】
変数kが記憶顔数508よりも小さい場合(ステップS802でYes)、顔情報[k]509の顔の中心位置510，顔の大きさ511，顔の向き512，顔の傾き513，顔らしさ値514，輝度情報515，重要度516，更新フラグ517を初期化し(S803)、変数kをインクリメントして(S804)、ステップS802に戻る。
【００３７】
なお、本実施形態では、重要度516が更新された場合は更新フラグ517をオン(FLG_ON)とし、更新されていない場合は更新フラグ517をオフ(FLG_OFF)としている。
【００３８】
変数kが記憶顔数508以上の場合(ステップS802でNo)、記憶顔数508およびカウント用変数lを初期化し(S805)、変数lが最新の画像データにおける検出顔数501よりも小さいか否かを判断する(S806)。
【００３９】
変数lが検出顔数501以上の場合(ステップS806でNo)、記憶顔数508に検出顔数501を代入し(S810)、情報記憶部109の初期化処理を終了する。
【００４０】
変数lが検出顔数501より小さい場合(ステップS806でYes)、顔情報[l]509の顔の中心位置510，顔の大きさ511，顔の向き512，顔の傾き513および顔らしさ値514に、顔領域[l]502の顔の中心位置503，顔の大きさ504，顔の向き505，顔の傾き506および顔らしさ値507をそれぞれ代入し(S807)、顔情報[l]509の輝度情報515に輝度情報算出部107から出力される輝度情報を代入し、顔情報[l]509の重要度516に重要度の初期値INI_SCOREを代入する(S809)。次に変数lをインクリメントして(S810)、ステップS806に戻る。
【００４１】
以上のようにステップS801〜S810の処理を実施することにより情報記憶部109の初期化処理を実施する。
【００４２】
なお、情報記憶部109の初期化は、カメラシステムの電源投入時やカメラシステムのモードの変更時等、任意のタイミングで実施することを想定している。
【００４３】
次に、上記ステップS406(図4)の処理の詳細を説明する。図9に重要度算出部108における重要度算出フローを示す。
【００４４】
カウント用変数mおよび情報記憶部109に追加される顔情報カウント用変数Add_Imfoを初期化し(S901)、変数mが最新の画像データにおける検出顔数501よりも小さいか否かを判断する(S902)。
【００４５】
変数mが検出顔数501以上の場合(ステップS902でNo)、情報記憶部109に記憶されている記憶顔数508に変数Add_Imfoを加算し(S916)、重要度算出処理を終了する。
【００４６】
変数mが検出顔数501より小さい場合(ステップS902でYes)、カウント用変数nを初期化し(S903)、変数nが記憶顔数508より小さいか否かを判断する(S904)。
【００４７】
変数nが記憶顔数508より小さい場合(ステップS904でYes)、輝度情報算出部107から出力される輝度情報と顔情報[n]509の輝度情報515の差の絶対値を変数Y_DIFFに代入し(S906)、変数Y_DIFFが閾値C(C：任意の自然数)より小さいか否かを判断する(S907)。
【００４８】
変数Y_DIFFが閾値C以上の場合(ステップS907でNo)、変数nをインクリメントして(S912)、ステップS904に戻る。
【００４９】
変数Y_DIFFが閾値Cより小さい場合(ステップS907でYes)、顔領域[m]502の顔の大きさ504と顔情報[n]509の顔の大きさ511の差の絶対値を変数SIZE_DIFFに代入し(S908)、変数SIZE_DIFFが閾値B_SIZE(B_SIZE：任意の自然数)より小さいか否かを判断する(S909)。
【００５０】
変数SIZE_DIFFが閾値B_SIZE以上の場合(ステップS909でNo)、変数nをインクリメントして(S912)、ステップS904に戻る。
【００５１】
変数SIZE_DIFFが閾値B_SIZEより小さい場合(ステップS909でYes)、顔領域[m]502の顔の中心位置503と顔情報[n]509の顔の中心位置510から中心間距離を算出し変数DIST_DIFFに代入し(S910)、変数DIST_DIFFが閾値B_DIST(B_DIST：任意の自然数)より小さいか否かを判断する(S911)。
【００５２】
変数DIST_DIFFが閾値B_DIST以上の場合(ステップS911でNo)、変数nをインクリメントして(S912)、ステップS904に戻る。
【００５３】
変数DIST_DIFFが閾値B_DISTより小さい場合(ステップS911でYes)、顔情報[n]509の重要度516にADD_SCORE(ADD_SCORE：任意の自然数)を加算し、顔情報[n]509の更新フラグ517にFLG_ONを代入し(S913)、変数mをインクリメントして(S914)、ステップS902に戻る。
【００５４】
また、変数nが記憶顔数508以上の場合(ステップS904でNo)、変数Add_Imfoをインクリメントして(S905)、顔領域[m]502を情報記憶部109に追加する(S915)。ステップS915では、顔情報[(記憶顔数−1)＋Add_Imfo]509の顔の中心位置510，顔の大きさ511，顔の向き512，顔の傾き513および顔らしさ値514に、顔領域[m]502の顔の中心位置503，顔の大きさ504，顔の向き505，顔の傾き506および顔らしさ値507をそれぞれ代入し、顔情報[n＋Add_Imfo]509の輝度情報515に輝度算出部107から出力される輝度情報を代入し、顔情報[n＋Add_Imfo]509の重要度516に重要度516の初期値INI_SCORE(INI_SCORE：任意の自然数)を代入する。ステップS915の処理に続いて変数mをインクリメントして(S914)、ステップS902に戻る。
【００５５】
以上のようにステップS901〜S916の処理を実施することにより重要度算出処理を実施する。
【００５６】
なお、図9では、輝度情報の差の絶対値と閾値の比較(S906およびS907)，顔の大きさの差の絶対値と閾値の比較(S908およびS909)，顔の中心間距離と閾値の比較(S910およびS911)の順で処理を実施しているが、これらの処理順番が入れ替わっても問題無い。また、図9では、輝度情報の差の絶対値と閾値の比較(S906およびS907)，顔の大きさの差の絶対値と閾値の比較(S908およびS909)，顔の中心間距離と閾値の比較(S910およびS911)を実施することにより重要度516を算出しているが、これらの処理に顔らしさ値(507および514)の差の絶対値と閾値の比較，顔の向き(505および512)の差と閾値の比較，顔の傾き(506および513)の差と閾値の比較を追加し、重要度を算出することも可能である。
【００５７】
次に、上記ステップS407(図4)の処理の詳細を説明する。図10に、情報記憶部109に記憶されている顔情報を削除するか否かの情報削除判定部111における判定フローを示す。
【００５８】
カウント用変数pを初期化し(S1001)、変数pが情報記憶部109に記憶されている記憶顔数508よりも小さいか否かを判断する(S1002)。
【００５９】
変数pが記憶顔数508以上の場合(ステップS1002でNo)、顔情報の削除判定処理を終了する。
【００６０】
変数pが記憶顔数508より小さい場合(ステップS1002でYes)、顔情報[p]509の更新フラグ517がFLG_OFFか否かを判断する(S1003)。
【００６１】
顔情報[p]509の更新フラグ517がFLG_ONの場合(ステップS1003でNo)、顔情報[p]509の更新フラグ517をFLG_OFFにし(S1004)、変数pをインクリメントし(S1005)、ステップS1002に戻る。
【００６２】
顔情報[p]509の更新フラグ517がFLG_OFFの場合(ステップS1003でYes)、顔情報[p]509の重要度516からDEC_SCORE(DEC_SCORE：任意の自然数)を減算し(S1006)、顔情報[p]509の重要度516が閾値E(E：任意の自然数)より小さいか否かを判断する(S1007)。
【００６３】
顔情報[p]509の重要度516が閾値E以上の場合(ステップS1007でNo)、変数pをインクリメントし(S1005)、ステップS1002に戻る。
【００６４】
顔情報[p]509の重要度516が閾値Eより小さい場合(ステップS1007でYes)、カウント用変数qにpを代入し(S1008)、変数qが記憶顔数508よりも小さいか否かを判断する(S1009)。
【００６５】
変数qが記憶顔数508よりも小さい場合(ステップS1009でYes)、顔情報[q]509に顔情報[q＋1]509を代入する(S1010)。ステップS1010では、顔情報[q]509の顔の中心位置510，顔の大きさ511，顔の向き512，顔の傾き513，顔らしさ値514，輝度情報515，更新スコア516，更新フラグ517に、顔情報[q＋1]509の顔の中心位置510，顔の大きさ511，顔の向き512，顔の傾き513，顔らしさ値514，輝度情報515，更新スコア516，更新フラグ517をそれぞれ代入する。ステップS1010の処理に続いて変数qをインクリメントし(S1011)、ステップS1009に戻る。
【００６６】
変数qが記憶顔数508以上の場合(ステップS1009でNo)、記憶顔数508をディクリメントし(S1012)、ステップS1002に戻る。
【００６７】
以上のようにステップS1001〜S1012の処理を実施することにより、情報記憶部109に記憶されている顔情報を削除するか否かを判定する。
【００６８】
次に、上記ステップS408,S409(図4)の処理の詳細を説明する。図11に、情報記憶部109に記憶されている顔情報を表示するか否かの表示判定部110における判定および表示制御部112における顔枠表示のフローを示す。
【００６９】
カウント用変数rを初期化し(S1101)、変数rが情報記憶部109に記憶されている記憶顔数508よりも小さいか否かを判断する(S1102)。
【００７０】
変数rが記憶顔数508以上の場合(ステップS1102でNo)、表示判定および顔枠表示の処理を終了する。
【００７１】
変数rが記憶顔数508より小さい場合(ステップS1102でYes)、顔情報[r]509の重要度516が閾値D(D：任意の自然数)より大きいか否かを判断する(S1103)。
【００７２】
顔情報[r]509の重要度516が閾値D以下の場合(ステップS1103でNo)、変数rをインクリメントし(S1105)、ステップS1102に戻る。
【００７３】
顔情報[r]509の重要度516が閾値Dより大きい場合(ステップS1103でYes)、顔情報[r]509に基づいて表示制御部112にて顔枠を表示し(S1104)、変数rをインクリメントして(S1105)、ステップS1102に戻る。
【００７４】
以上のようにステップS1101〜S1105の処理を実施することにより、顔情報を表示するか否かの判定および顔枠表示を実施する。
【００７５】
（第2の実施形態）
第1の実施形態で説明したフローに従って顔枠を表示した場合、情報記憶部109に記憶されている顔情報509の顔の中心位置510，顔の大きさ511および輝度情報515は更新されない。図12(a)(b)に示すように被写体が前後に移動した画像データが連続して入力された場合、図12(b)に示すように実際の顔の大きさと顔枠の大きさに差異が生じてしまい、見辛くなってしまう。この問題を解決するために図9に示す重要度算出フローを改良し、顔の中心位置510，顔の大きさ511および輝度情報515の更新を実施する。図13に、顔の中心位置510，顔の大きさ511および輝度情報515の更新フローを示す。
【００７６】
図9におけるステップS904が肯定された場合、輝度情報算出部107から出力される輝度情報と顔情報[n]509の輝度情報515の差の絶対値を変数Y_DIFFに代入し(S1301)、変数Y_DIFFが閾値Cより小さいか否かを判断する(S1302)。
【００７７】
変数Y_DIFFが閾値C以上の場合(ステップS1302でNo)、ステップS912に戻る。
【００７８】
変数Y_DIFFが閾値Cより小さい場合(ステップS1302でYes)、変数Y_DIFFが閾値C_RENEW(C_RENEW：任意の自然数)より小さいか否かを判断する(S1303)。
【００７９】
変数Y_DIFFが閾値C_RENEWより小さい場合(ステップS1303でYes)、顔情報[n]509の輝度情報515に輝度情報算出部107から出力される輝度情報を代入する(S1304)。
【００８０】
変数Y_DIFFが閾値C_RENEW以上の場合(ステップS1303でNo),または,ステップS1304の処理に続いて、顔領域[m]502の顔の大きさ504と顔情報[n]509の顔の大きさ511の差の絶対値を変数SIZE_DIFFに代入し(S1305)、変数SIZE_DIFFが閾値B_SIZEより小さいか否かを判断する(S1306)。
【００８１】
変数SIZE_DIFFが閾値B_SIZE以上の場合(ステップS1306でNo)、ステップS912に戻る。
【００８２】
変数SIZE_DIFFが閾値B_SIZEより小さい場合(ステップS1306でYes)、変数SIZE_DIFFが閾値B_SIZE_RENEW(B_SIZE_RENEW：任意の自然数)より小さいか否かを判断する(S1307)。
【００８３】
変数SIZE_DIFFが閾値B_SIZE_RENEWより小さい場合(ステップS1307でYes)、顔情報[n]509の顔の大きさ511に顔領域[m]502の顔の大きさ504を代入する(S1308)。
【００８４】
変数SIZE_DIFFが閾値B_SIZE_RENEW以上の場合(ステップS1307でNo),または,ステップS1308の処理に続いて、顔領域[m]502の顔の中心位置503と顔情報[n]509の顔の中心位置510から中心間距離を算出し変数DIST_DIFFに代入し(S1309)、変数DIST_DIFFが閾値B_DISTより小さいか否かを判断する(S1310)。
【００８５】
変数DIST_DIFFが閾値B_DIST以上の場合(ステップS1310でNo)、ステップS912に戻る。
【００８６】
変数DIST_DIFFが閾値B_DISTより小さい場合(ステップS1310でYes)、変数DIST_DIFFが閾値B_DIST_RENEW(B_DIST_RENEW：任意の自然数)より小さいか否かを判断する(S1311)。
【００８７】
変数DIST_DIFFが閾値B_DIST_RENEWより小さい場合(ステップS1311でYes)、顔情報[n]509の顔の中心位置510に顔領域[m]502の顔の中心位置503を代入する(S1312)。
【００８８】
変数DIST_DIFFが閾値B_DIST_RENEW以上の場合(ステップS1311でNo),または,ステップS1312に続いて、ステップS914を実施する。
【００８９】
以上のようにステップS1301〜S1312の処理を実施することにより顔情報509の更新判定を実施する。
【００９０】
なお、図13では、輝度情報の差の絶対値と閾値の比較(S1301,S1302,S1303,S1304)，顔の大きさの差の絶対値と閾値の比較(S1305,S1306,S1307,S1308)，顔の中心間距離と閾値の比較(S1309,S1310,S1311,S1312)の順で処理を実施しているが、これらの処理順番が入れ替わっても問題無い。
【００９１】
また、図13では、輝度情報の差の絶対値と閾値の比較(S1301,S1302,S1303,S1304)，顔の大きさの差の絶対値と閾値の比較(S1305,S1306,S1307,S1308)，顔の中心間距離と閾値の比較(S1309,S1310,S1311,S1312)を実施することにより輝度情報515，顔の大きさ511，顔の中心位置510を更新しているが、これらの処理に、顔らしさ値(507および514)の差の絶対値と閾値の比較，顔の向き(505および512)の差と閾値の比較，および顔の傾き(506および513)の差と閾値の比較を追加し、顔らしさ値514，顔の向き512，および顔の傾き513を更新することも可能である。
【００９２】
次に、情報記憶部109に記憶されるデータサイズについて説明する。特許文献1では、複数の画像データにおける検出結果を全て記憶する形態となっており、各画像データで検出された顔領域の数が増えると、記憶しなければならないデータサイズも大きくなる。しかしながら、本発明の実施形態では、最新の画像データの検出結果に対して輝度情報の差の絶対値と閾値の比較，顔の大きさの差の絶対値と閾値の比較，顔の中心間距離と閾値の比較を実施し、情報記憶部109に記憶されている輝度情報515，顔の大きさ511，顔の中心位置510，重要度516を更新する形態をとるため、記憶されるデータサイズは小さくなる。
【００９３】
以上、本発明の実施形態として画像処理装置113およびこれを備えた撮像装置114について説明したが、コンピュータを、図1に示した顔検出部106，輝度算出部107，重要度算出部108，表示判定部110，情報削除判定部111，表示制御部112に対応する手段として機能させ、図4に示した処理を行なわせるプログラムも本発明の実施形態の１つである。
【００９４】
また、実施形態1,2で説明した顔枠の表示方法はあくまで一例に過ぎず、様々な改変が可能であることは言うまでもない。
【産業上の利用可能性】
【００９５】
本発明によれば、スルー画像上に見やすく，かつ，正確な顔枠を表示することが可能となるため、デジタルカメラ，監視カメラ等に本発明を適用すれば有用である。
【図面の簡単な説明】
【００９６】
【図１】本発明の第1の実施形態による撮像装置の全体構成を示すブロック図である。
【図２】特許文献1の装置の概略構成を示すブロック図である。
【図３】従来技術の課題を説明するための図である。
【図４】図1に示した画像処理装置113において行われる処理の流れを示すフローチャートである。
【図５】(a)は、顔検出部106が出力するデータの構成を示す図である。(b)は、情報記憶部109に記憶されているデータの構成を示す図である。
【図６】画像データをF×G個のブロックに分割し、最新の画像データにおける検出結果に基づいて輝度情報を算出する処理の流れを示すフローチャートである。
【図７】最新の画像データにおける検出結果に基づいて画像データをブロック分割し、最新の画像データにおける検出結果に基づいて輝度情報を算出する処理の流れを示すフローチャートである。
【図８】情報記憶部109における初期化処理の流れを示すフローチャートである。
【図９】重要度算出部108における重要度算出処理の流れを示すフローチャートである。
【図１０】情報削除判定部111における顔情報削除処理の流れを示すフローチャートである。
【図１１】表示判定部110における表示判定および表示制御部112における顔枠表示処理の流れを示すフローチャートである。
【図１２】第1の実施形態における問題点を説明するための図である。
【図１３】第2の実施形態による顔情報更新処理の流れを示すフローチャートである。
【符号の説明】
【００９７】
101…光学系
102…撮像素子
103…アナログ信号処理部
104…デジタル信号処理部
105…フレームメモリ
106…顔検出部
107…輝度算出部
108…重要度算出部
109…情報記憶部
110…表示判定部
111…情報削除判定部
112…表示制御部
113…画像処理装置
114…撮像装置
【図１】
2010068030.tif 000003
【図２】
2010068030.tif 000004
【図３】
2010068030.tif 000005
【図４】
2010068030.tif 000006
【図５】
2010068030.tif 000007
【図６】
2010068030.tif 000008
【図７】
2010068030.tif 000009
【図８】
2010068030.tif 000010
【図９】
2010068030.tif 000011
【図１０】
2010068030.tif 000012
【図１１】
2010068030.tif 000013
【図１２】
2010068030.tif 000014
【図１３】
2010068030.tif 000015