(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-06
(45)【発行日】2024-12-16
(54)【発明の名称】画像処理装置、撮像装置、制御方法、及びプログラム
(51)【国際特許分類】
H04N 23/67 20230101AFI20241209BHJP
H04N 23/611 20230101ALI20241209BHJP
【FI】
H04N23/67
H04N23/611
(21)【出願番号】P 2022013583
(22)【出願日】2022-01-31
【審査請求日】2023-09-22
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】勝箭 翔平
【審査官】眞岩 久恵
(56)【参考文献】
【文献】特開2021-132369(JP,A)
【文献】特開2020-003759(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/222-5/257
H04N 23/00
H04N 23/40-23/76
H04N 23/90-23/959
(57)【特許請求の範囲】
【請求項1】
撮像手段による撮像により得られる複数の画像それぞれについて、複数の辞書のうちの一部である1以上の辞書を用いて被写体検出処理を行う検出手段であって、前記複数の辞書それぞれは異なる種類の被写体を検出するためのものである、検出手段と、
追尾モードを設定する設定手段と、
前記検出手段で用いる前記1以上の辞書を選択する選択手段であって、以前の画像において検出された第1の被写体の種類に対応する第1の辞書とは異なる第2の辞書を、前記追尾モードに応じた頻度で選択する、選択手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記第1の被写体を追尾する意思を示すユーザ入力を受信する受信手段を更に備え、
前記設定手段は、前記ユーザ入力の受信前に前記追尾モードを第1のモードに設定し、前記ユーザ入力の受信に応じて前記追尾モードを第2のモードに設定し、
前記追尾モードが前記第2のモードに設定されている場合、前記選択手段は、前記第2の辞書の選択頻度を前記追尾モードが前記第1のモードに設定されている場合よりも下げる
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記追尾モードが前記第2のモードに設定されている場合、前記選択手段は、前記第2の辞書を選択候補から除外する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記撮像のフレームレートを制御する制御手段を更に備え、
前記追尾モードが前記第2のモードに設定されている場合、前記制御手段は、前記追尾モードが前記第1のモードに設定されている場合よりも前記フレームレートが高くなるように制御する
ことを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記検出手段は、所定のフレームレートで行われる前記撮像の1フレーム期間内に所定数の辞書を用いて被写体検出処理を行う処理能力を持ち、
前記選択手段により前記第2の辞書が選択候補から除外され、前記選択候補に含まれる辞書の数が前記所定数よりも小さくなった場合、前記検出手段は、前記選択候補に含まれる辞書を用いる被写体検出処理に加えて、前記選択候補に含まれない所定の辞書を用いる、被写体検出処理とは異なる所定の検出処理を行う
ことを特徴とする請求項3に記載の画像処理装置。
【請求項6】
前記複数の辞書は、複数の一次辞書と、前記複数の一次辞書のいずれかに各々が関連付けられている1以上の二次辞書とを含み、
前記第1の被写体の種類に対応する前記第1の辞書は、前記複数の一次辞書のうちの第1の一次辞書であり、
前記第1の辞書とは異なる前記第2の辞書は、前記複数の一次辞書のうちの前記第1の一次辞書とは異なる第2の一次辞書であり、
前記複数の一次辞書それぞれは、対応する種類の被写体の特定の領域を検出するように構成されており、
前記1以上の二次辞書それぞれは、前記二次辞書に関連付けられた一次辞書に対応する種類の被写体の、前記特定の領域とは異なる領域を検出するように構成されており、
前記第1の被写体の検出前は、前記選択手段は、前記第1の一次辞書に関連付けられた二次辞書を含まないように前記検出手段で用いる前記1以上の辞書の選択を行う
ことを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記以前の画像において前記第1の被写体が検出されたことに応じて、前記選択手段は、前記第1の辞書の選択頻度を上げる
ことを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
前記検出手段は、所定のフレームレートで行われる前記撮像の1フレーム期間内に所定数の辞書を用いて被写体検出処理を行う処理能力を持ち、
前記以前の画像において前記第1の被写体が検出されたことに応じて、前記選択手段は、前記第1の辞書を含む2以上の辞書の選択頻度を上げ、
前記2以上の辞書の数が前記所定数と等しい場合、前記選択手段は、前記2以上の辞書を選択することと、前記2以上の辞書以外の辞書を選択することを、画像毎に交互に繰り返す
ことを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項9】
前記検出手段は、所定のフレームレートで行われる前記撮像の1フレーム期間内に所定数の辞書を用いて被写体検出処理を行う処理能力を持ち、
前記以前の画像において前記第1の被写体が検出されたことに応じて、前記選択手段は、前記第1の辞書を含む2以上の辞書の選択頻度を上げ、
前記2以上の辞書の数が前記所定数のN倍(Nは自然数)と異なる場合、前記選択手段は、画像毎に前記2以上の辞書のうちの少なくとも1つを含むように前記検出手段で用いる前記1以上の辞書の選択を行う
ことを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項10】
前記第1の被写体は、前記以前の画像において検出された1以上の被写体のうちの主被写体である
ことを特徴とする請求項1乃至9のいずれか1項に記載の画像処理装置。
【請求項11】
前記検出手段は、前記以前の画像において検出された前記1以上の被写体から前記主被写体を選択するように構成される
ことを特徴とする請求項10に記載の画像処理装置。
【請求項12】
前記主被写体は、前記撮像手段が焦点及び露出の少なくとも一方を合わせる被写体である
ことを特徴とする請求項10又は11に記載の画像処理装置。
【請求項13】
請求項1乃至12のいずれか1項に記載の画像処理装置と、
前記撮像手段と、
を備えることを特徴とする撮像装置。
【請求項14】
画像処理装置が実行する制御方法であって、
撮像手段による撮像により得られる複数の画像それぞれについて、複数の辞書のうちの一部である1以上の辞書を用いて被写体検出処理を行う検出工程であって、前記複数の辞書それぞれは異なる種類の被写体を検出するためのものである、検出工程と、
追尾モードを設定する設定工程と、
前記検出工程で用いる前記1以上の辞書を選択する選択工程であって、以前の画像において検出された第1の被写体の種類に対応する第1の辞書とは異なる第2の辞書を、前記追尾モードに応じた頻度で選択する、選択工程と、
を備えることを特徴とする制御方法。
【請求項15】
コンピュータを、請求項1乃至12のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、撮像装置、制御方法、及びプログラムに関する。
【背景技術】
【0002】
従来より、デジタルカメラ等において、撮像素子から連続して出力される画像中から人の顔及び瞳を検出し、検出された人の顔又は瞳に対して、焦点状態及び露出状態を継続的に最適化し続ける、追尾AFモードを備えた製品が実用化されている。
【0003】
また近年では、機械学習の手法を用いて、人の顔や瞳だけではなく、様々な種類の被写体を検出することが可能になってきている。この場合、検出器に対して画像と検出対象の被写体に関する学習により得られた辞書データ(以下、単に「辞書」と呼ぶ)とを併せて入力することで、画像に含まれる被写体を検出することができる。様々な種類の被写体に対応する複数の辞書を用意し、検出器に入力する辞書を切り替えることで、様々な種類の被写体を画像内から検出することができる。
【0004】
検出対象となる被写体の種類が増えると、使用される辞書の種類も増加する。デジタルカメラなどの、検出器を構成する論理演算回路の数や処理能力が限られている装置においては、1フレームごとに辞書を切り替えることにより、複数種類の被写体検出を実現する制御方法が考えられる。なお、ここでは、1フレームとは、撮像素子から出力される画像に対して、演算処理及びカメラ制御が実行され完了するまでの時間又は周期を表すものとする。
【0005】
例えば、特許文献1では、被写体の検出に成功すると、以降のフレームでは検出された被写体に対応する辞書の使用頻度を高くすることで、安定した被写体追尾を行う構成が開示されている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1では、検出された被写体に対応する辞書の使用頻度を高くすることに伴って、他の辞書の使用頻度が相対的に低くなる。しかしながら、特許文献1では、他の辞書の使用頻度を直接的な制御対象とすることは考慮されていない。
【0008】
本発明はこのような状況に鑑みてなされたものである。本発明は、検出された被写体の種類に対応する辞書とは異なる辞書の使用頻度を変更可能にすることにより、検出された被写体の追尾性能と他の被写体の検出性能とのバランスを調整することを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明は、撮像手段による撮像により得られる複数の画像それぞれについて、複数の辞書のうちの一部である1以上の辞書を用いて被写体検出処理を行う検出手段であって、前記複数の辞書それぞれは異なる種類の被写体を検出するためのものである、検出手段と、追尾モードを設定する設定手段と、前記検出手段で用いる前記1以上の辞書を選択する選択手段であって、以前の画像において検出された第1の被写体の種類に対応する第1の辞書とは異なる第2の辞書を、前記追尾モードに応じた頻度で選択する、選択手段と、を備えることを特徴とする画像処理装置を提供する。
【発明の効果】
【0010】
本発明によれば、検出された被写体の追尾性能と他の被写体の検出性能とのバランスを調整することが可能となる。
【0011】
なお、本発明のその他の特徴及び利点は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【図面の簡単な説明】
【0012】
【
図1】カメラ100(デジタル一眼カメラ)の構成を示す側断面図。
【
図3】カメラ100の1フレームの動作のフローチャート。
【
図4】
図3のS308において辞書の優先度を決定する処理の詳細を示すフローチャート。
【
図5】第1の実施形態に係る、
図3のS309において辞書の制御スケジュールを決定する処理の詳細を示すフローチャート。
【
図6】第1の実施形態に係る、局所辞書が存在しない場合における、辞書の検出周期及び制御スケジュールの例について説明する図。
【
図7】第1の実施形態に係る、局所辞書が存在しない場合における、辞書の検出周期及び制御スケジュールの例について説明する図。
【
図8】第1の実施形態に係る、局所辞書が存在する場合における、辞書の検出周期及び制御スケジュールの例について説明する図。
【
図9】第1の実施形態に係る、局所辞書が存在する場合における、辞書の検出周期及び制御スケジュールの例について説明する図。
【
図10】第2の実施形態に係る、
図3のS309において辞書の制御スケジュールを決定する処理の詳細を示すフローチャート。
【
図11】
図10のS1003及びS1004の計算結果を整理して示す図。
【
図12】第2の実施形態に係る辞書の検出周期及び制御スケジュールに関する2つの具体例について説明する図。
【
図13】第2の実施形態に係る辞書の検出周期及び制御スケジュールに関する2つの具体例について説明する図。
【
図14】第2の実施形態に係る辞書の検出周期及び制御スケジュールに関する2つの具体例について説明する図。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0014】
[第1の実施形態]
図1は、画像処理装置を含む撮像装置の一例であるカメラ100(デジタル一眼カメラ)の構成を示す側断面図である。
図2は、カメラ100の機能ブロック図である。
【0015】
本実施形態のカメラ100は、
図1に示すように、カメラ本体101の正面側(被写体側)に、着脱可能な交換式のレンズユニット120が装着される。レンズユニット120は、フォーカスレンズ121及び絞り122等を有し、カメラ本体101に対してマウント接点部123を介して電気的に接続される。これにより、カメラ本体101に取り込む光量と焦点位置を調節することが可能である。なお、フォーカスレンズ121は、ユーザが手動で調節することもできる。
【0016】
撮像素子104は、CCDセンサーやCMOSセンサー等で構成され、赤外カットフィルターやローパスフィルター等を含む。撮像素子104は、撮影時にレンズユニット120の撮影光学系を通過して結像した被写体像を光電変換し、撮影画像を生成するための信号を演算装置102に送信する。演算装置102は、受信した信号から撮影画像を生成し、画像記憶部107へ保存するとともに、LCD等の表示部105に表示する。画像記憶部107は、例えばSDカードなどの記憶媒体を含む。シャッター103は、非撮影時には撮像素子104を遮光し、撮影時には開いて撮像素子104を露光させる。
【0017】
次に、
図2の機能ブロック図を参照して、カメラ100の制御に関わる構成について説明する。演算装置102は、複数のタスクを並列処理できるマルチコアCPU、RAM及びROMに加え、特定の演算処理を高速に実行するための専用回路などを備えている。これらのハードウェアによって、演算装置102は、制御部201、主被写体演算部202、追尾演算部203、フォーカス演算部204、露出演算部205を構成している。制御部201はカメラ本体101及びレンズユニット120の各部を制御する。
【0018】
主被写体演算部202は、辞書優先度決定部211、辞書切替制御部212、検出器213、主被写体判定部214を備えて構成される。検出器213は、画像から被写体の特定の領域(例えば、人の顔や瞳、犬の顔や瞳)を検出する処理を行う。被写体の特定の領域は、検出されない場合もあれば複数検出される場合もある。検出手法としてはAdaBoostや畳み込みニューラルネットワークなどの公知の任意の方法を用いればよい。また、その実装の形態としては、CPU上で動くプログラムであってもよいし、専用のハードウェアであってもよいし、それらの組み合わせであってもよい。また、検出器213に入力する辞書を切り替えることによって、検出対象の被写体の種類を変更することができる。
【0019】
辞書は、例えば対応する被写体の特徴が登録されたデータであり、論理回路に対する制御命令が、被写体の種類ごとに記載されたものである。本実施形態では、被写体ごとの辞書が、演算装置102内のROMに記憶される(辞書が複数種類記憶される)。辞書は被写体の種類ごとに存在するので、辞書を切り替えることによって、異なる種類の被写体を検出することができる。例えば、辞書優先度決定部211は、後述するような所定のタイミングで辞書の優先度を算出し、その演算結果に基づいて、辞書切替制御部212が検出器213に入力する辞書を決定する。検出器213から得られる被写体検出結果は主被写体判定部214に送られ、検出された被写体の中から、主被写体が判定され主被写体領域が設定される。主被写体の判定は、サイズ、位置、検出結果の信頼度などに基づく公知の判定方法を用いて行われる。検出器213で被写体が検出されなかった場合には、主被写体判定部214は、過去の検出結果や対象フレームのエッジ等の特徴量、被写体距離などに基づいて主被写体領域を決定することができる。
【0020】
検出器213としては、例えば、CNN(コンボリューショナル・ニューラル・ネットワーク)による被写体検出を行う検出器を用いることができる。検出器213が各被写体の検出に用いる辞書は、予め外部機器(例えばPC)或いはカメラ100でCNNの機械学習によって生成された学習済パラメータを含む。
【0021】
CNNの機械学習は、任意の手法で行われ得る。例えば、サーバ等の所定のコンピュータが、CNNの機械学習を行い、カメラ100は、学習されたCNNを、所定のコンピュータから取得してもよい。例えば、所定のコンピュータが、学習用の画像データを入力とし、学習用の画像データに対応する被写体の位置等を教師データとした教師あり学習を行うことで、CNNの学習が行われてもよい。また、所定のコンピュータが、学習用の画像データを入力とし、学習用の画像データの被写体に対応する辞書を教師データとした教師あり学習を行うことで、CNNの学習が行われてもよい。このような学習により、CNNの学習済パラメータが生成される。
【0022】
本実施形態で用いられる検出器213は、1フレームの期間内に辞書を切り替えて複数回の被写体検出を実行する処理能力を有するが、カメラ100が検出対象とする全種類の被写体の検出を常に1フレームの期間内に行うことはしないものとする。即ち、本実施形態は検出器213の処理能力を必ずしも制限するものではないが、処理速度やバスの帯域を節約するために全種類より少ない複数種類の被写体検出が、予め定めた設定に従って辞書を切り替えて実行されるものとする。
【0023】
追尾演算部203は、主被写体の検出情報に基づいて、主被写体領域の追尾を行う。フォーカス演算部204は、主被写体領域にピントを合わせるためのフォーカスレンズ121の制御値を算出する。また、露出演算部205は、主被写体領域を適正露出にするための絞り122及び撮像素子104の制御値を算出する。
【0024】
操作部106は、レリーズスイッチやモードダイヤルなどを備えており、制御部201は、操作部106を通してユーザからの撮影指示やモード変更指示などを受け取ることができる。
【0025】
次に、
図3を参照して、カメラ100の1フレームの動作について説明する。
図3のフローチャートの動作は、1フレームごとに繰り返し実行される。
【0026】
S301では、制御部201が、撮像素子104からの画素信号の読み出し処理を行い、読み出された画素信号から画像データを生成する。画素信号及び生成した画像データは、演算装置102内のRAMに保存される。
【0027】
S302では、制御部201が、現フレームが最初のフレームであるか否かを判定する。現フレームが最初のフレームである場合、処理ステップはS306へ進み、そうでない場合、処理ステップはS303へ進む。
【0028】
S303では、追尾演算部203が、前フレームに関して後述するS312において生成された追尾用参照情報を用いて、前フレームで設定された主被写体領域の現フレームにおける位置を算出する追尾処理を行う。追尾処理に用いるアルゴリズムは任意の公知の方法を用いればよい。例えば、追尾用参照情報として、前フレームにおいて設定された主被写体領域から所定の特徴抽出処理によって抽出した特徴量が用いられる。この場合、追尾演算部203は、現フレームにおいて、特徴量同士の距離が近い領域を探索することによって、主被写体領域の追尾を行うことができる。また、アルゴリズムの実装の形態としては、CPU上で動くプログラムであってもよいし、専用のハードウェアであってもよいし、それらの組み合わせであってもよい。追尾処理が完了した後に、追尾演算部203は、追尾結果(現フレームにおける主被写体領域の位置とサイズ)を演算装置102内のRAMに保存する。
【0029】
S304では、フォーカス演算部204が、S303で生成された追尾結果と、S301で得られた画素信号や画像データなどを用いて、主被写体領域にピントが合うようにフォーカスレンズ121の制御値を算出する。フォーカスレンズ121の制御値の算出方法は、コントラスト方式や位相差検出方式など、任意の公知の方法を用いればよい。フォーカスレンズ121の制御値の算出が完了したら、フォーカス演算部204が、制御部201にフォーカスレンズ121の制御値を通知する。制御部201は、通知された制御値に基づき、マウント接点部123を通じて、フォーカスレンズ121の制御を行う。
【0030】
S305では、露出演算部205が、S303で生成された追尾結果と、S301で得られた画素信号や画像データを用いて、主被写体領域の露出が適正になるように、撮像素子104及び絞り122の制御値を算出する。撮像素子104及び絞り122の制御値の算出方法は任意の公知の方法を用いればよい。撮像素子104及び絞り122の制御値の算出が完了したら、露出演算部205が、制御部201に撮像素子104及び絞り122の制御値を通知する。制御部201は、通知された撮像素子104及び絞り122の制御値に基づき、撮像素子104の制御を行うとともに、マウント接点部123を通じて、絞り122の制御を行う。
【0031】
S306では、制御部201が操作部106の状態を読み取り、レリーズスイッチが押されているか否かを判定する。レリーズスイッチが押されている場合、処理ステップはS307へ進み、そうでない場合、処理ステップはS308へ進む。
【0032】
S307では、制御部201が静止画の撮像処理を行う。制御部201は、S305で得られた制御値に基づいてシャッター103を駆動させ、撮像素子104を露光させ、露光された撮像素子104から読み出された画素信号から画像データを生成する。生成された画像データは画像記憶部107に保存される。
【0033】
S308では、辞書優先度決定部211が、各辞書の優先度を決定する。S308の処理の詳細については
図4を用いて後述する。
【0034】
S309では、辞書切替制御部212が、S308で決定された各辞書の優先度に基づいて、辞書の制御スケジュールを決定する。S309の詳細については
図5を用いて後述する。
【0035】
S310では、辞書切替制御部212が、S309で決定した制御スケジュールに従って辞書を選択し、選択した辞書とS301で生成された画像データとを検出器213に入力する。そして、検出器213が、入力された画像データについて、辞書に対応する種類の被写体の特定領域を検出することにより、被写体を検出する処理(被写体検出処理)を行う。
【0036】
S311では、主被写体判定部214が、S310で得られた検出結果に基づいて主被写体を判定する。主被写体の判定は、例えば、検出結果の部位(例えば、全身、顔、瞳など)、サイズ、位置、検出結果の信頼度などに基づく任意の公知の判定方法を用いて行うことができる。主被写体判定部214は、判定された主被写体及び主被写体に対応する領域(主被写体領域)を示す情報を演算装置102内のRAMに保存する。
【0037】
S312では、追尾演算部203が、S311で得られた主被写体領域の情報と、S301で生成された画像データとに基づいて、次フレームについてS303の追尾処理において使用するための追尾用参照情報を生成する。生成された追尾用参照情報は、演算装置102内のRAMに保存される。
【0038】
S312の処理が終了したら、カメラ100の1フレームの動作は終了となる。カメラ100が動作し続ける限り、カメラ100は、再びS301から、ここまで説明した処理を繰り返すことにより、所定のフレームレートでの連続的な撮像を継続する。
【0039】
次に、
図4を参照して、
図3のS308において辞書の優先度を決定する処理の詳細について説明する。
【0040】
S400aでは、辞書優先度決定部211が、主被写体又は追尾モードが変化したか否かを判定する。追尾モードについてはS405において後述する。主被写体又は追尾モードが変化した場合、処理ステップはS401へ進み、主被写体及び追尾モードのいずれも変化していない場合、処理ステップはS400bへ進む。
【0041】
S400bでは、辞書優先度決定部211が、現フレームが最初のフレームであるか否かを判定する。現フレームが最初のフレームの場合、処理ステップはS407へ進み、そうでない場合、本フローチャートの処理は終了する。従って、主被写体又は追尾モードが変化した場合と、現フレームが最初のフレームである場合の2つの場合に、辞書の優先度を決定する処理が行われ、それ以外の場合には、以前に決定された辞書の優先度が維持される。
【0042】
S401では、辞書優先度決定部211が、前フレームに主被写体が存在するか否か(即ち、前フレームに関するS311の処理により主被写体が判定されたか否か)を、演算装置102内のRAMに保存されている情報を参照して判定する。前フレームに主被写体が存在する場合、処理ステップはS402に進む。前フレームに主被写体が存在しない場合、処理ステップはS407に進む。例えば、前フレームに関するS310の処理により被写体が1つも検出されなかった場合には、S311の処理により主被写体が判定されないので、前フレームに主被写体は存在しない。
【0043】
S402では、辞書優先度決定部211が、前フレームで検出された主被写体の種類に対応する辞書の優先度を「高」に設定する。本実施形態では、辞書の優先度は、「高」、「中」、及び「低」の3段階に設定されるものとする。しかしながら、優先度の設定方法は、辞書の数や検出器213の処理能力(1フレーム期間内に実行可能な検出処理の回数)などに応じて適宜変更可能である。
【0044】
S403では、辞書優先度決定部211が、主被写体に対応する局所辞書が存在するか否かを判定する。被写体の種類によっては、検出領域(検出対象の特定の領域)として、基本領域(一次領域)、基本領域とは異なる局所領域(二次領域)とが定義されている。具体的には、例えば下記のような関係により、基本領域と局所領域とが定義される。
【0045】
(人の場合) 基本領域:顔 局所領域:瞳
(犬の場合) 基本領域:顔 局所領域:瞳
上記の例のように、局所領域は多くの場合、基本領域の内部の領域であるが、これに限定されない。例えば基本領域として顔が定義されている「人」について局所領域として胴体を定義することも可能である。従って、局所領域は、被写体の全体との対比においては「局所」の領域であるが、基本領域との対比においては必ずしも「局所」とは限らない。
【0046】
以下の説明において、被写体の基本領域を検出するための辞書と被写体の局所領域(二次領域)を検出するための辞書とを総称して単に「辞書」と呼ぶ場合がある。また、必要に応じて、被写体の基本領域を検出するための辞書を「基本辞書」又は「一次辞書」と呼び、被写体の局所領域(二次領域)を検出するための辞書を「局所辞書」又は「二次辞書」と呼ぶ場合がある。
【0047】
本実施形態では、辞書に基づく局所領域の検出は、撮影画像全体から行うのではなく、検出された被写体の基本領域及びその近傍を含む部分を元の撮影画像から切り出した画像を、検出器213に入力することにより行う。つまり対象の被写体の種類が人(厳密には、人の顔)であれば、人の顔が検出されて初めて、局所領域である瞳の検出処理が行われる。主被写体に対応する局所辞書が存在する場合、処理ステップはS404に進み、主被写体に対応する局所辞書が存在しない場合、処理ステップはS405に進む。
【0048】
S404では、辞書優先度決定部211が、主被写体に対応する局所辞書の優先度を「高」に設定する。
【0049】
S405では、辞書優先度決定部211が、追尾モードが「追尾優先」に設定されているか否かを判定する。追尾モードが「追尾優先」に設定されている場合、処理ステップはS406に進み、追尾モードが「標準」に設定されている場合、処理ステップはS407に進む。
【0050】
ここで、追尾モードについて説明する。制御部201は、操作部106に含まれる追尾ボタンがユーザにより押下されているか否かに応じて、追尾モードを「標準」(第1のモード)又は「追尾優先」(第2のモード)に設定する。追尾ボタンは、ユーザが、主被写体を追尾する意思を示すユーザ入力(追尾指示)をカメラ100に入力するためのボタンである。制御部201は、追尾指示の受信前(例えば、カメラ100の起動時)に、追尾モードを「標準」に設定する。ユーザが追尾ボタンを押下すると、制御部201は追尾指示を受信する。追尾指示の受信に応じて、制御部201は、追尾モードを「追尾優先」に設定する。ユーザが追尾ボタンを放すと、追尾指示の受信が停止し、制御部201は、追尾モードを「標準」に設定する。
【0051】
なお、カメラ100に追尾指示を入力するための構成は、必ずしもボタンである必要はない。例えば、ユーザが表示部105のタッチパネルディスプレイ上を触ることで追尾指示が入力される構成を採用してもよい。或いは、ファインダー(不図示)を覗いているユーザの眼球の状態の応じて追尾指示が入力される構成(例えば、ユーザの視線が主被写体に向いている場合に追尾指示が入力される構成)を採用してもよい。
【0052】
S406では、辞書優先度決定部211が、他の全ての辞書(優先度がまだ設定されていない基本辞書及び局所辞書)の優先度を「低」に設定する。なお、ここでいう「優先度がまだ設定されていない」とは、現フレームに関するS308の処理において優先度がまだ設定されていないことを意味する。以前のフレームにおいて設定された優先度を持つ辞書であっても、現フレームにおいて設定された優先度を持たなければ、優先度がまだ設定されていない辞書に該当する。この点は、後述するS407においても同様である。
【0053】
S407では、辞書優先度決定部211が、優先度がまだ設定されていない辞書が存在するか否かを判定する。優先度がまだ設定されていない辞書が存在する場合、処理ステップはS408へ進む。優先度がまだ設定されていない辞書が存在しない場合、本フローチャートの処理は終了する。
【0054】
S408では、辞書優先度決定部211が、優先度がまだ設定されていない辞書のうち、局所辞書の優先度を「低」に設定し、基本辞書の優先度を「中」に設定する。
【0055】
次に、
図5を参照して、
図3のS309において辞書の制御スケジュールを決定する処理の詳細について説明する。
【0056】
S500において、辞書切替制御部212は、S308の処理により辞書の優先度設定が変更されたか否かを判定する。辞書の優先度設定が変更された場合、処理ステップはS501に進み、辞書の優先度設定が変更されていない場合、本フローチャートの処理は終了する。従って、辞書の優先度を決定する処理(S308)と同様に、主被写体又は追尾モードが変化した場合と、現フレームが最初のフレームである場合の2つの場合に、辞書の制御スケジュールを決定する処理が行われる。それ以外の場合には、以前に決定された辞書の制御スケジュールが維持される。
【0057】
S502において、辞書切替制御部212は、優先度が「高」の辞書の検出周期を1[frame/検出]に設定する。検出周期とは、1回の検出結果を何フレーム毎に取得するかを表すパラメータ[frame/検出]である。但し、検出周期は1回の検出当りのフレーム数[frame/検出]に限定されず、例えば1回の検出当りの時間[ms/検出]として規定されてもよい。
【0058】
S503では、辞書切替制御部212は、残りの辞書、即ち優先度が「中」又は「低」の辞書の検出周期を設定する。S503における検出周期の具体的な設定例については、
図6~
図9を参照して後述する。
【0059】
S504では、辞書切替制御部212は、各辞書の検出周期と、検出器213が1フレーム期間内に実行可能な検出処理の回数とに基づいて、辞書の制御スケジュールを決定する。辞書の制御スケジュールの具体的な決定例については、
図6~
図9を参照して後述する。
【0060】
なお、
図4及び
図5に示す例によれば、主被写体の有無、主被写体の種類、及び追尾モードに応じて各辞書の優先度及び検出周期が設定され、各辞書の検出周期に基づいて辞書の制御スケジュールが決定される。しかしながら、辞書の制御スケジュールを決定する方法は、
図4及び
図5に示す例に限定されない。例えば、主被写体の有無、主被写体の種類、及び追尾モードと、辞書の制御スケジュールとを対応付けるテーブルを予め演算装置102内のROMに格納していてもよい。この場合、辞書切替制御部212は、主被写体の有無、主被写体の種類、及び追尾モードに基づいてテーブルから対応する制御スケジュールを取得することができる。
【0061】
次に、
図6及び
図7を参照して、局所辞書が存在しない場合における、辞書の検出周期及び制御スケジュールの例について説明する。
【0062】
図6(a)は、辞書の種類及び検出器の処理制約を示す図である。カメラ100は、人、犬、鳥、4輪、2輪にそれぞれ対応する5種類の辞書を使用する。また、カメラ100が備える検出器213は1個の論理回路ブロックを含み、1フレーム当りの検出処理の実行可能回数は3回である。4輪とは、4輪タイプのラリーカーなどのレース用車両や4輪タイプの乗用車のことを指し、2輪とは、2輪タイプのモーターバイクや自転車のことを指すものとする。
図4及び
図5の処理では、
図6(a)の条件に基づいて、各辞書の優先度、検出周期、及び制御スケジュールが決定される。
【0063】
図6(b)は、追尾モードが「標準」の場合における各辞書の検出周期を示し、
図6(c)は、追尾モードが「追尾優先」の場合における各辞書の検出周期を示す。
図6(b)及び
図6(c)において、「0」は、対応する辞書が使用されないことを示す。
図6(b)及び
図6(c)に示すように、主被写体が検出されていない場合には、追尾モードに関わらず全ての辞書の検出周期が2[frame/検出]に設定される。一方、何らかの主被写体が検出されており、且つ追尾モードが「標準」の場合、
図6(b)に示すように、主被写体の種類に対応する辞書の検出周期は1[frame/検出]に設定され、その他の辞書の検出周期は2[frame/検出]に設定される。また、何らかの主被写体が検出されており、且つ追尾モードが「追尾優先」の場合、
図6(c)に示すように、主被写体の種類に対応する辞書の検出周期は1[frame/検出]に設定され、その他の辞書の検出周期は0[frame/検出]に設定される。即ち、この場合、主被写体の種類に対応する辞書以外の辞書は使用されない。
【0064】
図7は、辞書の制御スケジュール、及びその変化の例を示す図である。
図7の例は、連続したフレームの途中で犬703が検出される場合を想定している。
図7において、符号701は、各フレームに対してスケジューリングされている辞書(即ち、各フレームにおいて検出器213に入力され使用される辞書)を示す。符号702は、検出器213に入力される撮影画像を示す。
【0065】
図7において、最初のフレームのタイミングでは、主被写体が検出されていない。そのため、全ての辞書の検出周期が2[frame/検出]に設定される。その結果、2フレームを単位として、最初のフレームで「人」、「犬」、及び「鳥」に対応する辞書が使用され、次のフレームで「4輪」及び「2輪」に対応する辞書が使用されるように制御スケジュールが決定される。
【0066】
1~4フレーム目においては主被写体が検出されていない。4フレーム目で犬703が撮影画像内に出現しているが、犬に対応する辞書が使用されていないので、犬703は被写体として検出されない。そのため、4フレーム目の次のフレームを含む1~5フレーム目においては、最初に決定された制御スケジュールに従って、各フレームで使用される辞書が選択されている。
【0067】
5フレーム目において、検出器213が犬に対応する辞書を用いて被写体検出を行った結果、犬704の顔が被写体として検出される。検出された被写体は犬704だけなので、犬704が主被写体として判定される。この時点では、追尾モードは「標準」であるものとする。そのため、5フレーム目の次のフレーム(6フレーム目)において、「犬」に対応する辞書の検出周期が1[frame/検出]に設定され、それ以外の辞書(人、鳥、4輪、2輪)の検出周期が2[frame/検出]に設定される。その結果、2フレームを単位として、最初のフレームで「犬」、「人」、及び「鳥」に対応する辞書が使用され、次のフレームで「犬」、「4輪」、及び「2輪」に対応する辞書が使用されるように制御スケジュールが決定される。
【0068】
6~9フレーム目の間は、主被写体及び追尾モードに変化はない。そのため、6~9フレーム目においては、6フレーム目に決定された制御スケジュールに従って、各フレームで使用される辞書が選択されている。主被写体として犬704が検出された結果、検出前と比べて犬に対応する辞書の使用頻度(選択頻度)が上がるので、主被写体を高精度で検出すること(即ち、主被写体を高精度で追尾すること)が可能になる。また、犬に対応する辞書以外の辞書も依然として使用されるので、犬以外の被写体が撮影画像内に出現した場合には犬以外の被写体も検出可能であり、状況によっては主被写体が犬以外の種類の被写体に切り替わる場合もある。
【0069】
10フレーム目において追尾モードが「追尾優先」に変更されたものとする。この場合、「犬」に対応する辞書の検出周期が1[frame/検出]に設定され、それ以外の辞書(人、鳥、4輪、2輪)の検出周期が0[frame/検出]に設定される。即ち、犬に対応する辞書以外の辞書は使用されないように検出周期が設定される。その結果、その結果、1フレームを単位として(即ち、全てのフレームにおいて)、「犬」に対応する辞書のみが使用されるように制御スケジュールが決定される。
【0070】
このように、追尾モードが「追尾優先」の場合、「通常」の場合と比べて、主被写体の種類に対応する辞書以外の辞書の使用頻度(選択頻度)が下がる。そのため、他の種類の被写体が誤って検出される可能性や、主被写体が誤検出された被写体に切り替わる可能性が低下する。
【0071】
なお、
図6及び
図7の例では、主被写体の種類に対応する辞書以外の辞書の使用頻度(選択頻度)が0に下がっている。即ち、主被写体の種類に対応する辞書以外の辞書が、辞書切替制御部212による辞書の選択候補から除外されている。しかしながら、本実施形態における辞書の使用頻度(選択頻度)の制御は、
図6及び
図7に示す例に限定されない。例えば、検出された主被写体が犬であり、追尾モードが「追尾優先」である場合に、犬に対応する辞書以外の辞書の検出周期を4[frame/検出]に設定する構成を採用してもよい。この場合であっても、主被写体の種類に対応する辞書以外の辞書の使用頻度(選択頻度)が下がっているので、他の種類の被写体が誤って検出される可能性や、主被写体が誤検出された被写体に切り替わる可能性が低下するという効果が得られる。
【0072】
また、
図7の例では、主被写体が検出されており、且つ追尾モードが「追尾優先」の場合、使用される辞書の数(辞書切替制御部212による選択候補に含まれる辞書の数)が、検出器213が1フレーム期間内に実行可能な検出処理の回数よりも小さい。この場合、制御部201は、入力画像のフレームレート(撮像のフレームレート)を上げるように制御することにより、追尾性能を向上させてもよい。或いは、入力画像のフレームレートは変えず、例えば領域推定のような被写体検出以外の用途の辞書を追加的に使用することで、追尾性能を向上させる構成を採用してもよい。
【0073】
次に、
図8及び
図9を参照して、局所辞書が存在する場合における、辞書の検出周期及び制御スケジュールの例について説明する。
【0074】
図8(a)は、辞書の種類及び検出器の処理制約を示す図である。
図6(a)の例と異なり、人、犬、及び鳥については、局所辞書が存在する。即ち、
図6(a)の例では、人に対応する局所辞書が人に対応する基本辞書に関連付けられており、犬及び鳥に関しても同様の関連付けが存在する。
図4及び
図5の処理では、
図8(a)の条件に基づいて、各辞書の優先度、検出周期、及び制御スケジュールが決定される。
【0075】
図8(b)は、追尾モードが「標準」の場合における各辞書の検出周期を示し、
図8(c)は、追尾モードが「追尾優先」の場合における各辞書の検出周期を示す。
図8(b)及び
図8(c)において、「0」は、対応する辞書が使用されないことを示す。
図8(b)及び
図8(c)に示すように、主被写体が検出されていない場合には、追尾モードに関わらず全ての基本辞書の検出周期が2[frame/検出]に設定され、全ての局所辞書の検出周期が0[frame/検出]に設定される。
【0076】
一方、局所辞書を持つ主被写体が検出されており、且つ追尾モードが「標準」の場合、
図8(b)に示すように、主被写体の種類に対応する基本辞書及び局所辞書の検出周期は1[frame/検出]に設定され、その他の基本辞書の検出周期は4[frame/検出]に設定され、その他の局所辞書の検出周期は0[frame/検出]に設定される。また、局所辞書を持たない主被写体が検出されており、且つ追尾モードが「標準」の場合については、基本辞書の検出周期は
図6(b)の場合と同様に設定され、全ての局所辞書の検出周期は0[frame/検出]に設定される。
【0077】
局所辞書を持つ主被写体が検出されており、且つ追尾モードが「追尾優先」の場合、
図8(c)に示すように、主被写体の種類に対応する基本辞書及び局所辞書の検出周期は1[frame/検出]に設定され、その他の基本辞書及び局所辞書の検出周期は0[frame/検出]に設定される。即ち、この場合、主被写体の種類に対応する辞書以外の辞書は使用されない。
【0078】
図9は、辞書の制御スケジュール、及びその変化の例を示す図である。
図9において、符号901は、各フレームに対してスケジューリングされている辞書(即ち、各フレームにおいて検出器213に入力され使用される辞書)を示す。符号902は、検出器213に入力される撮影画像を示す。
【0079】
図7の例と同様に、5フレーム目において犬904が検出され、6フレーム目において辞書の制御スケジュールが変更されている。但し、
図7と異なり、
図9の例では犬に対応する局所辞書の検出周期も1[frame/検出]に設定されているため、6フレーム目以降においては犬に対応する局所辞書も毎フレーム使用されており、犬の顔に加えて、符号905で示す犬の瞳も検出される。
【0080】
10フレーム目において追尾モードが「追尾優先」に変更されたものとする。この場合、犬の基本辞書及び局所辞書以外の辞書は全て優先度が「低」に設定される。そのため、以降のフレームでは、犬の基本辞書及び局所辞書のみが検出器213に入力され使用される。
【0081】
このように、局所辞書が存在する場合にも、局所辞書が存在しない
図6及び
図7の例と同様に、追尾モードが「追尾優先」の場合、「通常」の場合と比べて、主被写体の種類に対応する辞書以外の基本辞書の使用頻度(選択頻度)が下がる。そのため、他の種類の被写体が誤って検出される可能性や、主被写体が誤検出された被写体に切り替わる可能性が低下する。
【0082】
以上説明したように、第1の実施形態によれば、カメラ100は、撮像により得られる複数の画像それぞれについて、複数の辞書のうちの一部である1以上の辞書を用いて被写体検出処理を行う。複数の辞書それぞれは、異なる種類の被写体を検出するためのものである。また、カメラ100は、追尾モードを設定する。カメラ100は、被写体検出処理に用いられる1以上の辞書を選択する。この選択に関して、カメラ100は、以前の画像において検出された被写体の種類に対応する辞書(第1の辞書)とは異なる辞書(第2の辞書)を、追尾モードに応じた頻度で選択する。
【0083】
このように、本実施形態によれば、追尾モードの設定を通じて、検出された被写体の種類に対応する辞書とは異なる辞書の使用頻度を変更可能である。従って、検出された被写体の追尾性能と他の被写体の検出性能とのバランスを調整することが可能になる。
【0084】
[第2の実施形態]
第1の実施形態では、優先度が「高」に設定された辞書の数が、検出器213が1フレーム期間内に実行可能な被写体検出処理の回数よりも少ない場合を例に挙げて説明を行った。即ち、第1の実施形態では、どのフレームにおいても、優先度が「高」に設定された全ての辞書を用いて被写体検出処理を行うことができ、且つ優先度が「中」に設定された辞書を少なくとも1つ用いて被写体検出処理を行うことができた。
【0085】
第2の実施形態では、より制約が厳しい状況における辞書切替制御の構成を説明する。第2の実施形態において、カメラ100の基本的な構成及び動作は、第1の実施形態と同様である。以下、主に第1の実施形態と異なる点について説明する。
【0086】
第2の実施形態では、
図3のS309において、
図5の代わりに
図10の処理が実行される。
図10は、第2の実施形態に係る、
図3のS309において辞書の制御スケジュールを決定する処理の詳細を示すフローチャートである。
【0087】
S1000において、辞書切替制御部212は、S308の処理により辞書の優先度設定が変更されたか否かを判定する。辞書の優先度設定が変更された場合、処理ステップはS1002に進み、辞書の優先度設定が変更されていない場合、本フローチャートの処理は終了する。従って、辞書の優先度を決定する処理(S308)と同様に、主被写体又は追尾モードが変化した場合と、現フレームが最初のフレームである場合の2つの場合に、辞書の制御スケジュールを決定する処理が行われる。それ以外の場合には、以前に決定された辞書の制御スケジュールが維持される。
【0088】
S1002において、辞書切替制御部212は、優先度が「中」の辞書が存在するか否かを判定する。優先度が「中」の辞書が存在する場合、処理ステップはS1003に進み、優先度が「中」の辞書が存在しない場合、処理ステップはS1004に進む。
【0089】
S1003において、辞書切替制御部212は、下記の式に従い、優先度が「高」の辞書の数と検出器213の1フレーム当りの検出可能回数とを用いて、優先度が「高」の辞書の検出周期を設定する。
【0090】
検出周期=((優先度「高」の辞書の数)÷(1フレーム当りの検出可能回数))+1
但し、上記の式において、除算により生じた小数は切り捨てるものとする。例えば、優先度「高」の辞書の数が2、1フレーム当りの検出可能回数も2の場合、検出周期は2÷2+1=2に設定される。また、優先度「高」の辞書の数が3、1フレーム当りの検出可能回数が2の場合も同様に、検出周期は3÷2+1=2(小数切り捨て)に設定される。
【0091】
S1004において、辞書切替制御部212は、下記の式に従い、優先度が「高」の辞書の数と検出器213の1フレーム当りの検出可能回数とを用いて、優先度が「高」の辞書の検出周期を設定する。
【0092】
検出周期=(優先度“高”の辞書の数)÷(1フレーム当りの検出可能回数)
但し、上記の式では、S1003の場合と異なり、除算により生じた小数は切り上げるものとする。
【0093】
図11は、
図10のS1003及びS1004の計算結果を整理して示す図である。
図11(a)は、検出器の1フレーム当りの検出処理の実行可能回数(検出器の1フレーム当りの検出可能回数)を示す。
図11(b)は、優先度「高」の辞書の数と優先度「中」の辞書の数との組合せによって定まる優先度「高」の辞書の検出周期を示す。
【0094】
S1005では、辞書切替制御部212は、残りの辞書、即ち優先度が「中」又は「低」の辞書の検出周期を設定する。S1005における検出周期の具体的な設定例については、
図12~
図14を参照して後述する。
【0095】
S1006では、辞書切替制御部212は、各辞書の検出周期と、検出器213が1フレーム期間内に実行可能な検出処理の回数とに基づいて、辞書の制御スケジュールを決定する。辞書の制御スケジュールの具体的な決定例については、
図12~
図14を参照して後述する。
【0096】
次に、
図12~
図14を参照して、第2の実施形態に係る辞書の検出周期及び制御スケジュールに関する2つの具体例について説明する。
【0097】
図12(a)は、辞書の種類と検出器の処理制約を示す図である。
図12(b)は、追尾モードが「標準」の場合について、
図10で説明した各辞書の検出周期について示す図である。
図12(c)は、追尾モードが「追尾優先」の場合について、
図10で説明した各辞書の検出周期について示す図である。
【0098】
ここで、
図13を参照して、主被写体として犬が検出されるシナリオにおける辞書の制御スケジュールを示す。
図13において、符号1301は、各フレームに対してスケジューリングされている辞書(即ち、各フレームにおいて検出器213に入力され使用される辞書)を示す。符号1302は、検出器213に入力される撮影画像を示す。
【0099】
3フレーム目で犬1303が出現し、4フレーム目で犬1304が検出される。その結果、5フレーム目から辞書の制御スケジュールが変更されている。5フレーム目からは、犬の基本辞書(顔)及び局所辞書(瞳)の2つの辞書の優先度が「高」に設定され、犬以外の辞書の優先度は「中」に設定される。1フレーム当りの検出可能回数は2回であることを踏まえ、
図10のS1003より、犬の基本辞書及び局所辞書の検出周期は2÷2+1=2[frame/検出]と決まる。これにより、
図13の5~9フレーム目に示すように、犬以外の被写体に関する辞書も1フレームおきに検出器213で利用可能となる。
【0100】
この例では、検出器213は1フレーム期間内に2つの辞書を用いて被写体検出処理を行う処理能力を持つ。そして、主被写体が検出され、追尾モードが「標準」である状況において、優先度「高」の辞書の数は、検出器213が1フレーム期間内に使用可能な辞書の数と等しい。この状況において、辞書切替制御部212は、優先度「高」の辞書を全て選択することと、優先度「高」の辞書以外の辞書を選択することを、フレーム毎(画像毎)に交互に繰り返している。
【0101】
なお、優先度「高」の辞書は必ずしも同一フレームで使用する必要はなく、例えば、5フレーム目で犬及び人の基本辞書を使用し、6フレーム目で犬の局所辞書及び鳥の基本辞書を使用するというような制御スケジュールを採用してもよい。
【0102】
10フレーム目で追尾モードが「追尾優先」に設定されたものとする。この時、犬の基本辞書及び局所辞書以外の辞書は、優先度が「低」に設定される。その結果、
図10のS1004により、犬の基本辞書及び局所辞書の検出周期は2÷2=1[frame/検出]と決まる。よって、以降のフレームでは犬の基本辞書及び局所辞書のみが検出器213に入力される。
【0103】
次いで、
図14を用いて、主被写体として人が検出されるシナリオにおける辞書の制御スケジュールを示す。
図14において、符号1401は、各フレームに対してスケジューリングされている辞書(即ち、各フレームにおいて検出器213に入力され使用される辞書)を示す。符号1402は、検出器213に入力される撮影画像を示す。
【0104】
3フレーム目で人1403が出現して検出される。その結果、4フレーム目から辞書の制御スケジュールが変更されている。4フレーム目からは、人の基本辞書(顔)及局所辞書(瞳及び胴体)の3つの辞書の優先度が「高」に設定され、人以外の辞書の優先度は「中」に設定される。従って、
図10のS1003より、人の基本辞書及び局所辞書の検出周期は3÷2+1=2[frame/検出](小数切り捨て)と決まる。これにより、
図14の5~9フレーム目に示す通り、優先度「中」の辞書も検出器213で使用することが可能となっている。
【0105】
この例では、検出器213は1フレーム期間内に2つの辞書を用いて被写体検出処理を行う処理能力を持つ。そして、主被写体が検出され、追尾モードが「標準」である状況において、優先度「高」の辞書の数は、検出器213が1フレーム期間内に使用可能な辞書の数のN倍(Nは自然数)と異なっている。この状況において、辞書切替制御部212は、フレーム毎(画像毎)に優先度「高」の辞書のうちの少なくとも1つを含むように、検出器213で用いる辞書の選択を行っている。
【0106】
10フレーム目で追尾モードが「追尾優先」に設定されたものとする。この時、人の基本辞書及び局所辞書以外の辞書は、優先度が「低」に設定される。その結果、
図10のS1004により、人の基本辞書及び局所辞書の検出周期は3÷2=2[frame/検出](小数切り上げ)と決まる。よって、以降のフレームでは人の基本辞書及び人の局所辞書のみが検出器213に入力される。
【0107】
なお、
図14では説明のため、フレーム毎に主被写体を決める制御としたが、追尾演算部203で使用する主被写体は必ずしもフレーム毎に切り替える必要はない。例えば、一度瞳を検出できたら、所定のフレーム数が経過するまで瞳以外の検出結果を使用せず、追尾演算部203による追尾処理によって主被写体領域を決める構成などを採用してもよい。
【0108】
以上説明したように、第2の実施形態によれば、検出器213が1フレーム期間内に所定数(
図11~
図14の例では2)の辞書を用いて被写体検出処理を行う処理能力を持つ。この状況において、優先度「高」の2以上の辞書の数が、検出器213が1フレーム期間内に使用可能な辞書の数(所定数)以上の場合であっても、優先度「中」の辞書を用いる被写体検出処理を実行することが可能になる。
【0109】
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0110】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0111】
100…カメラ、102…演算装置、104…撮像素子、201…制御部、202…主被写体演算部、211…辞書優先度決定部、212…辞書切替制御部、213…検出器、214…主被写体判定部