JP2019182411A - オブジェクトの二次元境界枠を自動運転車両の三次元位置に転換するための方法[method for transforming 2d bounding boxes of objects into 3d positions for autonomous driving vehicles (advs)] - Google Patents

オブジェクトの二次元境界枠を自動運転車両の三次元位置に転換するための方法[method for transforming 2d bounding boxes of objects into 3d positions for autonomous driving vehicles (advs)] Download PDF

Info

Publication number
JP2019182411A
JP2019182411A JP2019073584A JP2019073584A JP2019182411A JP 2019182411 A JP2019182411 A JP 2019182411A JP 2019073584 A JP2019073584 A JP 2019073584A JP 2019073584 A JP2019073584 A JP 2019073584A JP 2019182411 A JP2019182411 A JP 2019182411A
Authority
JP
Japan
Prior art keywords
adv
center
image
projected
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019073584A
Other languages
English (en)
Other versions
JP6906011B2 (ja
Inventor
イ−クエイ・チェン
I-Kuei Chen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu USA LLC
Original Assignee
Baidu USA LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Baidu USA LLC filed Critical Baidu USA LLC
Publication of JP2019182411A publication Critical patent/JP2019182411A/ja
Application granted granted Critical
Publication of JP6906011B2 publication Critical patent/JP6906011B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/344Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Automation & Control Theory (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Geometry (AREA)
  • Electromagnetism (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Databases & Information Systems (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Traffic Control Systems (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Image Analysis (AREA)

Abstract

【課題】主に自動運転車両の操作に関し、オブジェクトの二次元(2D)境界枠を自動運転車両(ADV)の三次元(3D)位置に転換する方法を提供する。。【解決手段】ADVのシステムは、ADVに取り付けられた画像取得装置によりADVの立体図からオブジェクトを検知する701。次にシステムは、画像取得装置により取得されたオブジェクトの画像に基いて、オブジェクトの2D境界枠を生成する702。次に、画像に基いてオブジェクトの方位と3Dサイズを測定する703。次に、オブジェクトの方位と3Dサイズに基いて、オブジェクトの3Dビューを画像に投影する704。次に、オブジェクトの3Dビューと生成された2D境界枠とに基いて、ADVからオブジェクトまでの距離を測定する705。次に、ADVの運転を制御してオブジェクトを回避して操縦できるように、測定されたADVからオブジェクトまでの距離に基いて軌道を生成する706。【選択図】図7

Description

本願は、主に自動運転車両の操作に関する。具体的に、本願は、オブジェクトの二次元(2D)境界枠を自動運転車両(ADV)の三次元(3D)位置に転換する方法に関する。
自動運転モードで走行する(例えば、ドライバーレス)車両は、乗員、特に運転者を幾つかの運転に関する役割から解放可能である。車両は、自動運転モードで走行される場合に、車載センサを使用して各位置までナビゲーションすることにより、ヒューマンマシンインタラクションが最も少ない場合、又は乗客が一人もいない場合などに車両を運転することを許可することができる。
周囲環境の検知は、通常の運転者の検知する、当該運転者により運転される車両の周囲の状況を示すことができる。検知において、オブジェクトは、一般的に画像平面における2D境界枠として検出される。2D境界枠をカメラ座標及び/又は実世界座標における3D位置(例えば、3Dオブジェクトの中心までのベクトル)を有する3Dオブジェクトに転換する必要がある。
本願の実施形態は、図面の各図において限定的ではなく例示的な形態で示され、図面における同じ図面符号は類似する要素を示す。
図1は、一実施形態によるネットワークシステムを示すブロック図である。 図2は、一実施形態による自動運転車両の例示を示すブロック図である。 図3Aは、一実施形態による自動運転車両と共に使用される検知/計画システムの例示を示すブロック図である。 図3Bは、一実施形態による自動運転車両と共に使用される検知/計画システムの例示を示すブロック図である。 図4は、一実施形態によるオブジェクト位置決めモジュールの例示を示すブロック図である。 図5Aは、一実施形態によるオブジェクトを検知するADVの例示を示すブロック図である。 図5Bは、一実施形態による図5AにおけるADV101による検知画面の画像及び検知オブジェクトの投影の例示である。 図6Aは、立体図と平面図で示された一実施形態によるオブジェクトを検知するADVの例示を示すブロック図である。 図6Bは、立体図と平面図で示された一実施形態によるオブジェクトを検知するADVの例示を示すブロック図である。 図7は、一実施形態によるADVにより実行される方法を示すフローチャートである。 図8は、一実施形態によるADVにより実行される方法を示すフローチャートである。 図9は、一実施形態によるデータ処理システムを示すブロック図である。
以下、説明の詳細を参照しながら本願の様々な実施形態及び態様を説明し、図面には、上記様々な実施形態が示される。以下の説明及び図面は、本願を例示するためのものであり、限定するものとして解釈されるべきではない。本願の様々な実施形態を全面的に理解するために、多くの特定の詳細を説明する。ところが、いくつかの場合には、本願の実施形態に対する簡単な説明を提供するために、周知又は従来技術の詳細について説明していない。
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に組み合わせて説明された特定の特徴、構造又は特性が本願の少なくとも一実施形態に含まれてもよいと意味する。「一実施形態では」という表現は、本明細書全体において同一の実施形態を指すとは限らない。
ADVの画像取得装置により取得された画像におけるオブジェクトは、一般的に機械学習モデルからの2D境界枠により検出される。一つの態様によれば、ADVは、既知の3Dサイズと方位を有するオブジェクトの2D境界枠に基いて、オブジェクトのカメラ座標系における3D位置を検索することができる。第一の態様によれば、ADVのシステムは、ADVに取り付けられた画像取得装置によりADVの立体図からオブジェクトを検知する。システムは、画像取得装置により取得されたオブジェクトの画像に基いて、機械学習モデルによりオブジェクトの2D境界枠を生成する。システムは、オブジェクトの画像に基いてオブジェクトの方位と3Dサイズを測定する。システムは、オブジェクトの方位と3Dサイズに基いてオブジェクトの3Dビューを画像に投影する。システムはオブジェクトの3Dビューと生成された2D境界枠とに基いて、ADVからオブジェクトまでの距離を測定する。システムは、ADVの運転を制御してオブジェクトを回避して操縦できるように、測定されたADVからオブジェクトまでの距離に基いて軌道を生成する。
他の態様によれば、システムは、投影されたオブジェクトの中心が2D境界枠の2D中心における水平軸の中央にほぼ位置するまで、投影されたオブジェクトを左か右へシフトする。システムは、投影されたオブジェクトの中心が2D境界枠の2D中心における垂直軸の中央にほぼ位置するまで、投影されたオブジェクトを上か下へシフトする。システムは、投影されたオブジェクトのシフトと測定されたオブジェクトまでの距離とに基いて、センターベクトルを決定する。システムは、決定されたオブジェクトまでのセンターベクトルに基いてADVを制御する。
図1は、本願の一実施形態による自動運転車両のネットワーク構造を示すブロック図である。図1を参照し、ネットワーク構造100には、ネットワーク102を介して一つ以上のサーバ103〜104に通信接続される自動運転車両101が備えられる。一つの自動運転車両が示されたが、複数の自動運転車両がネットワーク102を介して互いに接続され、及び/又はサーバ103〜104に接続可能である。ネットワーク102は、例えば、有線又は無線のローカルエリアネットワーク(LAN)、インターネットのようなワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク又はそれらの組み合わせのような任意のタイプのネットワークであっても良い。サーバ103〜104は、例えば、ネットワーク又はクラウドサーバ、アプリサーバ、バックエンドサーバ又はそれらの組み合わせのような任意のタイプのサーバ又はサーバグループであっても良い。サーバ103〜104は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図/興味点(MPOI)サーバ又は位置サーバなどであっても良い。
自動運転車両は、自動運転モードとして配置可能な車両であり、前記自動運転モードにおいて運転者からの入力が非常に少なく又はない場合に車両が環境をナビゲーションし通過する。このような自動運転車両はセンサシステムを備えても良い。前記センサシステムは、車両の走行環境に関する情報を検出するように配置される一つ以上のセンサを備える。前記車両と関連するコントローラとは、検出された情報を使用して前記環境をナビゲーションし通過する。自動運転車両101は、手動モード、オートマチック運転モード、又は一部の自動運転モードで走行することができる。
一実施形態において、自動運転車両101には、検知/計画システム110と、車両制御システム111と、無線通信システム112と、ユーザインターフェースシステム113と、センサシステム115とが含まれるが、それらに限定されない。自動運転車両101には、通常の車両に備えられている幾つかの常用的な部品、例えばエンジン、車輪、ハンドル、変速機などが更に備えられても良い。前記部品は、車両制御システム111及び/又は検知/計画システム110により複数種の通信信号及び/又は命令(commands)を使用して制御可能である。当該複数種の通信信号及び/又は命令(commands)は、例えば、加速信号又は命令(commands)、減速信号又は命令(commands)、操舵信号又は命令(commands)、ブレーキ信号又は命令(commands)などである。
部品110〜115は、インターコネクタ、バス、ネットワーク或いはそれらの組み合わせにより互いに通信接続することができる。例えば、部品110〜115は、コントローラローカルエリアネットワーク(CAN)バスを介して互いに通信接続することができる。CANバスは、ホストコンピュータなしのアプリケーションでマイクロコントローラ及びデバイスが相互に通信できるように設計された車両バス規格である。これは、もともと自動車内の多重電気配線のために設計されたメッセージベースのプロトコルであるが、他の多くの環境でも使用される。
ここで、図2を参照し、一実施形態において、センサシステム115は、一つ以上のカメラ211、全地球位置決めシステム(GPS)ユニット212、慣性計測ユニット(IMU)213、レーダユニット214及び光検出及び測距(LIDAR)ユニット215を含むが、それらに限定されない。GPSシステム212は、送受信機を含むことができる。前記送受信機は、操作により自動運転車両の位置に関する情報を提供可能である。IMUユニット213は、慣性加速度に基いて自動運転車両の位置及び方位変化を検出することができる。レーダユニット214は、無線電気信号を利用して自動運転車両のローカル環境におけるオブジェクトを検知するシステムとして表すことができる。幾つかの実施形態において、オブジェクトの検知以外に、レーダユニット214は、付加的にオブジェクトの速度及び/又は進行方向も検知することができる。LIDARユニット215は、レーザを使用して自動運転車両の位置する環境におけるオブジェクトを検知することができる。他のシステム部品以外に、LIDARユニット215は、更に一つ以上のレーザ光源、レーザスキャナ及び一つ以上の検出器を含んでも良い。カメラ211は、自動運転車両の周囲環境の画像を採集する一つ以上の装置を含んでも良い。カメラ211は、静止物カメラ及び/又はビデオカメラであっても良い。カメラは、例えば、回転及び/又は傾斜のプラットフォームにカメラを取り付けることによって、機械的に移動されてもよい。
センサシステム115には、例えばソナーセンサ、赤外線センサ、操舵センサ、アクセルセンサ、ブレーキセンサ及びラジオセンサ(例えば、マイクロフォン)のような他のセンサが含まれても良い。ラジオセンサは、自動運転車両の周囲の環境から音声を取得するように配置されても良い。操舵センサは、ハンドル、車両の車輪又はそれらの組み合わせの操舵角を検出するように配置されても良い。アクセルセンサとブレーキセンサは、車両のアクセル位置とブレーキ位置をそれぞれ検出する。ある場合に、アクセルセンサとブレーキセンサは、集積型のアクセル/ブレーキセンサとして集積されても良い。
一実施形態において、車両制御システム111は、操舵ユニット201、アクセルユニット202(加速ユニットとも呼ばれる)とブレーキユニット203を含むが、それらに限定されない。操舵ユニット201は、車両の方向又は進行方向を調整するために用いられる。アクセルユニット202は、モータ又はエンジンの速度を制御するために用いられ、モータ又はエンジンの速度は更に車両の速度と加速度を制御するために用いられる。ブレーキユニット203は、摩擦を提供して車両の車輪又はタイヤを減速させることにより車両を減速させる。注意すべきなのは、図2に示された部品はハードウェア、ソフトウェア或いはそれらの組み合わせで実装することができる。
図1に戻し、無線通信システム112は、自動運転車両101と装置、センサ、他の車両などのような外部システムとの通信を許す。例えば、無線通信システム112は、一つ以上の装置と直接的に無線通信しても良く、或いは通信ネットワークを経由して無線通信し、例えばネットワーク102を経由してサーバ103〜104と通信しても良い。無線通信システム112は、如何なるセルラー通信ネットワーク又は無線ローカルエリアネットワーク(WLAN)、例えばWiFiを使用して他の部品又はシステムと通信することができる。無線通信システム112は、例えば赤外線リンク、ブルートゥース(登録商標)などを使用して装置(例えば、乗客の携帯装置、表示装置、車両101内のスピーカ)と直接的に通信する。ユーザインターフェースシステム113は、車両101内に実装される周辺機器の部分であっても良く、例えばキーボード、タッチパネル表示装置、マイクロフォン及びスピーカなどを含む。
自動運転車両101の機能のうちの一部又は全部は、特に自動運転モードで操作される場合に、検知/計画システム110により制御し又は管理されることができる。検知/計画システム110は、センサシステム115、制御システム111、無線通信システム112及び/又はユーザインターフェースシステム113から情報を受信し、受信された情報を処理し、開始点からオブジェクト点までの路線又は経路を計画した後に、計画と制御情報に基づいて車両101を運転するように、必要なハードウェア(例えば、プロセッサ、メモリ、記憶デバイス)とソフトウェア(例えば、操作システム、計画と路線設定プログラム)を含む。その代わりに、検知/計画システム110は車両制御システム111と一体に集積されても良い。
例えば、乗客であるユーザは、例えばユーザインターフェースを介してトリップの開始位置と目的地を指定することができる。検知/計画システム110はトリップに関連するデータを取得する。例えば、検知/計画システム110は、MPOIサーバから位置と路線情報を取得することができる。前記MPOIサーバはサーバ103〜104の一部であっても良い。位置サーバは位置サービスを提供し、MPOIサーバは地図サービスとある位置のPOIを提供する。その代わりに、このような位置とMPOI情報は、ローカルに検知/計画システム110の不揮発性の記憶装置にキャッシュされても良い。
自動運転車両101が路線に沿って移動している場合に、検知/計画システム110は交通情報システム又はサーバ(TIS)からリアルタイムの交通情報を取得することもできる。注意すべきなのは、サーバ103〜104は第三者のものに操作されても良い。その代わりに、サーバ103〜104の機能は検知/計画システム110と一体に集積されても良い。検知/計画システム110は、リアルタイム交通情報、MPOI情報と位置情報、及びセンサシステム115により検出され又は検知されるリアルタイムのローカル環境データ(例えば、障害物、オブジェクト、付近の車両)に基いて、最適な路線を計画し且つ計画された路線に従って例えば制御システム111を介して車両101を運転することにより、所定の目的地まで安全的且つ効率的に到達可能である。
サーバ103は、各種のクライアントに対してデータ解析サービスを実行するデータ解析システムであっても良い。一実施形態において、データ解析システム103は、データ採集器121と、機械学習エンジン122とを含む。データ採集器121は、複数種の車両(自動運転車両又は人間の運転者により運転される通常の車両)から運転統計データ123を採集する。運転統計データ123には、配布される運転命令(commands)(例えば、アクセル、ブレーキ、及び操舵の命令(commands))を示す情報及び異なるタイミングで車両のセンサにより採集される車両の応答(例えば、速度、加速度、減速度、方向)を示す情報が含まれる。運転統計データ123は更に、異なるタイミングにおける運転環境を記述する情報、例えば、路線(出発位置と目的地の位置を含む)、MPOI、天気状況及び道路状況(例えば、高速道路における徐行、渋滞、交通事故、道路工事、一時迂回、未知の障害物など)を含んでも良い。
機械学習エンジン122は、運転統計データ123に基いて、各種の目的のためにルールセット、アルゴリズム及び/又は予測モデル124を生成し訓練する。その内、2D境界枠をADVの画像取得装置により取得された画像において認識されたオブジェクトに描画するモデルが含まれる。アルゴリズム124は、オブジェクトの3D距離と方位を測定するためのアルゴリズムを更に含んでも良い。
図3Aと図3Bは、一実施形態による自動運転車両と共に使用される検知/計画システムの例示を示すブロック図である。システム300は、図1の自動運転車両101の一部として実装されても良く、検知/計画システム110、制御システム111とセンサシステム115を含むが、それらに限定されない。図3A〜図3Bを参照し、検知/計画システム110には、測位モジュール301、検知モジュール302、予測モジュール303、策定モジュール304、計画モジュール305、制御モジュール306、路線設定モジュール307及びオブジェクト位置決めモジュール308が含まれるが、それらに限定されない。
モジュール301〜308のうち一部又は全部は、ソフトウェア、ハードウェア或いはそれらの組み合わせで実装されても良い。例えば、これらのモジュールは、不揮発性の記憶装置352にインストールされ、メモリ351にロードされ、且つ一つ以上のプロセッサ(図示しない)により実行されても良い。注意すべきなのは、これらのモジュールのうち一部又は全部は、通信可能に図2の車両制御システム111の一部又は全部のモジュールに接続され、或いはそれらと一体に集積されても良い。モジュール301〜308のうち一部は、一体に集積モジュールとして集積可能である。
測位モジュール301は、自動運転車両300の現在位置を測定し(例えば、GPSユニット212を利用する)、ユーザのトリップ又は路線に関する如何なるデータを管理する。測位モジュール301(地図/路線モジュールと呼ばれる)はユーザのトリップ又は路線に関連する如何なるデータを管理する。ユーザは例えばユーザインターフェースを経由して登録してトリップの開始位置と目的地を指定することができる。測位モジュール301は自動運転車両300における地図と路線情報311のような他の部品と通信してトリップに関するデータを取得する。例えば、測位モジュール301は位置サーバと地図/POI(MPOI)サーバから位置と路線情報を取得することができる。位置サーバは位置サービスを提供し、MPOIサーバは地図サービスとある位置のPOIを提供することにより、地図と路線情報311の一部としてキャッシュされることができる。自動運転車両300が路線に沿って移動する際に、測位モジュール301は交通情報システム又はサーバからリアルタイムな交通情報を取得することもできる。
検知モジュール302は、センサシステム115により提供されたセンサデータと、測位モジュール301により取得されたポジショニング情報に基づいて、周囲の環境への検知を決定する。検知情報は、通常のドライバーがドライバーにより運転されている車両周囲において検知すべきものを示すことができる。検知は、例えばオブジェクトの形を採用する車線配置(例えば、直線車線又はカーブ車線)、信号機信号、他の車両の相対位置、歩行者、建築、横断歩道又は他の交通関連標識(例えば、停止標識、譲り標識)などを含むことができる。
検知モジュール302は、一つ以上のカメラにより採集される画像を処理し解析して自動運転車両の環境におけるオブジェクト及び/又は特徴を識別するように、コンピュータ視覚システム又はコンピュータ視覚システムの機能を含むことができる。前記オブジェクトは、交通信号、道路の境界、他の車両、歩行者及び/又は障害物などを含むことができる。コンピュータ視覚システムは、オブジェクト識別アルゴリズム、ビデオトラッキング及び他のコンピュータ視覚技術を使用することができる。幾つかの実施形態において、コンピュータ視覚システムは、環境地図を描画し、オブジェクトを追跡し、及びオブジェクトの速度などを推定することができる。検知モジュール302は、レーダ及び/又はLIDARのような他のセンサにより提供される他のセンサデータに基いてオブジェクトを検出することもできる。
オブジェクトごとについて、予測モジュール303はこの場合にオブジェクトがどのように動くかを予測する。前記予測は地図と路線情報311と交通ルール312のセットに基いて当該タイミングで運転環境が検知された検知データにより実行される。例えば、オブジェクトが反対の方向における車両であって且つ現在の運転環境に交差点が含まれている場合に、予測モジュール303は車両が直進し、又は曲がる可能性を予測する。検知データにより交差点において信号機がないと示された場合に、予測モジュール303は、車両が交差点に入る前に完全に停車する必要があると予測可能である。検知データにより車両が現在に左折車線又は右折車線に位置すると示された場合に、予測モジュール303は車両が左折又は右折の可能性が大きいと予測可能である。
オブジェクトごとに対して、策定モジュール304はオブジェクトをどのように処置するかについての決定を下す。例えば、特定のオブジェクト(例えば、交差の路線における他の車両)及びオブジェクトを描画するメタデータ(例えば、速度、方向、操舵角度)について、策定モジュール304は前記オブジェクトとどのように出会うか(例えば、追い越し、譲り、停止、追い抜き)を決定する。策定モジュール304は交通ルール又は運転ルール312のルールセットに基づいてこのような決定を下すことができる。前記ルールセットは不揮発性の記憶装置352に記憶されても良い。
路線設定モジュール307は、起点から終点までの一つ以上の路線又は経路を提供するように配置される。(例えばユーザから受け取られた)開始位置から目標位置までの所定のトリップについて、路線設定モジュール307は路線と地図情報311を取得し、開始位置から目標位置までの全ての走行可能な路線又は経路を決定する。路線設定モジュール307は、開始位置から目標位置までの各路線が決定された地形図による参照線を生成することができる。参照線は、例えば他の車両、障碍物又は交通状況からの干渉を受けない理想的な路線又は経路である。つまり、道路において他の車両、歩行者又は障害物がない場合に、ADVは参照線に従って精確的に又は緊密的に追随すべきである。そして、地形図を策定モジュール304及び/又は計画モジュール305に提供する。策定モジュール304及び/又は計画モジュール305は、他のモジュールにより提供された他のデータ(例えば測位モジュール301からの交通状况、検知モジュール302により検知された運転環境及び予測モジュール303により予測された交通状况)に基いて、全ての走行可能な路線を検査して最適路線のうちの何れか一つを選択し更新する。タイミングにおける特定の運転環境によっては、ADVを制御するための実際の経路又は路線は、路線設定モジュール307から提供された参照線と異なり又は近い可能性がある。
計画モジュール305は、検知されたオブジェクトのそれぞれに対する決定に基づいて、路線設定モジュール307により提供された参照線を基礎として、自動運転車両に経路又は路線及び運転パラメータ(例えば、距離、速度及び/又は操舵角度)を計画する。言い換えれば、所定のオブジェクトについて、策定モジュール304は当該オブジェクトに対してなにをするかを決定し、計画モジュール305はどのようにするかを決定する。例えば、所定のオブジェクトについて、策定モジュール304は前記オブジェクトを追い越すことを決定することができ、計画モジュール305は前記オブジェクトの左側か右側に追い越すことを決定することができる。計画と制御データは、計画モジュール305により生成され、車両300が次の移動循環(例えば、次の路線/経路区間)においてどのように移動するかを描画する情報を含む。例えば、計画と制御データは、車両300が30マイル/時間(mph)の速度で10メートルだけ移動し、その後に25 mphの速度で右側の車線に変更するように指示することができる。
制御モジュール306は、計画と制御データに基づいて、計画と制御データにより限定された路線又は経路に応じて適当な命令(commands)又は信号を車両制御システム111に送信することにより自動運転車両を制御し運転する。前記計画と制御データは、経路又は路線に沿って異なるタイミングで適当な車両設置又は運転パラメータ(例えば、アクセル、ブレーキ、及び操舵の命令(commands))を使用することにより車両を路線又は経路の第一の点から第二の点まで運転するように十分な情報を有する。
計画段階は、複数の計画周期(運転周期とも呼ばれる)(例えば、100ミリ秒(ms)の時間間隔毎)に実行される。各計画周期又は運転周期について、計画データと制御データに基いて一つ以上の制御命令(control commands)を発する。つまり、100 ms毎に、計画モジュール305は次の路線区間又は経路区間を計画し、例えば、オブジェクト位置とADVがオブジェクト位置まで所要の時間が含まれる。その代わりに、計画モジュール305は更に具体的な速度、方向及び/又は操舵角などを規定することもできる。一実施形態において、計画モジュール305は、次の予定時間帯(例えば5秒)に対して路線区間又は経路区間を計画する。各計画周期について、計画モジュール305は前の周期において計画されたオブジェクト位置に基いて現在の周期(例えば、次の5秒)に用いるオブジェクト位置を計画する。そして、制御モジュール306は、現在の周期における計画データと制御データに基いて一つ以上の制御命令(control commands)(例えば、アクセル、ブレーキ、及び操舵の制御命令(control commands))を生成する。
注意すべきなのは、策定モジュール304と計画モジュール305は、集積モジュールとして集積することができる。策定モジュール304/計画モジュール305は、自動運転車両の運転経路を決定するように、ナビゲーションシステム又はナビゲーションシステムの機能を具備することができる。例えば、ナビゲーションシステムは、自動運転車両が下記の経路に沿って移動することを実現する一連の速度と進行方向を決定することができる。前記経路は、自動運転車両を最終の目的地まで走行させる車線による経路に沿って進行させると共に、基本的に検知された障害物を回避して操縦できる。目的地は、ユーザインターフェースシステム113を経由して行われたユーザ入力に基づいて設定されても良い。ナビゲーションシステムは自動運転車両が運転していると同時に動的に運転経路を更新することができる。ナビゲーションシステムは、自動運転車両のための運転経路を決定するように、GPSシステムと一つ以上の地図中のデータを合併することができる。
策定モジュール304/計画モジュール305は、識別、推定及び回避、或いは他の手段で自動運転車両の環境における潜在の障害物を越えるように、更に衝突回避システム又は衝突回避システムの機能を具備する。例えば、衝突回避システムは、以下の手段で自動運転車両のナビゲーションにおける変化を実現することができる。即ち、操作制御システム111のうち一つ以上のサブシステムは操舵操作、回転操作、制動操作などを採用する。衝突回避システムは、周囲の交通モード、道路状況などに基いて自動的に実現可能な障害物回避操作を決定することができる。衝突回避システムは、他のセンサシステムにより自動運転車両が方向変更して進入しようとする隣接領域における車両、建築障害物などが検出された時に操舵操作を行わないように配置することができる。衝突回避システムは、使用可能で且つ自動運転車両の乗員の安全性を最大化させる操作を自動的に選択することができる。衝突回避システムは、自動運転車両の車室に最小値の加速度が発生させるように予測される回避操作を選択することができる。
一実施形態によれば、オブジェクト位置決めモジュール308は、オブジェクトの機械学習モデル(機械学習モデル313の一部として)により生成された2D境界枠に対応する3D位置を検索することができる。そして、ADV 101は、オブジェクトの3D位置に基いて運転軌道を生成してADVを制御することができる。オブジェクト位置決めモジュール308は、検知モジュール302の一部として実現可能である。
図4は、一実施形態によるオブジェクト位置決めモジュールの例示を示すブロック図である。図4を参照し、オブジェクト位置決めモジュール308には、方位測定モジュール401と、サイズ測定モジュール403と、2D境界枠生成モジュール405と、3D距離測定モジュール407と、3Dセンターベクトル測定モジュール409とが備えられても良い。方位測定モジュール401はオブジェクトの方位を測定することができる。サイズ測定モジュール403はオブジェクトのサイズを測定することができる。2D境界枠生成モジュール405は、画像におけるオブジェクト毎に2D境界枠を生成することができる。3D距離測定モジュール407は、三次元座標系におけるADVからオブジェクトまでの距離を測定することができる。3Dセンターベクトル決定モジュール409は、三次元座標系におけるADVからオブジェクトまでのセンターベクトルを決定することができる。
図5Aは一実施形態によるADVがオブジェクトを検知する例示を示すブロック図である。図5Bは一実施形態による、図5AにおけるADV101の検知画面の画像と検知オブジェクトの投影の例示である。投影(例えば、投影511)と検出された2D境界枠(例えば、境界枠505)とを比較して検知オブジェクト(例えば、車両503)の3D距離を検索することができる。図4及び図5A〜図5Bを参照し、一実施形態において、例示500は、ADV101と、ADV101に取り付けられたカメラ211と、ADV101の前方の道路区間を走行してくる車両503とを含むことにより、カメラ211により取得された画像(例えば、画像501)が車両503を取得する。ADV101は、第一機械学習モデル(機械学習モデル313の一部として)を画像501に適用することにより、2D境界枠(例えば、車両503の境界枠505)、及び/又は取得された画像における各オブジェクトの3D境界枠から導出される2D境界枠を生成することができる。
方位測定モジュール(例えば図4の方位測定モジュール401)は、境界枠505に基いて、第二機械学習モデル(機械学習モデル313の一部として)を適用して車両503の方位(例えば、車両503のヨー(yaw)、ピッチ(pitch)とロール(roll))及び/又は3Dサイズを測定することができる。一実施形態において、車両503の方位及び/又は3Dサイズを測定する前に、方位測定モジュール401は第三機械学習モデル(機械学習モデル313の一部として)及び/又は画像認識エンジン(検知モジュール302の一部として)に基づいてオブジェクト503を車両として分類し、且つ車両のモデル及び/又はタイプを決定する。ここで、オブジェクト503の分類、オブジェクト方位と3Dサイズの測定、及び2D境界枠の生成に用いられる第一機械学習モデル、第二機械学習モデル及び第三機械学習モデルは、複数種のタスクを実行するように予め訓練された同一又は異なる機械学習モデルであっても良い。例えば、第一機械学習モデル、第二機械学習モデル及び第三機械学習モデルは、サーバ103の予測モデル124の一部であっても良い。また、複数種の機械学習モデルとコンピュータ視覚アルゴリズムは、2D境界枠の生成、オブジェクトに対する分類及び分類されたオブジェクトの方位及び/又は3Dサイズの測定に用いられても良い。モデルとアルゴリズムには、回帰モデル、コンボリューションニューラルネットワーク、エリアコンボリューションニューラルネットワーク(例えば速い、及びより速いエリアコンボリューションニューラルネットワーク)、マスク(masked)エリアコンボリューションニューラルネットワークなどが含まれるが、それらに限定されない。一実施形態において、車両503の寸法に合わせるように2D境界枠505を減縮する。例えば、境界枠の寸法(例えば、長さ又は幅)がその前の寸法と比べて所定の閾値まで達成し、或いは一定の回数のイテレーションが経過するまで、車両503における領域毎に線形的な回帰を応用して当該領域の緊密な境界枠の座標を生成することができる。
サイズ測定モジュール403は、既知のオブジェクト(例えば、車両)及び/又は既知の車両の既知のモデルタイプ及び既知の方位及び/又は3Dサイズに基づいて、3D枠(例えば、3Dビュー)を生成して既知の方位及び/又は3Dサイズを有する既知の車両を示すことができる。例えば、サイズ測定モジュール403は、車両503の既知の方位及び/又は3Dサイズ、及び既知のモデルタイプに基づいて3Dビュー511を生成することができる。そして、サイズ測定モジュール403は、サイズの異なる3Dビュー511を画像501の画像平面に投影する。3Dビュー511の異なる(例えば、異なるサイズの)投影図は、ADV101から対応する3Dビュー511まで異なる距離を有する3Dビュー511の立体図に対応することができる。
3D距離測定モジュール407は、境界枠505の寸法(例えば、長さ又は幅)及び/又は面積、及び3Dビュー511の異なる(例えば、異なる3D距離の位置における異なるサイズと仮定する)投影ビューにより、2D境界枠505の同一の寸法(例えば、長さ、幅又は面積(例えば、長さ×幅))にベストマッチする寸法を有する3Dビュー511に基づいて対応する距離を測定することができる。一実施形態において、(検索アルゴリズム314の一部とする貪欲検索アルゴリズム、バイナリ検索アルゴリズム又は他の検索アルゴリズムを使用することにより)異なる投影ビューの3Dビュー511を検索して投影された3Dビュー511の寸法(例えば、長さ、幅又は面積(例えば、長さ×幅))を所定の閾値まで2D境界枠505の寸法に合わせ、或いは一定の回数のイテレーションが経過するまでADVから車両503までの距離を測定する。そして、2D境界枠505にベストマッチするサイズを有する投影ビューの3Dビュー511の対応距離は、ADVから車両503までの特定距離である。注意すべきなのは、貪欲アルゴリズムは、ヒューリスティック問題解決(例えば、幾つかの候補選択肢から解を求めて目標関数を求める)に従うアルゴリズムであって、段階毎にローカルな最適選択を行ってグローバルな最適を探し出そうとすることである。バイナリ検索は、ソートされた配列から目標値の位置を検索する検索アルゴリズムである。
図6A〜図6Bは、一実施形態による立体図と平面図で示された、オブジェクトを検知するADVの例示を示すブロック図である。図6Aを参照し、投影ビュー611は図5の3D投影ビュー511であっても良いが、2D境界枠505のオブジェクトの寸法にベストマッチするサイズを有する3Dオブジェクトの投影ビュー(例えば、3D枠)である。図6Bを参照し、投影ビュー611は関連付けられたオブジェクト中心位置613とオブジェクト中心位置613からカメラ211までの距離615を有する。ここで、距離615は予め規定された距離である。
一実施形態において、3Dセンターベクトル測定モジュール409は異なる3D投影ビュー611を画像平面(例えば、画像501の画像平面)に投影する。各3D投影ビュー611は異なるオブジェクト中心位置614(それに応じて、異なるオブジェクト中心位置613)に関連付けられたが、カメラ211までの同一のサイズ(例えば、同一の半径方向距離615)を有する。そして、2D境界枠505の2D中心は、異なる3D投影ビュー611に基づいて、幾つかの所定の閾値まで、或いは一定の回数のイテレーションが経過するまで、3D投影ビュー611の中心にベストマッチすることができる。ベストマッチである3D投影ビュー611のオブジェクト中心位置614に投影されたカメラ211からの斜線(距離615に等しい距離を有する)は、これから決定されたセンターベクトルになる。一実施形態において、(検索アルゴリズム314の一部として貪欲検索アルゴリズム、バイナリ検索又は他の検索アルゴリズムを使用する)異なるオブジェクト中心位置の座標を有するが、半径方向距離を一定に維持する(例えば、予め規定されたADVからオブジェクトまでの距離に等しい)異なる投影3Dビュー611を検索することにより、センターベクトルを決定する。
一実施形態において、投影されたオブジェクト中心位置613を2D境界枠505の中点として初期化することにより検索を実行することができる。そして、検索は、投影611のオブジェクト中心がほぼ2D境界枠505の2D中心における水平軸の中央に位置するまで、左か右へ投射された画像をシフトする。そして、検索は、投影611のオブジェクト中心がほぼ2D境界枠505の2D中心における垂直軸の中央に位置するまで、上か下へ投影された画像をシフトすることができる。そして、ベストマッチした次元を有する投影ビュー611は、オブジェクト中心位置を決定するための最適候補になる。そして、投影ビュー611に関わるオブジェクト中心位置はセンターベクトルの決定に用いられる。
センターベクトルが決定されると、車両503のADV101に対する3D位置はカメラ座標において既知である。そして、予測モジュール303、策定モジュール304及び/又は計画モジュール305は、オブジェクト(例えば、車両503)のセンターベクトルを使用して運転軌道を生成することにより、車両503に応じてADV101を制御する。幾つかの実施形態において、二つ又はそれ以上のオブジェクトの3D位置(例えば、センターベクトル)を決定しても良く、例えば、二つ又はそれ以上のオブジェクトについて取得された画像の二つ又はそれ以上の2D境界枠を取得する。幾つかの実施形態において、センターベクトルは一つの座標系から他の座標系へ転換可能である。例えば、カメラ211が校正されると、決定されたセンターベクトルは、既知の校正パラメータにより、カメラ座標から実世界座標へ転換し、或いは実世界座標からカメラ座標へ転換することができる。
図7は一実施形態によるADVにより実行される方法を示したフローチャートである。フロー700は処理ロジックにより実行可能である。処理ロジックは、ソフトウェア、ハードウェア又はそれらの組合せを含んでも良い。例えば、フロー800は図3Aのオブジェクト位置決めモジュール308により実行可能である。図7を参照し、ブロック701において、処理ロジックはADVに取り付けられた画像取得装置によりADVの立体図からオブジェクトを検知する。ブロック702において、処理ロジックは画像取得装置により取得されたオブジェクトの画像に基づいてオブジェクトの2D境界枠を生成する。ブロック703において、処理ロジックはオブジェクトの画像に基づいてオブジェクトの方位と3Dサイズを測定する。ブロック704において、処理ロジックはオブジェクトの方位と3Dサイズに基づいてオブジェクトの三次元(3D)ビューを画像に投影する。ブロック705において、処理ロジックはオブジェクトの3Dビューと生成された2D境界枠に基づいてADVからオブジェクトまでの距離を測定する。ブロック706において、選択的に、処理ロジックは、ADVがオブジェクトを回避して操縦できるように運転を制御するように、測定されたADVから当該オブジェクトまでの距離に応じて軌道を生成する。
一実施形態において、機械学習モデルを取得されたオブジェクトの画像に適用し、機械学習モデルによりオブジェクトを囲む2D境界枠の長さ、幅又は面積を測定することにより、オブジェクトの2D境界枠を生成する。他の実施形態において、処理ロジックは更に、投影画像の寸法が2D境界枠の幅又は高さの所定の閾値内になるまで、貪欲検索アルゴリズムにより投影画像のサイズを検索し、且つ当該サイズに基づいてADVから目までの距離を測定する。他の実施形態において、処理ロジックは、投影画像のサイズが2D境界枠の幅、高さ又は面積の所定の閾値内になるまで、バイナリ検索アルゴリズムにより投影画像のサイズを検索する。そして、処理ロジックは検索されたサイズに基づいてADVからオブジェクトまでの距離を測定する。
一実施形態において、処理ロジックは更に測定されたオブジェクトまでの距離に基づいてオブジェクトまでのセンターベクトルを決定する。なお、センターベクトルは、軌道を生成してADVを制御するように利用可能である。図8は一実施形態によるADVにより実行される方法を示したフローチャートである。フロー800は処理ロジックにより実行可能である。処理ロジックは、ソフトウェア、ハードウェア又はそれらの組合せを含んでも良い。例えば、フロー800は図3Aのオブジェクト位置決めモジュール308により実行可能である。図8を参照し、ブロック801において、処理ロジックは、投影オブジェクトの中心がほぼ2D境界枠の2D中心における水平軸の中央に位置するまで、左か右へ投影オブジェクトをシフトする。ブロック802において、処理ロジックは、投影オブジェクトの中心がほぼ2D境界枠の2D中心における垂直軸の中央に位置するまで、上か下へ投影オブジェクトをシフトする。ブロック803において、処理ロジックは、投影オブジェクトのシフトと予め規定されたオブジェクトまでの距離に基いてセンターベクトルを決定する。ブロック804において、選択的に、処理ロジックは決定されたオブジェクトまでのセンターベクトルに基いてADVを制御する。
注意すべきなのは、いままで示され説明された部品における一部又は全部がソフトウェア、ハードウェア又はそれらの組み合わせで実装可能なことである。例えば、このような部品は不揮発性の記憶装置にインストールされ記憶されるソフトウェアとして実装可能である。前記ソフトウェアは、プロセッサ(図示しない)によりメモリにロードされてメモリに実行されることにより本願の全文に記述されたプロセス又は操作を実装することができる。その代わりに、このような部品は、専用ハードウェア(例えば、集積回路(例えば、専用集積回路又はASIC)、デジタル信号プロセッサ(DSP)或いはフィールドプログラマブルゲートアレイ(FPGA))にプログラミングされ、或いは組み込まれた実行可能なコードとして実装可能である。前記実行可能なコードは、アプリからの相応的なドライブプログラム及び/又は操作システムを介してアクセス可能である。また、そのような部品はプロセッサ又はプロセッサのコアにおける特定なハードウェアロジックとして実装され、ソフトウェア部品により一つ以上の特定なコマンドを介してアクセスされるコマンドセットの一部とすることができる。
図9は本発明の一実施形態と共に使用可能なデータ処理システムの例示を示すブロック図である。例えば、システム1500は、以上で説明された前記プロセス又は方法の何れか一つを実行する如何なるデータ処理システム、例えば、図1の検知/計画システム110又はサーバ103〜104のうちの何れか一つを示すことができる。システム1500は異なる部品を多く具備することができる。これらの部品は、集積回路(IC)、集積回路の一部、独立な電子装置又はプリント基板(例えば、コンピュータシステムのマザーボード又はインサートカード)に適用される他のモジュールとして実行可能し、或いは他の方式でコンピュータシステムのフレームに設置される部品として実装可能である。
注意すべきなのは、システム1500はコンピュータシステムの複数の部品のハイレベルビューを示したことである。理解すべきなのは、幾つかの実施例に付加的な部品を具備しても良く、また他の実施例に示された部品の異なる配置を具備しても良いことである。システム1500は、デスクトップコンピュータ、ノードパソコン、タブレット、サーバ、モバイルフォン、メディアプレーヤ、パーソナルデジタルアシスタント(PDA)、スマート腕時計、パーソナル通信機、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント(AP)又はリピータ、セットトップボックス或いはそれらの組み合わせを示すことができる。また、単一の機器又はシステムが示されたが、単語「機器」又は「システム」は更に一つ(又は複数の)コマンドセットを単独で或いは協同的に実行することにより、本文に説明された任意の一つ以上の方法を実行する機器或いはシステムの如何なるセットを含むことを理解すべきである。
一実施形態において、システム1500は、バス又はインターコネクタ1510を介して接続されるプロセッサ1501、メモリ1503及び装置1505〜1508を具備する。プロセッサ1501は、そのうちに単一のプロセッサコア、又は複数のプロセッサコアの単一のプロセッサ、又は複数のプロセッサが含まれることを表すことができる。プロセッサ1501は、一つ以上の汎用プロセッサ、例えばマイクロプロセッサ、中央処理ユニット(CPU)などを表すことができる。具体的に、プロセッサ1501は複雑コマンドセット演算(CISC)マイクロプロセッサ、簡単コマンドセット演算(RISC)マイクロプロセッサ、超長コマンドワード(VLIW)マイクロプロセッサ、或いは他のコマンドセットを実行するプロセッサ、或いはコマンドセットの組み合わせを実行するプロセッサであっても良い。プロセッサ1501は更に一つ以上の専用プロセッサ、例えば専用集積回路(ASIC)、セルラー又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、図形プロセッサ、通信プロセッサ、暗号化プロセッサ、セカンドプロセッサ、組み込みプロセッサ、或いはコマンドを処理可能な任意の他のタイプのロジックであっても良い。
プロセッサ1501(ローパワーマルチコアプロセッサソケット、例えば超低電圧プロセッサであっても良い)は前記システムの各部品と通信用のメイン処理ユニットと中央ハブとして使用可能である。このようなプロセッサは、チップ上システム(SoC)として実装可能である。プロセッサ1501は、本文に説明された処理及びステップを実行するためのコマンドを実行するように配置される。システム1500は更に選択可能な図形サブシステム1504と通信するための図形インターフェースを含んでも良い。図形サブシステム1504は、表示コントローラ、図形プロセッサ及び/又は表示装置を含んでも良い。
プロセッサ1501はメモリ1503と通信可能である。ある実施形態において、メモリ1503は複数のメモリ装置を介して実装されることにより定量のシステム記憶が提供可能である。メモリ1503は、一つ以上の揮発性の記憶装置(或いはメモリ)、例えばランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、スタティックRAM(SRAM)又は他のタイプの記憶装置を含んでも良い。メモリ1503はプロセッサ1501又は他の任意の装置により実行されるコマンドシーケンスを含む情報を記憶可能である。例えば、各操作システム、装置ドライブプログラム、ファームウェア(例えば、入出力基盤システム又はBIOS)及び/又はアプリの実行可能なコード及び/又はデータは、メモリ1503にロードされ且つプロセッサ1501により実行可能である。操作システムは、任意のタイプの操作システム、例えばロボット操作システム(ROS)、Microsoft(登録商標)会社からのWindows(登録商標)操作システム、アップル会社からのMac OS(登録商標)/iOS(登録商標)、Google(登録商標)会社からのAndroid(登録商標)、LINUX、UNIX(登録商標)、或いは他のリアルタイム又は組み込み操作システムであっても良い。
システム1500は更にIO装置、例えばネットワークインターフェース装置1505、選択可能な入力装置1506、及び他の選択可能なIO装置1507を含む装置1505〜1508を含む。ネットワークインターフェース装置1505は、無線送受信機及び/又はネットワークインターフェースカード(NIC)を含んでも良い。前記無線送受信機は、WiFi送受信機、赤外線送受信機、ブルートゥース(登録商標)送受信機、WiMax送受信機、無線セルラー電話送受信機、衛星送受信機(例えば、グロバールポジションシステム(GPS)送受信機)、他の無線周波数(RF)送受信機或いはそれらの組み合わせであっても良い。NICはイーサネット(登録商標)カードであっても良い。
入力装置1506は、マウス、タッチパネル、タッチセンシティブスクリーン(表示装置1504と一体化に集積可能)、指示装置(例えばスタイラス)及び/又はキーボード(例えば、物理キーボード又はタッチセンシティブスクリーンの一部として表示される仮想キーボード)を含んでも良い。例えば、入力装置1506はタッチパネルに接続されるタッチパネルコントローラを含んでも良い。タッチパネルとタッチパネルコントローラは、例えば複数種類のタッチセンシティブ技術(コンデンサ、抵抗、赤外と表面弾性波技術を含むが、それらに限定されない)のうちの何れか一つ、及び他の近隣センサアレイ又はタッチパネルと接触する一つ以上のポイントを特定するための他の素子を利用してその接触、移動又は中断を検出する。
IO装置1507はラジオ装置を含んでも良い。ラジオ装置は、例えば音声識別、音声複製、デジタル記録及び/又は電話機能のような音声をサポートする機能を促進するように、スピーカ及び/又はマイクロフォンを含んでも良い。他のIO装置1507は、ユニバーサルシリアルバス(USB)ポート、パラレルポート、シリアルポート、プリンター、ネットワークインターフェース、バスブリッジ(例えば、PCI−PCIブリッジ)、センサ(例えば、加速度計のような運動センサ、ジャイロ、磁力計、光センサ、コンパス、近接センサなど)或いはそれらの組み合わせを更に含んでも良い。装置1507は画像形成処理サブシステム(例えば、カメラ)を含んでも良い。前記画像形成処理サブシステムは、カメラ機能(例えば、写真とビデオセグメントを記録する)を促進するための光学センサ、例えば電荷結合装置(CCD)又は相補型金属酸化物半導体(CMOS)の光学センサを含んでも良い。幾つかのセンサはセンサハブ(図示しない)を介してインターコネクタ1510に接続されても良い。キーボード又は熱センサのような他の装置は、システム1500の具体的な配置又は設計に応じて組み込みコントローラ(図示しない)により制御されても良い。
例えばデータ、アプリ、一つ以上の操作システムなどの情報の不揮発性の記憶を提供するために、大容量の記憶デバイス(図示しない)はプロセッサ1501に接続されても良い。各実施形態において、より薄い且つより軽いシステム設計を実現すると共にシステムの応答性を改善するために、このような大容量の記憶デバイスは、ソリッドステートデバイス(SSD)により実装されても良い。ところが、他の実施形態において、大容量の記憶デバイスは、主にハードディスクドライバー(HDD)を使用して実装されても良い。そのうち、容量の小さいSSD記憶デバイスは、SSDキャッシュとして使用されて断電の間にコンテキスト及び他の類似の情報の不揮発性の記憶を実現することにより、システムの動作が再起動される時に快速給電を実現することができる。また、フラッシュメモリは、例えばシリアルペリフェラルインターフェース(SPI)を介してプロセッサ1501に接続されても良い。このようなフラッシュメモリは、システムソフトウェアの不揮発性の記憶を提供することができる。前記システムソフトウェアには、前記システムのBIOS及び他のファームウェアが含まれる。
記憶装置1508は、本文に記載された任意の一つ以上の方法或いは機能を表す一つ以上のコマンドセット又はソフトウェア(例えば、モジュール、ユニット及び/又はロジック1528)が記憶されるコンピュータアクセス可能な記憶媒体1509(機械可読記憶媒体或いはコンピュータ可読記憶媒体とも呼ばれる)を含んでも良い。処理モジュール/ユニット/ロジック1528は、前記部品のうちの何れか一つ、例えば図3Aのオブジェクト位置決めモジュール308を示すことができる。処理モジュール/ユニット/ロジック1528は、データ処理システム1500、メモリ1503及びプロセッサ1501により実行される間に完全的又は少なくとも一部的にメモリ1503内及び/又はプロセッサ1501内に保存されても良い。データ処理システム1500、メモリ1503及びプロセッサ1501も機械可読記憶媒体として構成される。処理モジュール/ユニット/ロジック1528は、ネットワークによりネットワークインターフェース装置1505を介して伝送し又は受信可能である。
コンピュータ可読記憶媒体1509は、以上で説明された幾つかのソフトウェア機能を永遠に記憶しても良い。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の記憶媒体として示されたが、「コンピュータ可読記憶媒体」という用語は前記一つ以上のコマンドセットを記憶する単一以上の記憶媒体(例えば、集中式又は分散式のデータベース及び/又は関連のキャッシュ及びサーバ)を含むと理解すべきである。「コンピュータ可読記憶媒体」という用語は、コマンドセットを記憶し又はコーディング可能な任意の記憶媒体を含むと理解すべきである。前記コマンドセットは、機器により実行され且つ前記機器に本願の任意の一つ以上の方法を実行させるために用いられる。従って、「コンピュータ可読記憶媒体」という用語は、固体メモリ及び光学記憶媒体及び磁気記憶媒体、或いは如何なる他の不揮発性の機械可読記憶媒体を含むと理解すべきであるが、それらに限定されない。
本文に記載の処理モジュール/ユニット/ロジック1528、部品及び他の特徴は、独立なハードウェア部品として実装され、又はハードウェア部品(例えば、ASICS、FPGA、DSP又は類似の装置)の機能に集積されるように実装可能である。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置におけるファームウェア又は機能回路として実装可能である。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置とソフトウェア部品の如何なる組み合わせで実装されても良い。
注意すべきなのは、システム1500はデータ処理システムの各部品を備えると示されたが、部品の接続の如何なる特定な構成又は手段を示すわけではないことである。これは、このような詳細が本願の実施形態と緊密な関係を有していないからである。更に、より少ない部品を持ち、或いはより多い部品を持ち可能なネットワークコンピュータ、携帯コンピュータ、モバイルフォン、サーバ及び/又は他のデータ処理システムも本願の実施形態と共に使用可能と理解すべきである。
前記の詳しい説明における幾つかの部分は、既にコンピュータメモリ内にデータビットに対する演算のアルゴリズムと符号標記により表された。これらのアルゴリズムの説明及び標記は、データ処理分野における技術者により使用される方式であり、彼らの作業の意図を効率的に当分野の他の技術者に伝達する。本文において、アルゴリズムは一般的に所望の結果を引き起こすセルフコンシステント操作シーケンスであると考えられる。これらの操作は物理量に対する物理的な制御の必要がある操作である。
ところが、理解すべきなのは、全てのこれらと類似する用語は、何れも適当な物理量に関連させると意味し、且つこれらの量に適用する便利な標識に過ぎないことである。上記の論述に他の方式で明確に指定される場合以外、全明細書において、用語(例えば付加の特許請求の範囲に記載される用語)で行われた論述はコンピュータシステム又は類似の電子演算装置の動作及び処理であると理解すべきである。前記コンピュータシステム又は電子演算装置は、コンピュータシステムのレジスタとメモリに物理(電子)量として表されるデータを制御し、前記データをコンピュータシステムメモリ、レジスタ、他の類似の情報記憶デバイス、伝送又は表示装置に同様に物理量として表される他のデータに変換する。
本願の実施形態は更に本文における処理を実行するデバイスに関する。このようなコンピュータプログラムは不揮発性のコンピュータ可読記憶媒体に記憶される。機械可読記憶媒体は、機械(例えば、コンピュータ)可読な形で情報を記憶する如何なる機構を含む。例えば、機械可読(例えば、コンピュータ可読)な記憶媒体は、機械(例えば、コンピュータ)可読な記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置)を含む。
前記の図面に描画されるプロセス又は方法は処理ロジックにより実行されても良い。前記処理ロジックは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(例えば、不揮発性のコンピュータ可読記憶媒体として表す)或いは両者の組み合わせを含む。前記過程又は方法は前記の記載において所定の順序に従う操作として説明されたが、前記操作のうちの一部が異なる順序に従って実行可能と理解すべきである。また、一部の操作は順序での実行ではなく、並行に実行可能である。
本願の実施形態は、如何なる特定のプログラミング言語に従って説明することではない。理解すべきなのは、複数のプログラミング言語を使用して本文に記載された本願の実施形態を実装することができることである。
以上の明細書において、既に本願の具体的な例示的実施形態を参照して本願の実施形態を説明した。明らかに、付加の特許請求の範囲に記載の本願のより広い主旨及び範囲から逸脱されない場合に、本願に対する各修正が可能である。よって、制限的な意味ではなく、説明的な意味で本明細書及び図面を理解すべきである。
本願は、主に自動運転車両の操作に関する。具体的に、本願は、オブジェクトの二次元(2D)境界枠を自動運転車両(ADV)の三次元(3D)位置に転換する方法に関する。
自動運転モードで走行する(例えば、ドライバーレス)車両は、乗員、特に運転者を幾つかの運転に関する役割から解放可能である。車両は、自動運転モードで走行される場合に、車載センサを使用して各位置までナビゲーションすることにより、ヒューマンマシンインタラクションが最も少ない場合、又は乗客が一人もいない場合などに車両を運転することを許可することができる。
周囲環境の検知は、通常の運転者の検知する、当該運転者により運転される車両の周囲の状況を示すことができる。検知において、オブジェクトは、一般的に画像平面における2D境界枠として検出される。2D境界枠をカメラ座標及び/又は実世界座標における3D位置(例えば、3Dオブジェクトの中心までのベクトル)を有する3Dオブジェクトに転換する必要がある。
本願の一つの態様は、自動運転車(ADV)を動作させるためのコンピュータに実装された方法に関する。前記方法は、自動運転車両(ADV)を動作させるためのコンピュータに実装された方法であって、前記ADVに取り付けられた画像取得装置により、前記ADVの立体図からオブジェクトを検知するステップと、前記画像取得装置により取得された前記オブジェクトの画像に基いて、前記オブジェクトの2D境界枠を生成するステップと、前記オブジェクトの前記画像に基いて、前記オブジェクトの方位と3Dサイズを測定するステップと、前記オブジェクトの方位と3Dサイズに基いて、前記オブジェクトの三次元(3D)ビューを前記画像に投影するステップと、前記オブジェクトの3Dビューと前記生成された2D境界枠に基いて、前記ADVから前記オブジェクトまでの距離を測定するステップと、前記ADVの運転を制御して前記オブジェクトを回避して操縦できるように、測定された前記ADVから前記オブジェクトまでの距離に基いて軌道を生成するステップと、を含む。
本願の他の態様は、命令が記憶された不揮発性の機械可読記憶媒体に関する。前記命令が記憶された不揮発性の機械可読記憶媒体は、前記命令が一つ以上のプロセッサにより実行されると、前記一つ以上のプロセッサに処理を実行させ、前記処理は、ADVに取り付けられた画像取得装置により、前記ADVの立体図からオブジェクトを検知するステップと、前記画像取得装置により取得された前記オブジェクトの画像に基いて、前記オブジェクトの2D境界枠を生成するステップと、前記オブジェクトの前記画像に基いて、前記オブジェクトの方位と3Dサイズを測定するステップと、前記オブジェクトの方位と3Dサイズに基いて、前記オブジェクトの三次元(3D)ビューを前記画像に投影するステップと、前記オブジェクトの3Dビューと前記生成された2D境界枠に基いて、前記ADVから前記オブジェクトまでの距離を測定するステップと、前記ADVの運転を制御して前記オブジェクトを回避して操縦できるように、測定された前記ADVから前記オブジェクトまでの距離に基いて軌道を生成するステップと、を含む。
本願のもう一つの態様は、データ処理システムに関する。前記データ処理システムは、一つ以上のプロセッサと、前記一つ以上のプロセッサに接続されて命令を記憶するメモリと、を備え、前記命令が前記一つ以上のプロセッサにより実行されると、前記一つ以上のプロセッサに処理を実行させ、前記処理は、ADVに取り付けられた画像取得装置により、前記ADVの立体図からオブジェクトを検知するステップと、前記画像取得装置により取得された前記オブジェクトの画像に基いて、前記オブジェクトの2D境界枠を生成するステップと、前記オブジェクトの前記画像に基いて、前記オブジェクトの方位と3Dサイズを測定するステップと、前記オブジェクトの方位と3Dサイズに基いて、前記オブジェクトの三次元(3D)ビューを前記画像に投影するステップと、前記オブジェクトの3Dビューと前記生成された2D境界枠に基いて、前記ADVから前記オブジェクトまでの距離を測定するステップと、前記ADVの運転を制御して前記オブジェクトを回避して操縦できるように、測定された前記ADVから前記オブジェクトまでの距離に基いて軌道を生成するステップと、を含む。
本願の実施形態は、図面の各図において限定的ではなく例示的な形態で示され、図面における同じ図面符号は類似する要素を示す。
図1は、一実施形態によるネットワークシステムを示すブロック図である。 図2は、一実施形態による自動運転車両の例示を示すブロック図である。 図3Aは、一実施形態による自動運転車両と共に使用される検知/計画システムの例示を示すブロック図である。 図3Bは、一実施形態による自動運転車両と共に使用される検知/計画システムの例示を示すブロック図である。 図4は、一実施形態によるオブジェクト位置決めモジュールの例示を示すブロック図である。 図5Aは、一実施形態によるオブジェクトを検知するADVの例示を示すブロック図である。 図5Bは、一実施形態による図5AにおけるADV101による検知画面の画像及び検知オブジェクトの投影の例示である。 図6Aは、立体図と平面図で示された一実施形態によるオブジェクトを検知するADVの例示を示すブロック図である。 図6Bは、立体図と平面図で示された一実施形態によるオブジェクトを検知するADVの例示を示すブロック図である。 図7は、一実施形態によるADVにより実行される方法を示すフローチャートである。 図8は、一実施形態によるADVにより実行される方法を示すフローチャートである。 図9は、一実施形態によるデータ処理システムを示すブロック図である。
以下、説明の詳細を参照しながら本願の様々な実施形態及び態様を説明し、図面には、上記様々な実施形態が示される。以下の説明及び図面は、本願を例示するためのものであり、限定するものとして解釈されるべきではない。本願の様々な実施形態を全面的に理解するために、多くの特定の詳細を説明する。ところが、いくつかの場合には、本願の実施形態に対する簡単な説明を提供するために、周知又は従来技術の詳細について説明していない。
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に組み合わせて説明された特定の特徴、構造又は特性が本願の少なくとも一実施形態に含まれてもよいと意味する。「一実施形態では」という表現は、本明細書全体において同一の実施形態を指すとは限らない。
ADVの画像取得装置により取得された画像におけるオブジェクトは、一般的に機械学習モデルからの2D境界枠により検出される。一つの態様によれば、ADVは、既知の3Dサイズと方位を有するオブジェクトの2D境界枠に基いて、オブジェクトのカメラ座標系における3D位置を検索することができる。第一の態様によれば、ADVのシステムは、ADVに取り付けられた画像取得装置によりADVの立体図からオブジェクトを検知する。システムは、画像取得装置により取得されたオブジェクトの画像に基いて、機械学習モデルによりオブジェクトの2D境界枠を生成する。システムは、オブジェクトの画像に基いてオブジェクトの方位と3Dサイズを測定する。システムは、オブジェクトの方位と3Dサイズに基いてオブジェクトの3Dビューを画像に投影する。システムはオブジェクトの3Dビューと生成された2D境界枠とに基いて、ADVからオブジェクトまでの距離を測定する。システムは、ADVの運転を制御してオブジェクトを回避して操縦できるように、測定されたADVからオブジェクトまでの距離に基いて軌道を生成する。
他の態様によれば、システムは、投影されたオブジェクトの中心が2D境界枠の2D中心における水平軸の中央にほぼ位置するまで、投影されたオブジェクトを左か右へシフトする。システムは、投影されたオブジェクトの中心が2D境界枠の2D中心における垂直軸の中央にほぼ位置するまで、投影されたオブジェクトを上か下へシフトする。システムは、投影されたオブジェクトのシフトと測定されたオブジェクトまでの距離とに基いて、センターベクトルを決定する。システムは、決定されたオブジェクトまでのセンターベクトルに基いてADVを制御する。
図1は、本願の一実施形態による自動運転車両のネットワーク構造を示すブロック図である。図1を参照し、ネットワーク構造100には、ネットワーク102を介して一つ以上のサーバ103〜104に通信接続される自動運転車両101が備えられる。一つの自動運転車両が示されたが、複数の自動運転車両がネットワーク102を介して互いに接続され、及び/又はサーバ103〜104に接続可能である。ネットワーク102は、例えば、有線又は無線のローカルエリアネットワーク(LAN)、インターネットのようなワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク又はそれらの組み合わせのような任意のタイプのネットワークであっても良い。サーバ103〜104は、例えば、ネットワーク又はクラウドサーバ、アプリサーバ、バックエンドサーバ又はそれらの組み合わせのような任意のタイプのサーバ又はサーバグループであっても良い。サーバ103〜104は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図/興味点(MPOI)サーバ又は位置サーバなどであっても良い。
自動運転車両は、自動運転モードとして配置可能な車両であり、前記自動運転モードにおいて運転者からの入力が非常に少なく又はない場合に車両が環境をナビゲーションし通過する。このような自動運転車両はセンサシステムを備えても良い。前記センサシステムは、車両の走行環境に関する情報を検出するように配置される一つ以上のセンサを備える。前記車両と関連するコントローラとは、検出された情報を使用して前記環境をナビゲーションし通過する。自動運転車両101は、手動モード、オートマチック運転モード、又は一部の自動運転モードで走行することができる。
一実施形態において、自動運転車両101には、検知/計画システム110と、車両制御システム111と、無線通信システム112と、ユーザインターフェースシステム113と、センサシステム115とが含まれるが、それらに限定されない。自動運転車両101には、通常の車両に備えられている幾つかの常用的な部品、例えばエンジン、車輪、ハンドル、変速機などが更に備えられても良い。前記部品は、車両制御システム111及び/又は検知/計画システム110により複数種の通信信号及び/又は命令(commands)を使用して制御可能である。当該複数種の通信信号及び/又は命令(commands)は、例えば、加速信号又は命令(commands)、減速信号又は命令(commands)、操舵信号又は命令(commands)、ブレーキ信号又は命令(commands)などである。
部品110〜115は、インターコネクタ、バス、ネットワーク或いはそれらの組み合わせにより互いに通信接続することができる。例えば、部品110〜115は、コントローラローカルエリアネットワーク(CAN)バスを介して互いに通信接続することができる。CANバスは、ホストコンピュータなしのアプリケーションでマイクロコントローラ及びデバイスが相互に通信できるように設計された車両バス規格である。これは、もともと自動車内の多重電気配線のために設計されたメッセージベースのプロトコルであるが、他の多くの環境でも使用される。
ここで、図2を参照し、一実施形態において、センサシステム115は、一つ以上のカメラ211、全地球位置決めシステム(GPS)ユニット212、慣性計測ユニット(IMU)213、レーダユニット214及び光検出及び測距(LIDAR)ユニット215を含むが、それらに限定されない。GPSシステム212は、送受信機を含むことができる。前記送受信機は、操作により自動運転車両の位置に関する情報を提供可能である。IMUユニット213は、慣性加速度に基いて自動運転車両の位置及び方位変化を検出することができる。レーダユニット214は、無線電気信号を利用して自動運転車両のローカル環境におけるオブジェクトを検知するシステムとして表すことができる。幾つかの実施形態において、オブジェクトの検知以外に、レーダユニット214は、付加的にオブジェクトの速度及び/又は進行方向も検知することができる。LIDARユニット215は、レーザを使用して自動運転車両の位置する環境におけるオブジェクトを検知することができる。他のシステム部品以外に、LIDARユニット215は、更に一つ以上のレーザ光源、レーザスキャナ及び一つ以上の検出器を含んでも良い。カメラ211は、自動運転車両の周囲環境の画像を採集する一つ以上の装置を含んでも良い。カメラ211は、静止物カメラ及び/又はビデオカメラであっても良い。カメラは、例えば、回転及び/又は傾斜のプラットフォームにカメラを取り付けることによって、機械的に移動されてもよい。
センサシステム115には、例えばソナーセンサ、赤外線センサ、操舵センサ、アクセルセンサ、ブレーキセンサ及びラジオセンサ(例えば、マイクロフォン)のような他のセンサが含まれても良い。ラジオセンサは、自動運転車両の周囲の環境から音声を取得するように配置されても良い。操舵センサは、ハンドル、車両の車輪又はそれらの組み合わせの操舵角を検出するように配置されても良い。アクセルセンサとブレーキセンサは、車両のアクセル位置とブレーキ位置をそれぞれ検出する。ある場合に、アクセルセンサとブレーキセンサは、集積型のアクセル/ブレーキセンサとして集積されても良い。
一実施形態において、車両制御システム111は、操舵ユニット201、アクセルユニット202(加速ユニットとも呼ばれる)とブレーキユニット203を含むが、それらに限定されない。操舵ユニット201は、車両の方向又は進行方向を調整するために用いられる。アクセルユニット202は、モータ又はエンジンの速度を制御するために用いられ、モータ又はエンジンの速度は更に車両の速度と加速度を制御するために用いられる。ブレーキユニット203は、摩擦を提供して車両の車輪又はタイヤを減速させることにより車両を減速させる。注意すべきなのは、図2に示された部品はハードウェア、ソフトウェア或いはそれらの組み合わせで実装することができる。
図1に戻し、無線通信システム112は、自動運転車両101と装置、センサ、他の車両などのような外部システムとの通信を許す。例えば、無線通信システム112は、一つ以上の装置と直接的に無線通信しても良く、或いは通信ネットワークを経由して無線通信し、例えばネットワーク102を経由してサーバ103〜104と通信しても良い。無線通信システム112は、如何なるセルラー通信ネットワーク又は無線ローカルエリアネットワーク(WLAN)、例えばWiFiを使用して他の部品又はシステムと通信することができる。無線通信システム112は、例えば赤外線リンク、ブルートゥース(登録商標)などを使用して装置(例えば、乗客の携帯装置、表示装置、車両101内のスピーカ)と直接的に通信する。ユーザインターフェースシステム113は、車両101内に実装される周辺機器の部分であっても良く、例えばキーボード、タッチパネル表示装置、マイクロフォン及びスピーカなどを含む。
自動運転車両101の機能のうちの一部又は全部は、特に自動運転モードで操作される場合に、検知/計画システム110により制御し又は管理されることができる。検知/計画システム110は、センサシステム115、制御システム111、無線通信システム112及び/又はユーザインターフェースシステム113から情報を受信し、受信された情報を処理し、開始点からオブジェクト点までの路線又は経路を計画した後に、計画と制御情報に基づいて車両101を運転するように、必要なハードウェア(例えば、プロセッサ、メモリ、記憶デバイス)とソフトウェア(例えば、操作システム、計画と路線設定プログラム)を含む。その代わりに、検知/計画システム110は車両制御システム111と一体に集積されても良い。
例えば、乗客であるユーザは、例えばユーザインターフェースを介してトリップの開始位置と目的地を指定することができる。検知/計画システム110はトリップに関連するデータを取得する。例えば、検知/計画システム110は、MPOIサーバから位置と路線情報を取得することができる。前記MPOIサーバはサーバ103〜104の一部であっても良い。位置サーバは位置サービスを提供し、MPOIサーバは地図サービスとある位置のPOIを提供する。その代わりに、このような位置とMPOI情報は、ローカルに検知/計画システム110の不揮発性の記憶装置にキャッシュされても良い。
自動運転車両101が路線に沿って移動している場合に、検知/計画システム110は交通情報システム又はサーバ(TIS)からリアルタイムの交通情報を取得することもできる。注意すべきなのは、サーバ103〜104は第三者のものに操作されても良い。その代わりに、サーバ103〜104の機能は検知/計画システム110と一体に集積されても良い。検知/計画システム110は、リアルタイム交通情報、MPOI情報と位置情報、及びセンサシステム115により検出され又は検知されるリアルタイムのローカル環境データ(例えば、障害物、オブジェクト、付近の車両)に基いて、最適な路線を計画し且つ計画された路線に従って例えば制御システム111を介して車両101を運転することにより、所定の目的地まで安全的且つ効率的に到達可能である。
サーバ103は、各種のクライアントに対してデータ解析サービスを実行するデータ解析システムであっても良い。一実施形態において、データ解析システム103は、データ採集器121と、機械学習エンジン122とを含む。データ採集器121は、複数種の車両(自動運転車両又は人間の運転者により運転される通常の車両)から運転統計データ123を採集する。運転統計データ123には、配布される運転命令(commands)(例えば、アクセル、ブレーキ、及び操舵の命令(commands))を示す情報及び異なるタイミングで車両のセンサにより採集される車両の応答(例えば、速度、加速度、減速度、方向)を示す情報が含まれる。運転統計データ123は更に、異なるタイミングにおける運転環境を記述する情報、例えば、路線(出発位置と目的地の位置を含む)、MPOI、天気状況及び道路状況(例えば、高速道路における徐行、渋滞、交通事故、道路工事、一時迂回、未知の障害物など)を含んでも良い。
機械学習エンジン122は、運転統計データ123に基いて、各種の目的のためにルールセット、アルゴリズム及び/又は予測モデル124を生成し訓練する。その内、2D境界枠をADVの画像取得装置により取得された画像において認識されたオブジェクトに描画するモデルが含まれる。アルゴリズム124は、オブジェクトの3D距離と方位を測定するためのアルゴリズムを更に含んでも良い。
図3Aと図3Bは、一実施形態による自動運転車両と共に使用される検知/計画システムの例示を示すブロック図である。システム300は、図1の自動運転車両101の一部として実装されても良く、検知/計画システム110、制御システム111とセンサシステム115を含むが、それらに限定されない。図3A〜図3Bを参照し、検知/計画システム110には、測位モジュール301、検知モジュール302、予測モジュール303、策定モジュール304、計画モジュール305、制御モジュール306、路線設定モジュール307及びオブジェクト位置決めモジュール308が含まれるが、それらに限定されない。
モジュール301〜308のうち一部又は全部は、ソフトウェア、ハードウェア或いはそれらの組み合わせで実装されても良い。例えば、これらのモジュールは、不揮発性の記憶装置352にインストールされ、メモリ351にロードされ、且つ一つ以上のプロセッサ(図示しない)により実行されても良い。注意すべきなのは、これらのモジュールのうち一部又は全部は、通信可能に図2の車両制御システム111の一部又は全部のモジュールに接続され、或いはそれらと一体に集積されても良い。モジュール301〜308のうち一部は、一体に集積モジュールとして集積可能である。
測位モジュール301は、自動運転車両300の現在位置を測定し(例えば、GPSユニット212を利用する)、ユーザのトリップ又は路線に関する如何なるデータを管理する。測位モジュール301(地図/路線モジュールと呼ばれる)はユーザのトリップ又は路線に関連する如何なるデータを管理する。ユーザは例えばユーザインターフェースを経由して登録してトリップの開始位置と目的地を指定することができる。測位モジュール301は自動運転車両300における地図と路線情報311のような他の部品と通信してトリップに関するデータを取得する。例えば、測位モジュール301は位置サーバと地図/POI(MPOI)サーバから位置と路線情報を取得することができる。位置サーバは位置サービスを提供し、MPOIサーバは地図サービスとある位置のPOIを提供することにより、地図と路線情報311の一部としてキャッシュされることができる。自動運転車両300が路線に沿って移動する際に、測位モジュール301は交通情報システム又はサーバからリアルタイムな交通情報を取得することもできる。
検知モジュール302は、センサシステム115により提供されたセンサデータと、測位モジュール301により取得されたポジショニング情報に基づいて、周囲の環境への検知を決定する。検知情報は、通常のドライバーがドライバーにより運転されている車両周囲において検知すべきものを示すことができる。検知は、例えばオブジェクトの形を採用する車線配置(例えば、直線車線又はカーブ車線)、信号機信号、他の車両の相対位置、歩行者、建築、横断歩道又は他の交通関連標識(例えば、停止標識、譲り標識)などを含むことができる。
検知モジュール302は、一つ以上のカメラにより採集される画像を処理し解析して自動運転車両の環境におけるオブジェクト及び/又は特徴を識別するように、コンピュータ視覚システム又はコンピュータ視覚システムの機能を含むことができる。前記オブジェクトは、交通信号、道路の境界、他の車両、歩行者及び/又は障害物などを含むことができる。コンピュータ視覚システムは、オブジェクト識別アルゴリズム、ビデオトラッキング及び他のコンピュータ視覚技術を使用することができる。幾つかの実施形態において、コンピュータ視覚システムは、環境地図を描画し、オブジェクトを追跡し、及びオブジェクトの速度などを推定することができる。検知モジュール302は、レーダ及び/又はLIDARのような他のセンサにより提供される他のセンサデータに基いてオブジェクトを検出することもできる。
オブジェクトごとについて、予測モジュール303はこの場合にオブジェクトがどのように動くかを予測する。前記予測は地図と路線情報311と交通ルール312のセットに基いて当該タイミングで運転環境が検知された検知データにより実行される。例えば、オブジェクトが反対の方向における車両であって且つ現在の運転環境に交差点が含まれている場合に、予測モジュール303は車両が直進し、又は曲がる可能性を予測する。検知データにより交差点において信号機がないと示された場合に、予測モジュール303は、車両が交差点に入る前に完全に停車する必要があると予測可能である。検知データにより車両が現在に左折車線又は右折車線に位置すると示された場合に、予測モジュール303は車両が左折又は右折の可能性が大きいと予測可能である。
オブジェクトごとに対して、策定モジュール304はオブジェクトをどのように処置するかについての決定を下す。例えば、特定のオブジェクト(例えば、交差の路線における他の車両)及びオブジェクトを描画するメタデータ(例えば、速度、方向、操舵角度)について、策定モジュール304は前記オブジェクトとどのように出会うか(例えば、追い越し、譲り、停止、追い抜き)を決定する。策定モジュール304は交通ルール又は運転ルール312のルールセットに基づいてこのような決定を下すことができる。前記ルールセットは不揮発性の記憶装置352に記憶されても良い。
路線設定モジュール307は、起点から終点までの一つ以上の路線又は経路を提供するように配置される。(例えばユーザから受け取られた)開始位置から目標位置までの所定のトリップについて、路線設定モジュール307は路線と地図情報311を取得し、開始位置から目標位置までの全ての走行可能な路線又は経路を決定する。路線設定モジュール307は、開始位置から目標位置までの各路線が決定された地形図による参照線を生成することができる。参照線は、例えば他の車両、障碍物又は交通状況からの干渉を受けない理想的な路線又は経路である。つまり、道路において他の車両、歩行者又は障害物がない場合に、ADVは参照線に従って精確的に又は緊密的に追随すべきである。そして、地形図を策定モジュール304及び/又は計画モジュール305に提供する。策定モジュール304及び/又は計画モジュール305は、他のモジュールにより提供された他のデータ(例えば測位モジュール301からの交通状况、検知モジュール302により検知された運転環境及び予測モジュール303により予測された交通状况)に基いて、全ての走行可能な路線を検査して最適路線のうちの何れか一つを選択し更新する。タイミングにおける特定の運転環境によっては、ADVを制御するための実際の経路又は路線は、路線設定モジュール307から提供された参照線と異なり又は近い可能性がある。
計画モジュール305は、検知されたオブジェクトのそれぞれに対する決定に基づいて、路線設定モジュール307により提供された参照線を基礎として、自動運転車両に経路又は路線及び運転パラメータ(例えば、距離、速度及び/又は操舵角度)を計画する。言い換えれば、所定のオブジェクトについて、策定モジュール304は当該オブジェクトに対してなにをするかを決定し、計画モジュール305はどのようにするかを決定する。例えば、所定のオブジェクトについて、策定モジュール304は前記オブジェクトを追い越すことを決定することができ、計画モジュール305は前記オブジェクトの左側か右側に追い越すことを決定することができる。計画と制御データは、計画モジュール305により生成され、車両300が次の移動循環(例えば、次の路線/経路区間)においてどのように移動するかを描画する情報を含む。例えば、計画と制御データは、車両300が30マイル/時間(mph)の速度で10メートルだけ移動し、その後に25 mphの速度で右側の車線に変更するように指示することができる。
制御モジュール306は、計画と制御データに基づいて、計画と制御データにより限定された路線又は経路に応じて適当な命令(commands)又は信号を車両制御システム111に送信することにより自動運転車両を制御し運転する。前記計画と制御データは、経路又は路線に沿って異なるタイミングで適当な車両設置又は運転パラメータ(例えば、アクセル、ブレーキ、及び操舵の命令(commands))を使用することにより車両を路線又は経路の第一の点から第二の点まで運転するように十分な情報を有する。
計画段階は、複数の計画周期(運転周期とも呼ばれる)(例えば、100ミリ秒(ms)の時間間隔毎)に実行される。各計画周期又は運転周期について、計画データと制御データに基いて一つ以上の制御命令(control commands)を発する。つまり、100 ms毎に、計画モジュール305は次の路線区間又は経路区間を計画し、例えば、オブジェクト位置とADVがオブジェクト位置まで所要の時間が含まれる。その代わりに、計画モジュール305は更に具体的な速度、方向及び/又は操舵角などを規定することもできる。一実施形態において、計画モジュール305は、次の予定時間帯(例えば5秒)に対して路線区間又は経路区間を計画する。各計画周期について、計画モジュール305は前の周期において計画されたオブジェクト位置に基いて現在の周期(例えば、次の5秒)に用いるオブジェクト位置を計画する。そして、制御モジュール306は、現在の周期における計画データと制御データに基いて一つ以上の制御命令(control commands)(例えば、アクセル、ブレーキ、及び操舵の制御命令(control commands))を生成する。
注意すべきなのは、策定モジュール304と計画モジュール305は、集積モジュールとして集積することができる。策定モジュール304/計画モジュール305は、自動運転車両の運転経路を決定するように、ナビゲーションシステム又はナビゲーションシステムの機能を具備することができる。例えば、ナビゲーションシステムは、自動運転車両が下記の経路に沿って移動することを実現する一連の速度と進行方向を決定することができる。前記経路は、自動運転車両を最終の目的地まで走行させる車線による経路に沿って進行させると共に、基本的に検知された障害物を回避して操縦できる。目的地は、ユーザインターフェースシステム113を経由して行われたユーザ入力に基づいて設定されても良い。ナビゲーションシステムは自動運転車両が運転していると同時に動的に運転経路を更新することができる。ナビゲーションシステムは、自動運転車両のための運転経路を決定するように、GPSシステムと一つ以上の地図中のデータを合併することができる。
策定モジュール304/計画モジュール305は、識別、推定及び回避、或いは他の手段で自動運転車両の環境における潜在の障害物を越えるように、更に衝突回避システム又は衝突回避システムの機能を具備する。例えば、衝突回避システムは、以下の手段で自動運転車両のナビゲーションにおける変化を実現することができる。即ち、操作制御システム111のうち一つ以上のサブシステムは操舵操作、回転操作、制動操作などを採用する。衝突回避システムは、周囲の交通モード、道路状況などに基いて自動的に実現可能な障害物回避操作を決定することができる。衝突回避システムは、他のセンサシステムにより自動運転車両が方向変更して進入しようとする隣接領域における車両、建築障害物などが検出された時に操舵操作を行わないように配置することができる。衝突回避システムは、使用可能で且つ自動運転車両の乗員の安全性を最大化させる操作を自動的に選択することができる。衝突回避システムは、自動運転車両の車室に最小値の加速度が発生させるように予測される回避操作を選択することができる。
一実施形態によれば、オブジェクト位置決めモジュール308は、オブジェクトの機械学習モデル(機械学習モデル313の一部として)により生成された2D境界枠に対応する3D位置を検索することができる。そして、ADV 101は、オブジェクトの3D位置に基いて運転軌道を生成してADVを制御することができる。オブジェクト位置決めモジュール308は、検知モジュール302の一部として実現可能である。
図4は、一実施形態によるオブジェクト位置決めモジュールの例示を示すブロック図である。図4を参照し、オブジェクト位置決めモジュール308には、方位測定モジュール401と、サイズ測定モジュール403と、2D境界枠生成モジュール405と、3D距離測定モジュール407と、3Dセンターベクトル測定モジュール409とが備えられても良い。方位測定モジュール401はオブジェクトの方位を測定することができる。サイズ測定モジュール403はオブジェクトのサイズを測定することができる。2D境界枠生成モジュール405は、画像におけるオブジェクト毎に2D境界枠を生成することができる。3D距離測定モジュール407は、三次元座標系におけるADVからオブジェクトまでの距離を測定することができる。3Dセンターベクトル決定モジュール409は、三次元座標系におけるADVからオブジェクトまでのセンターベクトルを決定することができる。
図5Aは一実施形態によるADVがオブジェクトを検知する例示を示すブロック図である。図5Bは一実施形態による、図5AにおけるADV101の検知画面の画像と検知オブジェクトの投影の例示である。投影(例えば、投影511)と検出された2D境界枠(例えば、境界枠505)とを比較して検知オブジェクト(例えば、車両503)の3D距離を検索することができる。図4及び図5A〜図5Bを参照し、一実施形態において、例示500は、ADV101と、ADV101に取り付けられたカメラ211と、ADV101の前方の道路区間を走行してくる車両503とを含むことにより、カメラ211により取得された画像(例えば、画像501)が車両503を取得する。ADV101は、第一機械学習モデル(機械学習モデル313の一部として)を画像501に適用することにより、2D境界枠(例えば、車両503の境界枠505)、及び/又は取得された画像における各オブジェクトの3D境界枠から導出される2D境界枠を生成することができる。
方位測定モジュール(例えば図4の方位測定モジュール401)は、境界枠505に基いて、第二機械学習モデル(機械学習モデル313の一部として)を適用して車両503の方位(例えば、車両503のヨー(yaw)、ピッチ(pitch)とロール(roll))及び/又は3Dサイズを測定することができる。一実施形態において、車両503の方位及び/又は3Dサイズを測定する前に、方位測定モジュール401は第三機械学習モデル(機械学習モデル313の一部として)及び/又は画像認識エンジン(検知モジュール302の一部として)に基づいてオブジェクト503を車両として分類し、且つ車両のモデル及び/又はタイプを決定する。ここで、オブジェクト503の分類、オブジェクト方位と3Dサイズの測定、及び2D境界枠の生成に用いられる第一機械学習モデル、第二機械学習モデル及び第三機械学習モデルは、複数種のタスクを実行するように予め訓練された同一又は異なる機械学習モデルであっても良い。例えば、第一機械学習モデル、第二機械学習モデル及び第三機械学習モデルは、サーバ103の予測モデル124の一部であっても良い。また、複数種の機械学習モデルとコンピュータ視覚アルゴリズムは、2D境界枠の生成、オブジェクトに対する分類及び分類されたオブジェクトの方位及び/又は3Dサイズの測定に用いられても良い。モデルとアルゴリズムには、回帰モデル、コンボリューションニューラルネットワーク、エリアコンボリューションニューラルネットワーク(例えば速い、及びより速いエリアコンボリューションニューラルネットワーク)、マスク(masked)エリアコンボリューションニューラルネットワークなどが含まれるが、それらに限定されない。一実施形態において、車両503の寸法に合わせるように2D境界枠505を減縮する。例えば、境界枠の寸法(例えば、長さ又は幅)がその前の寸法と比べて所定の閾値まで達成し、或いは一定の回数のイテレーションが経過するまで、車両503における領域毎に線形的な回帰を応用して当該領域の緊密な境界枠の座標を生成することができる。
サイズ測定モジュール403は、既知のオブジェクト(例えば、車両)及び/又は既知の車両の既知のモデルタイプ及び既知の方位及び/又は3Dサイズに基づいて、3D枠(例えば、3Dビュー)を生成して既知の方位及び/又は3Dサイズを有する既知の車両を示すことができる。例えば、サイズ測定モジュール403は、車両503の既知の方位及び/又は3Dサイズ、及び既知のモデルタイプに基づいて3Dビュー511を生成することができる。そして、サイズ測定モジュール403は、サイズの異なる3Dビュー511を画像501の画像平面に投影する。3Dビュー511の異なる(例えば、異なるサイズの)投影図は、ADV101から対応する3Dビュー511まで異なる距離を有する3Dビュー511の立体図に対応することができる。
3D距離測定モジュール407は、境界枠505の寸法(例えば、長さ又は幅)及び/又は面積、及び3Dビュー511の異なる(例えば、異なる3D距離の位置における異なるサイズと仮定する)投影ビューにより、2D境界枠505の同一の寸法(例えば、長さ、幅又は面積(例えば、長さ×幅))にベストマッチする寸法を有する3Dビュー511に基づいて対応する距離を測定することができる。一実施形態において、(検索アルゴリズム314の一部とする貪欲検索アルゴリズム、バイナリ検索アルゴリズム又は他の検索アルゴリズムを使用することにより)異なる投影ビューの3Dビュー511を検索して投影された3Dビュー511の寸法(例えば、長さ、幅又は面積(例えば、長さ×幅))を所定の閾値まで2D境界枠505の寸法に合わせ、或いは一定の回数のイテレーションが経過するまでADVから車両503までの距離を測定する。そして、2D境界枠505にベストマッチするサイズを有する投影ビューの3Dビュー511の対応距離は、ADVから車両503までの特定距離である。注意すべきなのは、貪欲アルゴリズムは、ヒューリスティック問題解決(例えば、幾つかの候補選択肢から解を求めて目標関数を求める)に従うアルゴリズムであって、段階毎にローカルな最適選択を行ってグローバルな最適を探し出そうとすることである。バイナリ検索は、ソートされた配列から目標値の位置を検索する検索アルゴリズムである。
図6A〜図6Bは、一実施形態による立体図と平面図で示された、オブジェクトを検知するADVの例示を示すブロック図である。図6Aを参照し、投影ビュー611は図5の3D投影ビュー511であっても良いが、2D境界枠505のオブジェクトの寸法にベストマッチするサイズを有する3Dオブジェクトの投影ビュー(例えば、3D枠)である。図6Bを参照し、投影ビュー611は関連付けられたオブジェクト中心位置613とオブジェクト中心位置613からカメラ211までの距離615を有する。ここで、距離615は予め規定された距離である。
一実施形態において、3Dセンターベクトル測定モジュール409は異なる3D投影ビュー611を画像平面(例えば、画像501の画像平面)に投影する。各3D投影ビュー611は異なるオブジェクト中心位置614(それに応じて、異なるオブジェクト中心位置613)に関連付けられたが、カメラ211までの同一のサイズ(例えば、同一の半径方向距離615)を有する。そして、2D境界枠505の2D中心は、異なる3D投影ビュー611に基づいて、幾つかの所定の閾値まで、或いは一定の回数のイテレーションが経過するまで、3D投影ビュー611の中心にベストマッチすることができる。ベストマッチである3D投影ビュー611のオブジェクト中心位置614に投影されたカメラ211からの斜線(距離615に等しい距離を有する)は、これから決定されたセンターベクトルになる。一実施形態において、(検索アルゴリズム314の一部として貪欲検索アルゴリズム、バイナリ検索又は他の検索アルゴリズムを使用する)異なるオブジェクト中心位置の座標を有するが、半径方向距離を一定に維持する(例えば、予め規定されたADVからオブジェクトまでの距離に等しい)異なる投影3Dビュー611を検索することにより、センターベクトルを決定する。
一実施形態において、投影されたオブジェクト中心位置613を2D境界枠505の中点として初期化することにより検索を実行することができる。そして、検索は、投影611のオブジェクト中心がほぼ2D境界枠505の2D中心における水平軸の中央に位置するまで、左か右へ投射された画像をシフトする。そして、検索は、投影611のオブジェクト中心がほぼ2D境界枠505の2D中心における垂直軸の中央に位置するまで、上か下へ投影された画像をシフトすることができる。そして、ベストマッチした次元を有する投影ビュー611は、オブジェクト中心位置を決定するための最適候補になる。そして、投影ビュー611に関わるオブジェクト中心位置はセンターベクトルの決定に用いられる。
センターベクトルが決定されると、車両503のADV101に対する3D位置はカメラ座標において既知である。そして、予測モジュール303、策定モジュール304及び/又は計画モジュール305は、オブジェクト(例えば、車両503)のセンターベクトルを使用して運転軌道を生成することにより、車両503に応じてADV101を制御する。幾つかの実施形態において、二つ又はそれ以上のオブジェクトの3D位置(例えば、センターベクトル)を決定しても良く、例えば、二つ又はそれ以上のオブジェクトについて取得された画像の二つ又はそれ以上の2D境界枠を取得する。幾つかの実施形態において、センターベクトルは一つの座標系から他の座標系へ転換可能である。例えば、カメラ211が校正されると、決定されたセンターベクトルは、既知の校正パラメータにより、カメラ座標から実世界座標へ転換し、或いは実世界座標からカメラ座標へ転換することができる。
図7は一実施形態によるADVにより実行される方法を示したフローチャートである。フロー700は処理ロジックにより実行可能である。処理ロジックは、ソフトウェア、ハードウェア又はそれらの組合せを含んでも良い。例えば、フロー800は図3Aのオブジェクト位置決めモジュール308により実行可能である。図7を参照し、ブロック701において、処理ロジックはADVに取り付けられた画像取得装置によりADVの立体図からオブジェクトを検知する。ブロック702において、処理ロジックは画像取得装置により取得されたオブジェクトの画像に基づいてオブジェクトの2D境界枠を生成する。ブロック703において、処理ロジックはオブジェクトの画像に基づいてオブジェクトの方位と3Dサイズを測定する。ブロック704において、処理ロジックはオブジェクトの方位と3Dサイズに基づいてオブジェクトの三次元(3D)ビューを画像に投影する。ブロック705において、処理ロジックはオブジェクトの3Dビューと生成された2D境界枠に基づいてADVからオブジェクトまでの距離を測定する。ブロック706において、選択的に、処理ロジックは、ADVがオブジェクトを回避して操縦できるように運転を制御するように、測定されたADVから当該オブジェクトまでの距離に応じて軌道を生成する。
一実施形態において、機械学習モデルを取得されたオブジェクトの画像に適用し、機械学習モデルによりオブジェクトを囲む2D境界枠の長さ、幅又は面積を測定することにより、オブジェクトの2D境界枠を生成する。他の実施形態において、処理ロジックは更に、投影画像の寸法が2D境界枠の幅又は高さの所定の閾値内になるまで、貪欲検索アルゴリズムにより投影画像のサイズを検索し、且つ当該サイズに基づいてADVから目までの距離を測定する。他の実施形態において、処理ロジックは、投影画像のサイズが2D境界枠の幅、高さ又は面積の所定の閾値内になるまで、バイナリ検索アルゴリズムにより投影画像のサイズを検索する。そして、処理ロジックは検索されたサイズに基づいてADVからオブジェクトまでの距離を測定する。
一実施形態において、処理ロジックは更に測定されたオブジェクトまでの距離に基づいてオブジェクトまでのセンターベクトルを決定する。なお、センターベクトルは、軌道を生成してADVを制御するように利用可能である。図8は一実施形態によるADVにより実行される方法を示したフローチャートである。フロー800は処理ロジックにより実行可能である。処理ロジックは、ソフトウェア、ハードウェア又はそれらの組合せを含んでも良い。例えば、フロー800は図3Aのオブジェクト位置決めモジュール308により実行可能である。図8を参照し、ブロック801において、処理ロジックは、投影オブジェクトの中心がほぼ2D境界枠の2D中心における水平軸の中央に位置するまで、左か右へ投影オブジェクトをシフトする。ブロック802において、処理ロジックは、投影オブジェクトの中心がほぼ2D境界枠の2D中心における垂直軸の中央に位置するまで、上か下へ投影オブジェクトをシフトする。ブロック803において、処理ロジックは、投影オブジェクトのシフトと予め規定されたオブジェクトまでの距離に基いてセンターベクトルを決定する。ブロック804において、選択的に、処理ロジックは決定されたオブジェクトまでのセンターベクトルに基いてADVを制御する。
注意すべきなのは、いままで示され説明された部品における一部又は全部がソフトウェア、ハードウェア又はそれらの組み合わせで実装可能なことである。例えば、このような部品は不揮発性の記憶装置にインストールされ記憶されるソフトウェアとして実装可能である。前記ソフトウェアは、プロセッサ(図示しない)によりメモリにロードされてメモリに実行されることにより本願の全文に記述されたプロセス又は操作を実装することができる。その代わりに、このような部品は、専用ハードウェア(例えば、集積回路(例えば、専用集積回路又はASIC)、デジタル信号プロセッサ(DSP)或いはフィールドプログラマブルゲートアレイ(FPGA))にプログラミングされ、或いは組み込まれた実行可能なコードとして実装可能である。前記実行可能なコードは、アプリからの相応的なドライブプログラム及び/又は操作システムを介してアクセス可能である。また、そのような部品はプロセッサ又はプロセッサのコアにおける特定なハードウェアロジックとして実装され、ソフトウェア部品により一つ以上の特定なコマンドを介してアクセスされるコマンドセットの一部とすることができる。
図9は本発明の一実施形態と共に使用可能なデータ処理システムの例示を示すブロック図である。例えば、システム1500は、以上で説明された前記プロセス又は方法の何れか一つを実行する如何なるデータ処理システム、例えば、図1の検知/計画システム110又はサーバ103〜104のうちの何れか一つを示すことができる。システム1500は異なる部品を多く具備することができる。これらの部品は、集積回路(IC)、集積回路の一部、独立な電子装置又はプリント基板(例えば、コンピュータシステムのマザーボード又はインサートカード)に適用される他のモジュールとして実行可能し、或いは他の方式でコンピュータシステムのフレームに設置される部品として実装可能である。
注意すべきなのは、システム1500はコンピュータシステムの複数の部品のハイレベルビューを示したことである。理解すべきなのは、幾つかの実施例に付加的な部品を具備しても良く、また他の実施例に示された部品の異なる配置を具備しても良いことである。システム1500は、デスクトップコンピュータ、ノードパソコン、タブレット、サーバ、モバイルフォン、メディアプレーヤ、パーソナルデジタルアシスタント(PDA)、スマート腕時計、パーソナル通信機、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント(AP)又はリピータ、セットトップボックス或いはそれらの組み合わせを示すことができる。また、単一の機器又はシステムが示されたが、単語「機器」又は「システム」は更に一つ(又は複数の)コマンドセットを単独で或いは協同的に実行することにより、本文に説明された任意の一つ以上の方法を実行する機器或いはシステムの如何なるセットを含むことを理解すべきである。
一実施形態において、システム1500は、バス又はインターコネクタ1510を介して接続されるプロセッサ1501、メモリ1503及び装置1505〜1508を具備する。プロセッサ1501は、そのうちに単一のプロセッサコア、又は複数のプロセッサコアの単一のプロセッサ、又は複数のプロセッサが含まれることを表すことができる。プロセッサ1501は、一つ以上の汎用プロセッサ、例えばマイクロプロセッサ、中央処理ユニット(CPU)などを表すことができる。具体的に、プロセッサ1501は複雑コマンドセット演算(CISC)マイクロプロセッサ、簡単コマンドセット演算(RISC)マイクロプロセッサ、超長コマンドワード(VLIW)マイクロプロセッサ、或いは他のコマンドセットを実行するプロセッサ、或いはコマンドセットの組み合わせを実行するプロセッサであっても良い。プロセッサ1501は更に一つ以上の専用プロセッサ、例えば専用集積回路(ASIC)、セルラー又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、図形プロセッサ、通信プロセッサ、暗号化プロセッサ、セカンドプロセッサ、組み込みプロセッサ、或いはコマンドを処理可能な任意の他のタイプのロジックであっても良い。
プロセッサ1501(ローパワーマルチコアプロセッサソケット、例えば超低電圧プロセッサであっても良い)は前記システムの各部品と通信用のメイン処理ユニットと中央ハブとして使用可能である。このようなプロセッサは、チップ上システム(SoC)として実装可能である。プロセッサ1501は、本文に説明された処理及びステップを実行するためのコマンドを実行するように配置される。システム1500は更に選択可能な図形サブシステム1504と通信するための図形インターフェースを含んでも良い。図形サブシステム1504は、表示コントローラ、図形プロセッサ及び/又は表示装置を含んでも良い。
プロセッサ1501はメモリ1503と通信可能である。ある実施形態において、メモリ1503は複数のメモリ装置を介して実装されることにより定量のシステム記憶が提供可能である。メモリ1503は、一つ以上の揮発性の記憶装置(或いはメモリ)、例えばランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、スタティックRAM(SRAM)又は他のタイプの記憶装置を含んでも良い。メモリ1503はプロセッサ1501又は他の任意の装置により実行されるコマンドシーケンスを含む情報を記憶可能である。例えば、各操作システム、装置ドライブプログラム、ファームウェア(例えば、入出力基盤システム又はBIOS)及び/又はアプリの実行可能なコード及び/又はデータは、メモリ1503にロードされ且つプロセッサ1501により実行可能である。操作システムは、任意のタイプの操作システム、例えばロボット操作システム(ROS)、Microsoft(登録商標)会社からのWindows(登録商標)操作システム、アップル会社からのMac OS(登録商標)/iOS(登録商標)、Google(登録商標)会社からのAndroid(登録商標)、LINUX、UNIX(登録商標)、或いは他のリアルタイム又は組み込み操作システムであっても良い。
システム1500は更にIO装置、例えばネットワークインターフェース装置1505、選択可能な入力装置1506、及び他の選択可能なIO装置1507を含む装置1505〜1508を含む。ネットワークインターフェース装置1505は、無線送受信機及び/又はネットワークインターフェースカード(NIC)を含んでも良い。前記無線送受信機は、WiFi送受信機、赤外線送受信機、ブルートゥース(登録商標)送受信機、WiMax送受信機、無線セルラー電話送受信機、衛星送受信機(例えば、グロバールポジションシステム(GPS)送受信機)、他の無線周波数(RF)送受信機或いはそれらの組み合わせであっても良い。NICはイーサネット(登録商標)カードであっても良い。
入力装置1506は、マウス、タッチパネル、タッチセンシティブスクリーン(表示装置1504と一体化に集積可能)、指示装置(例えばスタイラス)及び/又はキーボード(例えば、物理キーボード又はタッチセンシティブスクリーンの一部として表示される仮想キーボード)を含んでも良い。例えば、入力装置1506はタッチパネルに接続されるタッチパネルコントローラを含んでも良い。タッチパネルとタッチパネルコントローラは、例えば複数種類のタッチセンシティブ技術(コンデンサ、抵抗、赤外と表面弾性波技術を含むが、それらに限定されない)のうちの何れか一つ、及び他の近隣センサアレイ又はタッチパネルと接触する一つ以上のポイントを特定するための他の素子を利用してその接触、移動又は中断を検出する。
IO装置1507はラジオ装置を含んでも良い。ラジオ装置は、例えば音声識別、音声複製、デジタル記録及び/又は電話機能のような音声をサポートする機能を促進するように、スピーカ及び/又はマイクロフォンを含んでも良い。他のIO装置1507は、ユニバーサルシリアルバス(USB)ポート、パラレルポート、シリアルポート、プリンター、ネットワークインターフェース、バスブリッジ(例えば、PCI−PCIブリッジ)、センサ(例えば、加速度計のような運動センサ、ジャイロ、磁力計、光センサ、コンパス、近接センサなど)或いはそれらの組み合わせを更に含んでも良い。装置1507は画像形成処理サブシステム(例えば、カメラ)を含んでも良い。前記画像形成処理サブシステムは、カメラ機能(例えば、写真とビデオセグメントを記録する)を促進するための光学センサ、例えば電荷結合装置(CCD)又は相補型金属酸化物半導体(CMOS)の光学センサを含んでも良い。幾つかのセンサはセンサハブ(図示しない)を介してインターコネクタ1510に接続されても良い。キーボード又は熱センサのような他の装置は、システム1500の具体的な配置又は設計に応じて組み込みコントローラ(図示しない)により制御されても良い。
例えばデータ、アプリ、一つ以上の操作システムなどの情報の不揮発性の記憶を提供するために、大容量の記憶デバイス(図示しない)はプロセッサ1501に接続されても良い。各実施形態において、より薄い且つより軽いシステム設計を実現すると共にシステムの応答性を改善するために、このような大容量の記憶デバイスは、ソリッドステートデバイス(SSD)により実装されても良い。ところが、他の実施形態において、大容量の記憶デバイスは、主にハードディスクドライバー(HDD)を使用して実装されても良い。そのうち、容量の小さいSSD記憶デバイスは、SSDキャッシュとして使用されて断電の間にコンテキスト及び他の類似の情報の不揮発性の記憶を実現することにより、システムの動作が再起動される時に快速給電を実現することができる。また、フラッシュメモリは、例えばシリアルペリフェラルインターフェース(SPI)を介してプロセッサ1501に接続されても良い。このようなフラッシュメモリは、システムソフトウェアの不揮発性の記憶を提供することができる。前記システムソフトウェアには、前記システムのBIOS及び他のファームウェアが含まれる。
記憶装置1508は、本文に記載された任意の一つ以上の方法或いは機能を表す一つ以上のコマンドセット又はソフトウェア(例えば、モジュール、ユニット及び/又はロジック1528)が記憶されるコンピュータアクセス可能な記憶媒体1509(機械可読記憶媒体或いはコンピュータ可読記憶媒体とも呼ばれる)を含んでも良い。処理モジュール/ユニット/ロジック1528は、前記部品のうちの何れか一つ、例えば図3Aのオブジェクト位置決めモジュール308を示すことができる。処理モジュール/ユニット/ロジック1528は、データ処理システム1500、メモリ1503及びプロセッサ1501により実行される間に完全的又は少なくとも一部的にメモリ1503内及び/又はプロセッサ1501内に保存されても良い。データ処理システム1500、メモリ1503及びプロセッサ1501も機械可読記憶媒体として構成される。処理モジュール/ユニット/ロジック1528は、ネットワークによりネットワークインターフェース装置1505を介して伝送し又は受信可能である。
コンピュータ可読記憶媒体1509は、以上で説明された幾つかのソフトウェア機能を永遠に記憶しても良い。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の記憶媒体として示されたが、「コンピュータ可読記憶媒体」という用語は前記一つ以上のコマンドセットを記憶する単一以上の記憶媒体(例えば、集中式又は分散式のデータベース及び/又は関連のキャッシュ及びサーバ)を含むと理解すべきである。「コンピュータ可読記憶媒体」という用語は、コマンドセットを記憶し又はコーディング可能な任意の記憶媒体を含むと理解すべきである。前記コマンドセットは、機器により実行され且つ前記機器に本願の任意の一つ以上の方法を実行させるために用いられる。従って、「コンピュータ可読記憶媒体」という用語は、固体メモリ及び光学記憶媒体及び磁気記憶媒体、或いは如何なる他の不揮発性の機械可読記憶媒体を含むと理解すべきであるが、それらに限定されない。
本文に記載の処理モジュール/ユニット/ロジック1528、部品及び他の特徴は、独立なハードウェア部品として実装され、又はハードウェア部品(例えば、ASICS、FPGA、DSP又は類似の装置)の機能に集積されるように実装可能である。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置におけるファームウェア又は機能回路として実装可能である。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置とソフトウェア部品の如何なる組み合わせで実装されても良い。
注意すべきなのは、システム1500はデータ処理システムの各部品を備えると示されたが、部品の接続の如何なる特定な構成又は手段を示すわけではないことである。これは、このような詳細が本願の実施形態と緊密な関係を有していないからである。更に、より少ない部品を持ち、或いはより多い部品を持ち可能なネットワークコンピュータ、携帯コンピュータ、モバイルフォン、サーバ及び/又は他のデータ処理システムも本願の実施形態と共に使用可能と理解すべきである。
前記の詳しい説明における幾つかの部分は、既にコンピュータメモリ内にデータビットに対する演算のアルゴリズムと符号標記により表された。これらのアルゴリズムの説明及び標記は、データ処理分野における技術者により使用される方式であり、彼らの作業の意図を効率的に当分野の他の技術者に伝達する。本文において、アルゴリズムは一般的に所望の結果を引き起こすセルフコンシステント操作シーケンスであると考えられる。これらの操作は物理量に対する物理的な制御の必要がある操作である。
ところが、理解すべきなのは、全てのこれらと類似する用語は、何れも適当な物理量に関連させると意味し、且つこれらの量に適用する便利な標識に過ぎないことである。上記の論述に他の方式で明確に指定される場合以外、全明細書において、用語(例えば付加の特許請求の範囲に記載される用語)で行われた論述はコンピュータシステム又は類似の電子演算装置の動作及び処理であると理解すべきである。前記コンピュータシステム又は電子演算装置は、コンピュータシステムのレジスタとメモリに物理(電子)量として表されるデータを制御し、前記データをコンピュータシステムメモリ、レジスタ、他の類似の情報記憶デバイス、伝送又は表示装置に同様に物理量として表される他のデータに変換する。
本願の実施形態は更に本文における処理を実行するデバイスに関する。このようなコンピュータプログラムは不揮発性のコンピュータ可読記憶媒体に記憶される。機械可読記憶媒体は、機械(例えば、コンピュータ)可読な形で情報を記憶する如何なる機構を含む。例えば、機械可読(例えば、コンピュータ可読)な記憶媒体は、機械(例えば、コンピュータ)可読な記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置)を含む。
前記の図面に描画されるプロセス又は方法は処理ロジックにより実行されても良い。前記処理ロジックは、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(例えば、不揮発性のコンピュータ可読記憶媒体として表す)或いは両者の組み合わせを含む。前記過程又は方法は前記の記載において所定の順序に従う操作として説明されたが、前記操作のうちの一部が異なる順序に従って実行可能と理解すべきである。また、一部の操作は順序での実行ではなく、並行に実行可能である。
本願の実施形態は、如何なる特定のプログラミング言語に従って説明することではない。理解すべきなのは、複数のプログラミング言語を使用して本文に記載された本願の実施形態を実装することができることである。
以上の明細書において、既に本願の具体的な例示的実施形態を参照して本願の実施形態を説明した。明らかに、付加の特許請求の範囲に記載の本願のより広い主旨及び範囲から逸脱されない場合に、本願に対する各修正が可能である。よって、制限的な意味ではなく、説明的な意味で本明細書及び図面を理解すべきである。

Claims (21)

  1. 自動運転車両(ADV)を動作させるためのコンピュータに実装された方法であって、
    前記ADVに取り付けられた画像取得装置により、前記ADVの立体図からオブジェクトを検知するステップと、
    前記画像取得装置により取得された前記オブジェクトの画像に基いて、前記オブジェクトの2D境界枠を生成するステップと、
    前記オブジェクトの前記画像に基いて、前記オブジェクトの方位と3Dサイズを測定するステップと、
    前記オブジェクトの方位と3Dサイズに基いて、前記オブジェクトの三次元(3D)ビューを前記画像に投影するステップと、
    前記オブジェクトの3Dビューと前記生成された2D境界枠に基いて、前記ADVから前記オブジェクトまでの距離を測定するステップと、
    前記ADVの運転を制御して前記オブジェクトを回避して操縦できるように、測定された前記ADVから前記オブジェクトまでの距離に基いて軌道を生成するステップと、を含むコンピュータに実装された方法。
  2. 前記オブジェクトの2D境界枠は、
    前記オブジェクトの前記画像を取得するのに機械学習モデルを適用するステップと、
    前記機械学習モデルに基いて、前記オブジェクトを囲む2D境界枠の長さ、幅又は面積を測定するステップと、
    により生成される請求項1に記載のコンピュータに実装された方法。
  3. 前記投影された画像の寸法が前記2D境界枠の幅又は高さの所定閾値内になるまで、貪欲検索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
    前記サイズに基いて、前記ADVから前記オブジェクトまでの距離を測定するステップと、を更に含む請求項2に記載のコンピュータに実装された方法。
  4. 前記投影された画像の寸法が前記2D境界枠の幅、高さ又は面積の所定閾値内になるまで、二分探索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
    前記サイズに基いて、前記ADVから前記オブジェクトまでの距離を測定するステップと、を更に含む請求項2に記載のコンピュータに実装された方法。
  5. 前記測定された前記オブジェクトまでの距離に基いて、前記オブジェクトまでのセンターベクトルを決定するステップを更に含み、前記センターベクトルは、前記ADVを制御するように運転軌道を生成するために使用できるものである請求項1に記載のコンピュータに実装された方法。
  6. 前記オブジェクトまでのセンターベクトルを決定するステップは、
    前記投影されたオブジェクトの中心が前記2D境界枠の2D中心における水平軸の中央に位置するまで、前記投影されたオブジェクトを左か右へシフトするステップと、
    前記投影されたオブジェクトの中心が前記2D境界枠の2D中心における垂直軸の中央に位置するまで、前記投影されたオブジェクトを上か下へシフトするステップと、
    前記投影されたオブジェクトのシフトと前記測定された前記オブジェクトまでの距離とに基いて、前記センターベクトルを決定するステップと、を含む請求項5に記載のコンピュータに実装された方法。
  7. 前記決定された前記オブジェクトまでのセンターベクトルに基いて、前記ADVを制御するステップを更に含む請求項6に記載のコンピュータに実装された方法。
  8. 命令が記憶された不揮発性の機械可読記憶媒体であって、
    前記命令が一つ以上のプロセッサにより実行されると、前記一つ以上のプロセッサに処理を実行させ、前記処理は、
    ADVに取り付けられた画像取得装置により、前記ADVの立体図からオブジェクトを検知するステップと、
    前記画像取得装置により取得された前記オブジェクトの画像に基いて、前記オブジェクトの2D境界枠を生成するステップと、
    前記オブジェクトの前記画像に基いて、前記オブジェクトの方位と3Dサイズを測定するステップと、
    前記オブジェクトの方位と3Dサイズに基いて、前記オブジェクトの三次元(3D)ビューを前記画像に投影するステップと、
    前記オブジェクトの3Dビューと前記生成された2D境界枠に基いて、前記ADVから前記オブジェクトまでの距離を測定するステップと、
    前記ADVの運転を制御して前記オブジェクトを回避して操縦できるように、測定された前記ADVから前記オブジェクトまでの距離に基いて軌道を生成するステップと、を含む不揮発性の機械可読記憶媒体。
  9. 前記オブジェクトの2D境界枠は、
    前記オブジェクトの前記画像を取得するのに機械学習モデルを適用するステップと、
    前記機械学習モデルに基いて、前記オブジェクトを囲む2D境界枠の長さ、幅又は面積を測定するステップと、
    により生成される請求項8に記載の不揮発性の機械可読記憶媒体。
  10. 前記投影された画像の寸法が前記2D境界枠の幅又は高さの所定閾値内になるまで、貪欲検索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
    前記サイズに基いて、前記ADVから前記オブジェクトまでの距離を測定するステップと、を更に含む請求項9に記載の不揮発性の機械可読記憶媒体。
  11. 前記投影された画像の寸法が前記2D境界枠の幅、高さ又は面積の所定閾値内になるまで、二分探索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
    前記サイズに基いて、前記ADVから前記オブジェクトまでの距離を測定するステップと、を更に含む請求項9に記載の不揮発性の機械可読記憶媒体。
  12. 前記測定された前記オブジェクトまでの距離に基いて、前記オブジェクトまでのセンターベクトルを決定するステップを更に含み、前記センターベクトルは、前記ADVを制御するように運転軌道を生成するために使用できるものである請求項8に記載の不揮発性の機械可読記憶媒体。
  13. 前記オブジェクトまでのセンターベクトルを決定するステップは、
    前記投影されたオブジェクトの中心が前記2D境界枠の2D中心における水平軸の中央に位置するまで、前記投影されたオブジェクトを左か右へシフトするステップと、
    前記投影されたオブジェクトの中心が前記2D境界枠の2D中心における垂直軸の中央に位置するまで、前記投影されたオブジェクトを上か下へシフトするステップと、
    前記投影されたオブジェクトのシフトと前記測定された前記オブジェクトまでの距離とに基いて、前記センターベクトルを決定するステップと、を含む請求項12に記載の不揮発性の機械可読記憶媒体。
  14. 前記決定された前記オブジェクトまでのセンターベクトルに基いて前記ADVを制御することを更に含む請求項13に記載の不揮発性の機械可読記憶媒体。
  15. データ処理システムであって、
    一つ以上のプロセッサと、
    前記一つ以上のプロセッサに接続されて命令を記憶するメモリと、を備え、
    前記命令が前記一つ以上のプロセッサにより実行されると、前記一つ以上のプロセッサに処理を実行させ、前記処理は、
    ADVに取り付けられた画像取得装置により、前記ADVの立体図からオブジェクトを検知するステップと、
    前記画像取得装置により取得された前記オブジェクトの画像に基いて、前記オブジェクトの2D境界枠を生成するステップと、
    前記オブジェクトの前記画像に基いて、前記オブジェクトの方位と3Dサイズを測定するステップと、
    前記オブジェクトの方位と3Dサイズに基いて、前記オブジェクトの三次元(3D)ビューを前記画像に投影するステップと、
    前記オブジェクトの3Dビューと前記生成された2D境界枠に基いて、前記ADVから前記オブジェクトまでの距離を測定するステップと、
    前記ADVの運転を制御して前記オブジェクトを回避して操縦できるように、測定された前記ADVから前記オブジェクトまでの距離に基いて軌道を生成するステップと、を含むシステム。
  16. 前記オブジェクトの2D境界枠は、
    前記オブジェクトの前記画像を取得するのに機械学習モデルを適用するステップと、
    前記機械学習モデルに基いて、前記オブジェクトを囲む2D境界枠の長さ、幅又は面積を測定するステップと、
    により生成される請求項15に記載のシステム。
  17. 前記投影された画像の寸法が前記2D境界枠の幅又は高さの所定閾値内になるまで、貪欲検索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
    前記サイズに基いて、前記ADVから前記オブジェクトまでの距離を測定するステップと、を更に請求項16に記載のシステム。
  18. 前記投影された画像の寸法が前記2D境界枠の幅、高さ又は面積の所定閾値内になるまで、二分探索アルゴリズムにより前記投影された画像のサイズを検索するステップと、
    前記サイズに基いて、前記ADVから前記オブジェクトまでの距離を測定するステップと、を更に含む請求項16に記載のシステム。
  19. 前記測定された前記オブジェクトまでの距離に基いて、前記オブジェクトまでのセンターベクトルを決定するステップを更に含み、前記センターベクトルは、前記ADVを制御するように運転軌道を生成するために使用できるものである請求項15に記載のシステム。
  20. 前記オブジェクトまでのセンターベクトルを決定するステップは、
    前記投影されたオブジェクトの中心が前記2D境界枠の2D中心における水平軸の中央に位置するまで、前記投影されたオブジェクトを左か右へシフトするステップと、
    前記投影されたオブジェクトの中心が前記2D境界枠の2D中心における垂直軸の中央に位置するまで、前記投影されたオブジェクトを上か下へシフトするステップと、
    前記投影されたオブジェクトのシフトと前記測定された前記オブジェクトまでの距離とに基いて、前記センターベクトルを決定するステップと、を含む請求項19に記載のシステム。
  21. 前記決定された前記オブジェクトまでのセンターベクトルに基いて前記ADVを制御することを更に含む請求項20に記載のシステム。
JP2019073584A 2018-04-17 2019-04-08 オブジェクトの二次元境界枠を自動運転車両の三次元位置に転換するための方法[method for transforming 2d bounding boxes of objects into 3d positions for autonomous driving vehicles (advs)] Active JP6906011B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/955,634 US10816992B2 (en) 2018-04-17 2018-04-17 Method for transforming 2D bounding boxes of objects into 3D positions for autonomous driving vehicles (ADVs)
US15/955,634 2018-04-17

Publications (2)

Publication Number Publication Date
JP2019182411A true JP2019182411A (ja) 2019-10-24
JP6906011B2 JP6906011B2 (ja) 2021-07-21

Family

ID=68161730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019073584A Active JP6906011B2 (ja) 2018-04-17 2019-04-08 オブジェクトの二次元境界枠を自動運転車両の三次元位置に転換するための方法[method for transforming 2d bounding boxes of objects into 3d positions for autonomous driving vehicles (advs)]

Country Status (3)

Country Link
US (1) US10816992B2 (ja)
JP (1) JP6906011B2 (ja)
CN (1) CN110388931B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021132758A1 (ko) * 2019-12-26 2021-07-01 (주) 로탈 스테레오 카메라를 이용한 객체 위치 결정 시스템
JP2021100847A (ja) * 2020-05-19 2021-07-08 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド 車両カーブ走行用情報処理方法及び装置

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
US10839139B2 (en) 2018-04-17 2020-11-17 Adobe Inc. Glyph aware snapping
US11373411B1 (en) * 2018-06-13 2022-06-28 Apple Inc. Three-dimensional object estimation using two-dimensional annotations
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
EP3594902B1 (en) * 2018-07-09 2021-04-07 Argo AI GmbH Method for estimating a relative position of an object in the surroundings of a vehicle and electronic control unit for a vehicle and vehicle
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
KR102615196B1 (ko) * 2018-08-21 2023-12-18 삼성전자주식회사 객체 검출 모델 트레이닝 장치 및 방법
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
SG11202103493QA (en) 2018-10-11 2021-05-28 Tesla Inc Systems and methods for training machine models with augmented data
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US11188765B2 (en) * 2018-12-04 2021-11-30 Here Global B.V. Method and apparatus for providing real time feature triangulation
CN111292351A (zh) * 2018-12-07 2020-06-16 星克跃尔株式会社 车辆检测方法及执行其的电子设备
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US11783443B2 (en) 2019-01-22 2023-10-10 Fyusion, Inc. Extraction of standardized images from a single view or multi-view capture
US10887582B2 (en) 2019-01-22 2021-01-05 Fyusion, Inc. Object damage aggregation
US11176704B2 (en) * 2019-01-22 2021-11-16 Fyusion, Inc. Object pose estimation in visual data
US11338807B2 (en) * 2019-01-30 2022-05-24 Allstate Insurance Company Dynamic distance estimation output generation based on monocular video
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
US11482011B2 (en) 2019-03-28 2022-10-25 Intel Corporation Acceleration of data processing for object detection
US10846878B2 (en) * 2019-03-28 2020-11-24 Adobe Inc. Multi-axis equal spacing smart guides
US10832442B2 (en) * 2019-03-28 2020-11-10 Adobe Inc. Displaying smart guides for object placement based on sub-objects of reference objects
EP3745310A1 (en) * 2019-05-28 2020-12-02 Robert Bosch GmbH Method for calibrating a multi-sensor system using an artificial neural network
US11778934B2 (en) * 2019-07-02 2023-10-10 Bear Flag Robotics, Inc. Agricultural lane following
CN110807431A (zh) * 2019-11-06 2020-02-18 上海眼控科技股份有限公司 对象定位方法、装置、电子设备及存储介质
US11703869B2 (en) * 2019-11-26 2023-07-18 Zoox, Inc. Latency accommodation in trajectory generation
EP3871192B1 (en) * 2019-12-26 2024-03-27 Google LLC Orientation determination for mobile computing devices
RU2757038C2 (ru) * 2019-12-30 2021-10-11 Общество с ограниченной ответственностью "Яндекс Беспилотные Технологии" Способ и система для предсказания будущего события в беспилотном автомобиле (sdc)
US11776142B2 (en) 2020-01-16 2023-10-03 Fyusion, Inc. Structuring visual data
US11562474B2 (en) 2020-01-16 2023-01-24 Fyusion, Inc. Mobile multi-camera multi-view capture
DE102020103741A1 (de) * 2020-02-13 2021-08-19 Car.Software Estonia As Verfahren zur räumlichen Charakterisierung wenigstens einer Fahrzeugabbildung
KR20210111557A (ko) * 2020-03-03 2021-09-13 현대자동차주식회사 심층 학습 기반의 객체 분류 장치 및 그 방법
CN113591518B (zh) * 2020-04-30 2023-11-03 华为技术有限公司 一种图像的处理方法、网络的训练方法以及相关设备
CN111626241B (zh) * 2020-05-29 2023-06-23 北京华捷艾米科技有限公司 一种人脸检测方法及装置
CN112141087A (zh) * 2020-06-24 2020-12-29 上汽通用五菱汽车股份有限公司 自动泊车过程的安全防护方法、装置、设备及存储介质
US11628856B2 (en) * 2020-06-29 2023-04-18 Argo AI, LLC Systems and methods for estimating cuboids from LiDAR, map and image data
CN111860227B (zh) 2020-06-30 2024-03-08 阿波罗智能技术(北京)有限公司 训练轨迹规划模型的方法、装置和计算机存储介质
US11210533B1 (en) 2020-08-09 2021-12-28 Phantom AI, Inc. Method of predicting trajectory of vehicle
DE102020210188A1 (de) 2020-08-12 2022-02-17 Hitachi Astemo, Ltd. Fahrzeugumgebungserkennungseinrichtung
US11987236B2 (en) * 2020-08-31 2024-05-21 Nec Corporation Monocular 3D object localization from temporal aggregation
US11393184B2 (en) 2020-11-13 2022-07-19 Denso International America, Inc. Systems and methods for adaptive bounding box selection
US11738772B1 (en) * 2020-12-18 2023-08-29 Zoox, Inc. Object avoidance with perceived safety subgoal
US20210295013A1 (en) * 2020-12-18 2021-09-23 Beijing Baidu Netcom Science Technology Co., Ltd. Three-dimensional object detecting method, apparatus, device, and storage medium
US11972612B2 (en) * 2021-02-18 2024-04-30 Fca Us Llc Techniques to automatically verify object detection, classification, and depth for automated driving systems
US11605151B2 (en) 2021-03-02 2023-03-14 Fyusion, Inc. Vehicle undercarriage imaging
US11557129B2 (en) 2021-04-27 2023-01-17 Argo AI, LLC Systems and methods for producing amodal cuboids
CN113190003B (zh) * 2021-05-06 2024-05-31 珠海格力智能装备有限公司 Agv避障方法、装置、计算机可读存储介质和处理器
CN113312992A (zh) * 2021-05-18 2021-08-27 中山方显科技有限公司 一种基于多源传感器信息融合的动态物体感知及预测方法
US11842544B2 (en) * 2021-06-04 2023-12-12 Fujitsu Limited Automatic perspective transformation
US11978259B2 (en) 2021-07-09 2024-05-07 Ford Global Technologies, Llc Systems and methods for particle filter tracking
CN114926534A (zh) * 2022-05-16 2022-08-19 地平线(上海)人工智能技术有限公司 障碍物感知方法、装置、可读存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145660A (ja) * 2002-10-24 2004-05-20 Fuji Heavy Ind Ltd 障害物検出装置
JP2012094135A (ja) * 2010-10-28 2012-05-17 Raytheon Co 基本安全メッセージデータを生成するためのシステムおよび方法
JP2015082326A (ja) * 2013-10-23 2015-04-27 トヨタ モーター エンジニアリング アンド マニュファクチャリング ノース アメリカ,インコーポレイティド 交差点における画像及び地図に基づく車両の検出法
JP2016224501A (ja) * 2015-05-27 2016-12-28 トヨタ自動車株式会社 衝突予測装置
JP2017165158A (ja) * 2016-03-14 2017-09-21 本田技研工業株式会社 車両制御装置、車両制御方法、および車両制御プログラム

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8842163B2 (en) * 2011-06-07 2014-09-23 International Business Machines Corporation Estimation of object properties in 3D world
US8736463B1 (en) * 2012-01-30 2014-05-27 Google Inc. Object bounding box estimation
US8718861B1 (en) * 2012-04-11 2014-05-06 Google Inc. Determining when to drive autonomously
US8527199B1 (en) * 2012-05-17 2013-09-03 Google Inc. Automatic collection of quality control statistics for maps used in autonomous driving
US8706417B2 (en) * 2012-07-30 2014-04-22 GM Global Technology Operations LLC Anchor lane selection method using navigation input in road change scenarios
US9221461B2 (en) * 2012-09-05 2015-12-29 Google Inc. Construction zone detection using a plurality of information sources
US9767366B1 (en) * 2014-08-06 2017-09-19 Waymo Llc Using obstacle clearance to measure precise lateral
US20160091325A1 (en) * 2014-09-25 2016-03-31 Nissan North America, Inc. Method and system of assisting a driver of a vehicle
US9904855B2 (en) * 2014-11-13 2018-02-27 Nec Corporation Atomic scenes for scalable traffic scene recognition in monocular videos
US9347779B1 (en) * 2014-12-10 2016-05-24 Here Global B.V. Method and apparatus for determining a position of a vehicle based on driving behavior
CA3067177A1 (en) * 2015-02-10 2016-08-18 Mobileye Vision Technologies Ltd. Sparse map for autonomous vehicle navigation
US20160357262A1 (en) * 2015-06-05 2016-12-08 Arafat M.A. ANSARI Smart vehicle
US10121082B2 (en) * 2015-10-07 2018-11-06 Honda Motor Co., Ltd. System and method for providing laser camera fusion for identifying and tracking a traffic participant
US9632502B1 (en) * 2015-11-04 2017-04-25 Zoox, Inc. Machine-learning systems and techniques to optimize teleoperation and/or planner decisions
US9606539B1 (en) * 2015-11-04 2017-03-28 Zoox, Inc. Autonomous vehicle fleet service and system
US9916703B2 (en) * 2015-11-04 2018-03-13 Zoox, Inc. Calibration for autonomous vehicle operation
US9910441B2 (en) * 2015-11-04 2018-03-06 Zoox, Inc. Adaptive autonomous vehicle planner logic
US9958864B2 (en) * 2015-11-04 2018-05-01 Zoox, Inc. Coordination of dispatching and maintaining fleet of autonomous vehicles
US9734455B2 (en) * 2015-11-04 2017-08-15 Zoox, Inc. Automated extraction of semantic information to enhance incremental mapping modifications for robotic vehicles
CA3008886A1 (en) * 2015-12-18 2017-06-22 Iris Automation, Inc. Real-time visual situational awareness system
US20170297488A1 (en) * 2016-04-19 2017-10-19 GM Global Technology Operations LLC Surround view camera system for object detection and tracking
US10015537B2 (en) * 2016-06-30 2018-07-03 Baidu Usa Llc System and method for providing content in autonomous vehicles based on perception dynamically determined at real-time
US10037471B2 (en) * 2016-07-05 2018-07-31 Nauto Global Limited System and method for image analysis
EP3497405B1 (en) * 2016-08-09 2022-06-15 Nauto, Inc. System and method for precision localization and mapping
EP3549044A4 (en) * 2016-12-02 2020-07-22 Starsky Robotics, Inc. VEHICLE CONTROL SYSTEM AND METHOD OF USE
CN106709568B (zh) * 2016-12-16 2019-03-22 北京工业大学 基于深层卷积网络的rgb-d图像的物体检测和语义分割方法
US10318827B2 (en) * 2016-12-19 2019-06-11 Waymo Llc Object detection neural networks
US10077047B2 (en) * 2017-02-10 2018-09-18 Waymo Llc Using wheel orientation to determine future heading
US10318822B2 (en) * 2017-04-06 2019-06-11 GM Global Technology Operations LLC Object tracking
US10460180B2 (en) * 2017-04-20 2019-10-29 GM Global Technology Operations LLC Systems and methods for visual classification with region proposals
US10488205B2 (en) * 2017-05-22 2019-11-26 Baidu Usa Llc Method and system for updating maps based on control feedbacks of autonomous driving vehicles
CN107316001A (zh) * 2017-05-31 2017-11-03 天津大学 一种自动驾驶场景中小且密集的交通标志检测方法
US10310087B2 (en) * 2017-05-31 2019-06-04 Uber Technologies, Inc. Range-view LIDAR-based object detection
US10474157B2 (en) * 2017-06-06 2019-11-12 Baidu Usa Llc Data-based control error detection and parameter compensation system
US10031526B1 (en) * 2017-07-03 2018-07-24 Baidu Usa Llc Vision-based driving scenario generator for autonomous driving simulation
US20190079526A1 (en) * 2017-09-08 2019-03-14 Uber Technologies, Inc. Orientation Determination in Object Detection and Tracking for Autonomous Vehicles
US10438371B2 (en) * 2017-09-22 2019-10-08 Zoox, Inc. Three-dimensional bounding box from two-dimensional image and point cloud data
US11062461B2 (en) * 2017-11-16 2021-07-13 Zoox, Inc. Pose determination from contact points
US10769793B2 (en) * 2018-04-17 2020-09-08 Baidu Usa Llc Method for pitch angle calibration based on 2D bounding box and its 3D distance for autonomous driving vehicles (ADVs)

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145660A (ja) * 2002-10-24 2004-05-20 Fuji Heavy Ind Ltd 障害物検出装置
JP2012094135A (ja) * 2010-10-28 2012-05-17 Raytheon Co 基本安全メッセージデータを生成するためのシステムおよび方法
JP2015082326A (ja) * 2013-10-23 2015-04-27 トヨタ モーター エンジニアリング アンド マニュファクチャリング ノース アメリカ,インコーポレイティド 交差点における画像及び地図に基づく車両の検出法
JP2016224501A (ja) * 2015-05-27 2016-12-28 トヨタ自動車株式会社 衝突予測装置
JP2017165158A (ja) * 2016-03-14 2017-09-21 本田技研工業株式会社 車両制御装置、車両制御方法、および車両制御プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021132758A1 (ko) * 2019-12-26 2021-07-01 (주) 로탈 스테레오 카메라를 이용한 객체 위치 결정 시스템
JP2021100847A (ja) * 2020-05-19 2021-07-08 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド 車両カーブ走行用情報処理方法及び装置
US11498583B2 (en) 2020-05-19 2022-11-15 Apollo Intelligent Connectivity (Beijing) Technology Co., Ltd. Information processing method for vehicle driving on curve, electronic device and storage medium

Also Published As

Publication number Publication date
US20190317519A1 (en) 2019-10-17
JP6906011B2 (ja) 2021-07-21
CN110388931A (zh) 2019-10-29
CN110388931B (zh) 2023-11-10
US10816992B2 (en) 2020-10-27

Similar Documents

Publication Publication Date Title
JP6906011B2 (ja) オブジェクトの二次元境界枠を自動運転車両の三次元位置に転換するための方法[method for transforming 2d bounding boxes of objects into 3d positions for autonomous driving vehicles (advs)]
JP6722312B2 (ja) 自動運転に用いられる感知と計画のコラボレーションフレームワーク
JP6975512B2 (ja) 自動運転車両の周辺車両の挙動に基づくリアルタイム感知調整と運転調整
CN111076732B (zh) 基于车辆行驶的轨迹标记和生成高清地图的标记方案
CN111061261B (zh) 使用标准导航地图与基于车辆的先前轨迹确定的车道配置的自动驾驶方法
CN111824139B (zh) 用于预测与自动驾驶车辆相关的运动对象的运动的方法
JP2019206327A (ja) 自動運転車両の軌道の生成方法
JP2019182402A (ja) 自動運転車両に用いられる検知支援
KR20210069111A (ko) 자율 주행 차량의 저속 정경을 위한 보행자 상호 작용 시스템
JP2019182415A (ja) 自動運転車両(adv)に用いるピッチ角の補正方法
JP6975775B2 (ja) 自動運転車両の高速道路における自動運転に用いる、地図及びポジショニングなしで車線に沿う走行方法
JP2019204509A (ja) 移動障害物を回避する自動運転のための運転経路の決定
CN111857118B (zh) 对停车轨迹分段以控制自动驾驶车辆停车
US10496098B2 (en) Road segment-based routing guidance system for autonomous driving vehicles
US11183059B2 (en) Parking management architecture for parking autonomous driving vehicles
KR20200037737A (ko) 자율 주행 차량을 위한 보행자 확률 예측 시스템
CN111615476B (zh) 用于自动驾驶车辆的基于螺旋曲线的竖直停车规划系统
JP2019131177A (ja) 複数のスレッドを使用して自動運転車両に用いられる基準線を生成するための方法及びシステム
US11136023B2 (en) Method for determining exiting intersection of moving objects for autonomous driving vehicles
US11180145B2 (en) Predetermined calibration table-based vehicle control system for operating an autonomous driving vehicle
CN111683851B (zh) 用于自动驾驶的自反向车道的相互避开算法
KR20200037123A (ko) 에뮬레이션 기반의 자율 주행 차량의 3점 방향 전환 계획
CN111649751B (zh) 一种用于参考线平滑的超自由缝合方法
CN111684379B (zh) 自动驾驶车辆的三点转弯的最优规划器切换方法
CN111629947B (zh) 自动驾驶车辆的用于生成参考线的方法和系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190520

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200721

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210628

R150 Certificate of patent or registration of utility model

Ref document number: 6906011

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150