特許第6808775号(P6808775)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ バイドゥ・ユーエスエイ・リミテッド・ライアビリティ・カンパニーの特許一覧

特許6808775複数のキューを利用したオブジェクト追跡
<>
  • 特許6808775-複数のキューを利用したオブジェクト追跡 図000002
  • 特許6808775-複数のキューを利用したオブジェクト追跡 図000003
  • 特許6808775-複数のキューを利用したオブジェクト追跡 図000004
  • 特許6808775-複数のキューを利用したオブジェクト追跡 図000005
  • 特許6808775-複数のキューを利用したオブジェクト追跡 図000006
  • 特許6808775-複数のキューを利用したオブジェクト追跡 図000007
  • 特許6808775-複数のキューを利用したオブジェクト追跡 図000008
  • 特許6808775-複数のキューを利用したオブジェクト追跡 図000009
  • 特許6808775-複数のキューを利用したオブジェクト追跡 図000010
  • 特許6808775-複数のキューを利用したオブジェクト追跡 図000011
  • 特許6808775-複数のキューを利用したオブジェクト追跡 図000012
  • 特許6808775-複数のキューを利用したオブジェクト追跡 図000013
  • 特許6808775-複数のキューを利用したオブジェクト追跡 図000014
  • 特許6808775-複数のキューを利用したオブジェクト追跡 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6808775
(24)【登録日】2020年12月11日
(45)【発行日】2021年1月6日
(54)【発明の名称】複数のキューを利用したオブジェクト追跡
(51)【国際特許分類】
   G06T 7/246 20170101AFI20201221BHJP
   G06T 7/00 20170101ALI20201221BHJP
   G08G 1/16 20060101ALI20201221BHJP
【FI】
   G06T7/246
   G06T7/00 650Z
   G08G1/16 A
【請求項の数】18
【外国語出願】
【全頁数】25
(21)【出願番号】特願2019-77000(P2019-77000)
(22)【出願日】2019年4月15日
(65)【公開番号】特開2019-192234(P2019-192234A)
(43)【公開日】2019年10月31日
【審査請求日】2019年4月24日
(31)【優先権主張番号】15/956,438
(32)【優先日】2018年4月18日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】516267603
【氏名又は名称】バイドゥ・ユーエスエイ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】Baidu USA LLC
(74)【代理人】
【識別番号】110001416
【氏名又は名称】特許業務法人 信栄特許事務所
(72)【発明者】
【氏名】チェン,イ−クエイ
【審査官】 佐藤 実
(56)【参考文献】
【文献】 特開2018−045287(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 − 7/90
G08G 1/16
(57)【特許請求の範囲】
【請求項1】
自動運転車両に用いられるオブジェクト追跡のコンピュータ実施方法であって、前記方法は、
第1キューに基づいて現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第1セットのアフィニティースコアを算出することと、
前記第1セットのアフィニティースコアに基づいて1セットのプログレッシブアフィニティースコアを補正することと、
後続のキューに基づいて前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の後続の1セットのアフィニティースコアを算出することと、
前記後続の1セットのアフィニティースコアを利用して前記1セットのプログレッシブアフィニティースコアを補正することと、
補正された1セットのプログレッシブアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と、前記前の追跡オブジェクトのうちの一つ又は複数とを同一オブジェクトとして関連付けて、前記同一オブジェクトの運動を追跡することと、を含み
各アフィニティースコアは、前記現在の検出オブジェクトのうちの何れか一つと前記前の追跡オブジェクトのうちの何れか一つとの間の類似度の演算であ
各キューは、フレームに含まれるとともにオブジェクトの特徴を示す情報であり、
前記プログレッシブアフィニティースコアは、アフィニティースコアの履歴からのアフィニティースコアが積算されたものであり、
プログレッシブアフィニティースコアを補正することは、現在のプログレッシブアフィニティースコアに新しく算出されたアフィニティースコアを積算することであり、
前記方法は、
現在に算出されたアフィニティースコアと前に算出されたアフィニティースコアとの間の差異に基づいて、アフィニティースコアの演算をスキップするか否かを決定することさらに含む方法。
【請求項2】
アフィニティースコアの演算をスキップするか否かを決定することは、
前に算出されたアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数との間の不可能なマッチを特定することと、
後続のアフィニティースコアの演算を補正して前記不可能なマッチの演算をスキップすることと、
を含む請求項に記載の方法。
【請求項3】
アフィニティースコアの演算をスキップするか否かを決定することは、
前に算出されたアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数との間の肯定的なマッチを特定することと、
前記肯定的なマッチが確定された一つ又は複数の現在の検出オブジェクトと一つ又は複数の前の追跡オブジェクトの演算をスキップすることと、
ことを含む請求項に記載の方法。
【請求項4】
キューの正確度に基づいてキュー処理の順序を決定し、正確度の高いキューに対して、正確度の低いキューの前に算出すること、を更に含む請求項1に記載の方法。
【請求項5】
キュー処理の速度に基づいてキュー処理の順序を決定し、処理時間の短いキューに対して、処理時間の長いキューの前に算出すること、を更に含む請求項1に記載の方法。
【請求項6】
前記第1キューと前記後続のキューは、2D画像ブロック、2D形状、2Dボックス、3D情報、タイプ、ディープROI類似性、オプティカルフロー及びヒストグラムから選択される請求項1に記載の方法。
【請求項7】
前記1セットのプログレッシブアフィニティースコアに対して、アフィニティーマトリックスにおいて補正して、前記アフィニティーマトリックスに保持し、
前記現在のフレームにおける前記現在の検出オブジェクトのうちの一つ又は複数と、前記前の追跡オブジェクトのうちの一つ又は複数とを関連付けることは、最終的な1セットのプログレッシブアフィニティースコアに対してハンガリー方法を実行して、前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の最終的な関連を形成することを含む、請求項1に記載の方法。
【請求項8】
前記現在の検出オブジェクトに関連する情報に基づいて前記前の追跡オブジェクトを更新すること、を更に含む請求項に記載の方法。
【請求項9】
指令が記憶されている非一時的機器可読媒体であって、
前記指令は、プロセッサにより実行される場合に、
第1キューに基づいて現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第1セットのアフィニティースコアを算出することと、
前記第1セットのアフィニティースコアを利用して1セットのプログレッシブアフィニティースコアを補正することと、
後続のキューに基づいて前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の後続の1セットのアフィニティースコアを算出することと、
前記後続の1セットのアフィニティースコアを利用して前記1セットのプログレッシブアフィニティースコアを補正することと、
補正された1セットのプログレッシブアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数とを同一オブジェクトとして関連付けて前記同一オブジェクトの運動を追跡することと、を含む操作を前記プロセッサに実行させ
各アフィニティースコアは、前記現在の検出オブジェクトのうちの何れか一つと前記前の追跡オブジェクトのうちの何れか一つとの間の類似度の演算であ
各キューは、フレームに含まれるとともにオブジェクトの特徴を示す情報であり、
前記プログレッシブアフィニティースコアは、アフィニティースコアの履歴からのアフィニティースコアが積算されたものであり、
プログレッシブアフィニティースコアを補正することは、現在のプログレッシブアフィニティースコアに新しく算出されたアフィニティースコアを積算することであり、
前記操作は、
現在に算出されたアフィニティースコアと前に算出されたアフィニティースコアとの間の差異に基づいて、アフィニティースコアの演算をスキップするか否かを決定することさらに、非一時的機器可読媒体。
【請求項10】
アフィニティースコアの演算をスキップするか否かを決定することは、
前に算出されたアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数との間の不可能なマッチを特定することと、
後続のアフィニティースコアの演算を補正して前記不可能なマッチの演算をスキップすることと、を含む請求項に記載の非一時的機器可読媒体。
【請求項11】
アフィニティースコアの演算をスキップするか否かを決定することは、
前に算出されたアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数との間の肯定的なマッチを特定することと、
前記肯定的なマッチが確定された一つ又は複数の現在の検出オブジェクトと一つ又は複数の前の追跡オブジェクトの演算をスキップすることと、
を含む請求項に記載の非一時的機器可読媒体。
【請求項12】
キュー処理の順序を、正確度の高いキューが正確度の低いキューの前に処理されるように、キューの正確度に基づいて決定する請求項に記載の非一時的機器可読媒体。
【請求項13】
キュー処理の順序を、処理時間の短いキューが処理時間の長いキューの前に算出されるように、キュー処理の速度に基づいて決定する請求項に記載の非一時的機器可読媒体。
【請求項14】
前記第1キューと前記後続のキューは、2D画像ブロック、2D形状、2Dボックス、3D情報、タイプ、ディープROI類似性、オプティカルフロー及びヒストグラムから選択される請求項に記載の非一時的機器可読媒体。
【請求項15】
前記1セットのプログレッシブアフィニティースコアを、アフィニティーマトリックスにおいて補正して前記アフィニティーマトリックスに保持し、
前記現在のフレームにおける前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数とを関連付けることは、最終的な1セットのプログレッシブアフィニティースコアに対してハンガリー方法を実行して前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の最終的な関連を形成することを含む、請求項に記載の非一時的機器可読媒体。
【請求項16】
前記操作は、更に、
前記現在の検出オブジェクトからの情報を利用して前記前の追跡オブジェクトを更新する、ことを含む請求項15に記載の非一時的機器可読媒体。
【請求項17】
データ処理システムであって、
プロセッサと、
前記プロセッサに接続されて指令が記憶されるメモリと、を備え、
前記指令は、前記プロセッサにより実行される場合に、
第1キューに基づいて現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第1セットのアフィニティースコアを算出することと、
前記第1セットのアフィニティースコアを利用して1セットのプログレッシブアフィニティースコアを補正することと、
後続のキューに基づいて前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の後続の1セットのアフィニティースコアを算出することと、
前記後続の1セットのアフィニティースコアを利用して前記1セットのプログレッシブアフィニティースコアを補正することと、
前記1セットのプログレッシブアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数とを同一オブジェクトとして関連付けて前記同一オブジェクトの運動を追跡することと、を含む操作を前記プロセッサに実行させ
各アフィニティースコアは何れも前記現在の検出オブジェクトのうちの何れか一つと前記前の追跡オブジェクトのうちの何れか一つとの間の類似度の演算であ
各キューは、フレームに含まれるとともにオブジェクトの特徴を示す情報であり、
前記プログレッシブアフィニティースコアは、アフィニティースコアの履歴からのアフィニティースコアが積算されたものであり、
プログレッシブアフィニティースコアを補正することは、現在のプログレッシブアフィニティースコアに新しく算出されたアフィニティースコアを積算することであり、
前記操作は、
現在に算出されたアフィニティースコアと前に算出されたアフィニティースコアとの間の差異に基づいて、アフィニティースコアの演算をスキップするか否かを決定することさらにデータ処理システム。
【請求項18】
コンピュータプログラムであって、
前記コンピュータプログラムがプロセッサにより実行され、請求項1〜のいずれか一項に記載の方法を実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、主に自動運転車両の操作に関する。具体的に、本発明の実施形態は、複数のキューを利用してオブジェクトを追跡することに関する。
【背景技術】
【0002】
自動運転モード(例えば、ドライバーレス)で走行している車両は、乗員、特に人間の運転手をいくつかの運転に関する役割から解放できる。自動運転モードで走行しているとき、車両は、車載センサを使用して様々な位置までにナビゲートされることが可能であり、最小限のヒューマンコンピュータインタラクションや乗客がいないなどの状況で走行することが可能となった。
【0003】
自動運転の間に、車両は、例えば衝突を回避するために、電子メモリに追跡オブジェクトを保持することができる。オブジェクト(例えば、他の車両、大型の残骸、樹木と道路標識)は、速度、方向、加速度、配向、位置、自動運転車両(ADV)からの距離、並びに、衝突を回避し得る走行計画を行うようにADVに支援可能な他の有益な情報を具備することができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
オブジェクトのトレースを特定するために、ADVは過去と現在の画像/データフレーム、例えば車両周囲のオブジェクトの一連の画像又はビデオをキャプチャし、現在の画像フレームを処理して過去のフレーム又は前の追跡オブジェクトと比較することにより、現在のフレームにおけるオブジェクトと前の特定されたオブジェクトのトレースにマッチさせるようにする。ところが、ADVにおける従来の方法及びシステムでは、複数のキューに対して、協同させることなく、個別に処理したため、信頼できない傾向がある。
【課題を解決するための手段】
【0005】
本発明の一態様は、自動運転車両に用いられるオブジェクト追跡のコンピュータ実施方法であって、前記方法は、第1キューに基づいて現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第1セットのアフィニティースコアを算出することと、前記第1セットのアフィニティースコアに基づいて1セットのプログレッシブアフィニティースコアを補正することと、後続のキューに基づいて前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の後続の1セットのアフィニティースコアを算出することと、前記後続の1セットのアフィニティースコアを利用して前記1セットのプログレッシブアフィニティースコアを補正することと、補正された1セットのプログレッシブアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と、前記前の追跡オブジェクトのうちの一つ又は複数とを同一オブジェクトとして関連付けて、前記同一オブジェクトの運動を追跡し、各アフィニティースコアは、前記現在の検出オブジェクトのうちの何れか一つと前記前の追跡オブジェクトのうちの何れか一つとの間の類似度の演算であることと、を含む方法に関する。
【0006】
本発明の他の一態様は、指令が記憶されている非一時的機器可読媒体であって、前記指令は、プロセッサにより実行される場合に、第1キューに基づいて現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第1セットのアフィニティースコアを算出することと、
前記第1セットのアフィニティースコアを利用して1セットのプログレッシブアフィニティースコアを補正することと、後続のキューに基づいて前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の後続の1セットのアフィニティースコアを算出することと、前記後続の1セットのアフィニティースコアを利用して前記1セットのプログレッシブアフィニティースコアを補正することと、補正された1セットのプログレッシブアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数とを同一オブジェクトとして関連付けて前記同一オブジェクトの運動を追跡し、各アフィニティースコアは、前記現在の検出オブジェクトのうちの何れか一つと前記前の追跡オブジェクトのうちの何れか一つとの間の類似度の演算であることと、を含む操作を前記プロセッサに実行させる、非一時的機器可読媒体に関する。
【0007】
本発明の他の一態様は、データ処理システムであって、プロセッサと、前記プロセッサに接続されて指令が記憶されるメモリと、を備え、
前記指令は、前記プロセッサにより実行される場合に、第1キューに基づいて現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第1セットのアフィニティースコアを算出することと、前記第1セットのアフィニティースコアを利用して1セットのプログレッシブアフィニティースコアを補正することと、後続のキューに基づいて前記現在の検出オブジェクトと前記前の追跡オブジェクトとの間の後続の1セットのアフィニティースコアを算出することと、前記後続の1セットのアフィニティースコアを利用して前記1セットのプログレッシブアフィニティースコアを補正することと、前記1セットのプログレッシブアフィニティースコアに基づいて、前記現在の検出オブジェクトのうちの一つ又は複数と前記前の追跡オブジェクトのうちの一つ又は複数とを同一オブジェクトとして関連付けて前記同一オブジェクトの運動を追跡し、各アフィニティースコアは何れも前記現在の検出オブジェクトのうちの何れか一つと前記前の追跡オブジェクトのうちの何れか一つとの間の類似度の演算であることと、を含む操作を前記プロセッサに実行させるデータ処理システムに関する。
【図面の簡単な説明】
【0008】
本発明の実施形態は、図面の各図において限定的ではなく例示的な形態で示され、図面における同じ図面符号が類似した素子を示す。
図1】一実施形態に係るネットワークシステムを示すブロック図である。
図2】一実施形態に係る自動運転車両の一例を示すブロック図である。
図3A図3Aは、一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。
図3B図3Bは、一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。
図3C図3Cは、一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。
図4A図4Aは、追跡オブジェクトを示す例である。
図4B図4Bは、追跡オブジェクトを示す例である。
図5A図5Aは、幾つかの実施形態に係るアフィニティーマトリックス(affinity matrices)を示す例である。
図5B図5Bは、幾つかの実施形態に係るアフィニティーマトリックス(affinity matrices)を示す例である。
図5C図5Cは、幾つかの実施形態に係るアフィニティーマトリックス(affinity matrices)を示す例である。
図5D図5Dは、幾つかの実施形態に係るアフィニティーマトリックス(affinity matrices)を示す例である。
図6】一実施形態に係るオブジェクトを追跡するためのフローチャートの例示である。
図7】一実施形態に係るカスケード接続追跡器のパイプラインの例である。
図8】一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【0009】
以下、説明の詳細を参照しながら本発明の様々な実施形態及び態様を説明し、前記様々な実施形態が図面に示される。以下の説明及び図面は、本発明を例示するためのものであり、限定するものとして解釈されるべきではない。本発明の様々な実施形態を全面的に理解するために、多くの特定の詳細を説明する。なお、本発明の実施形態を簡潔的に説明するように、周知又は従来技術の詳細について説明していない場合もある。
【0010】
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に基づいて説明された特定の特徴、構造又は特性が本発明の少なくとも一実施形態に含まれてもよいと意味する。「一実施形態では」という表現は、本明細書の全体において全てが同一の実施形態を指すとは限らない。
【0011】
幾つかの実施形態によれば、自動運転車両に用いられるオブジェクト追跡のコンピュータ実施方法であって、第1キューに基づいて、現在のフレームにおける現在の検出オブジェクトと前のフレームにおける前の追跡オブジェクトとの間の第1セットのアフィニティースコアを算出することと、第1セットのアフィニティースコアを利用して1セットのプログレッシブアフィニティースコアを補正することと、後続のキューに基づいて現在の検出オブジェクトと前の追跡オブジェクトとの間の1セットの後続のアフィニティースコアを算出することと、当該セットの後続のアフィニティースコアを利用して前記1セットのプログレッシブアフィニティースコアを補正することと、当該セットのプログレッシブアフィニティースコアに基づいて、現在の検出オブジェクトのうち一つ又は複数と前の追跡オブジェクトのうち一つ又は複数とを同一のオブジェクトとして関連付けて同一のオブジェクトの運動を追跡し、各アフィニティースコアは、現在の検出オブジェクトのうち何れか一つと前の追跡オブジェクトのうち何れか一つとの間の類似度の演算であることと、を含むコンピュータ実施方法が提供される。カスケード接続の実行段階(即ち、第1キューに基づいて第1セットのアフィニティースコアを算出し、そして1セットのプログレッシブアフィニティースコアを次のセットのアフィニティースコアの演算にフィードすること)により、前に算出されたアフィニティースコアに基づいてアフィニティースコアの演算をスキップするか否かを決定することが提供される。
【0012】
一実施形態において、アフィニティースコアの演算をスキップするか否かを確定することは、前に算出されたアフィニティースコアに基づいて現在の検出オブジェクトのうち一つ又は複数と前の追跡オブジェクトのうち一つ又は複数との間の不可能なマッチを特定することと、後続のアフィニティースコアの演算を補正して不可能なマッチの演算をスキップすることを含んでも良い。置換的に又は付加的に、アフィニティースコアの演算をスキップするか否かを決定することは、前に算出されたアフィニティースコアに基づいて現在の検出オブジェクトのうち一つ又は複数と前の追跡オブジェクトのうち一つ又は複数との間の肯定的なマッチを特定することと、肯定的なマッチと確定された一つ又は複数の現在の検出オブジェクトと一つ又は複数の前の追跡オブジェクトの演算をスキップすることを含んでも良い。
【0013】
図1は、本発明の一実施形態に係る自動運転車両のネットワーク構成を示すブロック図である。図1に示すように、ネットワーク構成100は、ネットワーク102を介して一つ以上のサーバ103〜104に通信可能に接続される自動運転車両101を含む。一つの自動運転車両のみが示されているが、複数の自動運転車両が、ネットワーク102を介して、互いに接続され、及び/又はサーバ103〜104に接続されてもよい。ネットワーク102は、任意のタイプのネットワーク、例えば、有線又は無線のローカルエリアネットワーク(LAN)、インターネットのようなワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク又はそれらの組み合わせであってもよい。サーバ103〜104は、如何なるタイプのサーバ又はサーバクラスタであってもよく、例えば、ネットワーク又はクラウドサーバ、アプリサーバ、バックエンドサーバ又はそれらの組み合わせが挙げられる。サーバ103〜104は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図及び関心地点(MPOI)サーバ、又は位置サーバなどであってもよい。
【0014】
自動運転車両とは、自動運転モードになるように構成可能な車両を指し、前記自動運転モードにおいて、車両が運転手からの入力がほとんど又は全くない場合に環境を通過するようにナビゲートされる。このような自動運転車両は、車両動作環境に関連する情報を検出するように構成された一つ以上のセンサを有するセンサシステムを含んでもよい。前記車両及びその関連コントローラは、検出された情報を使用して前記環境を通過するようにナビゲートする。自動運転車両101は、手動モード、全自動運転モード、又は部分自動運転モードで動作することができる。
【0015】
一実施形態では、自動運転車両101は、感知・計画システム110、車両制御システム111、無線通信システム112、ユーザインターフェースシステム113、及びセンサシステム115を含むが、それらに限定されない。自動運転車両101は更に、エンジン、車輪、ステアリングホイール、変速機などの従来の車両に含まれるいくつかの共通構成要素を含んでもよい。前記構成要素は、車両制御システム111及び/又は感知・計画システム110によって様々な通信信号及び/又は命令で制御されることができ、これらの様々な通信信号及び/又は命令は、例えば加速信号又は命令、減速信号又は命令、ステアリング信号又は命令、ブレーキ信号又は命令などを含む。
【0016】
構成要素110〜115は、インターコネクト、バス、ネットワーク、又はこれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素110〜115は、コントローラエリアネットワーク(CAN)バスを介して互いに通信可能に接続することができる。CANバスは、ホストコンピュータなしのアプリケーションでマイクロコントローラ及びデバイスが相互に通信できるように設計された車両バス規格である。それは、もともと自動車内の多重電気配線のために設計されたメッセージに基づくプロトコルであるが、他の多くの環境にも用いられる。
【0017】
ここで図2を参照すると、一実施形態では、センサシステム115は、一つ以上のカメラ211、全地球測位システム(GPS)ユニット212、慣性計測ユニット(IMU)213、レーダユニット214並びに光検出及び測距(LIDAR)ユニット215を含むが、それらに限定されない。GPSユニット212は、自動運転車両の位置に関する情報を提供するように動作可能な送受信機を含んでもよい。IMUユニット213は、慣性加速度に基づいて自動運転車両の位置及び配向の変化を検知することができる。レーダユニット214は、無線信号を利用して自動運転車両のローカル環境内のオブジェクトを検知するシステムを表すことができる。いくつかの実施形態では、オブジェクトを検知することに加えて、レーダユニット214は、オブジェクトの速度及び/又は進行方向を更に検知することができる。LIDARユニット215は、レーザを使用して自動運転車両の所在環境内のオブジェクトを検知することができる。LIDARユニット215は、他のシステム構成要素のほかに、一つ以上のレーザ源、レーザスキャナ、及び一つ以上の検出器を更に含むことができる。カメラ211は、自動運転車両の周囲の環境における画像を取り込むための一つ以上の装置を含むことができる。カメラ211は、スチルカメラ及び/又はビデオカメラであってもよい。カメラは、例えば、回転及び/又は傾斜のプラットフォームにカメラを取り付けることによって、機械的に移動されてもよい。
【0018】
センサシステム115は、ソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ(例えば、マイクロフォン)などの他のセンサを更に含むことができる。オーディオセンサは、自動運転車両の周囲の環境から音を取得するように構成されてもよい。ステアリングセンサは、ステアリングホイール、車両の車輪、又はそれらの組み合わせの操舵角を検知するように構成されてもよい。スロットルセンサ及びブレーキセンサそれぞれは、車両のスロットル位置及びブレーキ位置を検知する。場合によっては、スロットルセンサとブレーキセンサを統合型スロットル/ブレーキセンサとして一体化することができる。
【0019】
一実施形態では、車両制御システム111は、ステアリングユニット201、スロットルユニット202(加速ユニットともいう)、及びブレーキユニット203を含むが、それらに限定されない。ステアリングユニット201は、車両の方向又は進行方向を調整するために用いられる。スロットルユニット202は、モータ又はエンジンの速度を制御するために用いられ、モータ又はエンジンの速度によって更に車両の速度及び加速度を制御する。ブレーキユニット203は、摩擦を与えることによって車両の車輪又はタイヤを減速させることで、車両を減速させる。なお、図2に示す構成要素は、ハードウェア、ソフトウェア、又はそれらの組み合わせで実現されることができる。
【0020】
図1を再び参照して、無線通信システム112は、自動運転車両101と、装置、センサ、他の車両などの外部システムとの間の通信を可能にするものである。例えば、無線通信システム112は、直接又は通信ネットワークを介して一つ以上の装置と無線通信することができ、例えば、ネットワーク102を介してサーバ103〜104と通信することができる。無線通信システム112は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク(WLAN)を使用することができ、例えば、WiFiを使用して別の構成要素又はシステムと通信することができる。無線通信システム112は、例えば、赤外線リンク、ブルートゥース(登録商標)などを使用して、装置(例えば、乗客のモバイルデバイス、表示装置、車両101内のスピーカ)と直接通信することができる。ユーザインターフェースシステム113は、車両101内に実現された周辺装置の部分(例えば、キーボード、タッチスクリーン表示装置、マイクロホン、及びスピーカなどを含む)であってもよい。
【0021】
特に自動運転モードで動作しているときに、自動運転車両101の機能の一部又は全部は、感知・計画システム110によって制御又は管理することができる。感知・計画システム110は、必要なハードウェア(例えば、プロセッサ、メモリ、記憶装置)及びソフトウェア(例えば、オペレーティングシステム、計画及びルーティングプログラム)を備え、センサシステム115、制御システム111、無線通信システム112、及び/又はユーザインターフェースシステム113から情報を受信し、受信した情報を処理し、出発地から目的地までのルート又は経路を計画し、その後、計画・制御情報に基づいて車両101を運転する。 あるいは、感知・計画システム110を車両制御システム111と統合することができる。
【0022】
例えば、乗客としてのユーザは、例えば、ユーザインターフェースを介して、旅程の出発地位置及び目的地を指定することができる。感知・計画システム110は旅程関連データを取得する。例えば、感知・計画システム110は、MPOIサーバから位置及びルート情報を取得することができ、前記MPOIサーバはサーバ103〜104の一部であってもよい。位置サーバは位置サービスを提供し、MPOIサーバは地図サービス及び特定の位置のPOIを提供する。あるいは、そのような位置及びMPOI情報は、感知・計画システム110の永続的記憶装置にローカルキャッシュされることが可能である。
【0023】
自動運転車両101がルートに沿って移動するとき、感知・計画システム110は交通情報システム又はサーバ(TIS)からリアルタイム交通情報を取得することもできる。なお、サーバ103〜104は第三者エンティティによって操作されることが可能である。あるいは、サーバ103〜104の機能は、感知・計画システム110と統合することができる。リアルタイム交通情報、MPOI情報、及び位置情報、並びにセンサシステム115によって検出又は検知されたリアルタイムローカル環境データ(例えば、障害物、オブジェクト、周辺車両)に基づいて、感知・計画システム110は、指定された目的地までに安全かつ効率的に到着するように、最適なルートを計画し、計画されたルートに従って、例えば、制御システム111によって車両101を運転する。
【0024】
サーバー103は、様々なクライアントにデータ解析サービスを提供するデータ解析システムであってもよい。本発明の一実施形態において、データ解析システム103は、データコレクタ121及び機械学習エンジン122を備える。データコレクタ121は、様々な車両(自動運転車、又は操作者が運転する普通車両)から運転統計データ123を収集する。運転統計データ123は、発された運転命令(例えば、変速、ブレーキ、ステアリング命令等)を指示する情報や、車載センサーが異なる時点で採集した車両の応答(例えば、速度、加速度、減速度、方向等)を含む。運転統計データ123は、ルート(出発地位置と目的位置)、MPOI、天気状況、道路状況のような異なる時点の運転環境を記述する情報を含んでも良い。
【0025】
機器学習エンジン122は、運転統計データ123に基づいて、各種の目的のためにルール、アルゴリズム及び/又は予測モデル124のセットを生成し又はトレーニングする。例えば、アルゴリズム124には、常に障害物を追跡するようにアフィニティースコアを算出するアルゴリズムが含まれる。その後、リアルタイムな自動運転を可能にするように、アルゴリズム124は、更にADVにアップロードされる可能である。
【0026】
図3A及び図3Bは、一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。システム300は、図1の自動運転車両101の一部として実現することができ、感知・計画システム110、制御システム111、及びセンサシステム115を含むが、それらに限定されない。図3A図3Bに示すように、感知・計画システム110は、測位モジュール301、感知モジュール302、予測モジュール303、決定モジュール304、計画モジュール305、制御モジュール306、ルーティングモジュール307を備えるが、これらに限定されない。
【0027】
モジュール301〜307及び関連するサブコンポーネントのうち一部又は全部は、ソフトウェア、ハードウェア又はそれらの組み合わせで実現されてもよい。例えば、これらのモジュールは、永続的記憶装置352にインストールされ、メモリ351にロードされ、一つ以上のプロセッサ(図示せず)によって実行されることができる。なお、これらのモジュールの一部又は全部は、図2の車両制御システム111のモジュールの一部又は全部と通信可能に接続されるか、又は一体化されてもよい。モジュール301〜307のうち一部は、一体に集積モジュールとして集積可能である。
【0028】
測位モジュール301は、自動運転車両300の現在の位置(例えば、GPSユニット212を利用して)を特定し、ユーザの旅程又はルートに関連する如何なるデータを管理する。測位モジュール301(地図及びルートモジュールともいう)は、ユーザの旅程又はルートに関連する如何なるデータを管理する。ユーザは、例えば、ユーザインターフェースを介してログインして、旅程の出発地位置及び目的地を指定することができる。測位モジュール301は、自動運転車両300の地図・ルート情報311のような他の構成要素と通信して、旅程関連データを取得する。例えば、測位モジュール301は、位置サーバ並びに地図及びPOI(MPOI)サーバから位置及びルート情報を取得することができる。位置サーバは位置サービスを提供し、MPOIサーバは、地図サービス及び特定の位置のPOIを提供し、地図・ルート情報311の一部としてキャッシュすることができる。自動運転車両300がルートに沿って移動するとき、測位モジュール301は交通情報システム又はサーバからリアルタイム交通情報を得ることもできる。
【0029】
感知モジュール302は、センサシステム115により提供されたセンサデータと、測位モジュール301により取得された測位情報とに基づいて、周囲環境への感知を特定する。感知情報は、一般的な運転手が運転手により運転されている車両の周囲で感知すべきものを表すことができる。感知は、例えばオブジェクトの形態を採用する車線構成(例えば、直進車線又はカーブ車線)、信号機信号、他の車両の相対位置、歩行者、建築物、横断歩道、又は他の交通関連標識(例えば、止まれ標識、ゆずれ標識)などを含んでもよい。
【0030】
感知モジュール302は、一つ以上のカメラによって取り込まれた画像を処理及び解析して、自動運転車両の環境内のオブジェクト及び/又は特徴を認識するためのコンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。前記オブジェクトは、交通信号、道路境界、他の車両、歩行者及び/又は障害物などを含むことができる。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキング、及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図を描き、オブジェクトを追跡し、オブジェクトの速度などを推定することができる。感知モジュール302は、レーダ及び/又はLIDARのような他のセンサによって提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
【0031】
各オブジェクトについて、予測モジュール303は、その環境ではオブジェクトがどのように挙動するかを予測する。予測とは、地図・ルート情報311と交通ルール312のセットを考慮して、当該時点における運転環境を感知する感知データに基づいて実行される。例えば、オブジェクトが反対方向の車両であり、かつ現在の運転環境が交差点を含む場合に、予測モジュール303は、車両が直進するか、又は旋回するかを予測する。感知データが、交差点に信号機がないことを示す場合、予測モジュール303は、交差点に入る前に車両が完全に停止する必要があると予測する可能性がある。感知データが、車両が現在左折専用車線又は右折専用車線にあることを示す場合、予測モジュール303は、車両がそれぞれ左折又は右折する可能性がより高いと予測することができる。
【0032】
それぞれのオブジェクトに対して、決定モジュール304はオブジェクトをどのように処理するかを決定する。例えば、特定のオブジェクト(例えば、交差のルートにおける他の車両)及びオブジェクトを記述するメタデータ(例えば、速度、方向、操舵角)について、決定モジュール304は前記オブジェクトと遇うときに如何に対応するか(例えば、追い越し、道譲り、停止、追い抜き)を決定する。決定モジュール304は、交通ルール又は運転ルール312のようなルールセットに基づいてそのような決定を行うことができ、前記ルールセットは永続的記憶装置352に記憶することができる。
【0033】
ルーティングモジュール307は、出発地から目的地までの一つ以上のルート又は経路を提供するように構成される。ルーティングモジュール307は、出発地位置から目的地位置までの所与の行程(例えば、ユーザから受信された所与の旅程)について、地図・ルート情報311を取得し、出発地位置から目的地位置までのすべての可能なルート又は経路を決定する。ルーティングモジュール307は、出発地位置から目的地位置までの各ルートを決定する地形図の形の基準線を生成することができる。基準線とは、他の車両、障害物、又は交通状況などからの如何なる干渉を受けていない理想的なルート又は経路を指す。つまり、道路に他の車両、歩行者又は障害物がない場合、ADVは基準線に精確的に又は密接的に従うべきである。そして、地形図を決定モジュール304及び/又は計画モジュール305に提供する。決定モジュール304及び/又は計画モジュール305は、他のモジュールにより提供された他のデータ(例えば測位モジュール301からの交通状况、感知モジュール302により感知された運転環境及び予測モジュール303により予測された交通状况)に応じて、全ての走行可能なルートを検査して最適ルートのうちの一つを選択及び補正する。特定時点における特定の運転環境に応じて、ADVを制御するための実際の経路又はルートは、ルーティングモジュール307によって提供される基準線に近いか又は異なっていてもよい。
【0034】
感知されたオブジェクトのそれぞれに対する決定に基づいて、計画モジュール305は、ルーティングモジュール307によって提供される基準線をベースとし、自動運転車両に対して経路又はルート並びに運転パラメータ(例えば、距離、速度及び/又は操舵角)を計画する。言い換えれば、特定のオブジェクトについて、決定モジュール304は当該オブジェクトに対して何をするかを決定し、計画モジュール305はどのようにするかを決定する。例えば、特定のオブジェクトについて、決定モジュール304は前記オブジェクトを追い抜くかを決定することができ、計画モジュール305は前記オブジェクトを左側から追い抜くか又は右側から追い抜くかを決定することができる。計画・制御データは、計画モジュール305により生成され、車両300が次の移動周期(例えば、次のルート/経路区間)にはどのように移動するかを記述する情報を含む。例えば、計画・制御データは、車両300に時速30マイル(mph)で10m移動し、次に25マイル(mph)で右車線に変更するように指示することができる。
【0035】
制御モジュール306は、計画・制御データに基づいて、計画・制御データにより限定されたルート又は経路に応じて適当な命令又は信号を車両制御システム111に送信することにより自動運転車両を制御及び運転する。前記計画・制御データは、経路又はルートに沿って異なる時点で適切な車両配置又は運転パラメータ(例えば、スロットル、ブレーキ、及びステアリング命令)を使用して、車両をルート又は経路の第1の点から第2の点まで運転するのに十分な情報を含む。
【0036】
一実施形態では、計画段階は、例えば、時間間隔が100ミリ秒(ms)の周期など、複数の計画周期(命令周期ともいう)で実行される。計画周期又は命令周期のそれぞれについて、計画・制御データに基づいて一つ以上の制御命令を発する。すなわち、100msごとに、計画モジュール305は、次のルート区間又は経路区間(例えば、オブジェクト位置及びADVがオブジェクト位置に到着するのに必要な時間が含まれる)を計画する。あるいは、計画モジュール305は、具体的な速度、方向、及び/又は操舵角などを更に指定することができる。一実施形態では、計画モジュール305は、次の所定期間(例えば、5秒)のルート区間又は経路区間を計画する。計画周期のそれぞれに対し、計画モジュール305は、前の周期で計画されたオブジェクト位置に基づいて、現在の周期(例えば、次の5秒)のためのオブジェクト位置を計画する。次に、制御モジュール306は、現在の周期の計画・制御データに基づいて、一つ以上の制御命令(例えば、スロットル、ブレーキ、ステアリング制御命令)を生成する。
【0037】
なお、決定モジュール304及び計画モジュール305は、集積モジュールとして一体化されてもよい。決定モジュール304/計画モジュール305は、自動運転車両の走行経路を決定するためのナビゲーションシステム又はナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、自動運転車両の以下の経路に沿った移動を達成するための一連の速度及び進行方向を決定することができる。前記経路では、自動運転車両が最終的な目的地に通じる走行車線ベースの経路に沿って前進するとともに、感知した障害物を実質的に回避できる。目的地は、ユーザインターフェースシステム113を介したユーザ入力に従って設定することができる。ナビゲーションシステムは、自動運転車両が走行している間に走行経路を動的に更新することができる。ナビゲーションシステムは、自動運転車両のための走行経路を決定するために、GPSシステム及び一つ以上の地図からのデータを取り入れることができる。
【0038】
決定モジュール304/計画モジュール305は、更に、自動運転車両の環境における潜在的な障害物を認識、評価、回避又は他の方法で通過するための衝突防止システム又は衝突防止システムの機能を含むことができる。例えば、衝突防止システムは、制御システム111の一つ以上のサブシステムを動作させて、方向変更動作、旋回動作、ブレーキ動作などを行うことによって、自動運転車両のナビゲーション中の変更を実現することができる。衝突防止システムは、周囲の交通パターンや道路状況などに基づいて、実行可能な障害物回避動作を自動的に決定することができる。衝突防止システムは、他のセンサシステムが、自動運転車両が方向変更して進入しようとする隣接領域における車両、建築障害物などを検出したときに、方向変更動作を行わないように構成されることができる。衝突防止システムは、自動運転車両の乗員の安全性を最大限にするとともに、利用可能な動作を自動的に選択することができる。衝突防止システムは、自動運転車両の客室内に最も少ない加速度を発生させると予測される回避動作を選択することができる。
【0039】
図3Cは、アフィニティースコア算出部321とアフィニティーマトリックスマネージャ322を備える感知モジュール302のサブコンポーネントを示した。一実施形態において、アフィニティースコア算出部321は、特定のキューから抽出された1セットの特徴に基づいて現在の周期において検出された特定のオブジェクトのアフィニティースコアを算出するように配置される。アフィニティーマトリックスマネージャ322は、例えば、アフィニティースコアをアフィニティーマトリックスに記憶されている既存のスコアと合併し又は統合すること(例えば、所定公式の乗算、加算、減算)により、ある段階又はキューから他の段階又はキューに引き出されたアフィニティーマトリックスを更新するように配置される。アフィニティーマトリックスは、一つのキューに対応する処理段階から他のキューに対応する次の処理段階に伝わる。異なる周期における同一オブジェクトのキューから抽出された特徴が類似である場合に、それらに対応するアフィニティースコアがより高くなり、且つアフィニティーマトリックスに記憶される結合アフィニティースコアがより高くなる。アフィニティーマトリックスが持っている高いアフィニティースコアは、現在の検出オブジェクトと前の検出オブジェクトとが同一又は類似する確率がより高いと示す。従って、アフィニティースコアは、二つの異なる周期(例えば、計画周期)において検出された二つのオブジェクトの間の類似性を示す。
【0040】
複数のキューを利用してオブジェクトを追跡することについて、図4A図4Bを参照して当該概念を説明する。ADVの感知モジュールは、2D画像ブロック、2D形状、2Dボックス、3D情報、タイプ、ディープランニングされたROI類似性、オプティカルフロー、ヒストグラム又は機器学習又は設計による特定の特徴を含む各種のキューに基づいてオブジェクトを追跡可能である。各キューに対する処理を実行して現在の検出オブジェクトと前の追跡オブジェクトとの間の類似度又はアフィニティーを特定する。前の追跡オブジェクトはコンピュータのメモリに保持され、且つ新たなデータフレームに対する処理により更新される。新たなデータフレームは、例えば2D画像として生成可能である。
【0041】
例えば、図4Aは前に算出されたフレームからの追跡オブジェクトを示した。システムは、ADVに対する関心領域(例えば、ADVの前の領域)に位置していると検知されたオブジェクトの追跡データを保持する。図4Aにおいて、オブジェクト/車両402、オブジェクト/車両404及びオブジェクト/樹木406がADVに対する関心領域に位置する例示を示した。
【0042】
ADVは、これらオブジェクトのトレース(トレースは例えばサイズ、速度、方向、位置、ADVまでの距離、操舵角、加速度と配向が含んでも良い)を保持して、ADVに運転決定を通知し衝突を回避させることができる。オブジェクトのトレースをリアルタイムに保持し更新するために、現在のフレームを処理し、且つ現在のフレームに検出されたオブジェクトと前の追跡オブジェクトとをマッチングする。
【0043】
例えば、図4Bは、後続のフレームを示した。そのうち、車両402、車両404と樹木406は、やや大きくなったため、既に近づいているように見えた。また、新たなオブジェクト/車両408が当該フレームに入った。現在のフレームのオブジェクトと前の追跡オブジェクトとのマッチングが人間にとって非常に容易であるが、コンピュータにとって確実ではない。コンピュータのマッチング能力を向上させるために、フレームのそれぞれに対して複数のキューを処理することにより、検出されたオブジェクトのそれぞれに対して、前の追跡オブジェクトとマッチングする。この場合に、ADVシステムは、新たに検出された全てのオブジェクトと前の追跡オブジェクトとをマッチングし、且つ追跡情報を更新することを試す。また、ADVシステムは、新たなオブジェクト/車両408が関心領域に入っていると確定し、オブジェクト/車両408に基づいて新たなトレースを作成することができる。
【0044】
図6を参照する。ADV(感知モジュール302)は、操作602において最新の画像/フレームと対応する検出とを受信し、操作604においてカスケード接続追跡器のパイプラインにおいて最新の画像/フレームと検出を処理することができる。カスケード接続追跡器のパイプラインにおいて全てのキューが処理されると、感知モジュール302は、操作606においてカスケード接続追跡器のパイプラインに受信された最終的な1セットのアフィニティーの演算に対して組み合わせのアルゴリズム、例えば、ハンガリー(Hungarian)方法を実行することができる。操作606において、ハンガリー方法は、現在のフレームからの現在の検出オブジェクトとトレースとの間の最終的な関係/関連を出力する。ハンガリー方法は、多項式の時間に関する割り当ての問題を解決するための組み合わせの最適化アルゴリズムである。当該例示において、ハンガリー方法は、現在に検出されたオブジェクトを前に検出されたオブジェクトに割り当て、その逆も同じである。これにより、それらが互いに相関する(例えば、類似し又は同じである)と考えられることになる。
【0045】
例えば、図4A図4Bを再び参照すると、新たに検出されたオブジェクト402、オブジェクト404とオブジェクト406は、それぞれトレース402、トレース404とトレース406に関連付けられる。新たに検出されたオブジェクト408は、既存のトレースの何れもと関連付けられない。そして操作608において、追跡器とIDマネジャーデバイスは、オブジェクト408に対して新たなトレースを作成しトレース402、トレース404とトレース406を更新することにより、操作620においてトレースIDのマップを検出したとの出力を形成して、ADVに運転決定を行うように提供することができる。その後に、操作610において更新されたトレースを前のトレースとして使用することにより、次のフレームを同じように処理する。
【0046】
ここで図7を参照する。カスケード追跡器のパイプライン604には、複数の部分が備えられても良い。例えば、操作702において、システムは第1キューに基づいて現在のフレームの現在の検出オブジェクトと前のフレームの前の追跡オブジェクトとの間の第1セットのアフィニティースコアを算出することができる。アフィニティースコアは、例えば、アフィニティーマトリックス313の一部として、永続的記憶装置に記憶することができる。アフィニティースコア算出部321は、特定のアフィニティーの採点アルゴリズムを使用して特定のキューのアフィニティースコアを算出するように配置される。キュー毎に異なる採点アルゴリズムを具備することができる。
【0047】
一実施形態において、1セットの所定のキュー(例えば、3D位置、2D画像ブロック、2Dボックス、ROI特徴など)のそれぞれについて、オブジェクトをキャプチャした画像から1セットの特徴を抽出する。そして対応するキューの抽出特徴に基づいてアフィニティースコアを算出する。
【0048】
続いて、システムは、操作704において第1セットのアフィニティースコアを利用して1セットのプログレッシブアフィニティースコアを補正することができる。アフィニティーマトリックスにおいて、アフィニティースコアは補正され保持可能である。例えば、図5Aを参照し、アフィニティーマトリックスにおいてm行とn列を有することができる。それぞれの行は追跡オブジェクト(T1、T2とT3)を示し、それぞれの列は現在のフレームにおいて検出されたオブジェクト(D1、D2、D3とD4)を示す。アフィニティーマトリックス(a11、a12......a34)における各要素は、検出オブジェクトのうちの何れか一つと追跡オブジェクトのうちの何れか一つとの間の類似性に対応する。従って、アフィニティーマトリックスには、アフィニティースコアの履歴からのアフィニティースコアが積算された。
【0049】
図7に戻して参照すると、操作706において、システムは後続のキューに基づいて現在のフレームの現在の検出オブジェクトと前の追跡オブジェクトとの間の後続の1セットのアフィニティースコアを算出することができる。有利で且つ有益な面として、後続のキューのそれぞれの演算又は1セットの演算について、システムは前に算出されたアフィニティースコアに基づいてアフィニティースコアの演算をスキップするか否かを決定することができる。
【0050】
例えば、システムは、前に算出されたアフィニティースコア(例えば、前の段階/キューから与えられた)に基づいて現在の検出オブジェクトのうちの一つ又は複数と前の追跡オブジェクトのうちの一つ又は複数との間の不可能なマッチを特定し、そして、後続のアフィニティースコアの演算を補正して不可能なマッチの演算をスキップすることができる。その代わりに、現在の検出オブジェクトと前の検出オブジェクトとの間の差異が所定の閾値を超えた場合に、この二つのオブジェクトが同一のオブジェクトである可能性が低い。従って、この二つのオブジェクトの間のアフィニティースコアの後続の演算をスキップしてリソースの消費を低減することができる。同様に、アフィニティーマトリックスにおける二つのオブジェクトの間のアフィニティースコアが所定の閾値よりも高い場合に、これらオブジェクトが同一のオブジェクトである可能性が高い。従って、後続の演算をスキップしても良い。アフィニティースコアを算出する目的は、二つのオブジェクトが同一のオブジェクトであるか否かを判定することにある。積算されたアフィニティースコアに基づいて、特定のオブジェクトのペアが同一のオブジェクトであるか、若しくは同一のオブジェクトである可能性がないことが既に確定された場合、更なるアフィニティースコアの演算を実行する必要がない。
【0051】
同様に、システムは前に算出されたアフィニティースコア(例えば、前の段階/キューから与えられた)に基づいて現在の検出オブジェクトのうちの一つ又は複数と前の追跡オブジェクトのうちの一つ又は複数との間の肯定的なマッチを特定し、そして、肯定的なマッチと確定された一つ又は複数の現在の検出オブジェクトと一つ又は複数の前の追跡オブジェクトの演算をスキップすることができる。肯定的なマッチに可能性の非常に高いマッチが含まれても良く、且つ例えばアフィニティースコアが閾値を超えた場合に確定されても良い。同様に、否定的又は不可能なマッチに非常に不可能なマッチが含まれても良く、且つ例えば閾値を超えた場合、或いは閾値以下である場合に確定されても良い。当業者は通常の試験に基づいて閾値を確定することができる。
【0052】
ここで図5B図5Cを参照する。図5B図5Cは、更なる説明のための例示を示した。なお、D4とT3に対するアフィニティースコアは、.01として算出された。システムは、.01の最低値に基づいてD4がT3とマッチできないと確定することができる。システムは後続の段階においてD4とT3の間のアフィニティーの演算をスキップすることができる。従って、図5Cにおいて、(例えば、前の段階からのアフィニティーの演算に基づいて)不可能なマッチと確定したため、システムはD4/T3のアフィニティースコアを算出していない(ダッシュとして表示される)。これにより、リソースが節約される。
【0053】
同様に、図5BはD1とT1の間の.99の高アフィニティーを示した。従って、後続の段階において、D1とT1に関する全ての組み合わせのアフィニティーの演算をスキップすることができるため、貴重なリソースが節約される。
【0054】
ところが、図5B図5Cは、各種の概念を説明するための仮定のアフィニティーマトリックスに過ぎず、実施形態、専門語及び値により本文により提供された開示内容が制限されない。例えば、図5Dはこのような実施形態を示した。なお、D1とT1の高確率が既に算出された場合に、アフィニティーマトリックスにおいて対応するアフィニティースコアが1にし、D1とT1に関わる全ての他の組み合わせが0にしても良い。後続の段階が実行される時、システムは0又は1にした任意の値をスキップすることができる。これは一種の技術に過ぎないが、異なるが等価である手段(例えばフラグを設置するか、或いは当業者に実施可能な他の技術)により演算をスキップするタスクを実行することもできる。同様に、演算値が0〜1の範囲内にあることが示されているが、他の実施形態において異なる範囲内にあることが可能であり、互いに標準化され、又は特定なアプリケーションに対して標準化される。
【0055】
続いて、操作708において、システムは後続の1セットのアフィニティースコアを利用して1セットのプログレッシブアフィニティースコアを補正することができる。例えば、システムは、プログレッシブアフィニティースコアのそれぞれに対して、対応して算出されるアフィニティースコアを掛けることができる(対応する後続のキューに基づく)。
【0056】
説明のために、最初にアフィニティーマトリックスを生成し、各行列要素における値が1であると仮定する。第1キューに基づいて第1セットのアフィニティースコアを算出し、そしてアフィニティースコアのそれぞれに対して、アフィニティーマトリックスに保持されているプログレッシブアフィニティースコアにおける対応要素を掛けると仮定する。第1の場合では、第1セットのアフィニティースコアのそれぞれに1を掛けて、図5Bにおけるプログレッシブアフィニティースコアを得る。また、その正確度又は動的な条件に基づいて異なるキューに異なる重みを割当てることができる。
【0057】
続いて、第2セットのアフィニティースコア(図5Cに示されたように)を算出して、更にプログレッシブアフィニティースコアに掛けて図5Dに示された更新/補正された1セットのプログレッシブアフィニティースコアを得る。図7に戻して参照すると、全てのキューが既に処理された場合に(全ての段階が実行された場合に)、プログレッシブアフィニティースコアは、最終的な1セットのプログレッシブアフィニティースコアを示すことができる。より多くのキューを処理しようとする場合に、付加的なキュー/段階のそれぞれに対して操作706と操作708を繰り返しても良い。
【0058】
続いて、操作710において、システムは、現在のフレームの現在の検出オブジェクトのうちの一つ又は複数と前のフレームの前の追跡オブジェクトのうちの一つ又は複数とを同一のオブジェクトとして関連付けることができる。例えば、システムは、最終的な1セットのプログレッシブスコアを使用して現在の検出オブジェクトのうち何れが既存のトレース(即ち、前の追跡オブジェクト)にマッチしたかを確定する。システムは、最終的な1セットのプログレッシブスコアに対して組み合わせの最適化アルゴリズム、例えばハンガリー方法を実行することができる。これにより、現在の検出オブジェクトと前の追跡オブジェクトとの間の最終的な関連又は割当てが形成される。
【0059】
そして、システムは、現在の検出オブジェクトからの情報を利用して前の追跡オブジェクト又はトレース(例えば位置、ADVまでの距離、速度、方向と加速度を含む)を更新することができる。その後に、システムは、更新されたトレースを利用して上記のようなカスケード接続方式で複数のキューを有する新たなフレームを処理することができる。
【0060】
一実施形態において、キューの正確度に基づいてキュー処理又は段階の順序を決定することができる。例えば、高い正確度を有するキューに対して、低い正確度を有するキューの前に算出する。異なるキューの正確度は、通常の試験により確定可能である。有利な面として、システムは、最初に最も正確なキューを実行することにより、早めに肯定的又は否定的な(不可能な)マッチに対して最も正確に特定することができるため、早めに演算を正確にスキップすることができる。
【0061】
他の実施形態において、キュー処理の速度に基づいてキュー処理又は段階の順序を決定することができる。なお、処理時間の短いキューに対して、処理時間の長いキューの前に算出する。キュー処理の速度は、通常の試験又は監視により確定可能である。有利な面として、システムは、最も速い段階を最初に実行することにより、最も速い方式で肯定的又は否定的な(不可能な)マッチを速めに特定することができるため、最も早い段階で演算をスキップすることができる。
【0062】
なお、以上に例示及び説明された構成要素の一部又は全ては、ソフトウェア、ハードウェア、又はそれらの組み合わせで実現されることが可能である。例えば、このような構成要素は、永続的記憶装置にインストールされるとともに記憶されるソフトウェアとして実現されてもよく、前記ソフトウェアは、本願にわたって記載されたプロセス又は動作を実現するように、プロセッサ(図示せず)によってメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路(例えば、特定用途向け集積回路又はASIC)、デジタルシグナルプロセッサ(DSP)、又はフィールドプログラマブルゲートアレイ(FPGA)のような専用ハードウェアにプログラミング又は埋め込まれた実行可能なコードとして実現されてもよく、前記実行可能なコードは、アプリケーションからの対応するドライバー及び/又はオペレーティングシステムを介してアクセスすることができる。また、このような構成要素は、ソフトウェア構成要素が一つ以上の特定の命令によってアクセス可能な命令セットの一部として、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実現されることができる。
【0063】
図8は本発明の一実施形態と共に使用可能なデータ処理システムの一例を示すブロック図である。例えば、システム1500は、前記プロセス又は方法のいずれかを実行する前記データ処理システムのいずれか(例えば、図1の感知・計画システム110、又はサーバ103〜104のいずれか)を表すことができる。システム1500は、いくつかの異なる構成要素を含んでもよい。これらの構成要素は、集積回路(IC)、集積回路の一部、ディスクリート型電子デバイス、又は回路基板(例えば、コンピュータシステムのマザーボード若しくはアドインカード)に適するその他のモジュールとして実現されることが可能であり、又は、他の形態でコンピュータシステムのシャーシ内に組み込まれる構成要素として実現されることが可能である
【0064】
なお、システム1500は、コンピュータシステムのいくつかの構成要素の高レベルビューを示すことを意図している。しかしながら、特定の実施例において付加的構成要素が存在してもよく、また、その他の実施例において示された構成要素を異なる配置にすることが可能であると理解すべきである。システム1500は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレヤー、パーソナルデジタルアシスタント(PDA)、スマートウォッチ、パーソナルコミュニケーター、ゲーム装置、ネットワークルーター又はハブ、無線アクセスポイント(AP)又はリピーター、セット・トップボックス、又はそれらの組み合わせを表すことができる。また、単一の機械又はシステムのみが示されたが、「機械」又は「システム」という用語は、本明細書で説明されるいずれか一種以上の方法を実現するための、単独で又は共同で一つ(又は複数)の命令セットを実行する機械又はシステムのいずれかの組み合わせも含まれると解釈されるべきである。
【0065】
一実施形態では、システム1500は、バス又はインターコネクト1510を介して接続される、プロセッサ1501と、メモリ1503と、装置1505〜1508とを含む。プロセッサ1501は、単一のプロセッサコア又は複数のプロセッサコアが含まれる単一のプロセッサ又は複数のプロセッサを表すことができる。プロセッサ1501は、マイクロプロセッサ、中央処理装置(CPU)などのような、一つ以上の汎用プロセッサを表すことができる。より具体的には、プロセッサ1501は、複雑命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、又はその他の命令セットを実行するプロセッサ、又は命令セットの組み合わせを実行するプロセッサであってもよい。プロセッサ1501は更に、例えば、特定用途向け集積回路(ASIC)、セルラー又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組込みプロセッサ、又は命令を処理可能な任意の他のタイプのロジックのような、一つ以上の専用プロセッサであってもよい。
【0066】
プロセッサ1501は、超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよく、前記システムの様々な構成要素と通信するための主処理ユニット及び中央ハブとして機能することができる。このようなプロセッサは、システムオンチップ(SoC)として実現されることができる。プロセッサ1501は、本明細書で説明される動作及びステップを実行するための命令を実行するように構成される。システム1500は、更に所望によるグラフィックサブシステム1504と通信するグラフィックインターフェースを含むことができ、グラフィックサブシステム1504は、表示コントローラ、グラフィックプロセッサ、及び/又は表示装置を含むことができる。
【0067】
プロセッサ1501は、メモリ1503と通信することができ、メモリ1503は、一実施形態では、所定量のシステムメモリを提供するための複数のメモリ装置によって実現されることができる。メモリ1503は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、又はその他のタイプの記憶装置のような、一つ以上の揮発性記憶(又はメモリ)装置を含むことができる。メモリ1503は、プロセッサ1501又はその他の任意の装置により実行される命令シーケンスを含む情報を記憶することができる。例えば、様々なオペレーティングシステム、デバイスドライバ、ファームウェア(例えば、ベーシックインプット/アウトプットシステム又はBIOS)、及び/又はアプリケーションの実行可能なコード及び/又はデータは、メモリ1503にロードされ、プロセッサ1501により実行されることができる。オペレーティングシステムは、例えば、ロボットオペレーティングシステム(ROS)、Microsoft(登録商標)社のWindows(登録商標)オペレーティングシステム、アップル社のMacOS(登録商標)/iOS(登録商標)、Google(登録商標)社のAndroid(登録商標)、LINUX(登録商標)、UNIX(登録商標)、又はその他のリアルタイム若しくは組込みオペレーティングシステムのような、任意のタイプのオペレーティングシステムであってもよい。
【0068】
システム1500は、更に、ネットワークインターフェース装置1505、所望による入力装置1506、及びその他の所望によるI/O装置1507を含む装置1505〜1508のようなI/O装置を含むことができる。ネットワークインターフェース装置1505は、無線送受信機及び/又はネットワークインターフェースカード(NIC)を含むことができる。前記無線送受信機は、WiFi送受信機、赤外線送受信機、ブルートゥース送受信機、WiMax送受信機、無線携帯電話送受信機、衛星送受信機(例えば、全地球測位システム(GPS)送受信機)、又はその他の無線周波数(RF)送受信機、又はそれらの組み合わせであってもよい。NICは、イーサネット(登録商標)カードであってもよい。
【0069】
入力装置1506は、マウス、タッチパネル、タッチスクリーン(表示装置1504と統合されてもよい)、ポインター装置(例えば、スタイラス)、及び/又はキーボード(例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード)を含むことができる。例えば、入力装置1506は、タッチスクリーンと接続するタッチスクリーンコントローラを含むことができる。タッチスクリーン及びタッチスクリーンコントローラは、例えば、様々なタッチ感応技術(コンデンサ、抵抗、赤外線、及び表面弾性波の技術を含むが、それらに限定されない)のいずれか、並びにその他の近接センサアレイ、又は、タッチスクリーンと接触する一つ以上の点を決定するためのその他の素子を用いて、それらの接触及び移動又は間欠を検出することができる。
【0070】
II/O装置1507は、音声装置を含むことができる。音声装置は、音声認識、音声複製、デジタル記録、及び/又は電話機能のような音声サポート機能を促進するために、スピーカ及び/又はマイクロフォンを含んでもよい。その他のI/O装置1507は、更に、ユニバーサルシリアルバス(USB)ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ(例えば、PCI−PCIブリッジ)、センサ(例えば、加速度計のようなモーションセンサ、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサなど)、又はそれらの組み合わせを含むことができる。装置1507は、更に結像処理サブシステム(例えば、カメラ)を含むことができ、前記結像処理サブシステムは、写真及びビデオ断片の記録のようなカメラ機能を促進するための、電荷結合素子(CCD)又は相補型金属酸化物半導体(CMOS)光学センサのような光学センサを含むことができる。特定のセンサは、センサハブ(図示せず)を介してインターコネクト1510に接続されることができ、キーボード又はサーマルセンサのようなその他の装置はシステム1500の具体的な配置又は設計により、組込みコントローラ(図示せず)により制御されることができる。
【0071】
データ、アプリケーション、一つ以上のオペレーティングシステムなどの情報の永続的記憶を提供するために、プロセッサ1501には、大容量記憶装置(図示せず)が接続されることができる。様々な実施形態において、より薄くてより軽量なシステム設計を可能にしながら、システムの応答性を向上するために、このような大容量記憶装置は、ソリッドステート装置(SSD)によって実現されることができる。しかしながら、その他の実施形態において、大容量記憶装置は、主にハードディスクドライブ(HDD)を使用して実現することができ、より小さい容量のSSD記憶装置をSSDキャッシュとして機能することで、停電イベントの間にコンテキスト状態及び他のそのような情報の不揮発性記憶を可能にし、それによりシステム動作が再開するときに通電を速く実現することができる。また、フラッシュデバイスは、例えば、シリアルペリフェラルインターフェース(SPI)を介してプロセッサ1501に接続されることができる。このようなフラッシュデバイスは、前記システムのBIOS及びその他のファームウェアを含むシステムソフトウェアの不揮発性記憶のために機能することができる。
【0072】
記憶装置1508は、コンピュータアクセス可能な記憶媒体1509(機械可読記憶媒体又はコンピュータ可読記憶媒体ともいう)を含むことができ、前記コンピュータアクセス可能な記憶媒体1509には、本明細書で記載されたいずれか一種以上の方法又は機能を具現化する一つ以上の命令セット又はソフトウェア(例えば、モジュール、ユニット、及び/又はロジック1528)が記憶されている。処理モジュール/ユニット/ロジック1528は、前記部品のうちの何れか一つ、例えば計画モジュール305、制御モジュール306、感知モジュール302及び関連するサブコンポーネントを示すことができる。処理モジュール/ユニット/ロジック1528は、更に、データ処理システム1500、メモリ1503、及びプロセッサ1501による実行中に、メモリ1503内及び/又はプロセッサ1501内に完全的に又は少なくとも部分的に存在してもよく、データ処理システム1500、メモリ1503、及びプロセッサ1501も機械アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック1528は、更に、ネットワークによってネットワークインターフェース装置1505を経由して送受信されてもよい。
【0073】
コンピュータ可読記憶媒体1509は、以上に説明されたいくつかのソフトウェア機能を永続的に記憶するために用いることができる。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、前記一つ以上の命令セットが記憶される単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース、及び/又は関連するキャッシュとサーバ)を含むと解釈されるものとする。「コンピュータ可読記憶媒体」という用語は、更に、命令セットを記憶又は符号化できる任意の媒体を含むと解釈されるものであり、前記命令セットは機械により実行され、本発明のいずれか一種以上の方法を前記機械に実行させるためのものである。それゆえに、「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、光学媒体及び磁気媒体、又はその他の任意の非一時的な機械可読媒体を含むが、それらに限定されないと解釈されるものとする。
【0074】
本明細書に記載の処理モジュール/ユニット/ロジック1528、構成要素及びその他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素(例えば、ASICS、FPGA、DSP又は類似の装置)の機能に統合されてもよい。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置におけるファームウェア又は機能性回路として実現されてもよい。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置とソフトウェア構成要素の任意の組み合わせで実現されてもよい。
【0075】
なお、システム1500は、データ処理システムの様々な構成要素を有するものとして示されているが、構成要素を相互接続する任意の特定のアーキテクチャ又は方式を表すことを意図するものではなく、そのような詳細は、本発明の実施形態と密接な関係がない。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ、及び/又はその他のデータ処理システムも、本発明の実施形態と共に使用することができることを理解されたい。
【0076】
前記具体的な説明の一部は、既に、コンピュータメモリにおけるデータビットに対する演算のアルゴリズムと記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。本明細書では、一般的に、アルゴリズムは、所望の結果につながるセルフコンシステントシーケンスと考えられる。これらの動作は、物理量の物理的処置が必要なものである。
【0077】
しかしながら、念頭に置くべきなのは、これらの用語及び類似の用語の全ては、適切な物理量に関連付けられるものであり、これらの量を標識しやすくするためのものに過ぎない。以上の説明で他に明示的に記載されていない限り、本明細書の全体にわたって理解すべきなのは、用語(例えば、添付された特許請求の範囲に記載のもの)による説明とは、コンピュータシステム、又は類似の電子式計算装置の動作又はプロセスを指し、前記コンピュータシステム又は電子式計算装置は、コンピュータシステムのレジスタ及びメモリにおける物理(電子)量として示されたデータを制御するとともに、前記データをコンピュータシステムメモリ又はレジスタ又はこのようなその他の情報記憶装置、伝送又は表示装置において同様に物理量として示された別のデータに変換する。
【0078】
本発明の実施形態は、本明細書の動作を実行するための装置にも関する。このようなコンピュータプログラムは、非一時的なコンピュータ可読媒体に記憶される。機械可読媒体は、機械(例えば、コンピュータ)により読み取り可能な形式で情報を記憶するための任意のメカニズムを含む。例えば、機械可読(例えば、コンピュータ可読)媒体は、機械(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置)を含む。
【0079】
上述した図面において説明されたプロセス又は方法は、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(例えば、非一時的なコンピュータ可読媒体に具現化されるもの)、又は両方の組み合わせを含む処理ロジックにより実行されることができる。前記プロセス又は方法は、以上で特定の順序に応じて説明されたが、前記動作の一部が異なる順序で実行されてもよいことを理解されたい。また、一部の動作は、順番ではなく並行して実行されてもよい。
【0080】
本発明の実施形態は、いずれの特定のプログラミング言語を参照することなく記載されている。理解すべきなのは、本明細書に記載の本発明の実施形態の教示を実現するために、様々なプログラミング言語を使用することができる。
【0081】
前記明細書において、本発明の実施形態は、既にその具体的な例示的な実施形態を参照しながら記載された。明らかなように、添付された特許請求の範囲に記載された本発明のより広い趣旨及び範囲を逸脱しない限り、本発明に対して様々な変更を行うことができる。それゆえに、本明細書及び図面は、限定的な意味でなく、例示的な意味で理解されるべきである。
図1
図2
図3A
図3B
図3C
図4A
図4B
図5A
図5B
図5C
図5D
図6
図7
図8