(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-15
(45)【発行日】2024-11-25
(54)【発明の名称】画像処理装置およびその制御方法、撮像装置、プログラム
(51)【国際特許分類】
G06T 7/174 20170101AFI20241118BHJP
H04N 23/60 20230101ALI20241118BHJP
G06T 7/00 20170101ALI20241118BHJP
【FI】
G06T7/174
H04N23/60 100
G06T7/00 660B
(21)【出願番号】P 2022007909
(22)【出願日】2022-01-21
【審査請求日】2023-09-21
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】緑川 慶祐
(72)【発明者】
【氏名】岩本 保彦
【審査官】秦野 孝一郎
(56)【参考文献】
【文献】特開2021-164006(JP,A)
【文献】特開2021-144749(JP,A)
【文献】特開2016-001447(JP,A)
【文献】特開2020-095702(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
H04N 23/00
H04N 23/40-23/76
(57)【特許請求の範囲】
【請求項1】
第1の画像および第2の画像それぞれから被写体の複数の部位を検出し、検出結果を出力する検出手段と、
前記検出手段により検出された部位の検出の信頼度を決定する決定手段と、
前記第1の画像から検出された検出結果に対応する前記第2の画像から検出された検出結果を探索する探索手段と、
前記探索手段により分類されない検出結果を新規被写体の検出結果として登録する登録手段と、を備え、
前記探索手段は、前記検出手段による部位の検出結果の中から前記信頼度が閾値より大きい検出結果を用いて、前記第1の画像と前記第2の画像とで異なる部位の検出結果を探索する異部位探索と、前記第1の画像と前記第2の画像とで同じ部位の検出結果を探索する同部位探索を行い、
前記異部位探索よりも前記同部位探索を優先して行う
ことを特徴とする画像処理装置。
【請求項2】
前記検出手段は、前記画像から被写体の第1の部位を検出する第1の検出と、前記画像から被写体の第2の部位を検出する第2の検出を行い、
前記第1の検出による検出結果の重要度が前記第2の検出による検出結果の重要度より高い場合、前記探索手段は、前記第1の検出による検出結果を用いた探索を優先する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記検出手段は、前記第1の検出にて被写体の顔領域を検出し、前記第2の検出にて被写体の胴領域を検出するか、または、前記第1の検出にて被写体の全身領域を検出し、前記第2の検出にて被写体の目領域を検出する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記探索手段は、サイズが小さい部位の検出結果よりもサイズが大きい部位の検出結果を用いた探索を優先する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項5】
前記探索手段は、前記第1の部位が前記第2の部位を含む場合、前記第1の部位の検出結果を用いた探索を優先する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項6】
取得した画像に対して被写体ごとのラベルマップを取得するラベリング処理手段と、
前記ラベルマップを用いて前記第1の検出による検出領域と前記第2の検出による検出領域との紐づけを行う紐づけ処理手段と、を備える
ことを特徴とする請求項2に記載の画像処理装置。
【請求項7】
前記探索手段は、前記第2の画像から得られた複数の検出結果のうち、あらかじめ定められた条件を満たし、前記紐づけ処理手段により紐づけられた検出結果がある場合、前記複数の検出結果を被写体ごとに分類する処理を行う
ことを特徴とする請求項6に記載の画像処理装置。
【請求項8】
前記探索手段は、前記第1の画像にて複数の被写体に分類された検出結果がある場合、前記第2の画像にて複数の被写体ごとに探索処理を行う
ことを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
【請求項9】
複数の被写体に対して、被写体の優先度を算出する算出手段をさらに備え、
前記探索手段は、前記優先度が高い被写体を優先して探索処理を行う
ことを特徴とする請求項1乃至8のいずれか1項に記載の画像処理装置。
【請求項10】
前記探索手段
は、前記同部位探索を行い、該同部位探索にて同じ部位が検出された場合前記異部位探索を行わず、該同部位探索にて同じ部位が検出されなかった場合に前記異部位探索を行うことで前記異部位探索よりも前記同部位探索を優先する
ことを特徴とする請求項1乃至9のいずれか1項に記載の画像処理装置。
【請求項11】
前記探索手段は、前記第2の画像から得られた検出結果の内、第1の被写体に分類した検出結果を、第2の被写体の探索処理に用いない
ことを特徴とする請求項1乃至10のいずれか1項に記載の画像処理装置。
【請求項12】
前記探索手段は、前記第1および第2の検出による検出結果を用いて取得された部位ベクトルを用いて前記異部位探索を行う
ことを特徴とする請求項2に記載の画像処理装置。
【請求項13】
前記部位ベクトルを記録する記録手段を備え、
前記第1の画像から得られた前記第1および第2の検出による検出結果が着目被写体の検出結果に分類された場合、前記探索手段は、前記部位ベクトルを用いて前記第2の画像における前記異部位探索の探索範囲を算出する
ことを特徴とする請求項12に記載の画像処理装置。
【請求項14】
前記部位ベクトルがあらかじめ定められた期間に更新されない場合、当該部位ベクトルを前記記録手段から削除する削除手段を備える
ことを特徴とする請求項13に記載の画像処理装置。
【請求項15】
前記画像が取得される際の撮像手段の位置または姿勢の変化を示す情報を取得し、前記探索手段が前記第1の画像にて着目被写体に分類しなかった検出結果、および取得された前記情報を用いて算出される禁止領域を記録する記録手段をさらに備え、
前記探索手段は、着目被写体の探索処理において、前記第2の画像から得られた検出結果の内、前記禁止領域に属する検出結果を用いない
ことを特徴とする請求項1乃至12のいずれか1項に記載の画像処理装置。
【請求項16】
前記第1および第2の画像と前記情報により画像内の動きベクトルを算出する動きベクトル算出手段と、
前記禁止領域に対応する前記動きベクトルが存在する場合、前記禁止領域を前記記録手段から削除する削除手段と、を備える
ことを特徴とする請求項15に記載の画像処理装置。
【請求項17】
前記取得手段は前記画像に関連する距離情報を取得し、
前記削除手段は、前記禁止領域に対応する前記距離情報の変化が閾値より大きい場合、前記禁止領域を前記記録手段から削除する
ことを特徴とする請求項16に記載の画像処理装置。
【請求項18】
前記削除手段は、前記第2の画像にて前記禁止領域に属する検出結果が得られない場合、前記禁止領域を前記記録手段から削除する
ことを特徴とする請求項16に記載の画像処理装置。
【請求項19】
前記第1の画像における、第1の部位の検出結果に応じて、
前記第1の画像もしくはそれ以降の画像における、第2の部位に関する前記閾値を調整する
ことを特徴とする請求項1乃至18のいずれか1項に記載の画像処理装置。
【請求項20】
前記第1の画像において、第1の部位の検出結果が存在する場合に
第1の部位の検出結果に基づき領域を決定する領域決定手段を有し、
前記第1の画像もしくはそれ以降の画像における、第2の部位の検出結果が、
前記領域決定手段が決定した領域に存在する場合に限り、
第2の部位に関する前記閾値の調整を実施する
ことを特徴とする請求項19に記載の画像処理装置。
【請求項21】
前記領域決定手段は、前記ラベルマップを用いて領域決定を行う
ことを特徴とする請求項20に記載の画像処理装置。
【請求項22】
前記領域決定手段は、部位ベクトルを用いて領域決定を行う
ことを特徴とする請求項20または21に記載の画像処理装置。
【請求項23】
請求項1乃至22のいずれか1項に記載の画像処理装置を備える
ことを特徴とする撮像装置。
【請求項24】
撮像された画像を取得して処理する画像処理装置にて実行される制御方法であって、
前記画像から被写体の複数の部位を検出する検出工程と、
過去に取得された第1の画像から得られた検出結果を用いて、現在の第2の画像から得られる検出結果を探索し、条件を満たす検出結果を被写体ごとに分類する探索工程と、
前記探索工程にて分類されない検出結果を新規被写体の検出結果として登録する登録工程と、を有し、
前記探索工程では、前記第1の画像と前記第2の画像とで異なる部位の検出結果を用いた異部位探索と、前記第1の画像と前記第2の画像とで同じ部位の検出結果を用いた同部位探索が行われる場合、前記異部位探索よりも前記同部位探索が優先して行われる
ことを特徴とする画像処理装置の制御方法。
【請求項25】
請求項24に記載の各工程を画像処理装置のコンピュータに実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置に関し、特に被写体の部位の検出に関する。
【背景技術】
【0002】
撮像装置における被写体の検出処理では、時系列で連続して取得される画像の各々に対して、顔等の部位に対応する領域が検出される。過去に取得された画像の検出結果を起点に所定範囲を探索範囲として設定し、現在の画像の検出結果を求める探索処理が行われる。探索処理にて同一被写体は連続する画像内で近い位置に存在していることに基づき、探索条件を満たす検出結果同士は、同一被写体の検出結果として結び付けられる。特許文献1では、同一被写体として結び付けられる複数フレームの検出結果を組み合わせて判定することで誤検出を抑制する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-41414号公報
【文献】特開2016-156934号公報
【非特許文献】
【0004】
【文献】S.Haykin,“Neural Networks A Comprehensive Foundation 2nd Edition”,Prentice Hall,pp.156-255,July 1998
【文献】Alejandro Newell,Zhiao Huang,Jia Deng.Associative Embedding:End-to-End Learning for Joint Detection and Grouping.Neural Information Processing Systems,2017
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、体操競技等のように被写体が激しく動作し、特定部位にオクルージョンが多発する撮影場面を想定する。この場合、被写体の顔だけでなく胴体等の異なる部位を検出する手段を新たに備えることで、被写体の検出率を向上させることが可能となる。
【0006】
従来の技術では、複数の検出手段を備える実施形態において所定の精度条件を満たす探索処理を行うことが難しい。複数の部位を被写体ごとに分類する場合、第1の被写体に本来分類されるべき部位の検出結果が誤って第2の被写体の部位に分類されると、被写体の検出精度が低下する可能性がある。本発明は、複数の部位の検出結果を被写体ごとに、より高精度に分類することが可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一実施形態の画像処理装置は、第1の画像および第2の画像それぞれから被写体の複数の部位を検出し、検出結果を出力する検出手段と、前記検出手段により検出された部位の検出の信頼度を決定する決定手段と、前記第1の画像から検出された検出結果に対応する前記第2の画像から検出された検出結果を探索する探索手段と、前記探索手段により分類されない検出結果を新規被写体の検出結果として登録する登録手段と、を備え、前記探索手段は、前記検出手段による部位の検出結果の中から前記信頼度が閾値より大きい検出結果を用いて、前記第1の画像と前記第2の画像とで異なる部位の検出結果を探索する異部位探索と、前記第1の画像と前記第2の画像とで同じ部位の検出結果を探索する同部位探索を行い、前記異部位探索よりも前記同部位探索を優先して行うことを特徴とする。
【発明の効果】
【0008】
本発明の画像処理装置によれば、複数の部位の検出結果を被写体ごとに、より高精度に分類することが可能である。
【図面の簡単な説明】
【0009】
【
図1】本実施形態における撮像装置の構成を示すブロック図である。
【
図2】本実施形態における全体処理のフローチャートである。
【
図3】本実施形態における全体処理例の模式図である。
【
図4】実施例1における探索処理のフローチャートである。
【
図5】
図4に後続する処理のフローチャートである。
【
図6】本実施形態における同部位探索処理のフローチャートである。
【
図7】本実施形態における異部位探索処理のフローチャートである。
【
図8】本実施形態における同部位探索例の模式図である。
【
図9】本実施形態における部位ベクトルを用いた異部位探索例の模式図である。
【
図10】本実施形態における部位ベクトルを用いない異部位探索例の模式図である。
【
図11】本実施形態における禁止領域更新処理のフローチャートである。
【
図12】本実施形態における禁止領域削除例の模式図である。
【
図13】本実施形態における新規被写体追加処理のフローチャートである。
【
図15】実施例2および実施例3における探索処理のフローチャートである。
【発明を実施するための形態】
【0010】
以下に本発明の実施形態について、図面を参照して詳細に説明する。実施形態では本発明の画像処理装置を適用した撮像装置の例を示す。撮像装置において画像内の被写体の部位の探索結果は、例えば自動焦点調節制御や被写体追尾制御に利用され、画面内の表示枠等でユーザに通知される。例えば過去に取得された画像の被写体の顔領域を起点にして、現在の画像の被写体の胴領域を探索する場合を想定する。顔と胴はもともと部位間にて画像が平面状であって両部位には距離があるので、探索範囲を工夫する必要がある。単純に探索範囲を広げたのでは、被写体の部位検出結果を誤って別の被写体の検出結果と結び付けてしまう可能性がある。以下では被写体の部位検出結果が誤って分類されることを抑制し、検出結果に対して被写体ごとに高精度な分類を行う処理について説明する。
【0011】
[実施例1]
図1を参照して、本実施形態における撮像装置の構成例について説明する。
図1は、撮像装置100の構成を示すブロック図である。撮像装置100は、被写体を撮影して記録媒体に記録することが可能なデジタルスチルカメラやビデオカメラ等である。動画像や静止画像のデータはテープや固体メモリ、光ディスク、磁気ディスク等に記録される。撮像装置100内の各ユニットは、バス260を介して接続されている。各ユニットは、CPU(中央演算処理装置)151により制御される。
【0012】
レンズユニット101は、固定1群レンズ102、ズームレンズ111、絞り103、固定3群レンズ121、および、フォーカスレンズ(焦点調節用レンズ)131を備える。絞り制御部105は、CPU151の指令に従い、絞りモータ(AM)104を介して絞り103を駆動することにより、絞り103の開口径を調整して撮影時の光量調節を行う。ズーム制御部113は、ズームモータ(ZM)112を介してズームレンズ111を駆動することにより、焦点距離を変更する。
【0013】
フォーカス制御部133は、レンズユニット101の焦点状態検出結果、つまり焦点合わせ方向のずれ量(デフォーカス量)に基づいてフォーカスモータ(FM)132の駆動量を決定する。フォーカス制御部133は決定した駆動量に基づいてフォーカスモータ132を介してフォーカスレンズ131を駆動することにより、焦点調節状態を制御する。フォーカス制御部133およびフォーカスモータ132によるフォーカスレンズ131の移動制御により、AF(オートフォーカス)制御が実現される。
図1にはフォーカスレンズ131を単レンズで簡略的に示しているが、通常複数のレンズで構成される。
【0014】
レンズユニット101を介して撮像素子141上に結像する被写体像(光学像)は、撮像素子141により電気信号に変換される。撮像素子141は、被写体像に対する光電変換を行う光電変換素子を備える。撮像素子141は、横方向にm画素、縦方向にn画素の受光素子が配置された構成であり。例えば複数のマイクロレンズと、各マイクロレンズに対応する2つの光電変換素子が受光領域に配置されている。撮像素子141で光電変換された画像信号は、撮像信号処理部142により所定の画像データとして整えられる。2つの光電変換素子の出力を加算することで、撮像面の画像データを取得することができる。また、2つの光電変換素子の出力から各々、視差を有する2つの画像(視差画像)を取得することができる。本実施形態では、2つの光電変換素子の出力を加算してA+B像信号が取得され、2つの光電変換素子の出力から各々A像信号とB像信号が取得されるものとする。
【0015】
モニタディスプレイ150は表示デバイスを備え、撮像画像の表示や、物体検出結果の矩形枠表示等を行う。撮像信号処理部142が出力する画像データは、撮像制御部143に送られ、一時的にRAM154(ランダム・アクセス・メモリ)に蓄積される。RAM154に蓄積された画像データは、画像圧縮解凍部153が圧縮した後、画像記録媒体157に記録される。これと並行して、RAM154に蓄積された画像データは、画像処理部152に送られる。
【0016】
操作スイッチ部156は、ユーザが操作するタッチパネルやボタン等を含む入力インターフェイス部である。ユーザはモニタディスプレイ150に表示される種々の機能アイコンの選択操作により、撮像装置100に対して所望の指示を行うことができる。
【0017】
CPU151は、操作スイッチ部156から入力されたユーザの操作指示、または、一時的にRAM154に蓄積された画像データに係る画素信号の大きさに基づき、撮像素子141の設定処理を行う。例えばCPU151は、撮像素子141の蓄積時間と、撮像素子141から撮像信号処理部142へ出力を行う際のゲインの設定値を決定する。撮像制御部143は、CPU151から蓄積時間、ゲインの設定値の指示を受け取り、撮像素子141を制御する。撮像光学系の制御に関してCPU151はフォーカス制御部133により特定の被写体領域に対するAF制御を行う。また、CPU151は絞り制御部105により特定の被写体領域の輝度値を用いた露出制御を行う。
【0018】
画像処理部152は画像データを取得し、例えば、画像データに対して最適なサイズへの縮小処理または拡大処理を行う。最適なサイズに処理された画像データは、モニタディスプレイ150に適宜送られて表示されることでプレビュー画像表示やスルー画像表示が行われる。また、部位検出部161の物体検出結果を、モニタディスプレイ150上の画像に重畳表示することもできる。また、RAM154をリングバッファとして用いることで、所定期間内に撮像された複数の画像のデータや、画像データごとに対応した各部の処理結果のバッファリングが可能である。
【0019】
撮像素子141から取得されたA像およびB像のデータに基づき、デフォーカスマップや信頼度マップを生成することができる。デフォーカスマップは画素ごとにデフォーカス量の情報を有し、各デフォーカス量がFδの単位で表されるマップである。信頼度マップはデフォーカスマップと各座標が対応しており、画素ごとにデフォーカス量の信頼の度合を表す信頼度の情報を有するマップである。デフォーカスマップは画像の奥行方向の深度分布を表す情報の一例であり、視点の異なる複数の視点画像から取得される像ずれ量マップや、距離マップ、距離画像等の距離情報の分布を表す情報の利用が可能である。なお、デフォーカスマップおよび信頼度マップの生成方法については特許文献2に開示されている方法を用いることができるので、その詳細な説明は省略する。
【0020】
フラッシュメモリ155には、撮像装置100の動作に必要な制御プログラムや、各部の動作に用いるパラメータ等が記憶されている。ユーザ操作により撮像装置100が起動し、つまり電源OFF状態から電源ON状態へ移行すると、フラッシュメモリ155に記憶された制御プログラムおよびパラメータがRAM154の一部に読み込まれる。CPU151は、RAM154にロードされた制御プログラムおよび定数にしたがって撮像装置100の動作を制御する。画像記録媒体157は画像データや画像に関連するデータ等が記録される。
【0021】
バッテリ159は、電源管理部158により適切に管理され、撮像装置100の全体に安定した電源供給を行う。タイマ160は、各部の処理に同期して相対的なms単位の時刻を取得可能な計時デバイスである。
【0022】
部位検出部161は、画像信号を用いて被写体の所定部位に対応する複数の領域を検出する。部位検出部161における検出処理は、例えば畳み込みニューラルネットワーク(Convolutional Neural Networks、以下、CNNと記す)を利用した特徴抽出処理により実現できる。より具体的には、非特許文献1に記載の方法を用いることができる。またCNNにおける特徴検出細胞面の重みを切り替えることで、様々な被写体の種類や、被写体の部位を検出可能である。なお、本発明の実施上、部位検出処理には任意の方法を用いることができる。本実施例においては、検出器は検出対象の矩形領域と結果の信頼度を推定、出力するものとし、信頼度がある閾値未満の場合、その結果は破棄されるものとする。閾値は任意の方法で決定することが出来る。例えば、予め調整された固定値でも良い。或いは、被写体の部位毎に閾値を設定しておき、ある部位が閾値以上の信頼度を伴って検出されれば、同じ画像や、それ以降の画像における別の部位の閾値を一定割合低くするような処理を行ってもよい。さらに上記処理は、異なる部位の検出結果同士の距離が所定以内である場合に限定したり、後述するラベリング処理や部位ベクトルによって同じ被写体である尤度が高いと推定された場合に閾値を低くしたりすることも可能である。
【0023】
ラベリング処理部162は、1つの画像に対応して、画像内の被写体ごとに分離したラベルマップを生成する。より具体的には、非特許文献2に記載の方法を用いることができる。部位検出部161によって複数の部位の検出結果が得られた場合、ラベルマップと比較することで複数の部位の検出結果同士を紐づけることができる。
【0024】
位置姿勢変化取得部163は、ジャイロセンサや加速度センサ、電子コンパス等の位置姿勢センサを備え、撮像装置100の撮影シーンに対する位置姿勢変化を計測する。取得された位置姿勢変化のデータはRAM154に保存される。
【0025】
動きベクトル算出部164は、時系列で連続に取得された2つの画像に対応する画像信号から動きベクトルの算出処理を行う。動きベクトルの算出処理では、画像内の複数の位置に対して、過去のフレームと現在のフレームとの特徴点マッチング処理が行われ、複数の動きベクトルが検出される。
【0026】
図2を参照して、本実施例における全体処理の流れについて説明する。本実施例において、部位検出部161は被写体である人物の顔領域と胴領域を検出できるものとし、検出1を顔領域の検出、検出2を胴領域の検出とする。また人物の顔領域と胴領域については重要度が等しいものとする。各ステップに示す処理はCPU151がプログラムを実行することにより実現される。
【0027】
S200にて、撮像制御部143が取得した画像データは各部へ供給される。また併せて取得された画像データが供給された時刻情報がタイマ160から取得されて、RAM154に記録される。
【0028】
S201にて、部位検出部161は取得された画像に対する検出処理を行う。被写体の顔領域に関する複数の検出領域(以下、検出1領域という)と、それぞれの信頼度が取得される。S202にて、部位検出部161は取得された画像に対する検出処理を行う。被写体の胴領域に関する複数の検出領域(以下、検出2領域という)と、それぞれの信頼度が取得される。
【0029】
S203にて、ラベリング処理部162は取得された画像に対するラベリング処理を行う。被写体領域ごとに異なるラベルを備えたラベルマップが取得される。S204にて、位置姿勢変化取得部163は取得された画像に同期して撮像装置100の位置姿勢変化のデータを取得する。
【0030】
S205にて、動きベクトル算出部164は取得された画像に対する動きベクトルマップを取得する。S206にて、画像処理部152はデフォーカスマップおよび信頼度マップを取得する。S207にてCPU151は、S203で取得されたラベルマップを用いて、S201で取得された複数の検出1領域と、S202で取得された複数の検出2領域に対して紐づけ処理を行う。このとき、各検出結果の信頼度が閾値以上のものを紐づけ処理の対象とし、閾値未満のものは対象としない(例えば、本ステップの段階でデータとして破棄する)。本実施例において、閾値は、検出1に関しては予め調整された固定の値を用いる。検出2に関しては大小2つの閾値を設定しておき、同じ被写体の検出1が存在すると判断されれば小さい方を、そうでなければ大きい方を用いる。すなわち、他の部位がすでに検出されている場合、同部位探索における検出の閾値を検出されていない場合に比べて低くして検出されやすくする。S203にて取得したラベルマップを参照し、着目する検出2領域と同じラベル領域に検出1領域が存在すれば、同じ被写体の検出2が存在すると、判断できる。紐づけ処理については後述する。
【0031】
S208にてCPU151は、過去に取得された画像に対する被写体分類結果が存在するか否かを判定する。被写体分類結果が存在すると判定された場合、S209に進み、被写体分類結果が存在しないと判定された場合にはS210に進む。
【0032】
S209にてCPU151は、過去に取得された画像に対する被写体分類結果を基準として、S201およびS202で得られた各検出領域に対して探索処理を行う。探索の結果、RAM154に記録された被写体分類結果が更新される。探索処理については後述する。S209の次にS210へ進む。
【0033】
S210にてCPU151は新規被写体の追加処理を行う。S201およびS202で得られた検出領域の内、S209の探索処理で使用済み状態にされなかった領域は、RAM154に記録された被写体分類結果に新規被写体の領域として追加される。新規被写体追加については後述する。
【0034】
S211にてCPU151は、RAM154に記録された被写体分類結果の被写体ごとに、被写体優先度を算出する。被写体優先度は検出1領域または検出2領域のサイズに基づいて決定される。サイズが大きいほど被写体優先度が高いものとする。
【0035】
S212にてCPU151は、操作スイッチ部156が操作されて、終了指示が行われたか否かを判定する。終了指示があると判定された場合、全体処理を終了し、終了指示が無いと判定された場合にはS200に戻り、一連の処理が繰り返し実行される。
【0036】
図3を参照して、全体処理の動作例について説明する。以下では撮像装置100で取得された画像を取得画像という。
図3(A)は取得画像300に対して
図2のS201、S202で得られる検出領域の例を示す。
図2のS201の処理では3名の人物の顔領域311,312,313が取得される。
図2のS202の処理では2名の人物の胴領域321,323が取得される。
【0037】
図3(B)は取得画像300に対応して
図2のS203で取得されるラベルマップの例を示す。ラベルマップ301は取得画像300と対応した座標を持ち、座標ごとに被写体領域または背景領域を区別可能なラベル331,332,333,334が格納されている。ラベル331,332,333は3名の人物の被写体領域にそれぞれ対応する識別情報である。ラベル334は背景領域に対応する識別情報である。
【0038】
図3(C)は顔領域、胴領域、およびラベルマップを用いて行われる検出紐づけ処理結果の例を示す。検出紐づけ処理では、一方の検出領域ごとにラベルマップを参照し、同じラベルに属する他方の検出領域を探索する処理が行われる。例えば左側に位置する第1の人物の顔領域311に対して同じラベル331に属する胴領域321が紐づけられる。中央に位置する第2の人物の顔領域312に対して同じラベル332に属する胴領域は存在しないので、胴領域は紐づけられない。手前側の第3の人物の顔領域313に対して同じラベル333に属する胴領域323が紐づけられる。なお、前述した様に、胴領域321,胴領域323は同じラベルに属する顔検出領域が存在するため、検出結果を採用するか否かの閾値を、同じラベルに属する顔検出領域が存在しない場合に比べて低く(結果を採用しやすく)することができる。逆に、胴領域が存在するときに同じ被写体と推定される顔検出結果の閾値を低く(結果を採用しやすく)することもできる。その場合は、顔領域311と顔領域313に対する閾値よりも、顔領域312に対する閾値を高く設定して検出結果を採用するか破棄するかの判断を行う。
【0039】
図3(D)は、
図2のS209またはS210にて記録される被写体分類結果の例を示す。被写体分類結果は、被写体ごとに被写体ID、検出1領域、検出2領域の各情報からなる。被写体IDとしてのA、B、Cはそれぞれ第1、第2、第3の人物を識別するために割り当てられる。
【0040】
図4と
図5を参照して、本実施例における探索処理(
図2:S209)について詳細に説明する。S400にてCPU151は、過去の取得画像に対する探索処理において、被写体分類結果がRAM154に記録されているか否かの判定を行う。被写体分類結果がRAM154に記録されていると判定された場合、S401に進み、被写体分類結果がRAM154に記録されていないと判定された場合には探索処理を終了する。
【0041】
S401にてCPU151は、RAM154に記録された複数の被写体に対応する複数の被写体分類結果の中から、着目被写体を決定する。着目被写体の候補が複数存在する場合には、
図2のS211で算出された被写体優先度の高い被写体が優先される。
【0042】
S402にてCPU151は、過去の取得画像において着目被写体に分類された検出1領域がRAM154に記録されているか否かの判定を行う。当該検出1領域が記録されていると判定された場合、S403に進み、記録されていないと判定された場合にはS406に進む。
【0043】
S403にて同部位探索処理が実行される。CPU151は過去の取得画像において着目被写体に分類された検出1領域を基準とし、現在の画像から得られた複数の検出1領域に対して同部位の探索を行う。同部位探索処理の詳細については後述する。
【0044】
S404にてCPU151は、現在の画像の検出領域から条件を満たす領域が発見されて、着目被写体の被写体分類結果を更新したか否かの判定を行う。着目被写体の被写体分類結果が更新されたと判定された場合、
図5のS410に移行し、更新されていないと判定された場合にはS405に進む。
【0045】
S405にて異部位探索処理が実行される。CPU151は過去の取得画像において着目被写体に分類された検出1領域を基準とし、現在の画像から得られた複数の検出2領域に対して異部位の探索を行う。異部位探索処理の詳細については後述する。
【0046】
S406にてCPU151は、過去の取得画像において着目被写体に分類された検出2領域がRAM154に記録されているか否かの判定を行う。当該検出2領域が記録されていると判定された場合、S407に進み、記録されていないと判定された場合には
図5のS410に移行する。
【0047】
S407にて同部位探索処理が実行される。CPU151は過去の取得画像において着目被写体に分類された検出2領域を基準とし、現在の画像から得られた複数の検出2領域に対して同部位の探索を行う。同部位探索処理の詳細については後述する。
【0048】
S408にてCPU151は、現在の画像の検出領域から条件を満たす領域が発見されて、着目被写体の被写体分類結果を更新したか否かの判定を行う。着目被写体の被写体分類結果が更新されたと判定された場合、
図5のS410に移行し、着目被写体の被写体分類結果が更新されていないと判定された場合にはS409に進む。
【0049】
S409にて異部位探索処理が実行される。CPU151は過去の取得画像において着目被写体に分類された検出2領域を基準とし、現在の画像から得られた複数の検出1領域に対して異部位の探索を行う。異部位探索処理の詳細については後述する。S409の次に
図5のS410に進む。
【0050】
S410にてCPU151は、着目被写体の被写体分類結果が、現在の画像から得られた検出1領域と検出2領域で更新済みであるか否かの判定を行う。着目被写体の被写体分類結果が更新済みであると判定された場合、S411に進み、着目被写体の被写体分類結果が更新済みでないと判定された場合にはS412に進む。
【0051】
S411にてCPU151は、部位ベクトルを算出してRAM154に記録する。部位ベクトルは画像平面に対する2次元ベクトルで表現されるものとする。着目被写体の被写体分類結果に記録されている検出1領域および検出2領域の座標から、減算により差分値を算出することにより、部位ベクトルを求めることができる。
図2のS200にてRAM154に記録された時刻情報は、部位ベクトルの記録時刻としてRAM154に記録される。S411の次にS414に処理を進める。
【0052】
S412にてCPU151は、過去の取得画像に対する探索処理において、S411で記録された時刻から所定期間が経過したか否かの判定を行う。所定期間の長さは、検出対象の被写体種別に応じて設定される閾値時間である。例えば被写体の種別が人であればT1が設定され、動物であればT2(<T1)が設定される。所定期間が経過したと判定された場合、S413に進み、所定期間が経過していないと判定された場合にはS414に進む。
【0053】
S413にてCPU151は、RAM154に記録された部位ベクトルのデータを削除する。そしてS414にてCPU151は、被写体分類結果の更新に用いなかった検出1領域を用いて、着目被写体に対する検出1禁止領域の更新を行う。更新処理の詳細については後述する。S414の次にS415に処理を進める。
【0054】
S415にてCPU151は、被写体分類結果の更新に用いなかった検出2領域を用いて、着目被写体に対する検出2禁止領域の更新を行う。更新処理の詳細については後述する。S416にてCPU151は、過去の取得画像においてRAM154に記録された被写体分類結果の内、
図4のS401で着目被写体に選択していない被写体があるか否かの判定を行う。該当する被写体があると判定された場合、S401に戻って処理を続行し、該当する被写体がないと判定された場合には探索処理を終了する。
【0055】
本実施例では、精度が低い異部位探索処理よりも精度が高い同部位探索処理が優先して実行される。優先した探索処理で着目被写体の被写体分類結果が更新された場合には、他方の探索処理を行わないことで、より精度の高い探索処理を行うことができる。
【0056】
次に
図6を参照して、同部位探索処理(
図4:S403およびS407)について詳細に説明する。S500にてCPU151は、現在の画像から得られた探索対象の検出領域が存在するか否かの判定を行う。探索対象の検出領域は、
図4のS403では検出1領域であり、S407では検出2領域である。探索対象の検出領域が存在すると判定された場合、S501に進み、探索対象の検出領域が存在しないと判定された場合には同部位探索処理を終了する。
【0057】
S501にてCPU151は同部位探索範囲を算出する。同部位探索範囲は着目被写体の、過去の取得画像における基準検出領域と重心が等しく、基準検出領域の示す範囲の所定倍率(n
1と記す)の範囲として求められる。n
1の値は検出対象の被写体種別に応じて設定される。例えば被写体の種別が人であればn
1aに設定され、動物であればn
1b(>n
1a)に設定される。また基準検出領域は、
図4のS403では過去の取得画像において着目被写体に分類された検出1領域であり、S407では過去の取得画像において着目被写体に分類された検出2領域である。
【0058】
S502にてCPU151は、現在の画像から得られた未使用状態の候補検出領域から着目検出領域を決定する。候補検出領域は、
図4のS403では検出1領域であり、S407では検出2領域である。
【0059】
S503にてCPU151は、着目検出領域が対応する禁止領域に属しているか否かの条件判定を行う。対応する禁止領域は、
図4のS403では検出1禁止領域であり、S407では検出2禁止領域である。着目検出領域が、対応する禁止領域に属するか否かについては、着目検出領域の重心が対応する禁止領域内に存在するか否かで判定することができる。この条件を満たす場合、S502に戻り、条件を満たさない場合、S504に進む。
【0060】
S504にてCPU151は、着目検出領域が同部位探索範囲に含まれるか否かの条件判定を行う。この条件を満たす場合、S505に進み、条件を満たさない場合、S510に進む。
【0061】
S505にてCPU151は着目検出領域で着目被写体の分類結果を更新し、S506において、着目検出領域を使用済み状態に変更する。S507にてCPU151は、着目検出領域に対して
図2のS207で紐づけられた検出結果があるか否かの判定を行う。当該検出結果があると判定された場合、S508に進み、当該検出結果がないと判定された場合にはS510に進む。
【0062】
S508にてCPU151は、紐づけられた検出領域で着目被写体の分類結果を更新し、S509において、紐づけられた検出結果を使用済み状態に更新する。S510にてCPU151は、探索対象の検出領域のうち、着目検出領域に選択していない未処理の領域があるか否かの判定を行う。当該領域があると判定された場合、S502に戻って一連の処理を繰り返し、当該領域がないと判定された場合には同部位探索処理を終了する。
【0063】
次に
図7を参照して、異部位探索処理(
図4:405およびS409)について詳細に説明する。S600にてCPU151は、現在の画像から得られた探索対象の検出領域が存在するか否かの判定を行う。探索対象の検出領域は、
図4のS405では検出2領域であり、S409では検出1領域である。探索対象の検出領域が存在すると判定された場合、S601に進み、探索対象の検出領域が存在しないと判定された場合には異部位探索処理を終了する。
【0064】
S601にてCPU151は、着目被写体に対してRAM154に記録された部位ベクトルが存在するか否かの判定を行う。部位ベクトルが記録されていると判定された場合、S602に進み、記録されていないと判定された場合にはS603に進む。
【0065】
S602にてCPU151は、部位ベクトルを利用した異部位探索範囲を算出する。本ステップにおける異部位探索範囲の重心は、着目被写体の過去の取得画像における基準検出領域に対して部位ベクトルを加算または減算して求められる。また異部位探索範囲は着目被写体の過去の取得画像における基準検出領域の範囲に所定倍率(n
2と記す)を乗算した範囲として求められる。n
2の値は検出対象の被写体種別に応じて設定される。例えば被写体の種別が人であればn
2aに設定され、動物であればn
2b(>n
2a)に設定される。基準検出領域は、
図4のS405では着目被写体の被写体分類結果に含まれる検出1領域であり、S407では着目被写体の被写体分類結果に含まれる検出2領域である。
【0066】
S603にてCPU151は、部位ベクトルを利用しない異部位探索範囲を算出する。本ステップにおける異部位探索範囲は着目被写体の過去の取得画像における基準検出領域と重心が等しく、基準検出領域の範囲に対して所定倍率(n3と記す)を乗算した範囲として求められる。n3の値は検出対象の被写体種別に応じて設定され、「n3>n2」とする。例えば被写体の種別が人であればn3aに設定され、動物であればn3b(>n3a)に設定される。基準検出領域についてはS602の場合と同じである。
【0067】
S604にてCPU151は、現在の画像より得られた未使用状態の候補検出領域から着目検出領域を決定する。候補検出領域は
図4のS405では検出2領域であり、S409では検出1領域である。
【0068】
S605にてCPU151は、着目検出領域が対応する禁止領域に属しているか否かの条件判定を行う。対応する禁止領域は、
図4のS405では検出2禁止領域であり、S409では検出1禁止領域である。着目検出領域が禁止領域に属するか否かについては、着目検出領域の重心が対応する禁止領域内に存在するか否かで判定することができる。S605の条件を満たす場合、S604に戻り、S605の条件を満たさない場合、S606に進む。S606からS612の処理はそれぞれ、
図6のS504からS510の処理と同様であるので、それらの説明を割愛する。
【0069】
図8から
図10を参照して、本実施例における探索処理を具体的に説明する。
図8から
図10において、(A)に過去の取得画像を示し、(B)に現在の画像を示す。
図8(A)の過去の取得画像では、被写体に対して検出1領域700が取得されている。この場合、
図8(B)の現在の画像に対して
図6のS501にて同部位探索範囲731が算出される。同部位探索範囲731内で条件を満たす検出1領域730を用いて着目被写体の被写体分類結果が更新される。
【0070】
図9は部位ベクトルを用いた異部位探索例を示す模式図である。
図9(A)の過去の取得画像では、被写体に対して検出1領域800および検出2領域810が取得されており、
図5のS411にて部位ベクトル820が記録されている。この場合、
図9(B)の現在の画像に対して
図7のS602にて異部位探索範囲831が算出される。異部位探索範囲831内で条件を満たす検出2領域811を用いて着目被写体の被写体分類結果が更新される。
【0071】
図10は部位ベクトルを用いない異部位探索例を示す模式図である。
図10(A)の過去の取得画像では、被写体に対して検出1領域900が取得されている。この場合、
図10(B)の現在の画像に対して
図7のS603にて異部位探索範囲931が算出される。異部位探索範囲931内で条件を満たす検出2領域911を用いて着目被写体の被写体分類結果が更新される。
【0072】
図11を参照して、本実施例における禁止領域更新処理(
図5:S414およびS415)について詳細に説明する。S1000にてCPU151は、過去の取得画像において更新対象の禁止領域が記録されているか否かの判定を行う。更新対象の禁止領域とは、
図5のS414では検出1禁止領域であり、S415では検出2禁止領域である。更新対象の禁止領域が記録されていると判定された場合、S1001に進み、更新対象の禁止領域が記録されていないと判定された場合にはS1009に進む。
【0073】
S1001にてCPU151は、更新対象の禁止領域の中から着目禁止領域を設定する。S1002にてCPU151は、
図2のS205で取得された動きベクトルマップを参照し、着目禁止領域に対応する領域に所定値(閾値)より大きい動きベクトルが存在しているか否かの条件判定を行う。この条件を満たす動きベクトルが存在していると判定された場合、S1007に進み、条件を満たす動きベクトルが存在していないと判定された場合にはS1003に進む。
【0074】
S1003にてCPU151は、過去の取得画像において
図2のS206で取得されたデフォーカスマップと、現在の画像において
図2のS206で取得されたデフォーカスマップとを比較する。着目禁止領域に対応する領域に所定値よりも大きい距離差分が存在するか否かの判定処理が行われる。条件を満たす距離差分が存在すると判定された場合、S1007に進み、条件を満たす距離差分が存在しないと判定された場合にはS1004に進む。
【0075】
S1004にてCPU151は、現在の画像から得られた対象検出領域の内、着目禁止領域に属する検出領域が存在するか否かの判定を行う。当該検出領域が存在すると判定された場合、S1005に進み、当該検出領域が存在しない場合にはS1007に進む。ただし対象検出領域は、
図5のS414では着目被写体の被写体分類結果の更新に用いておらず、かつS1006で登録状態にしていない検出1領域に限られる。また対象検出領域は、
図5のS415では着目被写体の被写体分類結果の更新に用いておらず、かつS1006で登録状態にしていない検出2領域に限られる。
【0076】
S1005にてCPU151は、RAM154に記録された着目禁止領域を更新する。更新する領域は、S1004で存在すると判定された検出領域を基準とし、
図2のS204で得た位置姿勢変化量を打ち消すように加工された領域とする。S1005の次にS1006に進む。
【0077】
S1006にてCPU151は、S1005で更新に用いた検出領域を登録済み状態に更新する。S1007にてCPU151は、RAM154に記録された着目禁止領域を削除する。S1006、S1007の次にS1008に処理を進める。
【0078】
S1008にてCPU151は、更新対象であって、かつS1001で着目禁止領域にしていない領域が存在するか否かの条件判定を行う。この条件を満たす場合、S1001に戻って処理を続行し、条件を満たさない場合にはS1009に進む。
【0079】
S1009にてCPU151は、S1006で登録済みにしていない(未登録状態の)対象検出領域が存在するか否かの条件判定を行う。この条件を満たす場合、S1010に進み、条件を満たさない場合には禁止領域更新処理を終了する。
【0080】
S1010にてCPU151は、S1009で存在すると判定された(未登録状態の)検出領域の全てを、着目被写体の禁止領域としてRAM154に新規追加する。そして一連の処理を終了する。
【0081】
図12を参照して、本実施例における禁止領域の削除例を具体的に説明する。
図12(A)は過去の取得画像における検出状態を示す。被写体ごとの顔領域1100,1102および胴領域1110,1111が検出されている。顔領域1100の被写体は、手前側(撮像装置側)にいる胴領域1110の被写体によって胴体の一部が隠れた状態である。
【0082】
図12(B)は現在の画像における検出状態を示す。被写体ごとの顔領域1120,1121および胴領域1130,1131が検出されている。顔領域1120の被写体によって、その後ろ側にいる被写体の顔領域と胴体の一部が隠れた状態である。
図12(C)は現在の画像に対応する動きベクトルマップを示す。各座標に対してベクトルの向きと大きさのデータが記録されている。
【0083】
図12(D)は過去の取得画像に対応する距離マップである。
図12(E)は現在の画像に対応する距離マップである。距離マップにて明度が高いほど手前側(撮像装置側)であることを表している。
【0084】
図12(F)は過去の取得画像において最も手前側の被写体Cが着目被写体である場合の禁止領域を示す表である。顔領域1100,1102は検出1禁止領域であり、胴領域1111は検出2禁止領域である。
図12(G)は現在の画像における被写体分類結果を示す表である。例えば、被写体IDがCである被写体に関して、顔領域1120は検出1領域であり、胴領域1130は検出2領域である。
【0085】
図12(C)に示す通り、禁止領域に登録されている顔領域1100では、現在の画像において所定値以上の大きさの動きベクトルが算出されている。従って、顔領域1100は
図11のS1002で判定される禁止領域削除条件を満たしている。また
図12(D)乃至(F)に示す通り、禁止領域に登録されている顔領域1100では、現在の画像において距離情報が変動している。従って、顔領域1100は
図11のS1003で判定される禁止領域削除条件を満たしている。
【0086】
このような条件判定にしたがって禁止領域の削除を行うことで、着目被写体の検出結果が禁止領域に出現した場合、探索処理において着目被写体の被写体分類結果が更新されないという問題の発生を抑制できる。
【0087】
図13と
図14を参照して、本実施例における新規被写体追加処理(
図2:S211)について詳細に説明する。S1200にてCPU151は、現在の画像から得られた検出1領域の内、未使用状態の領域が存在するか否かの判定を行う。未使用状態の検出1領域が存在すると判定された場合、S1201に進み、未使用状態の検出1領域が存在しないと判定された場合には
図14のS1208に移行する。
【0088】
S1201にてCPU151は、未使用状態の検出1領域を着目領域に設定する。S1202にてCPU151は、着目領域に新たな被写体IDを付与して被写体分類結果に追加し、RAM154に記録する。S1203にてCPU151は、着目領域を使用済み状態として更新し、RAM154に記録する。
【0089】
S1204にてCPU151は、
図2のS207において着目領域に紐づけられており、かつ未使用状態の検出2領域が存在するか否かの条件判定を行う。この条件を満たす場合、S1205に進み、条件を満たさない場合にはS1207に進む。
【0090】
S1205にてCPU151は、着目領域に紐づけられた検出2領域に対してS1202で付与した被写体IDと同じ被写体IDにして、当該検出2領域を被写体分類結果に追加し、RAM154に記録する。S1206にてCPU151は、着目領域に紐づけられた検出2領域を使用済み状態としてRAM154に記録する。
【0091】
S1207にてCPU151は、現在の画像から得られた検出1領域の内、未使用状態の領域が存在するか否かの条件判定を行う。この条件を満たす場合、S1201に戻って処理を続行し、条件を満たさない場合には
図14のS1208に移行する。
【0092】
S1208にてCPU151は、現在の画像から得られた検出2領域の内、未使用状態の領域が存在するか否かの条件判定を行う。この条件を満たす場合、S1209に進み、条件を満たさない場合には新規被写体追加処理を終了する。
【0093】
S1209にてCPU151は、未使用状態の検出2領域を着目領域に設定する。S1210にてCPU151は、着目領域に対して新たな被写体IDを付与して被写体分類結果に追加し、RAM154に記録する。S1211にてCPU151は、着目領域を使用済み状態として更新し、RAM154に記録する。
【0094】
S1212にてCPU151は、
図2のS207において着目領域に紐づけられており、かつ未使用状態の検出1領域が存在するか否かの条件判定を行う。この条件を満たす場合、S1213に進み、条件を満たさない場合にはS1215に進む。
【0095】
S1213にてCPU151は、着目領域に紐づけられた検出1領域に対して、S1210で付与した被写体と同じ被写体IDにして、当該検出1領域を被写体分類結果に追加し、RAM154に記録する。S1214にてCPU151は、着目領域に紐づけられた検出1領域を使用済み状態として更新し、RAM154に記録する。
【0096】
S1215にてCPU151は、現在の画像から得られた検出2領域の内、未使用状態の領域が存在するか否かの条件判定を行う。この条件を満たす場合、S1209に戻って処理を続行し、条件を満たさない場合には新規被写体追加処理を終了する。
【0097】
本実施例によれば、異部位探索による誤りを抑制しつつ、連続フレームにおいて被写体検出の成功率を高めて探索し続けることが可能である。
【0098】
本実施例では同部位探索で当該部位が検出された場合、異部位探索を行わない例を示したが、これに限らない。CPU151は並行、あるいは順次両探索を行い、両方の探索から同一被写体に対応する(と推定される)部位が検出された場合でも、同部位探索で得られた結果を優先して、該探索結果を用いて追尾の対象あるいは枠表示の対象となる注目被写体として検出してもよい。
【0099】
[実施例2]
次に本発明の実施例2を説明する。本実施例にて実施例1と同様の事項については説明を省略し、主に相違点を説明する。このような説明の省略方法は後述の実施例でも同じである。本実施例において、部位検出部161は人物の顔領域と人物の胴領域を検出できるものとする。検出1領域を顔領域とし、検出2領域を胴領域とする。また撮影者の関心が高い顔領域は胴領域よりも重要度が高いものとする。
【0100】
図15と
図16を参照して、本実施例における探索処理(
図2:S209)について詳細に説明する。
図15のS1300にてCPU151は、過去の取得画像に対する探索処理において、被写体分類結果がRAM154に記録されているか否かの判定を行う。被写体分類結果が記録されていると判定された場合、S1301に進み、被写体分類結果が記録されていないと判定された場合には探索処理を終了する。
【0101】
S1301にてCPU151は、RAM154に記録された被写体分類結果の中から、着目被写体を決定する。着目被写体の候補が複数存在する場合には、
図2のS211で算出された被写体優先度が高い被写体を優先する処理が行われる。
【0102】
S1302にてCPU151は、過去の取得画像において着目被写体に分類された検出1領域がRAM154に記録されているか否かの判定を行う。当該検出1領域が記録されていると判定された場合、S1303に進み、当該検出1領域が記録されていないと判定された場合にはS1305に進む。
【0103】
S1303にてCPU151は、過去の取得画像において着目被写体に分類された検出1領域を基準とし、現在の画像から得られた複数の検出1領域に対して同部位探索を行う。S1304にてCPU151は、着目被写体に対して現在の画像の検出領域から条件を満たす被写体が発見され、被写体分類結果が更新済みであるか否かの条件判定を行う。この条件を満たす場合、
図16のS1313に進み、条件を満たさない場合にはS1305に進む。
【0104】
S1305にてCPU151は、過去の取得画像において着目被写体に分類された検出2領域がRAM154に記録されているか否かの判定を行う。当該検出2領域が記録されていると判定された場合、S1306に進み、当該検出2領域が記録されていないと判定された場合にはS1308に進む。
【0105】
S1306にてCPU151は、過去の取得画像において着目被写体に分類された検出2領域を基準とし、現在の画像から得られた複数の検出1領域に対して異部位探索を行う。S1307にてCPU151は、着目被写体に対して現在の画像の検出領域から条件を満たす被写体が発見され、被写体分類結果が更新済みであるか否かの条件判定を行う。この条件を満たす場合、
図16のS1313に進み、条件を満たさない場合にはS1308に進む。
【0106】
S1308にてCPU151は、過去の取得画像において着目被写体に分類された検出2領域がRAM154に記録されているか否かの条件判定を行う。この条件を満たす場合、S1309に進み、条件を満たさない場合には、
図16のS1311に進む。
【0107】
S1309にてCPU151は、過去の取得画像において着目被写体に分類された検出2領域を基準とし、現在の画像から得られた複数の検出2領域に対して同部位探索を行う。S1310にてCPU151は、着目被写体に対して現在の画像の検出領域から条件を満たす被写体が発見され、被写体分類結果が更新済みであるか否かの条件判定を行う。この条件を満たす場合、
図16のS1313に進み、条件を満たさない場合には
図16のS1311に進む。
【0108】
図16のS1311にてCPU151は、過去の取得画像において着目被写体に分類された検出1領域がRAM154に記録されているか否かの条件判定を行う。この条件を満たす場合、S1312に進み、条件を満たさない場合にはS1313に進む。S1312にてCPU151は、過去の取得画像において着目被写体に分類された検出1領域を基準とし、現在の画像から得られた複数の検出2領域に対して異部位探索を行う。
【0109】
S1313からS1319までの処理は、実施例1にて説明した
図5のS410からS416までの処理と同様であるので、それらの説明を割愛する。本実施例における同部位探索処理、異部位探索処理、禁止領域更新処理、新規被写体追加処理については実施例1と同様である。
【0110】
本実施例では、精度が低い異部位探索処理より精度が高い同部位探索処理の方が優先して実行される。優先した探索処理で着目被写体が更新された場合には、他方の探索処理を行わないことで精度の高い探索処理を行うことができる。また同部位探索処理に関して、
図15のS1309よりもS1306の処理が優先して行われるので、着目被写体情報が重要度の高い検出領域で更新される確率を高めることができる。本実施例によれば、異部位探索による誤りを抑制するとともに、重要度の高い領域を優先しつつ、連続フレームにおいて被写体検出の成功率を高めて探索し続けることが可能である。
【0111】
[実施例3]
次に本発明の実施例3について実施例2との相違点を説明する。本実施例の部位検出部161は人物の全身領域と人物の目領域を検出できるものとする。検出1領域を全身領域とし、検出2領域を目領域とする。また人物の全身サイズは、人物の目サイズよりも十分大きいので重要度が高いものとする。あるいは人物の全身領域は、人物の目領域を内包しているので重要度が高いものとする。なお、本実施例における探索処理は実施例2と同様である(同部位探索処理、異部位探索処理、禁止領域更新処理、新規被写体追加処理等の説明を割愛する)。
【0112】
本実施例では、実施例2と同様に精度の高い探索処理を行うことができる。また、
図15のS1309よりもS1306の処理が優先して行われるので、局所領域(小サイズの領域)による探索の誤りを抑制することができる。本実施例によれば、異部位探索による誤りを抑制するとともに、局所領域による誤りを抑制しつつ、連続フレームにおいて被写体検出の成功率を高めて探索し続けることが可能である。
【0113】
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0114】
100 撮像装置
141 撮像素子
151 CPU
152 画像処理部
161 部位検出部
162 ラベリング処理部