(57)【要約】      （修正有）【課題】オブジェクトのトレースの信頼性を向上するオブジェクト追跡のコンピュータ実施方法を提供する。【解決手段】方法は、カスケード接続段階で複数のキューを利用してアフィニティースコアを算出することによりオブジェクトを追跡するもので、キューに基づいて現在に検出されたオブジェクトのアフィニティースコアを算出する段階と、その後にアフィニティースコアを後続の段階にフィードすることにより、後続のキューに基づいて後続の演算を通知する段階を含み、演算をスキップしてリソースを節約することができる。各フレームのオブジェクトのトレースを更新することにより自動運転車両の運転を支援する。【選択図】図７
2019192234.tif 000002
【特許請求の範囲】
【請求項１】
自動運転車両に用いられるオブジェクト追跡のコンピュータ実施方法であって、前記方法は、
第１キューに基づいて現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第１セットのアフィニティースコアを算出することと、
前記第１セットのアフィニティースコアに基づいて１セットのプログレッシブアフィニティースコアを補正することと、
後続のキューに基づいて前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の後続の１セットのアフィニティースコアを算出することと、
前記後続の１セットのアフィニティースコアを利用して前記１セットのプログレッシブアフィニティースコアを補正することと、
補正された１セットのプログレッシブアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と、前記前の追跡オブジェクトのうちの一つ又は複数とを同一オブジェクトとして関連付けて、前記同一オブジェクトの運動を追跡し、各アフィニティースコアは、前記現在の検出オブジェクトのうちの何れか一つと前記前の追跡オブジェクトのうちの何れか一つとの間の類似度の演算であることと、
を含む方法。
【請求項２】
現在に算出されたアフィニティースコアと前に算出されたアフィニティースコアとの間の差異に基づいて、アフィニティースコアの演算をスキップするか否かを決定することを、更に含む請求項１に記載の方法。
【請求項３】
アフィニティースコアの演算をスキップするか否かを決定することは、
前に算出されたアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数との間の不可能なマッチを特定することと、
後続のアフィニティースコアの演算を補正して前記不可能なマッチの演算をスキップすることと、
を含む請求項２に記載の方法。
【請求項４】
アフィニティースコアの演算をスキップするか否かを決定することは、
前に算出されたアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数との間の肯定的なマッチを特定することと、
前記肯定的なマッチが確定された一つ又は複数の現在の検出オブジェクトと一つ又は複数の前の追跡オブジェクトの演算をスキップすることと、
ことを含む請求項２に記載の方法。
【請求項５】
キューの正確度に基づいてキュー処理の順序を決定し、正確度の高いキューに対して、正確度の低いキューの前に算出すること、を更に含む請求項１に記載の方法。
【請求項６】
キュー処理の速度に基づいてキュー処理の順序を決定し、処理時間の短いキューに対して、処理時間の長いキューの前に算出すること、を更に含む請求項１に記載の方法。
【請求項７】
前記第１キューと前記後続のキューは、２Ｄ画像ブロック、２Ｄ形状、２Ｄボックス、３Ｄ情報、タイプ、ディープＲＯＩ類似性、オプティカルフロー及びヒストグラムから選択される請求項１に記載の方法。
【請求項８】
前記１セットのプログレッシブアフィニティースコアに対して、アフィニティーマトリックスにおいて補正して、前記アフィニティーマトリックスに保持し、
前記現在のフレームにおける前記現在の検出オブジェクトのうちの一つ又は複数と、前記前の追跡オブジェクトのうちの一つ又は複数とを関連付けることは、最終的な１セットのプログレッシブアフィニティースコアに対してハンガリー方法を実行して、前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の最終的な関連を形成することを含む、請求項１に記載の方法。
【請求項９】
前記現在の検出オブジェクトに関連する情報に基づいて前記前の追跡オブジェクトを更新すること、を更に含む請求項８に記載の方法。
【請求項１０】
指令が記憶されている非一時的機器可読媒体であって、
前記指令は、プロセッサにより実行される場合に、
第１キューに基づいて現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第１セットのアフィニティースコアを算出することと、
前記第１セットのアフィニティースコアを利用して１セットのプログレッシブアフィニティースコアを補正することと、
後続のキューに基づいて前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の後続の１セットのアフィニティースコアを算出することと、
前記後続の１セットのアフィニティースコアを利用して前記１セットのプログレッシブアフィニティースコアを補正することと、
補正された１セットのプログレッシブアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数とを同一オブジェクトとして関連付けて前記同一オブジェクトの運動を追跡し、各アフィニティースコアは、前記現在の検出オブジェクトのうちの何れか一つと前記前の追跡オブジェクトのうちの何れか一つとの間の類似度の演算であることと、
を含む操作を前記プロセッサに実行させる、非一時的機器可読媒体。
【請求項１１】
前記操作は、更に、
現在に算出されたアフィニティースコアと前に算出されたアフィニティースコアとの間の差異に基づいて、アフィニティースコアの演算をスキップするか否かを決定すること、を含む請求項１０に記載の非一時的機器可読媒体。
【請求項１２】
アフィニティースコアの演算をスキップするか否かを決定することは、
前に算出されたアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数との間の不可能なマッチを特定することと、
後続のアフィニティースコアの演算を補正して前記不可能なマッチの演算をスキップすることと、を含む請求項１１に記載の非一時的機器可読媒体。
【請求項１３】
アフィニティースコアの演算をスキップするか否かを決定することは、
前に算出されたアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数との間の肯定的なマッチを特定することと、
前記肯定的なマッチが確定された一つ又は複数の現在の検出オブジェクトと一つ又は複数の前の追跡オブジェクトの演算をスキップすることと、
を含む請求項１１に記載の非一時的機器可読媒体。
【請求項１４】
キュー処理の順序を、正確度の高いキューが正確度の低いキューの前に処理されるように、キューの正確度に基づいて決定する請求項１０に記載の非一時的機器可読媒体。
【請求項１５】
キュー処理の順序を、処理時間の短いキューが処理時間の長いキューの前に算出されるように、キュー処理の速度に基づいて決定する請求項１０に記載の非一時的機器可読媒体。
【請求項１６】
前記第１キューと前記後続のキューは、２Ｄ画像ブロック、２Ｄ形状、２Ｄボックス、３Ｄ情報、タイプ、ディープＲＯＩ類似性、オプティカルフロー及びヒストグラムから選択される請求項１０に記載の非一時的機器可読媒体。
【請求項１７】
前記１セットのプログレッシブアフィニティースコアを、アフィニティーマトリックスにおいて補正して前記アフィニティーマトリックスに保持し、
前記現在のフレームにおける前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数とを関連付けることは、最終的な１セットのプログレッシブアフィニティースコアに対してハンガリー方法を実行して前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の最終的な関連を形成することを含む、請求項１０に記載の非一時的機器可読媒体。
【請求項１８】
前記操作は、更に、
前記現在の検出オブジェクトからの情報を利用して前記前の追跡オブジェクトを更新する、ことを含む請求項１７に記載の非一時的機器可読媒体。
【請求項１９】
データ処理システムであって、
プロセッサと、
前記プロセッサに接続されて指令が記憶されるメモリと、を備え、
前記指令は、前記プロセッサにより実行される場合に、
第１キューに基づいて現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第１セットのアフィニティースコアを算出することと、
前記第１セットのアフィニティースコアを利用して１セットのプログレッシブアフィニティースコアを補正することと、
後続のキューに基づいて前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の後続の１セットのアフィニティースコアを算出することと、
前記後続の１セットのアフィニティースコアを利用して前記１セットのプログレッシブアフィニティースコアを補正することと、
前記１セットのプログレッシブアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数とを同一オブジェクトとして関連付けて前記同一オブジェクトの運動を追跡し、各アフィニティースコアは何れも前記現在の検出オブジェクトのうちの何れか一つと前記前の追跡オブジェクトのうちの何れか一つとの間の類似度の演算であることと、
を含む操作を前記プロセッサに実行させるデータ処理システム。
【請求項２０】
前記操作は、
現在に算出されたアフィニティースコアと前に算出されたアフィニティースコアとの間の差異に基づいて、アフィニティースコアの演算をスキップするか否かを決定すること、を更に含む請求項１９に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、主に自動運転車両の操作に関する。具体的に、本発明の実施形態は、複数のキューを利用してオブジェクトを追跡することに関する。
【背景技術】
【０００２】
自動運転モード（例えば、ドライバーレス）で走行している車両は、乗員、特に人間の運転手をいくつかの運転に関する役割から解放できる。自動運転モードで走行しているとき、車両は、車載センサを使用して様々な位置までにナビゲートされることが可能であり、最小限のヒューマンコンピュータインタラクションや乗客がいないなどの状況で走行することが可能となった。
【０００３】
自動運転の間に、車両は、例えば衝突を回避するために、電子メモリに追跡オブジェクトを保持することができる。オブジェクト（例えば、他の車両、大型の残骸、樹木と道路標識）は、速度、方向、加速度、配向、位置、自動運転車両（ＡＤＶ）からの距離、並びに、衝突を回避し得る走行計画を行うようにＡＤＶに支援可能な他の有益な情報を具備することができる。
【発明の概要】
【課題を解決しようとする課題】
【０００４】
オブジェクトのトレースを特定するために、ＡＤＶは過去と現在の画像／データフレーム、例えば車両周囲のオブジェクトの一連の画像又はビデオをキャプチャし、現在の画像フレームを処理して過去のフレーム又は前の追跡オブジェクトと比較することにより、現在のフレームにおけるオブジェクトと前の特定されたオブジェクトのトレースにマッチさせるようにする。ところが、ＡＤＶにおける従来の方法及びシステムでは、複数のキューに対して、協同させることなく、個別に処理したため、信頼できない傾向がある。
【図面の簡単な説明】
【０００５】
本発明の実施形態は、図面の各図において限定的ではなく例示的な形態で示され、図面における同じ図面符号が類似した素子を示す。
【図１】一実施形態に係るネットワークシステムを示すブロック図である。
【図２】一実施形態に係る自動運転車両の一例を示すブロック図である。
【図３Ａ】図３Ａは、一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。
【図３Ｂ】図３Ｂは、一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。
【図３Ｃ】図３Ｃは、一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。
【図４Ａ】図４Ａは、追跡オブジェクトを示す例である。
【図４Ｂ】図４Ｂは、追跡オブジェクトを示す例である。
【図５Ａ】図５Ａは、幾つかの実施形態に係るアフィニティーマトリックス（ａｆｆｉｎｉｔｙ  ｍａｔｒｉｃｅｓ）を示す例である。
【図５Ｂ】図５Ｂは、幾つかの実施形態に係るアフィニティーマトリックス（ａｆｆｉｎｉｔｙ  ｍａｔｒｉｃｅｓ）を示す例である。
【図５Ｃ】図５Ｃは、幾つかの実施形態に係るアフィニティーマトリックス（ａｆｆｉｎｉｔｙ  ｍａｔｒｉｃｅｓ）を示す例である。
【図５Ｄ】図５Ｄは、幾つかの実施形態に係るアフィニティーマトリックス（ａｆｆｉｎｉｔｙ  ｍａｔｒｉｃｅｓ）を示す例である。
【図６】一実施形態に係るオブジェクトを追跡するためのフローチャートの例示である。
【図７】一実施形態に係るカスケード接続追跡器のパイプラインの例である。
【図８】一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００６】
以下、説明の詳細を参照しながら本発明の様々な実施形態及び態様を説明し、前記様々な実施形態が図面に示される。以下の説明及び図面は、本発明を例示するためのものであり、限定するものとして解釈されるべきではない。本発明の様々な実施形態を全面的に理解するために、多くの特定の詳細を説明する。なお、本発明の実施形態を簡潔的に説明するように、周知又は従来技術の詳細について説明していない場合もある。
【０００７】
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に基づいて説明された特定の特徴、構造又は特性が本発明の少なくとも一実施形態に含まれてもよいと意味する。「一実施形態では」という表現は、本明細書の全体において全てが同一の実施形態を指すとは限らない。
【０００８】
幾つかの実施形態によれば、自動運転車両に用いられるオブジェクト追跡のコンピュータ実施方法であって、第１キューに基づいて、現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第１セットのアフィニティースコアを算出することと、第１セットのアフィニティースコアを利用して１セットのプログレッシブアフィニティースコアを補正することと、後続のキューに基づいて現在の検出オブジェクトと前の追跡オブジェクトとの間の１セットの後続のアフィニティースコアを算出することと、当該セットの後続のアフィニティースコアを利用して前記１セットのプログレッシブアフィニティースコアを補正することと、当該セットのプログレッシブアフィニティースコアに基づいて、現在の検出オブジェクトのうち一つ又は複数と前の追跡オブジェクトのうち一つ又は複数とを同一のオブジェクトとして関連付けて同一のオブジェクトの運動を追跡し、各アフィニティースコアは、現在の検出オブジェクトのうち何れか一つと前の追跡オブジェクトのうち何れか一つとの間の類似度の演算であることと、を含むコンピュータ実施方法が提供される。カスケード接続の実行段階（即ち、第１キューに基づいて第１セットのアフィニティースコアを算出し、そして１セットのプログレッシブアフィニティースコアを次のセットのアフィニティースコアの演算にフィードすること）により、前に算出されたアフィニティースコアに基づいてアフィニティースコアの演算をスキップするか否かを決定することが提供される。
【０００９】
一実施形態において、アフィニティースコアの演算をスキップするか否かを確定することは、前に算出されたアフィニティースコアに基づいて現在の検出オブジェクトのうち一つ又は複数と前の追跡オブジェクトのうち一つ又は複数との間の不可能なマッチを特定することと、後続のアフィニティースコアの演算を補正して不可能なマッチの演算をスキップすることを含んでも良い。置換的に又は付加的に、アフィニティースコアの演算をスキップするか否かを決定することは、前に算出されたアフィニティースコアに基づいて現在の検出オブジェクトのうち一つ又は複数と前の追跡オブジェクトのうち一つ又は複数との間の肯定的なマッチを特定することと、肯定的なマッチと確定された一つ又は複数の現在の検出オブジェクトと一つ又は複数の前の追跡オブジェクトの演算をスキップすることを含んでも良い。
【００１０】
図１は、本発明の一実施形態に係る自動運転車両のネットワーク構成を示すブロック図である。図１に示すように、ネットワーク構成１００は、ネットワーク１０２を介して一つ以上のサーバ１０３〜１０４に通信可能に接続される自動運転車両１０１を含む。一つの自動運転車両のみが示されているが、複数の自動運転車両が、ネットワーク１０２を介して、互いに接続され、及び／又はサーバ１０３〜１０４に接続されてもよい。ネットワーク１０２は、任意のタイプのネットワーク、例えば、有線又は無線のローカルエリアネットワーク（ＬＡＮ）、インターネットのようなワイドエリアネットワーク（ＷＡＮ）、セルラーネットワーク、衛星ネットワーク又はそれらの組み合わせであってもよい。サーバ１０３〜１０４は、如何なるタイプのサーバ又はサーバクラスタであってもよく、例えば、ネットワーク又はクラウドサーバ、アプリサーバ、バックエンドサーバ又はそれらの組み合わせが挙げられる。サーバ１０３〜１０４は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図及び関心地点（ＭＰＯＩ）サーバ、又は位置サーバなどであってもよい。
【００１１】
自動運転車両とは、自動運転モードになるように構成可能な車両を指し、前記自動運転モードにおいて、車両が運転手からの入力がほとんど又は全くない場合に環境を通過するようにナビゲートされる。このような自動運転車両は、車両動作環境に関連する情報を検出するように構成された一つ以上のセンサを有するセンサシステムを含んでもよい。前記車両及びその関連コントローラは、検出された情報を使用して前記環境を通過するようにナビゲートする。自動運転車両１０１は、手動モード、全自動運転モード、又は部分自動運転モードで動作することができる。
【００１２】
一実施形態では、自動運転車両１０１は、感知・計画システム１１０、車両制御システム１１１、無線通信システム１１２、ユーザインターフェースシステム１１３、及びセンサシステム１１５を含むが、それらに限定されない。自動運転車両１０１は更に、エンジン、車輪、ステアリングホイール、変速機などの従来の車両に含まれるいくつかの共通構成要素を含んでもよい。前記構成要素は、車両制御システム１１１及び／又は感知・計画システム１１０によって様々な通信信号及び／又は命令で制御されることができ、これらの様々な通信信号及び／又は命令は、例えば加速信号又は命令、減速信号又は命令、ステアリング信号又は命令、ブレーキ信号又は命令などを含む。
【００１３】
構成要素１１０〜１１５は、インターコネクト、バス、ネットワーク、又はこれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素１１０〜１１５は、コントローラエリアネットワーク（ＣＡＮ）バスを介して互いに通信可能に接続することができる。ＣＡＮバスは、ホストコンピュータなしのアプリケーションでマイクロコントローラ及びデバイスが相互に通信できるように設計された車両バス規格である。それは、もともと自動車内の多重電気配線のために設計されたメッセージに基づくプロトコルであるが、他の多くの環境にも用いられる。
【００１４】
ここで図２を参照すると、一実施形態では、センサシステム１１５は、一つ以上のカメラ２１１、全地球測位システム（ＧＰＳ）ユニット２１２、慣性計測ユニット（ＩＭＵ）２１３、レーダユニット２１４並びに光検出及び測距（ＬＩＤＡＲ）ユニット２１５を含むが、それらに限定されない。ＧＰＳユニット２１２は、自動運転車両の位置に関する情報を提供するように動作可能な送受信機を含んでもよい。ＩＭＵユニット２１３は、慣性加速度に基づいて自動運転車両の位置及び配向の変化を検知することができる。レーダユニット２１４は、無線信号を利用して自動運転車両のローカル環境内のオブジェクトを検知するシステムを表すことができる。いくつかの実施形態では、オブジェクトを検知することに加えて、レーダユニット２１４は、オブジェクトの速度及び／又は進行方向を更に検知することができる。ＬＩＤＡＲユニット２１５は、レーザを使用して自動運転車両の所在環境内のオブジェクトを検知することができる。ＬＩＤＡＲユニット２１５は、他のシステム構成要素のほかに、一つ以上のレーザ源、レーザスキャナ、及び一つ以上の検出器を更に含むことができる。カメラ２１１は、自動運転車両の周囲の環境における画像を取り込むための一つ以上の装置を含むことができる。カメラ２１１は、スチルカメラ及び／又はビデオカメラであってもよい。カメラは、例えば、回転及び／又は傾斜のプラットフォームにカメラを取り付けることによって、機械的に移動されてもよい。
【００１５】
センサシステム１１５は、ソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ（例えば、マイクロフォン）などの他のセンサを更に含むことができる。オーディオセンサは、自動運転車両の周囲の環境から音を取得するように構成されてもよい。ステアリングセンサは、ステアリングホイール、車両の車輪、又はそれらの組み合わせの操舵角を検知するように構成されてもよい。スロットルセンサ及びブレーキセンサそれぞれは、車両のスロットル位置及びブレーキ位置を検知する。場合によっては、スロットルセンサとブレーキセンサを統合型スロットル／ブレーキセンサとして一体化することができる。
【００１６】
一実施形態では、車両制御システム１１１は、ステアリングユニット２０１、スロットルユニット２０２（加速ユニットともいう）、及びブレーキユニット２０３を含むが、それらに限定されない。ステアリングユニット２０１は、車両の方向又は進行方向を調整するために用いられる。スロットルユニット２０２は、モータ又はエンジンの速度を制御するために用いられ、モータ又はエンジンの速度によって更に車両の速度及び加速度を制御する。ブレーキユニット２０３は、摩擦を与えることによって車両の車輪又はタイヤを減速させることで、車両を減速させる。なお、図２に示す構成要素は、ハードウェア、ソフトウェア、又はそれらの組み合わせで実現されることができる。
【００１７】
図１を再び参照して、無線通信システム１１２は、自動運転車両１０１と、装置、センサ、他の車両などの外部システムとの間の通信を可能にするものである。例えば、無線通信システム１１２は、直接又は通信ネットワークを介して一つ以上の装置と無線通信することができ、例えば、ネットワーク１０２を介してサーバ１０３〜１０４と通信することができる。無線通信システム１１２は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）を使用することができ、例えば、ＷｉＦｉを使用して別の構成要素又はシステムと通信することができる。無線通信システム１１２は、例えば、赤外線リンク、ブルートゥース（登録商標）などを使用して、装置（例えば、乗客のモバイルデバイス、表示装置、車両１０１内のスピーカ）と直接通信することができる。ユーザインターフェースシステム１１３は、車両１０１内に実現された周辺装置の部分（例えば、キーボード、タッチスクリーン表示装置、マイクロホン、及びスピーカなどを含む）であってもよい。
【００１８】
特に自動運転モードで動作しているときに、自動運転車両１０１の機能の一部又は全部は、感知・計画システム１１０によって制御又は管理することができる。感知・計画システム１１０は、必要なハードウェア（例えば、プロセッサ、メモリ、記憶装置）及びソフトウェア（例えば、オペレーティングシステム、計画及びルーティングプログラム）を備え、センサシステム１１５、制御システム１１１、無線通信システム１１２、及び／又はユーザインターフェースシステム１１３から情報を受信し、受信した情報を処理し、出発地から目的地までのルート又は経路を計画し、その後、計画・制御情報に基づいて車両１０１を運転する。あるいは、感知・計画システム１１０を車両制御システム１１１と統合することができる。
【００１９】
例えば、乗客としてのユーザは、例えば、ユーザインターフェースを介して、旅程の出発地位置及び目的地を指定することができる。感知・計画システム１１０は旅程関連データを取得する。例えば、感知・計画システム１１０は、ＭＰＯＩサーバから位置及びルート情報を取得することができ、前記ＭＰＯＩサーバはサーバ１０３〜１０４の一部であってもよい。位置サーバは位置サービスを提供し、ＭＰＯＩサーバは地図サービス及び特定の位置のＰＯＩを提供する。あるいは、そのような位置及びＭＰＯＩ情報は、感知・計画システム１１０の永続的記憶装置にローカルキャッシュされることが可能である。
【００２０】
自動運転車両１０１がルートに沿って移動するとき、感知・計画システム１１０は交通情報システム又はサーバ（ＴＩＳ）からリアルタイム交通情報を取得することもできる。なお、サーバ１０３〜１０４は第三者エンティティによって操作されることが可能である。あるいは、サーバ１０３〜１０４の機能は、感知・計画システム１１０と統合することができる。リアルタイム交通情報、ＭＰＯＩ情報、及び位置情報、並びにセンサシステム１１５によって検出又は検知されたリアルタイムローカル環境データ（例えば、障害物、オブジェクト、周辺車両）に基づいて、感知・計画システム１１０は、指定された目的地までに安全かつ効率的に到着するように、最適なルートを計画し、計画されたルートに従って、例えば、制御システム１１１によって車両１０１を運転する。
【００２１】
サーバー１０３は、様々なクライアントにデータ解析サービスを提供するデータ解析システムであってもよい。本発明の一実施形態において、データ解析システム１０３は、データコレクタ１２１及び機械学習エンジン１２２を備える。データコレクタ１２１は、様々な車両（自動運転車、又は操作者が運転する普通車両）から運転統計データ１２３を収集する。運転統計データ１２３は、発された運転命令（例えば、変速、ブレーキ、ステアリング命令等）を指示する情報や、車載センサーが異なる時点で採集した車両の応答（例えば、速度、加速度、減速度、方向等）を含む。運転統計データ１２３は、ルート（出発地位置と目的位置）、ＭＰＯＩ、天気状況、道路状況のような異なる時点の運転環境を記述する情報を含んでも良い。
【００２２】
機器学習エンジン１２２は、運転統計データ１２３に基づいて、各種の目的のためにルール、アルゴリズム及び／又は予測モデル１２４のセットを生成し又はトレーニングする。例えば、アルゴリズム１２４には、常に障害物を追跡するようにアフィニティースコアを算出するアルゴリズムが含まれる。その後、リアルタイムな自動運転を可能にするように、アルゴリズム１２４は、更にＡＤＶにアップロードされる可能である。
【００２３】
図３Ａ及び図３Ｂは、一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。システム３００は、図１の自動運転車両１０１の一部として実現することができ、感知・計画システム１１０、制御システム１１１、及びセンサシステム１１５を含むが、それらに限定されない。図３Ａ〜図３Ｂに示すように、感知・計画システム１１０は、測位モジュール３０１、感知モジュール３０２、予測モジュール３０３、決定モジュール３０４、計画モジュール３０５、制御モジュール３０６、ルーティングモジュール３０７を備えるが、これらに限定されない。
【００２４】
モジュール３０１〜３０７及び関連するサブコンポーネントのうち一部又は全部は、ソフトウェア、ハードウェア又はそれらの組み合わせで実現されてもよい。例えば、これらのモジュールは、永続的記憶装置３５２にインストールされ、メモリ３５１にロードされ、一つ以上のプロセッサ（図示せず）によって実行されることができる。なお、これらのモジュールの一部又は全部は、図２の車両制御システム１１１のモジュールの一部又は全部と通信可能に接続されるか、又は一体化されてもよい。モジュール３０１〜３０７のうち一部は、一体に集積モジュールとして集積可能である。
【００２５】
測位モジュール３０１は、自動運転車両３００の現在の位置（例えば、ＧＰＳユニット２１２を利用して）を特定し、ユーザの旅程又はルートに関連する如何なるデータを管理する。測位モジュール３０１（地図及びルートモジュールともいう）は、ユーザの旅程又はルートに関連する如何なるデータを管理する。ユーザは、例えば、ユーザインターフェースを介してログインして、旅程の出発地位置及び目的地を指定することができる。測位モジュール３０１は、自動運転車両３００の地図・ルート情報３１１のような他の構成要素と通信して、旅程関連データを取得する。例えば、測位モジュール３０１は、位置サーバ並びに地図及びＰＯＩ（ＭＰＯＩ）サーバから位置及びルート情報を取得することができる。位置サーバは位置サービスを提供し、ＭＰＯＩサーバは、地図サービス及び特定の位置のＰＯＩを提供し、地図・ルート情報３１１の一部としてキャッシュすることができる。自動運転車両３００がルートに沿って移動するとき、測位モジュール３０１は交通情報システム又はサーバからリアルタイム交通情報を得ることもできる。
【００２６】
感知モジュール３０２は、センサシステム１１５により提供されたセンサデータと、測位モジュール３０１により取得された測位情報とに基づいて、周囲環境への感知を特定する。感知情報は、一般的な運転手が運転手により運転されている車両の周囲で感知すべきものを表すことができる。感知は、例えばオブジェクトの形態を採用する車線構成（例えば、直進車線又はカーブ車線）、信号機信号、他の車両の相対位置、歩行者、建築物、横断歩道、又は他の交通関連標識（例えば、止まれ標識、ゆずれ標識）などを含んでもよい。
【００２７】
感知モジュール３０２は、一つ以上のカメラによって取り込まれた画像を処理及び解析して、自動運転車両の環境内のオブジェクト及び／又は特徴を認識するためのコンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。前記オブジェクトは、交通信号、道路境界、他の車両、歩行者及び／又は障害物などを含むことができる。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキング、及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図を描き、オブジェクトを追跡し、オブジェクトの速度などを推定することができる。感知モジュール３０２は、レーダ及び／又はＬＩＤＡＲのような他のセンサによって提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
【００２８】
各オブジェクトについて、予測モジュール３０３は、その環境ではオブジェクトがどのように挙動するかを予測する。予測とは、地図・ルート情報３１１と交通ルール３１２のセットを考慮して、当該時点における運転環境を感知する感知データに基づいて実行される。例えば、オブジェクトが反対方向の車両であり、かつ現在の運転環境が交差点を含む場合に、予測モジュール３０３は、車両が直進するか、又は旋回するかを予測する。感知データが、交差点に信号機がないことを示す場合、予測モジュール３０３は、交差点に入る前に車両が完全に停止する必要があると予測する可能性がある。感知データが、車両が現在左折専用車線又は右折専用車線にあることを示す場合、予測モジュール３０３は、車両がそれぞれ左折又は右折する可能性がより高いと予測することができる。
【００２９】
それぞれのオブジェクトに対して、決定モジュール３０４はオブジェクトをどのように処理するかを決定する。例えば、特定のオブジェクト（例えば、交差のルートにおける他の車両）及びオブジェクトを記述するメタデータ（例えば、速度、方向、操舵角）について、決定モジュール３０４は前記オブジェクトと遇うときに如何に対応するか（例えば、追い越し、道譲り、停止、追い抜き）を決定する。決定モジュール３０４は、交通ルール又は運転ルール３１２のようなルールセットに基づいてそのような決定を行うことができ、前記ルールセットは永続的記憶装置３５２に記憶することができる。
【００３０】
ルーティングモジュール３０７は、出発地から目的地までの一つ以上のルート又は経路を提供するように構成される。ルーティングモジュール３０７は、出発地位置から目的地位置までの所与の行程（例えば、ユーザから受信された所与の旅程）について、地図・ルート情報３１１を取得し、出発地位置から目的地位置までのすべての可能なルート又は経路を決定する。ルーティングモジュール３０７は、出発地位置から目的地位置までの各ルートを決定する地形図の形の基準線を生成することができる。基準線とは、他の車両、障害物、又は交通状況などからの如何なる干渉を受けていない理想的なルート又は経路を指す。つまり、道路に他の車両、歩行者又は障害物がない場合、ＡＤＶは基準線に精確的に又は密接的に従うべきである。そして、地形図を決定モジュール３０４及び／又は計画モジュール３０５に提供する。決定モジュール３０４及び／又は計画モジュール３０５は、他のモジュールにより提供された他のデータ（例えば測位モジュール３０１からの交通状况、感知モジュール３０２により感知された運転環境及び予測モジュール３０３により予測された交通状况）に応じて、全ての走行可能なルートを検査して最適ルートのうちの一つを選択及び補正する。特定時点における特定の運転環境に応じて、ＡＤＶを制御するための実際の経路又はルートは、ルーティングモジュール３０７によって提供される基準線に近いか又は異なっていてもよい。
【００３１】
感知されたオブジェクトのそれぞれに対する決定に基づいて、計画モジュール３０５は、ルーティングモジュール３０７によって提供される基準線をベースとし、自動運転車両に対して経路又はルート並びに運転パラメータ（例えば、距離、速度及び／又は操舵角）を計画する。言い換えれば、特定のオブジェクトについて、決定モジュール３０４は当該オブジェクトに対して何をするかを決定し、計画モジュール３０５はどのようにするかを決定する。例えば、特定のオブジェクトについて、決定モジュール３０４は前記オブジェクトを追い抜くかを決定することができ、計画モジュール３０５は前記オブジェクトを左側から追い抜くか又は右側から追い抜くかを決定することができる。計画・制御データは、計画モジュール３０５により生成され、車両３００が次の移動周期（例えば、次のルート／経路区間）にはどのように移動するかを記述する情報を含む。例えば、計画・制御データは、車両３００に時速３０マイル（ｍｐｈ）で１０ｍ移動し、次に２５マイル（ｍｐｈ）で右車線に変更するように指示することができる。
【００３２】
制御モジュール３０６は、計画・制御データに基づいて、計画・制御データにより限定されたルート又は経路に応じて適当な命令又は信号を車両制御システム１１１に送信することにより自動運転車両を制御及び運転する。前記計画・制御データは、経路又はルートに沿って異なる時点で適切な車両配置又は運転パラメータ（例えば、スロットル、ブレーキ、及びステアリング命令）を使用して、車両をルート又は経路の第１の点から第２の点まで運転するのに十分な情報を含む。
【００３３】
一実施形態では、計画段階は、例えば、時間間隔が１００ミリ秒（ｍｓ）の周期など、複数の計画周期（命令周期ともいう）で実行される。計画周期又は命令周期のそれぞれについて、計画・制御データに基づいて一つ以上の制御命令を発する。すなわち、１００ｍｓごとに、計画モジュール３０５は、次のルート区間又は経路区間（例えば、オブジェクト位置及びＡＤＶがオブジェクト位置に到着するのに必要な時間が含まれる）を計画する。あるいは、計画モジュール３０５は、具体的な速度、方向、及び／又は操舵角などを更に指定することができる。一実施形態では、計画モジュール３０５は、次の所定期間（例えば、５秒）のルート区間又は経路区間を計画する。計画周期のそれぞれに対し、計画モジュール３０５は、前の周期で計画されたオブジェクト位置に基づいて、現在の周期（例えば、次の５秒）のためのオブジェクト位置を計画する。次に、制御モジュール３０６は、現在の周期の計画・制御データに基づいて、一つ以上の制御命令（例えば、スロットル、ブレーキ、ステアリング制御命令）を生成する。
【００３４】
なお、決定モジュール３０４及び計画モジュール３０５は、集積モジュールとして一体化されてもよい。決定モジュール３０４／計画モジュール３０５は、自動運転車両の走行経路を決定するためのナビゲーションシステム又はナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、自動運転車両の以下の経路に沿った移動を達成するための一連の速度及び進行方向を決定することができる。前記経路では、自動運転車両が最終的な目的地に通じる走行車線ベースの経路に沿って前進するとともに、感知した障害物を実質的に回避できる。目的地は、ユーザインターフェースシステム１１３を介したユーザ入力に従って設定することができる。ナビゲーションシステムは、自動運転車両が走行している間に走行経路を動的に更新することができる。ナビゲーションシステムは、自動運転車両のための走行経路を決定するために、ＧＰＳシステム及び一つ以上の地図からのデータを取り入れることができる。
【００３５】
決定モジュール３０４／計画モジュール３０５は、更に、自動運転車両の環境における潜在的な障害物を認識、評価、回避又は他の方法で通過するための衝突防止システム又は衝突防止システムの機能を含むことができる。例えば、衝突防止システムは、制御システム１１１の一つ以上のサブシステムを動作させて、方向変更動作、旋回動作、ブレーキ動作などを行うことによって、自動運転車両のナビゲーション中の変更を実現することができる。衝突防止システムは、周囲の交通パターンや道路状況などに基づいて、実行可能な障害物回避動作を自動的に決定することができる。衝突防止システムは、他のセンサシステムが、自動運転車両が方向変更して進入しようとする隣接領域における車両、建築障害物などを検出したときに、方向変更動作を行わないように構成されることができる。衝突防止システムは、自動運転車両の乗員の安全性を最大限にするとともに、利用可能な動作を自動的に選択することができる。衝突防止システムは、自動運転車両の客室内に最も少ない加速度を発生させると予測される回避動作を選択することができる。
【００３６】
図３Ｃは、アフィニティースコア算出部３２１とアフィニティーマトリックスマネージャ３２２を備える感知モジュール３０２のサブコンポーネントを示した。一実施形態において、アフィニティースコア算出部３２１は、特定のキューから抽出された１セットの特徴に基づいて現在の周期において検出された特定のオブジェクトのアフィニティースコアを算出するように配置される。アフィニティーマトリックスマネージャ３２２は、例えば、アフィニティースコアをアフィニティーマトリックスに記憶されている既存のスコアと合併し又は統合すること（例えば、所定公式の乗算、加算、減算）により、ある段階又はキューから他の段階又はキューに引き出されたアフィニティーマトリックスを更新するように配置される。アフィニティーマトリックスは、一つのキューに対応する処理段階から他のキューに対応する次の処理段階に伝わる。異なる周期における同一オブジェクトのキューから抽出された特徴が類似である場合に、それらに対応するアフィニティースコアがより高くなり、且つアフィニティーマトリックスに記憶される結合アフィニティースコアがより高くなる。アフィニティーマトリックスが持っている高いアフィニティースコアは、現在の検出オブジェクトと前の検出オブジェクトとが同一又は類似する確率がより高いと示す。従って、アフィニティースコアは、二つの異なる周期（例えば、計画周期）において検出された二つのオブジェクトの間の類似性を示す。
【００３７】
複数のキューを利用してオブジェクトを追跡することについて、図４Ａと図４Ｂを参照して当該概念を説明する。ＡＤＶの感知モジュールは、２Ｄ画像ブロック、２Ｄ形状、２Ｄボックス、３Ｄ情報、タイプ、ディープランニングされたＲＯＩ類似性、オプティカルフロー、ヒストグラム又は機器学習又は設計による特定の特徴を含む各種のキューに基づいてオブジェクトを追跡可能である。各キューに対する処理を実行して現在の検出オブジェクトと前の追跡オブジェクトとの間の類似度又はアフィニティーを特定する。前の追跡オブジェクトはコンピュータのメモリに保持され、且つ新たなデータフレームに対する処理により更新される。新たなデータフレームは、例えば２Ｄ画像として生成可能である。
【００３８】
例えば、図４Ａは前に算出されたフレームからの追跡オブジェクトを示した。システムは、ＡＤＶに対する関心領域（例えば、ＡＤＶの前の領域）に位置していると検知されたオブジェクトの追跡データを保持する。図４Ａにおいて、オブジェクト／車両４０２、オブジェクト／車両４０４及びオブジェクト／樹木４０６がＡＤＶに対する関心領域に位置する例示を示した。
【００３９】
ＡＤＶは、これらオブジェクトのトレース（トレースは例えばサイズ、速度、方向、位置、ＡＤＶまでの距離、操舵角、加速度と配向が含んでも良い）を保持して、ＡＤＶに運転決定を通知し衝突を回避させることができる。オブジェクトのトレースをリアルタイムに保持し更新するために、現在のフレームを処理し、且つ現在のフレームに検出されたオブジェクトと前の追跡オブジェクトとをマッチングする。
【００４０】
例えば、図４Ｂは、後続のフレームを示した。そのうち、車両４０２、車両４０４と樹木４０６は、やや大きくなったため、既に近づいているように見えた。また、新たなオブジェクト／車両４０８が当該フレームに入った。現在のフレームのオブジェクトと前の追跡オブジェクトとのマッチングが人間にとって非常に容易であるが、コンピュータにとって確実ではない。コンピュータのマッチング能力を向上させるために、フレームのそれぞれに対して複数のキューを処理することにより、検出されたオブジェクトのそれぞれに対して、前の追跡オブジェクトとマッチングする。この場合に、ＡＤＶシステムは、新たに検出された全てのオブジェクトと前の追跡オブジェクトとをマッチングし、且つ追跡情報を更新することを試す。また、ＡＤＶシステムは、新たなオブジェクト／車両４０８が関心領域に入っていると確定し、オブジェクト／車両４０８に基づいて新たなトレースを作成することができる。
【００４１】
図６を参照する。ＡＤＶ（感知モジュール３０２）は、操作６０２において最新の画像／フレームと対応する検出とを受信し、操作６０４においてカスケード接続追跡器のパイプラインにおいて最新の画像／フレームと検出を処理することができる。カスケード接続追跡器のパイプラインにおいて全てのキューが処理されると、感知モジュール３０２は、操作６０６においてカスケード接続追跡器のパイプラインに受信された最終的な１セットのアフィニティーの演算に対して組み合わせのアルゴリズム、例えば、ハンガリー（Ｈｕｎｇａｒｉａｎ）方法を実行することができる。操作６０６において、ハンガリー方法は、現在のフレームからの現在の検出オブジェクトとトレースとの間の最終的な関係／関連を出力する。ハンガリー方法は、多項式の時間に関する割り当ての問題を解決するための組み合わせの最適化アルゴリズムである。当該例示において、ハンガリー方法は、現在に検出されたオブジェクトを前に検出されたオブジェクトに割り当て、その逆も同じである。これにより、それらが互いに相関する（例えば、類似し又は同じである）と考えられることになる。
【００４２】
例えば、図４Ａと図４Ｂを再び参照すると、新たに検出されたオブジェクト４０２、オブジェクト４０４とオブジェクト４０６は、それぞれトレース４０２、トレース４０４とトレース４０６に関連付けられる。新たに検出されたオブジェクト４０８は、既存のトレースの何れもと関連付けられない。そして操作６０８において、追跡器とＩＤマネジャーデバイスは、オブジェクト４０８に対して新たなトレースを作成しトレース４０２、トレース４０４とトレース４０６を更新することにより、操作６２０においてトレースＩＤのマップを検出したとの出力を形成して、ＡＤＶに運転決定を行うように提供することができる。その後に、操作６１０において更新されたトレースを前のトレースとして使用することにより、次のフレームを同じように処理する。
【００４３】
ここで図７を参照する。カスケード追跡器のパイプライン６０４には、複数の部分が備えられても良い。例えば、操作７０２において、システムは第１キューに基づいて現在のフレームの現在の検出オブジェクトと前のフレームの前の追跡オブジェクトとの間の第１セットのアフィニティースコアを算出することができる。アフィニティースコアは、例えば、アフィニティーマトリックス３１３の一部として、永続的記憶装置に記憶することができる。アフィニティースコア算出部３２１は、特定のアフィニティーの採点アルゴリズムを使用して特定のキューのアフィニティースコアを算出するように配置される。キュー毎に異なる採点アルゴリズムを具備することができる。
【００４４】
一実施形態において、１セットの所定のキュー（例えば、３Ｄ位置、２Ｄ画像ブロック、２Ｄボックス、ＲＯＩ特徴など）のそれぞれについて、オブジェクトをキャプチャした画像から１セットの特徴を抽出する。そして対応するキューの抽出特徴に基づいてアフィニティースコアを算出する。
【００４５】
続いて、システムは、操作７０４において第１セットのアフィニティースコアを利用して１セットのプログレッシブアフィニティースコアを補正することができる。アフィニティーマトリックスにおいて、アフィニティースコアは補正され保持可能である。例えば、図５Ａを参照し、アフィニティーマトリックスにおいてｍ行とｎ列を有することができる。それぞれの行は追跡オブジェクト（Ｔ１、Ｔ２とＴ３）を示し、それぞれの列は現在のフレームにおいて検出されたオブジェクト（Ｄ１、Ｄ２、Ｄ３とＤ４）を示す。アフィニティーマトリックス（ａ１１、ａ１２．．．．．．ａ３４）における各要素は、検出オブジェクトのうちの何れか一つと追跡オブジェクトのうちの何れか一つとの間の類似性に対応する。従って、アフィニティーマトリックスには、アフィニティースコアの履歴からのアフィニティースコアが積算された。
【００４６】
図７に戻して参照すると、操作７０６において、システムは後続のキューに基づいて現在のフレームの現在の検出オブジェクトと前の追跡オブジェクトとの間の後続の１セットのアフィニティースコアを算出することができる。有利で且つ有益な面として、後続のキューのそれぞれの演算又は１セットの演算について、システムは前に算出されたアフィニティースコアに基づいてアフィニティースコアの演算をスキップするか否かを決定することができる。
【００４７】
例えば、システムは、前に算出されたアフィニティースコア（例えば、前の段階／キューから与えられた）に基づいて現在の検出オブジェクトのうちの一つ又は複数と前の追跡オブジェクトのうちの一つ又は複数との間の不可能なマッチを特定し、そして、後続のアフィニティースコアの演算を補正して不可能なマッチの演算をスキップすることができる。その代わりに、現在の検出オブジェクトと前の検出オブジェクトとの間の差異が所定の閾値を超えた場合に、この二つのオブジェクトが同一のオブジェクトである可能性が低い。従って、この二つのオブジェクトの間のアフィニティースコアの後続の演算をスキップしてリソースの消費を低減することができる。同様に、アフィニティーマトリックスにおける二つのオブジェクトの間のアフィニティースコアが所定の閾値よりも高い場合に、これらオブジェクトが同一のオブジェクトである可能性が高い。従って、後続の演算をスキップしても良い。アフィニティースコアを算出する目的は、二つのオブジェクトが同一のオブジェクトであるか否かを判定することにある。積算されたアフィニティースコアに基づいて、特定のオブジェクトのペアが同一のオブジェクトであるか、若しくは同一のオブジェクトである可能性がないことが既に確定された場合、更なるアフィニティースコアの演算を実行する必要がない。
【００４８】
同様に、システムは前に算出されたアフィニティースコア（例えば、前の段階／キューから与えられた）に基づいて現在の検出オブジェクトのうちの一つ又は複数と前の追跡オブジェクトのうちの一つ又は複数との間の肯定的なマッチを特定し、そして、肯定的なマッチと確定された一つ又は複数の現在の検出オブジェクトと一つ又は複数の前の追跡オブジェクトの演算をスキップすることができる。肯定的なマッチに可能性の非常に高いマッチが含まれても良く、且つ例えばアフィニティースコアが閾値を超えた場合に確定されても良い。同様に、否定的又は不可能なマッチに非常に不可能なマッチが含まれても良く、且つ例えば閾値を超えた場合、或いは閾値以下である場合に確定されても良い。当業者は通常の試験に基づいて閾値を確定することができる。
【００４９】
ここで図５Ｂと図５Ｃを参照する。図５Ｂと図５Ｃは、更なる説明のための例示を示した。なお、Ｄ４とＴ３に対するアフィニティースコアは、．０１として算出された。システムは、．０１の最低値に基づいてＤ４がＴ３とマッチできないと確定することができる。システムは後続の段階においてＤ４とＴ３の間のアフィニティーの演算をスキップすることができる。従って、図５Ｃにおいて、（例えば、前の段階からのアフィニティーの演算に基づいて）不可能なマッチと確定したため、システムはＤ４／Ｔ３のアフィニティースコアを算出していない（ダッシュとして表示される）。これにより、リソースが節約される。
【００５０】
同様に、図５ＢはＤ１とＴ１の間の．９９の高アフィニティーを示した。従って、後続の段階において、Ｄ１とＴ１に関する全ての組み合わせのアフィニティーの演算をスキップすることができるため、貴重なリソースが節約される。
【００５１】
ところが、図５Ｂ〜図５Ｃは、各種の概念を説明するための仮定のアフィニティーマトリックスに過ぎず、実施形態、専門語及び値により本文により提供された開示内容が制限されない。例えば、図５Ｄはこのような実施形態を示した。なお、Ｄ１とＴ１の高確率が既に算出された場合に、アフィニティーマトリックスにおいて対応するアフィニティースコアが１にし、Ｄ１とＴ１に関わる全ての他の組み合わせが０にしても良い。後続の段階が実行される時、システムは０又は１にした任意の値をスキップすることができる。これは一種の技術に過ぎないが、異なるが等価である手段（例えばフラグを設置するか、或いは当業者に実施可能な他の技術）により演算をスキップするタスクを実行することもできる。同様に、演算値が０〜１の範囲内にあることが示されているが、他の実施形態において異なる範囲内にあることが可能であり、互いに標準化され、又は特定なアプリケーションに対して標準化される。
【００５２】
続いて、操作７０８において、システムは後続の１セットのアフィニティースコアを利用して１セットのプログレッシブアフィニティースコアを補正することができる。例えば、システムは、プログレッシブアフィニティースコアのそれぞれに対して、対応して算出されるアフィニティースコアを掛けることができる（対応する後続のキューに基づく）。
【００５３】
説明のために、最初にアフィニティーマトリックスを生成し、各行列要素における値が１であると仮定する。第１キューに基づいて第１セットのアフィニティースコアを算出し、そしてアフィニティースコアのそれぞれに対して、アフィニティーマトリックスに保持されているプログレッシブアフィニティースコアにおける対応要素を掛けると仮定する。第１の場合では、第１セットのアフィニティースコアのそれぞれに１を掛けて、図５Ｂにおけるプログレッシブアフィニティースコアを得る。また、その正確度又は動的な条件に基づいて異なるキューに異なる重みを割当てることができる。
【００５４】
続いて、第２セットのアフィニティースコア（図５Ｃに示されたように）を算出して、更にプログレッシブアフィニティースコアに掛けて図５Ｄに示された更新／補正された１セットのプログレッシブアフィニティースコアを得る。図７に戻して参照すると、全てのキューが既に処理された場合に（全ての段階が実行された場合に）、プログレッシブアフィニティースコアは、最終的な１セットのプログレッシブアフィニティースコアを示すことができる。より多くのキューを処理しようとする場合に、付加的なキュー／段階のそれぞれに対して操作７０６と操作７０８を繰り返しても良い。
【００５５】
続いて、操作７１０において、システムは、現在のフレームの現在の検出オブジェクトのうちの一つ又は複数と前のフレームの前の追跡オブジェクトのうちの一つ又は複数とを同一のオブジェクトとして関連付けることができる。例えば、システムは、最終的な１セットのプログレッシブスコアを使用して現在の検出オブジェクトのうち何れが既存のトレース（即ち、前の追跡オブジェクト）にマッチしたかを確定する。システムは、最終的な１セットのプログレッシブスコアに対して組み合わせの最適化アルゴリズム、例えばハンガリー方法を実行することができる。これにより、現在の検出オブジェクトと前の追跡オブジェクトとの間の最終的な関連又は割当てが形成される。
【００５６】
そして、システムは、現在の検出オブジェクトからの情報を利用して前の追跡オブジェクト又はトレース（例えば位置、ＡＤＶまでの距離、速度、方向と加速度を含む）を更新することができる。その後に、システムは、更新されたトレースを利用して上記のようなカスケード接続方式で複数のキューを有する新たなフレームを処理することができる。
【００５７】
一実施形態において、キューの正確度に基づいてキュー処理又は段階の順序を決定することができる。例えば、高い正確度を有するキューに対して、低い正確度を有するキューの前に算出する。異なるキューの正確度は、通常の試験により確定可能である。有利な面として、システムは、最初に最も正確なキューを実行することにより、早めに肯定的又は否定的な（不可能な）マッチに対して最も正確に特定することができるため、早めに演算を正確にスキップすることができる。
【００５８】
他の実施形態において、キュー処理の速度に基づいてキュー処理又は段階の順序を決定することができる。なお、処理時間の短いキューに対して、処理時間の長いキューの前に算出する。キュー処理の速度は、通常の試験又は監視により確定可能である。有利な面として、システムは、最も速い段階を最初に実行することにより、最も速い方式で肯定的又は否定的な（不可能な）マッチを速めに特定することができるため、最も早い段階で演算をスキップすることができる。
【００５９】
なお、以上に例示及び説明された構成要素の一部又は全ては、ソフトウェア、ハードウェア、又はそれらの組み合わせで実現されることが可能である。例えば、このような構成要素は、永続的記憶装置にインストールされるとともに記憶されるソフトウェアとして実現されてもよく、前記ソフトウェアは、本願にわたって記載されたプロセス又は動作を実現するように、プロセッサ（図示せず）によってメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路（例えば、特定用途向け集積回路又はＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）、又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）のような専用ハードウェアにプログラミング又は埋め込まれた実行可能なコードとして実現されてもよく、前記実行可能なコードは、アプリケーションからの対応するドライバー及び／又はオペレーティングシステムを介してアクセスすることができる。また、このような構成要素は、ソフトウェア構成要素が一つ以上の特定の命令によってアクセス可能な命令セットの一部として、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実現されることができる。
【００６０】
図８は本発明の一実施形態と共に使用可能なデータ処理システムの一例を示すブロック図である。例えば、システム１５００は、前記プロセス又は方法のいずれかを実行する前記データ処理システムのいずれか（例えば、図１の感知・計画システム１１０、又はサーバ１０３〜１０４のいずれか）を表すことができる。システム１５００は、いくつかの異なる構成要素を含んでもよい。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、ディスクリート型電子デバイス、又は回路基板（例えば、コンピュータシステムのマザーボード若しくはアドインカード）に適するその他のモジュールとして実現されることが可能であり、又は、他の形態でコンピュータシステムのシャーシ内に組み込まれる構成要素として実現されることが可能である
【００６１】
なお、システム１５００は、コンピュータシステムのいくつかの構成要素の高レベルビューを示すことを意図している。しかしながら、特定の実施例において付加的構成要素が存在してもよく、また、その他の実施例において示された構成要素を異なる配置にすることが可能であると理解すべきである。システム１５００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレヤー、パーソナルデジタルアシスタント（ＰＤＡ）、スマートウォッチ、パーソナルコミュニケーター、ゲーム装置、ネットワークルーター又はハブ、無線アクセスポイント（ＡＰ）又はリピーター、セット・トップボックス、又はそれらの組み合わせを表すことができる。また、単一の機械又はシステムのみが示されたが、「機械」又は「システム」という用語は、本明細書で説明されるいずれか一種以上の方法を実現するための、単独で又は共同で一つ（又は複数）の命令セットを実行する機械又はシステムのいずれかの組み合わせも含まれると解釈されるべきである。
【００６２】
一実施形態では、システム１５００は、バス又はインターコネクト１５１０を介して接続される、プロセッサ１５０１と、メモリ１５０３と、装置１５０５〜１５０８とを含む。プロセッサ１５０１は、単一のプロセッサコア又は複数のプロセッサコアが含まれる単一のプロセッサ又は複数のプロセッサを表すことができる。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）などのような、一つ以上の汎用プロセッサを表すことができる。より具体的には、プロセッサ１５０１は、複雑命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、又はその他の命令セットを実行するプロセッサ、又は命令セットの組み合わせを実行するプロセッサであってもよい。プロセッサ１５０１は更に、例えば、特定用途向け集積回路（ＡＳＩＣ）、セルラー又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組込みプロセッサ、又は命令を処理可能な任意の他のタイプのロジックのような、一つ以上の専用プロセッサであってもよい。
【００６３】
プロセッサ１５０１は、超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよく、前記システムの様々な構成要素と通信するための主処理ユニット及び中央ハブとして機能することができる。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実現されることができる。プロセッサ１５０１は、本明細書で説明される動作及びステップを実行するための命令を実行するように構成される。システム１５００は、更に所望によるグラフィックサブシステム１５０４と通信するグラフィックインターフェースを含むことができ、グラフィックサブシステム１５０４は、表示コントローラ、グラフィックプロセッサ、及び／又は表示装置を含むことができる。
【００６４】
プロセッサ１５０１は、メモリ１５０３と通信することができ、メモリ１５０３は、一実施形態では、所定量のシステムメモリを提供するための複数のメモリ装置によって実現されることができる。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、又はその他のタイプの記憶装置のような、一つ以上の揮発性記憶（又はメモリ）装置を含むことができる。メモリ１５０３は、プロセッサ１５０１又はその他の任意の装置により実行される命令シーケンスを含む情報を記憶することができる。例えば、様々なオペレーティングシステム、デバイスドライバ、ファームウェア（例えば、ベーシックインプット／アウトプットシステム又はＢＩＯＳ）、及び／又はアプリケーションの実行可能なコード及び／又はデータは、メモリ１５０３にロードされ、プロセッサ１５０１により実行されることができる。オペレーティングシステムは、例えば、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）社のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、アップル社のＭａｃＯＳ（登録商標）／ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）社のＡｎｄｒｏｉｄ（登録商標）、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、又はその他のリアルタイム若しくは組込みオペレーティングシステムのような、任意のタイプのオペレーティングシステムであってもよい。
【００６５】
システム１５００は、更に、ネットワークインターフェース装置１５０５、所望による入力装置１５０６、及びその他の所望によるＩ／Ｏ装置１５０７を含む装置１５０５〜１５０８のようなＩ／Ｏ装置を含むことができる。ネットワークインターフェース装置１５０５は、無線送受信機及び／又はネットワークインターフェースカード（ＮＩＣ）を含むことができる。前記無線送受信機は、ＷｉＦｉ送受信機、赤外線送受信機、ブルートゥース送受信機、ＷｉＭａｘ送受信機、無線携帯電話送受信機、衛星送受信機（例えば、全地球測位システム（ＧＰＳ）送受信機）、又はその他の無線周波数（ＲＦ）送受信機、又はそれらの組み合わせであってもよい。ＮＩＣは、イーサネット（登録商標）カードであってもよい。
【００６６】
入力装置１５０６は、マウス、タッチパネル、タッチスクリーン（表示装置１５０４と統合されてもよい）、ポインター装置（例えば、スタイラス）、及び／又はキーボード（例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード）を含むことができる。例えば、入力装置１５０６は、タッチスクリーンと接続するタッチスクリーンコントローラを含むことができる。タッチスクリーン及びタッチスクリーンコントローラは、例えば、様々なタッチ感応技術（コンデンサ、抵抗、赤外線、及び表面弾性波の技術を含むが、それらに限定されない）のいずれか、並びにその他の近接センサアレイ、又は、タッチスクリーンと接触する一つ以上の点を決定するためのその他の素子を用いて、それらの接触及び移動又は間欠を検出することができる。
【００６７】
ＩＩ／Ｏ装置１５０７は、音声装置を含むことができる。音声装置は、音声認識、音声複製、デジタル記録、及び／又は電話機能のような音声サポート機能を促進するために、スピーカ及び／又はマイクロフォンを含んでもよい。その他のＩ／Ｏ装置１５０７は、更に、ユニバーサルシリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計のようなモーションセンサ、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサなど）、又はそれらの組み合わせを含むことができる。装置１５０７は、更に結像処理サブシステム（例えば、カメラ）を含むことができ、前記結像処理サブシステムは、写真及びビデオ断片の記録のようなカメラ機能を促進するための、電荷結合素子（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）光学センサのような光学センサを含むことができる。特定のセンサは、センサハブ（図示せず）を介してインターコネクト１５１０に接続されることができ、キーボード又はサーマルセンサのようなその他の装置はシステム１５００の具体的な配置又は設計により、組込みコントローラ（図示せず）により制御されることができる。
【００６８】
データ、アプリケーション、一つ以上のオペレーティングシステムなどの情報の永続的記憶を提供するために、プロセッサ１５０１には、大容量記憶装置（図示せず）が接続されることができる。様々な実施形態において、より薄くてより軽量なシステム設計を可能にしながら、システムの応答性を向上するために、このような大容量記憶装置は、ソリッドステート装置（ＳＳＤ）によって実現されることができる。しかしながら、その他の実施形態において、大容量記憶装置は、主にハードディスクドライブ（ＨＤＤ）を使用して実現することができ、より小さい容量のＳＳＤ記憶装置をＳＳＤキャッシュとして機能することで、停電イベントの間にコンテキスト状態及び他のそのような情報の不揮発性記憶を可能にし、それによりシステム動作が再開するときに通電を速く実現することができる。また、フラッシュデバイスは、例えば、シリアルペリフェラルインターフェース（ＳＰＩ）を介してプロセッサ１５０１に接続されることができる。このようなフラッシュデバイスは、前記システムのＢＩＯＳ及びその他のファームウェアを含むシステムソフトウェアの不揮発性記憶のために機能することができる。
【００６９】
記憶装置１５０８は、コンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体又はコンピュータ可読記憶媒体ともいう）を含むことができ、前記コンピュータアクセス可能な記憶媒体１５０９には、本明細書で記載されたいずれか一種以上の方法又は機能を具現化する一つ以上の命令セット又はソフトウェア（例えば、モジュール、ユニット、及び／又はロジック１５２８）が記憶されている。処理モジュール／ユニット／ロジック１５２８は、前記部品のうちの何れか一つ、例えば計画モジュール３０５、制御モジュール３０６、感知モジュール３０２及び関連するサブコンポーネントを示すことができる。処理モジュール／ユニット／ロジック１５２８は、更に、データ処理システム１５００、メモリ１５０３、及びプロセッサ１５０１による実行中に、メモリ１５０３内及び／又はプロセッサ１５０１内に完全的に又は少なくとも部分的に存在してもよく、データ処理システム１５００、メモリ１５０３、及びプロセッサ１５０１も機械アクセス可能な記憶媒体を構成する。処理モジュール／ユニット／ロジック１５２８は、更に、ネットワークによってネットワークインターフェース装置１５０５を経由して送受信されてもよい。
【００７０】
コンピュータ可読記憶媒体１５０９は、以上に説明されたいくつかのソフトウェア機能を永続的に記憶するために用いることができる。コンピュータ可読記憶媒体１５０９は、例示的な実施形態において単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、前記一つ以上の命令セットが記憶される単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース、及び／又は関連するキャッシュとサーバ）を含むと解釈されるものとする。「コンピュータ可読記憶媒体」という用語は、更に、命令セットを記憶又は符号化できる任意の媒体を含むと解釈されるものであり、前記命令セットは機械により実行され、本発明のいずれか一種以上の方法を前記機械に実行させるためのものである。それゆえに、「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、光学媒体及び磁気媒体、又はその他の任意の非一時的な機械可読媒体を含むが、それらに限定されないと解釈されるものとする。
【００７１】
本明細書に記載の処理モジュール／ユニット／ロジック１５２８、構成要素及びその他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素（例えば、ＡＳＩＣＳ、ＦＰＧＡ、ＤＳＰ又は類似の装置）の機能に統合されてもよい。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置におけるファームウェア又は機能性回路として実現されてもよい。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置とソフトウェア構成要素の任意の組み合わせで実現されてもよい。
【００７２】
なお、システム１５００は、データ処理システムの様々な構成要素を有するものとして示されているが、構成要素を相互接続する任意の特定のアーキテクチャ又は方式を表すことを意図するものではなく、そのような詳細は、本発明の実施形態と密接な関係がない。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ、及び／又はその他のデータ処理システムも、本発明の実施形態と共に使用することができることを理解されたい。
【００７３】
前記具体的な説明の一部は、既に、コンピュータメモリにおけるデータビットに対する演算のアルゴリズムと記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。本明細書では、一般的に、アルゴリズムは、所望の結果につながるセルフコンシステントシーケンスと考えられる。これらの動作は、物理量の物理的処置が必要なものである。
【００７４】
しかしながら、念頭に置くべきなのは、これらの用語及び類似の用語の全ては、適切な物理量に関連付けられるものであり、これらの量を標識しやすくするためのものに過ぎない。以上の説明で他に明示的に記載されていない限り、本明細書の全体にわたって理解すべきなのは、用語（例えば、添付された特許請求の範囲に記載のもの）による説明とは、コンピュータシステム、又は類似の電子式計算装置の動作又はプロセスを指し、前記コンピュータシステム又は電子式計算装置は、コンピュータシステムのレジスタ及びメモリにおける物理（電子）量として示されたデータを制御するとともに、前記データをコンピュータシステムメモリ又はレジスタ又はこのようなその他の情報記憶装置、伝送又は表示装置において同様に物理量として示された別のデータに変換する。
【００７５】
本発明の実施形態は、本明細書の動作を実行するための装置にも関する。このようなコンピュータプログラムは、非一時的なコンピュータ可読媒体に記憶される。機械可読媒体は、機械（例えば、コンピュータ）により読み取り可能な形式で情報を記憶するための任意のメカニズムを含む。例えば、機械可読（例えば、コンピュータ可読）媒体は、機械（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置）を含む。
【００７６】
上述した図面において説明されたプロセス又は方法は、ハードウェア（例えば、回路、専用ロジックなど）、ソフトウェア（例えば、非一時的なコンピュータ可読媒体に具現化されるもの）、又は両方の組み合わせを含む処理ロジックにより実行されることができる。前記プロセス又は方法は、以上で特定の順序に応じて説明されたが、前記動作の一部が異なる順序で実行されてもよいことを理解されたい。また、一部の動作は、順番ではなく並行して実行されてもよい。
【００７７】
本発明の実施形態は、いずれの特定のプログラミング言語を参照することなく記載されている。理解すべきなのは、本明細書に記載の本発明の実施形態の教示を実現するために、様々なプログラミング言語を使用することができる。
【００７８】
前記明細書において、本発明の実施形態は、既にその具体的な例示的な実施形態を参照しながら記載された。明らかなように、添付された特許請求の範囲に記載された本発明のより広い趣旨及び範囲を逸脱しない限り、本発明に対して様々な変更を行うことができる。それゆえに、本明細書及び図面は、限定的な意味でなく、例示的な意味で理解されるべきである。
【図１】
2019192234.tif 000003
【図２】
2019192234.tif 000004
【図３Ａ】
2019192234.tif 000005
【図３Ｂ】
2019192234.tif 000006
【図３Ｃ】
2019192234.tif 000007
【図４Ａ】
2019192234.tif 000008
【図４Ｂ】
2019192234.tif 000009
【図５Ａ】
2019192234.tif 000010
【図５Ｂ】
2019192234.tif 000011
【図５Ｃ】
2019192234.tif 000012
【図５Ｄ】
2019192234.tif 000013
【図６】
2019192234.tif 000014
【図７】
2019192234.tif 000015
【図８】
2019192234.tif 000016
【手続補正書】
【提出日】平成31年4月24日(2019.4.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自動運転車両に用いられるオブジェクト追跡のコンピュータ実施方法であって、前記方法は、
第１キューに基づいて現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第１セットのアフィニティースコアを算出することと、
前記第１セットのアフィニティースコアに基づいて１セットのプログレッシブアフィニティースコアを補正することと、
後続のキューに基づいて前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の後続の１セットのアフィニティースコアを算出することと、
前記後続の１セットのアフィニティースコアを利用して前記１セットのプログレッシブアフィニティースコアを補正することと、
補正された１セットのプログレッシブアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と、前記前の追跡オブジェクトのうちの一つ又は複数とを同一オブジェクトとして関連付けて、前記同一オブジェクトの運動を追跡し、各アフィニティースコアは、前記現在の検出オブジェクトのうちの何れか一つと前記前の追跡オブジェクトのうちの何れか一つとの間の類似度の演算であることと、
を含む方法。
【請求項２】
現在に算出されたアフィニティースコアと前に算出されたアフィニティースコアとの間の差異に基づいて、アフィニティースコアの演算をスキップするか否かを決定することを、更に含む請求項１に記載の方法。
【請求項３】
アフィニティースコアの演算をスキップするか否かを決定することは、
前に算出されたアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数との間の不可能なマッチを特定することと、
後続のアフィニティースコアの演算を補正して前記不可能なマッチの演算をスキップすることと、
を含む請求項２に記載の方法。
【請求項４】
アフィニティースコアの演算をスキップするか否かを決定することは、
前に算出されたアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数との間の肯定的なマッチを特定することと、
前記肯定的なマッチが確定された一つ又は複数の現在の検出オブジェクトと一つ又は複数の前の追跡オブジェクトの演算をスキップすることと、
ことを含む請求項２に記載の方法。
【請求項５】
キューの正確度に基づいてキュー処理の順序を決定し、正確度の高いキューに対して、正確度の低いキューの前に算出すること、を更に含む請求項１に記載の方法。
【請求項６】
キュー処理の速度に基づいてキュー処理の順序を決定し、処理時間の短いキューに対して、処理時間の長いキューの前に算出すること、を更に含む請求項１に記載の方法。
【請求項７】
前記第１キューと前記後続のキューは、２Ｄ画像ブロック、２Ｄ形状、２Ｄボックス、３Ｄ情報、タイプ、ディープＲＯＩ類似性、オプティカルフロー及びヒストグラムから選択される請求項１に記載の方法。
【請求項８】
前記１セットのプログレッシブアフィニティースコアに対して、アフィニティーマトリックスにおいて補正して、前記アフィニティーマトリックスに保持し、
前記現在のフレームにおける前記現在の検出オブジェクトのうちの一つ又は複数と、前記前の追跡オブジェクトのうちの一つ又は複数とを関連付けることは、最終的な１セットのプログレッシブアフィニティースコアに対してハンガリー方法を実行して、前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の最終的な関連を形成することを含む、請求項１に記載の方法。
【請求項９】
前記現在の検出オブジェクトに関連する情報に基づいて前記前の追跡オブジェクトを更新すること、を更に含む請求項８に記載の方法。
【請求項１０】
指令が記憶されている非一時的機器可読媒体であって、
前記指令は、プロセッサにより実行される場合に、
第１キューに基づいて現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第１セットのアフィニティースコアを算出することと、
前記第１セットのアフィニティースコアを利用して１セットのプログレッシブアフィニティースコアを補正することと、
後続のキューに基づいて前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の後続の１セットのアフィニティースコアを算出することと、
前記後続の１セットのアフィニティースコアを利用して前記１セットのプログレッシブアフィニティースコアを補正することと、
補正された１セットのプログレッシブアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数とを同一オブジェクトとして関連付けて前記同一オブジェクトの運動を追跡し、各アフィニティースコアは、前記現在の検出オブジェクトのうちの何れか一つと前記前の追跡オブジェクトのうちの何れか一つとの間の類似度の演算であることと、
を含む操作を前記プロセッサに実行させる、非一時的機器可読媒体。
【請求項１１】
前記操作は、更に、
現在に算出されたアフィニティースコアと前に算出されたアフィニティースコアとの間の差異に基づいて、アフィニティースコアの演算をスキップするか否かを決定すること、を含む請求項１０に記載の非一時的機器可読媒体。
【請求項１２】
アフィニティースコアの演算をスキップするか否かを決定することは、
前に算出されたアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数との間の不可能なマッチを特定することと、
後続のアフィニティースコアの演算を補正して前記不可能なマッチの演算をスキップすることと、を含む請求項１１に記載の非一時的機器可読媒体。
【請求項１３】
アフィニティースコアの演算をスキップするか否かを決定することは、
前に算出されたアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数との間の肯定的なマッチを特定することと、
前記肯定的なマッチが確定された一つ又は複数の現在の検出オブジェクトと一つ又は複数の前の追跡オブジェクトの演算をスキップすることと、
を含む請求項１１に記載の非一時的機器可読媒体。
【請求項１４】
キュー処理の順序を、正確度の高いキューが正確度の低いキューの前に処理されるように、キューの正確度に基づいて決定する請求項１０に記載の非一時的機器可読媒体。
【請求項１５】
キュー処理の順序を、処理時間の短いキューが処理時間の長いキューの前に算出されるように、キュー処理の速度に基づいて決定する請求項１０に記載の非一時的機器可読媒体。
【請求項１６】
前記第１キューと前記後続のキューは、２Ｄ画像ブロック、２Ｄ形状、２Ｄボックス、３Ｄ情報、タイプ、ディープＲＯＩ類似性、オプティカルフロー及びヒストグラムから選択される請求項１０に記載の非一時的機器可読媒体。
【請求項１７】
前記１セットのプログレッシブアフィニティースコアを、アフィニティーマトリックスにおいて補正して前記アフィニティーマトリックスに保持し、
前記現在のフレームにおける前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数とを関連付けることは、最終的な１セットのプログレッシブアフィニティースコアに対してハンガリー方法を実行して前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の最終的な関連を形成することを含む、請求項１０に記載の非一時的機器可読媒体。
【請求項１８】
前記操作は、更に、
前記現在の検出オブジェクトからの情報を利用して前記前の追跡オブジェクトを更新する、ことを含む請求項１７に記載の非一時的機器可読媒体。
【請求項１９】
データ処理システムであって、
プロセッサと、
前記プロセッサに接続されて指令が記憶されるメモリと、を備え、
前記指令は、前記プロセッサにより実行される場合に、
第１キューに基づいて現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第１セットのアフィニティースコアを算出することと、
前記第１セットのアフィニティースコアを利用して１セットのプログレッシブアフィニティースコアを補正することと、
後続のキューに基づいて前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の後続の１セットのアフィニティースコアを算出することと、
前記後続の１セットのアフィニティースコアを利用して前記１セットのプログレッシブアフィニティースコアを補正することと、
前記１セットのプログレッシブアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数とを同一オブジェクトとして関連付けて前記同一オブジェクトの運動を追跡し、各アフィニティースコアは何れも前記現在の検出オブジェクトのうちの何れか一つと前記前の追跡オブジェクトのうちの何れか一つとの間の類似度の演算であることと、
を含む操作を前記プロセッサに実行させるデータ処理システム。
【請求項２０】
前記操作は、
現在に算出されたアフィニティースコアと前に算出されたアフィニティースコアとの間の差異に基づいて、アフィニティースコアの演算をスキップするか否かを決定すること、を更に含む請求項１９に記載のデータ処理システム。
【請求項２１】
コンピュータプログラムであって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項１〜９のいずれか一項に記載の方法を実現させるコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、主に自動運転車両の操作に関する。具体的に、本発明の実施形態は、複数のキューを利用してオブジェクトを追跡することに関する。
【背景技術】
【０００２】
自動運転モード（例えば、ドライバーレス）で走行している車両は、乗員、特に人間の運転手をいくつかの運転に関する役割から解放できる。自動運転モードで走行しているとき、車両は、車載センサを使用して様々な位置までにナビゲートされることが可能であり、最小限のヒューマンコンピュータインタラクションや乗客がいないなどの状況で走行することが可能となった。
【０００３】
自動運転の間に、車両は、例えば衝突を回避するために、電子メモリに追跡オブジェクトを保持することができる。オブジェクト（例えば、他の車両、大型の残骸、樹木と道路標識）は、速度、方向、加速度、配向、位置、自動運転車両（ＡＤＶ）からの距離、並びに、衝突を回避し得る走行計画を行うようにＡＤＶに支援可能な他の有益な情報を具備することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
オブジェクトのトレースを特定するために、ＡＤＶは過去と現在の画像／データフレーム、例えば車両周囲のオブジェクトの一連の画像又はビデオをキャプチャし、現在の画像フレームを処理して過去のフレーム又は前の追跡オブジェクトと比較することにより、現在のフレームにおけるオブジェクトと前の特定されたオブジェクトのトレースにマッチさせるようにする。ところが、ＡＤＶにおける従来の方法及びシステムでは、複数のキューに対して、協同させることなく、個別に処理したため、信頼できない傾向がある。
【課題を解決するための手段】
【０００５】
本発明の一態様は、自動運転車両に用いられるオブジェクト追跡のコンピュータ実施方法であって、前記方法は、第１キューに基づいて現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第１セットのアフィニティースコアを算出することと、前記第１セットのアフィニティースコアに基づいて１セットのプログレッシブアフィニティースコアを補正することと、後続のキューに基づいて前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の後続の１セットのアフィニティースコアを算出することと、前記後続の１セットのアフィニティースコアを利用して前記１セットのプログレッシブアフィニティースコアを補正することと、補正された１セットのプログレッシブアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と、前記前の追跡オブジェクトのうちの一つ又は複数とを同一オブジェクトとして関連付けて、前記同一オブジェクトの運動を追跡し、各アフィニティースコアは、前記現在の検出オブジェクトのうちの何れか一つと前記前の追跡オブジェクトのうちの何れか一つとの間の類似度の演算であることと、を含む方法に関する。
【０００６】
本発明の他の一態様は、指令が記憶されている非一時的機器可読媒体であって、前記指令は、プロセッサにより実行される場合に、第１キューに基づいて現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第１セットのアフィニティースコアを算出することと、
前記第１セットのアフィニティースコアを利用して１セットのプログレッシブアフィニティースコアを補正することと、後続のキューに基づいて前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の後続の１セットのアフィニティースコアを算出することと、前記後続の１セットのアフィニティースコアを利用して前記１セットのプログレッシブアフィニティースコアを補正することと、補正された１セットのプログレッシブアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数とを同一オブジェクトとして関連付けて前記同一オブジェクトの運動を追跡し、各アフィニティースコアは、前記現在の検出オブジェクトのうちの何れか一つと前記前の追跡オブジェクトのうちの何れか一つとの間の類似度の演算であることと、を含む操作を前記プロセッサに実行させる、非一時的機器可読媒体に関する。
【０００７】
本発明の他の一態様は、データ処理システムであって、プロセッサと、前記プロセッサに接続されて指令が記憶されるメモリと、を備え、
前記指令は、前記プロセッサにより実行される場合に、第１キューに基づいて現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第１セットのアフィニティースコアを算出することと、前記第１セットのアフィニティースコアを利用して１セットのプログレッシブアフィニティースコアを補正することと、後続のキューに基づいて前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の後続の１セットのアフィニティースコアを算出することと、前記後続の１セットのアフィニティースコアを利用して前記１セットのプログレッシブアフィニティースコアを補正することと、前記１セットのプログレッシブアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数とを同一オブジェクトとして関連付けて前記同一オブジェクトの運動を追跡し、各アフィニティースコアは何れも前記現在の検出オブジェクトのうちの何れか一つと前記前の追跡オブジェクトのうちの何れか一つとの間の類似度の演算であることと、を含む操作を前記プロセッサに実行させるデータ処理システムに関する。
【図面の簡単な説明】
【０００８】
本発明の実施形態は、図面の各図において限定的ではなく例示的な形態で示され、図面における同じ図面符号が類似した素子を示す。
【図１】一実施形態に係るネットワークシステムを示すブロック図である。
【図２】一実施形態に係る自動運転車両の一例を示すブロック図である。
【図３Ａ】図３Ａは、一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。
【図３Ｂ】図３Ｂは、一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。
【図３Ｃ】図３Ｃは、一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。
【図４Ａ】図４Ａは、追跡オブジェクトを示す例である。
【図４Ｂ】図４Ｂは、追跡オブジェクトを示す例である。
【図５Ａ】図５Ａは、幾つかの実施形態に係るアフィニティーマトリックス（ａｆｆｉｎｉｔｙ  ｍａｔｒｉｃｅｓ）を示す例である。
【図５Ｂ】図５Ｂは、幾つかの実施形態に係るアフィニティーマトリックス（ａｆｆｉｎｉｔｙ  ｍａｔｒｉｃｅｓ）を示す例である。
【図５Ｃ】図５Ｃは、幾つかの実施形態に係るアフィニティーマトリックス（ａｆｆｉｎｉｔｙ  ｍａｔｒｉｃｅｓ）を示す例である。
【図５Ｄ】図５Ｄは、幾つかの実施形態に係るアフィニティーマトリックス（ａｆｆｉｎｉｔｙ  ｍａｔｒｉｃｅｓ）を示す例である。
【図６】一実施形態に係るオブジェクトを追跡するためのフローチャートの例示である。
【図７】一実施形態に係るカスケード接続追跡器のパイプラインの例である。
【図８】一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、説明の詳細を参照しながら本発明の様々な実施形態及び態様を説明し、前記様々な実施形態が図面に示される。以下の説明及び図面は、本発明を例示するためのものであり、限定するものとして解釈されるべきではない。本発明の様々な実施形態を全面的に理解するために、多くの特定の詳細を説明する。なお、本発明の実施形態を簡潔的に説明するように、周知又は従来技術の詳細について説明していない場合もある。
【００１０】
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に基づいて説明された特定の特徴、構造又は特性が本発明の少なくとも一実施形態に含まれてもよいと意味する。「一実施形態では」という表現は、本明細書の全体において全てが同一の実施形態を指すとは限らない。
【００１１】
幾つかの実施形態によれば、自動運転車両に用いられるオブジェクト追跡のコンピュータ実施方法であって、第１キューに基づいて、現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第１セットのアフィニティースコアを算出することと、第１セットのアフィニティースコアを利用して１セットのプログレッシブアフィニティースコアを補正することと、後続のキューに基づいて現在の検出オブジェクトと前の追跡オブジェクトとの間の１セットの後続のアフィニティースコアを算出することと、当該セットの後続のアフィニティースコアを利用して前記１セットのプログレッシブアフィニティースコアを補正することと、当該セットのプログレッシブアフィニティースコアに基づいて、現在の検出オブジェクトのうち一つ又は複数と前の追跡オブジェクトのうち一つ又は複数とを同一のオブジェクトとして関連付けて同一のオブジェクトの運動を追跡し、各アフィニティースコアは、現在の検出オブジェクトのうち何れか一つと前の追跡オブジェクトのうち何れか一つとの間の類似度の演算であることと、を含むコンピュータ実施方法が提供される。カスケード接続の実行段階（即ち、第１キューに基づいて第１セットのアフィニティースコアを算出し、そして１セットのプログレッシブアフィニティースコアを次のセットのアフィニティースコアの演算にフィードすること）により、前に算出されたアフィニティースコアに基づいてアフィニティースコアの演算をスキップするか否かを決定することが提供される。
【００１２】
一実施形態において、アフィニティースコアの演算をスキップするか否かを確定することは、前に算出されたアフィニティースコアに基づいて現在の検出オブジェクトのうち一つ又は複数と前の追跡オブジェクトのうち一つ又は複数との間の不可能なマッチを特定することと、後続のアフィニティースコアの演算を補正して不可能なマッチの演算をスキップすることを含んでも良い。置換的に又は付加的に、アフィニティースコアの演算をスキップするか否かを決定することは、前に算出されたアフィニティースコアに基づいて現在の検出オブジェクトのうち一つ又は複数と前の追跡オブジェクトのうち一つ又は複数との間の肯定的なマッチを特定することと、肯定的なマッチと確定された一つ又は複数の現在の検出オブジェクトと一つ又は複数の前の追跡オブジェクトの演算をスキップすることを含んでも良い。
【００１３】
図１は、本発明の一実施形態に係る自動運転車両のネットワーク構成を示すブロック図である。図１に示すように、ネットワーク構成１００は、ネットワーク１０２を介して一つ以上のサーバ１０３〜１０４に通信可能に接続される自動運転車両１０１を含む。一つの自動運転車両のみが示されているが、複数の自動運転車両が、ネットワーク１０２を介して、互いに接続され、及び／又はサーバ１０３〜１０４に接続されてもよい。ネットワーク１０２は、任意のタイプのネットワーク、例えば、有線又は無線のローカルエリアネットワーク（ＬＡＮ）、インターネットのようなワイドエリアネットワーク（ＷＡＮ）、セルラーネットワーク、衛星ネットワーク又はそれらの組み合わせであってもよい。サーバ１０３〜１０４は、如何なるタイプのサーバ又はサーバクラスタであってもよく、例えば、ネットワーク又はクラウドサーバ、アプリサーバ、バックエンドサーバ又はそれらの組み合わせが挙げられる。サーバ１０３〜１０４は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図及び関心地点（ＭＰＯＩ）サーバ、又は位置サーバなどであってもよい。
【００１４】
自動運転車両とは、自動運転モードになるように構成可能な車両を指し、前記自動運転モードにおいて、車両が運転手からの入力がほとんど又は全くない場合に環境を通過するようにナビゲートされる。このような自動運転車両は、車両動作環境に関連する情報を検出するように構成された一つ以上のセンサを有するセンサシステムを含んでもよい。前記車両及びその関連コントローラは、検出された情報を使用して前記環境を通過するようにナビゲートする。自動運転車両１０１は、手動モード、全自動運転モード、又は部分自動運転モードで動作することができる。
【００１５】
一実施形態では、自動運転車両１０１は、感知・計画システム１１０、車両制御システム１１１、無線通信システム１１２、ユーザインターフェースシステム１１３、及びセンサシステム１１５を含むが、それらに限定されない。自動運転車両１０１は更に、エンジン、車輪、ステアリングホイール、変速機などの従来の車両に含まれるいくつかの共通構成要素を含んでもよい。前記構成要素は、車両制御システム１１１及び／又は感知・計画システム１１０によって様々な通信信号及び／又は命令で制御されることができ、これらの様々な通信信号及び／又は命令は、例えば加速信号又は命令、減速信号又は命令、ステアリング信号又は命令、ブレーキ信号又は命令などを含む。
【００１６】
構成要素１１０〜１１５は、インターコネクト、バス、ネットワーク、又はこれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素１１０〜１１５は、コントローラエリアネットワーク（ＣＡＮ）バスを介して互いに通信可能に接続することができる。ＣＡＮバスは、ホストコンピュータなしのアプリケーションでマイクロコントローラ及びデバイスが相互に通信できるように設計された車両バス規格である。それは、もともと自動車内の多重電気配線のために設計されたメッセージに基づくプロトコルであるが、他の多くの環境にも用いられる。
【００１７】
ここで図２を参照すると、一実施形態では、センサシステム１１５は、一つ以上のカメラ２１１、全地球測位システム（ＧＰＳ）ユニット２１２、慣性計測ユニット（ＩＭＵ）２１３、レーダユニット２１４並びに光検出及び測距（ＬＩＤＡＲ）ユニット２１５を含むが、それらに限定されない。ＧＰＳユニット２１２は、自動運転車両の位置に関する情報を提供するように動作可能な送受信機を含んでもよい。ＩＭＵユニット２１３は、慣性加速度に基づいて自動運転車両の位置及び配向の変化を検知することができる。レーダユニット２１４は、無線信号を利用して自動運転車両のローカル環境内のオブジェクトを検知するシステムを表すことができる。いくつかの実施形態では、オブジェクトを検知することに加えて、レーダユニット２１４は、オブジェクトの速度及び／又は進行方向を更に検知することができる。ＬＩＤＡＲユニット２１５は、レーザを使用して自動運転車両の所在環境内のオブジェクトを検知することができる。ＬＩＤＡＲユニット２１５は、他のシステム構成要素のほかに、一つ以上のレーザ源、レーザスキャナ、及び一つ以上の検出器を更に含むことができる。カメラ２１１は、自動運転車両の周囲の環境における画像を取り込むための一つ以上の装置を含むことができる。カメラ２１１は、スチルカメラ及び／又はビデオカメラであってもよい。カメラは、例えば、回転及び／又は傾斜のプラットフォームにカメラを取り付けることによって、機械的に移動されてもよい。
【００１８】
センサシステム１１５は、ソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ（例えば、マイクロフォン）などの他のセンサを更に含むことができる。オーディオセンサは、自動運転車両の周囲の環境から音を取得するように構成されてもよい。ステアリングセンサは、ステアリングホイール、車両の車輪、又はそれらの組み合わせの操舵角を検知するように構成されてもよい。スロットルセンサ及びブレーキセンサそれぞれは、車両のスロットル位置及びブレーキ位置を検知する。場合によっては、スロットルセンサとブレーキセンサを統合型スロットル／ブレーキセンサとして一体化することができる。
【００１９】
一実施形態では、車両制御システム１１１は、ステアリングユニット２０１、スロットルユニット２０２（加速ユニットともいう）、及びブレーキユニット２０３を含むが、それらに限定されない。ステアリングユニット２０１は、車両の方向又は進行方向を調整するために用いられる。スロットルユニット２０２は、モータ又はエンジンの速度を制御するために用いられ、モータ又はエンジンの速度によって更に車両の速度及び加速度を制御する。ブレーキユニット２０３は、摩擦を与えることによって車両の車輪又はタイヤを減速させることで、車両を減速させる。なお、図２に示す構成要素は、ハードウェア、ソフトウェア、又はそれらの組み合わせで実現されることができる。
【００２０】
図１を再び参照して、無線通信システム１１２は、自動運転車両１０１と、装置、センサ、他の車両などの外部システムとの間の通信を可能にするものである。例えば、無線通信システム１１２は、直接又は通信ネットワークを介して一つ以上の装置と無線通信することができ、例えば、ネットワーク１０２を介してサーバ１０３〜１０４と通信することができる。無線通信システム１１２は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）を使用することができ、例えば、ＷｉＦｉを使用して別の構成要素又はシステムと通信することができる。無線通信システム１１２は、例えば、赤外線リンク、ブルートゥース（登録商標）などを使用して、装置（例えば、乗客のモバイルデバイス、表示装置、車両１０１内のスピーカ）と直接通信することができる。ユーザインターフェースシステム１１３は、車両１０１内に実現された周辺装置の部分（例えば、キーボード、タッチスクリーン表示装置、マイクロホン、及びスピーカなどを含む）であってもよい。
【００２１】
特に自動運転モードで動作しているときに、自動運転車両１０１の機能の一部又は全部は、感知・計画システム１１０によって制御又は管理することができる。感知・計画システム１１０は、必要なハードウェア（例えば、プロセッサ、メモリ、記憶装置）及びソフトウェア（例えば、オペレーティングシステム、計画及びルーティングプログラム）を備え、センサシステム１１５、制御システム１１１、無線通信システム１１２、及び／又はユーザインターフェースシステム１１３から情報を受信し、受信した情報を処理し、出発地から目的地までのルート又は経路を計画し、その後、計画・制御情報に基づいて車両１０１を運転する。  あるいは、感知・計画システム１１０を車両制御システム１１１と統合することができる。
【００２２】
例えば、乗客としてのユーザは、例えば、ユーザインターフェースを介して、旅程の出発地位置及び目的地を指定することができる。感知・計画システム１１０は旅程関連データを取得する。例えば、感知・計画システム１１０は、ＭＰＯＩサーバから位置及びルート情報を取得することができ、前記ＭＰＯＩサーバはサーバ１０３〜１０４の一部であってもよい。位置サーバは位置サービスを提供し、ＭＰＯＩサーバは地図サービス及び特定の位置のＰＯＩを提供する。あるいは、そのような位置及びＭＰＯＩ情報は、感知・計画システム１１０の永続的記憶装置にローカルキャッシュされることが可能である。
【００２３】
自動運転車両１０１がルートに沿って移動するとき、感知・計画システム１１０は交通情報システム又はサーバ（ＴＩＳ）からリアルタイム交通情報を取得することもできる。なお、サーバ１０３〜１０４は第三者エンティティによって操作されることが可能である。あるいは、サーバ１０３〜１０４の機能は、感知・計画システム１１０と統合することができる。リアルタイム交通情報、ＭＰＯＩ情報、及び位置情報、並びにセンサシステム１１５によって検出又は検知されたリアルタイムローカル環境データ（例えば、障害物、オブジェクト、周辺車両）に基づいて、感知・計画システム１１０は、指定された目的地までに安全かつ効率的に到着するように、最適なルートを計画し、計画されたルートに従って、例えば、制御システム１１１によって車両１０１を運転する。
【００２４】
サーバー１０３は、様々なクライアントにデータ解析サービスを提供するデータ解析システムであってもよい。本発明の一実施形態において、データ解析システム１０３は、データコレクタ１２１及び機械学習エンジン１２２を備える。データコレクタ１２１は、様々な車両（自動運転車、又は操作者が運転する普通車両）から運転統計データ１２３を収集する。運転統計データ１２３は、発された運転命令（例えば、変速、ブレーキ、ステアリング命令等）を指示する情報や、車載センサーが異なる時点で採集した車両の応答（例えば、速度、加速度、減速度、方向等）を含む。運転統計データ１２３は、ルート（出発地位置と目的位置）、ＭＰＯＩ、天気状況、道路状況のような異なる時点の運転環境を記述する情報を含んでも良い。
【００２５】
機器学習エンジン１２２は、運転統計データ１２３に基づいて、各種の目的のためにルール、アルゴリズム及び／又は予測モデル１２４のセットを生成し又はトレーニングする。例えば、アルゴリズム１２４には、常に障害物を追跡するようにアフィニティースコアを算出するアルゴリズムが含まれる。その後、リアルタイムな自動運転を可能にするように、アルゴリズム１２４は、更にＡＤＶにアップロードされる可能である。
【００２６】
図３Ａ及び図３Ｂは、一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。システム３００は、図１の自動運転車両１０１の一部として実現することができ、感知・計画システム１１０、制御システム１１１、及びセンサシステム１１５を含むが、それらに限定されない。図３Ａ〜図３Ｂに示すように、感知・計画システム１１０は、測位モジュール３０１、感知モジュール３０２、予測モジュール３０３、決定モジュール３０４、計画モジュール３０５、制御モジュール３０６、ルーティングモジュール３０７を備えるが、これらに限定されない。
【００２７】
モジュール３０１〜３０７及び関連するサブコンポーネントのうち一部又は全部は、ソフトウェア、ハードウェア又はそれらの組み合わせで実現されてもよい。例えば、これらのモジュールは、永続的記憶装置３５２にインストールされ、メモリ３５１にロードされ、一つ以上のプロセッサ（図示せず）によって実行されることができる。なお、これらのモジュールの一部又は全部は、図２の車両制御システム１１１のモジュールの一部又は全部と通信可能に接続されるか、又は一体化されてもよい。モジュール３０１〜３０７のうち一部は、一体に集積モジュールとして集積可能である。
【００２８】
測位モジュール３０１は、自動運転車両３００の現在の位置（例えば、ＧＰＳユニット２１２を利用して）を特定し、ユーザの旅程又はルートに関連する如何なるデータを管理する。測位モジュール３０１（地図及びルートモジュールともいう）は、ユーザの旅程又はルートに関連する如何なるデータを管理する。ユーザは、例えば、ユーザインターフェースを介してログインして、旅程の出発地位置及び目的地を指定することができる。測位モジュール３０１は、自動運転車両３００の地図・ルート情報３１１のような他の構成要素と通信して、旅程関連データを取得する。例えば、測位モジュール３０１は、位置サーバ並びに地図及びＰＯＩ（ＭＰＯＩ）サーバから位置及びルート情報を取得することができる。位置サーバは位置サービスを提供し、ＭＰＯＩサーバは、地図サービス及び特定の位置のＰＯＩを提供し、地図・ルート情報３１１の一部としてキャッシュすることができる。自動運転車両３００がルートに沿って移動するとき、測位モジュール３０１は交通情報システム又はサーバからリアルタイム交通情報を得ることもできる。
【００２９】
感知モジュール３０２は、センサシステム１１５により提供されたセンサデータと、測位モジュール３０１により取得された測位情報とに基づいて、周囲環境への感知を特定する。感知情報は、一般的な運転手が運転手により運転されている車両の周囲で感知すべきものを表すことができる。感知は、例えばオブジェクトの形態を採用する車線構成（例えば、直進車線又はカーブ車線）、信号機信号、他の車両の相対位置、歩行者、建築物、横断歩道、又は他の交通関連標識（例えば、止まれ標識、ゆずれ標識）などを含んでもよい。
【００３０】
感知モジュール３０２は、一つ以上のカメラによって取り込まれた画像を処理及び解析して、自動運転車両の環境内のオブジェクト及び／又は特徴を認識するためのコンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。前記オブジェクトは、交通信号、道路境界、他の車両、歩行者及び／又は障害物などを含むことができる。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキング、及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図を描き、オブジェクトを追跡し、オブジェクトの速度などを推定することができる。感知モジュール３０２は、レーダ及び／又はＬＩＤＡＲのような他のセンサによって提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
【００３１】
各オブジェクトについて、予測モジュール３０３は、その環境ではオブジェクトがどのように挙動するかを予測する。予測とは、地図・ルート情報３１１と交通ルール３１２のセットを考慮して、当該時点における運転環境を感知する感知データに基づいて実行される。例えば、オブジェクトが反対方向の車両であり、かつ現在の運転環境が交差点を含む場合に、予測モジュール３０３は、車両が直進するか、又は旋回するかを予測する。感知データが、交差点に信号機がないことを示す場合、予測モジュール３０３は、交差点に入る前に車両が完全に停止する必要があると予測する可能性がある。感知データが、車両が現在左折専用車線又は右折専用車線にあることを示す場合、予測モジュール３０３は、車両がそれぞれ左折又は右折する可能性がより高いと予測することができる。
【００３２】
それぞれのオブジェクトに対して、決定モジュール３０４はオブジェクトをどのように処理するかを決定する。例えば、特定のオブジェクト（例えば、交差のルートにおける他の車両）及びオブジェクトを記述するメタデータ（例えば、速度、方向、操舵角）について、決定モジュール３０４は前記オブジェクトと遇うときに如何に対応するか（例えば、追い越し、道譲り、停止、追い抜き）を決定する。決定モジュール３０４は、交通ルール又は運転ルール３１２のようなルールセットに基づいてそのような決定を行うことができ、前記ルールセットは永続的記憶装置３５２に記憶することができる。
【００３３】
ルーティングモジュール３０７は、出発地から目的地までの一つ以上のルート又は経路を提供するように構成される。ルーティングモジュール３０７は、出発地位置から目的地位置までの所与の行程（例えば、ユーザから受信された所与の旅程）について、地図・ルート情報３１１を取得し、出発地位置から目的地位置までのすべての可能なルート又は経路を決定する。ルーティングモジュール３０７は、出発地位置から目的地位置までの各ルートを決定する地形図の形の基準線を生成することができる。基準線とは、他の車両、障害物、又は交通状況などからの如何なる干渉を受けていない理想的なルート又は経路を指す。つまり、道路に他の車両、歩行者又は障害物がない場合、ＡＤＶは基準線に精確的に又は密接的に従うべきである。そして、地形図を決定モジュール３０４及び／又は計画モジュール３０５に提供する。決定モジュール３０４及び／又は計画モジュール３０５は、他のモジュールにより提供された他のデータ（例えば測位モジュール３０１からの交通状况、感知モジュール３０２により感知された運転環境及び予測モジュール３０３により予測された交通状况）に応じて、全ての走行可能なルートを検査して最適ルートのうちの一つを選択及び補正する。特定時点における特定の運転環境に応じて、ＡＤＶを制御するための実際の経路又はルートは、ルーティングモジュール３０７によって提供される基準線に近いか又は異なっていてもよい。
【００３４】
感知されたオブジェクトのそれぞれに対する決定に基づいて、計画モジュール３０５は、ルーティングモジュール３０７によって提供される基準線をベースとし、自動運転車両に対して経路又はルート並びに運転パラメータ（例えば、距離、速度及び／又は操舵角）を計画する。言い換えれば、特定のオブジェクトについて、決定モジュール３０４は当該オブジェクトに対して何をするかを決定し、計画モジュール３０５はどのようにするかを決定する。例えば、特定のオブジェクトについて、決定モジュール３０４は前記オブジェクトを追い抜くかを決定することができ、計画モジュール３０５は前記オブジェクトを左側から追い抜くか又は右側から追い抜くかを決定することができる。計画・制御データは、計画モジュール３０５により生成され、車両３００が次の移動周期（例えば、次のルート／経路区間）にはどのように移動するかを記述する情報を含む。例えば、計画・制御データは、車両３００に時速３０マイル（ｍｐｈ）で１０ｍ移動し、次に２５マイル（ｍｐｈ）で右車線に変更するように指示することができる。
【００３５】
制御モジュール３０６は、計画・制御データに基づいて、計画・制御データにより限定されたルート又は経路に応じて適当な命令又は信号を車両制御システム１１１に送信することにより自動運転車両を制御及び運転する。前記計画・制御データは、経路又はルートに沿って異なる時点で適切な車両配置又は運転パラメータ（例えば、スロットル、ブレーキ、及びステアリング命令）を使用して、車両をルート又は経路の第１の点から第２の点まで運転するのに十分な情報を含む。
【００３６】
一実施形態では、計画段階は、例えば、時間間隔が１００ミリ秒（ｍｓ）の周期など、複数の計画周期（命令周期ともいう）で実行される。計画周期又は命令周期のそれぞれについて、計画・制御データに基づいて一つ以上の制御命令を発する。すなわち、１００ｍｓごとに、計画モジュール３０５は、次のルート区間又は経路区間（例えば、オブジェクト位置及びＡＤＶがオブジェクト位置に到着するのに必要な時間が含まれる）を計画する。あるいは、計画モジュール３０５は、具体的な速度、方向、及び／又は操舵角などを更に指定することができる。一実施形態では、計画モジュール３０５は、次の所定期間（例えば、５秒）のルート区間又は経路区間を計画する。計画周期のそれぞれに対し、計画モジュール３０５は、前の周期で計画されたオブジェクト位置に基づいて、現在の周期（例えば、次の５秒）のためのオブジェクト位置を計画する。次に、制御モジュール３０６は、現在の周期の計画・制御データに基づいて、一つ以上の制御命令（例えば、スロットル、ブレーキ、ステアリング制御命令）を生成する。
【００３７】
なお、決定モジュール３０４及び計画モジュール３０５は、集積モジュールとして一体化されてもよい。決定モジュール３０４／計画モジュール３０５は、自動運転車両の走行経路を決定するためのナビゲーションシステム又はナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、自動運転車両の以下の経路に沿った移動を達成するための一連の速度及び進行方向を決定することができる。前記経路では、自動運転車両が最終的な目的地に通じる走行車線ベースの経路に沿って前進するとともに、感知した障害物を実質的に回避できる。目的地は、ユーザインターフェースシステム１１３を介したユーザ入力に従って設定することができる。ナビゲーションシステムは、自動運転車両が走行している間に走行経路を動的に更新することができる。ナビゲーションシステムは、自動運転車両のための走行経路を決定するために、ＧＰＳシステム及び一つ以上の地図からのデータを取り入れることができる。
【００３８】
決定モジュール３０４／計画モジュール３０５は、更に、自動運転車両の環境における潜在的な障害物を認識、評価、回避又は他の方法で通過するための衝突防止システム又は衝突防止システムの機能を含むことができる。例えば、衝突防止システムは、制御システム１１１の一つ以上のサブシステムを動作させて、方向変更動作、旋回動作、ブレーキ動作などを行うことによって、自動運転車両のナビゲーション中の変更を実現することができる。衝突防止システムは、周囲の交通パターンや道路状況などに基づいて、実行可能な障害物回避動作を自動的に決定することができる。衝突防止システムは、他のセンサシステムが、自動運転車両が方向変更して進入しようとする隣接領域における車両、建築障害物などを検出したときに、方向変更動作を行わないように構成されることができる。衝突防止システムは、自動運転車両の乗員の安全性を最大限にするとともに、利用可能な動作を自動的に選択することができる。衝突防止システムは、自動運転車両の客室内に最も少ない加速度を発生させると予測される回避動作を選択することができる。
【００３９】
図３Ｃは、アフィニティースコア算出部３２１とアフィニティーマトリックスマネージャ３２２を備える感知モジュール３０２のサブコンポーネントを示した。一実施形態において、アフィニティースコア算出部３２１は、特定のキューから抽出された１セットの特徴に基づいて現在の周期において検出された特定のオブジェクトのアフィニティースコアを算出するように配置される。アフィニティーマトリックスマネージャ３２２は、例えば、アフィニティースコアをアフィニティーマトリックスに記憶されている既存のスコアと合併し又は統合すること（例えば、所定公式の乗算、加算、減算）により、ある段階又はキューから他の段階又はキューに引き出されたアフィニティーマトリックスを更新するように配置される。アフィニティーマトリックスは、一つのキューに対応する処理段階から他のキューに対応する次の処理段階に伝わる。異なる周期における同一オブジェクトのキューから抽出された特徴が類似である場合に、それらに対応するアフィニティースコアがより高くなり、且つアフィニティーマトリックスに記憶される結合アフィニティースコアがより高くなる。アフィニティーマトリックスが持っている高いアフィニティースコアは、現在の検出オブジェクトと前の検出オブジェクトとが同一又は類似する確率がより高いと示す。従って、アフィニティースコアは、二つの異なる周期（例えば、計画周期）において検出された二つのオブジェクトの間の類似性を示す。
【００４０】
複数のキューを利用してオブジェクトを追跡することについて、図４Ａと図４Ｂを参照して当該概念を説明する。ＡＤＶの感知モジュールは、２Ｄ画像ブロック、２Ｄ形状、２Ｄボックス、３Ｄ情報、タイプ、ディープランニングされたＲＯＩ類似性、オプティカルフロー、ヒストグラム又は機器学習又は設計による特定の特徴を含む各種のキューに基づいてオブジェクトを追跡可能である。各キューに対する処理を実行して現在の検出オブジェクトと前の追跡オブジェクトとの間の類似度又はアフィニティーを特定する。前の追跡オブジェクトはコンピュータのメモリに保持され、且つ新たなデータフレームに対する処理により更新される。新たなデータフレームは、例えば２Ｄ画像として生成可能である。
【００４１】
例えば、図４Ａは前に算出されたフレームからの追跡オブジェクトを示した。システムは、ＡＤＶに対する関心領域（例えば、ＡＤＶの前の領域）に位置していると検知されたオブジェクトの追跡データを保持する。図４Ａにおいて、オブジェクト／車両４０２、オブジェクト／車両４０４及びオブジェクト／樹木４０６がＡＤＶに対する関心領域に位置する例示を示した。
【００４２】
ＡＤＶは、これらオブジェクトのトレース（トレースは例えばサイズ、速度、方向、位置、ＡＤＶまでの距離、操舵角、加速度と配向が含んでも良い）を保持して、ＡＤＶに運転決定を通知し衝突を回避させることができる。オブジェクトのトレースをリアルタイムに保持し更新するために、現在のフレームを処理し、且つ現在のフレームに検出されたオブジェクトと前の追跡オブジェクトとをマッチングする。
【００４３】
例えば、図４Ｂは、後続のフレームを示した。そのうち、車両４０２、車両４０４と樹木４０６は、やや大きくなったため、既に近づいているように見えた。また、新たなオブジェクト／車両４０８が当該フレームに入った。現在のフレームのオブジェクトと前の追跡オブジェクトとのマッチングが人間にとって非常に容易であるが、コンピュータにとって確実ではない。コンピュータのマッチング能力を向上させるために、フレームのそれぞれに対して複数のキューを処理することにより、検出されたオブジェクトのそれぞれに対して、前の追跡オブジェクトとマッチングする。この場合に、ＡＤＶシステムは、新たに検出された全てのオブジェクトと前の追跡オブジェクトとをマッチングし、且つ追跡情報を更新することを試す。また、ＡＤＶシステムは、新たなオブジェクト／車両４０８が関心領域に入っていると確定し、オブジェクト／車両４０８に基づいて新たなトレースを作成することができる。
【００４４】
図６を参照する。ＡＤＶ（感知モジュール３０２）は、操作６０２において最新の画像／フレームと対応する検出とを受信し、操作６０４においてカスケード接続追跡器のパイプラインにおいて最新の画像／フレームと検出を処理することができる。カスケード接続追跡器のパイプラインにおいて全てのキューが処理されると、感知モジュール３０２は、操作６０６においてカスケード接続追跡器のパイプラインに受信された最終的な１セットのアフィニティーの演算に対して組み合わせのアルゴリズム、例えば、ハンガリー（Ｈｕｎｇａｒｉａｎ）方法を実行することができる。操作６０６において、ハンガリー方法は、現在のフレームからの現在の検出オブジェクトとトレースとの間の最終的な関係／関連を出力する。ハンガリー方法は、多項式の時間に関する割り当ての問題を解決するための組み合わせの最適化アルゴリズムである。当該例示において、ハンガリー方法は、現在に検出されたオブジェクトを前に検出されたオブジェクトに割り当て、その逆も同じである。これにより、それらが互いに相関する（例えば、類似し又は同じである）と考えられることになる。
【００４５】
例えば、図４Ａと図４Ｂを再び参照すると、新たに検出されたオブジェクト４０２、オブジェクト４０４とオブジェクト４０６は、それぞれトレース４０２、トレース４０４とトレース４０６に関連付けられる。新たに検出されたオブジェクト４０８は、既存のトレースの何れもと関連付けられない。そして操作６０８において、追跡器とＩＤマネジャーデバイスは、オブジェクト４０８に対して新たなトレースを作成しトレース４０２、トレース４０４とトレース４０６を更新することにより、操作６２０においてトレースＩＤのマップを検出したとの出力を形成して、ＡＤＶに運転決定を行うように提供することができる。その後に、操作６１０において更新されたトレースを前のトレースとして使用することにより、次のフレームを同じように処理する。
【００４６】
ここで図７を参照する。カスケード追跡器のパイプライン６０４には、複数の部分が備えられても良い。例えば、操作７０２において、システムは第１キューに基づいて現在のフレームの現在の検出オブジェクトと前のフレームの前の追跡オブジェクトとの間の第１セットのアフィニティースコアを算出することができる。アフィニティースコアは、例えば、アフィニティーマトリックス３１３の一部として、永続的記憶装置に記憶することができる。アフィニティースコア算出部３２１は、特定のアフィニティーの採点アルゴリズムを使用して特定のキューのアフィニティースコアを算出するように配置される。キュー毎に異なる採点アルゴリズムを具備することができる。
【００４７】
一実施形態において、１セットの所定のキュー（例えば、３Ｄ位置、２Ｄ画像ブロック、２Ｄボックス、ＲＯＩ特徴など）のそれぞれについて、オブジェクトをキャプチャした画像から１セットの特徴を抽出する。そして対応するキューの抽出特徴に基づいてアフィニティースコアを算出する。
【００４８】
続いて、システムは、操作７０４において第１セットのアフィニティースコアを利用して１セットのプログレッシブアフィニティースコアを補正することができる。アフィニティーマトリックスにおいて、アフィニティースコアは補正され保持可能である。例えば、図５Ａを参照し、アフィニティーマトリックスにおいてｍ行とｎ列を有することができる。それぞれの行は追跡オブジェクト（Ｔ１、Ｔ２とＴ３）を示し、それぞれの列は現在のフレームにおいて検出されたオブジェクト（Ｄ１、Ｄ２、Ｄ３とＤ４）を示す。アフィニティーマトリックス（ａ１１、ａ１２．．．．．．ａ３４）における各要素は、検出オブジェクトのうちの何れか一つと追跡オブジェクトのうちの何れか一つとの間の類似性に対応する。従って、アフィニティーマトリックスには、アフィニティースコアの履歴からのアフィニティースコアが積算された。
【００４９】
図７に戻して参照すると、操作７０６において、システムは後続のキューに基づいて現在のフレームの現在の検出オブジェクトと前の追跡オブジェクトとの間の後続の１セットのアフィニティースコアを算出することができる。有利で且つ有益な面として、後続のキューのそれぞれの演算又は１セットの演算について、システムは前に算出されたアフィニティースコアに基づいてアフィニティースコアの演算をスキップするか否かを決定することができる。
【００５０】
例えば、システムは、前に算出されたアフィニティースコア（例えば、前の段階／キューから与えられた）に基づいて現在の検出オブジェクトのうちの一つ又は複数と前の追跡オブジェクトのうちの一つ又は複数との間の不可能なマッチを特定し、そして、後続のアフィニティースコアの演算を補正して不可能なマッチの演算をスキップすることができる。その代わりに、現在の検出オブジェクトと前の検出オブジェクトとの間の差異が所定の閾値を超えた場合に、この二つのオブジェクトが同一のオブジェクトである可能性が低い。従って、この二つのオブジェクトの間のアフィニティースコアの後続の演算をスキップしてリソースの消費を低減することができる。同様に、アフィニティーマトリックスにおける二つのオブジェクトの間のアフィニティースコアが所定の閾値よりも高い場合に、これらオブジェクトが同一のオブジェクトである可能性が高い。従って、後続の演算をスキップしても良い。アフィニティースコアを算出する目的は、二つのオブジェクトが同一のオブジェクトであるか否かを判定することにある。積算されたアフィニティースコアに基づいて、特定のオブジェクトのペアが同一のオブジェクトであるか、若しくは同一のオブジェクトである可能性がないことが既に確定された場合、更なるアフィニティースコアの演算を実行する必要がない。
【００５１】
同様に、システムは前に算出されたアフィニティースコア（例えば、前の段階／キューから与えられた）に基づいて現在の検出オブジェクトのうちの一つ又は複数と前の追跡オブジェクトのうちの一つ又は複数との間の肯定的なマッチを特定し、そして、肯定的なマッチと確定された一つ又は複数の現在の検出オブジェクトと一つ又は複数の前の追跡オブジェクトの演算をスキップすることができる。肯定的なマッチに可能性の非常に高いマッチが含まれても良く、且つ例えばアフィニティースコアが閾値を超えた場合に確定されても良い。同様に、否定的又は不可能なマッチに非常に不可能なマッチが含まれても良く、且つ例えば閾値を超えた場合、或いは閾値以下である場合に確定されても良い。当業者は通常の試験に基づいて閾値を確定することができる。
【００５２】
ここで図５Ｂと図５Ｃを参照する。図５Ｂと図５Ｃは、更なる説明のための例示を示した。なお、Ｄ４とＴ３に対するアフィニティースコアは、．０１として算出された。システムは、．０１の最低値に基づいてＤ４がＴ３とマッチできないと確定することができる。システムは後続の段階においてＤ４とＴ３の間のアフィニティーの演算をスキップすることができる。従って、図５Ｃにおいて、（例えば、前の段階からのアフィニティーの演算に基づいて）不可能なマッチと確定したため、システムはＤ４／Ｔ３のアフィニティースコアを算出していない（ダッシュとして表示される）。これにより、リソースが節約される。
【００５３】
同様に、図５ＢはＤ１とＴ１の間の．９９の高アフィニティーを示した。従って、後続の段階において、Ｄ１とＴ１に関する全ての組み合わせのアフィニティーの演算をスキップすることができるため、貴重なリソースが節約される。
【００５４】
ところが、図５Ｂ〜図５Ｃは、各種の概念を説明するための仮定のアフィニティーマトリックスに過ぎず、実施形態、専門語及び値により本文により提供された開示内容が制限されない。例えば、図５Ｄはこのような実施形態を示した。なお、Ｄ１とＴ１の高確率が既に算出された場合に、アフィニティーマトリックスにおいて対応するアフィニティースコアが１にし、Ｄ１とＴ１に関わる全ての他の組み合わせが０にしても良い。後続の段階が実行される時、システムは０又は１にした任意の値をスキップすることができる。これは一種の技術に過ぎないが、異なるが等価である手段（例えばフラグを設置するか、或いは当業者に実施可能な他の技術）により演算をスキップするタスクを実行することもできる。同様に、演算値が０〜１の範囲内にあることが示されているが、他の実施形態において異なる範囲内にあることが可能であり、互いに標準化され、又は特定なアプリケーションに対して標準化される。
【００５５】
続いて、操作７０８において、システムは後続の１セットのアフィニティースコアを利用して１セットのプログレッシブアフィニティースコアを補正することができる。例えば、システムは、プログレッシブアフィニティースコアのそれぞれに対して、対応して算出されるアフィニティースコアを掛けることができる（対応する後続のキューに基づく）。
【００５６】
説明のために、最初にアフィニティーマトリックスを生成し、各行列要素における値が１であると仮定する。第１キューに基づいて第１セットのアフィニティースコアを算出し、そしてアフィニティースコアのそれぞれに対して、アフィニティーマトリックスに保持されているプログレッシブアフィニティースコアにおける対応要素を掛けると仮定する。第１の場合では、第１セットのアフィニティースコアのそれぞれに１を掛けて、図５Ｂにおけるプログレッシブアフィニティースコアを得る。また、その正確度又は動的な条件に基づいて異なるキューに異なる重みを割当てることができる。
【００５７】
続いて、第２セットのアフィニティースコア（図５Ｃに示されたように）を算出して、更にプログレッシブアフィニティースコアに掛けて図５Ｄに示された更新／補正された１セットのプログレッシブアフィニティースコアを得る。図７に戻して参照すると、全てのキューが既に処理された場合に（全ての段階が実行された場合に）、プログレッシブアフィニティースコアは、最終的な１セットのプログレッシブアフィニティースコアを示すことができる。より多くのキューを処理しようとする場合に、付加的なキュー／段階のそれぞれに対して操作７０６と操作７０８を繰り返しても良い。
【００５８】
続いて、操作７１０において、システムは、現在のフレームの現在の検出オブジェクトのうちの一つ又は複数と前のフレームの前の追跡オブジェクトのうちの一つ又は複数とを同一のオブジェクトとして関連付けることができる。例えば、システムは、最終的な１セットのプログレッシブスコアを使用して現在の検出オブジェクトのうち何れが既存のトレース（即ち、前の追跡オブジェクト）にマッチしたかを確定する。システムは、最終的な１セットのプログレッシブスコアに対して組み合わせの最適化アルゴリズム、例えばハンガリー方法を実行することができる。これにより、現在の検出オブジェクトと前の追跡オブジェクトとの間の最終的な関連又は割当てが形成される。
【００５９】
そして、システムは、現在の検出オブジェクトからの情報を利用して前の追跡オブジェクト又はトレース（例えば位置、ＡＤＶまでの距離、速度、方向と加速度を含む）を更新することができる。その後に、システムは、更新されたトレースを利用して上記のようなカスケード接続方式で複数のキューを有する新たなフレームを処理することができる。
【００６０】
一実施形態において、キューの正確度に基づいてキュー処理又は段階の順序を決定することができる。例えば、高い正確度を有するキューに対して、低い正確度を有するキューの前に算出する。異なるキューの正確度は、通常の試験により確定可能である。有利な面として、システムは、最初に最も正確なキューを実行することにより、早めに肯定的又は否定的な（不可能な）マッチに対して最も正確に特定することができるため、早めに演算を正確にスキップすることができる。
【００６１】
他の実施形態において、キュー処理の速度に基づいてキュー処理又は段階の順序を決定することができる。なお、処理時間の短いキューに対して、処理時間の長いキューの前に算出する。キュー処理の速度は、通常の試験又は監視により確定可能である。有利な面として、システムは、最も速い段階を最初に実行することにより、最も速い方式で肯定的又は否定的な（不可能な）マッチを速めに特定することができるため、最も早い段階で演算をスキップすることができる。
【００６２】
なお、以上に例示及び説明された構成要素の一部又は全ては、ソフトウェア、ハードウェア、又はそれらの組み合わせで実現されることが可能である。例えば、このような構成要素は、永続的記憶装置にインストールされるとともに記憶されるソフトウェアとして実現されてもよく、前記ソフトウェアは、本願にわたって記載されたプロセス又は動作を実現するように、プロセッサ（図示せず）によってメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路（例えば、特定用途向け集積回路又はＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）、又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）のような専用ハードウェアにプログラミング又は埋め込まれた実行可能なコードとして実現されてもよく、前記実行可能なコードは、アプリケーションからの対応するドライバー及び／又はオペレーティングシステムを介してアクセスすることができる。また、このような構成要素は、ソフトウェア構成要素が一つ以上の特定の命令によってアクセス可能な命令セットの一部として、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実現されることができる。
【００６３】
図８は本発明の一実施形態と共に使用可能なデータ処理システムの一例を示すブロック図である。例えば、システム１５００は、前記プロセス又は方法のいずれかを実行する前記データ処理システムのいずれか（例えば、図１の感知・計画システム１１０、又はサーバ１０３〜１０４のいずれか）を表すことができる。システム１５００は、いくつかの異なる構成要素を含んでもよい。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、ディスクリート型電子デバイス、又は回路基板（例えば、コンピュータシステムのマザーボード若しくはアドインカード）に適するその他のモジュールとして実現されることが可能であり、又は、他の形態でコンピュータシステムのシャーシ内に組み込まれる構成要素として実現されることが可能である
【００６４】
なお、システム１５００は、コンピュータシステムのいくつかの構成要素の高レベルビューを示すことを意図している。しかしながら、特定の実施例において付加的構成要素が存在してもよく、また、その他の実施例において示された構成要素を異なる配置にすることが可能であると理解すべきである。システム１５００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレヤー、パーソナルデジタルアシスタント（ＰＤＡ）、スマートウォッチ、パーソナルコミュニケーター、ゲーム装置、ネットワークルーター又はハブ、無線アクセスポイント（ＡＰ）又はリピーター、セット・トップボックス、又はそれらの組み合わせを表すことができる。また、単一の機械又はシステムのみが示されたが、「機械」又は「システム」という用語は、本明細書で説明されるいずれか一種以上の方法を実現するための、単独で又は共同で一つ（又は複数）の命令セットを実行する機械又はシステムのいずれかの組み合わせも含まれると解釈されるべきである。
【００６５】
一実施形態では、システム１５００は、バス又はインターコネクト１５１０を介して接続される、プロセッサ１５０１と、メモリ１５０３と、装置１５０５〜１５０８とを含む。プロセッサ１５０１は、単一のプロセッサコア又は複数のプロセッサコアが含まれる単一のプロセッサ又は複数のプロセッサを表すことができる。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）などのような、一つ以上の汎用プロセッサを表すことができる。より具体的には、プロセッサ１５０１は、複雑命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、又はその他の命令セットを実行するプロセッサ、又は命令セットの組み合わせを実行するプロセッサであってもよい。プロセッサ１５０１は更に、例えば、特定用途向け集積回路（ＡＳＩＣ）、セルラー又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組込みプロセッサ、又は命令を処理可能な任意の他のタイプのロジックのような、一つ以上の専用プロセッサであってもよい。
【００６６】
プロセッサ１５０１は、超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよく、前記システムの様々な構成要素と通信するための主処理ユニット及び中央ハブとして機能することができる。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実現されることができる。プロセッサ１５０１は、本明細書で説明される動作及びステップを実行するための命令を実行するように構成される。システム１５００は、更に所望によるグラフィックサブシステム１５０４と通信するグラフィックインターフェースを含むことができ、グラフィックサブシステム１５０４は、表示コントローラ、グラフィックプロセッサ、及び／又は表示装置を含むことができる。
【００６７】
プロセッサ１５０１は、メモリ１５０３と通信することができ、メモリ１５０３は、一実施形態では、所定量のシステムメモリを提供するための複数のメモリ装置によって実現されることができる。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、又はその他のタイプの記憶装置のような、一つ以上の揮発性記憶（又はメモリ）装置を含むことができる。メモリ１５０３は、プロセッサ１５０１又はその他の任意の装置により実行される命令シーケンスを含む情報を記憶することができる。例えば、様々なオペレーティングシステム、デバイスドライバ、ファームウェア（例えば、ベーシックインプット／アウトプットシステム又はＢＩＯＳ）、及び／又はアプリケーションの実行可能なコード及び／又はデータは、メモリ１５０３にロードされ、プロセッサ１５０１により実行されることができる。オペレーティングシステムは、例えば、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）社のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、アップル社のＭａｃＯＳ（登録商標）／ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）社のＡｎｄｒｏｉｄ（登録商標）、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、又はその他のリアルタイム若しくは組込みオペレーティングシステムのような、任意のタイプのオペレーティングシステムであってもよい。
【００６８】
システム１５００は、更に、ネットワークインターフェース装置１５０５、所望による入力装置１５０６、及びその他の所望によるＩ／Ｏ装置１５０７を含む装置１５０５〜１５０８のようなＩ／Ｏ装置を含むことができる。ネットワークインターフェース装置１５０５は、無線送受信機及び／又はネットワークインターフェースカード（ＮＩＣ）を含むことができる。前記無線送受信機は、ＷｉＦｉ送受信機、赤外線送受信機、ブルートゥース送受信機、ＷｉＭａｘ送受信機、無線携帯電話送受信機、衛星送受信機（例えば、全地球測位システム（ＧＰＳ）送受信機）、又はその他の無線周波数（ＲＦ）送受信機、又はそれらの組み合わせであってもよい。ＮＩＣは、イーサネット（登録商標）カードであってもよい。
【００６９】
入力装置１５０６は、マウス、タッチパネル、タッチスクリーン（表示装置１５０４と統合されてもよい）、ポインター装置（例えば、スタイラス）、及び／又はキーボード（例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード）を含むことができる。例えば、入力装置１５０６は、タッチスクリーンと接続するタッチスクリーンコントローラを含むことができる。タッチスクリーン及びタッチスクリーンコントローラは、例えば、様々なタッチ感応技術（コンデンサ、抵抗、赤外線、及び表面弾性波の技術を含むが、それらに限定されない）のいずれか、並びにその他の近接センサアレイ、又は、タッチスクリーンと接触する一つ以上の点を決定するためのその他の素子を用いて、それらの接触及び移動又は間欠を検出することができる。
【００７０】
ＩＩ／Ｏ装置１５０７は、音声装置を含むことができる。音声装置は、音声認識、音声複製、デジタル記録、及び／又は電話機能のような音声サポート機能を促進するために、スピーカ及び／又はマイクロフォンを含んでもよい。その他のＩ／Ｏ装置１５０７は、更に、ユニバーサルシリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計のようなモーションセンサ、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサなど）、又はそれらの組み合わせを含むことができる。装置１５０７は、更に結像処理サブシステム（例えば、カメラ）を含むことができ、前記結像処理サブシステムは、写真及びビデオ断片の記録のようなカメラ機能を促進するための、電荷結合素子（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）光学センサのような光学センサを含むことができる。特定のセンサは、センサハブ（図示せず）を介してインターコネクト１５１０に接続されることができ、キーボード又はサーマルセンサのようなその他の装置はシステム１５００の具体的な配置又は設計により、組込みコントローラ（図示せず）により制御されることができる。
【００７１】
データ、アプリケーション、一つ以上のオペレーティングシステムなどの情報の永続的記憶を提供するために、プロセッサ１５０１には、大容量記憶装置（図示せず）が接続されることができる。様々な実施形態において、より薄くてより軽量なシステム設計を可能にしながら、システムの応答性を向上するために、このような大容量記憶装置は、ソリッドステート装置（ＳＳＤ）によって実現されることができる。しかしながら、その他の実施形態において、大容量記憶装置は、主にハードディスクドライブ（ＨＤＤ）を使用して実現することができ、より小さい容量のＳＳＤ記憶装置をＳＳＤキャッシュとして機能することで、停電イベントの間にコンテキスト状態及び他のそのような情報の不揮発性記憶を可能にし、それによりシステム動作が再開するときに通電を速く実現することができる。また、フラッシュデバイスは、例えば、シリアルペリフェラルインターフェース（ＳＰＩ）を介してプロセッサ１５０１に接続されることができる。このようなフラッシュデバイスは、前記システムのＢＩＯＳ及びその他のファームウェアを含むシステムソフトウェアの不揮発性記憶のために機能することができる。
【００７２】
記憶装置１５０８は、コンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体又はコンピュータ可読記憶媒体ともいう）を含むことができ、前記コンピュータアクセス可能な記憶媒体１５０９には、本明細書で記載されたいずれか一種以上の方法又は機能を具現化する一つ以上の命令セット又はソフトウェア（例えば、モジュール、ユニット、及び／又はロジック１５２８）が記憶されている。処理モジュール／ユニット／ロジック１５２８は、前記部品のうちの何れか一つ、例えば計画モジュール３０５、制御モジュール３０６、感知モジュール３０２及び関連するサブコンポーネントを示すことができる。処理モジュール／ユニット／ロジック１５２８は、更に、データ処理システム１５００、メモリ１５０３、及びプロセッサ１５０１による実行中に、メモリ１５０３内及び／又はプロセッサ１５０１内に完全的に又は少なくとも部分的に存在してもよく、データ処理システム１５００、メモリ１５０３、及びプロセッサ１５０１も機械アクセス可能な記憶媒体を構成する。処理モジュール／ユニット／ロジック１５２８は、更に、ネットワークによってネットワークインターフェース装置１５０５を経由して送受信されてもよい。
【００７３】
コンピュータ可読記憶媒体１５０９は、以上に説明されたいくつかのソフトウェア機能を永続的に記憶するために用いることができる。コンピュータ可読記憶媒体１５０９は、例示的な実施形態において単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、前記一つ以上の命令セットが記憶される単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース、及び／又は関連するキャッシュとサーバ）を含むと解釈されるものとする。「コンピュータ可読記憶媒体」という用語は、更に、命令セットを記憶又は符号化できる任意の媒体を含むと解釈されるものであり、前記命令セットは機械により実行され、本発明のいずれか一種以上の方法を前記機械に実行させるためのものである。それゆえに、「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、光学媒体及び磁気媒体、又はその他の任意の非一時的な機械可読媒体を含むが、それらに限定されないと解釈されるものとする。
【００７４】
本明細書に記載の処理モジュール／ユニット／ロジック１５２８、構成要素及びその他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素（例えば、ＡＳＩＣＳ、ＦＰＧＡ、ＤＳＰ又は類似の装置）の機能に統合されてもよい。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置におけるファームウェア又は機能性回路として実現されてもよい。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置とソフトウェア構成要素の任意の組み合わせで実現されてもよい。
【００７５】
なお、システム１５００は、データ処理システムの様々な構成要素を有するものとして示されているが、構成要素を相互接続する任意の特定のアーキテクチャ又は方式を表すことを意図するものではなく、そのような詳細は、本発明の実施形態と密接な関係がない。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ、及び／又はその他のデータ処理システムも、本発明の実施形態と共に使用することができることを理解されたい。
【００７６】
前記具体的な説明の一部は、既に、コンピュータメモリにおけるデータビットに対する演算のアルゴリズムと記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。本明細書では、一般的に、アルゴリズムは、所望の結果につながるセルフコンシステントシーケンスと考えられる。これらの動作は、物理量の物理的処置が必要なものである。
【００７７】
しかしながら、念頭に置くべきなのは、これらの用語及び類似の用語の全ては、適切な物理量に関連付けられるものであり、これらの量を標識しやすくするためのものに過ぎない。以上の説明で他に明示的に記載されていない限り、本明細書の全体にわたって理解すべきなのは、用語（例えば、添付された特許請求の範囲に記載のもの）による説明とは、コンピュータシステム、又は類似の電子式計算装置の動作又はプロセスを指し、前記コンピュータシステム又は電子式計算装置は、コンピュータシステムのレジスタ及びメモリにおける物理（電子）量として示されたデータを制御するとともに、前記データをコンピュータシステムメモリ又はレジスタ又はこのようなその他の情報記憶装置、伝送又は表示装置において同様に物理量として示された別のデータに変換する。
【００７８】
本発明の実施形態は、本明細書の動作を実行するための装置にも関する。このようなコンピュータプログラムは、非一時的なコンピュータ可読媒体に記憶される。機械可読媒体は、機械（例えば、コンピュータ）により読み取り可能な形式で情報を記憶するための任意のメカニズムを含む。例えば、機械可読（例えば、コンピュータ可読）媒体は、機械（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置）を含む。
【００７９】
上述した図面において説明されたプロセス又は方法は、ハードウェア（例えば、回路、専用ロジックなど）、ソフトウェア（例えば、非一時的なコンピュータ可読媒体に具現化されるもの）、又は両方の組み合わせを含む処理ロジックにより実行されることができる。前記プロセス又は方法は、以上で特定の順序に応じて説明されたが、前記動作の一部が異なる順序で実行されてもよいことを理解されたい。また、一部の動作は、順番ではなく並行して実行されてもよい。
【００８０】
本発明の実施形態は、いずれの特定のプログラミング言語を参照することなく記載されている。理解すべきなのは、本明細書に記載の本発明の実施形態の教示を実現するために、様々なプログラミング言語を使用することができる。
【００８１】
前記明細書において、本発明の実施形態は、既にその具体的な例示的な実施形態を参照しながら記載された。明らかなように、添付された特許請求の範囲に記載された本発明のより広い趣旨及び範囲を逸脱しない限り、本発明に対して様々な変更を行うことができる。それゆえに、本明細書及び図面は、限定的な意味でなく、例示的な意味で理解されるべきである。
【外国語明細書】
2019192234000001.pdf