(57)【要約】【課題】  所定時間内にオブジェクト検出を行うと、統合処理が完了せずに途中で打ち切られてしまう可能性がある。【解決手段】  画像処理装置は、画像データを入力する画像入力手段と入力された前記画像データから複数のオブジェクトを検出する検出手段と、前記検出処理が終了した後に、検出された前記オブジェクトの前記画像データにおける位置に基づいて前記複数のオブジェクトを統合する統合手段とを有し、前記検出手段は、前記検出手段による検出処理が終了する前に、検出された複数のオブジェクトを前記統合手段によって統合する統合時間を推定する推定手段と、前記推定手段によって推定された前記統合時間と前記検出手段によるオブジェクト検出の経過時間との合計時間が所定時間以上となった場合、前記検出手段によるオブジェクト検出を打ち切り、前記検出手段による検出処理を終了させる打ち切り手段とを有することを特徴とする。【選択図】  図２
2018005510.tif 000002
【特許請求の範囲】
【請求項１】
画像データを入力する画像入力手段と
入力された前記画像データから複数のオブジェクトを検出する検出手段と、
前記検出手段による検出処理が終了した後に、前記検出手段によって検出された前記オブジェクトの前記画像データにおける位置に基づいて、前記複数のオブジェクトを統合する統合手段と、
を有し、
前記検出手段は、
前記検出手段による検出処理が終了する前に、前記検出手段によって検出された複数のオブジェクトを前記統合手段によって統合する統合時間を推定する推定手段と、
前記推定手段によって推定された前記統合時間と前記検出手段によるオブジェクト検出の経過時間との合計時間が所定時間以上となった場合、前記検出手段によるオブジェクト検出を打ち切り、前記検出手段による検出処理を終了させる打ち切り手段とを有することを特徴とする画像処理装置。
【請求項２】
前記推定手段は、前記検出手段によるオブジェクト検出の処理途中の時点において、該処理途中の時点までに検出されたオブジェクトを前記統合手段によって統合する統合時間を推定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記推定手段は、前記検出手段によるオブジェクト検出の処理途中において、前記検出手段によって検出された前記オブジェクトの数に基づいて、前記統合手段によって前記複数のオブジェクトを統合する統合時間を推定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記推定手段は、前記検出手段によるオブジェクト検出の処理途中において、前記検出手段によって検出された複数のオブジェクトのオブジェクト間の距離に基づいて、前記統合手段によって前記複数のオブジェクトを統合する統合時間を推定することを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記画像入力手段は、動画の一つのフレームとして前記画像データを入力し、
前記推定手段は、前記画像データが入力される前に入力されて統合処理された一つのフレームの統合処理時間に基づいて、前記画像入力手段によって入力された前記画像データの統合処理時間を推定することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記画像入力手段は、動画の一つのフレームとして前記画像データを入力し、
前記推定手段は、前記画像データが入力される前に入力されて統合処理された複数のフレームの統合処理時間に基づいて、前記画像入力手段によって入力された前記画像データの統合処理時間を推定することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項７】
前記推定手段は、前記画像データが入力される前に入力されて統合処理された複数のフレームの統合処理時間の平均値又は最大値に基づいて、前記画像入力手段によって入力された前記画像データの統合処理時間を推定することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記画像入力手段によって入力された前記画像データから、縮小率の異なる複数の縮小画像データを生成する生成手段をさらに有し、
前記検出手段は、入力された前記画像データおよび前記複数の縮小画像データのそれぞれに対して、オブジェクトを検出することを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記検出手段は、入力された前記画像データおよび前記複数の縮小画像データのそれぞれに対して、画像データサイズの小さい順に、オブジェクトを検出することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記検出手段は、入力された前記画像データおよび前記複数の縮小画像データのそれぞれに対して、検出ウィンドウをスキャンさせることによって、オブジェクトを検出することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記検出ウィンドウのサイズが複数あって、
前記検出手段は、前記検出ウィンドウのサイズの大きい順に、入力された前記画像データおよび前記複数の縮小画像データのそれぞれに対して、前記検出ウィンドウをスキャンさせることによって、オブジェクトを検出することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記推定手段は、前記検出手段によって前記複数の縮小画像データのそれぞれに対してオブジェクトを検出する処理が終了した時に、前記検出手段によって検出された複数のオブジェクトを前記統合手段によって統合する統合時間を推定することを特徴とする請求項７乃至１１のいずれか１項に記載の画像処理装置。
【請求項１３】
画像データを入力する画像入力工程と
入力された前記画像データから複数のオブジェクトを検出する検出工程と、
前記検出工程における検出処理が終了した後に、前記検出工程において検出された前記オブジェクトの前記画像データにおける位置に基づいて、前記複数のオブジェクトを統合する統合工程と、
を有し、
前記検出工程において、
前記検出工程における検出処理が終了する前に、前記検出手段によって検出された複数のオブジェクトを前記統合工程において統合する統合時間を推定する推定工程と、
前記推定工程において推定された前記統合時間と前記検出工程におけるオブジェクト検出の経過時間との合計時間が所定時間以上となった場合、前記検出工程におけるオブジェクト検出を打ち切り、前記検出工程における検出処理を終了させる打ち切り工程とを有することを特徴とする画像処理方法。
【請求項１４】
画像データを入力する画像入力ステップと
入力された前記画像データから複数のオブジェクトを検出する検出ステップと、
前記検出ステップにおける検出処理が終了した後に、前記検出ステップにおいて検出された前記オブジェクトの前記画像データにおける位置に基づいて、前記複数のオブジェクトを統合する統合ステップと、
をコンピュータに実行させるプログラムであって、
前記検出ステップにおいて、
前記検出ステップにおける検出処理が終了する前に、前記検出ステップにおいて検出された複数のオブジェクトを前記統合ステップにおいて統合する統合時間を推定する推定ステップと、
前記推定ステップにおいて推定された前記統合時間と前記検出ステップにおけるオブジェクト検出の経過時間との合計時間が所定時間以上となった場合、前記検出ステップにおけるオブジェクト検出を打ち切り、前記検出ステップにおける検出処理を終了させる打ち切りステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中の人体や顔などのオブジェクトを検出する画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、画像中の人体や顔といった特定のオブジェクトを検出する技術が注目されている。
【０００３】
検出対象となるオブジェクトの画像中での位置・大きさは様々である。特許文献１では、次のような処理の流れでオブジェクトを検出している。まず、異なる大きさのオブジェクトを検出するために、入力画像から縮小率の異なる複数の画像を生成する。次に、異なる位置に存在するオブジェクトを検出するために、所定の大きさのウィンドウを各画像に対してスキャンし、ウィンドウ内でオブジェクト検出処理を実行する。縮小率の異なる複数の画像における同一のオブジェクトでも、各画像において同一のオブジェクトの位置・大きさが異なるので、複数のオブジェクトの検出結果が生成されるため、最後に同一のオブジェクトに対して検出された複数の検出結果を統合する。
【０００４】
また、携帯端末や車載機器等の組み込みシステム上でオブジェクト検出処理を実行する場合、オブジェクト検出処理のリアルタイム性を向上させるために所定時間内に処理を完了させる技術がある。ウィンドウ内でのオブジェクト検出処理の高速化技術の例として、非特許文献１と特許文献２との手法がある。非特許文献１では、判別器をカスケード接続した弱判別器により構成し、弱判別器を順に処理する。弱判別器の判別結果に基づいて、次の弱判別器を処理するかどうかを判断する。次の弱判別器を処理しないと判断する場合、残りの弱判別器の処理を省略する。
【０００５】
特許文献２では、組み込みシステム上でオブジェクト検出処理を実行することを想定し、オブジェクト検出処理のリアルタイム性を保証する手法が提案されている。所定時間が経過すると処理を中断し、その時点で得られた検出結果を出力する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５０２７０３０号
【特許文献２】特許第４６５８７８８号
【非特許文献】
【０００７】
【非特許文献１】Ｐ．  Ｖｉｏｌａ，  Ｍ．  Ｊｏｎｅｓ，  “Ｒａｐｉｄ  Ｏｂｊｅｃｔ  Ｄｅｔｅｃｔｉｏｎ  ｕｓｉｎｇ  ａ  Ｂｏｏｓｔｅｄ  Ｃａｓｃａｄｅ  ｏｆ  Ｓｉｍｐｌｅ  Ｆｅａｔｕｒｅｓ”．  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，  Ｖｏｌ．  １，  ｐｐ．  ５１１−５１８，  Ｄｅｃｅｍｂｅｒ  ２００１．
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献１の手法は、処理した弱判別器数によって処理時間が変動する。また、非特許文献１における統合処理は統合前のオブジェクトの検出数によって処理時間が変動する。そのため、あらゆる画像に対して所定時間内に統合処理が完了することを保証することは困難である。
【０００９】
特許文献２の手法は、統合処理を行わずに、所定時間が経過した時点でオブジェクト検出処理の処理を打ち切るため、一つのオブジェクトに対して複数の検出結果が出力される。このような未統合の検出結果は、使用する後段の処理で扱いづらい。例えば、検出したオブジェクトがデータベースに登録されているオブジェクトと一致するかどうかを照合する場合、統合が完了している場合に比べ、照合時間が増大する。あるいは、連続するフレームにおけるオブジェクトの検出結果を用いて各フレーム中のオブジェクトを追尾する場合、フレーム間での検出されたオブジェクトの対応付けに要する時間が、統合が完了している場合に比べ、増大する。また、フレーム間での検出されたオブジェクトの対応付けの失敗が誤追尾の原因となる。
【００１０】
本発明は上記の課題に鑑みてなされたものであり、オブジェクトの検出結果の統合処理を所定時間内に完了するように、オブジェクト検出処理を打ち切る画像処理装置を提供することを目的とする。また、その画像処理装置の画像処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明に係る画像処理装置は、以下の構成を有する。すなわち、画像データを入力する画像入力手段と入力された前記画像データから複数のオブジェクトを検出する検出手段と、前記検出手段による検出処理が終了した後に、前記検出手段によって検出された前記オブジェクトの前記画像データにおける位置に基づいて、前記複数のオブジェクトを統合する統合手段と、を有し、前記検出手段は、前記検出手段による検出処理が終了する前に、前記検出手段によって検出された複数のオブジェクトを前記統合手段によって統合する統合時間を推定する推定手段と、前記推定手段によって推定された前記統合時間と前記検出手段によるオブジェクト検出の経過時間との合計時間が所定時間以上となった場合、前記検出手段によるオブジェクト検出を打ち切り、前記検出手段による検出処理を終了させる打ち切り手段とを有することを特徴とする。
【発明の効果】
【００１２】
本発明の画像処理装置によれば、オブジェクトの検出結果の統合処理を所定時間内に完了するように、オブジェクト検出処理を打ち切ることで、オブジェクト検出処理のリアルタイム性を向上させる。
【図面の簡単な説明】
【００１３】
【図１】（ａ）第１の実施形態における画像処理装置の機能構成を示すブロック図である。（ｂ）第１の実施形態におけるオブジェクト検出の処理の流れを示すフローチャートである。
【図２】第１の実施形態における検出処理の流れを示すフローチャートである。
【図３】第１の実施形態における統合処理の流れを示すフローチャートである。
【図４】第１の実施形態における画像処理装置のハードウエア構成を示すブロック図である。
【図５】（ａ）第１の実施形態における検出処理のピラミッド画像を説明する図である。（ｂ）第１の実施形態における検出処理のブロック画像を説明する図である。
【図６】第１の実施形態における判別処理の論理構造を説明する図である。
【図７】第１の実施形態における判別パラメータセットの例を説明する図である。
【図８】（ａ）第１の実施形態における検出結果の例を説明する図である。（ｂ）第１の実施形態における統合結果の例を説明する図である。
【図９】第２の実施形態における検出処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１４】
（第１の実施形態）
以下、第１の実施形態について図面を参照して詳細に説明する。
【００１５】
＜画像処理装置の構成例＞
図１（ａ）は、本実施形態における画像処理装置の機能構成を示すブロック図である。本実施形態の画像処理装置は、画像入力部１００、オブジェクト検出部１０１および統合部１０２を有する。画像入力部１００は、非図示の外部装置又は記憶部から画像データを入力する。オブジェクト検出部１０１は、入力された画像データからオブジェクトを検出する。統合部１０２は、検出されたオブジェクトを統合する。オブジェクト検出部１０１は、統合部１０２によるオブジェクトの統合時間を推定する統合時間推定部１０１１を有する。また、オブジェクト検出部１０１は、統合部１０２によるオブジェクトの統合処理が所定時間内に完了するように、オブジェクト検出部１０１による検出処理を打ち切る検出打ち切り部１０１２を有する。なお、本実施形態において検出するオブジェクトは、例えば顔や人体であるが、これに限らない。
【００１６】
図４は、オブジェクト検出方法を実現可能な画像処理装置のハードウエア構成例を示すブロック図である。
【００１７】
データ保存部４０１は、画像データを保持する部分である。データ保存部４０１は、例えば、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲやＤＶＤ、メモリーカード、ＣＦカード、スマートメディア、ＳＤカード、メモリスティック、ｘＤピクチャーカード、ＵＳＢメモリ等で構成される。データ保存部４０１には画像データの他にも、プログラムやその他のデータを保存することも可能である。あるいは、後述するＲＡＭ４０６の一部をデータ保存部４０１として用いるのであっても良い。またあるいは、後述する通信部４０２により接続した先の機器の記憶装置を、通信部４０２を介して利用するというように仮想的に構成するのであっても良い。
【００１８】
表示部４０３は、オブジェクト検出結果の画像データを表示、あるいはＧＵＩ等の画像データを表示する装置で、一般的にはＣＲＴや液晶ディスプレイなどが用いられる。あるいは、ケーブル等で接続された装置外部のディスプレイ装置であっても構わない。例えば、入力画像に対して検出結果の枠を重畳して表示する。
【００１９】
ＣＰＵ４０４は本実施形態に係る主要な処理を実行すると共に本装置全体の動作を制御する。ＲＯＭ４０５とＲＡＭ４０６は、その処理に必要なプログラム、データ、作業領域などをＣＰＵ４０４に提供する。後述する処理に必要なプログラムがデータ保存部４０１に格納されている場合や、ＲＯＭ４０５に格納されている場合には、一旦ＲＡＭ４０６に読み込まれてから実行される。またあるいは通信部４０２を経由して装置がプログラムを受信する場合には、一旦データ保存部４０１に記録した後にＲＡＭ４０６に読み込まれるか、直接通信部４０２からＲＡＭ４０６に直接読み込まれてから実行される。
【００２０】
ＣＰＵ４０４は、ＲＡＭ４０６に書き込まれた画像を読み出して本実施形態に係るオブジェクト検出処理を実行する。処理途中のデータはＲＡＭ４０６に書き込み、必要な場合に読み込む。そして、オブジェクト検出結果をＲＡＭ４０６に書き込む。あるいは、表示部４０３に表示する。またあるいは、通信部４０２を介して外部装置に送信する。
【００２１】
なお、図４においては、ＣＰＵ４０４が１つだけである構成だが、これを複数設けるような構成にしても良い。
【００２２】
通信部４０２は、機器間の通信を行うためのＩ／Ｆである。通信部４０２は、例えば、公知のローカルエリアネットワーク、ＵＳＢ、ＩＥＥＥ１２８４、ＩＥＥＥ１３９４、電話回線などの有線による通信方式であっても良い。あるいは、通信部４０２は、赤外線（ＩｒＤＡ）、ＩＥＥＥ８０２．１１ａ、ＩＥＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１１ｇ、ＩＥＥＥ８０２．１１ｎ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＵＷＢ（Ｕｌｔｒａ  ｗｉｄｅ  Ｂａｎｄ）等の無線通信方式であっても良い。
【００２３】
なお、図４ではデータ保存部４０１、表示部４０３が全て１つの装置内に含まれるような図を示しているが、あるいはこれらの部分が公知の通信方式による通信路で接続されており、全体としてこのような構成となっているのであっても構わない。
【００２４】
システム構成については、上記以外にも様々な構成要素が存在するが、本実施形態の主な構成要素ではないのでその説明は省略する。
【００２５】
以下、図４に示した画像処理装置が処理する内容についてフローチャートを用いて説明する。以下、フローチャートは、ＣＰＵ４０４が制御プログラムを実行することにより実現されるものとする。
【００２６】
＜オブジェクト検出方法＞
本実施形態におけるオブジェクト検出方法は、検出処理中の所定のタイミングにおいてそれまでに検出したオブジェクトの数を基に統合処理に必要な時間を推定する。そして、残り時間内に統合処理が完了するように検出処理を打ち切る。なお、入力データとして画像データを想定する。
【００２７】
図１（ｂ）〜図３は本実施形態におけるオブジェクト検出方法を示すフローチャートである。図１（ｂ）は、第１の実施形態におけるオブジェクト検出の処理の流れを示すフローチャートである。図１（ｂ）に示すように、オブジェクト検出方法は大きく検出処理（ステップＳ１０１）と統合処理（ステップＳ１０２）から構成される。以下、検出処理、統合処理の流れをそれぞれ図２、図３を用いて説明する。
【００２８】
検出処理の流れについて図２を用いて説明する。ステップＳ２０１〜Ｓ２０３では、各種繰返しループを開始する。図５を併用して各繰返しループについて説明する。
【００２９】
ステップＳ２０１では、画像入力部１００から入力されたピラミッド画像に対して、オブジェクト検出部１０１はピラミッド画像の繰返しループを開始する。ピラミッド画像とは、図５（ａ）に示す入力画像データ５０１および、入力画像データ５０１から生成された縮小率の異なる縮小画像データ５０２、縮小画像データ５０３のことである。なお、図５に示すピラミッド画像は３枚の画像であるが、ピラミッド画像は３枚以外あの複数の画像であってもよい。本実施形態では、非図示のピラミッド画像生成部によって入力画像データから生成されたピラミッド画像は予めＲＡＭ４０６に格納されているものとする。画像入力部１００はピラミッド画像を入力して使用することにより、オブジェクト検出部１０１は入力画像中の異なる大きさのオブジェクトを検出することが可能となる。本実施形態では、ピラミッド画像の縮小画像データ５０３、縮小画像データ５０２、入力画像データ５０１の順に画像データサイズの小さいピラミッド画像から処理する。これは、検出処理が処理途中の時点で打ち切られた場合に、検出結果として、画像中の比較的に大きいオブジェクトが優先されるようにするためである。
【００３０】
なお、本実施形態では入力画像から生成された複数のピラミッド画像に対してオブジェクト検出を行う例について説明するが、必ずしもオブジェクト検出の処理対象をピラミッド画像に限定する必要はない。
【００３１】
また、検出ウィンドウのサイズが複数あってもよい。例えば、事前に異なるサイズの検出ウィンドウを用意して、検出ウィンドウの大きいサイズ順に入力画像をラスタスキャンして、大きさの異なるオブジェクトを検出してもよい。
【００３２】
また、必ずしも画像中の比較的に大きいオブジェクトを優先して検出する必要はない。例えば、女性の顔や人体より男性の顔や人体を正確に検出する弱判別器を使用し、結果的に優先的に男性の顔や人体を検出するようにしてもよい。
【００３３】
ステップＳ２０２では、オブジェクト検出部１０１はブロック画像の繰返しループを開始する。ブロック画像とは、ピラミッド画像をブロック状に分割した画像のことである。例えば、図５（ｂ）に示すように、入力画像５０１は複数のブロック画像５０４〜５０９に分けられている。本実施形態では、オブジェクト検出部１０１はラスタ順にブロック画像を処理する。なお、図２ではブロック間の重なりがないように記載したが、後述する検出ウィンドウ５１０がピラミッド画像中で連続するようにブロック間で重なりをもたせてもよい。
【００３４】
ステップＳ２０３では、オブジェクト検出部１０１は検出ウィンドウの繰返しループを開始する。検出ウィンドウとは、検出処理の処理単位のことである。オブジェクト検出部１０１は、図５に示す検出ウィンドウ５１０をブロック画像内でラスタスキャンさせ、検出ウィンドウ５１０内にオブジェクトが含まれるかどうかを判定する。
【００３５】
ステップＳ２０４では、オブジェクト検出部１０１は検出ウィンドウに対して判別処理を実行する。図６は本実施形態におけるオブジェクト検出部１０１の判別処理の論理構造を説明する図である。
【００３６】
本実施形態では、オブジェクト検出部１０１はＮ個の弱判別器をカスケード接続した判別器を使用する。弱判別器６０１、弱判別器６０２および弱判別器６０３はそれぞれ１，２，Ｎ番目の弱判別器であり、１〜Ｎの順に判別処理を実行する。それぞれの判別器は予めＢｏｏｓｔｉｎｇ等の機械学習により作成した判別パラメータに従って検出対象のオブジェクトが存在する（Ｔｒｕｅ）もしくは存在しない（Ｆａｌｓｅ）と判定する。一つの弱判別器がＴｒｕｅであると判定されると次の弱判別器に移る。すべての弱判別器の判別結果がＴｒｕｅであった場合、その検出ウィンドウ内に領域に検出対象のオブジェクトが存在すると判定する。一方、いずれかの弱判別器の判別結果がＦａｌｓｅであった場合、その時点で領域内に検出対象のオブジェクトは存在しないと判定する。
【００３７】
図７は本実施形態における判別パラメータの例を説明する図である。判別パラメータはＲＡＭ４０６もしくはＲＯＭ４０５に格納する。図７におけるｉは図６における弱判別器の番号に対応する。各弱判別器に対する判別パラメータは、検出ウィンドウ内の参照座標、その座標における画素値を検出対象のオブジェクトらしさを示す評価値に変換する変換テーブル、評価値との比較のための閾値から構成する。第ｉ番目の弱判別器は、第０〜第ｉ−１番目の弱判別器の評価値の累積値が閾値以上であればＴｒｕｅ、それ以外であればＦａｌｓｅと判定する。
【００３８】
ステップＳ２０５では、オブジェクト検出部１０１はブロック内のすべての検出ウィンドウに対する判別処理が完了したかどうかを判定する。すべての検出ウィンドウに対する判別処理が完了した場合は、ステップＳ２０５に進み、検出ウィンドウのループを終了する。一方、すべての検出ウィンドウに対する判別処理が完了していない場合はステップＳ２０４に戻り、次の検出ウィンドウに対する判別処理を実行する。
【００３９】
ステップＳ２０６では、統合時間推定部１０１１は、ステップＳ１０２の統合部１０２による統合処理に要する時間を推定する。本実施形態では、これまでにオブジェクト検出部１０１の検出したオブジェクトの数（Ｍ）に基づいて統合処理時間を推定する。後述するように、本実施形態における統合処理では１つの検出オブジェクトと他の検出オブジェクトとの座標距離に基づいて統合するかどうかを判定するため、統合処理に要する時間はＭ２の値を用いて算出する。そこで、統合処理の推定時間Ｔｉｎｔは次式に従って計算する。なお、次式のＡおよびＢの値は事前に設定される。
【００４０】
Ｔｉｎｔ＝Ａ・Ｍ２＋Ｂ      （１）
通常、統合処理に要する時間は検出オブジェクトの数だけでなく、検出オブジェクトの分布にも依存する。ＡおよびＢの値はこれらを考慮して定める。本実施形態では、検出オブジェクトの数・分布が異なる多数の実験画像に対する統合処理時間を計測し、すべての実験画像に対する統合処理が完了するようにＡおよびＢの値を定める。
【００４１】
ステップＳ２０７では、検出打ち切り部１０１２は、検出処理を打ち切るかどうかを判定する。検出処理を開始してからの経過時間をＴｄｅｔ、ステップＳ２０６において算出した統合処理の推定時間をＴｉｎｔ、全ての処理を完了させる設定時間をＴｔｏｔａｌとすると、打ち切り判定部１０１２は、次式が成立する場合に検出処理を打ち切ると判定する。即ち、検出打ち切り部１０１２は、検出処理を開始してからの経過時間と統合処理の推定時間との合計時間が設定された所定時間以上となった時点で検出処理を打ち切る。
【００４２】
Ｔｔｏｔａｌ＜Ｔｄｅｔ＋Ｔｉｎｔ      （２）
ステップＳ２０８では、ステップＳ２０７の判定結果に基づいて、検出打ち切り部１０１２は検出処理を打ち切る。式（２）が成立したら検出処理を終了する。一方、式（２）が成立しなかった場合はステップＳ２０９に進み、検出処理を継続する。
【００４３】
式（２）が成立したら検出処理を終了する。一方、式（２）が成立しなかった場合はステップＳ２０８に進み、検出処理を継続する。
【００４４】
ステップＳ２０９では、オブジェクト検出部１０１は、ピラミッド画像内のすべてのブロック画像に対する処理が完了したかどうかを判定する。すべてのブロック画像に対する処理が完了した場合は、ステップＳ２１０に進み、ブロック画像のループを終了する。一方、すべてのブロック画像に対する処理が完了していない場合はステップＳ２０３に戻り、次のブロック画像に対する処理を実行する。
【００４５】
ステップＳ２１０では、オブジェクト検出部１０１は、すべてのピラミッド画像に対する処理が完了したかどうかを判定する。すべてのピラミッド画像に対する処理が完了した場合は、検出処理を終了する。一方、すべてのピラミッド画像に対する処理が完了していない場合はステップＳ２０２に戻り、次のピラミッド画像に対する処理を実行する。
【００４６】
図８（ａ）は検出結果の例を説明する図である。以上説明した検出処理により、図８（ａ）に示すような検出結果８０１が得られる。検出結果８０１中の矩形はオブジェクトが検出された検出ウィンドウを示す。一つのオブジェクトに対してピラミッド画像の縮小画像で検出された複数の検出ウィンドウは入力画像中での大きさ・位置に拡大している。例えば、検出ウィンドウ８０２、検出ウィンドウ８０３、検出ウィンドウ８０４はそれぞれ入力画像５０１、第一縮小画像５０２、第二縮小画像５０３における検出結果に対応するものである。以降説明する統合処理により、入力画像５０１における位置の近い検出結果を一つのオブジェクトに対して検出された検出結果として統合し、図８（ｂ）に示す統合結果８０５を生成する。
【００４７】
統合処理の流れについて図３を用いて説明する。統合部１０２は、ステップＳ３０１とステップＳ３０２とにおいて、検出結果の統合処理ループを開始する。統合部１０２は、オブジェクト検出部１０１によって得られたＮ個の検出結果に対して、検出結果ｉと検出結果ｊとを比較する。
【００４８】
ステップＳ３０３では、統合部１０２は、検出結果ｉと検出結果ｊが同一の検出結果であるかどうかを判定する。同一である場合は何も処理をせずにステップＳ３０６に進む。一方、異なる検出結果であった場合はステップＳ３０４に進む。
【００４９】
ステップＳ３０４では、統合部１０２は、検出結果ｉと検出結果ｊの入力画像上での距離が予め定めた閾値以下であるかどうかを判定する。入力画像上での距離はそれぞれの検出結果である矩形の左上の頂点座標間のユークリッド距離とする。距離が閾値以下であった場は、ステップＳ３０５に進む。一方、距離が閾値よりも大きかった場合はステップＳ３０６に進む。
【００５０】
ステップＳ３０５では、統合部１０２は、検出結果ｉと検出結果ｊの累積評価値を比較し、累積評価値の低い方の検出結果を削除することによって検出結果を統合する。統合処理が完了すると検出結果を更新し、ステップＳ３０１に進み、更新後の検出結果に対する繰返しループを開始する。
【００５１】
ステップＳ３０６およびステップＳ３０７では、すべての検出結果に対する統合処理が完了したかどうかを判定する。統合処理が完了した場合は、ステップＳ３０７に進む。一方、統合処理が完了していない場合はステップＳ３０２に戻り、次の検出結果に対する処理を実行する。
【００５２】
以上の処理により、距離が閾値以下の検出結果がすべて統合されるまで処理を継続する。
【００５３】
本実施形態は、図３に示す統合処理を例として説明したが、これに限らない。例えば、画像中の所定の領域内の座標をすべてその領域の中心座標に変換するテーブルを用意し、検出結果の左上座標にその変換テーブルを適用することで統合してもよい。
【００５４】
以上説明したように、本実施形態のオブジェクト検出方法によれば、ブロック画像に対する検出処理が完了する度に、それまでに検出したオブジェクトの数を基に統合処理に必要な時間を推定する。そして、残り時間内に統合処理が完了するように検出処理を打ち切ることによって、統合処理が処理途中で打ち切られないため、後段の処理が扱いやすい検出結果が得られるという利点がある。
【００５５】
本実施形態では、一つのブロック画像に対する検出処理が完了する度に統合処理時間を推定するとしたが、統合処理時間を推定するタイミングはこれに限らない。一枚のピラミッド画像に対する検出処理が完了した時点でもよいし、一つの検出ウィンドウに対する検出処理が完了した時点でもよい。あるいは、複数のピラミッド画像、複数のブロック、複数の検出ウィンドウいずれかに対する検出処理が完了した時点でもよい。
【００５６】
（第２の実施形態）
第２の実施形態では、第１の実施形態と異なる部分のみを説明する。
【００５７】
第１の実施形態におけるオブジェクト検出方法は、ブロック画像に対する検出処理が完了する度のオブジェクトの検出数を利用して統合処理に必要な時間を推定し、すべての処理が所定時間内に収まるように検出処理を打ち切る。
【００５８】
一方、本実施形態は、入力された動画の各フレームに対して図１に示す処理を行うことを想定する。統合時間推定部１０１１は、画像処理装置が直前に統合処理したフレームに要した統合処理時間を利用して現在入力されているフレームに対する統合処理に必要な時間を推定する。そして、検出打ち切り部１０１２は、現在のフレームに対するすべての処理が所定時間内に収まるように、検出処理が終了する前に検出処理を打ち切る。
【００５９】
図９は本実施形態における検出処理の流れを示すフローチャートである。
【００６０】
ステップＳ９０１では、統合時間推定部１０１１は、ステップＳ１０２の統合処理に要する時間を推定する。本実施形態では、統合時間推定部１０１１は、前回のフレーム（直前に検出処理したフレーム）に対する統合処理時間（Ｔｐａｓｔ）に基づき、次式に従って現在入力されているフレームの統合処理の推定時間Ｔｉｎｔを計算する。
【００６１】
Ｔｉｎｔ＝Ｔｐａｓｔ＋Ｃ      （３）
ここで、Ｃはマージンのための定数である。連続するフレームであっても検出結果は異なるため、前回の統合処理時間をそのまま使用する訳でなく、所定のマージンを設定する。なお、最初のフレームに対するＴｐａｓｔは、第１の実施形態の方法によって推定し、或いは予め多数の実験画像に対して計測した統合処理時間の最大値を用いる。
【００６２】
図９の説明では、直前に処理した一つのフレームに対する統合処理に要した時間を基に統合処理時間を推定するとしたが、これに限らない。以前に処理した複数のフレームの統合処理に要した時間の平均値、あるいは最大値を基に推定してもよい。
【００６３】
以上説明したように、本実施形態のオブジェクト検出方法によれば、前回のフレームに対する統合処理時間を基に現在のフレームの統合処理に必要な時間を推定する。統合処理時間の推定は、現在のフレームに対する検出処理の開始時に１回だけ実行すればよいため、第１の実施形態の方式よりも推定に要する時間を削減することが可能となる。
【００６４】
（第３の実施形態）
第１の実施形態では、検出したオブジェクトの数に基づいて統合処理に必要な時間を推定するとしたが、本実施形態では、オブジェクトの分布を用いて統合処理の時間を推定する。即ち、本実施形態で推定する統合処理の時間は、検出されたオブジェクトの数が同じでも、オブジェクト間の距離によって異なる。例えば、入力画像において他のオブジェクトとの距離の近いオブジェクトが存在しない場合に統合処理の処理時間は最短となり、検出結果ループの後半に距離の近いオブジェクトが多く存在すると処理時間が長くなる。そこで、本実施形態の統合時間推定部１０１１は、オブジェクトの数およびオブジェクト間の距離に基づいて、式（１）のＡおよびＢの値を変更する。
【００６５】
オブジェクトの数のみを使用する場合は、あらゆる入力画像に対して統合処理が完了することを保証するために、処理時間が最長となるオブジェクトの分布を想定して推定時間を決定するため、必要以上に推定時間が長くなる場合がある。一方、オブジェクトの分布の情報を併用すると、推定時間に含まれる余分な時間が短くなるため、検出処理を実行可能な時間が長くなり、検出精度が向上するという利点がある。
【００６６】
なお、第１の実施形態と第２の実施形態とでは、検出処理の実行中に統合処理時間を推定するとしたが、本実施形態はこれに限らない、事前に定めた値を推定時間としてもよい。例えば、検出オブジェクトの数・分布が異なる多数の実験画像に対する統合処理時間を計測し、その中の最大時間に所定のマージンを加算した値を推定時間とする。
【００６７】
また、第１の実施形態と第２の実施形態とでは、処理を打ち切る対象は検出処理のみとしたが、本実施形態はこれに限らない。推定した時間内に統合処理が完了せず、処理開始からの経過時間がＴｔｏｔａｌ達した場合には、その時点ですべての処理を打ち切るように構成してもよい。
【００６８】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６９】
１００  画像入力部
１０１  オブジェクト検出部
１０１１  統合時間推定部
１０１２  検出打ち切り部
１０２  統合部
【図１】
2018005510.tif 000003
【図２】
2018005510.tif 000004
【図３】
2018005510.tif 000005
【図４】
2018005510.tif 000006
【図５】
2018005510.tif 000007
【図６】
2018005510.tif 000008
【図７】
2018005510.tif 000009
【図８】
2018005510.tif 000010
【図９】
2018005510.tif 000011