(57)【要約】  本発明は、検出窓を走査することにより、画像内の物体を認識および位置特定する装置に関する。本発明によれば、装置（１）は、同時ハードウェアタスク用のパイプライン形式で設計されたデータストリームアーキテクチャを含み、このアーキテクチャは、  各検出窓に対して記述子（Ｄ）を生成する手段（４、５、６、９）と、  各記述子に対して方位勾配のヒストグラムを決定するヒストグラム決定部（７）と、  Ｎ個の並列の処理ユニット（ＵＴ）であって、各処理ユニットは、各記述子に関連付けられたパラメータに応じてヒストグラムを解析することにより、関係する記述子が認識対象物体の少なくとも一部分を含む確率を表すパーシャルスコアを与えることが可能であり、各検出窓のパーシャルスコアの合計は、検出窓（Ｆ１、Ｆ２、…、ＦＮ）が認識対象物体を含む確率を表すグローバルスコア（Ｓ１、Ｓ２、…、ＳＮ）を与える、処理ユニット（ＵＴ）と、を含む。
2012511756.tif 000002
【特許請求の範囲】
【請求項１】
検出窓（Ｆ１、Ｆ２、…、ＦＮ）を走査することによって、デジタル画像（Ｉｏｒｉｇ）内の物体を認識および位置特定する装置において、
前記装置は、同時ハードウェアタスク用のデータストリームパイプラインアーキテクチャを備え、前記アーキテクチャは、
各検出窓（Ｆ１、Ｆ２、…、ＦＮ）に対して記述子（Ｄ）を生成する手段（４、５、６、９）であって、各記述子（Ｄ）は、前記デジタル画像のうちの関係する前記検出窓に属する部分の範囲を定める、手段（４、５、６、９）と、
前記関係する記述子（Ｄ）によって範囲を定められた、前記デジタル画像の前記部分の特徴を表すヒストグラムを、各記述子に対して決定するヒストグラム決定部（７）と、
Ｎ個の並列の処理ユニット（ＵＴ１、ＵＴ２、…、ＵＴＮ）であって、検出窓（Ｆ１、Ｆ２、…、ＦＮ）が各処理ユニット（ＵＴ１、ＵＴ２、…、ＵＴＮ）に割り当てられ、各処理ユニットは、各記述子（Ｄ）に関連付けられたパラメータ（属性、Ｓｄ、α、β）に応じて前記関係する記述子（Ｄ）の前記ヒストグラムを解析することにより、前記記述子が認識対象の前記物体の少なくとも一部分を含む確率を表すパーシャルスコアを与えることが可能であり、各検出窓の前記パーシャルスコアの合計は、前記検出窓（Ｆ１、Ｆ２、…、ＦＮ）が前記認識対象物体を含む確率を表すグローバルスコア（Ｓ１、Ｓ２、…、ＳＮ）を与える、前記処理ユニット（ＵＴ１、ＵＴ２、…、ＵＴＮ）と、
を含むことを特徴とする装置。
【請求項２】
ＡＳＩＣのような専用集積回路の形で実装されることを特徴とする、請求項１に記載の装置。
【請求項３】
各検出窓に対して記述子（Ｄ）を生成する前記手段（４、５、６、９）、前記ヒストグラム決定部（７）、および前記Ｎ個の処理ユニット（ＵＴ１、ＵＴ２、…、ＵＴＮ）の集合は、それぞれが前記パイプラインアーキテクチャの一ステージを形成することを特徴とする、請求項１または２に記載の装置。
【請求項４】
前記デジタル画像（Ｉｏｒｉｇ）は、Ｍ＋１個の方位画像（Ｉｍ）に変換され、最初のＭ個の方位画像（Ｉｍ）のそれぞれは、画素（ｐ（ｘ，ｙ））ごとに、ある角度値範囲にわたる信号の振幅の勾配を含み、最後の方位画像（Ｉｍ）は、画素（ｐ（ｘ，ｙ））ごとに、前記信号の振幅の勾配の絶対値を含み、各ヒストグラムは、Ｍ＋１個の成分（Ｃｍ）を含み、各成分（Ｃｍ）は、前記方位画像（Ｉｍ）のうちの１つにおける、当該の記述子（Ｄ）に含まれる前記画素（ｐ（ｘ，ｙ））の重み（ｗｏ（ｘ，ｙ））の合計を収容することを特徴とする、請求項１〜３のいずれか一項に記載の装置。
【請求項５】
各処理ユニット（ＵＴ１、ＵＴ２、…、ＵＴＮ）は、
Ｍ＋１個の入力部と１個の出力部とを備え、前記第１のパラメータ（属性）に応じてヒストグラムの前記成分（Ｃｍ）のうちの１つを連続して選択する、第１の論理ユニット（２１）と、
前記選択された成分（Ｃｍ）と前記第２のパラメータ（Ｓｄ）とを比較する比較器（２２）と、
２つの入力部（２３１、２３２）と１つの出力部とを備える第２の論理ユニット（２３）であって、前記第１の入力部（２３１）は、前記第３のパラメータ（α）を受け取り、前記第２の入力部（２３２）は、前記第４のパラメータ（β）を受け取り、前記出力部は、前記比較の結果に応じて前記第３のパラメータ（α）または前記第４のパラメータ（β）を与える、第２の論理ユニット（２３）と、
前記第２の論理ユニット（２３）の前記出力部に接続されたアキュムレータ（２４）であって、一方で、関係する前記検出窓（Ｆ１、Ｆ２、…、ＦＮ）の前記様々な記述子（Ｄ）に関連付けられた前記パーシャルスコアを与えることと、他方で、前記検出窓（Ｆ１、Ｆ２、…、ＦＮ）に関連付けられた前記グローバルスコア（Ｓ１、Ｓ２、…、ＳＮ）を与えることとのために、前記第３および／または第４のパラメータ（α、β）を合算するアキュムレータ（２４）と、
を備えることを特徴とする、請求項４に記載の装置。
【請求項６】
各処理ユニット（ＵＴ１、ＵＴ２、…、ＵＴＮ）は、第３の論理ユニット（２５）および乗算器（２６）を含み、前記論理ユニット（２５）は、第１の入力部（２５１）において関係する前記ヒストグラムのＭ＋１番目の成分（ＣＭ＋１）を受け取り、第２の入力部（２５２）において前記関係する記述子（Ｄ）の表面積を受け取り、最初のＭ個の成分のうちの１つが前記第２のパラメータ（Ｓｄ）と比較された場合は前記論理ユニット（２５）の前記第１の入力部（２５１）を前記乗算器（２６）の第１の入力部（２６１）に接続し、あるいは前記Ｍ＋１番目の成分（ＣＭ＋１）が前記第２のパラメータ（Ｓｄ）と比較された場合は前記論理ユニット（２５）の前記第２の入力部（２５２）を前記乗算器（２６）の第１の入力部（２６１）に接続し、前記乗算器（２６）の第２の入力部（２６２）は、前記第２のパラメータ（Ｓｄ）を受け取り、前記乗算器（２６）の出力部は、前記比較器（２２）の入力部（２２２）に接続されて、前記選択された成分（Ｃｍ）が、前記Ｍ＋１番目の成分（ＣＭ＋１）または前記記述子の前記表面積で重み付けされた前記第２のパラメータ（Ｓｄ）と比較されることを特徴とする、請求項５に記載の装置。
【請求項７】
前記ヒストグラム決定部（７）は、Ｍ＋１個の積分画像（Ｉｉｎｔ，ｍ）からヒストグラムを決定することが可能であり、各積分画像（Ｉｉｎｔ，ｍ）は、各画素（ｐ（ｍ，ｎ））の重み（ｗｉ（ｍ，ｎ））が、前記方位画像（Ｉｍ）のうちの１つにおける、原点（Ｏ）と関係する前記画素（ｐ（ｍ，ｎ））とによって範囲が定まる矩形面にあるすべての前記画素（ｐ（ｘ，ｙ））の重み（ｗｏ（ｘ，ｙ））の合計に等しい画像であることを特徴とする、請求項４、５または６に記載の装置。
【請求項８】
前記装置が、前記Ｍ＋１個の積分画像（Ｉｉｎｔ，ｍ）を収容するメモリ（２）と、前記メモリ（２）へのアクセスを制御するメモリ制御部（３）とを備え、前記メモリ（２）の帯域幅は、各ヒストグラムが、１０以下のサイクル数Ｎｃで４×（Ｍ＋１）個のデータから決定されるように決定され、前記サイクル数Ｎｃは、関係式
【数１】
2012511756.tif 000005
（式中、ｋは、１サイクルの間に前記メモリ（２）によってアクセス可能なデータの数）
で定義されることを特徴とする、請求項７に記載の装置。
【請求項９】
各検出窓に対して記述子（Ｄ）を生成する前記手段は、前記検出窓（Ｆ１、Ｆ２、…、ＦＮ）のサイズと、前記デジタル画像（Ｉｏｒｉｇ）における前記検出窓（Ｆ１、Ｆ２、…、ＦＮ）の動きのステップとを反復的に決定するスケールループ部（４）を備えることを特徴とする、請求項１〜８のいずれか一項に記載の装置。
【請求項１０】
各検出窓に対して記述子（Ｄ）を生成する前記手段は、カスケード部（５）を備え、前記カスケード部（５）は、検出窓（Ｆ１、Ｆ２、…、ＦＮ）の座標（ｘＦＡ，ｙＦＡ）および（ｘＦＣ，ｙＦＣ）を、前記検出窓のサイズおよび動きステップに応じて生成し、各検出窓（Ｆ１、Ｆ２、…、ＦＮ）を処理ユニット（ＵＴ１、ＵＴ２、…、ＵＴＮ）に割り当てることを特徴とする、請求項１〜９のいずれか一項に記載の装置。
【請求項１１】
各検出窓に対して記述子（Ｄ）を生成する前記手段は、記述子ループ部（６）を備え、前記記述子ループ部（６）は、各検出窓（Ｆ１、Ｆ２、…、ＦＮ）に対して、前記検出窓（Ｆ１、Ｆ２、…、ＦＮ）および前記認識対象物体の座標（ｘＦＡ，ｙＦＡ）および（ｘＦＣ，ｙＦＣ）に応じて、記述子（Ｄ）の座標（ｘＤＡ，ｙＤＡ）および（ｘＤＣ，ｙＤＣ）を反復的に生成することを特徴とする、請求項１０に記載の装置。
【請求項１２】
前記装置がスコア解析部（８）を備え、前記スコア解析部（８）は、グローバルスコア（Ｓ１、Ｓ２、…、ＳＮ）と検出窓（Ｆ１、Ｆ２、…、ＦＮ）の位置（（ｘＦＡ，ｙＦＡ）、（ｘＦＣ，ｙＦＣ））とのリストを、ステージ閾値（Ｓｅ）に応じて生成することを特徴とする、請求項１〜１１のいずれか一項に記載の装置。
【請求項１３】
前記装置がパラメータ抽出部（１０）を備え、前記パラメータ抽出部（１０）は、前記パラメータ（属性、Ｓｄ、α、β）を前記Ｎ個の処理ユニット（ＵＴ１、ＵＴ２、…、ＵＴＮ）に同時に送ることを特徴とする、請求項１〜１２のいずれか一項に記載の装置。
【請求項１４】
前記パラメータ（属性、Ｓｄ、α、β）は、トレーニングステップにおいて決定され、前記トレーニングは、前記認識対象物体に依存することを特徴とする、請求項１〜１３のいずれか一項に記載の装置。
【請求項１５】
物体の前記認識および位置特定を実施するためのすべての算術演算が、整数型の加算、減算、および乗算の演算装置において、固定小数点データを用いて実行されることを特徴とする、請求項１〜１４のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像内の物体を認識および位置特定する装置に関する。本発明は特に、ビデオ監視、移動中のビデオ処理、および運転補助システムのような、検出および／または分類機能を必要とするオンボード電子装置の分野に適用可能である。
【背景技術】
【０００２】
動き検出は、連続する画像同士の単純な引き算により実行可能である。しかしながら、この方法の欠点は、種類の異なる、動いている物体同士を区別できないことである。特に、風に揺れる葉の動きと人間の動きとを区別することは不可能である。さらに、オンボード用途では、たとえば、カメラを固定した車両が動いた結果として、画像全体が動きにさらされる可能性がある。
【０００３】
人間や人間の顔のような複雑な物体の検出も非常に困難である。これは、物体の見かけの形状が、その形態だけでなく、その姿勢、見る角度、物体とカメラとの間の距離にも依存するためである。これらの困難に加えて、物体の照明、露出、および掩蔽が変化するという問題がある。
【０００４】
Ｐ．ＶｉｏｌａとＭ．Ｊｏｎｅｓは、画像内の物体を確実に検出する方法を開発した。この方法は、特に、Ｐ．Ｖｉｏｌａ、Ｍ．Ｊｏｎｅｓの「Ｒｏｂｕｓｔ  Ｒｅａｌ−ｔｉｍｅ  Ｏｂｊｅｃｔ  Ｄｅｔｅｃｔｉｏｎ」（２ｎｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｓｔａｔｉｓｔｉｃａｌ  ａｎｄ  Ｃｏｍｐｕｔａｔｉｏｎａｌ  Ｔｈｅｏｒｉｅｓ  ｏｆ  Ｖｉｓｉｏｎ  −  Ｍｏｄｅｌｌｉｎｇ，  Ｌｅａｒｎｉｎｇ，  Ｃｏｍｐｕｔｉｎｇ  ａｎｄ  Ｓａｍｐｌｉｎｇ，  Ｖａｎｃｏｕｖｅｒ，  Ｃａｎａｄａ，  Ｊｕｌｙ  ２００１）に記載されている。この方法は、トレーニングフェーズおよび認識フェーズからなる。認識フェーズでは、画像を検出窓で走査する。様々なサイズの物体を識別できるように、検出窓のサイズは可変である。物体の識別は、Ｈａａｒウェーブレットのような単変数記述子を用いて行う。これらは、比較的シンプルな形状の記述子である。これらの記述子は、トレーニングフェーズにおいて決定され、認識対象物体の代表的特徴を検査することに使用可能である。これらの特徴は、一般には、物体のシグネチャと呼ぶ。画像内の各場所において、検出窓を複数の記述子により解析して、検出窓の様々な領域における特徴を検査し、比較的信頼性の高い結果を得る。
【０００５】
記述子の有効性を上げるために、多変数記述子が提案されている。多変数記述子は、たとえば、強度勾配の方位のヒストグラム、ならびに強度勾配の絶対値（ｍａｇｎｉｔｕｄｅ）の密度成分から構成される。
【０００６】
この検出方法を高速化するために、これらの記述子をいくつかの分類子に分類し、その後、これらを多段カスケードまたはループの形で検査する。カスケードの各段では、前段より複雑かつ選択的な検査を実行する。これにより、空のような画像内の無関連領域が迅速に除去される。
【０００７】
現時点では、ＶｉｏｌａとＪｏｎｅｓの方法は、完全に専用の回路によるハードウェア形態、またはプロセッサによるソフトウェア形態で実装される。ハードウェアによる実装は、性能は良好だが、柔軟性が非常に乏しい。これは、特定の種類の物体を特定の精度で検出するために、専用回路をハードワイヤリングするためである。これに対し、ソフトウェアによる実装は、プログラムを用いるために柔軟性は非常に高いが、性能が不十分であることが多い。これは、汎用プロセッサのコンピューティング能力が不十分であるため、かつ／または、デジタル信号プロセッサ（ＤＳＰ）の、条件付き分岐命令の処理効率が非常に悪いためである。さらに、ソフトウェアソリューションは、消費電力が非常に多く、全体寸法が大きいため、車両や携帯電話などのオンボードシステムへの組み込みが困難である。最後に、ほとんどの場合、内部の記憶容量および／または帯域幅は、迅速な検出を可能にするには不十分である。Ｌｉ  Ｚｈａｎｇらの論文「Ｅｆｆｉｃｉｅｎｔ  Ｓｃａｎ−Ｗｉｎｄｏｗ  Ｂａｓｅｄ  Ｏｂｊｅｃｔ  Ｄｅｔｅｃｔｉｏｎ  ｕｓｉｎｇ  ＧＰＧＰＵ」（２００８）には、ソフトウェア実装を歩行者の検出に適用する第１の実施例が記載されている。この実装は、ＧＰＧＰＵ（Ｇｅｎｅｒａｌ−Ｐｕｒｐｏｓｅ  ｃｏｍｐｕｔａｔｉｏｎ  ｏｎ  Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（グラフィックス処理ユニットでの汎用計算））に基づく。グラフィックス処理ユニットは、メモリコントローラおよびＰＣＩ  Ｅｘｐｒｅｓｓバスを介して、プロセッサと接続しなければならない。結果として、この実装は、グラフィックス処理ユニットおよびプロセッサの両方で大量の電力を消費し、合計で３００から５００Ｗ程度の電力を消費する。また、この実装の全体サイズは数十平方センチメートルになり、オンボードソリューションには不適である。Ｃｈｒｉｓｔｉａｎ  Ｗｏｊｅｋらの論文「Ｓｌｉｄｉｎｇ−Ｗｉｎｄｏｗｓ  ｆｏｒ  Ｒａｐｉｄ  Ｏｂｊｅｃｔ  Ｃｌａｓｓ  Ｌｏｃａｌｉｚａｔｉｏｎ：  Ａ  Ｐａｒａｌｌｅｌ  Ｔｅｃｈｎｉｑｕｅ」（２００８）には、やはりＧＰＧＰＵに基づく、ソフトウェア実装の第２の実施例が記載されている。この実施例も、オンボード用途に関しては同じ欠点がある。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の１つの目的は、特に、物体の認識および位置特定に特化された装置を提供することにより、前述の欠点の一部またはすべてを克服することであり、この装置は、プログラム可能ではないが、パラメータ化により、様々な物体を（特に誤警報に関して）可変の精度で検出することを可能にする。
【課題を解決するための手段】
【０００９】
この目的のために、本発明は、検出窓を走査することによって、デジタル画像内の物体を認識および位置特定する装置を提案する。本装置は、同時ハードウェアタスク用のデータストリームパイプラインアーキテクチャを含み、前記アーキテクチャは、
各検出窓に対して記述子を生成する手段であって、各記述子は、デジタル画像のうちの関係する検出窓に属する部分の範囲を定める、手段と、
関係する記述子によって範囲を定められた、デジタル画像の部分の特徴を表すヒストグラムを、各記述子に対して決定するヒストグラム決定部と、
Ｎ個の並列の処理ユニットであって、検出窓が各処理ユニットに割り当てられ、各処理ユニットは、各記述子に関連付けられたパラメータに応じて関係する記述子のヒストグラムを解析することにより、記述子が認識対象の物体の少なくとも一部分を含む確率を表すパーシャルスコアを与えることが可能であり、各検出窓のパーシャルスコアの合計は、検出窓が認識対象物体を含む確率を表すグローバルスコアを与える、処理ユニットと、
を含むことを特徴とする。
【００１０】
本発明は、特に、特定用途向け集積回路（ＡＳＩＣ）として、またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）として実装可能であることが有利である。結果として、本発明による装置の表面積および消費電力は、プログラミングによるソリューションの場合の１００分の１に過ぎない。したがって、本装置は、オンボードシステムに組み込むことが可能である。本装置はまた、いくつかの分類検査を並列実行することにより、高い計算能力を提供することが可能である。本装置は、完全なパラメータ化が可能である。したがって、検出のタイプ、検出の精度、ならびに使用する記述子および分類子の数を調節することにより、結果の質と計算時間とのバランスを最適化することが可能である。
【００１１】
本装置の別の利点は、パイプラインアーキテクチャによってタスクを並列化することである。すべてのモジュールが並列に（同時に）動作する。この場合、所与の記述子の集合の系列を考えると、単一時間間隔において、処理ユニットは、ランクｐの記述子に関連付けられたヒストグラムを解析し、ヒストグラム決定部は、ランクｐ＋１の記述子に関連付けられたヒストグラムを決定し、記述子を生成する手段は、ランクｐ＋２の記述子を決定する。したがって、記述子およびヒストグラムを決定する時間は、検出に割り当てられた時間、すなわち、ヒストグラム解析時間によってマスクされる。したがって、本装置は、高い計算能力を有する。
【００１２】
例示として、一実施形態を詳細に説明することにより、本発明をさらに十分に説明し、他の利点を明らかにする。この説明では、添付図面を参照する。
【図面の簡単な説明】
【００１３】
【図１】本発明による装置の動作の可能なステップを示す図である。
【図２】図１に示した、装置の動作の、可能なサブステップを示す図である。
【図３】本発明による装置の一例示的実施形態の概略図である。
【図４】図３の装置の処理ユニットの一例示的実施形態を示す図である。
【図５】本発明の応用に用いる様々な座標系を示す図である。
【図６】図３の装置のカスケード部の一例示的実施形態を示す図である。
【図７】図３の装置の記述子ループ部の一実施形態を示す図である。
【図８】図３の装置のヒストグラム決定部の一例示的実施形態を示す図である。
【図９】図３の装置のスコア解析部の一例示的実施形態を示す図である。
【発明を実施するための形態】
【００１４】
図１は、本発明による装置の動作の可能なステップを示す。この後の説明では、Ｎｃ列×Ｎｌ行のマトリックスの画素によって形成されたデジタル画像を参照する。各画素は、重みと呼ばれる、信号の振幅を表す値を含み、たとえば、光度を表す重みを含む。本発明による装置の動作は、ＶｉｏｌａとＪｏｎｅｓの方法を適応させた方法に基づいている。ＶｉｏｌａとＪｏｎｅｓの方法は、たとえば、国際公開第２００８／１０４４５３（Ａ）号パンフレットに記載されている。この検出方法は、倍精度浮動小数点数の計算に基づいている。これらの計算は、複雑な浮動小数点算術演算ユニットを必要とし、これらのユニットは、実行速度、シリコン表面積、および消費電力の観点から高コストである。本発明の方法は、固定小数点データに対して演算を行うように修正したものである。これらの演算は、よりシンプルかつ高速な整数演算子のみを必要とする。本方法はまた、処理ユニットにおける検出の計算での除算演算子の使用を回避するように修正されている。したがって、整数演算子のみ（加算および乗算）を用いることにより、計算は高速になり、装置は小型になり、その消費電力は低減される。しかしながら、固定小数点計算は精度が劣るため、本方法は、計算でのこのような誤差を考慮するように修正しなければならなかった。
【００１５】
第１のステップＥ１では、物体をサーチする画像（原画像Ｉｏｒｉｇと呼ぶ）に関して、信号の振幅勾配シグネチャを計算する。このシグネチャは、たとえば、光度の勾配のシグネチャである。これによって、（導出画像と呼ばれる）新しい画像Ｉｄｅｒｉｖが生成される。第２のステップＥ２では、この導出画像Ｉｄｅｒｉｖから、Ｍ個の方位画像Ｉｍ（ｍは１からＭまで変化するインデックス）を計算することが可能である。各方位画像Ｉｍは、原画像Ｉｏｒｉｇと同じサイズであり、画素ごとに、特定の角度値範囲にわたる光度勾配を含む。たとえば、角度値範囲が２０°であれば、９個の方位画像Ｉｍが得られる。たとえば、第１の方位画像Ｉ１は、０°から２０°の範囲の方向を有する光度勾配を含む。第２の方位画像Ｉ２は、２０°から４０°の範囲の方向を有する光度勾配を含む。以降も同様であり、第９の方位画像Ｉ９は、１６０°から１８０°の範囲の方向を有する光度勾配を含む。光度勾配の絶対値に相当する、Ｍ＋１番目（すなわち、１０番目）の方位画像ＩＭ＋１も計算することが可能である（図１の例ではＭ＝９である）。このＭ＋１番目の方位画像ＩＭ＋１は、特に、輪郭の存在に関する情報を与えることに使用可能である。第３のステップＥ３では、各方位画像Ｉｍを積分画像Ｉｉｎｔ，ｍに変換する（ｍは１からＭまで変化する）。積分画像は、原画像と同じサイズの画像であって、各画素ｐ（ｍ，ｎ）の重みｗｉ（ｍ，ｎ）は、画像の原点Ｏと当該画素ｐ（ｍ，ｎ）とで範囲が定まる矩形面内に位置するすべての画素ｐ（ｘ，ｙ）の重みｗｏ（ｘ，ｙ）の合計によって計算される。言い換えると、積分画像Ｉｉｎｔ，ｍの画素ｐ（ｍ，ｎ）の重みｗｉ（ｍ，ｎ）は、次の関係式でモデル化できる。
【数１】
2012511756.tif 000003
第４のステップＥ４では、このようにして得られたＭ＋１個の積分画像Ｉｉｎｔ，ｍを、それぞれが１つ以上の記述子を含む、様々なサイズの検出窓で走査する。Ｍ＋１個の積分画像Ｉｉｎｔ，ｍが同時に走査され、この走査は、これらの積分画像Ｉｉｎｔ，ｍの走査が、原画像Ｉｏｒｉｇの走査と対応するように行われる。記述子は、画像のうちの、検出窓に属する部分の範囲を定める。これらの画像部分において、物体のシグネチャをサーチする。検出窓による積分画像Ｉｉｎｔ，ｍの走査は、４レベルの入れ子ループにより行う。第１のループ（スケールループと呼ぶ）は、検出窓のサイズに対するループである。このサイズは、たとえば、スケールループが進行するにつれて小さくなるため、解析対象の領域がどんどん小さくなる。第２のループ（ステージループと呼ぶ）は、解析の複雑さのレベルに対するループである。この複雑さのレベル（ステージとも呼ぶ）は、主に、検出窓に用いる記述子の数に依存する。最初のステージでは、記述子の数は、比較的限られている。たとえば、検出窓あたり１個または２個の記述子があればよい。記述子の数は、一般に、ステージの数とともに増える。１つのステージに用いる記述子の集合を分類子と呼ぶ。第３のループ（位置ループと呼ぶ）は、実際の走査を実行する。言い換えると、第３のループは、積分画像Ｉｉｎｔ，ｍ内の検出窓の位置に対するループである。第４のループ（記述子ループと呼ぶ）は、現在のステージに用いる記述子に対するループである。このループが反復されるごとに、分類子の記述子の１つが解析されて、これが認識対象物体のシグネチャの一部を含んでいるかどうかが判定される。
【００１６】
図２は、図１の第４のステップＥ４の可能なサブステップとして、４レベルの入れ子ループを詳細に示す。第１のステップＥ４１では、スケールループを初期化する。スケールループの初期化は、たとえば、検出窓の初期サイズを生成することと、初期動きステップを生成することとを含む。第２のステップＥ４２では、ステージループを初期化する。このループの初期化は、たとえば、最初のステージに用いる記述子を決定することを含む。これらの記述子は、検出窓におけるそれぞれの相対座標により特定可能である。第３のステップＥ４３では、位置ループを初期化する。この初期化は、たとえば、検出窓を生成することと、各検出窓を、本発明による装置の処理ユニットに割り当てることとを含む。検出窓は、窓リストと呼ばれるリストの形式で生成可能である。スケールループの各反復には、別々のリストが関連付けられる。ステージループの最初の反復に際しては、検出窓は、通常、網羅的に、すなわち、積分画像Ｉｉｎｔ，ｍのすべての領域をカバーするように生成される。検出窓の数が処理ユニットの数を超える場合は、位置ループを複数回反復することが必要になる。検出窓は、積分画像Ｉｉｎｔ，ｍ内のそれぞれの位置によって決定可能である。これらの位置を、窓リストに格納する。第４のステップＥ４４では、記述子ループを初期化する。この初期化は、たとえば、処理ユニットに割り当てられた各検出窓に対して、当該ステージに関連付けられた分類子の記述子の中の第１の記述子の絶対座標を決定することを含む。第５のステップＥ４５では、各記述子に対してヒストグラムを生成する。ヒストグラムは、たとえば、Ｍ＋１個の成分Ｃｍを含む（ｍは１からＭ＋１まで変化する）。各成分Ｃｍは、方位画像Ｉｍのうちの１つにおける、当該記述子に含まれる画素ｐ（ｘ，ｙ）の重みｗｏ（ｘ，ｙ）の合計を含む。これらの重みｗｏ（ｘ，ｙ）の合計は、特に、後述するように、対応する積分画像の４個の画素の重みを取得するシンプルな方法で求めることが可能である。第６のステップＥ４６では、ヒストグラムを解析する。各解析の結果を、パーシャルスコアと呼ばれるスコア形式で与える。これは、解析されたヒストグラムに関連付けられた記述子が認識対象物体のシグネチャの一部を含む確率を表す。第７のステップＥ４７では、記述子ループが終了したかどうか、すなわち、現在のステージに関してすべての記述子が生成されたかどうか、を判定する。これが当てはまらない場合は、記述子ループにおいてステップＥ４８に進み、ステップＥ４５にループバックする。記述子ループにおいて先へ進むことは、装置の処理ユニットに割り当てられた各検出窓に対して、当該ステージに関連付けられた分類子の記述子の中の別の記述子の絶対座標を決定することを含む。次に、新しい各記述子に対して新しいヒストグラムを生成する。新しいヒストグラムは、新しいパーシャルスコアを与える。記述子ループの反復ごとにこれらのパーシャルスコアを合算することにより、最終反復における各検出窓の分類子に対するグローバルスコアＳを与える。これらのグローバルスコアＳは、認識対象物体が検出窓に含まれる確率を表しており、この確率は、現在のステージに関連する。ステップＥ４７で、記述子ループが終了していることが判明した場合は、ステップＥ４９で、グローバルスコアＳが所定のステージ閾値Ｓｅより大きいかどうかを判定する検査を行う。このステージ閾値Ｓｅは、たとえば、トレーニングフェーズで決定される。ステップＥ５０では、グローバルスコアＳがステージ閾値Ｓｅより大きい検出窓を、新しい窓リストに格納する。これにより、それらの窓を、次のステージ分類子で再度解析することが可能になる。その他の検出窓は、最終的には、認識対象物体を含んでいないと見なされる。したがって、それらの窓は格納されず、以後の処理でさらに解析されることはない。ステップＥ５１では、位置ループが終了しているかどうか、すなわち、当該のスケールおよびステージに関連するすべての検出窓が処理ユニットに割り当てられたかどうかを判定する。これが当てはまらない場合は、記述子ループにおいてステップＥ５２に進み、ステップＥ４４にループバックする。位置ループにおいて先へ進むことは、現在のステージの窓リストに含まれていて、まだ解析されていない検出窓を処理ユニットに割り当てることを含む。一方、位置ループが終了している場合は、ステップＥ５３において、ステージループが終了しているかどうか、すなわち、現在のステージがループの最後のステージかどうかを判定する。現在のステージは、たとえば、ステージカウンタによりマーキングされている。ステージループが終了していない場合は、ステージＥ５４においてステージを変更する。ステージの変更は、たとえば、ステージカウンタをインクリメントする形で行われる。ステージの変更はまた、現在のステージに用いる記述子の相対座標を決定することを含むことも可能である。ステップＥ５５では、前のステージで生成された窓リストに応じて、位置ループを初期化する。次に、このリストにある各検出窓を、本装置の各処理ユニットに割り当てる。ステップＥ５５の最後に、ステップＥ４４にループバックする。ステージループの最初の反復の場合と同様に、各解析対象検出窓が最終的には確実に処理ユニットに割り当てられるように、必要に応じて、ステップＥ５１およびＥ５２をループバックすることが可能である。ステップＥ５３において、ステージループが終了していることが判明した場合は、ステップＥ５６において、スケールループが終了しているかどうかを判定する。これが当てはまらない場合は、ステップＥ５７においてスケールを変更し、ステップＥ４２にループバックする。スケールの変更は、たとえば、新しいサイズの検出窓およびこれらの検出窓のための新しい動きステップを決定することを含む。次に、ステージループ、位置ループ、および記述子ループを用いて、これらの新しい検出窓において物体をサーチする。スケールループが終了していれば、すなわち、すべてのサイズの検出窓が解析済みであれば、ステップＥ５８において処理を終了する。すべてのステージを成功裏に通過した検出窓、すなわち、ステージループの最後の反復において各種窓リストに格納されている検出窓は、認識対象物体を含んでいると見なされる。
【００１７】
図３は、本発明による装置１の一例示的実施形態を示しており、装置１は、図２を参照して上述した走査ステップＥ４を実行する。装置１は、たとえば、小型の特定用途向け集積回路（ＡＳＩＣ）の形で実装される。この回路は、有利なことに、パラメータ化が可能である。したがって、装置１は、ある物体の認識および位置特定の用途に特化されているが、いくつかのパラメータを修正することにより、別のタイプの物体を検出することが可能である。装置１は、Ｍ＋１個の積分画像Ｉｉｎｔ，ｍを収容するメモリ２を含んでいる。Ｍ＋１個の積分画像Ｉｉｎｔ，ｍは、既に定義した、Ｍ個の方位画像の積分画像と、光度勾配の絶対値の積分画像とに対応している。装置１はさらに、メモリ制御部３と、スケールループ部４と、カスケード部５と、記述子ループ部６と、ヒストグラム決定部７と、Ｎ個の並列な処理ユニットＵＴ１、ＵＴ２、…、ＵＴＮ（まとめてＵＴと称する）と、スコア解析部８と、制御部９とを含んでいる。メモリ制御部３は、ヒストグラム決定部７の、メモリ２へのアクセスを制御することが可能である。スケールループ部４は、制御部９によって制御されて、上述のスケールループを実行する。すなわち、スケールループ部４は、ステップＥ４１においてスケールループの初期化を生成し、ステップＥ５７において、積分画像Ｉｉｎｔ，ｍにおける検出窓サイズおよび検出窓動きステップを生成する。検出窓のサイズおよび動きステップは、パラメータ化が可能である。スケールループ部４は、検出窓サイズデータおよび動きステップをカスケード部５に送る。カスケード部５は、ステージループおよび位置ループを実行する。具体的には、カスケード部５は、検出窓サイズおよび動きステップに応じて、各検出窓に対して座標（ｘＦＡ，ｙＦＡ）および（ｘＦＣ，ｙＦＣ）を生成する。これらの座標（ｘＦＡ，ｙＦＡ）および（ｘＦＣ，ｙＦＣ）は、記述子ループ部６に送られる。カスケード部５はまた、各検出窓を処理ユニットＵＴに割り当てる。記述子ループ部６は、記述子ループを実行する。具体的には、記述子ループ部６は、処理ユニットＵＴに割り当てられた各検出窓に対し、現在のステージに関連付けられた分類子の様々な記述子の座標（ｘＤＡ，ｙＤＡ）および（ｘＤＣ，ｙＤＣ）を連続的に生成する。これらの座標（ｘＤＡ，ｙＤＡ）および（ｘＤＣ，ｙＤＣ）は、漸次ヒストグラム決定部７に送られる。ヒストグラム決定部７は、座標（ｘＤＡ，ｙＤＡ）および（ｘＤＣ，ｙＤＣ）とＭ＋１個の積分画像Ｉｉｎｔ，ｍとから、各記述子についてのヒストグラムを連続的に決定する。一実施形態では、各ヒストグラムは、Ｍ＋１個の成分Ｃｍを含み、各成分Ｃｍは、方位画像Ｉｍのうちの１つにおける、当該記述子に含まれる画素ｐ（ｘ，ｙ）の重みｗｏ（ｘ，ｙ）の合計を含む。これらのヒストグラムは、処理ユニットＵＴ１、ＵＴ２、…、ＵＴＮに送られる。本発明によれば、Ｎ個の処理ユニットＵＴ１、ＵＴ２、…、ＵＴＮは並列である。各処理ユニットＵＴは、そのユニットに割り当てられた検出窓に含まれる記述子の１つのヒストグラムに対し、解析を実行する。ヒストグラム解析は、たとえば、「属性」、「記述子閾値Ｓｄ」、「α」、「β」という４つのパラメータに応��て実行される。これらのパラメータは、修正可能であって、特に、認識対象物体の種類および当該ステージに依存する。たとえば、これらのパラメータは、トレーニングステージで決定される。これらのパラメータは、ステージ反復に依存するため、ステップＥ４２およびＥ５４でのステージループの反復ごとに、処理ユニットＵＴ１、ＵＴ２、…、ＵＴＮに送られる。ヒストグラム解析により、このヒストグラムのパーシャルスコアが、処理ユニットＵＴに割り当てられた検出窓の分類子に対するグローバルスコアとともに生成される。処理ユニットＵＴは、最大でＮ個のヒストグラム解析を同時に実行することが可能である。ただし、必ずしもすべての処理ユニットＵＴが記述子ループの反復に用いられるわけではない。使用される処理ユニットＵＴの数は、解析対象ヒストグラムの数に依存し、したがって、現在のステージに関連する窓リストに含まれる検出窓の数に依存する。したがって、装置１の消費電力を、実行するプロセスの数に応じて最適化することが可能である。記述子ループの最後に、各ヒストグラムのパーシャルスコアを合算することにより、各検出窓の分類子に対するグローバルスコアＳを与える。これらのグローバルスコアＳは、スコア解析部８に送られる。スコア解析部８は、これらのグローバルスコアＳに基づいて、ステージループの次のステージのための窓リストを生成する。
【００１８】
上記の装置１の説明は、図２の処理の説明を参照して行った。しかしながら、装置１は、パイプラインアーキテクチャをベースとしていることに注意されたい。したがって、別々の記述子に対して、処理における別々のステップが並列に実行される。言い換えると、装置１を構成している様々なモジュールが同時に動作する。具体的には、記述子ループ部６、ヒストグラム決定部７、Ｎ個の処理ユニットＵＴ１、ＵＴ２、…、ＵＴＮ、およびスコア解析部８は、それぞれ、パイプラインアーキテクチャの第１、第２、第３、および第４のステージを形成している。
【００１９】
図４は、Ｍ＋１個の成分Ｃｍを有するヒストグラムを解析する処理ユニットＵＴの一例示的実施形態を示す。処理ユニットＵＴは、Ｍ＋１個の入力部と１個の出力部とを含む第１の論理ユニット２１を含んでいる。「論理ユニット」という用語は、１つ以上の入力部と１つ以上の出力部とを有する被制御回路であって、各出力部が、（たとえば、汎用コントローラによって、または論理ユニットの内部論理によって）論理ユニットに適用されるコマンドに従って、いずれかの入力部と接続可能である回路を表す。「論理ユニット」という用語は、最も広い意味に解釈すべきである。複数の入力部および／または出力部を有する論理ユニットは、それぞれが１つ以上の入力部と１つ以上の出力部とを有するマルチプレクサおよび／またはデマルチプレクサならびに論理ゲートの集合によって形成可能である。論理ユニット２１は、属性パラメータに応じて、Ｍ＋１個の成分Ｃｍのいずれかを選択することが可能である。処理ユニットＵＴはさらに、比較器２２を含んでおり、比較器２２は、論理ユニット２１によって選択された成分Ｃｍを受け取る第１の入力部２２１と、記述子閾値パラメータＳｄを受け取る第２の入力部２２２とを有している。選択された成分Ｃｍと閾値パラメータＳｄとの比較の結果は、２つの入力部と１つの出力部とを含む第２の論理ユニット２３に送られる。この論理ユニット２３の第１の入力部２３１は、パラメータαを受け取り、第２の入力部２３２は、パラメータβを受け取る。比較の結果に応じて、論理ユニット２３の出力部は、パラメータαまたはパラメータβを与える。具体的には、論理ユニット２１で選択された成分Ｃｍが閾値パラメータＳｄより大きい場合は、パラメータαが出力部に与えられる。逆に、選択された成分Ｃｍが閾値パラメータＳｄより小さい場合は、パラメータβが出力部に与えられる。論理ユニット２３の出力は、アキュムレータ２４に収容されている値に加算される。ヒストグラムの複数の成分Ｃｍを比較しなければならない場合、論理ユニット２１は、それらを連続して選択する。選択された成分Ｃｍは、１つずつ、閾値パラメータＳｄと比較され、パラメータαおよび／またはβは、アキュムレータ２４内で合算されて、ヒストグラムのパーシャルスコアが生成される。こうして、処理ユニットＵＴは、分類子を形成する記述子の様々なヒストグラムを解析する。したがって、パラメータαおよび／またはβは、当該分類子のすべての記述子に関してアキュムレータ２４内で合算可能であり、これによって、検出窓におけるこの分類子に対するグローバルスコアＳが得られる。
【００２０】
一特定実施形態では、最初のＭ個の成分Ｃｍは、Ｍ＋１番目の成分ＣＭ＋１で除算されてから、閾値パラメータＳｄと比較され、Ｍ＋１番目の成分ＣＭ＋１は、当該記述子の表面積で除算されてから、閾値パラメータＳｄと比較される。代替として、図４に示すように、閾値パラメータＳｄに、解析済みヒストグラムのＭ＋１番目の成分ＣＭ＋１を乗ずるか、当該成分Ｃｍに基づいて記述子の表面積を乗ずることが可能である。この場合、処理ユニットＵＴはさらに、第３の論理ユニット２５を含んでおり、論理ユニット２５は、ヒストグラムのＭ＋１番目の成分ＣＭ＋１を受け取る第１の入力部２５１と、記述子の表面積を受け取る第２の入力部２５２とを有している。論理ユニット２５の出力部は、２つの入力部２５１および２５２のいずれかを、乗算器２６の第１の入力部２６１に接続する。いずれを接続するかは、選択される乗算によって決まる。乗算器２６の第２の入力部２６２は、閾値パラメータＳｄを受け取り、乗算器２６の出力部は、比較器２２の第２の入力部２２２に接続されている。
【００２１】
処理ユニットＵＴはさらに、２つのバッファメモリ２７および２８を直列に含むことが可能である。第１のバッファメモリ２７は、ヒストグラム決定部７から、第１のヒストグラムのＭ＋１個の成分Ｃｍを所定の時間間隔で受け取ることが可能である。その次の時間間隔において、第１のヒストグラムの成分Ｃｍを、論理ユニット２１の入力部に接続された第２のバッファメモリ２８に転送することが可能であり、並行して、第２のヒストグラムの成分Ｃｍを第１のバッファメモリ２７にロードすることが可能である。２つのバッファメモリを用いることにより、ヒストグラムの計算時間を補償することが可能である。
【００２２】
図５は、本発明に用いる様々な座標系を示す。画像４１に直交基準フレーム（Ｏ，ｉ，ｊ）が関連付けられており、これは、この場合には、積分画像Ｉｉｎｔ，ｍである。原点Ｏは、たとえば、画像４１の左上隅に固定されている。したがって、この画像４１内で、検出窓Ｆを、検出窓Ｆの対向する２つの隅部ＦＡおよびＦＣの座標（ｘＦＡ，ｙＦＡ）および（ｘＦＣ，ｙＦＣ）で識別することが可能である。検出窓Ｆには、第２の直交基準フレーム（ＯＦ，ｉ，ｊ）を関連付けることが可能である。原点ＯＦは、たとえば、検出窓Ｆの左上隅に固定されている。記述子Ｄの位置は、基準フレーム（ＯＦ，ｉ，ｊ）内では、記述子Ｄの対向する２つの隅部ＤＡおよびＤＣの相対座標（ｘ’ＤＡ，ｙ’ＤＡ）および（ｘ’ＤＣ，ｙ’ＤＣ）で特定され、さらに基準フレーム（Ｏ，ｉ，ｊ）内では、絶対座標（ｘＤＡ，ｙＤＡ）および（ｘＤＣ，ｙＤＣ）で特定される。
【００２３】
図６は、カスケード部５の一例示的実施形態を示す。カスケード部５は、有限状態機械５１と、４つの論理ユニット５２１、５２２、５２３、および５２４と、４つのレジスタブロック５３１、５３２、５３３、および５３４とを含んでいる。各論理ユニットは、１個の入力部とＮ個の出力部とを含んでおり、各レジスタブロックは、各論理ユニットに関連付けられている。レジスタブロック５３１、５３２、５３３、または５３４は、Ｎ個のデータレジスタを含んでおり、各データレジスタは、関連付けられた論理ユニット５２１、５２２、５２３、または５２４のいずれかの出力部に接続されている。有限状態機械５１は、検出窓サイズおよび動きステップに関する情報を受け取り、最大Ｎ個の検出窓Ｆを生成して、これらを処理ユニットＵＴ１、ＵＴ２、…、ＵＴＮに割り当てる。検出窓の生成は、それらの隅部ＦＡおよびＦＣの座標（ｘＦＡ，ｙＦＡ）および（ｘＦＣ，ｙＦＣ）を決定することを含む。上述のように、検出窓Ｆの座標（ｘＦＡ，ｙＦＡ）および（ｘＦＣ，ｙＦＣ）は、ステージループの最初の反復において余すところなく生成される。次の反復では、位置のリストに含まれている検出窓Ｆだけが解析される。座標（ｘＦＡ，ｙＦＡ）および（ｘＦＣ，ｙＦＣ）は、第１の論理ユニット５２１の入力部、第２の論理ユニット５２２の入力部、第３の論理ユニット５２３の入力部、および第４の論理ユニット５２４の入力部に送られる。各論理ユニット５２１、５２２、５２３、５２４は、関係する処理ユニットＵＴに応じて、それぞれの入力部をそれぞれのいずれかの出力部に接続する。したがって、レジスタブロック５３１、５３２、５３３、および５３４は、使用するすべての処理ユニットＵＴに関して、座標ｘＦＡ、ｙＦＡ、ｘＦＣ、およびｙＦＣをそれぞれ収容する。
【００２４】
図７は、記述子ループ部６の一例示的実施形態を示す。記述子ループ部６は、第１の論理ユニット６１および第２の論理ユニット６２を含んでいる。論理ユニット６１は、その入力部において、第１および第２のレジスタブロック５３１および５３２からデータ、すなわち、様々な処理ユニットＵＴに関する座標ｘＦＡおよびｙＦＡを受け取る。論理ユニット６２は、その入力部において、第３および第４のレジスタブロック５３３および５３４からデータ、すなわち、座標ｘＦＣおよびｙＦＣを受け取る。記述子ループ部６はさらに、メモリ６３を含んでおり、メモリ６３は、様々な記述子Ｄの相対座標（ｘ’ＤＡ，ｙ’ＤＡ）および（ｘ’ＤＣ，ｙ’ＤＣ）を収容する。これらの記述子は、現在のステージに応じて変化する。現在のステージに関連付けられた分類子を形成する記述子Ｄの相対座標（ｘ’ＤＡ，ｙ’ＤＡ）および（ｘ’ＤＣ，ｙ’ＤＣ）は、計算部６４の第１の入力部６４１に連続して送られる。この計算部６４はさらに、第２および第３の入力部６４２および６４３において、検出窓Ｆの座標（ｘＦＡ，ｙＦＡ）および（ｘＦＣ，ｙＦＣ）を、論理ユニット６１および６２の出力部から受け取る。したがって、計算部６４は、記述子Ｄの隅部ＤＡおよびＤＣの絶対座標（ｘＤＡ，ｙＤＡ）および（ｘＤＣ，ｙＤＣ）を計算することが可能である。この絶対座標（ｘＤＡ，ｙＤＡ）および（ｘＤＣ，ｙＤＣ）は、論理ユニット６６を介してレジスタブロック６５に送られる。論理ユニット６６は、たとえば、１つの入力部と４つの出力とを含んでおり、各出力は、レジスタブロック６５の４つのデータレジスタのいずれかに接続されている。記述子ループ部６はさらに、有限状態機械６７を含んでおり、有限状態機械６７は、論理ユニット６１、６２、および６６と、制御手段６７１、６７２、６７３、および６７４の、メモリ６３への読み出しアクセスとを制御する。有限状態機械６７は、接続手段６７５および６７６からスケールループおよびステージループの反復回数を受け取って、処理ユニットＵＴに割り当てられた各検出窓Ｆに対する記述子Ｄを連続して生成する。記述子ループ部６はさらに、計算部６８を含むことが可能であり、計算部６８は、絶対座標（ｘＤＡ，ｙＤＡ）および（ｘＤＣ，ｙＤＣ）から記述子の表面積を計算する。この表面積の値は、データレジスタ６９に格納可能である。
【００２５】
図８は、ヒストグラム決定部７の一例示的実施形態を示す。ヒストグラム決定部７は、３つの部分に分けられる。第１の部分７１は、記述子Ｄの４つの隅部に対応する画素ＤＡ、ＤＢ、ＤＣ、およびＤＤのメモリアドレスを、隅部ＤＡおよびＤＣの絶対座標（ｘＤＡ，ｙＤＡ）および（ｘＤＣ，ｙＤＣ）から生成する。第２の部分７２は、ＶｉｏｌａとＪｏｎｅｓの方法により、ヒストグラム成分Ｃｍを計算し、第３の部分７３は、ヒストグラム成分Ｃｍをフィルタリングする。第１の部分７１は、アドレス発生器７１１を含んでおり、アドレス発生器７１１は、その入力部において、絶対座標（ｘＤＡ，ｙＤＡ）および（ｘＤＣ，ｙＤＣ）と、当該記述子Ｄの表面積とを受け取る。したがって、記述子Ｄの表面積は、ヒストグラム成分Ｃｍと同じタイミングで、ヒストグラム決定部７を介して処理ユニットＵＴに送ることが可能である。アドレス発生部７１１は、絶対座標（ｘＤＡ，ｙＤＡ）および（ｘＤＣ，ｙＤＣ）から始めて、記述子Ｄの他の２つの隅部ＤＢおよびＤＤの絶対座標（ｘＤＢ，ｙＤＢ）および（ｘＤＤ，ｙＤＤ）、すなわち、それぞれ、（ｘＤＣ，ｙＤＡ）および（ｘＤＡ，ｙＤＣ）を求める。したがって、アドレス発生部７１１は、各積分画像Ｉｉｎｔ，ｍに対して記述子Ｄの４つの隅部ＤＡ、ＤＢ、ＤＣ、およびＤＤのメモリアドレスを発生させる。これらの画素ＤＡ、ＤＢ、ＤＣ、およびＤＤの重みｗｏ（ｘＤＡ，ｙＤＡ）、ｗｏ（ｘＤＢ，ｙＤＢ）、ｗｏ（ｘＤＣ，ｙＤＣ）、およびｗｏ（ｘＤＤ，ｙＤＤ）は、メモリ２から、（たとえば、論理ユニット７１３を介して）４×（Ｍ＋１）個のデータレジスタを含むレジスタブロック７１２にロードされる。第２の部分７２は、加算器および減算器の集合７２１を含んでおり、集合７２１の入力部は、レジスタブロック７１２に接続されており、集合７２１の出力部は、Ｍ＋１個のデータレジスタを含むレジスタブロック７２２に接続されている。この第２の部分７２、特に加算器および減算器の集合７２１は、各クロックサイクルにおいてＭ＋１個のヒストグラム成分Ｃｍを生成するように設計されている。各成分Ｃｍは、積分画像Ｉｉｎｔ，ｍの画素ＤＡ、ＤＢ、ＤＣ、およびＤＤの重みｗｏ（ｘＤＡ，ｙＤＡ）、ｗｏ（ｘＤＢ，ｙＤＢ）、ｗｏ（ｘＤＣ，ｙＤＣ）、およびｗｏ（ｘＤＤ，ｙＤＤ）から計算され、レジスタブロック７２２のデータレジスタのいずれかに格納される。図５に示した積分画像Ｉｉｎｔ，ｍおよび記述子Ｄの場合、成分Ｃｍ（ｍは、１からＭ＋１の範囲の整数）の計算は、次の関係式でモデル化できる。
Ｃｍ＝ＤＣ−ＤＢ−ＤＤ＋ＤＡ              （２）
したがって、各成分Ｃｍは、方位画像Ｉｍの、記述子Ｄに含まれる画素ｐ（ｘ，ｙ）の重みｗｏ（ｘ，ｙ）の合計を含む。第３の部分７３は、フィルタ７３１を含んでおり、フィルタ７３１は、光度勾配が非常に小さいヒストグラムを排除する。これは、そのようなヒストグラムがノイズと見なされるためである。言い換えると、成分ＣＭ＋１が所定閾値（いわゆるヒストグラム閾値Ｓｈ）を下回る場合は、すべての成分Ｃｍをゼロに設定する。次に、成分Ｃｍをレジスタブロック７３２に格納する。これにより、成分Ｃｍが処理ユニットＵＴで使用可能になる。
ヒストグラム決定部７は、装置１における重要な要素である。ヒストグラム決定部７の性能は、メモリ２の帯域幅に直接関係する。ヒストグラムの計算では、４×（Ｍ＋１）個のデータにアクセスすることが必要である。メモリ２が１サイクルにｋ個のデータにアクセスできるとすると、ヒストグラムの計算のサイクル数Ｎｃは、次の関係式で定義される。
【数２】
2012511756.tif 000004
有利なことに、メモリ２は、率ｋを４×（Ｍ＋１）に近づけることが可能な、広い帯域幅を有する。いかなる場合でも、率ｋは、サイクル数Ｎｃが１０未満になるように選択することが好ましい。この数Ｎｃは、ヒストグラムの計算時間に対応する。ヒストグラムの計算時間は、ヒストグラムの解析においては、処理ユニットＵＴのバッファメモリ２７によってマスクすることが可能である。
【００２６】
図９は、スコア解析部８の一例示的実施形態を示す。スコア解析部８は、ＦＩＦＯスタック８１、すなわち、最初の入力データ要素が最初の出力になるスタックを含んでいる。ＦＩＦＯスタック８１は、位置リストを制御することが可能である。具体的には、ＦＩＦＯスタック８１は、分類子のグローバルスコアＳが現在のステージ閾値Ｓｅより大きい検出窓Ｆの座標（ｘＦＡ，ｙＦＡ）および（ｘＦＣ，ｙＦＣ）を格納することが可能であり、この閾値Ｓｅは、ステージに応じて可変である。ＦＩＦＯスタック８１はまた、これらの座標（ｘＦＡ，ｙＦＡ）および（ｘＦＣ，ｙＦＣ）に関連付けられたグローバルスコアＳを格納することが可能である。スケールループの現在の反復が既知であるため、検出窓Ｆの位置およびサイズを特定するためには、検出窓Ｆの座標（ｘＦＡ，ｙＦＡ）だけを格納すればよい。図９に示した一特定実施形態では、ＦＩＦＯスタック８１は、論理ユニット８２を介してレジスタブロック５３１の座標ｘＦＡを連続的に受け取り、論理ユニット８３を介してレジスタブロック５３２の座標ｙＦＡを連続的に受け取る。Ｎ個の処理ユニットＵＴによって計算されたグローバルスコアＳは、レジスタブロック８４に格納され、論理ユニット８５を介して、座標ｘＦＡおよびｙＦＡととともにＦＩＦＯスタック８１に送られる。検出窓Ｆに関連付けられたグローバルスコアＳに応じて、座標（ｘＦＡ，ｙＦＡ）は、ＦＩＦＯスタック８１に書き込まれても書き込まれなくてもよい。スコアＳは、たとえば、現在のステージ閾値Ｓｅと比較される。様々なステージ閾値Ｓｅを、レジスタブロック８６に格納することが可能である。ステージ閾値Ｓｅは、たとえば、論理ユニット８７によって選択される。論理ユニット８７は、入力部がレジスタブロック８６に接続されており、出力部が比較器８８に接続されている。比較器８８は、スコアＳのそれぞれと、現在のステージ閾値Ｓｅとを比較する。スコアＳが閾値Ｓｅより大きければ、座標（ｘＦＡ，ｙＦＡ）がＦＩＦＯスタック８１に書き込まれる。論理ユニット８２、８３、８５、および８７は、有限状態機械８９によって制御される。スコア解析部８はまた、アドレス発生器８０１を含んでおり、アドレス発生器８０１は、ＦＩＦＯスタック８１からの読み出しと、ＦＩＦＯスタック８１のデータの、カスケード部５へのエクスポートとを制御することにより、現在のステージを通過した検出窓Ｆが、次のステージで解析されることを可能にする。スケールループの各反復の最後には、ＦＩＦＯスタックは、すべてのステージを成功裏に通過した位置のリスト、すなわち、認識対象物体がある位置のリストを収容する。したがって、ＦＩＦＯスタック８１の内容は、メモリ制御部３によってメモリ２に転送可能である。
【００２７】
一特定実施形態では、装置１は、図１に示したように、パラメータ抽出部１０を含んでいる。パラメータ抽出部１０は、ステージごとのパラメータ属性、記述子閾値Ｓｄ、α、およびβを格納するメモリを含んでいる。これらのパラメータは、装置１の使用前に実行されるトレーニングステップにおいて決定される。ステップＥ４２およびＥ５４でステージループが反復されるごとに、対応するパラメータが、使用される処理ユニットＵＴに送られる。
【００２８】
一特定実施形態では、装置１は、図１に示したように、画像分割部１１を含んでいる。画像分割部１１は、複数の画像（この場合はＭ＋１個の積分画像）をいくつかの副画像に分割することが可能である。画像分割部１１は、解析対象画像がメモリ２の容量を超えてメモリ空間を占有するほどに解析対象画像の解像度が高い場合に特に有用である。この場合は、積分画像の所与の領域に対応する副画像を、連続的にメモリ２にロードする。次に装置１は、副画像がある限り、ステップＥ４を繰り返すことにより、積分画像の場合と同様に副画像を処理することが可能であり、この画像解析は、すべての副画像が解析された時点で終了する。画像分割部１１は、有限状態機械を含んでおり、この有限状態機械は、画像の解像度およびメモリ２の容量に応じて、副画像の境界を生成する。副画像の境界は、検出窓のサイズおよび動きステップを副画像に適応させるために、カスケード部５に送られる。
【図１】
2012511756.tif 000006
【図２】
2012511756.tif 000007
【図３】
2012511756.tif 000008
【図４】
2012511756.tif 000009
【図５】
2012511756.tif 000010
【図６】
2012511756.tif 000011
【図７】
2012511756.tif 000012
【図８】
2012511756.tif 000013
【図９】
2012511756.tif 000014
【国際調査報告】
2012511756.tif 000015
2012511756.tif 000016
2012511756.tif 000017
2012511756.tif 000018
2012511756.tif 000019
2012511756.tif 000020
2012511756.tif 000021
2012511756.tif 000022