(58)【調査した分野】(Int.Cl.,DB名)
環境の走行車線内に存在する、前記環境内で自律モードで動作するように構成された車両の少なくとも1つのセンサから、プロセッサを用いて前記環境を示す画像データを受け取るステップと、
前記走行車線を示す前記環境内の道路の所定のイメージマップを前記画像データ上に投影するステップを含む、前記画像データを前記所定のイメージマップと比較するステップと、
前記比較するステップと、前記所定のイメージマップによって示される前記走行車線の所定の特徴とに基づいて、前記画像データにおいて、前記走行車線の前記所定の特徴の少なくとも一部に対応する前記走行車線の特徴を含む画像データ部分を判定するステップと、
前記判定された前記画像データ部分を処理することにより、さらに、該判定された画像データ部分以外の画像データを含む残りの画像データ部分を処理しないことにより、前記走行車線内に物体が存在するかどうかを判定するステップと、
前記走行車線内に物体が存在するかどうかについての前記判定に基づいて、前記環境内で前記車両を前記自律モードで制御する命令を与えるステップと、
を含むことを特徴とする方法。
【発明を実施するための形態】
【0011】
本明細書では、方法及びシステムの例について説明する。本明細書で説明するあらゆる実施形態又は特徴の例は、必ずしも他の実施形態又は特徴よりも好ましいもの又は有利なものとして解釈すべきではない。本明細書で説明する実施形態例は、限定を意図するものではない。開示するシステム及び方法のいくつかの態様は、様々な異なる構成での配置及び組み合わせが可能であり、本明細書ではこれらの全てが想定されていると容易に理解されるであろう。
【0012】
さらに、図に示す特定の構成を限定と見なすべきではない。他の実施形態は、所与の図に示す各要素よりも多くの又は少ない要素を含むことができると理解されたい。さらに、図示の要素の一部を組み合わせ、又は省略することもできる。さらに、実施形態例は、図に示していない要素を含むこともできる。
【0013】
自律モードで動作する車両では、車両の現在の車線内の物体の存在を認知又は認識することが有用となり得る。一般に、自律走行車両は、物体の存在を検出するために、LIDAR及びRADARを含む様々なセンサを利用して、車両が動作している環境を定期的に走査することができる。また、カメラが物体を遠距離から観察するように構成されており、金属物体と非金属物体を区別しないように構成できる時には、カメラを用いて物体の存在を検出することが望ましい場合もある。カメラは、LIDAR及びRADARと同様に、車両が動作している環境を定期的に走査し、画像データを取得し、画像データを処理して異物の存在を判定することができる。しかしながら、画像データの処理は計算コストが高く、画像ノイズを生じがちである。
【0014】
いくつかの例では、環境のデータ(例えば、イメージマップ)を受け取り、これを利用して画像処理を容易にするように構成された自律走行車両を提供する。本明細書では、車両の環境を表す画像データ及びイメージマップを処理して物体の存在をより効率的かつ正確に検出する自律走行車両に関する方法及びシステムを開示する。開示する実施形態は、車両が動作している環境内の特定の車線の画像データを取り込むように構成できる自律走行車両に関する。画像データは、車両が動作している特定の車線に関する情報を含む、車両が動作している環境に関する情報を含むことができる。車両は、この情報を用いて、例えば無関係な範囲を無視し、特定の車線を表す画像データ部分に注目することにより、関連する範囲内の物体を検出することができる。
【0015】
あるシナリオ例では、自律走行車両が、道路上の特定の車線内を走行中に、車両に結合されたカメラを用いて画像を取得することができる。このようなシナリオでは、車両の進行を妨げる恐れのあるあらゆる障害物(例えば、発炎筒、コーン、他の車両など)が車両にとって重要なものである可能性があり、従って車両は、理想的には特定の走行車線内に存在するあらゆるこのような物体を効率的かつ正確に検出したいと望む。車両は、これらの物体を検出するために、車両が走行している環境を定める又は示すイメージマップ(このシナリオでは、道路の詳細を定めて提供するイメージマップ)を求めることができる。車両は、道路のマップを用いて、(例えば、イメージマップを画像データと比較し、車線範囲を判定し、取り込んだ画像データに車線範囲を投影することにより)車両が動作している道路上の特定の車線を表す画像データ部分を判定することができる。車両は、判定された画像データ部分を処理して物体又はその他の物の存在を検出することができる。車両は、残りの画像データ部分を無視することができる。
【0016】
本明細書で説明する方法及びシステムを利用すれば、自律走行車両における画像処理作業が容易になり、場合によっては一般的なカメラ処理法に存在し得る問題の一部を回避することができる。
【0017】
以下、システム例についてさらに詳細に説明する。一般に、システム例はコンピュータ装置に実装することができ、或いはコンピュータ装置の形を取ることができる。しかしながら、システム例は、他の装置に実装することも、又は他の装置の形を取ることも、或いは自動車、トラック、オートバイ、バス、ボート、飛行機、ヘリコプタ、芝刈り機、レクリエーショナルビークル、遊園地の車両、農機具、建設機器、路面電車、ゴルフカート、列車及びトロリー車などの車両に含めることもできる。その他の車両も考えられる。
【0018】
図1は、ある実施形態例による車両100を示す機能ブロック図である。車両100は、完全に又は部分的に自律モードで動作するように構成され、従って「自律走行車両」と呼ぶことができる。例えば、コンピュータシステム112は、車両100の制御システム106への制御命令を介して自律モード中の車両100を制御することができる。コンピュータシステム112は、センサシステム104から情報を受け取り、(検出された障害物を避けるように進行方向を設定することなどの)1又はそれ以上の制御プロセスが、受け取った情報に自動的に基づくようにすることができる。
【0019】
車両100は、完全自律型又は部分的自律型とすることができる。部分的自律型の車両では、任意にいくつかの機能を時々又は常に(例えば、ドライバーによって)手動で制御することができる。さらに、部分的自律型の車両は、完全手動操作モードと、部分的自律操作モード及び/又は完全自律操作モードとの間で切り替わるように構成することができる。
【0020】
車両100は、推進システム102、センサシステム104、制御システム106、1又はそれ以上の周辺機器108、並びに電源110、コンピュータシステム112及びユーザインターフェイス116などの様々なサブシステムを含むことができる。車両100は、さらに多くの又は少ないサブシステムを含むこともでき、各サブシステムは複数の要素を含むことができる。さらに、各サブシステムと車両100の要素とを相互接続することもできる。従って、説明する車両100の機能の1つ又はそれ以上は、さらなる機能的又は物理的コンポーネントに分割することも、或いはより少ない機能的又は物理的コンポーネントに組み合わせることもできる。いくつかのさらなる例では、
図1に示す例にさらなる機能的及び/又は物理的コンポーネントを追加することができる。
【0021】
推進システム102は、車両100に動力的な動きを与えるコンポーネントを含むことができる。この実施形態によれば、推進システム102は、エンジン/モータ118と、エネルギー源119と、トランスミッション120と、ホイール/タイヤ121とを含むことができる。エンジン/モータ118は、内燃機関、電気モータ、蒸気機関、スターリングエンジン、又はその他のタイプのエンジン及び/又はモータのいずれかの組み合わせとすることができる。いくつかの実施形態では、推進システム102が、複数のタイプのエンジン及び/又はモータを含むことができる。例えば、ガソリン電気ハイブリッド車両は、ガソリンエンジンと電気モータを含むことができる。他の例も考えられる。
【0022】
エネルギー源119は、エンジン/モータ118に完全に又は部分的に動力を与えることができるエネルギー源を表すことができる。すなわち、エンジン/モータ118は、エネルギー源119を機械エネルギーに変換してトランスミッション120を動作させるように構成することができる。エネルギー源119の例としては、ガソリン、ディーゼル、他の石油系燃料、プロパン、他の圧縮ガス系燃料、エタノール、太陽電池パネル、バッテリ、コンデンサ、フライホイール、回生ブレーキシステム及び/又はその他の電気エネルギー供給源などを挙げることができる。エネルギー源119は、自動車100の他のシステムにエネルギーを供給することもできる。
【0023】
トランスミッション120は、エンジン/モータ118からホイール/タイヤ121に機械力を伝える要素を含むことができる。このような要素としては、ギアボックス、クラッチ、ディファレンシャル、ドライブシャフト及び/又は(単複の)車軸などを挙げることができる。トランスミッション120は、他の要素を含むこともできる。ドライブシャフトは、1又はそれ以上のホイール/タイヤ121に結合できる1又はそれ以上の車軸を含むことができる。
【0024】
ホイール/タイヤ121は、車両100を安定して支持すると同時に、車両100が移動する道路などの路面との摩擦牽引力をもたらすように配置することができる。従って、車両100のホイール/タイヤ121は、一輪車、自転車/オートバイ、三輪車、又は自動車/トラックの四輪形式を含む様々な形式で構成することができる。6又はそれ以上のホイールを含むような他のホイール/タイヤ形状も可能である。車両100のホイール/タイヤ121のいずれかの組み合わせは、他のホイール/タイヤ121に対して差動的に回転することができる。ホイール/タイヤ121は、トランスミッション120に固定して取り付けられた少なくとも1つのホイールと、ホイールのリムに結合された、走行路面に接することができる少なくとも1つのタイヤとを表すことができる。ホイール/タイヤ121は、金属とゴムのいずれかの組み合わせ、又は材料の別の組み合わせを含むことができる。
【0025】
一般に、センサシステム104は、車両100を取り巻く環境に関する情報を検出するように構成された1又はそれ以上のセンサを含む。例えば、センサシステム104は、全地球測位システム(GPS)122、慣性測定装置(IMU)124、RADARユニット126、レーザー距離計/LIDARユニット128、カメラ130及び/又はマイク131を含むことができる。センサシステム104は、車両100の内部システム(例えば、O2モニタ、燃料計、エンジンオイル温度、ホイール速度センサなど)をモニタするように構成されたセンサを含むこともできる。センサシステム104に含まれるセンサの1つ又はそれ以上は、1又はそれ以上のセンサの位置及び/又は配向を修正するために個別に及び/又は集合的に作動するように構成することができる。
【0026】
GPS122は、車両100の地理的位置を推定するように構成されたいずれかのセンサとすることができる。この目的のために、GPS122は、地球に対する車両100の位置に関する情報を提供するトランシーバを含むことができる。
【0027】
IMU124は、慣性加速に基づいて車両100の位置及び配向の変化を検知するように構成されたセンサ(例えば、加速度計及びジャイロスコープ)のいずれかの組み合わせを含むことができる。
【0028】
RADARユニット126は、無線信号を利用して車両100の局所環境内の物体を検知するシステムを表すことができる。いくつかの実施形態では、RADARユニット126を、物体を検知するだけでなく物体の速度及び/又は進行方向を検知するように構成することもできる。
【0029】
同様に、レーザー距離計又はLIDARユニット128は、車両100が存在する環境内の物体を、レーザーを用いて検知するように構成されたいずれかのセンサとすることができる。実施形態によっては、レーザー距離計/LIDARユニット128が、他のシステムコンポーネントの中でも特に、1又はそれ以上のレーザー光源、レーザースキャナ、及び1又はそれ以上の検出器を含むことができる。レーザー距離計/LIDARユニット128は、(例えば、ヘテロダイン検波を用いた)コヒーレント検出モード又はインコヒーレント検出モードで動作するように構成することができる。
【0030】
カメラ130は、車両100を取り巻く環境の複数の画像を取り込むように構成された1又はそれ以上の装置を含むことができる。カメラ130は、静止カメラ又はビデオカメラとすることができる。いくつかの実施形態では、カメラが取り付けられたプラットフォームを回転及び/又は傾斜させることなどにより、カメラ130を機械的に移動可能とすることができる。従って、車両100の制御プロセスは、カメラ130の動きを制御するように実装することができる。
【0031】
センサシステム104は、マイク131を含むこともできる。マイク131は、車両100を取り巻く環境からの音を取り込むように構成することができる。いくつかの例では、複数のマイクをマイクアレイとして、又は場合によっては複数のマイクアレイとして配置することができる。
【0032】
制御システム106は、車両100及びそのコンポーネントの(単複の)動作を制御するように構成することができる。従って、制御システム106は、ステアリングユニット132、スロットル134、ブレーキ装置136、センサフュージョンアルゴリズム138、コンピュータビジョンシステム140、ナビゲーション/パッシングシステム142、及び障害物回避システム144などを含む様々な要素を含むことができる。
【0033】
ステアリングユニット132は、車両100の進行方向を調整できる機構のいずれかの組み合わせを表すことができる。例えば、ステアリングユニット132は、1又はそれ以上のホイール/タイヤ121の(1又は複数の)軸を、車両100を旋回させるように調整することができる。スロットル134は、例えばエンジン/モータ118の動作速度を制御し、ひいては車両100の速度を制御するように構成することができる。ブレーキ装置136は、車両100を減速させるように構成された機構のいずれかの組み合わせを含むことができる。ブレーキ装置136は、例えば摩擦を用いてホイール/タイヤ121を減速させることができる。他の実施形態では、ブレーキ装置136が、ホイール/タイヤ121の運動エネルギーを電流に変換する回生制動プロセスによってホイール/タイヤ121を誘導的に減速させる。ブレーキ装置136は、他の形態を取ることもできる。
【0034】
センサフュージョンアルゴリズム138は、センサシステム104からのデータを入力として受け付けるように構成されたアルゴリズム(又はアルゴリズムを記憶するコンピュータプログラム製品)とすることができる。このデータは、例えばセンサシステム104のセンサにおいて検知された情報を表すデータを含むことができる。センサフュージョンアルゴリズム138は、カルマンフィルタ、ベイジアンネットワーク又はその他のアルゴリズムを含むことができる。センサフュージョンアルゴリズム138は、センサシステム104からのデータに基づいて様々な評価を提供することができる。実施形態にもよるが、これらの評価としては、車両100の環境内の個々の物体及び/又は特徴の評価、特定の状況の評価、及び/又は特定の状況に基づく衝突可能性の評価を挙げることができる。他の評価も可能である。
【0035】
コンピュータビジョンシステム140は、交通信号、車道境界、他の車両、歩行者及び/又は障害物などを含むことができる車両100の環境内の物体及び/又は特徴を識別するために、カメラ130によって取り込まれた画像を処理して分析するいずれかのシステムとすることができる。コンピュータビジョンシステム140は、物体認識アルゴリズム、動画像解析(SFM)アルゴリズム、ビデオ追跡及びその他のコンピュータビジョン技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステム140を、環境マップの作成、物体の追跡、物体の速度推定などを行うようにさらに構成することができる。
【0036】
ナビゲーション及びパッシングシステム142は、車両100の走行路を決定するように構成されたいずれかのシステムとすることができる。例えば、ナビゲーション/パッシングシステム142は、例えばユーザインターフェイス116を介したユーザ入力に従って設定できる最終目的地に至る車道に基づく経路に沿って車両100を大まかに前進させながら、認識された障害物を実質的に避ける経路に沿って車両100を動かすように一連の速度及び進行方向を決定することができる。また、ナビゲーション及びパッシングシステム142は、車両100の動作中に走行路を動的に更新するように構成することもできる。いくつかの実施形態では、ナビゲーション及びパッシングシステム142を、車両100の走行路を決定するために、センサフュージョンアルゴリズム138、GPS122及び1又はそれ以上の所定のマップからデータを取り込むように構成することができる。
【0037】
障害物回避システム144は、車両100の環境内の潜在的障害物を識別し、評価し、回避又は別様に通り抜けるように構成された制御システムを表すことができる。例えば、障害物回避システム144は、制御システム106内の1又はそれ以上のサブシステムを、急ハンドル操作、旋回操作、ブレーキ操作などを行うように動作させることにより、車両100のナビゲーションに変化をもたらすことができる。いくつかの実施形態では、障害物回避システム144が、周囲の交通パターン、道路状況などに基づいて、実行可能な(「利用可能な」)障害物回避操作を自動的に決定するように構成される。例えば、障害物回避システム144は、急ハンドル操作を行う予定の車両100に隣接する領域内の車両、工事用障壁、他の障害物などが他のセンサシステムによって検出された時には、急ハンドル操作が行われないように構成することができる。いくつかの実施形態では、障害物回避システム144が、車両の乗員の安全を最大化する利用可能な操作を自動的に選択することができる。例えば、障害物回避システム144は、車両100の客室内に生じる加速量が最も少ないと予測される回避操作を選択することができる。
【0038】
これに加えて、又はこれとは別に、制御システム106は、図示し説明する以外のコンポーネントを含むこともできる。
【0039】
車両100は、車両100と、外部センサ、他の車両、他のコンピュータシステム、及び/又は車両100の乗員などのユーザとの間の相互作用を可能にするように構成された周辺機器108も含む。例えば、乗員、外部システムなどから情報を受け取るための周辺機器108は、無線通信システム146、タッチスクリーン148、マイク150及び/又はスピーカ152を含むことができる。
【0040】
いくつかの実施形態では、周辺機器108が、車両100のユーザがユーザインターフェイス116と相互作用した入力を受け取るように機能する。この目的のために、タッチスクリーン148は、車両100のユーザに情報を提供するとともに、タッチスクリーン148を介して示されたユーザからの情報をユーザインターフェイス116に伝えることができる。タッチスクリーン148は、容量性検知、抵抗検知、光学検知、表面音響波処理などを介して、ユーザの指(又はスタイラスなど)によるタッチ位置及びタッチジェスチャーの両方を検知するように構成することができる。タッチスクリーン148は、タッチスクリーンの表面に対して平行又は平面的な方向、タッチスクリーンの表面に対して垂直な方向、又はこれらの両方向の指の動きを検知することができ、またタッチスクリーンの表面に加わる圧力レベルを検知することもできる。車両100の乗員は、音声コマンドインターフェイスを利用することもできる。例えば、マイク150を、車両100の乗員からの音声(例えば、音声コマンド又はその他の音声入力)を受け取るように構成することができる。同様に、スピーカ152を、車両100の乗員に音声を出力するように構成することもできる。
【0041】
いくつかの実施形態では、周辺機器108が、車両100と、その周囲環境内の装置、センサ、他の車両など、及び/又は車両100から物理的に離れて位置する、車両の周囲環境に関する交通情報、気象情報などの有用な情報を提供するコントローラ、サーバなどの外部システムとの間の通信を可能にするように機能する。例えば、無線通信システム146は、1又はそれ以上の装置と直接又は通信ネットワークを介して無線で通信することができる。任意に、無線通信システム146は、CDMA、EVDO、GSM/GPRSなどの3Gセルラ通信、及び/又はWiMax又はLTEなどの4Gセルラ通信を使用することができる。これに加えて、又はこれとは別に、無線通信システム146は、例えばWiFiを用いて無線ローカルエリアネットワーク(WLAN)と通信することもできる。いくつかの実施形態では、無線通信システム146が、例えば赤外線リンク、Bluetooth及び/又はZigBeeなどを用いて装置と直接通信することができる。無線通信システム146は、車両間及び/又は道路沿いの局間の公共及び/又は民間データ通信を含むことができる1又はそれ以上の専用短距離通信(DSRC)装置を含むこともできる。また、本開示の文脈では、無線通信システム146により、様々な車両通信システムなどの、信号に埋め込まれた情報を送受信するための他の無線プロトコルを使用することもできる。
【0042】
電源110は、周辺機器108、コンピュータシステム112、センサシステム104の電子部品などの車両100のコンポーネントに電力を供給することができる。電源110は、電気エネルギーを蓄積して例えば様々な電動式コンポーネントに放出する充電式リチウムイオンバッテリ又は鉛酸バッテリを含むことができる。いくつかの実施形態では、1又はそれ以上の一連のバッテリを、電力を供給するように構成することができる。いくつかの実施形態では、一部の全電化自動車と同様に、電源110とエネルギー源119を共に実装することができる。
【0043】
車両100の機能の多く又は全ては、センサシステム104、周辺機器108などから入力を受け取り、環境に基づく車両100の自動操作を行うのに適した制御信号を推進システム102、制御システム106、周辺機器108などに通信するコンピュータシステム112を介して制御することができる。コンピュータシステム112は、データストレージ114などの非一時的コンピュータ可読媒体に記憶された命令115を実行する(少なくとも1つのマイクロプロセッサを含むことができる)少なくとも1つのプロセッサ113を含むことができる。コンピュータシステム112は、車両100の個々のコンポーネント又はサブシステムを分散方式で制御する複数のコンピュータ装置を表すこともできる。
【0044】
いくつかの実施形態では、データストレージ114が、
図1に関連して上述したものを含む様々な自動車機能を実行するようにプロセッサ113によって実行可能な命令115(例えば、プログラム論理)を含むことができる。データストレージ114は、推進システム102、センサシステム104、制御システム106及び周辺機器108のうちの1つ又はそれ以上との間でデータの送受信を行い、これらと相互作用し、及び/又はこれらを制御する命令を含むさらなる命令を含むこともできる。
【0045】
データストレージ114は、命令115に加え、他の情報の中でも特に、道路マップ、経路情報などのデータを記憶することができる。このような情報は、車両100の自律モード、半自律モード及び/又は手動モードでの動作中に、車両100及びコンピュータシステム112によって使用することができる。
【0046】
車両100及び関連するコンピュータシステム112は、車両100の客室内の乗員などの車両100のユーザに情報を提供し、及び/又はこれらのユーザから入力を受け取る。従って、車両100は、車両100のユーザに情報を提供し、又はこれらのユーザから入力を受け取るためのユーザインターフェイス116を含むことができる。ユーザインターフェイス116は、タッチスクリーン148上に表示できる相互作用イメージの内容及び/又はレイアウトを制御し、又はこれらの制御を可能にすることができる。さらに、ユーザインターフェイス116は、無線通信システム146、タッチスクリーン148、マイク150及びスピーカ152などの、一連の周辺機器108内の1又はそれ以上の入力/出力装置を含むこともできる。
【0047】
コンピュータシステム112は、車両状態及び/又は環境状態を示す様々なサブシステム(例えば、推進システム102、センサシステム104及び/又は制御システム106)から受け取った入力、並びにユーザ選択を示すユーザインターフェイス116からの入力に基づいて車両100の動作を制御する。例えば、コンピュータシステム112は、制御システム106からの入力を利用して、センサシステム104及び障害物回避システム144によって検出された障害物を回避するようにステアリングユニット132を制御することができる。コンピュータシステム112は、車両100及びそのサブシステムの多くの側面を制御するように構成することができる。しかしながら、一般に緊急時には、又は単にユーザが無効化を作動させたことに応答して、コントローラが作動させた自動動作を手動で無効にすることもできる。
【0048】
本明細書で説明した車両100のコンポーネントは、これらのそれぞれのシステム内又はシステム外の他のコンポーネントと相互接続された形で機能するように構成することができる。例えば、カメラ130は、自律モードで動作中の車両100の環境に関する情報を表す複数の画像を取り込むことができる。この環境は、他の車両、交通信号機、交通標識、路面表示、歩行者などを含むことができる。コンピュータビジョンシステム140は、予めデータストレージ114に記憶されている物体認識モデルに基づき、及び/又は他の技術により、センサフュージョンアルゴリズム138、コンピュータシステム112などと協働して、環境内の様々な側面を分類及び/又は認識することができる。
【0049】
図1には、車両100の様々なコンポーネント、すなわち無線通信システム146、コンピュータシステム112、データストレージ114及びユーザインターフェイス116を車両100に一体化されたものとして示しているが、これらのコンポーネントの1つ又はそれ以上を車両100から分離して取り付け又は関連付けることもできる。例えば、データストレージ114は、部分的に又は完全に車両100から離れて存在することができる。従って、車両100は、離れて存在できる装置要素の形で提供することも、或いは共に存在できる装置要素の形で提供することもできる。一般に、車両100を構成する装置要素は、共に有線及び/又は無線で通信可能に結合することができる。
【0050】
図2に、
図1を参照しながら車両100に関連して説明した機能の全て又はほとんどを含むことができる車両例200を示す。
図2では、例示を目的として車両例200を四輪セダン型の車として示しているが、本開示はこのように限定されるものではない。例えば、車両例200は、本明細書で言及したあらゆるタイプの車両を表すことができる。
【0051】
車両例200は、センサユニット202、無線通信システム204、LIDARユニット206、レーザー距離計ユニット208、及びカメラ210を含む。さらに、車両例200は、
図1の車両100に関連して説明したあらゆるコンポーネントを含むことができる。
【0052】
センサユニット202は、車両例200の頂部に取り付けられ、車両例200を取り巻く環境に関する情報を検出してその指標を出力するように構成された1又はそれ以上のセンサを含む。例えば、センサユニット202は、カメラ、RADAR、LIDAR、距離計及び音響センサのいずれかの組み合わせを含むことができる。センサユニット202は、センサユニット202内の1又はそれ以上のセンサの配向を調整することができる1又はそれ以上の可動マウントを含むことができる。1つの実施形態では、可動マウントが、車両例200の周囲の各方向からの情報を取得するようにセンサを走査できる回転式プラットフォームを含むことができる。別の実施形態では、センサユニット202の可動マウントを、特定の角度範囲及び/又は方位角範囲内を走査する形で可動とすることができる。例えば、センサユニット202は、車の屋根上に取り付けることができるが、他の取り付け位置も可能である。また、センサユニット202のセンサは、異なる位置に分散させることもでき、1つの位置に共同配置する必要はない。いくつかの考えられるセンサタイプ及び取り付け位置としては、LIDARユニット206及びレーザー距離計ユニット208が挙げられる。さらに、センサユニット202の各センサは、センサユニット202の他のセンサとは無関係に移動又は走査するように構成することができる。
【0053】
無線通信システム204は、
図2に示すように車両例200の屋根上に位置することができる。或いは、無線通信システム204は、完全に又は部分的に他の場所に位置することもできる。無線通信システム204は、車両例200の外部又は内部の装置と通信するように構成できる無線送信機及び受信機を含むことができる。具体的には、無線通信システム204は、他の車両、及び/又は、例えば車両通信システム又は道路の局内のコンピュータ装置と通信するように構成されたトランシーバを含むことができる。このような車両通信システムの例としては、専用短距離通信(DSRC)、無線自動識別(RFID)、及びインテリジェント移送システムのための他の提案する通信標準が挙げられる。
【0054】
カメラ210は、車両例200の環境の複数の画像を取り込むように構成された、静止カメラ、ビデオカメラなどの感光機器とすることができる。この目的のために、カメラ210は、可視光を検出するように構成することができ、これに加えて、又はこれとは別に、スペクトルの他の部分からの赤外線又は紫外線などの光を検出するように構成することもできる。カメラ210は、2次元検出器とすることができ、任意に3次元空間の感度範囲を有することもできる。いくつかの実施形態では、カメラ210が、例えばカメラ210から環境内の複数の地点までの距離を示す2次元画像を生成するように構成された範囲検出器を含むことができる。この目的のために、カメラ210は、1又はそれ以上の範囲検出技術を使用することができる。
【0055】
例えば、カメラ210は、車両例200がグリッドパターン又は格子パターンなどの所定の光パターンで環境内の物体を照明し、カメラ210を用いて環境周囲からの所定の光パターンの反射を検出する構造光技術を使用することによって範囲情報を提供することができる。車両例200は、反射された光パターンの歪みに基づいて、物体上の点までの距離を判定することができる。この所定の光パターンは、赤外光又はこのような測定に適した他の波長の放射線を含むことができる。
【0056】
カメラ210は、車両例200のフロントガラスの内側に取り付けることができる。具体的には、カメラ210は、車両例200の配向に対して前向きの視野からの画像を取り込むように位置することができる。車両例200の内部又は外部の、カメラ210の他の取り付け位置及び視野角を使用することもできる。
【0057】
カメラ210は、調整可能な視野を提供する関連する光学素子を有することができる。さらに、カメラ210は、パン/チルト機構などを通じてカメラ210の指示角を変化させるように、可動マウントを用いて車両例200に取り付けることができる。
【0058】
図3Aに、既知の環境情報を用いて画像処理を通じて物体検出を容易にする方法300を示す。この方法で説明する車両は、
図1及び
図2を参照しながらそれぞれ図示し説明したような車両100及び/又は車両200とすることができる。例えば、本明細書で説明する処理は、コンピュータシステム112、センサフュージョンアルゴリズム138及び/又はコンピュータビジョンシステム140と通信する、自律走行車両(例えば、車両200)に取り付けられたカメラ130によって実行することができる。
【0059】
さらに、本明細書で説明するフローチャートに関連して説明する機能は、特殊機能ハードウェアモジュール及び/又は構成済みの一般機能ハードウェアモジュール、特定の論理機能、決定、及び/又は
図3に示すフローチャートに関連して説明するステップを実現するようにプロセッサ(例えば、コンピュータシステム112内のプロセッサ113)によって実行されるプログラムコードの一部として実装することができる。プログラムコードは、使用される場合、例えばディスク又はハードドライブを含む記憶装置などのあらゆるタイプのコンピュータ可読媒体(例えば、コンピュータ可読記憶媒体、或いはコンピュータシステム112に関して上述したデータストレージ114及び/又は後述するコンピュータプログラム製品500などの非一時的媒体)に記憶することができる。
【0060】
また、
図3A(又は
図3B)に示すフローチャートの各ブロックは、プロセス内の特定の論理関数を実行するように配線された回路を表すこともできる。別途示していない限り、
図3A〜
図3Bに示すフローチャート内の機能は、説明する方法の全体的機能が維持されるのであれば、関連する機能に応じて、別々に説明する機能を実質的に同時に、又は実施例よっては逆の順序で実行することを含め、図示又は説明する順序とは異なる順序で実行することができる。さらに、同様のハードウェア要素及び/又はソフトウェア要素の組み合わせを用いて、
図3Bに示す追加のフローチャートなどの、本開示において提供する他のフローチャートに関連して説明する方法を実施することもできる。
【0061】
まず、
図3Aの方法300は、ブロック302において、実質的に環境の走行車線内で動作するように構成された車両のセンサから環境を示す画像データを受け取るステップを含む。この車両は、
図1及び
図2を参照して説明した車両とすることができ、環境内で自律モードで動作するように構成することができる。環境は、車両が走行車線内で自律的に動作することができるあらゆる環境とすることができる。このような環境のいくつかの例としては、幹線道路、道路又は州間高速道路を挙げることができる。1つの例では、
図4Aを参照して分かるように、道路402、流出オイル408、トラック410及びコーン412を含む環境400内で車両404が動作していると考えることができる。環境400では、車両が実質的に走行車線402b内で動作中であり、流出オイル408、トラック410及びコーン412が実質的に車線402a内に存在すると考えることができる。
【0062】
環境400の特徴は、恒久的及び非恒久的なものの両方とすることができる。例えば、流出オイル408、トラック410及びコーン412は非恒久的なものとすることができ、特定の時点(例えば、特定の日及び年)における環境400の現状を表すことができる。これとは逆に、道路402及び車線402a、402bは、恒久的特徴とすることができる。換言すれば、道路402及び車線402a、402bは、環境400の固定部分とすることができ、環境の恒久的変更(例えば、道路402の改築)が行われない限り環境400内に存在することができる。環境400には、他の恒久的及び非恒久的特徴が含まれることもある。
【0063】
車両は、環境内での動作中に、動作中の環境の現在の表現を示す画像データを受け取ることができる。例えば、車両404は、カメラ130と同様又は同一のカメラなどの、センサユニット406の少なくとも1つのセンサを動作させて、環境400を示す画像データを受け取ることができる。
図4Bに示す画像データ420は、環境400の一部を示す画像データ例を表す。
【0064】
なお、
図4Bでは、例えば車両404のセンサユニット406のカメラによって取り込まれた画像データ420は、破線矢印よりも上方に示す画像であり、車両404を含んでいない。車両404は、説明目的で示しているにすぎず、この例では画像データ420の一部であることを意図していない。実際には、画像データ420は、車両404から前方、後方、又はこれらの間のいずれかの段階で取得することができ、従って車両自体を表す画像データを含んでいないこともある。いくつかの例では、車両404の一部が画像データ420に含まれる場合もある。
【0065】
画像データ420は、環境400を示すデジタル写真又はデジタル図形を含むことができる。画像データ420は、写真画像及び/又はグラフィック画像をデジタルファイルとして構造化して記憶できるあらゆるデータフォーマットを含むことができ、様々なタイプのデータを含むことができ、様々なファイルフォーマットとすることができ、様々な媒体に記憶することができ、これらのタイプのデータ、ファイルフォーマット及び媒体が既知のものであるか、それとも未開発であるかは関係ない。
図4Bに示す例では、画像データ420が、道路402、車線402a、402b、流出オイル408、トラック410及びコーン412を含むことができる。画像データ420は、環境要素の各々を詳細に示す画像データを含むこともできる。例えば、画像データ420は、道路402の路面線、及び道路402を既定する他のいずれかの詳細(例えば、質感、色、照明など)を示すデータを含むことができる。他の例では、画像データ420が、環境400の各要素に関連する位置情報を含むことができる。例えば、画像データ420は、トラック410及びコーン412の位置を示す位置情報を含むことができる。
【0066】
ブロック304は、走行車線を示す環境情報を画像データと比較して、走行車線に対応する画像データ部分を判定するステップを含む。環境情報は、画像データの取得前に車両が知っていた又は受け取っていた、環境の走行車線を正確に定めるいずれかの情報とすることができる。例えば
図4Aを参照すると、他の情報の中でも特に、環境情報は、走行車線402a、402bの境界を定めるイメージマップを含むことができる。環境情報は、他のいずれかの情報を含むこともできる。一般に、環境情報は、画像データを取得する前に環境400内に存在する既知の構造、標識、又はその他の(恒久的及び非恒久的)特徴を示す情報を含むことができる。
【0067】
いくつかの例では、環境情報が正確なままであることを確実にするために、車両404が定期的に環境情報を取得することができる。他の例では、車両404が、サーバから定期的に環境情報を受け取ることができる。例えば、第三者団体が環境400を継続的にモニタし、例えば構造的変化(例えば、上述した恒久的特徴の変更)が起きる可能性がある時に最新情報を提供することができる。この最新情報は、例えば最新のイメージマップの形で提供することができる。他の最新情報を提供することもできる。
【0068】
図4Cに、環境400を示すイメージマップ440の例を示す。
図4Cでは、イメージマップ440が、道路402の位置(例えば、経度及び緯度、又は基本方位)、車線402a、402bの位置、道路402の境界444a、及び各車線402a、402bの境界444b、444aを含むことができる。イメージマップ440は、車線402a及び402bを分離する道路402の中央境界446を含むこともできる。イメージマップ内には、他の情報が含まれることもある。
図4Cに示すイメージマップ440の例では、イメージマップを作成した時点では道路402上に恒久的構造又は非恒久的構造は存在しない。
【0069】
イメージマップ440からの情報を用いて、車両404が実質的に走行している走行車線、すなわちこの例では車線402bに対応する画像データ部分を判定することができる。走行車線に対応する画像データ部分は、取得したイメージマップを環境の画像データにマッピング(又は投影)し、イメージマップ内の走行車線に対応する位置情報を用いて画像データ内の対応する位置を判定することによって判定することができる。このマッピングは、既知の車両404の位置、及び画像データ420を取得したカメラ130の既知のカメラ変換を用いて行うことができる。換言すれば、道路402の位置などの情報を用いて、車線402a、402bの位置、道路402の境界444a、各車線402a、402bの境界444a、444b、車線範囲及び車線境界線を画像データ420に投影することができる。他の例では、車両の進行方向に基づいて画像データ部分を判定することができる。多くの技術を用いてイメージマップから画像データに車線範囲を投影することができ、これらの技術は当業で周知である。
【0070】
図4Dに、イメージマップ440を重ね合わせて車線範囲を投影した画像データ420を示す。
図4Dに示すように、イメージマップ440からの点線が画像データ440に投影されている。
【0071】
なお、例示を目的として、(画像データ420として取り込んだものであるか、それともイメージマップ440として取り込んだものであるかに関わらず)
図4A、
図4B及び図4Dに示す環境400については2次元x−y平面で説明している。しかしながら、車両404のセンサユニット406のカメラをx−y平面から上下に調整することにより、さらに完全な3次元画像データを取得することもできる。さらに、例えば
図4Eに示すように、環境400を示すイメージマップを3次元とし、画像データ420上に3次元の形で投影することもできる。
図4Eでは、
図4Dと同様に、画像データ460に車線範囲462を投影することができる。
【0072】
車両は、この投影に基づいて、画像データのどの部分が走行車線を表しているかを判定することができる。例えば、車両404は、車両404が現在動作中の車線402bを画像データ420のどの部分が表しているかを判定することができる。このように画像データを処理することにより、車両404は、画像データの全てを処理するのではなく車線402b内の流出オイル408の部分に注目することによって処理量を低減することができる。そうでなければ、車両404は、トラック410及びコーン412が車両404の進行方向とは無関係であり、或いは車両404の走行車線内に存在しないという事実にも関わらず、トラック410及びコーン412を処理してしまう可能性がある。
走行車線を表す画像データ部分が判定されると、方法300は、ブロック306において、環境の走行車線に対応する画像データ部分に基づき、残りの画像データ部分を無視することにより、走行車線内に物体が存在するかどうかを判定するステップを含む。残りの画像データ部分は、走行車線に対応しないあらゆる画像データとすることができる。換言すれば、車両404は、走行車線に対応する画像データ部分のみを処理し、他のあらゆる画像データ部分を無視することができる。このように画像データを処理することにより、処理時間及び/又は処理の複雑性を大幅に低減することができる。物体は、車両の走行車線内のあらゆる物体とすることができるが、車両にとって未知のものとすることができる。いくつかの物体の例としては、障害物(例えば、コーン、残骸など)、他の車両、又は歩行者を挙げることができる。車両(又は車両のコンピュータ装置)は、検出を行うために、走行車線を表す画像データ部分内の既知の物体又は構造を示す画像データ部分を判定し、未知の構造を含む画像データ部分と比較することができる。
【0073】
例えば、
図4Dに示すように、車両404は、走行車線402bの位置を識別すると、初期車線部分460を処理して車線の既知の構造を判定することができる。例えば、車両404は、この判定を行うために、初期車線部分460を処理して陰影、色、色強度などを判定し、その後に車線の残り部分を処理して、判定された属性を比較する(例えば、陰影の類似性を求める)ことができる。
【0074】
例えば、この比較は、既知の構造の色平均、色強度、影の存在、色強度のばらつき又は色のばらつきを含む1又はそれ以上の変数を、未知の物体の色平均、色強度、影の存在、色強度のばらつき又は色のばらつきのうちの1つ又はそれ以上と比較することを含むことができる。他の例では、他のいずれかの既知の又は標準的な画像処理特徴記述子を用いて既知の範囲を記述することができる。このような例として、コーナー検出子、エッジ検出子、ブロブ検出子、リッジ検出子、勾配検出子などを挙げることができる。実際には、既知の構造及び未知の構造を定める分布を計算し、この分布からこのような変数を判定して比較することができる。例えば、既知の構造の色強度を定める画素を表すガウス分布を計算し、画像データ内の未知の物体の色強度を定める画素を表すガウス分布と比較して画素の類似性を判断することができる。上述した変数を全て分布として定め、比較において使用することができる。
【0075】
いくつかの例では、既知の構造及び未知の物体の外観を示す情報が判定されると、例えばコンピュータシステム112などのコンピュータシステムを用いて自動的に比較を行うことができる。他の例では、車両の外部で比較を処理し、完了時に車両に提供することができる。
【0076】
判定が行われると、方法
300は、ブロック308において、判定に基づいて車両を自律モードで制御する命令を与えるステップを含む。例えば、車両の現在の車線内に停止している可能性のある障害物又は車両を回避するように車両を制御することができる。
図4A〜
図4Cに示す例では、現在の走行車線402b内に存在する流出オイル408の一部を安全に回避するように車両404を制御することができる。
【0077】
図3Bに、既知の環境情報を用いて画像処理を通じて物体検出を容易にする別の方法320を示す。まず、方法320は、ブロック322において、環境情報を画像データと比較して、第2の走行車線に対応する第2の画像データ部分を判定するステップを含む。第2の走行車線は、方法300を参照しながら説明した走行車線と同様のものとすることもできるが、異なるものであってもよい。例えば、
図4Aを参照すると、環境400は第2の走行車線を含むことができるが、第2の走行車線は走行車線402aと異なることができる。例えば、第2の走行車線は、402bなどの、車線402aに隣接する走行車線とすることができる。他の例では、第2の走行車線を道路402上の走行車線とすることができるが、元々の車線402から1車線又は2車線離れた車線とすることができる。
【0078】
方法320は、ブロック324において、比較に基づいて、第2の走行車線に対応する第2の画像データ部分を判定するステップを含む。第2の走行車線に対応する第2の画像データ部分は、方法300を参照してステップ304において説明した方法と同じ方法で判定することができる。
【0079】
方法320は、ブロック326において、環境の第2の走行車線に対応する第2の画像データ部分に基づき、第2の残りの画像データ部分を無視することにより、第2の走行車線内に物体が存在するかどうかを判定するステップを含む。第2の残りの画像データ部分は、第2の走行車線に対応する第2の画像データ部分以外の画像データを含むことができる。このような判定は、方法300を参照してステップ306において説明した方法と同じ方法で行うことができる。
【0080】
方法320は、ブロック328において、判定に基づいて環境内で車両を自律モードで制御する命令を与えるステップを含む。命令は、方法300を参照してステップ308において説明した方法と同じ方法で与えることができ、同じ方法で車両を制御することができる。
【0081】
なお、上述した方法300及び320では、「走行車線」内で動作する車両の行動に注目しているが、これはほんの一例にすぎない。上述した方法を用いて、車両が行っている可能性のある作業に関連する他の環境範囲に注目することもできる。例えば、他の用途では、車両が、歩道、路肩又は横断歩道上の物体を探すことや、或いは標識が見えると予想する場所にのみ関心を有している場合もある。従って、車両は、方法300及び320を同様に用いて、環境内の他の関心範囲又は関心部分の物体を検出することができる。
【0082】
図3Aの方法300又は
図3Bの方法320などの方法例は、車両及びそのサブシステムによって全体的又は部分的に実行することができる。従って、本明細書では、一例として方法例を車両に実装されるものとして説明することができた。しかしながら、方法例は、他のコンピュータ装置によって全体的又は部分的に実施することもできると理解されたい。例えば、方法例は、車両に関連する装置などの装置からデータを受け取るサーバシステムによって全体的又は部分的に実施することができる。方法例を実施できる他のコンピュータ装置例又はコンピュータ装置の組み合わせ例も考えられる。
【0083】
いくつかの実施形態では、本明細書で開示した技術を、非一時的コンピュータ可読記憶媒体に機械可読フォーマットで符号化された、又は他の非一時的媒体又は製造の物品に符号化されたコンピュータプログラム命令(例えば、車両100のコンピュータシステム112のデータストレージ114に記憶された命令115)として実装することができる。
図5は、本明細書で示した少なくともいくつかの実施形態に従って構成されたコンピュータ装置上でコンピュータ処理を実行するコンピュータプログラムを含むコンピュータプログラム製品例の部分的概念図を示す概略図である。
【0084】
1つの実施形態では、コンピュータプログラム製品例500が、信号保持媒体502を用いて提供される。信号保持媒体502は、1又はそれ以上のプロセッサによって実行された時に本明細書で説明した機能又は機能の一部を提供できる1又はそれ以上のプログラム命令504を含むことができる。いくつかの例では、信号保持媒体502を、以下に限定されるわけではないが、ハードディスクドライブ、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、デジタルテープ、メモリなどの非一時的コンピュータ可読媒体506とすることができる。いくつかの実装では、信号保持媒体502が、以下に限定されるわけではないが、メモリ、読み取り/書込み(R/W)CD、R/W DVDなどのコンピュータ記録可能媒体508を含むことができる。いくつかの実装では、信号保持媒体502が、以下に限定されるわけではないが、デジタル及び/又はアナログ通信媒体(例えば、光ファイバケーブル、導波路、有線通信リンク、無線通信リンクなど)などの通信媒体510を含むことができる。従って、例えば、信号保持媒体502は、無線形態の通信媒体510によって伝えることができる。
【0085】
1又はそれ以上のプログラム命令504は、例えばコンピュータが実行可能な命令及び/又はロジックを実装する命令とすることができる。いくつかの例では、
図1のコンピュータシステム112などのコンピュータ装置を、コンピュータ可読媒体506、コンピュータ記録可能媒体508及び/又は通信媒体510のうちの1つ又はそれ以上によってプログラム命令504がコンピュータシステム112に伝えられたことに応答して、様々な動作、機能又は行動を実行するように構成することができる。
【0086】
非一時的コンピュータ可読媒体は、互いに離れて存在することができる複数のデータストレージ要素間に分散させることもできる。記憶された命令の一部又は全部を実行するコンピュータ装置は、
図2に示す車両例200などの車両とすることができる。或いは、記憶された命令の一部又は全部を実行するコンピュータ装置は、サーバなどの別のコンピュータ装置とすることもできる。
【0087】
上記の詳細な説明では、開示するシステム及び方法の様々な特徴及び機能について添付図を参照しながら説明した。本明細書では様々な態様及び実施形態を開示したが、他の態様及び実施形態も可能である。本明細書で開示した様々な態様及び実施形態は、限定を意図するものではなく例示を目的とするものであり、その真の範囲は、以下の特許請求の範囲によって示される。