(57)【要約】【課題】規定時間内に連続的に特定被写体を検出し、且つ特定被写体の検出精度を向上させるようにする。【解決手段】ＣＰＵ１０１は、特徴検出部１２５が規定時間（１／６０秒）以内に特定被写体（顔）を検出できる範囲内で、顔の検出条件として、小さいサイズの顔を検出することを優先したサイズ優先モードと、傾斜した状態の顔を検出することを優先した傾き優先モードをフレーム毎に切り替え可能に設定する。【選択図】図３
2010154041.tif 000002
【特許請求の範囲】
【請求項１】
撮影手段により撮影された撮影画像から特定被写体を検出する検出手段と、
前記検出手段が前記特定被写体を検出するための検出条件を設定する設定手段と、
を有し、
前記設定手段は、前記検出手段が規定時間以内に前記特定被写体を検出できる範囲内で、第１の検出モードと第２の検出モードを切り替えるものであり、前記第１の検出モードは前記第２の検出モードに比較して小さいサイズの前記特定被写体を検出することを優先した検出モードであり、前記第２の検出モードは前記第１の検出モードに比較して傾斜した状態の前記特定被写体を検出することを優先した検出モードであることを特徴とする撮像装置。
【請求項２】
前記設定手段は、前記第１の検出モードが設定されている状態で前記検出手段が規定数以上のフレームに亘って前記特定被写体の検出処理を行っても、前記特定被写体を検出できなかった場合に、前記第２の検出モードに切り替え、前記第２の検出モードが設定されている状態で前記検出手段が規定数以上のフレームに亘って前記特定被写体の検出処理を行っても、前記特定被写体を検出できなかった場合に、前記第１の検出モードに切り替えることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記設定手段は、前記検出手段が前記撮影画像と、前記撮影画像から一部分を抜き出して前記撮影画像と同じサイズに拡大した拡大画像とを交互に用いて前記特定被写体を検出することを特徴とする請求項１又は２に記載の撮像装置。
【請求項４】
前記設定手段は、前記第１の検出モードが設定されている状態では、小さいサイズの前記特定被写体を検出することを優先する第１の検出条件を設定し、前記第２の検出モードが設定されている状態では、前記第１の検出条件と傾斜した状態の前記特定被写体を検出することを優先する第２の検出条件を切り替えて設定することを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記設定手段は、前記第２の検出モードが設定されている状態において、前記検出手段が前記拡大画像を用いて前記特定被写体を検出する場合にのみ、前記第２の検出条件を設定することを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記検出手段が前記特定被写体を検出できなかった場合に変数を増加させるカウンタ手段を有し、
前記カウンタ手段は、前記第２の検出モードが設定されている状態で前記検出手段により前記特定被写体が検出された場合であっても、当該検出に係る特定被写体の傾斜度が前記第１の検出モードの下でも前記特定被写体を検出可能な傾斜度である場合は、当該特定被写体が検出されたフレームによって前記変数を増加させることを特徴とする請求項２に記載の撮像装置。
【請求項７】
撮影手段により撮影された撮影画像から特定被写体を検出する検出工程と、
前記検出工程により前記特定被写体を検出するための検出条件を設定する設定工程と、
を有し、
前記設定工程は、前記検出工程において規定時間以内に前記特定被写体を検出できる範囲内で、第１の検出モードと第２の検出モードを切り替えるものであり、前記第１の検出モードは前記第２の検出モードに比較して小さいサイズの前記特定被写体を検出することを優先した検出モードであり、前記第２の検出モードは前記第１の検出モードに比較して傾斜した状態の前記特定被写体を検出することを優先した検出モードであることを特徴とする撮像装置の制御方法。
【請求項８】
請求項７に記載の撮像装置の制御方法をコンピュータが実行できるようにプログラミングされてなるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオカメラ等の撮像装置に関し、特に顔などの特定被写体の検出技術に関する。
【背景技術】
【０００２】
近年、撮影画像から顔などの特定被写体を検出し、その特定被写体に適した露光制御、合焦制御等を行うスチルカメラ、ビデオカメラ、監視用カメラなどの撮像装置が実現されている。
【０００３】
顔検出の手法としては、撮影画像に含まれる顔の傾き、向き、大きさ、撮影画像上の位置等は通常は不定であるため、これら顔の傾き、向き、大きさ、位置等の検出条件を変更しながら顔を検出する手法が多用されている。
【０００４】
特許文献１では、デジタル画像上でサブウィンドウを走査しながら、このサブウィンドウの画像が顔を含む顔画像であるか否かを判別器により順次判別していくことにより、顔を検出する技術が開示されている。
【０００５】
また、特許文献２では、検出領域を変化させながら顔の検出処理を行っている。その際、顔の傾きが小さい場合は検出領域の移動幅を小さくすることで、顔の検出精度を高くし、顔の傾きが大きい場合は検出領域の移動幅を大きくすることで、顔の検出精度が低くなる代わりに検出処理時間を短縮している。
【特許文献１】ＵＳ２００２／０１０２０２４  Ａ１（米国特許出願公開公報）
【特許文献２】特開２００７−１２８１２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、検出条件を変更しながら特定被写体を検出する手法においては、通常、特定被写体の検出精度を高くしようとすると、検出条件をきめ細かく設定する必要があるため、処理時間が長くなる。逆に、検出処理を高速化しようとすると、検出条件を粗く設定する必要があるため、特定被写体の検出精度が低くなる。
【０００７】
すなわち、特定被写体の検出精度と検出処理時間とは、いわゆるトレードオフの関係にあり、高い検出精度と短い検出処理時間を両立させることが難しい。この場合、撮影画像から顔などの所望の特定被写体を検出する処理時間が長くなり、規定時間内に特定被写体を検出し終えなかった場合は、特定被写体に対する適正な合焦制御や露出制御を行えなくなり、画質の面で大きな問題となる。
【０００８】
特に、動画を撮影するビデオカメラにおいては、特定被写体が移動する場合が多いので、各フレームの画像について、規定時間内に連続的に特定被写体を検出することが要望される。
【０００９】
特許文献１に係る顔検出システムでは、顔の検出処理時間について考慮されておらず、顔に対する適正な合焦制御や露出制御を行えなくなる場合がある。一方、特許文献２に係る顔検出システムでは、検出する顔の傾きが大きい場合には処理時間を短縮するよう考慮されている。
【００１０】
しかしながら、特許文献２では、顔の傾きが小さい場合には検出精度を高めるように処理するだけで、顔の検出処理時間については考慮されていない。そのため、特許文献２では、顔の傾きが小さい場合には、特許文献１等と同様に、顔に対する適正な合焦制御や露出制御を行えなくなる場合がある。
【００１１】
本発明は、このような技術的な背景の下になされたもので、その目的は、規定時間内に連続的に特定被写体を検出し、且つ特定被写体の検出精度を向上させるようにすることにある。
【課題を解決するための手段】
【００１２】
上記の目的を達成するため、本発明に係る撮像装置は、撮影手段により撮影された撮影画像から特定被写体を検出する検出手段と、前記検出手段が前記特定被写体を検出するための検出条件を設定する設定手段と、を有し、前記設定手段は、前記検出手段が規定時間以内に前記特定被写体を検出できる範囲内で、第１の検出モードと第２の検出モードを切り替えるものであり、前記第１の検出モードは前記第２の検出モードに比較して小さいサイズの前記特定被写体を検出することを優先した検出モードであり、前記第２の検出モードは前記第１の検出モードに比較して傾斜した状態の前記特定被写体を検出することを優先した検出モードであることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、規定時間内に連続的に特定被写体を検出し、且つ特定被写体の検出精度を向上させることが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、発明を実施するための最良の形態について、図面を用いて説明する。 
【００１５】
図１は、本発明の実施例に係る撮像装置の構成図である。本撮像装置は、ディスク型の記録媒体に動画像を記録するデジタルビデオカメラ（以下、ビデオカメラと称する）として構成されている。
【００１６】
図１において、ビデオカメラ１００は、制御系として、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、及び操作部１０４を有している。ＣＰＵ１０１は、内部バス１０５により、ＲＡＭ１０２、ＲＯＭ１０３、その他の各ブロックに接続され、ＲＯＭ１０３に格納された制御プログラムに基づいて各ブロックの制御を行う。
【００１７】
この際、ＣＰＵ１０１は、ＲＡＭ１０２をワークエリアとして利用する。なお、ＲＯＭ１０３には、図４,５のフローチャート等に係るプログラムも格納されている。操作部１０４は、ユーザが各種の操作レバーやボタンなどを操作した場合にその操作に係る操作信号をＣＰＵ１０１に出力し、ＣＰＵ１０１は、操作信号に応じた各種処理を実行する。
【００１８】
また、ビデオカメラ１００は、図１において符号１１０〜１１５に示すカメラ系のブロックを有している。変倍レンズ１１０、フォーカスレンズ１１１を通過した光学像は、ＣＣＤイメージセンサ１１４の撮像面上に結像されて光電気変換される。ドライバ１１３は、ＣＰＵ１０１の制御の下に、変倍レンズ１１０、フォーカスレンズ１１１、及び絞り１１２を駆動して、光学ズーム倍率、フォーカス及び絞り量の調整を行う。
【００１９】
ＡＦＥ１１５は、ＣＰＵ１０１により指示されたシャッタ速度に基づいてＣＣＤイメージセンサ１１４を駆動し、１／６０秒毎に１フレーム分の画像信号を読み出し、画像信号のサンプル・ホールドと増幅、デジタル信号への変換を行う。
【００２０】
更に、ビデオカメラ１００は、図１において符号１２０〜１２５に示す画像処理系のブロックを有している。ＣＰＵ１０１の制御により、画像入力部１２０は、撮影時にはＡＦＥ１１５から画像信号を入力し、再生時にはＣＯＤＥＣ１３０から画像信号を入力する。画像処理部１２１は、バッファメモリ１２２を用いて、色変換や解像度変換、画像の切り出しなどの画像信号処理を行う。フォーカス評価部１２３、露出評価部１２４は、画像処理部１２１から出力される画像（画像信号）の複数の領域に対して、それぞれ、フォーカス、露出の状態を評価する。
【００２１】
特徴検出部１２５は、バッファメモリ１２２から１フレーム単位で画像を読出し、その画像の中から顔などの特定被写体を検出する。この検出方法それ自体は、例えば特許文献１に係る検出方法等の公知の検出方法を用いることができる。この場合、特徴検出部１２５は、１９２０×１０８０画素の単位で検出領域をシフトしながら、画像の全領域について顔などの特定被写体の特徴を検出していくものとする。
【００２２】
本実施の形態に係る特徴検出部１２５は、更に、特定被写体の数と、それら特定被写体の特徴情報として、大きさ、位置、傾きを検出する。そして、ＣＰＵ１０１は、各フレームにおいて検出した特定被写体の大きさ、位置、傾きの特徴情報を、被写体リストとしてＲＡＭ１０２に格納する。なお、特徴検出部１２５が特定被写体の特徴情報を検出する際に用いる検出条件は、ＲＡＭ１０２に格納されているものとする。
【００２３】
また、ビデオカメラ１００は、図１において符号１３０〜１３３に示すレコーダ系のブロックを有している。撮影画像を記録する場合は、ＣＯＤＥＣ１３０は、ＣＰＵ１０１の制御の下に、画像処理部１２１から出力される画像信号を符号化してバッファメモリ１３１に一時記憶させる。ディスクコントローラ１３２は、その符号化に係る画像信号をバッファメモリ１３１から読み出して、ディスク１３３、すなわち、ＤＶＤなどの記録媒体に記録する。
【００２４】
また、撮影画像を再生する場合は、ディスクコントローラ１３２は、ＣＰＵ１０１の制御の下に、ディスク１３３から符号化に係る画像信号を読み出し、バッファメモリ１３１に一時記憶させる。ＣＯＤＥＣ１３０は、バッファメモリ１３１に一時記憶された符号化に係る画像信号を復号化する。
【００２５】
また、ビデオカメラ１００は、図１において符号１４０〜１４６に示す表示系のブロックを有している。描画処理部１４０は、ＣＰＵ１０１の制御の下に、画像処理部１２１から出力される画像信号に対して文字や図形などを重畳して描画し、バッファメモリ１４１に一時記憶させる。ＬＣＤコントローラ１４２は、バッファメモリ１４１から画像信号を読み出して、ＬＣＤ１４３に表示させる。また、外部出力コントローラ１４５は、バッファメモリ１４１から画像信号を読み出し、外部端子１４６に接続されたケーブル１５０を介して外部出力装置１５１へ出力する。
【００２６】
次に、ＲＡＭ１０２に格納される被写体リストについて説明する。図２は、ＲＡＭ１０２に格納されている被写体リストを例示した概念図である。ＣＰＵ１０１は、特徴検出部１２５により検出された顔などの特定被写体の特徴情報として、位置（Ｘ，Ｙ）、幅Ｗ、傾きＡと消失フレーム数Ｆを、被写体リストとしてＲＡＭ１０２に格納する。なお、特徴検出部１２５は、特定被写体の大きさとして、特定被写体の幅Ｗを検出する。
【００２７】
特定被写体は、人間の顔だけでなく例えば、人間の目や手、猫、犬などのペット等、種々の被写体が考えられるが、便宜上、特定被写体が顔であるものとして以下の説明を行う。
【００２８】
ＣＰＵ１０１は、被写体リストを更新する際、今回検出された顔と既にリストアップされている顔に係る大きさ（幅Ｗ）、位置（Ｘ，Ｙ）、及び傾きＡの相関関係に基づいて、これら顔が同一の顔であるか否かを判定する。
【００２９】
そして、ＣＰＵ１０１は、同一の顔であると判定した場合は、その顔に係る大きさ（幅Ｗ）、位置（Ｘ，Ｙ）、及び傾きＡを今回検出したものに更新する。一方、同一の顔でないと判定した場合は、ＣＰＵ１０１は、今回検出した顔を被写体リストに新規に登録する。
【００３０】
上記の消失フレーム数Ｆは、何フレーム連続で当該顔が検出されていないかを示す情報であり、当該顔の情報が更新されなかった場合に、ＣＰＵ１０１は、消失フレーム数Ｆを「１」だけインクリメントする。また、ＣＰＵ１０１は、消失フレーム数Ｆが「３」となったとき、すなわち、３フレーム連続で当該顔が検出されなかったときに、被写体リストから当該顔に係る特徴情報を削除する。
【００３１】
次に、特徴検出部１２５が顔を検出する場合の検出モード情報について説明する。この検出モード情報は、ＲＡＭ１０２に格納されており、大別して優先情報（優先モード情報）と画像情報（画像モード情報）がある（図６参照）。優先モード情報としては、サイズ優先モード（第１の検出モード）と傾き優先モードがある（第２の検出モード）。第１の検出モードとしてのサイズ優先モードは、顔を検出する際に顔のサイズを優先して検出するモードであり、第２の検出モードとしての傾き優先モードは、顔の傾きを優先して顔を検出するモードである。
【００３２】
画像情報（画像モード情報）としては、通常画像モードと拡大画像モードとがある。通常画像モードの場合は、拡大処理や縮小処理が施されていない通常の撮影画像を用いて顔の検出処理が行われる。拡大画像モードの場合は、通常の撮影画像から一部分を抜き出して通常の撮影画像と同じサイズに拡大した拡大画像を用いて、顔の検出処理が行われる。
【００３３】
ＣＰＵ１０１は、特徴検出部１２５によってフレームに対して顔の検出処理が終了する毎に、優先モード情報を更新すべきか否かを判定する。
【００３４】
次に、優先モード情報の選択処理を、図４のフローチャートに基づいて説明する。この優先モード情報の選択処理は、フレーム毎に行われるものである。
【００３５】
ＣＰＵ１０１は、現在設定されている優先モード情報が、サイズ優先モード、傾き優先モードの何れであるかを判別する（Ｓ４０１）。現在設定されている優先モード情報がサイズ優先モードである場合は、ＣＰＵ１０１は、現在のフレームにおいて特定被写体（顔）が特徴検出部１２５によって検出されたか否かを判別する（Ｓ４０２）。
【００３６】
ここで、ＣＰＵ１０１は、変数Ｃｏｕｎｔを用いるカウンタとして機能する。この変数Ｃｏｕｎｔは、何フレーム連続で顔が検出されていないかを示す変数である。すなわち、ＣＰＵ１０１は、現在のフレームにおいて顔が検出されなかった場合は、変数Ｃｏｕｎｔを「１」だけインクリメント（増加）する（Ｓ４０３）。一方、顔が検出された場合は、ＣＰＵ１０１は、変数Ｃｏｕｎｔを「０」クリアする（Ｓ４０４）。つまり、この変数Ｃｏｕｎｔによって、連続して顔が検出できなかったフレームを数えることができる。
【００３７】
現在設定されている優先モード情報が傾き優先モードである場合は、ＣＰＵ１０１は、現在のフレームにおいて特定被写体（顔）が特徴検出部１２５によって検出されたか否かを判別する（Ｓ４０５）。ＣＰＵ１０１は、顔が検出されなかった場合は、変数Ｃｏｕｎｔを「１」だけインクリメントする（Ｓ４０７）。
【００３８】
一方、顔が検出された場合は、ＣＰＵ１０１は、その顔の傾斜度（傾斜角度）が４５度以内であるか否かを判別する（Ｓ４０６）。その結果、顔の傾斜度が４５度以内であれば、ＣＰＵ１０１は、変数Ｃｏｕｎｔを「１」だけインクリメントする（Ｓ４０７）。顔の傾斜度が４５度以内ではなく、顔が大きく傾いている場合は、ＣＰＵ１０１は、ＣＰＵ１０１は、変数Ｃｏｕｎｔを「０」クリアする（Ｓ４０８）。
【００３９】
ＣＰＵ１０１は、Ｓ４０３又はＳ４０４の変数Ｃｏｕｎｔの更新処理を行った後、この変数Ｃｏｕｎｔが「３０」以上であるか否かを判別する（Ｓ４０９）。ＣＰＵ１０１は、変数Ｃｏｕｎｔが「３０」未満であれば、次のフレームに対しても、現在のフレームに設定されているものと同じ優先モード情報であるサイズ優先モードを設定する（Ｓ４１１）。
【００４０】
一方、変数Ｃｏｕｎｔが、「３０」以上であれば、ＣＰＵ１０１は、次のフレームに対して、現在のフレームに設定されているものと異なる優先モード情報である傾き優先モードを設定する（Ｓ４１２）。
【００４１】
また、ＣＰＵ１０１は、Ｓ４０７又はＳ４０８の変数Ｃｏｕｎｔの更新処理を行った後、この変数Ｃｏｕｎｔが「３０」以上（規定数以上）であるか否かを判別する（Ｓ４１０）。ＣＰＵ１０１は、変数Ｃｏｕｎｔが規定数の「３０」未満であれば、次のフレームに対しても、現在のフレームに設定されているものと同じ優先モード情報である傾き優先モードを設定する（Ｓ４１２）。
【００４２】
一方、変数Ｃｏｕｎｔが、規定数の「３０」以上であれば、ＣＰＵ１０１は、次のフレームに対して、現在のフレームに設定されているものと異なる優先モード情報であるサイズ優先モードを設定する（Ｓ４１１）。
【００４３】
上記のように、本実施の形態では、傾き優先モードにおいて顔が検出されたとしても、その顔の傾きが４５度以内であれば（Ｓ４０６、Ｓ４０６）、顔が検出されなかった場合と同様に、変数Ｃｏｕｎｔをインクリメント処理している（Ｓ４０７）。
【００４４】
これは、４５度以下という顔の傾きは、サイズ優先モードでも顔を検出できる可能性が高いので、より小さいサイズの顔を検出できるサイズ優先モードに早期に移行できるようにするためである。
【００４５】
次に、特徴検出部１２５が顔の検出に用いる上記の画像モード情報について、詳細に説明する。通常画像モードが設定されている場合は、特徴検出部１２５は、撮影された画像それ自体、すなわち拡大・縮小処理が施されていない撮影画像（通常画像）をそのまま用いて顔を検出する。
【００４６】
拡大画像モードが設定されている場合は、特徴検出部１２５は、画像処理部１２１によって撮影画像の中央の３／４の領域を切り出され、通常画像と同一サイズに拡大されて生成された拡大画像を用いて顔を検出する。これら通常画像、拡大画像は、両方とも、画像処理部１２１により、フレーム毎にバッファメモリ１２２に格納される。
【００４７】
ＣＰＵ１０１は、画像モード情報については、顔の検出結果に応じて切り替えを行う優先モード情報とは異なり、通常画像モードと拡大画像モードをフレーム毎に交互に設定する。そして、特徴検出部１２５は、設定された通常画像モード又は拡大画像モードに係る通常画像又は拡大画像をバッファメモリ１２２から読出し、その読み出した画像の中から顔を検出する。
【００４８】
次に、図６に示した検出条件について説明する。この検出条件は、優先モード情報と画像モード情報の組み合わせ結果に応じて、ＣＰＵ１０１によって設定される。ＣＰＵ１０１は、特徴検出部１２５により特定被写体（顔）を検出する際の検出条件として、顔の最小の大きさ（最小サイズ）、傾きの範囲を設定することができる。
【００４９】
この最小サイズとしては、２００画素、２５０画素、３００画素の画素単位で設定することができ、傾きの範囲は、上向き垂直方向を中心とした４５度と１３５度とを設定することができる（図３参照）。最小サイズが小さいほど、傾きの範囲が広いほど、顔の検出処理に長時間を要する。また、これら最小サイズ、傾きの範囲は、フレーム毎に設定変更することができる。
【００５０】
ここで、本実施の形態においては、１／６０秒毎に１フレーム分の処理を行うことを想定しているため、各フレームにおいて顔を検出する場合の検出条件は、その検出処理が１／６０秒以内（規定時間以内）に完了する条件でなくてはならない。
【００５１】
図３は、最小サイズと傾きの範囲の各設定値と、顔の検出処理に要する所要時間との関係を示したものである。サイズを優先して検出したい場合には、検出条件を最小サイズ２００画素、傾きの範囲４５度に設定する（最小サイズ条件：第１の検出条件）。また、傾きを優先して検出したい場合には、検出条件を最小サイズ３００画素、傾きの範囲を１３５度に設定する（最大傾き条件：第２の検出条件）。この図３が示す詳細な意味内容については、後で具体例により説明する。
【００５２】
次に、顔の検出処理を図５のフローチャートに基づいて説明する。特徴検出部１２５は、撮影画像の最初のフレームに対して、検出モード情報の初期値（優先モード情報はサイズ優先モード、画像モード情報は通常画像モード、検出条件は最小サイズ条件）を設定する（Ｓ５０１）。そして、特徴検出部１２５は、Ｓ５０１にて設定した各情報の初期値に対応する検出条件（図６参照）で顔の検出処理を行う（Ｓ５０２）。この場合、ＣＰＵ１０１は、特徴検出部１２５による検出結果に基づいて被写体リストを更新する。
【００５３】
次に、ＣＰＵ１０１は、次のフレームでの顔の検出処理のために、図４の優先モード情報の選択処理を行う（Ｓ５０３）。同様に、ＣＰＵ１０１は、次のフレームでの顔の検出処理のために、通常画像と拡大画像が交互に切り替わるように画像モード情報を選択する（Ｓ５０４）。更に、ＣＰＵ１０１は、Ｓ５０３，Ｓ５０４にて選択した優先モード情報、画像モード情報に基づいて、次のフレームでの顔の検出条件を選択する（Ｓ５０５）。
【００５４】
この場合、ＣＰＵ１０１は、図６に示したように、優先情報（優先モード情報）が傾き優先モードであっても、画像情報（画像モード情報）が通常画像である場合は、検出条件を最小サイズ条件（すなわち、サイズ優先の検出条件）とする。そして、優先情報が傾き優先モードで、画像情報が拡大画像である場合のみ、検出条件を最大傾き条件（すなわち、傾き優先の検出条件）とする。
【００５５】
これは、動画撮影中に、画面内にサイズの小さな被写体が入ってきたり、ズーム操作によって被写体が小さくなる確率に比較して、被写体がビデオカメラ１００に対して横に傾いていたり、被写体の傾きが変化したりする確率は低いと考えられるためである。そこで、傾き優先モードであっても、最大傾き条件を設定するのは２フレームのうちの一方のフレームのみとし、他方のフレームを最小サイズ条件に設定することで、小さな被写体が現れた場合もなるべく検出できるように構成されている。
【００５６】
次に、ビデオカメラ１００で被写体を撮影した場合の動作を、具体例で説明する。ここで、顔の検出モード情報の初期値として、優先モード情報はサイズ優先モード、画像モード情報は通常画像モード、検出条件は最小サイズ条件（最小サイズ２００画素、傾き４５度）が設定されているものとする。
【００５７】
また、顔（特定被写体）を検出できなかった連続フレーム数を示す変数Ｃｏｕｎｔは「０」であるものとする。更に、撮影開始から１秒間（６０フレームの期間）、顔は静止しており、同じ画像が撮影されていたものとする。
【００５８】
図７、図８は、それぞれ、撮影画像の最初のフレームＦ０について、バッファメモリ１２２に格納されている通常画像と拡大画像を示している。図７の通常画像７００、図８の拡大画像８００には、人物７１０が写っている。通常画像７００、拡大画像８００の画像サイズは１９２０×１０８０画素であり、人物７１０の顔の部分の幅は４５０画素、６００画素であり、傾きはいずれも８０度であるものとする。
【００５９】
特徴検出部１２５は、前述の初期設定された検出モード情報に基づいて通常画像７００の中から顔の検出処理を行い、ＣＰＵ１０１は、特徴検出部１２５による顔の検出結果に基づいて被写体リストを更新する。
【００６０】
この場合、サイズ優先モードが設定されているため、特徴検出部１２５は、顔の傾きが４５度以内の場合にしか顔を検出できない状態であり、人物７１０の顔を検出することができない。従って、ＣＰＵ１０１は、変数Ｃｏｕｎｔに「１」をセットする。
【００６１】
次に、ＣＰＵ１０１は、検出モード情報を更新する。この場合、ＣＰＵ１０１は、変数Ｃｏｕｎｔが「１」なので、優先モード情報はサイズ優先モードを維持し、画像モード情報は更新前が通常画像モードであったため拡大画像モードに変更する。また、ＣＰＵ１０１は、優先モード情報としてサイズ優先モードを維持したので、検出条件としては最小サイズ条件を設定する。
【００６２】
フレームＦ０から３０フレーム後にバッファメモリ１２２に格納されている画像は、人物７１０が静止しているため、相変わらず、図７、図８に示したフレームＦ０と同様の画像のままとなる。従って、特徴検出部１２５は、この３０フレーム後のフレームにおいても、相変わらず、人物７１０の顔を検出できない状態で、被写体リストの更新と変数Ｃｏｕｎｔのインクリメントを行う。
【００６３】
この場合、ＣＰＵ１０１が被写体リストの更新と、変数Ｃｏｕｎｔのインクリメントをフレーム毎に行ってきた結果、変数Ｃｏｕｎｔは「３０」となる。そのため、ＣＰＵ１０１は、今まで設定していた優先モード情報（サイズ優先モード）を傾き優先モードに変更する（図４参照）。また、ＣＰＵ１０１は、画像モード情報は更新前が通常画像であったため拡大画像に変更する。
【００６４】
更に、ＣＰＵ１０１は、優先モード情報を傾き優先モードに変更し、画像モード情報を拡大画像モードに変更したのに応じて、検出条件としては、最大傾き条件（最小サイズ３００画素、傾き１３５度）を設定する。
【００６５】
これは、最小検出サイズを最も小さな２００画素に設定しているにも拘らず、顔を検出できない原因として、顔の傾きが、最小検出サイズが２００画素であるときに制御で顔を検出し得る４５度より大きいことが考えられるからである。
【００６６】
ただし、検出可能な顔の角度を単純に大きくしたままでは、図３に示すように、顔の検出処理に要する時間が１／６０秒を超えてしまう。この場合、特に、動画を撮影する場合は、顔を検出したとしても、その顔に適した合焦制御、露光制御で実際に撮影を行う時点では検出に係る顔が別の位置に移動してしまい、顔の検出処理が無駄になる。このため、顔の検出に要する時間は、１／６０秒以内（規定時間以内）にする必要がある。
【００６７】
そこで、ＣＰＵ１０１は、顔を検出できるようにすべく最大傾き条件（１３５度）を設定すると共に、規定の１／６０秒以内の時間で顔を検出するために、最小検出サイズを２００画素から３００画素にする。
【００６８】
フレームＦ０から３１フレーム後にバッファメモリ１２２に格納されている画像は、人物７１０が静止しているため、相変わらず、図７、図８に示したフレームＦ０と同様の画像のままとなる。しかし、最大傾き条件（１３５度）が設定されているため、特徴検出部１２５は、この３１フレーム後のフレームに係る拡大画像８００の中から人物７１０の顔を検出することができる。従って、ＣＰＵ１０１は、変数Ｃｏｕｎｔをクリアして「０」にする。
【００６９】
次に、ＣＰＵ１０１は、検出モード情報を更新する。この場合、ＣＰＵ１０１は、優先モード情報は、変数Ｃｏｕｎｔが「０」であるので優先モード情報は傾き優先モードを維持し、画像モード情報は、更新前が拡大画像であったため通常画像に更新する。また、ＣＰＵ１０１は、優先モード情報が傾き優先モードであるが、画像モード情報が通常画像モードなので、検出条件としては、最小サイズ条件（最小サイズ２００画素、傾き４５度）に変更する。これにより、このフレームでは人物７１０の顔は検出できなくなり変数Ｃｏｕｎｔがインクリメントされるが、その次のフレームでは再び拡大画像モードに変更されて最大傾き条件が設定されるため、変数Ｃｏｕｎｔはクリアされて「０」となる。
【００７０】
その後、図７、図８の状態から人物７１０が起き上がり、その後１秒間（６０フレームの間）、再び人物７１０は静止しており、同じ画像が撮影されていたものとする。図９、図１０は、図７、図８の横になっていた人物７１０が起き上がった瞬間の撮影画像のフレームＦ１においてバッファメモリ１２２に格納されている通常画像９００と拡大画像１０００を示している。
【００７１】
この図９、図１０の通常画像９００、拡大画像１０００の画像サイズは、図７、図８と同様に１９２０×１０８０画素であり、人物７１０の顔の部分の幅も、図７、図８と同様に４５０画素、６００画素であるものとする。ただし、顔の傾きは、いずれも１０度であり、図７、図８の８０度から変化しているものとする。
【００７２】
また、変数Ｃｏｕｎｔは「０」であり、優先モード情報としては、引き続いて、傾き優先モードが設定されており、画像モード情報は拡大画像であるものとする。また、検出条件としては、最大傾き条件が設定されているものとする。
【００７３】
特徴検出部１２５は、検出モード情報に基づいて、拡大画像１０００の中から顔の検出処理を行い、ＣＰＵ１０１は、特徴検出部１２５による顔の検出結果に基づいて、被写体リストを更新する。この場合、人物７１０は検出されるが、傾きが４５度以内であるため、ＣＰＵ１０１は、変数Ｃｏｕｎｔをインクリメントする。
【００７４】
傾き優先モードが設定されている状態で変数Ｃｏｕｎｔが「３０」に達すれば、ＣＰＵ１０１は、傾き優先モードからサイズ優先モードに変更する。
【００７５】
次に、ＣＰＵ１０１は、検出モード情報を更新する。優先モード情報は、変数Ｃｏｕｎｔが「１」なので傾き優先モードを維持し、画像モード情報は更新前が拡大画像であったため通常画像に切り替える。また、ＣＰＵ１０１は、優先モード情報は傾き優先モードであるが、画像モード情報が通常画像なので、検出条件としては最小サイズ条件を設定する。
【００７６】
フレームＦ１から３０フレーム後にバッファメモリ１２２に格納される画像は、人物７１０が静止しているため、相変わらず、図９、図１０に示したフレームＦ１と同様の画像である。特徴検出部１２５は、画像モード情報に基づいて、通常画像９００から顔を検出する。ＣＰＵ１０１は、特徴検出部１２５による顔の検出結果に基づいて、被写体リストを更新する。
【００７７】
このフレームＦ１での検出処理においても人物７１０の顔が検出されるが、顔の傾きが４５度以内であるため、ＣＰＵ１０１は、変数Ｃｏｕｎｔをインクリメントする。この結果、変数Ｃｏｕｎｔは「３０」となる。そのため、ＣＰＵ１０１は、優先モード情報を傾き優先モードからサイズ優先モードに切り替える。ＣＰＵ１０１は、画像モード情報については、更新前が通常画像であったため、拡大画像に切り替える。また、ＣＰＵ１０１は、優先モード情報をサイズ優先モードに切替えたので、検出条件は最小サイズ条件を維持する。
【００７８】
以上説明したように、ＣＰＵ１０１は、特徴検出部１２５が１／６０秒以内に顔を検出できる範囲内で、小サイズの顔を検出することを優先したフレーム毎に切り替え可能に設定する。
【００７９】
このような検出条件の切替処理により、規定時間内に連続的に特定被写体（顔）を検出し、且つ特定被写体が小さい場合や傾斜している場合においても高精度に検出することが可能となる。更には、所望の特定被写体に適正に合焦し、適正な露光状態の高品質の画像を撮影することが可能となる。
【００８０】
なお、本発明は、上記の実施例に限定されることなく、例えば、サイズ優先モードと傾き優先モードを交互に切り替えるタイミングは、特定被写体が検出されないフレームが３０フレーム連続した場合に限らず、このフレーム数を変更してもよい。
【００８１】
また、本発明の目的は、前述した実施例の機能を実現するようにプログラミングされたソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給することによっても達成される。この場合、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出し実行することとなる。
【００８２】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８３】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。さらに、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等の光ディスクも、プログラムコードを供給するための記憶媒体として用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【００８４】
また、コンピュータが読み出したプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
【００８５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた場合も含まれる。また、そのプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００８６】
【図１】本発明の実施例に係る撮像装置の構成図である。
【図２】被写体リストの内容を例示した図である。
【図３】特定被写体（顔など）の検出条件（最小サイズ、傾きの範囲）と検出処理時間との関係を示す図である。
【図４】顔の検出条件としてのサイズ優先モードと傾き優先モードの選択切り替え処理を示すフローチャートである。
【図５】顔検出処理を示すフローチャートである。
【図６】顔の各検出モード情報の関係を示す図である。
【図７】拡大／縮小がなされていない撮影画像（通常画像）を例示した図である。
【図８】図７の通常画像の一部を抜き出して拡大した拡大画像を示す図である。
【図９】図７の特定被写体が動いた後に撮影した場合の通常画像を示す図である。
【図１０】図９の通常画像の一部を抜き出して拡大した拡大画像を示す図である。
【符号の説明】
【００８７】
１００…撮像装置
１０１…ＣＰＵ
１０２…ＲＡＭ
１０３…ＲＯＭ
１１４…ＣＣＤイメージセンサ
１２１…画像処理部
１２２…バッファメモリ
１２５…特徴検出部
【図１】
2010154041.tif 000003
【図２】
2010154041.tif 000004
【図３】
2010154041.tif 000005
【図４】
2010154041.tif 000006
【図５】
2010154041.tif 000007
【図６】
2010154041.tif 000008
【図７】
2010154041.tif 000009
【図８】
2010154041.tif 000010
【図９】
2010154041.tif 000011
【図１０】
2010154041.tif 000012