Visualhullを用いて群衆の人数を決定するシステムおよび方法
Visual hull情報を用いて群集の人数を決定するシステム、装置および方法が提示される。一つの実施形態において、画像センサは群集の従来型の画像を生成する。従来型の画像に基づいてシルエット画像が次に決定される。シルエット画像コーンと動作容積との交差領域が決定される。交差領域の平面上への投影が決定される。いくつかの画像センサからの平面投影が、画像センサを交差させることによって集められ、細分化パターンが形成される。多角形で実際には空のものが識別され、除外される。個々の多角形内の人数の上下限が決定されて、ツリーデータ構造に保存される。このツリーは、時間の経過とともに画像センサから新しい情報を受信し、更新される。群集の人数はツリーのルートノードの下限に等しい。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は計算装置を用いて群集の人数を決定することに関する。より具体的には、本発明は群集の人数を決定するためにvisual hull情報を利用することに関する。
【背景技術】
【0002】
群集の人数を決定するいくつかの技術が現存する。しかしながら、これらの技術はそれぞれに欠点を有している。一つの技術は群集の空間像を生成した後、画像中の人数を数える。例えば、戸外の場所の群集は航空機または衛星から写真を撮ることができる。この画像は群集の人数を数えるために使用される。この技術の欠点は、このような画像を得るためには群集が戸外に居なければならないことである。もう一つの欠点は、画像の分解能が低い場合があるので、人数を数えることが難しいことである。さらに別の欠点は、この技術は一つの特定の時刻(即ち、画像が生成されたとき)の群集の人数を提供することに有る。それより後の時刻において、群集の人数を決定するためには、全てのプロセスを繰り返さなければならない。この理由は、第一回の実行で取得された情報を第二回の実行で利用できないからである。
【0003】
群集の動的特徴を考慮に入れる別の技術では、群集内の且つ/又は群集周囲の物理的なチェックポイントを選定する。その後、群集の人数はチェックポイントを通過した人数に基づいて予想される。必要なチェックポイントの数は群集の規模に依存し、多くの場合いくつかのチェックポイントが必要である。チェックポイントで人数を決定する一つの方法は、手入力(即ち、人が実際に人を数える)による。この技術は非常に労働集約的である。もう一つのより労働集約的でない方法は、人数を数える装置を使用する。例えば、カメラはチェックポイントで群集を監視することができ、コンピュータはその画像を処理することができる。しかしながら、人は互いに重なり合い、何人の人が現存するかの決定が難しくなるので、これらの二つの技術は両者ともにチェックポイントが混雑している場合は誤差を引起しやすい。
【0004】
チェックポイント技術のもう一つの問題点は二重カウントの問題である。1人の人が複数のチェックポイントから視認され得る。これは、その人がチェックポイント間を移動すること、またはチェックポイントの視認領域が重なることにより発生する。第一の状況は、概略同時に個々のチェックポイントに何人の人が居るか決定することによって処理できる。必要な同時性の程度は、群衆中の人の移動性とチェックポイント間の距離に依存する。第二の状況は、しかしながら、依然として残ったままである。代替的な手法の一つは、特定の個人を識別(追跡)し、その後それぞれの個人が一回だけしかカウントされていないことを確認する。チェックポイントで人をカウントするために画像装置が使用される場合、個人を追跡することは難しい。まず、個人個人は非常に似通って見える。さらに、いくつかの異なる装置から情報が集められ処理されなければならない。このために、多くの帯域幅と計算が必要である。
【0005】
群集の規模と密度にかかわらず、限られた量の帯域幅と計算により、実時間で群集の人数を決定する方法が必要である。
【発明の開示】
【0006】
発明の要約
Visual hull情報を用いて群集の人数を決定するシステム、装置および方法が提示される。一つの実施形態において、システムは画像センサと中央コンピュータのネットワークからなる。他の実施形態では、システムはさらに1台以上のローカルコンピュータを含む。一つの実施形態において、画像センサは群集に対してどのような高さおよびどのような角度で配置されても良い。
【0007】
一つの実施形態において、群集のvisual hullの平面投影は次のように決定される:画像センサが画像センサから見た従来の群集画像を生成する。次に、シルエット画像が従来の画像に基づいて決定される。シルエット画像コーンと動作容積の交差領域が決定される。交差領域の平面上への投影が決定される。最後に、いくつかの画像センサから平面投影が集められる。
【0008】
一つの実施形態において、中央コンピュータはいくつかの画像センサからの平面投影を、それらを交差させ細分化パターンを形成することによって、集積する。一つの実施形態において、中央コンピュータは一つの多角形が対象物を包含すると決定する場合には厳密な一致を要求する。別の一つの実施形態において、中央コンピュータは投票スキームを使用する。一つの実施形態において、中央コンピュータは次にどの多角形が実際に空であるか決定し、それらを除外する。
【0009】
一つの実施形態において、中央コンピュータは次に個々の多角形における人数の上下限を決定する。一つの実施形態において、これらの境界はツリーデータ構造に保存される。一つの実施形態において、このツリーは時間の経過にしたがって画像センサから新しい情報が受信され更新される。一つの実施形態において、群集の人数はツリーのルートノードの下限に等しい。
【発明を実施するための最良の形態】
【0010】
実施形態の詳細な説明
類似の番号が類似の要素を示す添付図面の図において、発明は限定するためではなく、例示を目的として示されている。
以下の説明において、説明の目的から、多くの具体的な詳細が発明の完全な理解を目的として提示される。しかしながら、これらの具体的な詳細が無くても、本発明が実施可能であることは、当業者にとって明らかである。他の場合において、本発明を不明確にすることが無いように、構造および装置がブロック図の形で示されている。
【0011】
明細書中の「一つの実施形態」又は「実施形態」の使用は、その実施形態に関連して説明された特定の特徴、構造又は特性が本発明の少なくとも一つの実施形態に含まれることを意図している。明細書中のいくつかの個所で出現する「一つの実施形態において」は必ずしも全てが同じ実施形態を言及するものではない。
【0012】
以下に述べられる詳細な記述のある部分は、コンピュータメモリ内のデータビット上の動作についてアルゴリズムの形および記号表現の形で示されている。これらのアルゴリズムの説明および表現は、データ処理技術に携わる当業者が自分の成果の中身を最も効果的に他の当業者に対して伝達するために使用する手段である。ここでは、また一般にも、一つのアルゴリズムは所望の結果に導く自己矛盾の無い一連のステップと考えられる。ステップは物理量の物理的な操作を要求するものである。必ずというわけではないが、通常、これらの量は、保存、移動、結合、比較およびその他の操作が可能な電気または磁気信号の形を取る。主に通常の使用にかかわる理由として、これらの信号を、ビット、数値、要素、記号、文字、項、番号等と呼ぶと便利な場合があることが分かっている。
【0013】
しかしながら、これらおよび類似の項の全てが、適切な物理量と関連付けられ、これらの量に適用される便宜的な表示に過ぎないことを覚えておくべきである。具体的に宣言されない限り、以下の議論で明らかなように、説明を通して、「処理する」、「演算する」、「計算する」、「決定する」「表示する」等を使用した議論は、コンピュータシステムのレジスタおよびメモリ内に物理(電子)量として表されているデータを、コンピュータシステムのメモリ、レジスタ、あるいは他のそのような情報保存、伝送またはディスプレイ装置内で、同じように物理量として表わされる他のデータに、操作して変換するコンピュータシステムまたは類似の電子計算装置の実行および処理、に言及している。
【0014】
本発明はここで動作を実行する装置にも関係している。この装置は要求された目的に合わせて構成されている専用機か、あるいはコンピュータ内に保存されたコンピュータプログラムによって、選択的に作動または再設定される汎用のコンピュータからなる。このようなコンピュータプログラムはコンピュータが読み出し可能な次のようなストレージ媒体、以下に限定されないが例えば、フロッピーディスク、光ディスク、CD−ROM、光磁気ディスクを含む任意のタイプのディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気または光カード、または電子命令を保存可能な全てのタイプの媒体に保存され、以上の媒体のそれぞれはコンピュータシステムバスに接続される。
【0015】
ここで示されるアルゴリズムとディスプレイは特定のコンピュータまたは他の装置に固有に関連するものではない。多種の汎用目的のシステムが、ここでの教示事項に従ったプログラムと共に使用され、あるいは要求される方法のステップを実行するためにより特殊化された装置が構築される。これらのさまざまなシステムに要求される構成は以下の説明によって明らかになる。さらに、本発明はいずれの特定のプログラミング言語も参照することなく説明される。ここで説明される本発明の教示事項を実施するためにさまざまなプログラミング言語が使用可能であると認識される。
【0016】
1.群衆の人数を決定するためのシステムの構成
以下の説明は、群衆の人数を決定するためのシステムの構成を扱うものであるが、該システムはある特定のエリアにある対象物の数を決定するために使用することも可能である。対象物は同一のタイプからなるもの(例えば、人々)、または異なるタイプからなるもの(例えば人々と動物)のいずれの場合もありうる。
【0017】
図1は本発明の一つの実施形態による、群集の人数を決定するためのシステムの俯瞰図(ブロック図の形式で)を示す。群集の存在が想定される長方形の領域110をいくつかの画像センサ100が取り囲む。領域110は物理的な境界によって境界が定められても定められなくても良い。実施形態では8台の画像センサが示されているが、1台より多ければいかなる数の画像センサの使用も可能である。一般に、使用される画像センサ100の数が増えれば、システムが取り扱い可能な領域110のサイズも増加する。
【0018】
一つの実施形態においては、図1に示されたシステムは領域110に存在する人の数の上下限を演算する。他の実施形態においては、下限が存在する人の数に等しい。一般に、使用センサ100の数が増加するにつれて、システムが正しく数えることができる人数が増加する。さらに他の実施形態においては、システムは常に領域100に存在する人数の上下限を計算する。
【0019】
一つの実施形態においては、画像センサ100はネットワーク190を使用する中央コンピュータ120に接続されている。ネットワーク190との双方向の通信リンクは有線または無線(例えば地上波または衛星を利用したトランシーバ)のいずれの形も可能である。一つの実施形態においては、ネットワーク190は個人のネットワークである。他の一つの実施形態においては、ネットワーク190は、IPに基づいた構内通信網(LAN)または広域通信網(WAN)である。
【0020】
データは画像センサ100から中央コンピュータ120へ送られる。中央コンピュータ120はこのデータを用いて群集のvisual hullの平面投影を決定する。対象物のvisual hullは、対象物がその中に存在することができて、対象物の外部の全てのビューに対して、対象物自身と同一のシルエットを生み出す最大の体積である。換言すれば、visual hullは対象物のいくつかのシルエットコーンの交差領域である。シルエットコーンは異なる場所から見たときの対象物の異なるビューを示す。Visual hullを生成する技術には、ボリューム・インターセクション(volume intersection) およびシェイプ・フロム・シルエット(shape-from-silhouette)が含まれる。対象物のvisual hullはその定義から対象物を完全に包含することが保証されている。Visual hullとその生成方法については当業者に知られ、詳細については「ザ・ビジュアル・ハル・コンセプト・フォー・シルエット−ベイスト・イメージ・アンダースタンディング」A.ロオレンティニ、IEEEトランザクションズ・オン・パターン・アナリシス・アンド・マシーン・インテリジェンス、16:2、1994年2月(”The Visual Hull Concept for Silhouette-Based Image Understanding” by A. Laurentini, IEEE Transactions on Pattern Analysis and Machine Intelligence, 16:2, February 1994.)に記載されている。Visual hullの平面投影はvisual hullの平面上への投影である。一つの実施形態においては、中央コンピュータ120が長方形領域110の床上への群集のvisual hullの投影を決定する。この実施形態においては、群集のvisual hullの平面投影は、群集の上部位置から見たときの群衆のシルエットに類似している。
【0021】
一旦群集のvisual hullの平面投影が決定されると、中央コンピュータ120が群集の人数を決定する。群集の人数を決定するために中央コンピュータ120が使用する方法を、図8を参照して以下に説明する。
【0022】
上述のように、中央コンピュータ120は画像センサ100からのデータを用いて群衆のvisual hullの平面投影を決定する。一つの実施形態においては、画像センサ100は中央コンピュータ120から問い合わせを受信した後、データを中央コンピュータ120へ送る。他の一つの実施形態においては、画像センサ100は問い合わせを受信することなく中央コンピュータ120へデータを送る。さらに他の一つの実施形態においては、画像センサ100は定期的に中央コンピュータ120へデータを送る。二つの画像センサ100が定期的に中央コンピュータにデータを送信する場合、それらの送信は同期してもしなくても良い。
【0023】
a.群集のvisual hullの平面投影を決定するシステムの使用
一つの実施形態において、群集のvisual hullの投影は、群集のvisual hullを決定し(異なるセンサからの群集のビューに基づく)、その後visual hullを平面上に投影することによって決定される。少ない演算リソースが要求される他の一つの実施形態では、群集のvisual hullの平面投影は、それぞれのシルエットコーンを平面上に投影し、その結果得られる2次元マップを集積することによって決められる。この実施形態はvisual hullの平面投影の近似を与えるに過ぎないが、群集の人数を決定するには充分な近似である。さらに他の一つの実施形態においては、前記の実施形態によって必要とされる演算リソース量は、群集のvisual hull を動作容積(working volume)で交差させることによって(前者の実施形態)、または個々のシルエットコーンを動作容積で交差させることによって(後者の実施形態)さらに減少される。
【0024】
図11は、本発明の一つの実施形態による、群集のvisual hullの平面投影を決定するために、群集の従来の画像を利用する方法を示す。最初のステップで、複数の従来の群集の画像が生成される(1100)。複数のシルエット画像が従来の画像に基づいて決定される(1110)。個々のシルエット画像コーンと動作容積の交差領域が決定される(1120)。個々の交差領域の平面上への投影が決定される(1130)。最後に、群集のvisual hullの平面投影を形成するためにそれらの投影が集められる(1140)。
【0025】
ステップ1100、1110、1120、1130、および1140は、例えば、画像センサ100、中央コンピュータ120、あるいは追加のローカルコンピュータ(図示せず)によって実行される。一つの実施形態においては、画像センサ100の間の通信構成は比較的集中化されていない。一つの実施形態においては、1台以上の近傍のセンサ100からのデータを処理するために1台以上のローカルコンピュータが使用される。その後、このローカルコンピュータは得られたデータをさらに処理するために中央コンピュータ120へ送る。
【0026】
一つの実施形態において、例えば、画像センサ100は、このセンサ100の視点から見た群集の従来の画像を生成する(1100)。この実施形態においては、画像センサ100は、従来の画像を生成できるカメラのような、どのようなタイプの装置をも含む。
【0027】
この従来のイメージに基づいてシルエット画像が決定される(1110)。一つの実施形態においては、シルエット画像には2色のみが使用される:1色は前景(群衆中の人々)、もう1色は背景(人が居ない場所)。別の一つの実施形態では、シルエット画像は白黒のビットマップである。
【0028】
シルエット画像を決定するために(1110)、いくつかの方法のいずれもが使用できる。一つの実施形態においては、背景減算を用いてシルエット画像が決定される(1110)。シルエット画像を生成するために従来の画像イメージから背景が減算される。一つの実施形態においては、人が全く存在しない場合は、画像センサ100の出力が、画像センサ100から見た時の背景画像に対して較正される。一つの実施形態においては、コンピュータが背景減算を実行する。他の一つの実施形態では、CMOSセンサの集合体が背景減算を実行する。例えば、内蔵のCMOSロジックが、同一または前の画像内の近傍のピクセルの値に基づいて、従来画像のピクセルの値を比較する。背景減算は当業者に知られた技術であり、「ア・ローバスト・バックグラウンド・サブトラクション・アンド・シャドウ・ディテクション」T.ホープラサート他、プロシーディングズ・オブ・エイジャン・コンファランス・オン・コンピュータ・ビジョン、2000年1月(”A Robust Background Subtraction and Shadow Detection” by T. Horprasert et al., Proceedings of Asian Conference on Computer Vision, January 2000)に詳細が記載されている。
【0029】
他の実施形態では、動作検出を用いてシルエット画像が決定される(1110)。この実施形態では、動的対象物は従来の画像として検出され、シルエットとして取り出される。静的対象物は背景の一部と見なされ、シルエット画像には含まれない。動的検出は、例えば、コンピュータまたはCMOSセンサの集合体を用いて実行することができる。内蔵されたCMOSロジックが、画像内のピクセルの値を、同一のまたは前の画像内の近傍のピクセルの値と比較して動的検出を実行する。動作検出は当業者に知られている。
【0030】
さらに別の一つの実施形態においては、シルエット画像は画像内の対象物の距離に関する情報を用いて決定される(1110)。この実施形態においては、前景の対象物はセンサ100の近接した位置にあり、一方、背景対象物はセンサ100から離れている。シルエット画像は、対象物の距離を閾値と比較し、前景の対象物を背景の対象物から分離して生成される。3次元の深さセンサが当業者に知られていて、例えば、カネスタ社および3DV・システムズ社(Canesta, Inc. and 3DV Systems, Ltd.)から入手可能である。
【0031】
ステップ1110は、例えば、画像センサ100によって実行される。この実施形態においては、センサ100は上で説明した方法のいずれかを用いて従来のイメージからシルエット画像を決定できる(1110)システムからなる。例えば、該システムはコンピュータのこともある。他の例として、該システムはCMOSセンサの集合体のこともある。代替案として、ステップ1110は、例えば、中央コンピュータ120またはローカルコンピュータによっても実行可能である。この実施形態においては、中央コンピュータ120(またはローカルコンピュータ)がセンサ100から従来のイメージを受信する。中央コンピュータ120(またはローカルコンピュータ)は次に、上で説明した方法のいずれかを用いて従来のイメージからシルエット画像を決定する(1110)。
【0032】
シルエット画像コーンと動作容積の交差領域が次に決定される(1120)。動作容積は人々の存在を検出する空間容積である。シルエットコーンと動作容積の交差領域は、特定のセンサ100から見た対象物のビューに基づいて、対象物がどこに存在する可能性があるかを表す3次元形状である。一つの実施形態においては、動作容積は床(長方形領域110)と平行に位置する四角柱である。動作容積の高さは可変である。一般に、動作容積の高さを限定すれば、群集のvisual hullの平面投影を計算するために必要なリソース量は減少する。一つの実施形態においては、動作容積の高さは最も背の高い人の身長以上で、動作容積は床面を起点とする。他の一つの実施形態においては、動作容積の高さは3フィートで、動作容積は腰の位置(例えば、床から3フィート)を重点的にカバーする。3次元形状の交差領域を決定する方法は当業者に知られており、ハンドブック・オブ・ディスクリート・アンド・コンピュテーショナル・ジオメトリ、グッドマンおよびオールーケ編、CRC・プレス、1997、599−630頁(Handbook of Discrete and Computational Geometry, Goodman and O’Rourke, Eds., CRS Press, 1977, pp. 599-630)に詳細が記載されている。
【0033】
ステップ1120は、例えば、画像センサ100によって実行される。この実施形態においては、センサ100は3次元対象物(シルエット画像コーンと動作容積)の交差領域を決定できる(1120)システムからなる。例えば、該システムはコンピュータのこともある。代替案として、ステップ1120は、例えば、中央コンピュータ120またはローカルコンピュータによって実行することも可能である。この実施形態においては、中央コンピュータ120(またはローカルコンピュータ)がセンサ100からシルエット画像を受信する。中央コンピュータ120(またはローカルコンピュータ)が次にシルエット画像コーンと動作容積との交差領域を決定する(1120)。
【0034】
個々の交差領域の平面への投影が決定される(1130)。上述のように、交差領域は対象物がどこに存在する可能性のあるかを表す3次元形状である。この形状の平面投影は、どこに対象物が存在するかを2次元マップで示す。一つの実施形態においては、この平面は床(長方形領域110)である。この実施形態においては、交差領域の平面投影は対象物が存在する可能性のある床スペースの領域に相似である。3次元形状の平面投影を決定する方法は当業者に知られている。
【0035】
ステップ1130は、例えば、画像センサ100によって実行される。この実施形態においては、センサ100は3次元対象物(シルエット画像コーンと動作容積の交差領域)の平面上への投影を決定できる(1130)システムからなる。例えば、該システムはコンピュータのこともある。代替案として、ステップ1120は、例えば、中央コンピュータ120またはローカルコンピュータによって実行することも可能である。この実施形態においては、中央コンピュータ120(またはローカルコンピュータ)がセンサ100から3次元対象物の表示(シルエット画像コーンと動作容積の交差領域)を受信する。中央コンピュータ120(またはローカルコンピュータ)が次に3次元対象物の平面への投影を決定する(1130)。
【0036】
最後に、平面投影は、群集のvisual hullの平面投影を形成するために集められる。このステップについて以下に図8を参照して説明する。
【0037】
b.システム内へのセンサの配置
画像センサ100は対象物に対して任意の高さおよび角度で据付が可能である。しかしながら、画像センサ100の位置および向きによって画像センサ100からの対象物の見え方が影響される。画像センサの対象物の見え方は、3次元空間のコーンを掃引するシルエットであることを思い出そう。このように、対象物の正確な位置は、1台だけの画像センサ100からの対象物のシルエットに基づいて決定することはできない。特に、対象物と画像センサ100との距離は決定できない。
【0038】
図2は、画像センサ、人および投影シルエットコーンの側面図である。図2Aにおいて、画像センサ100は人200の真上(例えば天井)に位置し、床を向いている。図2Bは図2Aの人および投影シルエットコーンの上面図である。図2Bに示された投影シルエットコーン210の上面図も、画像センサ100から見た時の人200のシルエット画像である。さらに、このシルエットはこの人のvisual hullの平面投影である。
【0039】
画像センサ100からのシルエット画像を用いて人200のvisual hullの平面投影を決定することが最終目的の場合は、シルエット画像が既に所要の平面投影に等しいことが望ましい。このように、画像センサ100の好ましい配置は、人200の真上になろう。この配置では、シルエット画像は、人200のvisual hullの平面投影を決定するために、これ以上の処理を必要としない。しかしながら、上述のように、群集の上に画像センサ100を設置することは、例えば屋外の集まりにおいて、実際的でない。この配置では、人200と画像センサ100との距離が決定されないことに注意して欲しい。しかしながら、人200と画像センサ100との距離は人のvisual hullの平面投影とは無関係であるので、距離が決定されないことは問題にならない。
【0040】
図3Aは画像センサ、人および投影シルエットコーンの側面図である。図3Aでは画像センサ100が人200の横に斜めになるように配置されている。図3Bは図3Aの画像センサ、人および投影シルエットコーンの上面図である。図3Bに示された人200の上面からの見え方は、画像センサ100から見たときのシルエットコーンの投影と同じでないことに注意を喚起する。また、画像センサ100から見た人200のシルエット画像は、人のvisual hullの平面投影ではない。この配置では、人200と画像センサ100との距離は決定できない。しかしながら、図2Aおよび2Bの配置とは異なり、人200と画像センサ100との距離は人のvisual hullの平面投影に関係するので、距離を決定できないことが問題になる。
【0041】
図4Aは画像センサ、人および投影シルエットコーンの側面図である。図4Aにおいて、画像センサ100は床に平行に配置され、人200はセンサ視野範囲内に在る。図4Bは、図4Aの画像センサ、人および投影シルエットコーンの上面図である。図4Bに示された人200の上面からの見え方は、画像センサ100から見たときのシルエットコーンの投影と同じでないことに注意を喚起する。また、画像センサ100から見た人200のシルエット画像は、人のvisual hullの平面投影ではない。この配置では、人200と画像センサ100との距離は決定できない。しかしながら、図2Aおよび2Bの配置とは異なり、人200と画像センサ100との距離は人のvisual hullの平面投影に関係するので、距離を決定できないことが問題になる。
【0042】
上述のように、画像センサ100は対象物に対して任意の高さおよび角度で配置することが可能である。しかしながら、群集のvisual hullの平面投影を計算するためには、動作容積内のポイントは少なくとも2台のセンサ100から可視状態になければならない。多数のセンサ100からビューを取得すれば、システムのオクルージョンの処理の助けになる。説明を明確にするために、本発明は今後、画像センサ100が、図4Aおよび4Bと同様に、床に平行に配置されている実施形態によって説明する。
【0043】
一般に、画像センサ100は、シルエットが不完全であっても、センサの視野内の人が唯一のシルエットを作るように配置されるべきである。例えば、画像センサ100が地上から10フィート上に配置されるとした場合、5フィートの身長の人は、センサ100の近くに位置しようが離れていようが、センサの視野から外れる可能性がある。図5は画像センサ、画像センサの視野および異なる二箇所に位置している人の側面図である。図5では、画像センサ100は床と平行に配置され、人200は第1の位置200Aと第2の位置200Bのいずれの位置においても、視野500の外部にある。当然のことながら、人200は第2の画像センサ100(図示せず)の視野内に入ることはあり得る。一般に、領域110は画像センサ100によって充分にカバーされるべきであるが、全ての画像センサが領域110内の全ての場所をカバーする必要は無い。同様に、画像センサ100は一人の人を表している二つの対象物を見るべきでない。画像センサが地上に配置された場合、視野200内を歩行する人200は二つの対象物(左足と右足)として現れるかもしれない。従って、一つの実施形態においては、画像センサ100は地上から約3フィート離して設置される。この高さに置かれると画像センサ100は人の胴を見ることができる。
【0044】
2.群集の人数を決定するための装置の構成
図6は本発明の一つの実施形態による群衆のvisual hullの平面投影に基づいた群集の人数を決定するための装置のブロック図である。装置600は好ましくはプロセッサ610、主メモリ620、データ保存装置630および入出力制御器680からなり、これらの全てはシステムバス640に通信可能な状態で接続されている。装置600に、例えば、汎用のコンピュータを使用することも可能である。
【0045】
プロセッサ610はデータ信号を処理し、複号命令セットコンピュータ(CISC)、縮小命令セットコンピュータ(RISC)または命令セットの組み合わせを実施する構成を含むさまざまな計算構成からなる。図6では一つのプロセッサだけが示されているが、多数のプロセッサが含まれる場合もある。
【0046】
主メモリ620はプロセッサ610によって実行される命令および/またはデータを保存する。命令および/またはデータは、ここで説明される技術のいずれかおよび/または全てを実行するためのコードからなる。主メモリ620はダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)またはその他の周知のメモリデバイスであることが望ましい。
【0047】
データ保存装置630はプロセッサ610のためのデータおよび命令を保存し、ハードディスクドライブ、フロッピディスクドライブ、CD−ROMデバイス、DVD−ROMデバイス、DVD−RAMデバイス、DVD−RWデバイス、フラッシュメモリデバイスまたはその他の既知の大容量ストレージデバイスを含む一つ以上のデバイスからなる。
【0048】
ネットワーク制御器680は装置600が通信できるように装置600を他の機器にリンクさせる。
【0049】
システムバス640は装置600の至る所で情報およびデータを通信するための共有バスである。システムバス640は、工業標準アーキテクチャ(ISA)バス、周辺機器相互接続(PCI)バス、ユニバーサルシリアルバス(USB)またはその他の類似の機能を実現できる周知のバスを含むバスの一つ以上のバスである。
【0050】
システムバス640経由で装置600に接続される可能性のある追加のコンポーネントとしては、ディスプレイ装置650、キーボード660およびカーソル制御装置670がある。ディスプレイ装置650は電子イメージおよびデータをローカルユーザまたは保守担当者に表示できる装置であればどのようなものでも構わない。ディスプレイ装置650は陰極線管(CRT)、液晶ディスプレイ(LCD)またはその他の類似の機能を有するディスプレイ装置、スクリーンまたはモニタである。キーボード660は情報および命令選択をプロセッサ610へ通信するために装置600に接続されたアルファベットと数字を組み合わせた入力装置である。カーソル制御装置670は命令選択および位置データをプロセッサ610へ通信するために備えられたユーザ入力装置である。カーソル制御装置670は、マウス、トラックボール、スタイラス、ペン、カーソル方向キーあるいはカーソルに動作を与える他の機構からなる。
【0051】
当業者にとって、本発明の範囲を逸脱することなく、装置600が図6に示された例より多くのまたは少ないコンポーネントから構成されることは自明である。例えば、装置600は追加のメモリ、例えば、プライマリまたはセカンダリレベルのキャッシュ、あるいは一つ以上の特定用途向け集積回路(ASIC)を含む。上述のように、装置600はASICだけから構成することも可能である。さらに、装置600に連結される可能性のあるコンポーネントとしては、例えば、画像走査装置、デジタルスチルまたはビデオカメラ、あるいは装置600へ/又は装置600から電子データを取得および/またはダウンロードするために装備されてもされなくても良い他の装置が挙げられる。
【0052】
図7は図6に示されたメモリユニットの内容を示すより詳細なブロック図である。一般に、メモリユニット620は、群集のvisual hullの平面投影に基づいて群集の人数を決定するためのいくつかのコードモジュールからなる。一つの実施形態において、メモリユニット620は、シルエットコーンと動作容積との交差領域の平面投影に基づいて群集のvisual hullの平面投影を近似する。特に、メモリユニット620のコードモジュールは、メインプログラムモジュール700、集積モジュール710、除去モジュール720、ツリー決定モジュール730、ツリー更新モジュール740および合計モジュール750からなる。
【0053】
全てのコードモジュール710、720、730、740、750はメインプログラムモジュール700に連結されて通信が可能である。メインプログラムモジュール700が中央から装置600の動作および処理フローを制御し、個々のコードモジュール710、720、730、740、750からデータを受信するとともに、これらのモジュールへ命令とデータを送信する。メインプログラムモジュール700の動作の詳細については図8を参照して以下に説明する。
【0054】
集積モジュール710は、シルエットコーンと動作容積との交差領域の平面投影を含む複数の二次元マップを集積する。個々の二次元マップは1台のセンサ100からのビューに基づいた、人が存在する可能性のある領域を包含する。この領域はシルエットコーンと動作容積との交差領域の平面投影である。集積によってマップが交差し、それはマップを互いに重ね合わせ、どこでシルエットコーンが重なり合うかを見ることに類似している。
【0055】
図9は2台の画像センサ、一つの対象物およびその対象物のシルエットコーンの上面図である。図示の実施形態では、シルエットコーンは楔形をしている。多数のセンサ100が領域110を囲む場合、楔形のシルエットコーン910Aと910Bは交差し(重なり)細分化パターンを形成して、領域110をいくつかの多角形900A,900B,900C,900Dおよび900Eに分割する。図示の実施形態では、シルエットコーン910Aは多角形900B,900Cおよび900Dからなる一方、シルエットコーン910Bは多角形900A,900Cおよび900Eからなる。このようにしてセンサ100Aは対象物が多角形900B,900Cおよび900D内に位置すると決定でき、一方、センサ100Bは対象物が多角形900A,900Cおよび900E内に位置すると決定できる。これとともに、センサ100Aおよび100Bからの情報は集積されて、対象物が多角形900C内に位置していると決定することが可能である。
【0056】
一つの実施形態において、上述の細分化は厳密に決定される。この実施形態ではシルエットコーンの境界は線で表される。これらの線は交差すると多角形の境界線を形成する。他の一つの実施形態においては、細分化に近似が用いられる。この実施形態では、二次元マップは、シルエットコーンがピクセルのパッチになるように画素化される。画素化はまたラスタ処理またはスキャン変換と呼ばれ、当業者に知られている。その詳細はグラフィクス・ジェムズ、A.グラスナー編、モーガン・カオフマン、1998年、75−97頁(Graphics Gems, A. Glassner, Ed., Morgan Kaufmann, 1988, pp. 75-97)に記載されている。
【0057】
一般に、厳密な細分化はアルゴリズムの観点から実施するのは困難で、必要な演算リソースは少なく、誤差の扱いにおいては能力が低い。対照的に、画素化は実施し易いが、演算リソースをより多く必要とし、誤差を扱う能力はより高い。一つの実施形態においては、特別のグラフィックハードウェアがマップをピクセル化し交差させるために用いられる。特別のグラフィックハードウェアがピクセル化に用いられる場合は、必要な演算リソース量は大幅に減少する。
【0058】
集積モジュール710はマップを交差させることによっていくつかのセンサからの情報を集積する。結果として得られる交差領域は群集のvisual hullの近似である。一つの実施形態において、集積モジュール710は対象物が存在するかもしれないと決定するときに厳密な一致を必要とする。この実施形態では、ある特定の多角形領域をカバーする全てのマップ(センサビュー)は対象物がその領域にあると一致しなければならない。1台のセンサでもその領域に対象物が無いと出力した場合には、集積モジュール710は対象物が存在しないと決定する。他の実施形態においては、集積モジュール710は投票スキームを用いる。この実施形態においては、対象物が存在する可能性があるとするマップの数と対象物が存在しないとするマップの数を比較する。「対象物有り」のマップの数またはパーセントが閾値より高い場合、集積モジュール710は対象物がその領域に存在すると決定する。
【0059】
一つの実施形態においては、ローカルコンピュータが二次元マップの全数の一部である部分集合を集積するために使用される。この実施形態では、センサ100からのビューの集積を分散して実施することが可能になる。ローカルコンピュータで集めた結果が中央コンピュータ120で集められる。
【0060】
図10Aは対象物無しの2台の画像センサおよび投影シルエットコーンの上面図である。多角形領域1000A,1000B,1000Cおよび1000Dは対象物が存在する可能性のある場所を示している。換言すれば、多角形領域1000A,1000B,1000Cおよび1000Dは投影された対象物のvisual hullである。一人より多い対象物が多角形領域1000A,1000B,1000Cおよび1000Dに存在する可能性のあることを喚起されたい。対象物のいくつかの配置が一つの所与のvisual hullに一致することができるので、投影されたvisual hullはあいまい性を持つ。図10Bは図10Aの投影されたシルエットコーンと第一のコンフィギュレーションにおける多数の対象物の上面図である。図10Cは図10Aの投影されたシルエットコーンと第二のコンフィギュレーションにおける多数の対象物の上面図である。図10Dは図10Aの投影されたシルエットコーンと第三のコンフィギュレーションにおける多数の対象物の上面図である。図10Eは図10Aの投影されたシルエットコーンと第四のコンフィギュレーションにおける多数の対象物の上面図である。図10B,10C,10Dおよび10Eのいずれの対象物のコンフィギュレーションも図10Aの投影されたvisual hullと一致している。
【0061】
除去モジュール720はどの投影visual hullの多角形領域が空かを決定し、それらを投影から除外する。これらの多角形領域は幻影(phantoms)として知られている。幻影の一つのタイプはサイズに基づいて識別される。例えば、最低の対象物サイズより小さい多角形は除外される。他の幻影のタイプは時間的コヒーレンスに基づいて識別される。例えば、対象物が無いのに現出する多角形(次の多角形にはなり得ないもの)は除外される。このタイプの幻影は3台以上のセンサ100によるものである。図12Aは3台のセンサ、それらの投影シルエットコーンおよび多数の対象物の上面図である。図12Bは3台のセンサ、それらの投影シルエットコーン、多数の対象物および幻影多角形の上面図である。二つの対象物1200Aと1200Bが二つの連続の時間ステップ(最初に図12A次に図12B)で観測され、幻影1210が図12Bに現出している。一つの実施形態においては、多角形の時間コヒーレンスは、その多角形が前の時間ビュー(例えば図12A)において多角形を交差したかテストすることによってチェックされる。このテストでは対象物が一つの時間ステップでそのvisual hullによって作られた領域を去ることは無いと仮定している。一つの実施形態においては、この最大スピードの仮定は、交差領域を計算する前に、前の時間ステップにおける多角形を拡張することによって調整される。
【0062】
センサイメージがオクルージョン(ある人が他の人のセンサ100による視認を妨害)を含む場合、群集の正しい人数を決定することはできない。その代わりに、一つの実施形態では、群集の人数は個々の多角形内に存在する人数を限定することによって決定される。ツリー決定モジュール730は個々の多角形内の人数の上下限を決定する。
【0063】
上限制約(UBC)−一つの実施形態において、最低の対象物サイズで割った多角形の面積が多角形の上限である。対象物がクラスタ化し一体となって単一の標的のように動くとして、考えられる最悪シナリオを仮定しているので、この境界は厳密性を非常に欠いている。この境界には、対象物の幾何学的形状によらず(変わった形状の入れ物を液体が満たすやり方に類似)、対象物が多角形の全領域を満たすとの仮定が用いられている。
【0064】
下限制約(LBC)−一つだけの多角形と交差する画像センサ100からの光線があれば、その多角形は少なくとも一つの対象物を含む。これは画像センサ100からの光線は、対応する視線が対象物によってブロックされた場合にだけ、多角形に交差するからである。一つだけの多角形が光線と交差する場合、対象物は多角形内に含まれるはずである。この制約は、対象物を直接数えるのでUBCとは異なる。(真の対象物は光線に沿って観測されカウントされる。)対照的に、UBCは多角形を満たす対象物の最大数を仮定する。
【0065】
一つの実施形態において、決定モジュール730はデータ構造に上下限を保存する。特定のLBCの値は多角形が少なくとも一つの対象物を含むかを示すが、時系列のLBCの振る舞いによって追加情報が伝達される。他の一つの実施形態では、データ構造はツリー(τ)になっている。ツリーに沿って下限を伝播することにより、領域110内の対象物の数がさらに制約される(例えば、下限が狭くなる)。
【0066】
一つの実施形態においては、ツリーの個々の葉は、時刻tで、新たに観測された多角形とそれに関連する対象物の境界を保存する。ツリーのノードはその子孫の全ての多角形からなる暗黙の和集合を表している。このノードはこの和集合内の対象物の数に対する境界を含む。これにより、ツリー中の対象物の境界上で四つの特性が導入される:
【0067】
【0068】
【0069】
【0070】
【0071】
【0072】
【0073】
【0074】
【0075】
境界の更新−方程式(1)−(4)が全てのノードに確実に成り立つようにするために、対象物の境界はツリー全体で更新される。これには次の二つの操作が含まれる:まず、葉からの新しい情報はτのルーツまで伝播される。その後、ルーツに対する更新された境界は葉まで伝播されて戻る。
【0076】
合計モジュール750はツリーτのルートノードへ下限を返す。この数字が群集の人数である。
【0077】
3.群集の人数を決定する方法
図8は本発明の一つの実施形態による群衆の人数を決定する方法を示す。方法が開始すると、ステップ1130に示すように、シルエットコーンと動作容積の交差領域の平面投影が既に決定されている。
【0078】
最初のステップで、メインプログラムモジュール700が開始する(800)。メインプログラムモジュール700は集積モジュール710に、シルエットコーンと動作容積の交差領域の平面投影である複数の2次元マップの集積を命令する(810)。そして、メインプログラムモジュール700は除去モジュール720に、投影されたvisual hullのどの多角形が実際に空か決定し、それらを投影から除外することによって、多角形を除去するように命令する(820)。
【0079】
メインプログラムモジュール700は決定モジュール730に、上下限を保存することによって、ツリーデータ構造を決定するように命令する(830)。メインプログラムモジュール700は、その後、合計モジュール750を用いて群集の人数を決定する(840)。
【0080】
要望があれば、シルエットコーンと動作容積の交差領域の平面投影は、時間的に後に再決定される。方法はステップ810へ戻り(860)、ステップ810および820を繰り返す。その後、メインプログラムモジュール700はツリー更新モジュール740にツリーデータ構造を更新するように命令する(830)。タイムステップがそれ以上ない場合は、メインプログラムモジュール700は終了する(850)。
【0081】
本発明はその実施形態を参照して相当な詳細にわたって説明されたが、当業者の理解が得られるように、他の実施形態も可能である。例えば、他の一つの実施形態が、「カウンティング・ピープル・イン・クラウズ・ウイズ・ア・リアル−タイム・ネットワーク・オブ・シンプル・イメージ・センサーズ」、D.ヤング、H.ゴンザレツ−バノス、およびL.ギバス共著、プロシーディングズ・オブ・ザ・ナインス・IEEE・インターナショナル・コンファランス・オン・コンピュータ・ビジョン(ICCV)、ニース、フランス、10月13−16日、2003年、122−129頁およびCD−ROM(Counting People in Crowds with a Real-Time Network of Simple Image Sensors” by D. Yang, H. Gonzalez-Banos, and L. Guibas, Proceedings of the Ninth IEEE International Conference on Computer Vision (ICCV), Nice, France, October 13-16, 2003, pp. 122-129 and CD-ROM)、に掲載されている。
【図面の簡単な説明】
【0082】
【図1】図1は本発明の一つの実施形態による、群集の人数を決定するためのシステムの俯瞰図(ブロック図の形式で)を示す。
【図2A】図2Aは、画像センサ、人および投影シルエットコーンの側面図を示す。
【図2B】図2Bは、図2Aの人および投影シルエットコーンの上面図を示す。
【図3A】図3Aは画像センサ、人および投影シルエットコーンの側面図を示す。
【図3B】図3Bは図3Aの画像センサ、人および投影シルエットコーンの上面図を示す。
【図4A】図4Aは画像センサ、人および投影シルエットコーンの側面図を示す。
【図4B】図4Bは、図4Aの画像センサ、人および投影シルエットコーンの上面図を示す。
【図5】図5は画像センサ、画像センサの視野および異なる二箇所に位置している人の側面図を示す。
【図6】図6は本発明の一つの実施形態による、群衆のvisual hullの平面投影に基づいた群集の人数を決定するための装置のブロック図を示す。
【図7】図7は図6に示されたメモリユニットの内容を示すより詳細なブロック図である。
【図8】図8は本発明の一つの実施形態による群衆の人数を決定する方法を示す。
【図9】図9は2台の画像センサ、一つの対象物およびその対象物のシルエットコーンを示す上面図である。
【図10A】図10Aは対象物無しの2台の画像センサおよび投影シルエットコーンの上面図を示す。
【図10B】図10Bは図10Aの投影されたシルエットコーンと、第一のコンフィギュレーションにおける多数の対象物を示す上面図である。
【図10C】図10Cは図10Aの投影されたシルエットコーンと、第二のコンフィギュレーションにおける多数の対象物を示す上面図である。
【図10D】図10Dは図10Aの投影されたシルエットコーンと、第三のコンフィギュレーションにおける多数の対象物を示す上面図である。
【図10E】図10Eは図10Aの投影されたシルエットコーンと、第四のコンフィギュレーションにおける多数の対象物を示す上面図である。
【図11】図11は、本発明の一つの実施形態による、群集のvisual hullの平面投影を決定するために、従来の群集の画像を利用する方法を示す。
【図12A】図12Aは3台のセンサ、それらの投影シルエットコーンおよび多数の対象物を示す上面図である。
【図12B】図12Bは3台のセンサ、それらの投影シルエットコーン、多数の対象物および幻影の多角形を示す上面図である。
【図13】図13は本発明の一つの実施形態によるツリーデータ構造のダイアグラムを示す。
【技術分野】
【0001】
本発明は計算装置を用いて群集の人数を決定することに関する。より具体的には、本発明は群集の人数を決定するためにvisual hull情報を利用することに関する。
【背景技術】
【0002】
群集の人数を決定するいくつかの技術が現存する。しかしながら、これらの技術はそれぞれに欠点を有している。一つの技術は群集の空間像を生成した後、画像中の人数を数える。例えば、戸外の場所の群集は航空機または衛星から写真を撮ることができる。この画像は群集の人数を数えるために使用される。この技術の欠点は、このような画像を得るためには群集が戸外に居なければならないことである。もう一つの欠点は、画像の分解能が低い場合があるので、人数を数えることが難しいことである。さらに別の欠点は、この技術は一つの特定の時刻(即ち、画像が生成されたとき)の群集の人数を提供することに有る。それより後の時刻において、群集の人数を決定するためには、全てのプロセスを繰り返さなければならない。この理由は、第一回の実行で取得された情報を第二回の実行で利用できないからである。
【0003】
群集の動的特徴を考慮に入れる別の技術では、群集内の且つ/又は群集周囲の物理的なチェックポイントを選定する。その後、群集の人数はチェックポイントを通過した人数に基づいて予想される。必要なチェックポイントの数は群集の規模に依存し、多くの場合いくつかのチェックポイントが必要である。チェックポイントで人数を決定する一つの方法は、手入力(即ち、人が実際に人を数える)による。この技術は非常に労働集約的である。もう一つのより労働集約的でない方法は、人数を数える装置を使用する。例えば、カメラはチェックポイントで群集を監視することができ、コンピュータはその画像を処理することができる。しかしながら、人は互いに重なり合い、何人の人が現存するかの決定が難しくなるので、これらの二つの技術は両者ともにチェックポイントが混雑している場合は誤差を引起しやすい。
【0004】
チェックポイント技術のもう一つの問題点は二重カウントの問題である。1人の人が複数のチェックポイントから視認され得る。これは、その人がチェックポイント間を移動すること、またはチェックポイントの視認領域が重なることにより発生する。第一の状況は、概略同時に個々のチェックポイントに何人の人が居るか決定することによって処理できる。必要な同時性の程度は、群衆中の人の移動性とチェックポイント間の距離に依存する。第二の状況は、しかしながら、依然として残ったままである。代替的な手法の一つは、特定の個人を識別(追跡)し、その後それぞれの個人が一回だけしかカウントされていないことを確認する。チェックポイントで人をカウントするために画像装置が使用される場合、個人を追跡することは難しい。まず、個人個人は非常に似通って見える。さらに、いくつかの異なる装置から情報が集められ処理されなければならない。このために、多くの帯域幅と計算が必要である。
【0005】
群集の規模と密度にかかわらず、限られた量の帯域幅と計算により、実時間で群集の人数を決定する方法が必要である。
【発明の開示】
【0006】
発明の要約
Visual hull情報を用いて群集の人数を決定するシステム、装置および方法が提示される。一つの実施形態において、システムは画像センサと中央コンピュータのネットワークからなる。他の実施形態では、システムはさらに1台以上のローカルコンピュータを含む。一つの実施形態において、画像センサは群集に対してどのような高さおよびどのような角度で配置されても良い。
【0007】
一つの実施形態において、群集のvisual hullの平面投影は次のように決定される:画像センサが画像センサから見た従来の群集画像を生成する。次に、シルエット画像が従来の画像に基づいて決定される。シルエット画像コーンと動作容積の交差領域が決定される。交差領域の平面上への投影が決定される。最後に、いくつかの画像センサから平面投影が集められる。
【0008】
一つの実施形態において、中央コンピュータはいくつかの画像センサからの平面投影を、それらを交差させ細分化パターンを形成することによって、集積する。一つの実施形態において、中央コンピュータは一つの多角形が対象物を包含すると決定する場合には厳密な一致を要求する。別の一つの実施形態において、中央コンピュータは投票スキームを使用する。一つの実施形態において、中央コンピュータは次にどの多角形が実際に空であるか決定し、それらを除外する。
【0009】
一つの実施形態において、中央コンピュータは次に個々の多角形における人数の上下限を決定する。一つの実施形態において、これらの境界はツリーデータ構造に保存される。一つの実施形態において、このツリーは時間の経過にしたがって画像センサから新しい情報が受信され更新される。一つの実施形態において、群集の人数はツリーのルートノードの下限に等しい。
【発明を実施するための最良の形態】
【0010】
実施形態の詳細な説明
類似の番号が類似の要素を示す添付図面の図において、発明は限定するためではなく、例示を目的として示されている。
以下の説明において、説明の目的から、多くの具体的な詳細が発明の完全な理解を目的として提示される。しかしながら、これらの具体的な詳細が無くても、本発明が実施可能であることは、当業者にとって明らかである。他の場合において、本発明を不明確にすることが無いように、構造および装置がブロック図の形で示されている。
【0011】
明細書中の「一つの実施形態」又は「実施形態」の使用は、その実施形態に関連して説明された特定の特徴、構造又は特性が本発明の少なくとも一つの実施形態に含まれることを意図している。明細書中のいくつかの個所で出現する「一つの実施形態において」は必ずしも全てが同じ実施形態を言及するものではない。
【0012】
以下に述べられる詳細な記述のある部分は、コンピュータメモリ内のデータビット上の動作についてアルゴリズムの形および記号表現の形で示されている。これらのアルゴリズムの説明および表現は、データ処理技術に携わる当業者が自分の成果の中身を最も効果的に他の当業者に対して伝達するために使用する手段である。ここでは、また一般にも、一つのアルゴリズムは所望の結果に導く自己矛盾の無い一連のステップと考えられる。ステップは物理量の物理的な操作を要求するものである。必ずというわけではないが、通常、これらの量は、保存、移動、結合、比較およびその他の操作が可能な電気または磁気信号の形を取る。主に通常の使用にかかわる理由として、これらの信号を、ビット、数値、要素、記号、文字、項、番号等と呼ぶと便利な場合があることが分かっている。
【0013】
しかしながら、これらおよび類似の項の全てが、適切な物理量と関連付けられ、これらの量に適用される便宜的な表示に過ぎないことを覚えておくべきである。具体的に宣言されない限り、以下の議論で明らかなように、説明を通して、「処理する」、「演算する」、「計算する」、「決定する」「表示する」等を使用した議論は、コンピュータシステムのレジスタおよびメモリ内に物理(電子)量として表されているデータを、コンピュータシステムのメモリ、レジスタ、あるいは他のそのような情報保存、伝送またはディスプレイ装置内で、同じように物理量として表わされる他のデータに、操作して変換するコンピュータシステムまたは類似の電子計算装置の実行および処理、に言及している。
【0014】
本発明はここで動作を実行する装置にも関係している。この装置は要求された目的に合わせて構成されている専用機か、あるいはコンピュータ内に保存されたコンピュータプログラムによって、選択的に作動または再設定される汎用のコンピュータからなる。このようなコンピュータプログラムはコンピュータが読み出し可能な次のようなストレージ媒体、以下に限定されないが例えば、フロッピーディスク、光ディスク、CD−ROM、光磁気ディスクを含む任意のタイプのディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気または光カード、または電子命令を保存可能な全てのタイプの媒体に保存され、以上の媒体のそれぞれはコンピュータシステムバスに接続される。
【0015】
ここで示されるアルゴリズムとディスプレイは特定のコンピュータまたは他の装置に固有に関連するものではない。多種の汎用目的のシステムが、ここでの教示事項に従ったプログラムと共に使用され、あるいは要求される方法のステップを実行するためにより特殊化された装置が構築される。これらのさまざまなシステムに要求される構成は以下の説明によって明らかになる。さらに、本発明はいずれの特定のプログラミング言語も参照することなく説明される。ここで説明される本発明の教示事項を実施するためにさまざまなプログラミング言語が使用可能であると認識される。
【0016】
1.群衆の人数を決定するためのシステムの構成
以下の説明は、群衆の人数を決定するためのシステムの構成を扱うものであるが、該システムはある特定のエリアにある対象物の数を決定するために使用することも可能である。対象物は同一のタイプからなるもの(例えば、人々)、または異なるタイプからなるもの(例えば人々と動物)のいずれの場合もありうる。
【0017】
図1は本発明の一つの実施形態による、群集の人数を決定するためのシステムの俯瞰図(ブロック図の形式で)を示す。群集の存在が想定される長方形の領域110をいくつかの画像センサ100が取り囲む。領域110は物理的な境界によって境界が定められても定められなくても良い。実施形態では8台の画像センサが示されているが、1台より多ければいかなる数の画像センサの使用も可能である。一般に、使用される画像センサ100の数が増えれば、システムが取り扱い可能な領域110のサイズも増加する。
【0018】
一つの実施形態においては、図1に示されたシステムは領域110に存在する人の数の上下限を演算する。他の実施形態においては、下限が存在する人の数に等しい。一般に、使用センサ100の数が増加するにつれて、システムが正しく数えることができる人数が増加する。さらに他の実施形態においては、システムは常に領域100に存在する人数の上下限を計算する。
【0019】
一つの実施形態においては、画像センサ100はネットワーク190を使用する中央コンピュータ120に接続されている。ネットワーク190との双方向の通信リンクは有線または無線(例えば地上波または衛星を利用したトランシーバ)のいずれの形も可能である。一つの実施形態においては、ネットワーク190は個人のネットワークである。他の一つの実施形態においては、ネットワーク190は、IPに基づいた構内通信網(LAN)または広域通信網(WAN)である。
【0020】
データは画像センサ100から中央コンピュータ120へ送られる。中央コンピュータ120はこのデータを用いて群集のvisual hullの平面投影を決定する。対象物のvisual hullは、対象物がその中に存在することができて、対象物の外部の全てのビューに対して、対象物自身と同一のシルエットを生み出す最大の体積である。換言すれば、visual hullは対象物のいくつかのシルエットコーンの交差領域である。シルエットコーンは異なる場所から見たときの対象物の異なるビューを示す。Visual hullを生成する技術には、ボリューム・インターセクション(volume intersection) およびシェイプ・フロム・シルエット(shape-from-silhouette)が含まれる。対象物のvisual hullはその定義から対象物を完全に包含することが保証されている。Visual hullとその生成方法については当業者に知られ、詳細については「ザ・ビジュアル・ハル・コンセプト・フォー・シルエット−ベイスト・イメージ・アンダースタンディング」A.ロオレンティニ、IEEEトランザクションズ・オン・パターン・アナリシス・アンド・マシーン・インテリジェンス、16:2、1994年2月(”The Visual Hull Concept for Silhouette-Based Image Understanding” by A. Laurentini, IEEE Transactions on Pattern Analysis and Machine Intelligence, 16:2, February 1994.)に記載されている。Visual hullの平面投影はvisual hullの平面上への投影である。一つの実施形態においては、中央コンピュータ120が長方形領域110の床上への群集のvisual hullの投影を決定する。この実施形態においては、群集のvisual hullの平面投影は、群集の上部位置から見たときの群衆のシルエットに類似している。
【0021】
一旦群集のvisual hullの平面投影が決定されると、中央コンピュータ120が群集の人数を決定する。群集の人数を決定するために中央コンピュータ120が使用する方法を、図8を参照して以下に説明する。
【0022】
上述のように、中央コンピュータ120は画像センサ100からのデータを用いて群衆のvisual hullの平面投影を決定する。一つの実施形態においては、画像センサ100は中央コンピュータ120から問い合わせを受信した後、データを中央コンピュータ120へ送る。他の一つの実施形態においては、画像センサ100は問い合わせを受信することなく中央コンピュータ120へデータを送る。さらに他の一つの実施形態においては、画像センサ100は定期的に中央コンピュータ120へデータを送る。二つの画像センサ100が定期的に中央コンピュータにデータを送信する場合、それらの送信は同期してもしなくても良い。
【0023】
a.群集のvisual hullの平面投影を決定するシステムの使用
一つの実施形態において、群集のvisual hullの投影は、群集のvisual hullを決定し(異なるセンサからの群集のビューに基づく)、その後visual hullを平面上に投影することによって決定される。少ない演算リソースが要求される他の一つの実施形態では、群集のvisual hullの平面投影は、それぞれのシルエットコーンを平面上に投影し、その結果得られる2次元マップを集積することによって決められる。この実施形態はvisual hullの平面投影の近似を与えるに過ぎないが、群集の人数を決定するには充分な近似である。さらに他の一つの実施形態においては、前記の実施形態によって必要とされる演算リソース量は、群集のvisual hull を動作容積(working volume)で交差させることによって(前者の実施形態)、または個々のシルエットコーンを動作容積で交差させることによって(後者の実施形態)さらに減少される。
【0024】
図11は、本発明の一つの実施形態による、群集のvisual hullの平面投影を決定するために、群集の従来の画像を利用する方法を示す。最初のステップで、複数の従来の群集の画像が生成される(1100)。複数のシルエット画像が従来の画像に基づいて決定される(1110)。個々のシルエット画像コーンと動作容積の交差領域が決定される(1120)。個々の交差領域の平面上への投影が決定される(1130)。最後に、群集のvisual hullの平面投影を形成するためにそれらの投影が集められる(1140)。
【0025】
ステップ1100、1110、1120、1130、および1140は、例えば、画像センサ100、中央コンピュータ120、あるいは追加のローカルコンピュータ(図示せず)によって実行される。一つの実施形態においては、画像センサ100の間の通信構成は比較的集中化されていない。一つの実施形態においては、1台以上の近傍のセンサ100からのデータを処理するために1台以上のローカルコンピュータが使用される。その後、このローカルコンピュータは得られたデータをさらに処理するために中央コンピュータ120へ送る。
【0026】
一つの実施形態において、例えば、画像センサ100は、このセンサ100の視点から見た群集の従来の画像を生成する(1100)。この実施形態においては、画像センサ100は、従来の画像を生成できるカメラのような、どのようなタイプの装置をも含む。
【0027】
この従来のイメージに基づいてシルエット画像が決定される(1110)。一つの実施形態においては、シルエット画像には2色のみが使用される:1色は前景(群衆中の人々)、もう1色は背景(人が居ない場所)。別の一つの実施形態では、シルエット画像は白黒のビットマップである。
【0028】
シルエット画像を決定するために(1110)、いくつかの方法のいずれもが使用できる。一つの実施形態においては、背景減算を用いてシルエット画像が決定される(1110)。シルエット画像を生成するために従来の画像イメージから背景が減算される。一つの実施形態においては、人が全く存在しない場合は、画像センサ100の出力が、画像センサ100から見た時の背景画像に対して較正される。一つの実施形態においては、コンピュータが背景減算を実行する。他の一つの実施形態では、CMOSセンサの集合体が背景減算を実行する。例えば、内蔵のCMOSロジックが、同一または前の画像内の近傍のピクセルの値に基づいて、従来画像のピクセルの値を比較する。背景減算は当業者に知られた技術であり、「ア・ローバスト・バックグラウンド・サブトラクション・アンド・シャドウ・ディテクション」T.ホープラサート他、プロシーディングズ・オブ・エイジャン・コンファランス・オン・コンピュータ・ビジョン、2000年1月(”A Robust Background Subtraction and Shadow Detection” by T. Horprasert et al., Proceedings of Asian Conference on Computer Vision, January 2000)に詳細が記載されている。
【0029】
他の実施形態では、動作検出を用いてシルエット画像が決定される(1110)。この実施形態では、動的対象物は従来の画像として検出され、シルエットとして取り出される。静的対象物は背景の一部と見なされ、シルエット画像には含まれない。動的検出は、例えば、コンピュータまたはCMOSセンサの集合体を用いて実行することができる。内蔵されたCMOSロジックが、画像内のピクセルの値を、同一のまたは前の画像内の近傍のピクセルの値と比較して動的検出を実行する。動作検出は当業者に知られている。
【0030】
さらに別の一つの実施形態においては、シルエット画像は画像内の対象物の距離に関する情報を用いて決定される(1110)。この実施形態においては、前景の対象物はセンサ100の近接した位置にあり、一方、背景対象物はセンサ100から離れている。シルエット画像は、対象物の距離を閾値と比較し、前景の対象物を背景の対象物から分離して生成される。3次元の深さセンサが当業者に知られていて、例えば、カネスタ社および3DV・システムズ社(Canesta, Inc. and 3DV Systems, Ltd.)から入手可能である。
【0031】
ステップ1110は、例えば、画像センサ100によって実行される。この実施形態においては、センサ100は上で説明した方法のいずれかを用いて従来のイメージからシルエット画像を決定できる(1110)システムからなる。例えば、該システムはコンピュータのこともある。他の例として、該システムはCMOSセンサの集合体のこともある。代替案として、ステップ1110は、例えば、中央コンピュータ120またはローカルコンピュータによっても実行可能である。この実施形態においては、中央コンピュータ120(またはローカルコンピュータ)がセンサ100から従来のイメージを受信する。中央コンピュータ120(またはローカルコンピュータ)は次に、上で説明した方法のいずれかを用いて従来のイメージからシルエット画像を決定する(1110)。
【0032】
シルエット画像コーンと動作容積の交差領域が次に決定される(1120)。動作容積は人々の存在を検出する空間容積である。シルエットコーンと動作容積の交差領域は、特定のセンサ100から見た対象物のビューに基づいて、対象物がどこに存在する可能性があるかを表す3次元形状である。一つの実施形態においては、動作容積は床(長方形領域110)と平行に位置する四角柱である。動作容積の高さは可変である。一般に、動作容積の高さを限定すれば、群集のvisual hullの平面投影を計算するために必要なリソース量は減少する。一つの実施形態においては、動作容積の高さは最も背の高い人の身長以上で、動作容積は床面を起点とする。他の一つの実施形態においては、動作容積の高さは3フィートで、動作容積は腰の位置(例えば、床から3フィート)を重点的にカバーする。3次元形状の交差領域を決定する方法は当業者に知られており、ハンドブック・オブ・ディスクリート・アンド・コンピュテーショナル・ジオメトリ、グッドマンおよびオールーケ編、CRC・プレス、1997、599−630頁(Handbook of Discrete and Computational Geometry, Goodman and O’Rourke, Eds., CRS Press, 1977, pp. 599-630)に詳細が記載されている。
【0033】
ステップ1120は、例えば、画像センサ100によって実行される。この実施形態においては、センサ100は3次元対象物(シルエット画像コーンと動作容積)の交差領域を決定できる(1120)システムからなる。例えば、該システムはコンピュータのこともある。代替案として、ステップ1120は、例えば、中央コンピュータ120またはローカルコンピュータによって実行することも可能である。この実施形態においては、中央コンピュータ120(またはローカルコンピュータ)がセンサ100からシルエット画像を受信する。中央コンピュータ120(またはローカルコンピュータ)が次にシルエット画像コーンと動作容積との交差領域を決定する(1120)。
【0034】
個々の交差領域の平面への投影が決定される(1130)。上述のように、交差領域は対象物がどこに存在する可能性のあるかを表す3次元形状である。この形状の平面投影は、どこに対象物が存在するかを2次元マップで示す。一つの実施形態においては、この平面は床(長方形領域110)である。この実施形態においては、交差領域の平面投影は対象物が存在する可能性のある床スペースの領域に相似である。3次元形状の平面投影を決定する方法は当業者に知られている。
【0035】
ステップ1130は、例えば、画像センサ100によって実行される。この実施形態においては、センサ100は3次元対象物(シルエット画像コーンと動作容積の交差領域)の平面上への投影を決定できる(1130)システムからなる。例えば、該システムはコンピュータのこともある。代替案として、ステップ1120は、例えば、中央コンピュータ120またはローカルコンピュータによって実行することも可能である。この実施形態においては、中央コンピュータ120(またはローカルコンピュータ)がセンサ100から3次元対象物の表示(シルエット画像コーンと動作容積の交差領域)を受信する。中央コンピュータ120(またはローカルコンピュータ)が次に3次元対象物の平面への投影を決定する(1130)。
【0036】
最後に、平面投影は、群集のvisual hullの平面投影を形成するために集められる。このステップについて以下に図8を参照して説明する。
【0037】
b.システム内へのセンサの配置
画像センサ100は対象物に対して任意の高さおよび角度で据付が可能である。しかしながら、画像センサ100の位置および向きによって画像センサ100からの対象物の見え方が影響される。画像センサの対象物の見え方は、3次元空間のコーンを掃引するシルエットであることを思い出そう。このように、対象物の正確な位置は、1台だけの画像センサ100からの対象物のシルエットに基づいて決定することはできない。特に、対象物と画像センサ100との距離は決定できない。
【0038】
図2は、画像センサ、人および投影シルエットコーンの側面図である。図2Aにおいて、画像センサ100は人200の真上(例えば天井)に位置し、床を向いている。図2Bは図2Aの人および投影シルエットコーンの上面図である。図2Bに示された投影シルエットコーン210の上面図も、画像センサ100から見た時の人200のシルエット画像である。さらに、このシルエットはこの人のvisual hullの平面投影である。
【0039】
画像センサ100からのシルエット画像を用いて人200のvisual hullの平面投影を決定することが最終目的の場合は、シルエット画像が既に所要の平面投影に等しいことが望ましい。このように、画像センサ100の好ましい配置は、人200の真上になろう。この配置では、シルエット画像は、人200のvisual hullの平面投影を決定するために、これ以上の処理を必要としない。しかしながら、上述のように、群集の上に画像センサ100を設置することは、例えば屋外の集まりにおいて、実際的でない。この配置では、人200と画像センサ100との距離が決定されないことに注意して欲しい。しかしながら、人200と画像センサ100との距離は人のvisual hullの平面投影とは無関係であるので、距離が決定されないことは問題にならない。
【0040】
図3Aは画像センサ、人および投影シルエットコーンの側面図である。図3Aでは画像センサ100が人200の横に斜めになるように配置されている。図3Bは図3Aの画像センサ、人および投影シルエットコーンの上面図である。図3Bに示された人200の上面からの見え方は、画像センサ100から見たときのシルエットコーンの投影と同じでないことに注意を喚起する。また、画像センサ100から見た人200のシルエット画像は、人のvisual hullの平面投影ではない。この配置では、人200と画像センサ100との距離は決定できない。しかしながら、図2Aおよび2Bの配置とは異なり、人200と画像センサ100との距離は人のvisual hullの平面投影に関係するので、距離を決定できないことが問題になる。
【0041】
図4Aは画像センサ、人および投影シルエットコーンの側面図である。図4Aにおいて、画像センサ100は床に平行に配置され、人200はセンサ視野範囲内に在る。図4Bは、図4Aの画像センサ、人および投影シルエットコーンの上面図である。図4Bに示された人200の上面からの見え方は、画像センサ100から見たときのシルエットコーンの投影と同じでないことに注意を喚起する。また、画像センサ100から見た人200のシルエット画像は、人のvisual hullの平面投影ではない。この配置では、人200と画像センサ100との距離は決定できない。しかしながら、図2Aおよび2Bの配置とは異なり、人200と画像センサ100との距離は人のvisual hullの平面投影に関係するので、距離を決定できないことが問題になる。
【0042】
上述のように、画像センサ100は対象物に対して任意の高さおよび角度で配置することが可能である。しかしながら、群集のvisual hullの平面投影を計算するためには、動作容積内のポイントは少なくとも2台のセンサ100から可視状態になければならない。多数のセンサ100からビューを取得すれば、システムのオクルージョンの処理の助けになる。説明を明確にするために、本発明は今後、画像センサ100が、図4Aおよび4Bと同様に、床に平行に配置されている実施形態によって説明する。
【0043】
一般に、画像センサ100は、シルエットが不完全であっても、センサの視野内の人が唯一のシルエットを作るように配置されるべきである。例えば、画像センサ100が地上から10フィート上に配置されるとした場合、5フィートの身長の人は、センサ100の近くに位置しようが離れていようが、センサの視野から外れる可能性がある。図5は画像センサ、画像センサの視野および異なる二箇所に位置している人の側面図である。図5では、画像センサ100は床と平行に配置され、人200は第1の位置200Aと第2の位置200Bのいずれの位置においても、視野500の外部にある。当然のことながら、人200は第2の画像センサ100(図示せず)の視野内に入ることはあり得る。一般に、領域110は画像センサ100によって充分にカバーされるべきであるが、全ての画像センサが領域110内の全ての場所をカバーする必要は無い。同様に、画像センサ100は一人の人を表している二つの対象物を見るべきでない。画像センサが地上に配置された場合、視野200内を歩行する人200は二つの対象物(左足と右足)として現れるかもしれない。従って、一つの実施形態においては、画像センサ100は地上から約3フィート離して設置される。この高さに置かれると画像センサ100は人の胴を見ることができる。
【0044】
2.群集の人数を決定するための装置の構成
図6は本発明の一つの実施形態による群衆のvisual hullの平面投影に基づいた群集の人数を決定するための装置のブロック図である。装置600は好ましくはプロセッサ610、主メモリ620、データ保存装置630および入出力制御器680からなり、これらの全てはシステムバス640に通信可能な状態で接続されている。装置600に、例えば、汎用のコンピュータを使用することも可能である。
【0045】
プロセッサ610はデータ信号を処理し、複号命令セットコンピュータ(CISC)、縮小命令セットコンピュータ(RISC)または命令セットの組み合わせを実施する構成を含むさまざまな計算構成からなる。図6では一つのプロセッサだけが示されているが、多数のプロセッサが含まれる場合もある。
【0046】
主メモリ620はプロセッサ610によって実行される命令および/またはデータを保存する。命令および/またはデータは、ここで説明される技術のいずれかおよび/または全てを実行するためのコードからなる。主メモリ620はダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)またはその他の周知のメモリデバイスであることが望ましい。
【0047】
データ保存装置630はプロセッサ610のためのデータおよび命令を保存し、ハードディスクドライブ、フロッピディスクドライブ、CD−ROMデバイス、DVD−ROMデバイス、DVD−RAMデバイス、DVD−RWデバイス、フラッシュメモリデバイスまたはその他の既知の大容量ストレージデバイスを含む一つ以上のデバイスからなる。
【0048】
ネットワーク制御器680は装置600が通信できるように装置600を他の機器にリンクさせる。
【0049】
システムバス640は装置600の至る所で情報およびデータを通信するための共有バスである。システムバス640は、工業標準アーキテクチャ(ISA)バス、周辺機器相互接続(PCI)バス、ユニバーサルシリアルバス(USB)またはその他の類似の機能を実現できる周知のバスを含むバスの一つ以上のバスである。
【0050】
システムバス640経由で装置600に接続される可能性のある追加のコンポーネントとしては、ディスプレイ装置650、キーボード660およびカーソル制御装置670がある。ディスプレイ装置650は電子イメージおよびデータをローカルユーザまたは保守担当者に表示できる装置であればどのようなものでも構わない。ディスプレイ装置650は陰極線管(CRT)、液晶ディスプレイ(LCD)またはその他の類似の機能を有するディスプレイ装置、スクリーンまたはモニタである。キーボード660は情報および命令選択をプロセッサ610へ通信するために装置600に接続されたアルファベットと数字を組み合わせた入力装置である。カーソル制御装置670は命令選択および位置データをプロセッサ610へ通信するために備えられたユーザ入力装置である。カーソル制御装置670は、マウス、トラックボール、スタイラス、ペン、カーソル方向キーあるいはカーソルに動作を与える他の機構からなる。
【0051】
当業者にとって、本発明の範囲を逸脱することなく、装置600が図6に示された例より多くのまたは少ないコンポーネントから構成されることは自明である。例えば、装置600は追加のメモリ、例えば、プライマリまたはセカンダリレベルのキャッシュ、あるいは一つ以上の特定用途向け集積回路(ASIC)を含む。上述のように、装置600はASICだけから構成することも可能である。さらに、装置600に連結される可能性のあるコンポーネントとしては、例えば、画像走査装置、デジタルスチルまたはビデオカメラ、あるいは装置600へ/又は装置600から電子データを取得および/またはダウンロードするために装備されてもされなくても良い他の装置が挙げられる。
【0052】
図7は図6に示されたメモリユニットの内容を示すより詳細なブロック図である。一般に、メモリユニット620は、群集のvisual hullの平面投影に基づいて群集の人数を決定するためのいくつかのコードモジュールからなる。一つの実施形態において、メモリユニット620は、シルエットコーンと動作容積との交差領域の平面投影に基づいて群集のvisual hullの平面投影を近似する。特に、メモリユニット620のコードモジュールは、メインプログラムモジュール700、集積モジュール710、除去モジュール720、ツリー決定モジュール730、ツリー更新モジュール740および合計モジュール750からなる。
【0053】
全てのコードモジュール710、720、730、740、750はメインプログラムモジュール700に連結されて通信が可能である。メインプログラムモジュール700が中央から装置600の動作および処理フローを制御し、個々のコードモジュール710、720、730、740、750からデータを受信するとともに、これらのモジュールへ命令とデータを送信する。メインプログラムモジュール700の動作の詳細については図8を参照して以下に説明する。
【0054】
集積モジュール710は、シルエットコーンと動作容積との交差領域の平面投影を含む複数の二次元マップを集積する。個々の二次元マップは1台のセンサ100からのビューに基づいた、人が存在する可能性のある領域を包含する。この領域はシルエットコーンと動作容積との交差領域の平面投影である。集積によってマップが交差し、それはマップを互いに重ね合わせ、どこでシルエットコーンが重なり合うかを見ることに類似している。
【0055】
図9は2台の画像センサ、一つの対象物およびその対象物のシルエットコーンの上面図である。図示の実施形態では、シルエットコーンは楔形をしている。多数のセンサ100が領域110を囲む場合、楔形のシルエットコーン910Aと910Bは交差し(重なり)細分化パターンを形成して、領域110をいくつかの多角形900A,900B,900C,900Dおよび900Eに分割する。図示の実施形態では、シルエットコーン910Aは多角形900B,900Cおよび900Dからなる一方、シルエットコーン910Bは多角形900A,900Cおよび900Eからなる。このようにしてセンサ100Aは対象物が多角形900B,900Cおよび900D内に位置すると決定でき、一方、センサ100Bは対象物が多角形900A,900Cおよび900E内に位置すると決定できる。これとともに、センサ100Aおよび100Bからの情報は集積されて、対象物が多角形900C内に位置していると決定することが可能である。
【0056】
一つの実施形態において、上述の細分化は厳密に決定される。この実施形態ではシルエットコーンの境界は線で表される。これらの線は交差すると多角形の境界線を形成する。他の一つの実施形態においては、細分化に近似が用いられる。この実施形態では、二次元マップは、シルエットコーンがピクセルのパッチになるように画素化される。画素化はまたラスタ処理またはスキャン変換と呼ばれ、当業者に知られている。その詳細はグラフィクス・ジェムズ、A.グラスナー編、モーガン・カオフマン、1998年、75−97頁(Graphics Gems, A. Glassner, Ed., Morgan Kaufmann, 1988, pp. 75-97)に記載されている。
【0057】
一般に、厳密な細分化はアルゴリズムの観点から実施するのは困難で、必要な演算リソースは少なく、誤差の扱いにおいては能力が低い。対照的に、画素化は実施し易いが、演算リソースをより多く必要とし、誤差を扱う能力はより高い。一つの実施形態においては、特別のグラフィックハードウェアがマップをピクセル化し交差させるために用いられる。特別のグラフィックハードウェアがピクセル化に用いられる場合は、必要な演算リソース量は大幅に減少する。
【0058】
集積モジュール710はマップを交差させることによっていくつかのセンサからの情報を集積する。結果として得られる交差領域は群集のvisual hullの近似である。一つの実施形態において、集積モジュール710は対象物が存在するかもしれないと決定するときに厳密な一致を必要とする。この実施形態では、ある特定の多角形領域をカバーする全てのマップ(センサビュー)は対象物がその領域にあると一致しなければならない。1台のセンサでもその領域に対象物が無いと出力した場合には、集積モジュール710は対象物が存在しないと決定する。他の実施形態においては、集積モジュール710は投票スキームを用いる。この実施形態においては、対象物が存在する可能性があるとするマップの数と対象物が存在しないとするマップの数を比較する。「対象物有り」のマップの数またはパーセントが閾値より高い場合、集積モジュール710は対象物がその領域に存在すると決定する。
【0059】
一つの実施形態においては、ローカルコンピュータが二次元マップの全数の一部である部分集合を集積するために使用される。この実施形態では、センサ100からのビューの集積を分散して実施することが可能になる。ローカルコンピュータで集めた結果が中央コンピュータ120で集められる。
【0060】
図10Aは対象物無しの2台の画像センサおよび投影シルエットコーンの上面図である。多角形領域1000A,1000B,1000Cおよび1000Dは対象物が存在する可能性のある場所を示している。換言すれば、多角形領域1000A,1000B,1000Cおよび1000Dは投影された対象物のvisual hullである。一人より多い対象物が多角形領域1000A,1000B,1000Cおよび1000Dに存在する可能性のあることを喚起されたい。対象物のいくつかの配置が一つの所与のvisual hullに一致することができるので、投影されたvisual hullはあいまい性を持つ。図10Bは図10Aの投影されたシルエットコーンと第一のコンフィギュレーションにおける多数の対象物の上面図である。図10Cは図10Aの投影されたシルエットコーンと第二のコンフィギュレーションにおける多数の対象物の上面図である。図10Dは図10Aの投影されたシルエットコーンと第三のコンフィギュレーションにおける多数の対象物の上面図である。図10Eは図10Aの投影されたシルエットコーンと第四のコンフィギュレーションにおける多数の対象物の上面図である。図10B,10C,10Dおよび10Eのいずれの対象物のコンフィギュレーションも図10Aの投影されたvisual hullと一致している。
【0061】
除去モジュール720はどの投影visual hullの多角形領域が空かを決定し、それらを投影から除外する。これらの多角形領域は幻影(phantoms)として知られている。幻影の一つのタイプはサイズに基づいて識別される。例えば、最低の対象物サイズより小さい多角形は除外される。他の幻影のタイプは時間的コヒーレンスに基づいて識別される。例えば、対象物が無いのに現出する多角形(次の多角形にはなり得ないもの)は除外される。このタイプの幻影は3台以上のセンサ100によるものである。図12Aは3台のセンサ、それらの投影シルエットコーンおよび多数の対象物の上面図である。図12Bは3台のセンサ、それらの投影シルエットコーン、多数の対象物および幻影多角形の上面図である。二つの対象物1200Aと1200Bが二つの連続の時間ステップ(最初に図12A次に図12B)で観測され、幻影1210が図12Bに現出している。一つの実施形態においては、多角形の時間コヒーレンスは、その多角形が前の時間ビュー(例えば図12A)において多角形を交差したかテストすることによってチェックされる。このテストでは対象物が一つの時間ステップでそのvisual hullによって作られた領域を去ることは無いと仮定している。一つの実施形態においては、この最大スピードの仮定は、交差領域を計算する前に、前の時間ステップにおける多角形を拡張することによって調整される。
【0062】
センサイメージがオクルージョン(ある人が他の人のセンサ100による視認を妨害)を含む場合、群集の正しい人数を決定することはできない。その代わりに、一つの実施形態では、群集の人数は個々の多角形内に存在する人数を限定することによって決定される。ツリー決定モジュール730は個々の多角形内の人数の上下限を決定する。
【0063】
上限制約(UBC)−一つの実施形態において、最低の対象物サイズで割った多角形の面積が多角形の上限である。対象物がクラスタ化し一体となって単一の標的のように動くとして、考えられる最悪シナリオを仮定しているので、この境界は厳密性を非常に欠いている。この境界には、対象物の幾何学的形状によらず(変わった形状の入れ物を液体が満たすやり方に類似)、対象物が多角形の全領域を満たすとの仮定が用いられている。
【0064】
下限制約(LBC)−一つだけの多角形と交差する画像センサ100からの光線があれば、その多角形は少なくとも一つの対象物を含む。これは画像センサ100からの光線は、対応する視線が対象物によってブロックされた場合にだけ、多角形に交差するからである。一つだけの多角形が光線と交差する場合、対象物は多角形内に含まれるはずである。この制約は、対象物を直接数えるのでUBCとは異なる。(真の対象物は光線に沿って観測されカウントされる。)対照的に、UBCは多角形を満たす対象物の最大数を仮定する。
【0065】
一つの実施形態において、決定モジュール730はデータ構造に上下限を保存する。特定のLBCの値は多角形が少なくとも一つの対象物を含むかを示すが、時系列のLBCの振る舞いによって追加情報が伝達される。他の一つの実施形態では、データ構造はツリー(τ)になっている。ツリーに沿って下限を伝播することにより、領域110内の対象物の数がさらに制約される(例えば、下限が狭くなる)。
【0066】
一つの実施形態においては、ツリーの個々の葉は、時刻tで、新たに観測された多角形とそれに関連する対象物の境界を保存する。ツリーのノードはその子孫の全ての多角形からなる暗黙の和集合を表している。このノードはこの和集合内の対象物の数に対する境界を含む。これにより、ツリー中の対象物の境界上で四つの特性が導入される:
【0067】
【0068】
【0069】
【0070】
【0071】
【0072】
【0073】
【0074】
【0075】
境界の更新−方程式(1)−(4)が全てのノードに確実に成り立つようにするために、対象物の境界はツリー全体で更新される。これには次の二つの操作が含まれる:まず、葉からの新しい情報はτのルーツまで伝播される。その後、ルーツに対する更新された境界は葉まで伝播されて戻る。
【0076】
合計モジュール750はツリーτのルートノードへ下限を返す。この数字が群集の人数である。
【0077】
3.群集の人数を決定する方法
図8は本発明の一つの実施形態による群衆の人数を決定する方法を示す。方法が開始すると、ステップ1130に示すように、シルエットコーンと動作容積の交差領域の平面投影が既に決定されている。
【0078】
最初のステップで、メインプログラムモジュール700が開始する(800)。メインプログラムモジュール700は集積モジュール710に、シルエットコーンと動作容積の交差領域の平面投影である複数の2次元マップの集積を命令する(810)。そして、メインプログラムモジュール700は除去モジュール720に、投影されたvisual hullのどの多角形が実際に空か決定し、それらを投影から除外することによって、多角形を除去するように命令する(820)。
【0079】
メインプログラムモジュール700は決定モジュール730に、上下限を保存することによって、ツリーデータ構造を決定するように命令する(830)。メインプログラムモジュール700は、その後、合計モジュール750を用いて群集の人数を決定する(840)。
【0080】
要望があれば、シルエットコーンと動作容積の交差領域の平面投影は、時間的に後に再決定される。方法はステップ810へ戻り(860)、ステップ810および820を繰り返す。その後、メインプログラムモジュール700はツリー更新モジュール740にツリーデータ構造を更新するように命令する(830)。タイムステップがそれ以上ない場合は、メインプログラムモジュール700は終了する(850)。
【0081】
本発明はその実施形態を参照して相当な詳細にわたって説明されたが、当業者の理解が得られるように、他の実施形態も可能である。例えば、他の一つの実施形態が、「カウンティング・ピープル・イン・クラウズ・ウイズ・ア・リアル−タイム・ネットワーク・オブ・シンプル・イメージ・センサーズ」、D.ヤング、H.ゴンザレツ−バノス、およびL.ギバス共著、プロシーディングズ・オブ・ザ・ナインス・IEEE・インターナショナル・コンファランス・オン・コンピュータ・ビジョン(ICCV)、ニース、フランス、10月13−16日、2003年、122−129頁およびCD−ROM(Counting People in Crowds with a Real-Time Network of Simple Image Sensors” by D. Yang, H. Gonzalez-Banos, and L. Guibas, Proceedings of the Ninth IEEE International Conference on Computer Vision (ICCV), Nice, France, October 13-16, 2003, pp. 122-129 and CD-ROM)、に掲載されている。
【図面の簡単な説明】
【0082】
【図1】図1は本発明の一つの実施形態による、群集の人数を決定するためのシステムの俯瞰図(ブロック図の形式で)を示す。
【図2A】図2Aは、画像センサ、人および投影シルエットコーンの側面図を示す。
【図2B】図2Bは、図2Aの人および投影シルエットコーンの上面図を示す。
【図3A】図3Aは画像センサ、人および投影シルエットコーンの側面図を示す。
【図3B】図3Bは図3Aの画像センサ、人および投影シルエットコーンの上面図を示す。
【図4A】図4Aは画像センサ、人および投影シルエットコーンの側面図を示す。
【図4B】図4Bは、図4Aの画像センサ、人および投影シルエットコーンの上面図を示す。
【図5】図5は画像センサ、画像センサの視野および異なる二箇所に位置している人の側面図を示す。
【図6】図6は本発明の一つの実施形態による、群衆のvisual hullの平面投影に基づいた群集の人数を決定するための装置のブロック図を示す。
【図7】図7は図6に示されたメモリユニットの内容を示すより詳細なブロック図である。
【図8】図8は本発明の一つの実施形態による群衆の人数を決定する方法を示す。
【図9】図9は2台の画像センサ、一つの対象物およびその対象物のシルエットコーンを示す上面図である。
【図10A】図10Aは対象物無しの2台の画像センサおよび投影シルエットコーンの上面図を示す。
【図10B】図10Bは図10Aの投影されたシルエットコーンと、第一のコンフィギュレーションにおける多数の対象物を示す上面図である。
【図10C】図10Cは図10Aの投影されたシルエットコーンと、第二のコンフィギュレーションにおける多数の対象物を示す上面図である。
【図10D】図10Dは図10Aの投影されたシルエットコーンと、第三のコンフィギュレーションにおける多数の対象物を示す上面図である。
【図10E】図10Eは図10Aの投影されたシルエットコーンと、第四のコンフィギュレーションにおける多数の対象物を示す上面図である。
【図11】図11は、本発明の一つの実施形態による、群集のvisual hullの平面投影を決定するために、従来の群集の画像を利用する方法を示す。
【図12A】図12Aは3台のセンサ、それらの投影シルエットコーンおよび多数の対象物を示す上面図である。
【図12B】図12Bは3台のセンサ、それらの投影シルエットコーン、多数の対象物および幻影の多角形を示す上面図である。
【図13】図13は本発明の一つの実施形態によるツリーデータ構造のダイアグラムを示す。
【特許請求の範囲】
【請求項1】
動作容積内の対象物の数を決定する方法であって、
シルエットコーンと前記動作容積との交差領域である三次元形状の第一の複数の平面投影を交差させることにより、一つ以上の多角形からなる第一の集合を決定するステップと、
一つ以上の多角形からなる前記第一の集合の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最低の数である一つ以上の下限からなる第一の集合を決定するステップとからなる方法。
【請求項2】
前記動作容積のシルエットコーンの前記第一の複数の平面投影を交差させることは、前記動作容積のシルエットコーンの平面投影の画素化からなることを特徴とする請求項1の方法。
【請求項3】
前記動作容積のシルエットコーンの平面投影の画素化は、前記動作容積のシルエットコーンの平面投影を画素化するためのハードウェアを使用することからなることを特徴とする請求項2の方法。
【請求項4】
前記動作容積は全ての対象物を完全には含まないことを特徴とする請求項1の方法。
【請求項5】
一つ以上の下限からなる前記第一の集合を決定するステップは、シルエットコーンに沿って伸び、一つの多角形とだけ交差する光線が存在するかの決定からなることを特徴とする請求項1の方法。
【請求項6】
一つ以上の多角形が対象物を含まないと決定したことに対応して、一つ以上の多角形からなる前記第一の集合から一つ以上の多角形を除外するステップをさらに含む請求項1の方法。
【請求項7】
一つ以上の多角形からなる前記第一の集合内の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最高の数である上限を一つ以上含む第一の集合を決定するステップをさらに含む請求項1の方法。
【請求項8】
一つ以上の上限からなる前記第一の集合を決定するステップは、多角形の面積を最小の対象物の寸法で分割することからなることを特徴とする請求項7の方法。
【請求項9】
一つ以上の下限からなる前記第一の集合をデータ構造に保存するステップと、
シルエットコーンと前記動作容積との交差領域である三次元形状の第二の複数の平面投影を交差させることにより、一つ以上の多角形からなる第二の集合を決定するステップと、
一つ以上の多角形からなる前記第二の集合内の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最低の数である下限を一つ以上含む第二の集合を決定するステップとをさらに含む請求項1の方法。
【請求項10】
前記動作容積のシルエットコーンの前記第二の複数の平面投影を交差させることは、前記動作容積のシルエットコーンの平面投影の画素化からなることを特徴とする請求項0の方法。
【請求項11】
前記動作容積のシルエットコーンの平面投影の画素化は、前記動作容積のシルエットコーンの平面投影を画素化するためのハードウェアを使用することからなることを特徴とする請求項0の方法。
【請求項12】
前記動作容積は全ての対象物を完全には含まないことを特徴とする請求項0の方法。
【請求項13】
一つ以上の下限からなる前記第二の集合を決定するステップは、シルエットコーンに沿って伸び、一つの多角形とだけ交差する光線が存在するかの決定からなることを特徴とする請求項0の方法。
【請求項14】
一つ以上の多角形が対象物を含まないと決定したことに対応して、一つ以上の多角形からなる前記第二の集合から一つ以上の多角形を除外するステップをさらに含む請求項0の方法。
【請求項15】
一つ以上の多角形からなる前記第二の集合内の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最高の数である上限を一つ以上含む第二の集合を決定するステップをさらに含む請求項0の方法。
【請求項16】
一つ以上の上限からなる前記第二の集合を決定するステップは、多角形の面積を最小の対象物の寸法で分割することからなることを特徴とする請求項0の方法。
【請求項17】
前記データ構造を更新するステップをさらに含む請求項0の方法。
【請求項18】
前記データ構造はツリーデータ構造からなり、該ツリーデータ構造のノードは一つ以上の多角形からなる前記第一の集合に含まれる一つの多角形に関連付けられることを特徴とする請求項0の方法。
【請求項19】
前記ツリーデータ構造のノードは前記関連付けられた多角形の下限からなることを特徴とする請求項0の方法。
【請求項20】
前記ツリーデータ構造のノードは前記関連付けられた多角形の上限からなることを特徴とする請求項0の方法。
【請求項21】
前記データ構造の更新は、前記データ構造にノードを加えるステップと、
前記データ構造から重複するノードを除去するステップと、
前記データ構造のノードを更新するステップとからなることを特徴とする請求項0の方法。
【請求項22】
動作容積内の対象物の数を決定するシステムであって、
シルエットコーンと前記動作容積との交差領域である三次元形状の第一の複数の平面投影を交差させることにより、一つ以上の多角形からなる第一の集合を決定する手段と、
一つ以上の多角形からなる前記第一の集合の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最低の数である一つ以上の下限からなる第一の集合を決定する手段とからなるシステム。
【請求項23】
前記動作容積のシルエットコーンの前記第一の複数の平面投影を交差させることは、前記動作容積のシルエットコーンの平面投影の画素化からなること特徴とする請求項22のシステム。
【請求項24】
前記動作容積のシルエットコーンの平面投影の画素化は、前記動作容積のシルエットコーンの平面投影を画素化するためのハードウェアを使用することからなることを特徴とする請求項23のシステム。
【請求項25】
前記動作容積は全ての対象物を完全には含まないことを特徴とする請求項22のシステム。
【請求項26】
一つ以上の下限からなる前記第一の集合を決定する手段は、シルエットコーンに沿って伸び、一つの多角形とだけ交差する光線が存在するか決定する手段からなることを特徴とする請求項22のシステム。
【請求項27】
一つ以上の多角形が対象物を含まないと決定したことに対応して、一つ以上の多角形からなる前記第一の集合から一つ以上の多角形を除外する手段をさらに含む請求項22のシステム。
【請求項28】
一つ以上の多角形からなる前記第一の集合内の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最高の数である上限を一つ以上含む第一の集合を決定する手段をさらに含む請求項22のシステム。
【請求項29】
一つ以上の上限からなる前記第一の集合を決定する手段は、多角形の面積を最小の対象物の寸法で分割する手段からなることを特徴とする請求項28のシステム。
【請求項30】
一つ以上の下限からなる前記第一の集合をデータ構造に保存する手段と、
シルエットコーンと前記動作容積との交差領域である三次元形状の第二の複数の平面投影を交差させることにより、一つ以上の多角形からなる第二の集合を決定する手段と、
一つ以上の多角形からなる前記第二の集合内の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最低の数である下限を一つ以上含む第二の集合を決定する手段とをさらに含む請求項22のシステム。
【請求項31】
前記動作容積のシルエットコーンの前記第二の複数の平面投影を交差させることは、前記動作容積のシルエットコーンの平面投影の画素化からなることを特徴とする請求項30のシステム。
【請求項32】
前記動作容積のシルエットコーンの平面投影の画素化は、前記動作容積のシルエットコーンの平面投影を画素化するためのハードウェアを使用することからなることを特徴とする請求項31のシステム。
【請求項33】
前記動作容積は全ての対象物を完全には含まないことを特徴とする請求項30のシステム。
【請求項34】
一つ以上の下限からなる前記第二の集合を決定する手段は、シルエットコーンに沿って伸び、一つの多角形とだけ交差する光線が存在するかを決定する手段からなることを特徴とする請求項30のシステム。
【請求項35】
一つ以上の多角形が対象物を含まないと決定したことに対応して、一つ以上の多角形からなる前記第二の集合から一つ以上の多角形を除外する手段をさらに含む請求項30のシステム。
【請求項36】
一つ以上の多角形からなる前記第二の集合内の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最高の数である上限を一つ以上含む第二の集合を決定する手段をさらに含む請求項30のシステム。
【請求項37】
一つ以上の上限からなる前記第二の集合を決定する手段は、多角形の面積を最小の対象物の寸法で分割する手段からなることを特徴とする請求項36のシステム。
【請求項38】
前記データ構造を更新する手段をさらに含む請求項30のシステム。
【請求項39】
前記データ構造はツリーデータ構造からなり、該ツリーデータ構造のノードは一つ以上の多角形からなる前記第一の集合に含まれる一つの多角形に関連付けられることを特徴とする請求項38のシステム。
【請求項40】
前記ツリーデータ構造のノードは前記関連付けられた多角形の下限からなることを特徴とする請求項39のシステム。
【請求項41】
前記ツリーデータ構造のノードは前記関連付けられた多角形の上限からなることを特徴とする請求項39のシステム。
【請求項42】
前記データ構造を更新する手段は、前記データ構造にノードを加える手段と、
前記データ構造から重複するノードを除去する手段と、
前記データ構造のノードを更新する手段とからなることを特徴とする請求項39のシステム。
【請求項1】
動作容積内の対象物の数を決定する方法であって、
シルエットコーンと前記動作容積との交差領域である三次元形状の第一の複数の平面投影を交差させることにより、一つ以上の多角形からなる第一の集合を決定するステップと、
一つ以上の多角形からなる前記第一の集合の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最低の数である一つ以上の下限からなる第一の集合を決定するステップとからなる方法。
【請求項2】
前記動作容積のシルエットコーンの前記第一の複数の平面投影を交差させることは、前記動作容積のシルエットコーンの平面投影の画素化からなることを特徴とする請求項1の方法。
【請求項3】
前記動作容積のシルエットコーンの平面投影の画素化は、前記動作容積のシルエットコーンの平面投影を画素化するためのハードウェアを使用することからなることを特徴とする請求項2の方法。
【請求項4】
前記動作容積は全ての対象物を完全には含まないことを特徴とする請求項1の方法。
【請求項5】
一つ以上の下限からなる前記第一の集合を決定するステップは、シルエットコーンに沿って伸び、一つの多角形とだけ交差する光線が存在するかの決定からなることを特徴とする請求項1の方法。
【請求項6】
一つ以上の多角形が対象物を含まないと決定したことに対応して、一つ以上の多角形からなる前記第一の集合から一つ以上の多角形を除外するステップをさらに含む請求項1の方法。
【請求項7】
一つ以上の多角形からなる前記第一の集合内の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最高の数である上限を一つ以上含む第一の集合を決定するステップをさらに含む請求項1の方法。
【請求項8】
一つ以上の上限からなる前記第一の集合を決定するステップは、多角形の面積を最小の対象物の寸法で分割することからなることを特徴とする請求項7の方法。
【請求項9】
一つ以上の下限からなる前記第一の集合をデータ構造に保存するステップと、
シルエットコーンと前記動作容積との交差領域である三次元形状の第二の複数の平面投影を交差させることにより、一つ以上の多角形からなる第二の集合を決定するステップと、
一つ以上の多角形からなる前記第二の集合内の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最低の数である下限を一つ以上含む第二の集合を決定するステップとをさらに含む請求項1の方法。
【請求項10】
前記動作容積のシルエットコーンの前記第二の複数の平面投影を交差させることは、前記動作容積のシルエットコーンの平面投影の画素化からなることを特徴とする請求項0の方法。
【請求項11】
前記動作容積のシルエットコーンの平面投影の画素化は、前記動作容積のシルエットコーンの平面投影を画素化するためのハードウェアを使用することからなることを特徴とする請求項0の方法。
【請求項12】
前記動作容積は全ての対象物を完全には含まないことを特徴とする請求項0の方法。
【請求項13】
一つ以上の下限からなる前記第二の集合を決定するステップは、シルエットコーンに沿って伸び、一つの多角形とだけ交差する光線が存在するかの決定からなることを特徴とする請求項0の方法。
【請求項14】
一つ以上の多角形が対象物を含まないと決定したことに対応して、一つ以上の多角形からなる前記第二の集合から一つ以上の多角形を除外するステップをさらに含む請求項0の方法。
【請求項15】
一つ以上の多角形からなる前記第二の集合内の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最高の数である上限を一つ以上含む第二の集合を決定するステップをさらに含む請求項0の方法。
【請求項16】
一つ以上の上限からなる前記第二の集合を決定するステップは、多角形の面積を最小の対象物の寸法で分割することからなることを特徴とする請求項0の方法。
【請求項17】
前記データ構造を更新するステップをさらに含む請求項0の方法。
【請求項18】
前記データ構造はツリーデータ構造からなり、該ツリーデータ構造のノードは一つ以上の多角形からなる前記第一の集合に含まれる一つの多角形に関連付けられることを特徴とする請求項0の方法。
【請求項19】
前記ツリーデータ構造のノードは前記関連付けられた多角形の下限からなることを特徴とする請求項0の方法。
【請求項20】
前記ツリーデータ構造のノードは前記関連付けられた多角形の上限からなることを特徴とする請求項0の方法。
【請求項21】
前記データ構造の更新は、前記データ構造にノードを加えるステップと、
前記データ構造から重複するノードを除去するステップと、
前記データ構造のノードを更新するステップとからなることを特徴とする請求項0の方法。
【請求項22】
動作容積内の対象物の数を決定するシステムであって、
シルエットコーンと前記動作容積との交差領域である三次元形状の第一の複数の平面投影を交差させることにより、一つ以上の多角形からなる第一の集合を決定する手段と、
一つ以上の多角形からなる前記第一の集合の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最低の数である一つ以上の下限からなる第一の集合を決定する手段とからなるシステム。
【請求項23】
前記動作容積のシルエットコーンの前記第一の複数の平面投影を交差させることは、前記動作容積のシルエットコーンの平面投影の画素化からなること特徴とする請求項22のシステム。
【請求項24】
前記動作容積のシルエットコーンの平面投影の画素化は、前記動作容積のシルエットコーンの平面投影を画素化するためのハードウェアを使用することからなることを特徴とする請求項23のシステム。
【請求項25】
前記動作容積は全ての対象物を完全には含まないことを特徴とする請求項22のシステム。
【請求項26】
一つ以上の下限からなる前記第一の集合を決定する手段は、シルエットコーンに沿って伸び、一つの多角形とだけ交差する光線が存在するか決定する手段からなることを特徴とする請求項22のシステム。
【請求項27】
一つ以上の多角形が対象物を含まないと決定したことに対応して、一つ以上の多角形からなる前記第一の集合から一つ以上の多角形を除外する手段をさらに含む請求項22のシステム。
【請求項28】
一つ以上の多角形からなる前記第一の集合内の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最高の数である上限を一つ以上含む第一の集合を決定する手段をさらに含む請求項22のシステム。
【請求項29】
一つ以上の上限からなる前記第一の集合を決定する手段は、多角形の面積を最小の対象物の寸法で分割する手段からなることを特徴とする請求項28のシステム。
【請求項30】
一つ以上の下限からなる前記第一の集合をデータ構造に保存する手段と、
シルエットコーンと前記動作容積との交差領域である三次元形状の第二の複数の平面投影を交差させることにより、一つ以上の多角形からなる第二の集合を決定する手段と、
一つ以上の多角形からなる前記第二の集合内の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最低の数である下限を一つ以上含む第二の集合を決定する手段とをさらに含む請求項22のシステム。
【請求項31】
前記動作容積のシルエットコーンの前記第二の複数の平面投影を交差させることは、前記動作容積のシルエットコーンの平面投影の画素化からなることを特徴とする請求項30のシステム。
【請求項32】
前記動作容積のシルエットコーンの平面投影の画素化は、前記動作容積のシルエットコーンの平面投影を画素化するためのハードウェアを使用することからなることを特徴とする請求項31のシステム。
【請求項33】
前記動作容積は全ての対象物を完全には含まないことを特徴とする請求項30のシステム。
【請求項34】
一つ以上の下限からなる前記第二の集合を決定する手段は、シルエットコーンに沿って伸び、一つの多角形とだけ交差する光線が存在するかを決定する手段からなることを特徴とする請求項30のシステム。
【請求項35】
一つ以上の多角形が対象物を含まないと決定したことに対応して、一つ以上の多角形からなる前記第二の集合から一つ以上の多角形を除外する手段をさらに含む請求項30のシステム。
【請求項36】
一つ以上の多角形からなる前記第二の集合内の一つの多角形と関連付けられ、関連付けられた多角形に包含され得る対象物の最高の数である上限を一つ以上含む第二の集合を決定する手段をさらに含む請求項30のシステム。
【請求項37】
一つ以上の上限からなる前記第二の集合を決定する手段は、多角形の面積を最小の対象物の寸法で分割する手段からなることを特徴とする請求項36のシステム。
【請求項38】
前記データ構造を更新する手段をさらに含む請求項30のシステム。
【請求項39】
前記データ構造はツリーデータ構造からなり、該ツリーデータ構造のノードは一つ以上の多角形からなる前記第一の集合に含まれる一つの多角形に関連付けられることを特徴とする請求項38のシステム。
【請求項40】
前記ツリーデータ構造のノードは前記関連付けられた多角形の下限からなることを特徴とする請求項39のシステム。
【請求項41】
前記ツリーデータ構造のノードは前記関連付けられた多角形の上限からなることを特徴とする請求項39のシステム。
【請求項42】
前記データ構造を更新する手段は、前記データ構造にノードを加える手段と、
前記データ構造から重複するノードを除去する手段と、
前記データ構造のノードを更新する手段とからなることを特徴とする請求項39のシステム。
【図1】
【図2A】
【図2B】
【図3A】
【図3B】
【図4A】
【図4B】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10A】
【図10B】
【図10C】
【図10D】
【図10E】
【図11】
【図12A】
【図12B】
【図13】
【図2A】
【図2B】
【図3A】
【図3B】
【図4A】
【図4B】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10A】
【図10B】
【図10C】
【図10D】
【図10E】
【図11】
【図12A】
【図12B】
【図13】
【公表番号】特表2007−517273(P2007−517273A)
【公表日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願番号】特願2006−533780(P2006−533780)
【出願日】平成16年6月14日(2004.6.14)
【国際出願番号】PCT/US2004/018842
【国際公開番号】WO2004/111799
【国際公開日】平成16年12月23日(2004.12.23)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
【公表日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願日】平成16年6月14日(2004.6.14)
【国際出願番号】PCT/US2004/018842
【国際公開番号】WO2004/111799
【国際公開日】平成16年12月23日(2004.12.23)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
[ Back to top ]