(57)【要約】【課題】複数個のオブジェクトを高速に検出することが可能なオブジェクト検出装置を提供する。【解決手段】分割部２は、複数個の検出対象オブジェクトについての全検出処理をＭ個に均等に分割する。設定部３は、連続して入力されるＭ個のフレーム画像のうちの各々のフレーム画像での検出処理を、分割されたＭ個の検出処理のうちの１つに設定する。検出部６は、各フレーム画像において、設定された検出処理を実行する。選択部５は、Ｍ個のフレーム画像のうちのいずれかで、いずれかのオブジェクトを検出した場合に、複数個の検出対象オブジェクトの中から検出されたオブジェクトと同一および関連する１以上のオブジェクトを選択する。分割部２、設定部３、検出部６は、選択されたオブジェクトについて再分割、再設定、再検出を行なう。【選択図】図２
2013050791.tif 000002
【特許請求の範囲】
【請求項１】
複数個の検出対象オブジェクトについての全検出処理をＭ個に均等に分割する分割部と、
連続して入力されるＭ個のフレーム画像のうちの各々のフレーム画像での検出処理を、前記分割されたＭ個の検出処理のうちの１つに設定する設定部と、
前記各フレーム画像において、前記設定された検出処理を実行する検出部と、
前記検出部が前記Ｍ個のフレーム画像のうちのいずれかで、いずれかのオブジェクトを検出した場合に、前記複数個の検出対象オブジェクトの中から前記検出されたオブジェクトと同一および関連する１以上のオブジェクトを選択する選択部とを備え、
前記分割部は、前記選択された１以上のオブジェクトについての全検出処理をＬ個に均等に再分割し、
前記設定部は、さらに連続して入力されるＬ個のフレーム画像のうちの各々のフレーム画像での検出処理を、前記再分割されたＬ個の検出処理のうちの１つに再設定し、
前記検出部は、前記各フレーム画像において、前記再設定された検出処理を実行し、
前記分割部によって前記Ｌ個に再分割された処理量は、前記分割部によって前記Ｍ個に分割された処理量よりも少ない、オブジェクト検出装置。
【請求項２】
連続して入力されるＮ個のフレーム画像のうちの各々のフレーム画像の検出対象を、Ｎ個の検出対象オブジェクトのうちの１つに設定する設定部と、
前記各フレーム画像において、検出対象として設定されたオブジェクトの検出処理を実行する検出部と、
前記検出部が前記Ｎ個のフレーム画像のうちのいずれかで前記オブジェクトを検出した場合に、前記Ｎ個の検出対象オブジェクトの中から前記検出されたオブジェクトと同一および関連するＳ個のオブジェクトを選択する選択部とを備え、
前記設定部は、さらに連続して入力されるＭ（＝Ｓ×Ｋ）個のフレーム画像の各フレーム画像の検出対象と検出領域を再設定し、
前記設定部は、Ｍ個のフレーム画像はＫ個のグループのいずれかに属し、各グループにはＳ個のフレーム画像が含まれるとしたときに、各グループ内のＳ個のフレーム画像の各々の検出対象をＳ個のオブジェクトのうちの１つに設定し、さらに異なるグループのフレーム画像の検出領域をＫ個に分割した別個の領域に設定し、
前記検出部は、前記各フレーム画像の前記再設定された各検出領域において、前記設定されたオブジェクトの検出処理を実行する、オブジェクト検出装置。
【請求項３】
複数個の検出対象オブジェクトについての全検出処理を構成する複数個の処理ステップに順序を付ける設定部と、
連続して入力されるフレーム画像のうちの各々のフレーム画像を用いて、所定時間だけ前記複数個の処理ステップのうちの未処理の処理ステップを順番に実行する検出部と、
前記検出部がいずれかのフレーム画像で、いずれかのオブジェクトを検出した場合に、前記複数個の検出対象オブジェクトの中から前記検出されたオブジェクトと同一および関連する１以上のオブジェクトを選択する選択部とを備え、
前記設定部は、前記選択された１以上のオブジェクトについての全検出処理を構成する複数個の処理ステップを再順序付けし、
前記検出部は、さらに連続して入力されるフレーム画像のうちの各々のフレーム画像を用いて、所定時間だけ前記再順序付けされた複数個の処理ステップのうちの未処理の処理ステップを順番に実行する、オブジェクト検出装置。
【請求項４】
前記複数個の検出対象オブジェクトは、種類、大きさ、向きのうちのいずれかがそれぞれ異なる、請求項１〜３のいずれか１項に記載のオブジェクト検出装置。
【請求項５】
前記選択部は、前記検出されたオブジェクトと同一の種類で同一の向きのオブジェクトを選択する、請求項４記載のオブジェクト検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクト検出装置に関する。
【背景技術】
【０００２】
顔検出処理とは、カメラなどで撮影した画像信号から、人物やペットの顔の画像パターンを探し出す機能のことである。顔検出処理は、携帯電話カメラやデジタルカメラにおいて、オートフォーカスなどに応用されており一般的な機能となっている。
【０００３】
また、近年自動車にも光学カメラが搭載され、白線、歩行者・車・標識といったオブジェクトを検出することによって運転者に注意を促す技術が応用されてきている。
【０００４】
一般に、顔などのオブジェクトを検出する時間は、カメラで撮像されるフレームレートよりも遅いことが多く、リアルタイムで撮影した画像に対して、オブジェクト検出器からの検出結果は数フレーム前の遅れた情報となることがある。このような問題に対して、特許文献１（特許第４５３９７２９号公報）では、全画像領域を分割し、分割した画像を時分割で顔検出器に与え、顔検出器が、検出可能な範囲で、全画像における大きなサイズの顔から、最小サイズの顔までを検出する手法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４５３９７２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１では、向き、種類(人物か動物か）、大きさなどが相違する複数個のオブジェクトを検出することが考慮されていない。リアルタイムで撮影した画像からフレームレート（たとえば、１／３０秒）に遅れることなく、複数個のオブジェクトを検出できることは重要な課題である。
【０００７】
それゆえに、本発明の目的は、複数個のオブジェクトを高速に検出することが可能なオブジェクト検出装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明の一実施形態のオブジェクト検出装置は、複数個の検出対象オブジェクトについての全検出処理をＭ個に均等に分割する分割部と、連続して入力されるＭ個のフレーム画像のうちの各々のフレーム画像での検出処理を、分割されたＭ個の検出処理のうちの１つに設定する設定部と、各フレーム画像において、設定された検出処理を実行する検出部と、検出部がＭ個のフレーム画像のうちのいずれかで、いずれかのオブジェクトを検出した場合に、複数個の検出対象オブジェクトの中から検出されたオブジェクトと同一および関連する１以上のオブジェクトを選択する選択部とを備える。分割部は、選択された１以上のオブジェクトについての全検出処理をＬ個に均等に再分割し、設定部は、さらに連続して入力されるＬ個のフレーム画像のうちの各々のフレーム画像での検出処理を、再分割されたＬ個の検出処理のうちの１つに再設定し、検出部は、各フレーム画像において、再設定された検出処理を実行し、分割部によってＬ個に再分割された処理量は、分割部によってＭ個に分割された処理量よりも少ない。
【発明の効果】
【０００９】
本発明の一実施形態によれば、複数個のオブジェクトを高速に検出することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態におけるデジタルカメラの構成例を示すブロック図である。
【図２】第１の実施形態のオブジェクト検出装置の構成を表わす図である。
【図３】第１の実施形態のオブジェクト検出の動作手順を表わすフローチャートである。
【図４】第２の実施形態のオブジェクト検出装置の構成を表わす図である。
【図５】第２の実施形態のオブジェクト検出の動作手順を表わすフローチャートである。
【図６】検出対象オブジェクトのフレーム画像への割当の例を説明するための図である。
【図７】選択したオブジェクトのフレーム画像への再割当の例を説明するための図である。
【図８】オブジェクトの検出結果を表わす図である。
【図９】第３の実施形態のオブジェクト検出装置の構成を表わす図である。
【図１０】第３の実施形態のオブジェクト検出の動作手順を表わすフローチャートである。
【図１１】オブジェクトの移動の例を表わす図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を参照して説明する。
［第１の実施形態］
（デジタルスチルカメラ）
図１は、本発明の実施の形態におけるデジタルカメラのシステム構成例を示すブロック図である。本発明の実施形態では、検出および追跡対象のオブジェクトとして顔を例にして説明するが、本発明の実施形態の手法は、顔に限定されるものではなく、その他のオブジェクトの検出および追跡にも用いることができる。
【００１２】
図１を参照して、このデジタルカメラシステムは、半導体装置を有し、半導体装置は、カメラＩ／Ｆ（Interface）１００１と、ＣＰＵ（Central Processing Unit）１００２と、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）１００３と、ＲＯＭ（Read Only Memory）１００４と、ユーザ操作部Ｉ／Ｆ１００５と、ＬＣＤＩ／Ｆ１００７と、カードＩ／Ｆ１００８と、オブジェクト検出装置１００６、オブジェクト追跡装置１００９とを含み、これらがバス１０１０を介して接続されている。オブジェクト検出装置１００６、オブジェクト追跡装置１００９とは画像処理装置１０１１を構成する。
【００１３】
カメラＩ／Ｆ１００１は、カメラセンサに接続されており、カメラセンサによって撮像された画像を受け、ＳＤＲＡＭ１００３やカードＩ／Ｆ１００８を介して接続される図示しないＳＤメモリカードなどにその画像を書き込む。
【００１４】
ＣＰＵ１００２は、ＳＤＲＡＭ１００３やＲＯＭ１００４に記憶されるプログラムを実行することによって、システム全体の制御を行なう。ＣＰＵ１００２は、ＳＤＲＡＭ１００３に格納された顔（オブジェクト）の位置を表わす情報を焦点合わせのためにカメラＩ／Ｆ１００１を通じてカメラの撮像系に送る。また、ＣＰＵ１００２は、顔（オブジェクト）の位置を表わす情報から顔の位置を表わす図形（矩形など）をＬＣＤＩ／Ｆ１００７に送る。
【００１５】
ＲＯＭ１００４は、オブジェクトの検出、オブジェクトの追跡に用いられるデータを記憶する。
【００１６】
ユーザ操作部Ｉ／Ｆ１００５は、図示しないシャッターボタンなどに接続され、シャッターボタンが押されたときに、割り込みなどによってその旨をＣＰＵ１００２に通知する。ＣＰＵ１００２は、割り込み要求を受けると、カメラＩ／Ｆ１００１を制御してカメラセンサによって撮像された画像をＳＤＲＡＭ１００３などに格納する。またユーザ操作部Ｉ／Ｆ１００５は、ユーザの操作によって、画像を撮影する撮影モードから画像を再生する再生モードへ切り替わった場合などもＣＰＵ１００２へ通知する。
【００１７】
ＬＣＤＩ／Ｆ１００７は、図示しないＬＣＤパネルに接続され、ＬＣＤの表示の制御などを行なう。カメラセンサによって撮影された画像をプレビューとしてＬＣＤに表示する。また、ＬＣＤＩ／Ｆ１００７は、ＣＰＵ１００２から送られた顔（オブジェクト）の位置を表わす図形を撮影された画像上に重畳表示する。
【００１８】
カードＩ／Ｆ１００８は、ＳＤメモリカードなどの外部の記録媒体に接続され、記録媒体に対するデータの読み出しや書き込みを行なう。
【００１９】
オブジェクト検出装置１００６は、カメラセンサによって撮影されてカメラＩ／Ｆ１００１から送られる画像から顔（オブジェクト）の検出処理を行なって、顔（オブジェクト）の位置を表わす情報をＳＤＲＡＭ１００３に格納する。オブジェクト検出装置１００６は、検出したオブジェクトの領域をテンプレートとして登録する。
【００２０】
オブジェクト追跡装置１００９は、カメラセンサによって撮影されてカメラＩ／Ｆ１００１から送られる画像においてオブジェクト検出装置１００６で検出された顔（オブジェクト）の追跡処理を行なって、顔（オブジェクト）の位置を表わす情報をＳＤＲＡＭ１００３に格納する。オブジェクト追跡装置１００９は、撮影された画像から、オブジェクト検出装置１００６で得られたテンプレートと類似する領域を検索することによって、オブジェクトの追跡を行なう。
【００２１】
（構成）
図２は、第１の実施形態のオブジェクト検出装置の構成を表わす図である。
【００２２】
図２を参照して、このオブジェクト検出装置１００６は、分割部２と、設定部３と、画像入力部４と、選択部５と、検出部６とを備える。
【００２３】
画像入力部４は、カメラＩ／Ｆから検出対象となるオブジェクトを探索するためのフレーム画像を所定のフレームレートで受ける。
【００２４】
分割部２は、複数個の検出対象オブジェクトについての全検出処理をＭ個に均等に分割する。また、分割部２は、選択部５でオブジェクトの選択が行われた場合に、選択された１以上のオブジェクトについての全検出処理をＬ個に均等に再分割する。ここで、分割部２によってＬ個に再分割された処理量は、分割部２によってＭ個に分割された処理量よりも少ないという特性を有する。本実施の形態では、１フレームで１種類のオブジェクトを検出対象とするのでなく１フレームの検出処理量が均等になるように分割されるので、１フレームで複数個のオブジェクトを検出対象となる場合や、複数のフレームに跨って１個のオブジェクトが検出対象となる場合もある。
【００２５】
設定部３は、連続して入力されるＭ個のフレーム画像のうちの各々のフレーム画像での検出処理を、分割されたＭ個の検出処理のうちの１つに設定する。設定部３は、分割部２で再分割が行なわれた場合に、さらに連続して入力されるＬ個のフレーム画像のうちの各々のフレーム画像での検出処理を、再分割されたＬ個の検出処理のうちの１つに再設定する。
【００２６】
検出部６は、各フレーム画像において、設定部３で設定された検出処理を実行する。検出部６は、設定部３で再設定がなされた場合に、各フレーム画像において、再設定された検出処理を実行する。検出部６は、オブジェクトが検出された場合に、検出されたオブジェクトの位置をＣＰＵ１００２へ出力する。
【００２７】
選択部５は、検出部６がＭ個のフレーム画像のうちのいずれかで、いずれかのオブジェクトを検出した場合に、複数個の検出対象オブジェクトの中から検出されたオブジェクトと同一および関連する１以上のオブジェクトを選択する。ここで、関連するとは、向き、種類、大きさの少なくとも１つが同一のオブジェクトである。
【００２８】
（動作）
図３は、第１の実施形態のオブジェクト検出の動作手順を表わすフローチャートである。
【００２９】
図３を参照して、まず、分割部２は、Ｎ個の検出対象オブジェクトについての全検出処理を第１番〜第Ｍ番の処理に均等に分割する。各処理の処理量をＴ０とする（ステップＳ１０１）。
【００３０】
次に、検出オブジェクト数ｎが０、変数ｉが１に設定される（ステップＳ１０２）。
次に、画像入力部４は、第ｉ番目のフレーム画像を受ける（ステップＳ１０３）。
【００３１】
設定部３は、第ｉ番目のフレーム画像に分割部２で分割された第ｉ番目の処理を割り当てる（ステップＳ１０４）。
【００３２】
次に、検出部６は、第ｉ番目のフレーム画像を対象として、割り当てられた第ｉ番目の処理を実行する（ステップＳ１０５）。
【００３３】
次に、検出部６の第ｉ番目の処理によって、Ｎ個の検出対象オブジェクトのうちのいずれかのオブジェクトが検出されなかったときには（ステップＳ１０６でＮＯ）、変数ｉがＭでない場合には（ステップＳ１０７でＮＯ）、変数ｉがインクリメントされた（ステップＳ１０９）後、ステップＳ１０３に戻り、変数ｉがＭの場合には（ステップＳ１０７でＹＥＳ）、変数ｉが０に戻り（ステップＳ１０８）、変数ｉがインクリメントされた（ステップＳ１０９）後、ステップＳ１０３に戻る。
【００３４】
一方、検出部６の第ｉ番目の処理によって、Ｎ個の検出対象オブジェクトのうちのいずれかのオブジェクトが検出されたときには（ステップＳ１０６でＹＥＳ）、検出オブジェクト数ｎが０に設定され（ステップＳ１１０）、変数ｊが１に設定される（ステップＳ１１１）。
【００３５】
次に、選択部５が、検出されたオブジェクトと同一および関連するＳ個のオブジェクトを選択する（ステップＳ１１２）。
【００３６】
次に、選択されたＳ個の検出対象オブジェクトについての全検出処理を第１番〜第Ｌ番の処理に均等に再分割する。各処理の処理量をＴ１とする。ここで、Ｔ１＜Ｔ０である（ステップＳ１１３）。
【００３７】
次に、画像入力部４は、第ｊ番目のフレーム画像を受ける（ステップＳ１１４）。
次に、設定部３は、第ｊ番目のフレーム画像にステップＳ１１３で分割部２によって再分割された第ｊ番目の処理を割り当てる（ステップＳ１１５）。
【００３８】
次に、検出部６は、第ｊ番目のフレーム画像を対象として、割り当てられた第ｊ番目の処理を実行する（ステップＳ１１６）。
【００３９】
次に、検出部６の第ｊ番目の処理によって、Ｓ個の検出対象オブジェクトのうちのいずれかのオブジェクトが検出されたときには（ステップＳ１１７でＹＥＳ）、検出オブジェクト数ｎがインクリメントされる（ステップＳ１１８）。
【００４０】
さらに、オブジェクトが検出されたか否かに係らず、その後、変数ｊがＬでない場合には（ステップＳ１１９でＮＯ）、変数ｊがインクリメントされた（ステップＳ１２０）後、ステップＳ１１４に戻り、変数ｊがＬの場合には（ステップＳ１１９でＹＥＳ）、検出オブジェクト数ｎが１以上の場合に（ステップＳ１２１でＹＥＳ）、ステップＳ１１０からの処理が繰り返され、検出オブジェクト数ｎが１未満の場合に（ステップＳ１２１でＮＯ）、ステップＳ１０１からの処理が繰返される。
【００４１】
撮影モードの間は上記のオブジェクト検出処理が繰返される。撮影モードが終了すると、上記オブジェクト検出処理を終了させる。例えば、撮影モードから再生モードに切り替えられると、ＣＰＵ１００２からオブジェクト検出装置１００６に対してオブジェクト検出処理終了の命令が通知される。これによりオブジェクト検出装置１００６はオブジェクト検出処理を終了させる。
【００４２】
（効果）
以上のように、本実施の形態では、画像から複数のオブジェクトを検出するときに、複数のフレーム画像を用いて、検出対象の複数のオブジェクトを検出する。本実施の形態では、各フレーム画像での検出処理量が均等となるように全検出処理を分割する。さらに、オブジェクトが検出された時、検出対象のオブジェクトの数を少なくし、各フレーム画像での検出処理量が均等となるように全検出処理を再分割する。これによって、時間方向に処理を分散した上で、画像内の２個目以降のオブジェクト検出を高速に行なうことが可能である。
【００４３】
［第２の実施形態］
第１の実施形態では、各フレームにおける検出処理量が均等になるよう、複数個のオブジェクトについての全検出処理を分割した。これに対して、本実施の形態では、各フレームにおいて、１つのオブジェクトを検出するように、複数個のオブジェクトについての全検出処理を分割する。
【００４４】
（構成）
図４は、第２の実施形態のオブジェクト検出装置の構成を表わす図である。
【００４５】
図４を参照して、このオブジェクト検出装置１１は、設定部１３と、画像入力部１４と、選択部１５と、検出部１６とを備える。
【００４６】
画像入力部１４は、カメラＩ／Ｆから検出対象となるオブジェクトを探索するためのフレーム画像を所定のフレームレートで受ける。
【００４７】
設定部１３は、連続して入力されるＮ個のフレーム画像のうちの各々のフレーム画像の検出対象を、Ｎ個の検出対象オブジェクトのうちの１つに設定する。
【００４８】
設定部１３は、選択部１５でオブジェクトの選択が行われた場合に、さらに連続して入力されるＭ（＝Ｓ×Ｋ）個のフレーム画像の各フレーム画像の検出対象と検出領域を再設定する。具体的には、設定部１３は、Ｍ個のフレーム画像はＫ個のグループのいずれかに属し、かつ各グループにはＳ個のフレーム画像が含まれるものとし、各グループ内のＳ個のフレーム画像の各々の検出対象をＳ個のオブジェクトのうちの１つに設定し、異なるグループのフレーム画像の検出領域をＫ個に分割した別個の領域に設定する。これによって、１フレームにおける検出処理量を選択前よりも少なくすることができる。１フレームでのオブジェクトの検出処理が、入力される画像のフレームレートに追いつかなくなることを防止できる。
【００４９】
検出部１６は、各フレーム画像において、検出対象として設定されたオブジェクトの検出処理を実行する。検出部１６は、設定部１３で再設定がなされたときには、各フレーム画像の設定された各検出領域において、設定されたオブジェクトの検出処理を実行する。
【００５０】
選択部１５は、検出部１６が前記Ｎ個のフレーム画像のうちのいずれかでオブジェクトを検出した場合に、Ｎ個の検出対象オブジェクトの中から検出されたオブジェクトと同一および関連するＳ個のオブジェクトを選択する。
【００５１】
（動作）
図５は、第２の実施形態のオブジェクト検出の動作手順を表わすフローチャートである。
【００５２】
図５を参照して、まず、検出オブジェクト数ｎが０、変数ｉが１に設定される（ステップＳ２０１）。
【００５３】
次に、画像入力部１４は、第ｉ番目のフレーム画像を受ける（ステップＳ２０２）。
次に、設定部１３は、第ｉ番目のフレーム画像に第ｉ番目のオブジェクトの検出処理を割り当てる（ステップＳ２０３）。
【００５４】
次に、検出部１６は、第ｉ番目のフレーム画像を対象として、割り当てられた第ｉ番目のオブジェクトの検出処理を実行する（ステップＳ２０４）。
【００５５】
次に、検出部１６が第ｉ番目のオブジェクトを検出しなかったときには（ステップＳ２０５でＮＯ）、変数ｉがＮでない場合には（ステップＳ２０６でＮＯ）、変数ｉがインクリメントされた（ステップＳ２０８）後、ステップＳ２０２に戻り、変数ｉがＮの場合には（ステップＳ２０６でＹＥＳ）、変数ｉが０に戻り（ステップＳ２０７）、変数ｉがインクリメントされた（ステップＳ２０８）後、ステップＳ２０２に戻る。
【００５６】
一方、検出部１６が第ｉ番目のオブジェクトを検出したとき（ステップＳ２０５でＹＥＳ）、検出オブジェクト数ｎが１に設定され（ステップＳ２０９）、変数ｊが１に設定される（ステップＳ２１０）。
【００５７】
次に、選択部１５が、検出されたオブジェクトと同一および関連するＳ個のオブジェクトを選択する（ステップＳ２１１）。
【００５８】
次に、画像入力部１４は、第ｊ番目のフレーム画像を受ける（ステップＳ２１２）。
次に、設定部１３は、（ｊ−１）をフレーム内分割数Ｋで除算した余りに１を加えた値ｍを計算する（ステップＳ２１３）。
【００５９】
次に、設定部１３は、変数ｊをフレーム内分割数Ｋで除算した値の小数部分を切り上げた値ｇを計算する（ステップＳ２１４）。
【００６０】
次に、設定部１３は、第ｊ番目のフレーム画像内の第ｍ分割領域に第ｇ番目のオブジェクトの検出処理を割り当てる（ステップＳ２１５）。
【００６１】
次に、検出部１６は、第ｊ番目のフレーム画像の第ｍ分割領域において、第ｇ番目のオブジェクトの検出処理を実行する（ステップＳ２１６）。
【００６２】
次に、検出部１６が第ｇ番目のオブジェクトを検出したときには（ステップＳ２１７でＹＥＳ）、検出オブジェクト数ｎがインクリメントされる（ステップＳ２１８）。
【００６３】
さらに、オブジェクトが検出されたか否かに係らず、その後、変数ｊがＭ（＝Ｓ×Ｌ）でない場合には（ステップＳ２１９でＮＯ）、変数ｊがインクリメントされた（ステップＳ２２０）後、ステップＳ２１２に戻り、変数ｊがＭの場合には（ステップＳ２１９でＹＥＳ）、検出オブジェクト数ｎが１以上の場合に（ステップＳ２２１でＹＥＳ）、ステップＳ２０９からの処理が繰返され、検出オブジェクト数ｎが１未満の場合に（ステップＳ２２１でＮＯ）、ステップＳ２０１からの処理が繰返される。
【００６４】
撮影モードの間は上記のオブジェクト検出処理が繰返される。撮影モードが終了すると、上記オブジェクト検出処理を終了させる。例えば、撮影モードから再生モードに切り替えられると、ＣＰＵ１００２からオブジェクト検出装置１１に対してオブジェクト検出処理終了の命令が通知される。これによりオブジェクト検出装置１１はオブジェクト検出処理を終了させる。
【００６５】
（オブジェクトの検出例）
図６は、検出対象オブジェクトのフレーム画像への割当の例を説明するための図である。
【００６６】
図６に示すように、検出対象のオブジェクトの個数を１６個とする。１６個のオブジェクトは、オブジェクトの種類（ヒトの顔、犬の顔）、大きさ、向きのいずれかがそれぞれ相違する。連続する１６個のフレーム画像の各々に１つのオブジェクトが割り当てられる。たとえば、第１番目のフレーム画像に、種類が「ヒトの顔」で、大きさが「大きく」、向きが「０度回転」のオブジェクトが割り当てられる。
【００６７】
各フレーム画像において、割り当てられたオブジェクトの検出処理が行なわれる。
ここで、図６に示すように、５番目のフレーム画像４０１において、初めて１つのオブジェクト(種類が「ヒトの顔」で、大きさが「大きく」で、向きが「２７０度回転」のオブジェクト)が検出されたものとする。
【００６８】
この後、選択部１５によって、検出されたオブジェクトと同一および関連するＳ個のオブジェクトが選択される。ここでは、検出されたオブジェクトＡと、オブジェクトＡと同じ向きで、同じ種類のオブジェクトＢを選択することによって、２番目以降の検出対象オブジェクトの数を限定して、全オブジェクトの検出処理にかかる時間を短縮する。例えば図６において、オブジェクトＡは（５）の画像、オブジェクトＢは（６）の画像である。このように、１番目のオブジェクトが検出された後に、次の検出対象オブジェクトを絞り込んだ理由は、時間的に連続するフレーム画像の中に存在するオブジェクトは、同じオブジェクトであるか、あるいは種類が同じである、向きが同じである、位置が近い、サイズが近いなどの傾向があるからである。どのように検出対象のオブジェクトを絞り込むかは、システムにおいてそれらのどの傾向を重視するかによって定める。ここでは、向きと種類で検出対象のオブジェクトを絞り込むものとする。
【００６９】
さらに、フレーム画像がＫ個の領域に分割されることとし、連続するＳ×Ｋ（＝Ｍ）個のフレーム画像の各々に１つの分割領域と、１つの検出対象オブジェクトを割り当てることとする。ここでは、前述のようにＳ＝２である。Ｋ＝２とする。
【００７０】
図７は、選択したオブジェクトのフレーム画像への再割当の例を説明するための図である。
【００７１】
第１グループには、第１番目、第３番目のフレーム画像が属し、第２グループには、第２番目、第４番目のフレーム画像が属する。
【００７２】
第１番目のフレーム画像については、（１−１）／Ｋの余りに１を加えた値ｍは１であり、１／Ｋの小数部分を切り上げた値ｇは１であるので、第１番目のフレーム画像の第ｍ分割領域（第１分割領域）に第ｇ番目（第１番目）のオブジェクトＡの検出処理が割り当てられる。
【００７３】
第２番目のフレーム画像については、（２−１）／Ｋの余りに１を加えた値ｍは２であり、２／Ｋの小数部分を切り上げた値ｇは１であるので、第２番目のフレーム画像の第ｍ分割領域（第２分割領域）に第ｇ番目（第１番目）のオブジェクトＡの検出処理が割り当てられる。
【００７４】
第３番目のフレーム画像については、（３−１）／Ｋの余りに１を加えた値ｍは１であり、３／Ｋの小数部分を切り上げた値ｇは２であるので、第３番目のフレーム画像の第ｍ分割領域（第１分割領域）に第ｇ番目（第２番目）のオブジェクトＢの検出処理が割り当てられる。
【００７５】
第４番目のフレーム画像については、（４−１）／Ｋの余りに１を加えた値ｍは２であり、４／Ｋの小数部分を切り上げた値ｇは２であるので、第２番目のフレーム画像の第ｍ分割領域（第２分割領域）に第ｇ番目（第２番目）のオブジェクトＢの検出処理が割り当てられる。
【００７６】
このように、１フレーム画像における検出領域を小さくすることによって、１フレーム画像でのオブジェクト検出処理にかかる時間を短縮することができる。
【００７７】
ここでは、図７のフレーム画像５０１においてオブジェクトＢが検出されたものとする。
【００７８】
図８は、オブジェクトの検出結果を表わす図である。
図８に示すように、オブジェクトＡとオブジェクトＢが検出され、検出結果がＣＰＵ１００２に送られる。
【００７９】
（効果）
以上のように、本実施の形態では、各フレーム画像で１つのオブジェクトを検出対象とする。さらに、オブジェクトが検出された時、検出対象のオブジェクトの数を少なくする。これによって、画像内の２個目以降のオブジェクト検出を高速に行なうことが可能である。
【００８０】
［第３の実施形態］
第１の実施形態では、各フレーム画像での検出処理量が均等になるように、全オブジェクトの検出処理を分割していた。しかしながら、リアルタイム性能の要求が高い組込みシステムにおいては、ある決められた時間内で１フレームの処理を終了することも重要である。第３の実施形態では、実際の処理時間に応じて動的に処理を分割する。
【００８１】
（構成）
図９は、第３の実施形態のオブジェクト検出装置の構成を表わす図である。
【００８２】
図９を参照して、このオブジェクト検出装置２１は、設定部２２と、画像入力部２４と、選択部２５と、検出部２６とを備える。
【００８３】
画像入力部２４は、カメラＩ／Ｆから検出対象となるオブジェクトを探索するためのフレーム画像を所定のフレームレートで受ける。
【００８４】
設定部２２は、複数個の検出対象オブジェクトについての全検出処理を構成する複数個の処理ステップに順序を付ける。また、分割部は、選択部２５でオブジェクトの選択が行われた場合に、選択された１以上のオブジェクトについての全検出処理を構成する複数個の処理ステップを再順序付けする。
【００８５】
検出部２６は、タイマを有し、連続して入力されるフレーム画像のうちの各々のフレーム画像を用いて、所定時間だけ、順序付けされた複数個の処理ステップのうちの未処理の処理ステップを順番に実行する。検出部２６は、設定部２２で再順序付けが行なわれた場合に、さらに連続して入力されるフレーム画像のうちの各々のフレーム画像を用いて、所定時間だけ、再順序付けされた複数個の処理ステップのうちの未処理の処理ステップを順番に実行する。
【００８６】
選択部２５は、検出部２６がいずれかのフレーム画像で、いずれかのオブジェクトを検出した場合に、複数個の検出対象オブジェクトの中から検出されたオブジェクトと同一および関連する１以上のオブジェクトを選択する。
【００８７】
（動作）
図１０は、第３の実施形態のオブジェクト検出の動作手順を表わすフローチャートである。
【００８８】
図１０を参照して、まず、設定部２２は、Ｎ個の検出対象オブジェクトについての全検出処理を構成する処理ステップを第１番〜第Ｐ番に順序付けする（ステップＳ３０１）。
【００８９】
次に、検出オブジェクト数ｎが０、変数ｑが１に設定され、タイマ値が０に設定される（ステップＳ３０２）。
【００９０】
次に、画像入力部２４は、新たなフレーム画像を受ける（ステップＳ３０３）。
次に、検出部２６は、新たなフレーム画像を対象として、第ｑ番目の処理ステップを実行する（ステップＳ３０４）。
【００９１】
次に、検出部２６によって、Ｎ個の検出対象オブジェクトのうちのいずれかのオブジェクトが検出されなかったときには（ステップＳ３０５でＮＯ）、変数ｑがＰでない場合には（ステップＳ３０６でＮＯ）、変数ｑがインクリメントされる（ステップＳ３０７）。さらに、タイマ値が所定の閾値ＴＨを越えた場合には（ステップＳ３０８でＹＥＳ）、設定部２２は、タイマ値を０にリセットして（ステップＳ３０９）、ステップＳ３０３に戻って、新たなフレーム画像での検出処理が開始される。一方、タイマ値が所定の閾値ＴＨを越えていない場合には（ステップＳ３０８でＮＯ）ステップＳ３０４に戻って、同じフレーム画像での検出処理が続行される。
【００９２】
変数ｑがＰである場合には（ステップＳ３０６でＹＥＳ）、ステップＳ３０２からの処理が繰返される。
【００９３】
検出部２６によって、Ｎ個の検出対象オブジェクトのうちのいずれかのオブジェクトが検出されたときには（ステップＳ３０５でＹＥＳ）、検出オブジェクト数ｎが０に設定され（ステップＳ３１０）、選択部２５が、検出されたオブジェクトと同一および関連するＳ個のオブジェクトを選択する（ステップＳ３１１）。
【００９４】
設定部２２は、選択されたＳ個の検出対象オブジェクトについての全検出処理を構成する処理ステップを第１番〜第Ｒ番に再順序付けする（ステップＳ３１２）。
【００９５】
次に、変数ｑが１に設定される（ステップＳ３１３）。
画像入力部２４は、新たなフレーム画像を受ける（ステップＳ３１４）。
【００９６】
検出部２６は、新たなフレーム画像を対象として、第ｑ番目の処理ステップを実行する（ステップＳ３１５）。
【００９７】
検出部２６によって、Ｓ個の検出対象オブジェクトのうちのいずれかのオブジェクトが検出されたときには（ステップＳ３１６でＹＥＳ）、検出オブジェクト数ｎがインクリメントされる（ステップＳ３１７）。
【００９８】
さらに、オブジェクトが検出されたか否かに係らず、変数ｑがＲでない場合には（ステップＳ３１８でＮＯ）、変数ｑがインクリメントされる（ステップＳ３１９）。さらに、タイマ値が所定の閾値ＴＨを越えた場合には（ステップＳ３２０でＹＥＳ）、設定部２２は、タイマ値を０にリセットして（ステップＳ３２１）、ステップＳ３１４に戻って、新たなフレーム画像での検出処理が開始される。一方、タイマ値が所定の閾値ＴＨを越えていない場合には（ステップＳ３２０でＮＯ）、ステップＳ３１５に戻って、同じフレーム画像での検出処理が続行される。
【００９９】
一方、変数ｑがＲの場合には（ステップＳ３１８でＹＥＳ）、検出オブジェクト数ｎが１以上の場合に（ステップＳ３２２でＹＥＳ）、ステップＳ３１０からの処理が繰返され、検出オブジェクト数ｎが１未満の場合に（ステップＳ３２２でＮＯ）、ステップＳ３０１からの処理が繰返される。
【０１００】
撮影モードの間は上記のオブジェクト検出処理が繰返される。撮影モードが終了すると、上記オブジェクト検出処理を終了させる。例えば、撮影モードから再生モードに切り替えられると、ＣＰＵ１００２からオブジェクト検出装置２１に対してオブジェクト検出処理終了の命令が通知される。これによりオブジェクト検出装置２１はオブジェクト検出処理を終了させる。
【０１０１】
（効果）
第１の実施形態では、全処理対象を固定値で分割し各フレームの処理対象を固定化したたため、実際の動作時には様々な外部要因により処理時間要求を満たせない場合もある。第３の実施形態によれば、定められた閾値を越えないような処理時間となるよう動的に分割を行なうため実動作に合わせた分割制御が可能である。
【０１０２】
［変形例］
本発明は、上記の実施形態に限定されるものではなく、たとえば以下のような変形例も含む。
【０１０３】
（１）  第１〜第３の実施形態で説明したようにオブジェクト検出の全処理を時間方向に分割した場合には、あるフレーム画像で検出されたオブジェクトが次に連続するフレームで検出できないという問題がある。
【０１０４】
たとえば、あるフレーム画像でサイズの大きい顔が検出された場合、次のフレームにおいては、検出されたサイズの大きな顔は検出対象ではないため当然ながら検出されない。つまり、あるオブジェクトは、１つのフレームで検出され、他のフレームにおいては検出されない。これは分割数が大きくなればなるほど検出したオブジェクトの追従性が悪くなる。この問題は、オブジェクト追跡装置１００９によって解決できる。
【０１０５】
たとえば、図１１（ａ）〜（ｃ）に示すように、時間的に連続するフレーム画像９０１、９０２、９０３の中のフレーム画像９０１においてオブジェクト９１０が検出されたとする。このとき、図１に示すオブジェクト追跡装置１００９は、次のフレーム画像９０２ではオブジェクト９１０の近傍領域９２０から検出されたオブジェクト９１０と類似するパターンを持つ領域を探索することによって、フレーム画像９０２におけるオブジェクト９１０を検出する。
【０１０６】
オブジェクト追跡装置１００９は、オブジェクト検出装置１００６とは独立に動作可能である。図１１（ｃ）に示すように、フレーム画像９０３では、オブジェクト検出装置１００６が、新しいオブジェクト９１１を検出し、かつオブジェクト追跡装置１００９が既検出のオブジェクト９１０を追跡する。
【０１０７】
（２）  本実施の形態では、１番目のオブジェクトが検出された場合をトリガとして、検出されたオブジェクトと同一および関連するオブジェクトを選択し、再分割および再設定を行なったが、これに限定するものではなく、たとえばデジタルスチルカメラでユーザがモードを変更したり、撮影ボタンを半押ししたことをトリガとして、再分割および再設定を行なうものとしてもよい。
【０１０８】
（３）  第３の実施形態では、１つの処理ステップは短時間で処理できる単位とし、１つの処理ステップの実行後に、タイマ値が閾値ＴＨを越えているかどうかを調べたが、これに限定するものではない。検出部は、１つの処理ステップの実行中に、タイマ値が閾値ＴＨを越えた場合に、実行中の処理ステップを中断し、途中の結果を保存しておき、次のフレーム画像において、中断した処理ステップを途中から実行することとしてもよい。
【０１０９】
（４）  本発明の実施形態では、検出されたオブジェクトと同じ向きで同じ種類のオブジェクトを次回の検出対象として選択したが、これに限定するものではない。たとえば、ヒトの顔が検出されたときに、同じ向きで、異なる種類のオブジェクト（ヒトと犬など）を次回の検出対象としてもよい。
【０１１０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１１１】
２  分割部、３，１３，２２  設定部、４，１４，２４  画像入力部、５，１５，２５  選択部、６，１６，２６  検出部、１０００  デジタルカメラ、１００１  カメラＩ／Ｆ、１００２  ＣＰＵ、１００３  ＳＤＲＡＭ、１００４  ＲＯＭ、１００５  ユーザ操作部Ｉ／Ｆ、１００６  オブジェクト検出装置、１００７  ＬＣＤＩ／Ｆ、１００８  カードＩ／Ｆ、５１，１００９  オブジェクト追跡装置、１０１１  画像処理装置。
【図１】
2013050791.tif 000003
【図２】
2013050791.tif 000004
【図３】
2013050791.tif 000005
【図４】
2013050791.tif 000006
【図５】
2013050791.tif 000007
【図６】
2013050791.tif 000008
【図７】
2013050791.tif 000009
【図８】
2013050791.tif 000010
【図９】
2013050791.tif 000011
【図１０】
2013050791.tif 000012
【図１１】
2013050791.tif 000013