"交通信号の3次元ロケーションを特定する方法であって、複数の画像を受信するステップであって、該複数の画像の各画像は地理的ロケーション及び方位情報と関連付けられる、受信するステップと、コンピュータによって、交差点に最も近い前記地理的ロケーションと関連付けられた前記複数の画像のうちの1つ以上の画像を選択するステップと、前記選択された画像ごとに、前記コンピュータによって、該選択された画像内の赤色物体、黄色物体及び青色物体を識別するステップと、前記選択された画像のうちの2つ以上の画像の前記地理的ロケーション及び方位情報に基づいて、該2つ以上の選択された画像内の前記赤色物体、前記黄色物体及び前記青色物体のうちの関連するものを識別するステップと、1前記選択された画像のうちの前記2つ以上の画像間の識別された関連付けと、2前記2つ以上の選択された画像の前記地理的ロケーション及び方位情報とに基づいて、交通信号の前記3次元ロケーションを特定するステップと、前記交通信号の前記3次元ロケーションを前記コンピュータによってアクセス可能なメモリに格納するステップとを含んでなる、交通信号の3次元ロケーションを特定する方法。前記交通信号の前記3次元ロケーションを含むマップを生成するステップを更に含む、請求項1に記載の方法。前記複数の画像のそれぞれは1つ以上のカメラによって収集され、前記カメラのそれぞれは車両に関連付けられている、請求項2に記載の方法。前記1つ以上のカメラのそれぞれは前記車両に取り付けられている、請求項3に記載の方法。前記画像のそれぞれに関連付けられた前記地理的ロケーション及び方位情報は、地理的位置デバイスによって特定されるような前記カメラの前記地理的ロケーション及び方位情報に基づいて生成される、請求項3に記載の方法。前記画像のそれぞれに関連付けられた前記地理的ロケーション及び前記方位情報はレーザポジショニングデバイスによって特定される、請求項1に記載の方法。前記画像のそれぞれに関連付けられた前記地理的ロケーション及び方位情報はGPSポジショニングデバイスによって特定される、請求項1に記載の方法。前記画像のそれぞれに関連付けられた前記地理的ロケーション及び方位情報は慣性ポジショニングデバイスによって特定される、請求項1に記載の方法。前記地理的ロケーション情報はGPS緯度及び経度座標である、請求項1に記載の方法。交通信号の3次元ロケーションを特定するデバイスであって、プロセッサと、メモリとを備えてなり、前記プロセッサは、複数の画像を受信し、ここで、該複数の画像の各画像は地理的ロケーション及び方位情報に関連付けられ、交差点に最も近い地理的ロケーションに関連付けられた前記複数の画像のうちの1つ以上の画像を選択し、前記選択された画像ごとに、該選択された画像内の赤色物体、黄色物体及び青色物体を識別し、前記選択された画像のうちの2つ以上の画像の前記地理的ロケーション及び方位情報に基づいて、該2つ以上の選択された画像内の前記赤色物体、前記黄色物体及び前記青色物体のうちの関連するものを識別し、1前記選択された画像のうちの前記2つ以上の画像間の識別された関連付けと、2前記2つ以上の選択された画像の前記地理的ロケーション及び方位情報とに基づいて、交通信号の前記3次元ロケーションを特定し、前記交通信号の前記3次元ロケーションを該デバイスによってアクセス可能なメモリに格納する、ように構成されている、交通信号の3次元ロケーションを特定するデバイス。前記複数の画像のそれぞれは1つ以上のカメラによって収集され、前記カメラのそれぞれは車両に関連付けられ、交通信号の光の飽和を避けるように設定されるそれぞれの利得及びシャッタ速度を有する、請求項10に記載のデバイス。前記複数の画像のそれぞれは1つ以上のカメラによって収集され、前記カメラのそれぞれは車両に関連付けられ、前記複数の画像のそれぞれが前記1つ以上のカメラのそれぞれからネットワークを介して前記デバイスにアップロードされる、請求項10に記載のデバイス。前記複数の画像のそれぞれは1つ以上のカメラによって収集され、前記カメラのそれぞれは車両に関連付けられ、該車両の運転者の視界を遮るのを最小限に抑えるように配置される、請求項10に記載のデバイス。前記識別された赤色物体、黄色物体及び青色物体は、交通信号に対応するのに相応しいサイズ及びアスペクト比である、請求項10に記載のデバイス。2つ以上の選択された画像の前記赤色物体、前記黄色物体及び前記青色物体のうちの関連するものを前記識別するステップは、前記2つ以上の選択された画像の識別された物体間の関連距離に基づくものである、請求項10に記載のデバイス。2つ以上の選択された画像の前記赤色物体、前記黄色物体及び前記青色物体のうちの関連するものを前記識別するステップは、交通信号の物理的寸法に基づくものである、請求項10に記載のデバイス。2つ以上の選択された画像の関連する赤色物体、黄色物体及び青色物体を前記識別するステップは、前記選択された画像間の直接動き補償に基づき、前記選択された画像のそれぞれは移動中の車両に取り付けられたカメラによって撮影されるものである、請求項10に記載のデバイス。前記プロセッサは、前記直接動き補償に基づいて、選択された画像内の赤色物体、黄色物体及び青色物体のうちの前記識別されたものを交通信号の光以外の物体として識別するように更に構成される、請求項10に記載のデバイス。前記プロセッサは、特定の交通信号の前記特定された前記3次元ロケーションを、交差点を通る車線のマップと比較することに基づいて、前記特定の交通信号に関連付けられた車線を特定するように更に構成される、請求項10に記載のデバイス。交通信号の状況を特定する方法であって、クライアントデバイスの現在のロケーションを繰り返し特定するステップと、前記クライアントデバイスの前記現在のロケーションと交通信号の3次元ロケーションのマップとの比較に基づいて、交通信号の境界の推定ロケーションを特定するステップと、前記推定ロケーションの画像を収集するステップと、収集された前記画像ごとに、前記クライアントデバイスによって、前記交通信号の前記推定ロケーションの前記境界内の赤色物体、黄色物体及び青色物体を識別するステップと、前記識別された物体の色に基づいて前記交通信号の前記状況を特定するステップとを含んでなる、交通信号の状況を特定する方法。前記交通信号の前記状況がデフォルト状況から変化したか否かを判断するステップを更に含む、請求項20に記載の方法。前記交通信号の前記推定ロケーションの前記境界内に識別された物体が存在しない場合には、前記交通信号の前記状況が前記デフォルト状況であると判断する、請求項20に記載の方法。前記デフォルト状況は黄信号である、請求項21に記載の方法。前記デフォルト状況は赤信号である、請求項22に記載の方法。前記交通信号の前記状況を車両に関連付けられたコンピュータに送信するステップを更に含む、請求項20に記載の方法。前記交通信号の前記状況を可聴音によって識別するステップを更に含む、請求項20に記載の方法。前記交通信号の前記状況に基づいて運転指示を与えるステップを更に含む、請求項20に記載の方法。交通信号の3次元ロケーションを特定するデバイスであって、プロセッサと、補助リソースファイルを格納するための第1の部分を含む、メモリとを備えてなり、前記プロセッサは、クライアントデバイスの現在のロケーションを繰り返し特定し、前記クライアントデバイスの前記現在のロケーションと交通信号の3次元ロケーションのマップとの比較に基づいて、交通信号の境界の推定ロケーションを特定し、前記推定ロケーションの画像を収集し、収集された前記画像ごとに、前記クライアントデバイスによって、前記交通信号の前記推定ロケーションの前記境界内の赤色物体、黄色物体及び青色物体を識別し、前記識別された物体の色に基づいて前記交通信号の状況を特定する、ように構成される、交通信号の3次元ロケーションを特定するデバイス。前記デバイスはディスプレイデバイスを含み、前記プロセッサは該ディスプレイデバイス上で前記交通信号の前記状況を識別するように更に構成される、請求項28に記載のデバイス。交通信号の画像を収集する方法であって、交通信号の光の飽和を避けるようにカメラの利得及びシャッタ速度を設定するステップと、前記カメラを車両に取り付けるステップと、交差点を通るように前記車両を操作するステップと、前記交差点の複数の画像を収集するステップと、ポジショニングデバイスに基づいて、地理的ロケーション及び方位情報を前記複数の画像のそれぞれと関連付けるステップと、前記複数の画像及び関連付けられた地理的ロケーションをメモリに格納するステップと、前記複数の画像及び前記関連付けられた地理的位置を、ネットワークを介してコンピュータに送信するステップとを含んでなる、交通信号の画像を収集する方法。前記複数の画像並びに前記関連付けられた地理的ロケーション及び方位情報を受信するステップと、交差点に最も近い地理的ロケーションに関連付けられた前記複数の画像のうちの1つ以上の画像を選択するステップと、選択された前記画像ごとに、該選択された画像内の赤色物体、黄色物体及び青色物体を識別するステップと、前記選択された画像のうちの2つ以上の画像の前記地理的ロケーション及び方位情報に基づいて、該2つ以上の選択された画像内の前記赤色物体、前記黄色物体及び前記青色物体のうちの関連するものを識別するステップと、1前記選択された画像のうちの前記2つ以上の画像間の識別された関連付けと、2前記2つ以上の選択された画像の前記地理的ロケーション及び方位情報とに基づいて、前記交通信号の3次元ロケーションを特定するステップと、前記交通信号の3次元ロケーションを前記コンピュータによってアクセス可能なメモリ内に格納するステップとを更に含む、請求項30に記載の方法。特定の交通信号の特定された3次元ロケーションを、交差点を通る車線のマップと比較することに基づいて、前記特定の交通信号に関連付けられる車線を特定するステップを更に含む、請求項30に記載の方法。本発明の態様、特徴、及び利点は、例示的な実施形態の以下の説明及び添付した図面を参照して検討すると理解されるであろう。種々な図面における同じ参照符号は、同じ要素又は同様の要素を特定することができる。さらに、以下の説明は限定するものではない。本発明の範囲は添付の特許請求の範囲及び均等物によって規定される。一定の露出及び絞りを有するカメラを、交通信号機の色レベルの画像を収集するように直接較正することができる。交通信号機の位置、ロケーション及び方位は、そのような画像のうちの2つ以上の画像から自動的に外挿することができる。その後、この情報を用いて、交通信号機の3Dロケーションを識別するマップを生成することができる。交通信号のこれらの3Dマップによって、クライアントデバイスは、交通信号機を予想及び予測できるようになる。図1A及び図1Bに示されるように、本発明の一態様によるシステム100は、プロセッサ120と、メモリ130と、汎用コンピュータ内に通常存在する他の構成要素とを含むコンピュータ110を備える。メモリ130は、プロセッサ120によって実行することができるか、又は別の方法で用いることができる命令132及びデータ134を含む、プロセッサ120によってアクセス可能な情報を格納する。メモリ130は、コンピュータ可読媒体、又はハードドライブ、メモリ媒体、ROM、RAM、DVD若しくは他の光ディスク、並びに他の書込み可能メモリ及び読取り専用メモリのような、電子デバイスの助けを借りて読み取ることができるデータを格納する他の媒体を含む、プロセッサによってアクセス可能な情報を格納することができる任意のタイプでありうる。システム及び方法は、上記のものの種々の組み合わせを含むことができ、それゆえ、命令及びデータの種々の部分が種々のタイプの媒体に格納される。命令132は、プロセッサによって直接実行される機械コード等か、又は間接的に実行されるスクリプト等ことになる任意の1組の命令とすることができる。例えば、命令は、コンピュータコードとして、コンピュータ可読媒体上に格納することができる。その点において、用語命令及びプログラムは、本明細書において交換可能に用いることができる。命令は、プロセッサによって直接処理するためのオブジェクトコード形式において、又は要求に応じて解釈されるか若しくはあらかじめコンパイルされる、スクリプト若しくは独立したソースコードモジュールの集合体を含む、任意の他のコンピュータ言語において、格納することができる。機能、方法及び命令のルーチンが以下に更に詳細に説明される。命令132に従って、プロセッサ120によってデータ134を検索、格納、又は変更することができる。例えば、本システム及び本方法はいかなる特定のデータ構造によっても制限されないが、データは、コンピュータレジスタ内に、複数の異なるフィールド及びレコード、XMLドキュメント又は単層ファイルを有するテーブルとしてリレーショナルデータベース内に格納することができる。また、データは、任意のコンピュータ可読形式にフォーマットすることもできる。例示にすぎないが、さらに、画像データを、可逆的に例えば、BMP若しくは不可逆的に例えば、JPEG圧縮されるか、又は圧縮されない形式に従って格納されるピクセルのグリッドで構成されるビットマップ、及びビットマップ又はベクトルベース例えば、SVG、並びにグラフィックスを描画するためのコンピュータ命令として格納することができる。そのデータは、番号、記述テキスト、所有権コード、同じメモリの他のエリア若しくは他のネットワークロケーションを含む異なるメモリに格納されるデータへの参照、又は関連するデータを計算するために或る機能によって用いられる情報のような、関連する情報を識別するのに十分な任意の情報を含みうる。プロセッサ120は、インテル社又はアドバンストマイクロデバイス社製のプロセッサのような任意の従来のプロセッサとすることができる。代替的には、プロセッサは、ASICのような専用デバイスとすることができる。図1は、プロセッサ及びメモリを、同じブロック内に存在するように機能上示すが、プロセッサ及びメモリは実際には複数のプロセッサ及びメモリを含むことができ、それらのプロセッサ及びメモリは物理的に同じハウジング内に格納される場合も、格納されない場合もあることは当業者には理解されよう。例えば、メモリは、データセンターのサーバファーム内に位置するハードドライブ又は他の記憶媒体とすることができる。したがって、プロセッサ又はコンピュータへの参照は、並列に動作する場合も、並列に動作しない場合もあるプロセッサ又はコンピュータ又はメモリの集合体への参照を含むように理解されたい。コンピュータ110は、ネットワーク150の1つのノードに存在することができ、ネットワークの他のノードと直接又は間接的に通信することができる。例えば、コンピュータ110はウェブサーバを含むことができ、そのウェブサーバは、サーバ110がネットワーク150を用いて図1B内の人191又は192のようなユーザに情報を送信し、表示するか、又は別の方法で提供するように、ネットワーク150を介してクライアントデバイス170~172と通信することができる。また、サーバ110は複数のコンピュータを含むこともでき、それらのコンピュータは、データを受信し、処理し、クライアントデバイスに送信するためにネットワークの種々のノードと情報を交換する。この場合には、それでも、クライアントデバイスは通常、サーバ110を含むコンピュータのいずれとも異なるネットワークノードに存在することになる。ネットワーク150、及びサーバ110とクライアントデバイスとの間に介在するノードは、種々の構成を含むことができ、インターネット、ワールドワイドウェブ、イントラネット、仮想私設網、ローカルイーサネットネットワーク、1つ以上の企業に独自の通信プロトコルを使用する私設網、セルラネットワーク及び無線ネットワーク例えば、WiFi、インスタントメッセージング、HTTP及びSMTP、並びに上記のものの種々の組み合わせを含む、種々のプロトコルを使用することができる。図1及び図2には数台のコンピュータしか示されないが、通常のシステムは、接続された多数のコンピュータを含みうることは理解されたい。各クライアントデバイスは、プロセッサ120、メモリ及び命令132を用いて、サーバ110と同様に構成することができる。各クライアントデバイス170~172は、人191及び192によって使用することを意図したデバイスとすることができ、中央処理装置CPU、ウェブブラウザのようなデータ162及び命令を格納するメモリ例えば、RAM及び内部ハードドライブ、電子ディスプレイ164例えば、画面を有するモニタ、小型LCDタッチスクリーン、プロジェクタ、テレビ、コンピュータプリンタ、又は情報を表示するように動作することができる任意の他の電気デバイス、並びにユーザ入力166例えば、マウス、キーボード、タッチスクリーン及び/又はマイクロフォンのような、コンピュータと関連して通常使用される構成要素の全てを有することができる。また、クライアントデバイスは、カメラ176、地理的位置構成要素178、1つ以上のスピーカ174、ネットワークインターフェースデバイス、及びこれらの構成要素を互いに接続するために用いられる全ての構成要素も含みうる。クライアントデバイス170~172はそれぞれフルサイズのパーソナルコンピュータを含みうるが、代替的には、それらのデバイスは移動デバイスを含むことができ、その移動デバイスは、インターネットのようなネットワークを介してサーバとデータを無線で交換する場合も、しない場合もある。例示にすぎないが、クライアントデバイス172は車載デバイスとすることもできるし、該クライアントデバイス172が車両のコンピュータと情報を交換できるように車両に接続することもできる。別の例では、クライアントデバイス171は、インターネットを介して情報を入手することができる、無線対応PDA又はセルラ電話とすることができる。ユーザは小型キーボードブラックベリーフォンの場合、キーパッド通常の携帯電話の場合、又はタッチスクリーンPDAの場合を用いて情報を入力することができる。実際には、本明細書において説明されるシステム及び方法によるクライアントデバイスは、命令を処理し、人との間で、かつ汎用デバイス、ローカル記憶能力を欠いているネットワークコンピュータ等を含む他のコンピュータとの間でデータを送信することができる任意のデバイスを含みうる。また、クライアントデバイスは、デバイスの地理的ロケーション及び方位を特定するための地理的位置構成要素も含みうる。例えば、クライアントデバイス170は、デバイスの緯度、経度及び/又は高度位置を特定するためのGPS受信機を含みうる。レーザベースロケーション特定システム、慣性支援GPS、又はカメラベースロケーション特定のような他のロケーション特定システムを用いることもできる。さらに、地理的位置構成要素は、クライアントデバイスが携帯電話である場合には1つ以上のセルラタワーから携帯電話のアンテナにおいて受信される信号のような、クライアントデバイス171において受信される他の信号に基づいてデバイスの位置を特定するためのソフトウェアも含みうる。また、クライアントデバイス171は、加速度計、ジャイロスコープ、又はデバイスが向けられた方向を特定するための他の加速デバイス168のような、他の機構を含みうる。一例にすぎないが、加速デバイスは、重力の方向に対するか又は重力に対して垂直な平面に対するピッチ、ヨー又はロール又はその変化を特定することができる。その点において、本明細書において示されるような、クライアントデバイスが与えるロケーション及び方位データは、ユーザに対して、サーバに対して、又はその両方に対して自動的に与えることができることが理解されるであろう。図1Aに戻ると、データ134は、交通信号の画像のような画像データを含みうる。画像は、画像が撮影された時点における車両又はカメラの位置、ロケーション及び方位を含む、種々の情報と関連付けることができる。また、画像データは、画像内の交通信号の位置及びロケーションを示すラベルと関連付けることができる。これらのラベルは、種々の方法によって生成することができる。例えば、ラベル付きの画像を生成するための1つの方法は、人間によるラベラのチームを用いることである。しかしながら、人間のラベラは、通常の都市環境内で高密度の信号機に関して作業することが要求されるときに、相対的に時間がかかる場合がある。さらに、最も優秀な人間のラベラであっても、ラベルの配置に関していつでも正確であるとは限らない。以下に更に詳述される別の例では、ラベルは、交通信号分類器140を用いることによって自動的に生成することができる。画像データ136は他の画像との関連付けも含みうる。例えば、2つの異なる画像の2つのラベルが同じ交通信号を識別する場合、これらのラベル又は画像を互いに関連付けることができる。以下に更に詳述されるように、これらのラベル及び画像間の関連付けを用いて、交通信号の推定3D位置を識別する交通信号マップ138を生成することができる。これらの画像は、例えば、カメラ、並びにGPS、慣性及び/又はレーザシステムのようなナビゲーションシステムを備えた車両を手動で運転して交差点を通過し、正確にタイムスタンプを押されたレーザ距離及びカメラ画像を収集することによって収集することができる。車両180及び181のような車両は、種々の構成において取り付けられた種々のタイプのカメラ182を用いて、交通信号機画像を収集することができる。例えば、PointGrey社製Grasshopper5MPカメラを、前方正面を向くように配置し、運転者の視界を遮るのを最小限に抑えるバックミラーの右側に取り付けることができる。30度の視界を有する固定レンズを備えたカメラの場合に、2040×1080領域のような特定の対象領域を選択することができる。例えば、88km/h55MPHで進行しているときに、適度な制動距離を確保するために、そのカメラは、150mの地点において交通信号を検出できるように較正することができる。車両180及び181又はカメラ182は、上記の地理的位置構成要素178も含みうる。地理的位置構成要素を用いて、特定の画像が撮影されたときのカメラ又は車両の地理的ロケーション、方位及び位置を識別することができる。車両180及び181は、サーバ110によって用いるための画像を記録することができる。画像及び関連する情報は、ネットワーク150を介して車両からサーバ110にアップロードすることもできるし、サーバ110に直接ロードすることもできる。夜間に交通信号の光の画像を収集するために、交通信号の光、特に、明るいLEDベースの青信号の飽和を避けるように、利得及びシャッタ速度を設定することができる。これらの設定を用いて、日中であっても、比較的暗い画像を生成することができる。図2は、以下に詳述されることになる一実施形態200を示す。その動作は、以下に示されるのと全く同じ順序で実行される必要はないことは理解されよう。むしろ、種々のステップを異なる順序において、又は同時に処理することができる。図2のブロック210に示されるように、サーバ110によって画像データが受信される。その後、ブロック220において、サーバは、それらの画像を最も関連があるもの、すなわち、交通信号機を含む可能性が高い画像に至るまで、フィルタリングする。一般的に、交通信号は交差点に配置されるので、地理空間的な問い合わせを用いて、交差点が見える可能性がないときに撮影された画像を破棄することができる。1組の画像を、車両が交差点に近づきつつあるときに撮影された画像に選別した後に、ブロック230及び240において示されるように、それらの画像は分類され、ラベルを付される。サーバ110は、適切なサイズ及びアスペクト比を有する明るい色の赤色、黄色及び青色の小球blobsを見つける交通信号分類器を使用することができ、そして、これらの小球は、位置推定プロセスのための仮の交通信号ラベルとして用いられる。本発明は、1組の赤、黄及び青信号を有する通常の縦型交通信号との関連において説明されるが、これらの具体的な構造は単なる一例として用いられることは理解されよう。交通信号は、多様であり、多くの場合に複雑な幾何学的形状を有する場合があり、本発明は、任意の数のこれらの付加的な幾何学的形状で動作することができる。図3は、人によってラベルを付される交通信号の例を示す。1つの肯定的な例あたり、8つの付加的な否定的な例が生成される場合がある。新たに生成された例が肯定的な例と重なり合う場合、例えば、2つの交通信号が互いに非常に近い場合には、新たに生成された例を破棄することができる。ラベル付けステップの出力は多数のラベルとすることができるが、どのラベルがどの交通信号に属するかについての情報はない。3Dにおける物体の位置を推定するには、異なる画像内にある少なくとも2つのラベルを必要とし、一般的には、多くのラベルを入手できるほど、位置推定が改善される。しかしながら、特定の交通信号のような、同じ対象を含む2つ以上の画像を識別するために、画像のラベルは互いに関連付けられなければならない。2つの画像と関連付けられたラベルが互いの関連距離内に入る場合に、それらの画像を関連付けることができる。例えば、各ラベルは直径dを有することができる。2つのラベルの中心が、d又は10dのような、互いの相対的に短い距離内にある場合には、これらのラベルは互いに関連付けることができる。別の例では、2つのラベルが重なり合う場合には、ラベルを関連付けることができる。関連付けは、画像系列内のラベル間で、位置推定が実行されたなら3D物体間で、又は両方のタイプの関連付けを組み合わせる反復手法を用いることによって特定することができる。関連付けを識別するために、サーバは、描画された交通信号のタイプについて、幾つかの推測を行うことができる。例えば、信号が、間違いなく最も一般的な構成である、標準的な縦型赤色-黄色-青色構造を有すると仮定することによって、交通信号のフルサイズを推測することができる。これらのフルサイズの交通信号ラベルは、色を変更した交通信号によってもたされる関連付けラベルを、より簡単にすることができる。画像間のラベル関連付けは、種々の方法において実行することができる。例えば、概ねアフィン運動及び/又は高いフレームレートの場合、テンプレートトラッカを用いて、或る画像内のラベルと、次の画像内のラベルとを関連付けることができる。別の例では、カメラフレームレートが4fpsのように低く、かつ物体運動が完全に射影的である場合には、直接動き補償を用いることができる。上記で言及したように、正確なカメラ姿勢、又は位置/ロケーション/方位は画像ごとにわかる。カメラが移動中の車両に取り付けられる場合には、その姿勢における累積誤差は相対的に小さくすることができ、例えば、数秒の時間期間にわたって進行した距離の1である。幾つかの例では、車両の位置推定をオフライン最適化法によって精緻化して、0.15m内の位置精度をもたらすことができる。図2のブロック250に戻ると、サーバ110が、直接動き補償を用いて、異なる画像内のラベル間の関連付けを識別することができる。ロール、ピッチ及びヨーの変化に起因する物体の見かけの運動は、固有カメラモデルを用いて補正できるほど単純である場合があるが、車両の前進運動に起因する物体の見かけの運動を補正するには、物体の位置に関する或る推定値が必要である場合がある。画像内の物体の見かけの位置は、その物体の位置を1つの光線に沿った或る場所に制限し、物体の距離の概算は、その物体が特定の寸法の交通信号であると仮定することによって行うことができる。焦点距離fuを有するカメラによって撮影された画像内の、真の幅w及び見かけの幅を有する物体への距離dは以下のとおりである。方向ベクトルX=[u,v]Tは、カメラモデルを用いて径方向歪みを補正することによって計算することができ、物体の概算の3D位置は以下のとおりである。T1及びT2が、車両の座標系から局所的に平坦な座標系への、2つの異なる時点の4×4変換行列であり、Cが車両座標系からカメラ座標系への変換である場合には、画像間の物体の相対的な動きは以下のように補正することができる。カメラの固有モデルを用いることによって、歪んだ画像座標を計算することができる。上記で言及したように、2つの画像内の交通信号の2つのラベルが互いの関連距離内に入る場合には、それらのラベルを関連付けることができる。このようにして、ラベルの長い系列を関連付けることができ、それらのラベルが全て、特定の交通信号の画像と関連付けられることを示すことができる。場合によっては、ラベルは他のタイプの物体、例えば、別の車両のテールライトに対応する場合がある。これらの場合には、概算の距離推定及び後続の動き補償が不正確になり、物体間のラベル関連付けが交通信号として誤って分類される可能性が小さくなる場合がある。これにより、サーバは誤ったラベルをフィルタリングして除去することもできる。動き補正されたラベルが別のラベルと重なり合う場合には、これらのラベルは同じ物体に対応する可能性がある。対応するラベルの系列から物体の3D位置を推定することができる。ブロック260に示されるように、サーバ110は関連付けを用いて、交通信号の3Dロケーションを特定することができる。具体的には、2つ以上の画像内の関連付けられたラベルに基づいて3D物体の姿勢を推定することができる。例えば、最適な三角測量法を用いることができるが、この方法は、多くても3つのラベルとともに用いることしかできないので、同じ交通信号のための数多くのラベルが存在するときには、その有用性が低下する場合がある。別の例では、姿勢は、線形三角測量及び直接線形変形、最小二乗法を用いることによって推定することができる。最小二乗法を用いるとき、暫定的に分類された各画像ラベルは、画像座標と関連付けることができる。これらの画像座標は、径方向歪み等を補正する、カメラの固有モデルを用いて方向ベクトルxに変換することができる。ラベル方向ベクトルxi及びカメラ射影行列Piごとに、以下の式が成り立つような、3D点Xを推定することができる。これらの式は以下の形にまとめることができ、その式はXの一次式である。射影幾何学に内在する均質なスケールファクタを除去するために、特定の物体の場合に、各画像ラベル{x1、x2、...}のクロス積から、3n×4の行列Aを組み立てることができる。ただし、クロス積行列は以下のとおりである。及びA=UΣVTである場合にAに関する特異値分解を実行すると、Xについての解は、逆均質化されたdehomogenized特異ベクトルであり、そのベクトルはAの最も小さな特異値、すなわち、Aの右端の値に対応する。信号の方位は、交通信号位置を推定するために用いられる全ての画像ラベルにわたる平均車両進向方向の逆進向方向として推定することができる。上記で生成された情報を用いて、ブロック270に示されるように、交通信号の3Dロケーション及び幾何学的形状を示すマップ情報を生成することができる。マップ情報の精度は、カメラの外部パラメータ、すなわち、車両の座標系に対するカメラの位置及び方位を表す変換の影響を受けやすい場合がある。外部パラメータの適度な初期推定値を仮定すると、これらのパラメータは、座標降下法を用いて、交通信号の再射影の労力を最小限に抑えることによって較正することができる。ここで、Xeは、外部パラメータeを用いるマッピングパイプラインによって推定された交通信号位置である。同様のプロセスを用いて、画像がカメラによって撮影された時点と、その画像がコンピュータに送信された時点ただしハードウェアタイムスタンプが用いられる場合もあるとの間のタイミング遅延を推定することができる。このタイミング遅延はカメラフレームレート及びファイヤワイヤバススケジューリング割当てに依拠して異なる場合があるが、所与の構成の場合に百分の数秒以内まで安定させることもできる。レンズ歪みを決定するカメラの固有パラメータは、チェッカーボードコーナー抽出手順checkerboardcornerextractionprocedureを用いて、標準的な径方向レンズモデルに対して較正することができる。実際に適用される車線に対する交通信号を識別することもできる。例えば、交通信号の中には、左折又は右折専用車線に対してのみ適用されるものもある。この情報は、交通信号と、交差点を通る種々の許された路線との間の関連付けとして表すことができる。推定された交通信号方位及び平均交差点幅に基づく簡単な発見的問題解決法を用いて、これらの関連付けに関して推定を行うことができる。そして、これらの推定値は手動で検証することができる。これは、複雑な多車線交差点の場合に特に必要である。新たなラベルを連続して追加し、それらのラベルを用いて分類器を最適化することができる。グリッド探索及び山登りを含む、種々の最適化法を用いることができる。例えば、グリッド探索では、パラメータ空間の各軸を離散化することができ、これらの離散化された座標の全ての組み合わせが評価される。粗いグリッドが、最適化されることになる空間の構造に関する洞察を与えることができる。図2のステップは単一の中央サーバコンピュータを使用することによって進むように示されるが、各コンピュータが小さな1組の画像をRAMにロードし、そして、それらのキャッシュされた画像に関するその時点のオプティマイザ状態に従って分類器を繰り返し評価するように、画像を1組のコンピュータに分散させることもできる。特定の分類器構成を、数百台のコンピュータによって、1秒以内に1組、例えば、10000枚の画像にわたって評価することができる。これにより、座標降下法のような、反復山登り手法を用いて、短時間で分類器を最適化できるようになる。単一のオプティマイザステップにおいて評価されることになる全ての状態をバッチ処理することによって、更なる並列化を可能とすることができる。はるかに多くの否定的な例が自動的に生成される場合には、肯定的な例の結果を10倍高く重み付けすることができる。マップ情報が生成されると、その情報を用いて、ロボット車両又は運転者を支援することができる。交通信号マップを用いて、交通信号赤色、黄色又は青色を識別し、解釈することができる。図4は、このプロセスの例示的な流れ図400を示す。ブロック410に示されるように、クライアントデバイスが、交通信号マップの関連する部分に対して、クライアントデバイスのロケーションを絶えず特定する。例えば、車載又はポータブルデバイスが、交通信号マップに直接アクセスすることもできるし、デバイス又は車両のロケーションに基づいて、サーバからマップの一部を要求することも、自動的に受信することもできる。そして、クライアントデバイスは、ブロック420に示されるように、交差点又は交通信号に向かって移動しつつあるか否かを判断する。クライアントデバイスが交差点に近づきつつある場合には、クライアントデバイスは、ブロック430に示されるように、クライアントデバイスのロケーション、及び交通信号マップに基づいて、その交差点における交通信号の3Dロケーションを予測することができる。車両姿勢及び交通信号マップを用いて、交通信号機が見えるはずの時点、及び交通信号機が画像フレーム内に現れるはずの場所についての予測を行うことができる。交通信号機マップに対する車両又はデバイスの位置は、GPS、レーザベースロケーション特定システム、慣性支援GPS、カメラベースロケーション特定、又は高度も識別するライダロケーション特定システムのうちの1つ以上のものから推定することができる。kd木又はS2球面幾何学セルsphericalgeometrycells、並びに車両方位及び交通信号方位を含む簡単な視認モデルを用いて、直ぐ近くの信号機の位置を予測することができる。そして、予測された位置は、カメラモデルを用いて、軸並行境界ボックスとして画像フレーム内に射影することができる。境界ボックスの幾何学的形状は、マップ情報によって示されるような交通信号の幾何学的形状に基づいて決定することができる。予測における間違いを考慮に入れるために、一例では、境界ボックスを、各軸において、実際の予測よりも3倍大きくすることができる。ブロック440及び450において、クライアントデバイスは、カメラを用いて画像を収集することができ、分類器を用いて、これらの画像の赤色、黄色又は青色小球を検出する。クライアントデバイスは上記の分類器を用いて、予測された各境界ボックス内の適切なサイズの明るい色の赤色、黄色及び青色小球を見つけることができる。交通信号機の幾何学的形状を用いて、異なるタイプの信号機を区別することができる。例えば、特定の交通信号が青信号を有する場合には、交通信号の近似的なロケーション、形状及びデザインを用いて、青信号が左矢印を指示するか、丸い光を指示するかを判断することができる。その結果は、交通信号ごとの1組の取り得る分類であり、その分類を用いて、交通信号の状態を識別することができる。ブロック460において、予測されたロケーション内で関連する小球が検出されない場合には、ブロック480において、クライアントデバイスは交通信号の或るデフォルト状態を仮定することができる。クライアントデバイスは、黄信号のようなデフォルト状態を仮定することができる。デフォルトとして黄色を選択することは、車両が減速する必要があることを示すので、安全機構としての役割を果たすことができる。交通信号の状態を分類し続けるために、交差点に近づきつつあるときに、車両が減速できるようにすることが大抵の場合に安全であると仮定することができる。新たな分類が存在しない場合には、クライアントデバイスは、交通信号の状態が変化しておらず、信号機が依然として黄色であると判断することができる。さらに、クライアントデバイスは、予測された境界ボックス内の幾何学的に最も高い分類を選択することもできる。例えば窓内において、例えば所与の境界ボックス内において、幾つかの光が検出される場合がある。クライアントデバイスは、物理的に最も高い光が交通信号に対応すると判断することができる。これは、多くの場合に青信号の直ぐ下にあるが、予測された境界ボックス内に十分に存在するオレンジ色の横断歩道信号機のような物体を誤って分類するのを防ぐことができる図5の止まれDontWalk信号550を参照。図4に戻ると、ブロック470において、分類器によって関連する小球が検出される場合には、クライアントデバイスは、交通信号に何らかの状態変化があったか否かを判断することになる。状態変化がない場合には、ブロック480において、クライアントデバイスは再び交通信号のデフォルト状態を仮定することができる。状態が変化している場合には、ブロック490において、クライアントデバイスは、変化のタイプを特定することができる。最後に、交通信号の状態が特定され、ブロック495において、車両又はユーザを支援するために用いられる準備ができる。そして、交通信号の状態及び位置を用いて、運転者又はロボット車を支援することができる。デバイスが、人によって運転される車両内で用いられる場合、そのデバイスは、交通信号の状態に関する情報を提供することができる。例えば、デバイスは、信号機が黄色であるのように、信号機が赤色、黄色又は青色であるという視覚的な、又は可聴音による指示を与えることができる。別の例では、デバイスは、ブレーキを踏め、信号機が赤である又は信号機が赤である、車両を停止せよのような、可聴音による指示又は警告を与えることができる。別の例では、デバイスは、左折信号のような妥当な信号機が青でないことを指示することができる。そのデバイスを用いて、ブレーキが踏まれるべきであるという指示を車両に送ることができる。デバイスがナビゲーションシステムとともに用いられる場合には、次の交差点において停止せよ、信号が赤であるのような付加的な指示を含めることができる。図5の例では、車両510の運転者が交差点に近づきつつある。交通信号540の運転者の視界は、車両520によって制限されるか、又は完全に遮断される場合がある。車両510内のクライアントデバイスは、カメラによって撮影された画像内に交通信号が見えることを判断することができ、例えば、交通信号の光545、すなわち、黄信号が点灯していると判断することができる。クライアントデバイスは、例えば、視覚信号又は可聴信号を用いて、減速せよ、信号機が黄であるを示すか、又は車両のコンピュータにブレーキを踏む必要があることを指示することによって、運転者にこの情報を渡すことができる。クライアントデバイスが交通信号の状況を識別できない場合には、そのデバイスはデフォルトを使用し、再び、ユーザに視覚的な、又は可聴音による命令を与えることができる。別の例では、交通信号が赤信号の場合に、車両を停止することができる。信号機が青に変わると、クライアントデバイスは、交通信号の状態の変化を識別し、この情報を運転者又は車両のコンピュータに与えることができる。その情報を受信した後に、運転者又はコンピュータは、例えば、車両を加速し始めることができる。更なる例では、車両が特定の路線を進行しつつあり、クライアントデバイスは、該クライアントデバイスの位置を用いて、交差点を通る走行車線を判断することができる。この情報に基づいて、クライアントデバイスは、交差点に関連付けられたどの交通信号が意図した路線に関連するかを判断し、車両のコンピュータ又はユーザに、関連する交通信号の最新の状況を与えることができる。車両が自律的に動作しているとき、デバイスは、予測された境界ボックス内で、赤又は黄信号が検出されず、かつ少なくとも1つの青信号が検出されなければならないと判断することによって、交差点を通る特定の経路を決定することができる。交差点には一般的に同じ意味の複数の信号機が存在するが、デバイスは、これらの信号機のうちの1つを識別して、通過するか否かを判断しさえすればよいことが理解されよう。図6は、都市街路及び幹線道路に沿った実験的な32kmの運転中に予測され、検出された信号機の距離ヒストグラムであり、それらの道路を走行中に、本デバイスを用いて交差点の車の通過を制御した。この例では、200mまでの交通信号が検出され、その距離は、デバイスが、交通信号が見えるはずであると予測し始める時点であった。このようにして、車両内のデバイスと交通信号との間に障害物が存在する場合であっても、交通信号が予測される図5及び上記の関連する説明を参照。図7は、実験的な運転セッションの場合の交通信号混同行列を示す。その行列は、各肯定的な例の8つの隣接物から生成された否定的な例を含む。グラウンドトルースにおいて黄信号例は含まれなかった。以下の表1は、交通信号混同行列からの正検出tp、正非検出tn、誤検出fp及び検出漏れfnを含む。表1に基づいて、実験的なデバイスの適合率precisionは99851/859=0.99であり、一方、再現率recallは62851/1387=0.62であった。画像を実験デバイスに送信するのに約0.12sの待ち時間があることに主に起因して、約0.2sの待ち時間が経験された。カメラ帯域幅制限に基づいて、検出パイプラインのフレームレートは4Hzであった。プロセッサ負荷は、画像の解像度が高いことに主に起因して、単一のCPU中央処理装置の25未満であった。その実験デバイスは、夜間に、かつ適度な雨であり、カメラがワイパによって拭き取られたエリアの後方に取り付けられる場合に最も良く機能した。上記で言及したように情報が送信又は受信されるときに、或る利点が得られたが、本発明の態様は、情報の送信のいかなる特定の方法にも限定されない。例えば、幾つかの態様では、情報は光ディスク又はポータブルドライブのような媒体を介して送ることができる。他の態様では、その情報は、非電子的な形式において送信し、手動でシステムに入力することができる。またさらには、幾つかの機能がサーバ上で行われ、他の機能がクライアント上で行われるように示されるが、本システム及び本方法の種々の態様は、単一のプロセッサを有する単一のコンピュータによって実施することができる。説明され、図示されるデータのサンプル値、タイプ及び構成は例示することだけを目的としていることは更に理解されよう。その点において、本発明の態様によるシステム及び方法は、異なる物理的属性、データ値、データタイプ及び構成を含むことができ、種々の時点において、かつ種々のエンティティによって提供し、受信することができる例えば、値によっては、あらかじめ示唆されるものもあれば、異なる情報源から与えられるものもある。特許請求の範囲によって規定されるような本発明から逸脱することなく、上記で検討された特徴のこれらの、並びに他の変形及び組み合わせを利用することができ、例示的な実施形態のこれまでの説明は、特許請求の範囲によって規定されるような本発明を制限するものではなく、例示するものとみなされるべきである。本発明の例の提供及び~のような、例えば、~を含む等として表現される節は、本発明を特定の例に限定するものと解釈されるべきではない。むしろ、それらの例は、数多くの取り得る態様のうちの幾つかのみを例示することを意図している。そうではないと明示される場合を除いて、所与の実施形態、代替形態又は実施例内の全ての特徴は、本明細書における任意の他の実施形態、代替形態又は実施例において用いることができる。例えば、カメラ又は特定の画像に関連付けられた地理的ロケーション及び方位を特定するための任意の技術は、本明細書において任意の構成において用いることができる。交通信号のロケーション又は交通信号の状況を通信するか、又は識別する各方法は、本明細書において任意の構成において用いることができる。"