(57)【要約】【課題】安定しない撮影環境下においても被写体の検出をより適正に行うこと。【解決手段】本実施形態の撮像装置１は、選択部４１と、取得部４２と、検出部４３と、を備える。選択部４１は、所定の記憶部１９に記憶された、特定の撮影環境に対応した被写体の学習テンプレートから、特定の学習テンプレートを選択する。取得部４２は、撮像部１８により撮像された画像を逐次取得する。検出部４３は、選択部４１により選択された特定の学習テンプレートを用いて、取得部４２により逐次取得される撮像画像中の被写体画像を検出する。【選択図】図２
2014021901.tif 000002
【特許請求の範囲】
【請求項１】
画像を逐次取得する取得手段と、
所定の記憶手段に記憶された複数種の撮影環境に夫々対応した複数種の被写体の識別器から、特定の識別器を選択する選択手段と、
前記選択手段により選択された特定の識別器を用いて、前記取得手段により逐次取得される画像中の被写体画像を検出する検出手段と、
を備えることを特徴とする被写体検出装置。
【請求項２】
前記記憶手段に記憶された複数種の識別器の夫々を順に用いて、当該複数種の識別器から前記取得手段により取得される画像中の被写体画像に適合する識別器を判定する判定手段を更に備え、
前記選択手段は、前記判定手段による判定結果に基づいて、前記特定の識別器を選択する、
ことを特徴とする請求項１に記載の被写体検出装置。
【請求項３】
前記記憶手段に記憶された複数種の識別器の夫々を一定期間中に循環的に用いながら、前記複数種の識別器と前記被写体画像とが適合する回数を算出する算出手段を更に備え、
前記選択手段は、更に、前記算出手段により算出された回数に基づいて、前記特定の識別器を選択する
ことを特徴とする請求項１又は２に記載の被写体検出装置。
【請求項４】
前記取得手段により逐次取得される画像の夫々に対する前記検出手段の検出結果を統合する統合手段と、
前記統合手段による統合結果に基づいて、前記画像中の被写体像の位置を決定する位置決定手段と、
を更に備えたことを特徴とする請求項１から３の何れかに記載の被写体検出装置。
【請求項５】
前記選択手段は、ユーザ操作に基づいて、前記特定の識別器を選択することを特徴とする請求項１又は４に記載の被写体検出装置。
【請求項６】
前記選択手段は、所定の記憶手段に記憶された複数種の撮影環境に夫々対応した複数種の被写体の識別器群から、特定の識別器群を選択し、
前記検出手段は、前記選択手段により選択された特定の識別器群を用いて、前記取得手段により逐次取得される画像中の被写体画像を検出する
ことを特徴とする請求項１から４の何れかに記載の被写体検出装置。
【請求項７】
被写体検出装置が実行する被写体検出方法において、
画像を逐次取得する取得ステップと、
所定の記憶手段に記憶された複数種の撮影環境に夫々対応した複数種の被写体の識別器から、特定の識別器を選択する選択ステップと、
前記選択ステップにより選択された特定の識別器を用いて、前記取得ステップにより逐次取得される画像中の被写体像を検出する検出ステップと、
を含む被写体検出方法。
【請求項８】
コンピュータを、
画像を逐次取得する取得手段、
所定の記憶手段に記憶された複数種の撮影環境に夫々対応した複数種の被写体の識別器から、特定の識別器を選択する選択手段、
前記選択手段により選択された特定の識別器を用いて、前記取得手段により逐次取得される画像中の被写体画像を検出する検出手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体検出装置、被写体検出方法及びプログラムに関する。
【背景技術】
【０００２】
従来から、画像に含まれる顔領域の検出（以下、「顔検出」と呼ぶ）の際に、逆光等の条件下にあっても検出の精度を向上させるための技術が開示されている（例えば、特許文献１参照）。このような技術が適用された装置は、逆光時に撮像されている撮像画像のデータに対してゲイン調整処理を施した後に、顔領域を推定している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１０８０２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術を適用した場合、撮影環境が逆光状態等から別の状態に変化するような撮影環境が安定しないケースでは、その都度ゲイン調整処理の内容を変更する必要があるため、結果的に顔検出処理が困難になる虞がある。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、安定しない撮影環境下においても被写体の検出をより適正に行うことを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一態様の被写体検出装置は、
画像を逐次取得する取得手段と、
所定の記憶手段に記憶された複数種の撮影環境に夫々対応した複数種の被写体の識別器から、特定の識別器を選択する選択手段と、
前記選択手段により選択された特定の識別器を用いて、前記取得手段により逐次取得される画像中の被写体画像を検出する検出手段と、
を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、安定しない撮影環境下においても被写体の検出をより適正に行うことができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１実施形態に係る撮像装置のハードウェアの構成を示すブロック図である。
【図２】図１の撮像装置の機能的構成のうち、顔検出制御処理を実行するための機能的構成を示す機能ブロック図である。
【図３】図２の機能的構成を有する図１の撮像装置が実行する顔検出制御処理の流れを説明するフローチャートである。
【図４】図１の撮像装置の機能的構成のうち、第２実施形態に係る顔検出制御処理を実行するための機能的構成を示す機能ブロック図である。
【図５】図４の機能的構成を有する図１の撮像装置が実行する第２実施形態に係る顔検出制御処理の流れを説明するフローチャートである。
【図６】図２の機能的構成を有する図１の撮像装置が実行する第３実施形態に係る顔検出制御処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を用いて説明する。
【００１０】
［第１実施形態］
図１は、本発明の第１実施形態に係る撮像装置のハードウェアの構成を示すブロック図である。
撮像装置１は、例えばデジタルカメラとして構成される。
【００１１】
撮像装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、バス１４と、入出力インターフェース１５と、出力部１６と、入力部１７と、撮像部１８と、記憶部１９と、通信部２０と、ドライブ２１と、表示部２２と、を備えている。
【００１２】
ＣＰＵ１１は、ＲＯＭ１２に記録されているプログラム、又は、記憶部１９からＲＡＭ１３にロードされたプログラムに従って各種の処理を実行する。
【００１３】
ＲＡＭ１３には、ＣＰＵ１１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【００１４】
ＣＰＵ１１、ＲＯＭ１２及びＲＡＭ１３は、バス１４を介して相互に接続されている。このバス１４にはまた、入出力インターフェース１５も接続されている。入出力インターフェース１５には、出力部１６、入力部１７、撮像部１８、記憶部１９、通信部２０及びドライブ２１が接続されている。
【００１５】
出力部１６は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
入力部１７は、電源ボタン、シャッタボタン等各種ボタン等で構成され、ユーザの指示操作に応じて各種情報を入力する。なお、ここでいう各種ボタン等には、ハードウェアボタンのみならず、出力部１６の画面に表示されるソフトウェアボタンも含まれる。即ち、入力部１７は、出力部１６のディスプレイに積層されるタッチパネルも含むように構成されている。
【００１６】
撮像部１８は、被写体を撮像し、当該被写体の像を含む画像（以下、「撮像画像」と称する）のデータをＣＰＵ１１に供給する。
【００１７】
記憶部１９は、ハードディスク或いはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、撮像画像等の各種画像のデータを記憶する。
記憶部１９はまた、特定の撮影環境に対応した顔識別器群（以下、「学習テンプレート」と呼ぶ）を撮影環境毎に複数種記憶している。学習テンプレートは、公知又は今後登場するであろう任意の技術により生成されたものが採用可能であり、本実施形態においては、逆光時、低照度時、通常時（例えば、順光時）といった各撮影環境専用の各々の学習テンプレートが採用されている。各学習テンプレートは、各撮影環境専用毎に、被写体の顔が所定の方向に向いた状態に対応した複数種の顔識別器により構成される。本実施形態においては、上述した顔識別器群として、学習テンプレートは、被写体が、撮像装置１等のカメラのレンズ側に対して正面に向いている方向（以下、「正面方向」と呼ぶ）、撮像装置１の光軸を中心にして回転した方向（以下、「ロー（ｒｏｌｌ）方向」と呼ぶ）、上下を軸として回転した方向（以下、「ヨー（ｙａｗ）方向」と呼ぶ）、左右を軸として回転した方向（以下、「ピッチ（ｐｉｔｃｈ）方向」と呼ぶ）、の各方向に向いた４つの識別器により構成される。
【００１８】
通信部２０は、インターネットを含むネットワークを介して他の装置（図示せず）との間で行う通信を制御する。
【００１９】
ドライブ２１には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア３１が適宜装着される。ドライブ２１によってリムーバブルメディア３１から読み出されたプログラムは、必要に応じて記憶部１９にインストールされる。また、リムーバブルメディア３１は、記憶部１９に記憶されている画像のデータ等の各種データも、記憶部１９と同様に記憶することができる。
表示部２２は、撮像部１８により撮像されたライブビュー画像を表示する他、記録された画像を再生したものを表示する。また、表示部２２には、本実施形態における顔検出制御処理において、検出された顔に対して顔枠が表示される。
【００２０】
図２は、このような撮像装置１の機能的構成のうち、顔検出制御処理を実行するための機能的構成を示す機能ブロック図である。
顔検出制御処理とは、ユーザにより入力部１７のシャッタボタンが半押しされたことにより撮像装置１の動作モードが顔検出状態に変更されたことを契機として開始される、次のような処理をいう。即ち、顔検出制御処理とは、予め準備された複数の学習テンプレートを入れ換えながら顔検出処理を行い、顔検出が成功したら、それ以後の顔検出処理においては、顔検出が成功した学習テンプレートを用いて顔検出処理を行うまでの一連の処理をいう。顔検出処理は、例えば、各学習テンプレートに基づいて、ニューラルネットワーク（ＮＮ）、アダブースト（ＡｄａＢｏｏｓｔ）、サポートベクターマシン（ＳＶＭ）と呼ばれるアルゴリズムに従って顔領域を推定する処理をいう。
ニューラルネットワーク（ＮＮ）、アダブースト（ＡｄａＢｏｏｓｔ）、サポートベクターマシン（ＳＶＭ）、による顔検出処理は、公知の技術であるため、本実施例では、詳細な説明については省略する。
なお、半押しとは、入力部１７のシャッタボタンの途中（下限に至らない所定の位置）まで押下する操作をいう。
【００２１】
ＣＰＵ１１においては、顔検出制御処理の実行が制御される場合、選択部４１と、取得部４２と、検出部４３と、が機能する。
なお、図２は例示であり、撮像装置１にＧＡ（Ｇｒａｐｈｉｃｓ  Ａｃｃｅｌｅｒａｔｏｒ）等の画像処理専用のハードウェアを備えて、ＣＰＵ１１の機能の少なくとも一部を当該ハードウェアに委譲してもよい。
また、記憶部１９は、上述したように、特定の撮影環境に対応した被写体の学習テンプレートを複数種記憶している。
【００２２】
選択部４１は、記憶部１９に記憶された複数種の学習テンプレートから特定の学習テンプレートを選択する。ここで、特定の学習テンプレートとは、通常時、逆光時、低照度時等、各々の特定の撮影環境下において被写体を検出するのに特化した学習テンプレートをいう。
詳細には、選択部４１は、後述の取得部４２により取得される撮像画像のデータに基づいて、当該撮像画像内の被写体を特定し、当該被写体に適合する特定の学習テンプレートを選択する。選択部４１は、特定の学習テンプレートに属する複数の識別器の各々内の顔領域と、撮像画像内の被写体の顔領域との類似度を算出する。選択部４１は、所定値以上の類似度を有する識別器を、被写体の顔と適合する識別器として認識する。選択部４１は、特定の学習テンプレートを選択する順番として、例えば、記憶部１９に記憶された通常時の学習テンプレート、逆光時の学習テンプレート、低照度時の学習テンプレート、という順番を採用して、その順番で学習テンプレートを入れ替えながら選択する。また、選択部４１は、後述の検出部４３から顔検出が失敗（顔検出がロスト）した旨の通知を受けた場合、更に異なる学習テンプレートに入れ替えることで、別の学習テンプレートを選択する。選択部４１は、選択した学習テンプレートを特定可能な情報を生成して、検出部４３へ供給する。
ここで、顔検出が失敗したときの学習テンプレートを入れ替える順番としては、入れ替える順番の初期値（通常時の学習テンプレート）から再び学習テンプレートを順に入れ替えてながら顔検出を行っても良いし、顔検出が失敗した学習テンプレートの次の学習テンプレートから再び学習テンプレートを順に入れ替えてながら顔検出を行っても良い。
【００２３】
取得部４２は、撮像部１８により撮像された撮像画像のデータを逐次取得する。取得部４２は、撮像画像のデータを取得する毎に検出部４３へ逐次供給する。
【００２４】
検出部４３は、取得部４２により逐次取得される撮像画像のデータを用いて顔検出処理を行う。検出部４３は、取得部４２により撮像画像のデータ中が逐次取得される毎に、選択部４１により選択された特定の学習テンプレートを用いて、撮像画像内の被写体の顔領域を検出する。詳細には、検出部４３は、選択部４１により選択された特定の学習テンプレートに属する各識別器、具体的には、正面方向の識別器、ロー方向の識別器、ヨー方向の識別器、及びピッチ方向の識別器の夫々をその順番で入れ替える。検出部４３は、学習テンプレートを入れ替える毎に、顔検出処理をその都度実行する。
このように、検出部４３が、通常時の学習テンプレート、逆光時の学習テンプレート、低照度時の学習テンプレート等、特定の撮影環境に応じた学習テンプレートを用いて顔検出処理を行うことにより、顔検出の精度が向上する。
なお、検出部４３は、顔検出が失敗（顔検出がロスト）した場合、選択部４１により入り替えられた学習テンプレートを用いて、顔検出処理を再度実行する。検出部４３は、検出部により顔検出ができたか（顔検出がロストしたか）否かの旨の情報を、選択部４１へ通知する。
【００２５】
次に、図３を参照して、このような図２の機能的構成の撮像装置１が実行する顔検出制御処理について説明する。
図３は、図２の機能的構成を有する図１の撮像装置１が実行する顔検出制御処理の流れを説明するフローチャートである。
【００２６】
顔検出制御処理は、例えば、ユーザにより入力部１７のシャッタボタンが半押しされて撮像装置１の動作モードが顔検出状態に変更されたことを契機として開始され、次のような処理が繰り返し実行される。
【００２７】
ステップＳ１０１において、取得部４２は、撮像部１８により撮像された撮像画像のデータを逐次取得する。
【００２８】
ステップＳ１０２において、検出部４３は、学習テンプレートを入れ替えながら顔検出処理を行う。この処理では、初めに、選択部４１は、取得部４２により取得される撮像画像のデータに基づいて、当該撮像画像内の被写体を特定し、当該被写体に適合する特定の学習テンプレートを選択する。そして、検出部４３は、選択部４１により選択された学習テンプレートを用いて、撮像画像内の被写体の顔領域を検出する顔検出処理を行う。
【００２９】
ステップＳ１０３において、検出部４３は、顔検出が成功したか否かを判定する。顔検出が成功しなかった場合には、ステップＳ１０３においてＮＯであると判定されて、処理はステップＳ１０２に戻る。即ち、顔検出が成功するまでの間、選択部４１による学習テンプレートの選択が繰り返し行われることとなる。これに対し、顔検出が成功した場合には、ステップＳ１０３においてＹＥＳであると判定されて、処理はステップ１０４に進む。
【００３０】
ステップＳ１０４において、検出部４３は、顔検出がされた学習テンプレートで以後の顔検出処理を実行する。この処理では、検出部４３は、ステップＳ１０３において顔検出が成功したと判定された直前にステップＳ１０２において選択された学習テンプレートを用いて、顔検出処理を行う。これにより、顔検出処理の精度を高めることができる。
【００３１】
ステップＳ１０５において、検出部４３は、顔検出ができなくなったか否かを判定する。顔検出が成功している場合には、ステップＳ１０５において、ＮＯであると判定されて処理はステップＳ１０４に戻る。即ち、顔検出ができている間は、ステップＳ１０３において顔検出が成功したと判定された直前にステップＳ１０２において選択された学習テンプレートを用いた顔検出処理が継続して実行される。これに対し、顔検出ができなくなった場合には、ステップＳ１０５において、ＹＥＳであると判定されて、処理はステップＳ１０６に進む。
【００３２】
ステップＳ１０６において、検出部４３は、顔検出制御処理の終了指示を受け付けたか否かを判定する。終了指示を受け付けていない場合、ステップＳ１０６においてＮＯであると判定されて、処理はステップＳ１０２に戻る。即ち、顔検出制御処理の終了指示を受け付けていない場合には、検出部４３は、学習テンプレートを再度入れ替えながら顔検出処理を行い、ステップＳ１０２〜Ｓ１０６の処理が繰り返し行われる。これに対し、顔検出制御処理の終了指示を受け付けた場合、ステップＳ１０６においてＹＥＳであると判定されて、顔検出制御処理は終了となる。
【００３３】
以上説明したように、本実施形態の撮像装置１は、選択部４１と、取得部４２と、検出部４３と、を備える。選択部４１は、所定の記憶部１９に記憶された、特定の撮影環境に対応した被写体の学習テンプレートから、特定の学習テンプレートを選択する。取得部４２は、撮像部１８により撮像された画像を逐次取得する。検出部４３は、選択部４１により選択された特定の学習テンプレートを用いて、取得部４２により逐次取得される撮像画像中の被写体画像を検出する。
これにより、特定の撮影環境に対応した学習テンプレートに基づいて被写体画像の検出を行うことができることから、変化のある撮影環境下においても被写体の検出をより適切に行うことができる。また、所定の撮影環境に対応した学習テンプレートを被写体の検出処理に適用した後に、撮影環境が異なるものに遷移した場合であっても、それ以降の撮影環境に応じた被写体の検出を行うことができる。このように、撮影環境が遷移する場合であっても、別途撮影環境を検出するためのセンサを設けずに精度の高い被写体の検出を行うことができる。
【００３４】
更に、本実施形態の選択部４１は、記憶部１９に記憶された複数種の学習テンプレートの夫々を順に用いて、取得部４２により取得される撮像画像中の被写体に適合する特定の識別器を選択する。
これにより、様々な撮影環境に対応するように選択された学習テンプレートに基づいて被写体の検出を行うことができるので、被写体の検出の精度を向上することができる。
【００３５】
以上、本発明の第１実施形態に係る撮像装置１について説明した。
次に、本発明の第２実施形態に係る撮像装置１について説明する。
【００３６】
［第２実施形態］
第２実施形態に係る撮像装置１は、第１実施形態に係る撮像装置１と基本的に同様のハードウェア構成を取ることができる。
従って、図１は、第２実施形態に係る撮像装置１のハードウェアの構成を示すブロック図でもある。
ただし、第１実施形態の選択部４１は、複数種の学習テンプレートを順に用いて、特定の学習テンプレートを選択しているが、第２実施形態の選択部４１は、選択された学習テンプレートに属する複数種の識別器と被写体画像とが夫々適合する回数の総和が最も大きい学習テンプレートを、特定の学習テンプレートとして選択する。そこで、第２実施形態の撮像装置１は、更に算出部５１を備える。そこで、以下、このような差異点について主に説明し、一致点の説明は適宜省略する。
更に、第２実施形態に係る撮像装置１が実行する顔検出制御処理は、第１実施形態に係る顔検出制御処理と基本的に同様の流れとなる。ただし、第１実施形態の顔検出制御処理は、学習テンプレートを入れ替えた後に顔検出処理がされた学習テンプレートで以後の顔検出処理を実行しているが、第２実施形態の顔検出制御処理は、顔検出処理での顔検出数の総和が最も大きい学習テンプレートを用いて顔検出処理が行われる。
【００３７】
図４は、このような撮像装置１の機能的構成のうち、第２実施形態の顔検出制御処理を実行するための機能的構成を示す機能ブロック図である。
【００３８】
ＣＰＵ１１においては、第２実施形態の顔検出制御処理の実行が制御される場合、選択部４１と、取得部４２と、検出部４３と、に加えて更に算出部５１が機能する。
【００３９】
算出部５１は、記憶部１９に記憶された複数種の学習テンプレートの夫々を一定期間中に循環的に顔検出処理の処理対象として用いながら、顔検出処理に使用される学習テンプレートに属する複数種の識別器と被写体画像とが適合する回数を算出する。詳細には、算出部５１は、選択された各学習テンプレート中の識別器（正面方向、ロー方向、ヨー方向、ピッチ方向の各識別器）を一定時間内に順に入れ替えて顔検出処理が行われた結果の顔検出の総和を算出する。例えば、逆光時の学習テンプレートに含まれる正面方向の識別器と、ヨー方向の識別器とにおいて１回ずつ撮像画像内の被写体と適合した場合には、逆光時の学習テンプレートにおける顔画像と適合する回数を１＋１＝２回とする。算出部５１は、学習テンプレート毎に算出した回数の情報を選択部４１へ供給する。
【００４０】
選択部４１は、算出部５１により算出された回数が最も大きい学習テンプレートを、特定の学習テンプレートとして選択する。なお、各学習テンプレートの顔検出の総和が同数となった場合には、同数となった学習テンプレートのうち、先に検出した学習テンプレートを選択する。選択部４１は、選択した学習テンプレートの情報を検出部４３へ供給する。
【００４１】
次に、図５を参照して、図４の機能的構成の第２実施形態の撮像装置１が実行する顔検出制御処理について説明する。
図５は、図４の機能的構成を有する図１の第２実施形態の撮像装置１が実行する顔検出制御処理の流れを説明するフローチャートである。
【００４２】
顔検出制御処理は、ユーザにより入力部１７のシャッタボタンが半押しされた撮像装置１の動作モードが顔検出状態に変更されたことを契機として開始され、次のような処理が繰り返し実行される。
【００４３】
ステップＳ２０１において、取得部４２は、撮像部１８により撮像された撮像画像のデータを逐次取得する。
【００４４】
ステップＳ２０２において、検出部４３は、学習テンプレートを入れ替えながら顔検出処理を行う。この処理では、初めに、選択部４１は、取得部４２により取得される撮像画像のデータに基づいて、当該撮像画像内の被写体を特定し、当該被写体に適合する特定の学習テンプレートを選択する。そして、検出部４３は、選択部４１により選択された学習テンプレートを用いて、撮像画像内の被写体の顔領域を検出する顔検出処理を行う。
【００４５】
ステップＳ２０３において、算出部５１は、一定時間が経過したか否かを判定する。この処理では、算出部５１は、各学習テンプレートが選択部４１により複数回入れ替えられるまで任意の時間ｎをカウントしながら、各学習テンプレートによる顔検出処理が一定時間の間行われるまで待機する。各学習テンプレートが入れ替えられる回数としては、１〜１００回等任意の回数を設定することができる。一定時間が経過していない場合には、ステップＳ２０３においてＮＯであると判定されて、処理はステップＳ２０２に戻る。即ち、一定時間が経過するまでの間、選択部４１による学習テンプレートの選択が繰り返し行われることとなる。これに対し、一定時間が経過した場合には、ステップＳ２０３においてＹＥＳであると判定されて、処理はステップＳ２０４に進む。
【００４６】
ステップＳ２０４において、算出部５１は、ステップＳ２０２の顔検出処理において検出された各学習テンプレートでの顔検出数の総和を算出する。
【００４７】
ステップＳ２０５において、検出部４３は、ステップＳ２０４において算出した顔検出数の総和が最も大きい学習テンプレートで顔検出処理を実行する。この処理では、検出部４３は、顔検出数の総和が最も大きい、即ち、最も多く顔の検出に成功した学習テンプレートを用いて、顔検出処理を行う。これにより、顔検出処理の精度を高めることができる。
【００４８】
ステップＳ２０６において、検出部４３は、顔検出ができなくなったか否かを判定する。顔検出が成功している場合には、ステップＳ２０６において、ＮＯであると判定されて処理はステップＳ２０５に戻る。即ち、顔検出が成功している間は、最も多く顔の検出に成功した学習テンプレートを用いた顔検出処理が継続して実行される。これに対し、顔検出ができなくなった場合には、ステップＳ２０６において、ＹＥＳであると判定されて、処理はステップＳ２０７に進む。
【００４９】
ステップＳ２０７において、検出部４３は、顔検出制御処理の終了指示を受け付けたか否かを判定する。終了指示を受け付けていない場合、ステップＳ２０７においてＮＯであると判定されて、処理はステップＳ２０２に戻る。即ち、顔検出制御処理の終了指示を受け付けていない場合には、検出部４３は、学習テンプレートを再度入れ替えながら顔検出処理を行い、ステップＳ２０２〜Ｓ２０６の処理が繰り返し行われる。これに対し、顔検出制御処理の終了指示を受け付けた場合、ステップＳ２０７においてＹＥＳであると判定されて、顔検出制御処理は終了となる。
【００５０】
以上説明したように、第２実施形態の撮像装置１は、算出部５１を更に備える。算出部５１は、記憶部１９に記憶された複数種の学習テンプレートの夫々を一定期間中に循環的に用いながら、当該学習テンプレートに属する複数種の識別器と被写体画像とが適合する回数を算出する。そして、選択部４１は、算出部５１により算出された回数が最も大きい学習テンプレートを、特定の学習テンプレートとして選択する。
これにより、被写体画像と適合する回数が最も多い学習テンプレートに基づいて被写体画像の検出を行うことができることから、精度の高い被写体画像の検出を行うことができる。
【００５１】
以上、本発明の第２実施形態に係る撮像装置１について説明した。
次に、本発明の第３実施形態に係る撮像装置１について説明する。
【００５２】
［第３実施形態］
第３実施形態に係る撮像装置１は、第１実施形態に係る撮像装置１と基本的に同様のハードウェア構成を取ることができる。
従って、図１は、第３実施形態に係る撮像装置１のハードウェアの構成を示すブロック図でもある。
また、第３実施形態に係る撮像装置１が実行する顔検出制御処理は、第１実施形態に係る顔検出制御処理と基本的に同様の流れとなる。ただし、第３実施形態の顔検出制御処理は更に、各学習テンプレートによる顔検出結果をＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ，  Ｆｉｒｓｔ  Ｏｕｔ）形式のバッファへ格納し被写体画像を統合処理する。ＦＩＦＯ形式のバッファとは、記憶部１９に設けられた所定の格納領域を有するバッファ領域に対し、所定のバッファ領域を超える量の顔検出結果が格納された場合、一番先にバッファに格納された顔検出結果が後に格納した顔検出結果と入れ替わって格納されるバッファの形式をいう。また、統合処理とは、複数の被写体画像の検出結果をまとめる処理をいう。
【００５３】
図６を参照して、図２の機能的構成の第３実施形態の撮像装置１が実行する顔検出制御処理について説明する。
図６は、図２の機能的構成を有する図１の第３実施形態の撮像装置１が実行する顔検出制御処理の流れを説明するフローチャートである。
【００５４】
顔検出制御処理は、ユーザにより入力部１７のシャッタボタンが半押しされて撮像装置１の動作モードが顔検出状態に変更されたことを契機として開始され、次のような処理が繰り返し実行される。
【００５５】
ステップＳ３０１において、取得部４２は、撮像部１８により撮像された撮像画像のデータを逐次取得する。
【００５６】
ステップＳ３０２において、検出部４３は、学習テンプレートを入れ替えながら顔検出処理を行う。この処理では、初めに、選択部４１は、取得部４２により取得される撮像画像のデータに基づいて、当該撮像画像内の被写体を特定し、当該被写体に適合する特定の学習テンプレートを選択する。そして、検出部４３は、選択部４１により選択された学習テンプレートを用いて、撮像画像内の被写体の顔領域を検出する顔検出処理を行う。
【００５７】
ステップＳ３０３において、検出部４３は、ステップＳ３０２において検出した夫々の学習テンプレートでの顔検出結果をＦＩＦＯ形式のＦＩＦＯバッファに格納する。この処理では、検出部４３は、顔検出処理で検出した顔検出結果を、記憶部１９の一領域に形成されたＦＩＦＯバッファに格納する。所定のバッファ領域を超える量の顔検出結果が格納される場合は、検出部４３は、ＦＩＦＯバッファに対し、ＦＩＦＯバッファに格納されている顔検出結果のうち、一番先に格納した顔検出結果が後に格納した顔検出結果と入れ替えて格納する。
【００５８】
ステップＳ３０４において、検出部４３は、ステップＳ３０３において格納したＦＩＦＯバッファに格納された顔検出結果をマージしたものを１フレームでの出力結果として出力する。検出部４３は、マージする方法として、ＦＩＦＯバッファに格納されている被写体像の顔の位置と、顔の大きさが近似しているもの同士を平均化して１フレームにまとめる処理を行う。なお、被写体像の顔の位置と、顔の大きさとが近似するものがない場合には、ＦＩＦＯバッファに記憶されている顔の位置と顔の大きさとをそのまま１フレームでの出力結果として出力する。これにより、顔検出処理の精度を高めることができる。
また、出力後の処理として、出力結果に対する顔位置や大きさに基づいて、顔の検出枠を表示部２２に表示させるようにしても良い。
【００５９】
ステップＳ３０５において、顔検出制御処理の終了指示を受け付けたか否かを判定する。終了指示を受け付けていない場合、ステップＳ３０５においてＮＯであると判定されて、処理はステップＳ３０２に戻る。即ち、顔検出制御処理の終了指示を受け付けるまでの間、ＦＩＦＯバッファに格納された顔検出結果をマージしたものが１フレームでの出力結果として継続して出力される。これに対し、顔検出制御処理の終了指示を受け付けた場合、ステップＳ３０５においてＹＥＳであると判定されて、顔検出制御処理は終了となる。
【００６０】
以上説明したように、第３実施形態の撮像装置１は、取得部４２により逐次取得される撮像画像の夫々に対する検出部４３の検出結果をＦＩＦＯバッファに格納することで、被写体画像を統合処理する。これにより、直近の撮影環境に基づいて検出された検出結果により被写体画像の検出行うことができることから、精度の高い被写体画像の検出を行うことができる。
【００６１】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
例えば、上述の実施形態では、顔検出制御処理において、自動で学習テンプレートを選択するようにしたが、これに限られない。
つまり、複数の顔検出モードとして「通常時の顔検出モード（通常時の学習テンプレートを用いた顔検出モード）」、「逆光時の顔検出モード（逆光時の学習テンプレートを用いた顔検出モード）」、「低照度時の顔検出モード（低照度時の学習テンプレートを用いた顔検出モード）」をユーザ自身が別個に選択できるようにすることで、ユーザ自身が撮影環境を判断して、顔検出制御で使用される学習テンプレートを設定しても良い。
【００６２】
また、上述の実施形態では、選択部４１は、学習テンプレートを選択する順番として、記憶部１９に記憶された通常時の学習テンプレート、逆光時の学習テンプレート、低照度時の学習テンプレート、とをその順番で入れ替えながら選択しているがこれに限られない。例えば、撮像装置１に撮影環境の判定手段として別途照度センサを設け、該照度センサにより検出した撮影環境に応じて、選択部４１により入れ替える学習テンプレートの順序を変更することができる。例えば、選択部４１は、照度センサにより撮影環境として逆光を検出した場合には、逆光時の学習テンプレートを優先して選択する。また、選択部４１は、照度センサにより撮影環境として低照度を検出した場合には、低照度時の学習テンプレートを優先して選択する。
また、撮影環境の判定手段として、画像中の輝度を解析することで撮影環境を判定するようにしても良い。
【００６３】
また、上述の実施形態では、検出部４３は、選択された各学習テンプレートに含まれる、正面方向の識別器、ロー方向の識別器、ヨー方向の識別器、ピッチ方向の識別器、を順に入れ替えながら顔検出処理を行っているがこれに限られない。例えば、検出部４３は、選択された学習テンプレートに含まれる、各方向の識別器に対し同時に顔検出処理を行うことができる。
【００６４】
また、上述の実施形態では、各実施形態は独立して実行されているがこれに限られるものではなく、例えば、第１実施形態の撮像装置１，第２実施形態の撮像装置１，第３実施形態の撮像装置１の夫々の処理を組み合わせて実行することができる。
また、上述の実施形態では、顔検出制御処理の例としたが特にこれに限定されない。例えば、顔検出制御だけでなく、手を検出対象とした各学習テンプレートを使用すれば、上述した実施形態を手の検出に対しても適用できる。また、検出対象が人間の顔の他に、動物の顔を検出対象としても本実施形態は適用できる。つまり、学習テンプレートの設計対象を任意の被写体を対象とすることで、当該任意の被写体の検出に対して本実施形態を適用できる。
【００６５】
また、上述の実施形態では、本発明が適用される撮像装置１は、デジタルカメラを例として説明したが、特にこれに限定されない。
例えば、本発明は、撮像機能を有する電子機器一般に適用することができる。具体的には、例えば、本発明は、ノート型のパーソナルコンピュータ、テレビジョン受像機、ビデオカメラ、携帯型ナビゲーション装置、携帯電話機、ポータブルゲーム機等に適用可能である。
【００６６】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図２の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が撮像装置１に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図２の例に限定されない。
また、１つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【００６７】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【００６８】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図１のリムーバブルメディア３１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア３１は、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等により構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図１のＲＯＭ１２や、図１の記憶部１９に含まれるハードディスク等で構成される。
【００６９】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【００７０】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、更に、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００７１】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
画像を逐次取得する取得手段と、
所定の記憶手段に記憶された複数種の撮影環境に夫々対応した複数種の被写体の識別器から、特定の識別器を選択する選択手段と、
前記選択手段により選択された特定の識別器を用いて、前記取得手段により逐次取得される画像中の被写体画像を検出する検出手段と、
を備えることを特徴とする被写体検出装置。
［付記２］
前記記憶手段に記憶された複数種の識別器の夫々を順に用いて、当該複数種の識別器から前記取得手段により取得される画像中の被写体画像に適合する識別器を判定する判定手段を更に備え、
前記選択手段は、前記判定手段による判定結果に基づいて、前記特定の識別器を選択する、
ことを特徴とする付記１に記載の被写体検出装置。
［付記３］
前記記憶手段に記憶された複数種の識別器の夫々を一定期間中に循環的に用いながら、前記複数種の識別器と前記被写体画像とが適合する回数を算出する算出手段を更に備え、
前記選択手段は、更に、前記算出手段により算出された回数に基づいて、前記特定の識別器を選択する
ことを特徴とする付記１又は２に記載の被写体検出装置。
［付記４］
前記取得手段により逐次取得される画像の夫々に対する前記検出手段の検出結果を統合する統合手段と、
前記統合手段による統合結果に基づいて、前記画像中の被写体像の位置を決定する位置決定手段と、
を更に備えたことを特徴とする付記１から３の何れかに記載の被写体検出装置。
［付記５］
前記選択手段は、ユーザ操作に基づいて、前記特定の識別器を選択することを特徴とする付記１又は４に記載の被写体検出装置。
［付記６］
前記選択手段は、所定の記憶手段に記憶された複数種の撮影環境に夫々対応した複数種の被写体の識別器群から、特定の識別器群を選択し、
前記検出手段は、前記選択手段により選択された特定の識別器群を用いて、前記取得手段により逐次取得される画像中の被写体画像を検出する
ことを特徴とする付記１から４の何れかに記載の被写体検出装置。
［付記７］
被写体検出装置が実行する被写体検出方法において、
画像を逐次取得する取得ステップと、
所定の記憶手段に記憶された複数種の撮影環境に夫々対応した複数種の被写体の識別器から、特定の識別器を選択する選択ステップと、
前記選択ステップにより選択された特定の識別器を用いて、前記取得ステップにより逐次取得される画像中の被写体像を検出する検出ステップと、
を含む被写体検出方法。
［付記８］
コンピュータを、
画像を逐次取得する取得手段、
所定の記憶手段に記憶された複数種の撮影環境に夫々対応した複数種の被写体の識別器から、特定の識別器を選択する選択手段、
前記選択手段により選択された特定の識別器を用いて、前記取得手段により逐次取得される画像中の被写体画像を検出する検出手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【００７２】
１・・・撮像装置、１１・・・ＣＰＵ、１２・・・ＲＯＭ、１３・・・ＲＡＭ、１４・・・バス、１５・・・入出力インターフェース、１６・・・出力部、１７・・・入力部、１８・・・撮像部、１９・・・記憶部、２０・・・通信部、２１・・・ドライブ、３１・・・リムーバブルメディア、４１・・・選択部、４２・・・取得部、４３・・・検出部、５１・・・算出部
【図１】
2014021901.tif 000003
【図２】
2014021901.tif 000004
【図３】
2014021901.tif 000005
【図４】
2014021901.tif 000006
【図５】
2014021901.tif 000007
【図６】
2014021901.tif 000008