この出願は、2021年3月24日に出願された米国仮出願第63/165240号、及び2021年10月13日に出願された米国出願第17/500059号の利益を主張する。それらは、その全体が参照により本明細書に組み込まれる。
本明細書に記載の実施形態は、車両に搭載されたカメラの動作を制御するカメラ制御システムに関する。このシステムは、プロセッサと、プロセッサに通信可能に結合されたメモリとを含む。メモリは、特徴に関連する認識信頼レベルを所定の閾値と比較するように構成されたカメラ制御モジュールを格納する。認識信頼レベルが所定の閾値を下回ることに応じて、特徴に関連する位置情報を使用して、車両の移動中に特徴の少なくとも1つの画像をキャプチャするようにカメラの動作を制御する。キャプチャされた画像は、検出された特徴に関連し、カメラ画像と同時に取得されたLIDAR及び/又はRADARデータと時間的に関連付けられても良い。信頼レベルが所定の閾値を下回っている場合、時間的に関連付けられたカメラ画像と処理されたLIDAR/RADAR情報が人間のレビュアーに転送されても良い。人間のレビュアーは、LIDAR/RADAR情報を、LIDAR/RADAR情報に示される実際の特徴のカメラ画像と比較し、関連付けることができる。LIDAR/RADAR情報が分類されるか、実際の既知の特徴に関連付けられると、その特徴に関連して新しく取得されたLIDAR/RADAR情報が、特徴に関連付けられた既知のLIDAR/RADAR情報のカタログに追加され、それにより、新たに取得されたLIDAR/RADAR情報との比較のために使用されるリソースデータベースを拡張する。これにより、比較のために、既知のLIDAR/RADAR情報のソースと同じデータベースを使用する他の車両において、その特徴又は類似の特徴の将来的な認識が容易になり得る。
図1は、本明細書に記載の実施形態による、カメラ制御システムを組み込んだ車両100のブロック概略図を示している。カメラ制御システムは、車両100に搭載されたレビューサポートカメラ148の動作を制御するように構成され得る。本明細書で使用される場合、「車両」は、動力で動く任意の形態の輸送手段である。1つ以上の実装形態では、車両100は、セダン、ピックアップトラック、又はSUVなどの従来の乗用車であるが、車両100は、車両センサの一部としてLIDARセンサ及び/又はRADARセンサを含む、動力で動く任意の形態の輸送手段であっても良い。
車両100は、様々な要素も含む。様々な実施形態において、車両100は、図1に示される要素のすべてを有しなくても良いことが理解されよう。車両100は、図1に示される様々な要素の任意の組み合わせを有することができる。さらに、車両100は、図1に示されるものに対しての追加の要素を有することができる。いくつかの構成では、車両100は、図1に示される1つ以上の要素なしで実施され得る。様々な要素が、図1において、車両100の内部に配置されているように示されているが、これらの要素のうちの1つ以上が、車両100の外部に配置され得ることが理解されよう。
車両100の可能性のある要素のいくつかが図1に示されており、図1を参照して説明される。加えて、説明を簡潔かつ明確にするために、適宜、対応する又は類似の要素を示すために、異なる図の間で参照番号が繰り返されていることが理解されよう。さらに、説明は、本明細書に記載される実施形態の完全な理解を提供するために、多くの特定の詳細を概説する。しかし、当業者は、本明細書に記載の実施形態が、それらの要素の様々な組み合わせを使用して実施できることを理解するであろう。
場合によっては、車両100は、自律モード、1つ以上の半自律動作モード、及び/又は手動モードの間で選択的に切り替わるように構成され得る。このような切り替えは、現在知られている、又は後で開発される適切な方法で実施することができる。「手動モード」とは、車両の航行及び/又は操縦のすべて又は大部分が、ユーザ(例えば、人間の運転者)から受け取った入力に従って実行されることを意味する。1つ以上の構成では、車両100は、手動モードでのみ動作するように構成された従来の車両であり得る。
1つ以上の実施形態では、車両100は自律型車両である。本明細書で使用される場合、「自律型車両」は、自律モードで動作することができる車両を指す。「自律モード」は、1つ以上のコンピューティングシステムを使用して走行経路に沿って車両100を航行させ及び/又は操縦し、人間の運転者からの最小限の入力で、又は全く入力なしで車両100を制御することを指す。1つ以上の実施形態では、車両100は高度に自動化されるか、又は完全に自動化される。1つ以上の構成では、車両100は、1つ以上のコンピューティングシステムが走行経路に沿った車両の航行及び/又は操縦の一部を実行し、車両の操作者(すなわち、運転者)が走行経路に沿った車両100の航行及び操縦の一部を実行するために車両に入力を与える、1つ以上の半自律動作モードを備えるように構成される。
本明細書に記載のカメラ制御モジュール141の実施形態は、車両が手動モード又は自律モードで動作されているときの両方で、本明細書に記載の目的のために、レビューサポートカメラ148の動作を自律的に制御することができる。カメラ制御モジュール141は、カメラ148の自律制御を容易にするために、必要に応じて自律運転モジュール160とインターフェースで接続することができる。
車両100は、1つ以上のプロセッサ110を含むことができる。1つ以上の構成において、プロセッサ(複数可)110は、車両100のメインプロセッサ(複数可)であり得る。例えば、プロセッサ(複数可)110は、電子制御ユニット(ECU)であり得る。車両100は、1つ以上のタイプのデータを格納するための1つ以上のデータストア115を含むことができる。データストア(複数可)115は、揮発性及び/又は不揮発性メモリを含むことができる。適切なデータストア(複数可)115の例には、RAM(ランダムアクセスメモリ)、フラッシュメモリ、ROM(読み取り専用メモリ)、PROM(プログラム可能読み取り専用メモリ)、EPROM(消去可能プログラム可能読み取り専用メモリ)、EEPROM(電気的消去可能プログラム可能読み取り専用メモリ)、レジスタ、磁気ディスク、光ディスク、ハードドライブ、又は任意の他の適切な記憶媒体、あるいはそれらの任意の組み合わせが含まれる。データストア(複数可)115は、プロセッサ(複数可)110のコンポーネントであり得る、又はデータストア(複数可)115は、プロセッサによる使用のためにプロセッサ(複数可)110に動作可能に接続され得る。この説明を通して使用される「動作可能に接続される」という用語は、直接的な物理的接触のない接続を含む、直接又は間接的な接続を含むことができる。
1つ以上のデータストア115は、センサデータ119を含むことができる。この文脈において、「センサデータ」は、そのようなセンサに関する能力及び他の情報を含む、車両100が装備しているセンサに関する任意の情報を意味する。以下で説明するように、車両100は、センサシステム120を含むことができる。センサデータ119は、センサシステム120の1つ以上のセンサに関連することができる。一例として、1つ以上の構成では、センサデータ119は、センサシステム120のRADARセンサ(複数可)109、LIDARセンサ(複数可)125、及びカメラ(複数可)126に関する動作情報及び仕様を含むことができる。データストア(複数可)115は、クラウド又は他の車両外エンティティに情報を送信するために、車両無線通信インターフェース169に動作可能に接続され得る。
1つ以上の構成において、1つ以上のデータストア115は、地図データ189を含むことができる。地図データ189は、1つ以上の地理的領域の地図を含むことができる。いくつかの例において、地図データ189は、1つ以上の地理的領域における道路、交通管制装置、道路標示、構造、関心のある特徴、及び/又はランドマークに関する情報又はデータを含むことができる。いくつかの例において、地図データ189は、領域の空中ビューを含むことができる。いくつかの例において、地図データ189は、360度の地上ビューを含む、領域の地上ビューを含むことができる。地図データ189は、地図データ189に含まれる1つ以上のアイテムの、及び/又は、地図データ189に含まれる他のアイテムに対する、測定値、寸法、距離、及び/又は、情報を含むことができる。地図データ189は、道路の形状、道路の勾配及び傾斜に関する情報、ならびに車両100が現在走行している道路に関する情報を含む他の道路情報を備えたデジタルマップを含むことができる。地図データ189は、高品質及び/又は非常に詳細であり得る。1つ以上の構成では、地図データ189は、継続的に(すなわち、改訂に関連する情報が利用可能になるとすぐに)、あるいはクラウドソース又は車両の外部の他のソースから定期的に更新され得る。地図データ189からの情報は、LIDAR及びRADARスキャンによって検出された環境の特徴に関連する位置情報を決定するために使用され得る。
カメラ画像情報165は、カメラ(レビューサポートカメラ148など)によってキャプチャされた、及び/又はカメラによって取得されたデータから生成された環境の特徴の画像(デジタル画像など)を含むことができる。カメラ画像情報165は、人間のレビュアーが見ることができるカメラ画像を生成することができるカメラ画像データを含むことができる。カメラ制御モジュール141は、プロセッサによる実行時に、プロセッサに、カメラ画像情報165を同時期に取得されたLIDARスキャン情報及び/又はRADARスキャン情報と時間的に関連付ける(例えば、カメラ画像データが、LIDARデータ及び/又はRADARデータと同じ時間に取得されたLIDARデータ及び/又はRADARデータと時間的に結びつけられても良い)コンピュータ可読命令を含むことができる。従って、例えば、車両の日帰り旅行の間に午後2時5分にレビューサポートカメラ148によってキャプチャされたカメラ画像は、日帰り旅行の間、午後2時5分にLIDARセンサ125によって実行されたLIDARスキャンと時間的に関連付けられ得る。
LIDARスキャン情報118には、LIDARスキャン中にLIDARセンサ125によって取得されたスキャンデータ、LIDARスキャンによって検出された特徴の位置を記述する位置情報、コンピュータで生成したID及び/又は特徴の分類、特徴IDに関連する信頼レベル、関連するLIDARスキャンから生成された点群を記述する情報、関連するLIDARスキャンが実行された日時、新たに取得されたスキャンデータ及び関連する点群と比較するための既知の又は識別された点群構成を記述する情報、及びLIDARセンサ125によって実行されるLIDARスキャンに関連する他の情報が含まれ得る。上記のように、LIDARスキャン情報は、同時期に取得されたカメラ画像情報及び/又はRADARスキャン情報と時間的に関連付けることができる(すなわち、LIDARデータは、そのLIDARデータと同じ時間に取得されたカメラ画像及び/又はRADARデータと時間的に結びつけられても良い)。LIDARスキャン及び/又はRADARスキャンから取得されたデータを使用して、プロセッサ(複数可)110は、車両環境で検出された特徴を表す点群を生成することができる。
RADARスキャン情報123は、RADARスキャン中にRADARセンサ109によって取得されたスキャンデータ、RADARスキャンによって検出された特徴の位置を記述する位置情報、コンピュータで生成したID及び/又は特徴の分類、特徴IDに関連する信頼レベル、関連するRADARスキャンから生成された点群を記述する情報、関連するRADARスキャンが実行された日時、新たに取得されたスキャンデータ及び関連する点群と比較するための既知の又は識別された点群構成を記述する情報、及びRADARセンサ109によって実行されるRADARスキャンに関連する他の情報が含まれ得る。上記のように、RADARスキャン情報は、同時期に取得されたカメラ画像情報及び/又はLIDARスキャン情報と時間的に関連付けることができる(すなわち、RADARデータは、そのRADARデータと同じ時間に取得されたカメラ画像及び/又はLIDARデータと時間的に結びつけられても良い)。
LIDARスキャン及び/又はRADARスキャンから取得されたデータを使用して、プロセッサ(複数可)110は、公知の方法で、車両環境で検出された特徴を表す点群を生成することができる。
上記のように、車両100は、センサシステム120を含むことができる。センサシステム120は、1つ以上のセンサを含むことができる。「センサ」とは、何かを検出及び/又は感知できる任意のデバイス、コンポーネント、及び/又はシステムを意味する。1つ以上のセンサは、リアルタイムで検出及び/又は感知するように構成することができる。本明細書で使用される場合、「リアルタイム」という用語は、ユーザ又はシステムが特定のプロセス又は決定が行われるのに十分に即時であると感じる、又はプロセッサが何らかの外部プロセスに遅れを取らないことを可能にする処理応答性のレベルを意味する。センサシステム120が複数のセンサを含む構成では、センサは互いに独立して動作することができる。あるいは、2つ以上のセンサを互いに組み合わせて動作させることもできる。このような場合、2つ以上のセンサはセンサーネットワークを形成することができる。センサシステム120及び/又は1つ以上のセンサは、プロセッサ(複数可)110、データストア(複数可)115、及び/又は車両100の別の要素(図1に示される要素のいずれかを含む)に動作可能に接続することができる。
センサシステム120は、任意の適切なタイプのセンサを含むことができる。本明細書では、異なるタイプのセンサの様々な例を説明する。しかしながら、実施形態は、説明された特定のセンサに限定されないことが理解されよう。本明細書では、センサシステム120のセンサの様々な例が説明される。例示的なセンサは、1つ以上の環境センサ122及び/又は1つ以上の車両センサ212の一部であっても良い。しかしながら、実施形態は、記載された特定のセンサに限定されないことが理解されよう。センサシステム120は、本明細書で意図されるデータ取得及び/又は車両制御動作のいずれかを実行するのに適した及び/又は必要とされる任意のセンサを含むことができる。
センサシステム120のセンサは、車両100の様々なシステム及びコンポーネントに通信可能に結合され得る。センサは、クラウド又は他の記憶設備への情報の送信のために、あるいはV2V(Vehicle-to-Vehicle)又はV2X(Vehicle-to-Everything)通信のために、車両無線通信インターフェース169に動作可能に接続され得る。センサはまた、車両及び環境センサデータの記憶及び処理を容易にするために、データストア115及びプロセッサ(複数可)110などの他の車両システム及びコンポーネントに動作可能に接続され得る。本明細書に記載されている様々な条件の存在は、センサデータを使用して計算又は決定され得る。
センサシステム120のセンサは、本明細書で説明されるように、時間的に関連付けられるセンサデータと他の情報の取得、追跡、保存、生成、及び/又は処理を可能にするように構成された1つ以上のタイマー又はクロック(図示せず)を含む(又は、動作可能に接続される)ことができる。この時間的に関連付けられる情報は、LIDARスキャン及びRADARスキャンによって検出された特徴を、関連付けられるカメラ画像に示される物理的特徴と関連付ける際にレビュアーを支援するため、人間のレビュアーに提供され得る。
センサシステム120は、1つ以上の車両センサ121を含むことができる。車両センサ(複数可)121は、車両100自体及び/又は車両内部のいずれかの乗員に関する情報を検出、決定、及び/又は感知することができる。車両センサ(複数可)121は、車内又は乗員室内部の状態及び/又はイベントを検出するように構成されたセンサを含むことができる。1つ以上の構成では、車両センサ(複数可)121は、例えば、慣性加速度に基づいてなど、車両100の位置及び向きの変化を検出及び/又は感知するように構成することができる。1つ以上の構成では、車両センサ(複数可)121は、1つ以上の加速度計、1つ以上のジャイロスコープ、慣性測定ユニット(IMU)、推測航法システム、グローバルナビゲーション衛星システム(GNSS)、グローバ測位システム(GPS)、ナビゲーションシステム147、及び/又は他の適切なセンサを含むことができる。車両センサ(複数可)121は、現在の車両の地理的位置などの車両100の1つ以上の特性を検出及び/又は感知するように構成することができる。1つ以上の構成では、車両センサ(複数可)121は、車両100の現在の速度及び加速度/減速度を決定するための速度計を含むことができる。車両センサ(複数可)121は、車両の現在の進行方向又は車両が向けられている方向を決定するように構成された車両方向センサ(図示せず)を含むことができる。車両センサ(複数可)112は、車両の機械的状態及び車両の現存する及び/又は潜在的な問題を判定するのを助けるために、車両の機械的及び電気的コンポーネント及び/又はシステムの態様を感知するように構成されたセンサを含むことができる。
センサシステム120は、車両100の外部環境の少なくとも一部のデータ(例えば、近くの物体)を取得するように構成された1つ以上の環境センサ122を含むことができる。環境センサ122は、車両が置かれている外部環境又はその1つ以上の部分に関するデータ又は情報を検出することができる。例えば、環境センサ122は、車両100の外部環境の少なくとも一部における障害物及び/又はそのような障害物に関する情報/データを検出、定量化、及び/又は感知するように構成することができる。そのような障害物は、静止物体及び/又は動的物体であり得る。1つ以上の環境センサ122は、例えば、車線マーカー、標識、信号機、交通標識、車線、横断歩道、車両100に近接する縁石、道路外物体、天候状態、他の車両などのような、車両100の外部環境内の他のものを検出、測定、定量化、及び/又は感知するように構成することができる。一例として、1つ以上の構成では、環境センサ122は、1つ以上のRADARセンサ109、1つ以上のLIDARセンサ125、1つ以上のカメラ126(レビューサポートカメラ148を含む)及び/又は他のタイプのセンサ127を含むことができる。
LIDARセンサ125及びRADARセンサ109などの環境センサは、車両環境内の特徴を検出し、認識しようと試みるように動作可能であっても良い。RADAR109、LIDAR125、カメラ126、及び/又は他のセンサは、標識、枝葉、他の車両、歩行者などの車両100の環境における特徴の速度、加速度、位置、及び他の特性を監視するために使用することもできる。環境センサ122は、道路形状、道路勾配/傾斜、交通状況、他の車両の動き及び特性、ならびに他の外部の事象及び状態の態様を検出するように構成され得る。
1つ以上の構成では、環境センサ122は、(単独で、又はナビゲーションシステム147及びセンサ制御モジュール142と連携して)センサによって検出された車両環境の特徴に関する位置情報を決定又は取得するように構成され得る。この位置情報は、センサデータと関連付けられて、センサデータが取得されたときの車両100の位置に関してスキャンされた特徴の位置の決定を可能にすることができる。
「位置情報」は、特徴の位置、点群、又は、(以下で説明される)カメラ制御モジュール141がレビューサポートカメラ148を該当位置又は特徴に向けて、焦点を合わすことを可能とするのに十分に詳細なLIDARデータから生成されたLIDAR/RADARデータ点を記述する情報であり得る。位置情報は、空間座標の形式、又は本明細書で説明する目的に適した他の任意の形式であり得る。「空間座標」は、車両環境の任意の特徴(本明細書で説明されるような車両環境の認識信頼レベルの低い特徴を含む)の位置を表す数値又は他の記号を指す。レビューサポートカメラが画像キャプチャの目的でカメラの焦点を合わせようとすることができる低い認識信頼レベルの特徴の位置を提供する空間座標のシステムを使用することができる。
地表に対して静的である低い認識信頼レベルの特徴の場合、空間座標は、移動する車両に対して固定されているとみなし得る基準フレームに関して(例えば、地表面上で)位置を表すことができる。地表に対して移動する低い認識信頼レベルの特徴の場合、空間座標は、車両自体に対する移動物体の現在の位置を表す場合がある。空間座標は、デカルト座標、極座標、地理座標、及び/又は車両環境の特徴の位置を指定するのに適した他の1つ以上のタイプの座標であり得る。空間座標は、適切な座標系に関する特徴の位置が決定された後、車両ナビゲーションシステム147と連携して動作する、及び/又は地図データ189を使用するプロセッサ(複数可)110によって、検出された特徴に割り当てられ得る。
レビューサポートカメラ148は、環境の特徴の画像をキャプチャするように、又は環境の特徴を撮影するように構成されたカメラであり得る。特徴の「画像をキャプチャすること」は、デジタル画像を構築することができるデータを取得することを含み得る。レビューサポートカメラによって「撮影すること」は、カメラ(デジタルカメラなど)を用いて写真を撮ること、又は写真(デジタル写真など)を構成することができるデータを取得することを含み得る。
1つ以上の構成では、レビューサポートカメラ148は、低い信頼レベルの特徴に関連する情報の人間によるレビューをサポートする目的のため、本明細書で説明する低い信頼レベルの特徴の画像を撮影又はキャプチャすることに専念する専用カメラであり得る。あるいは、環境センサの別のカメラが、必要に応じて、本明細書に記載されているように、レビューサポート機能を実行するように、その働きを変更しても良い。この場合、専用のレビューサポートカメラを省略し、LIDAR/RADARスキャン情報の人間によるレビューをサポートするために使用可能な画像をキャプチャする目的のために、別のカメラの制御をセンサ制御モジュール142からカメラ制御モジュール141に移すことができる。
レビューサポートカメラ148は、カメラ制御モジュール141(以下でより詳細に説明される)によって制御可能であるように構成された様々な要素を含むことができる。レビューサポートカメラ148は、カメラ、任意のカメラマウンティング、モーター、ギア、機構、及び/又はカメラ148の向き、視野、及び/又は焦点が、本明細書に説明した目的のために調整されることを可能にするために必要な他の要素(個別に図示されていない)を含むことができる。カメラ148は、必要に応じて他の要素(図示せず)も含むことができる。
カメラ148の視野は、カメラレンズが向けられ、空間の容積内に存在する特徴の画像のキャプチャを可能にするために焦点を合わせることができる、(カメラの現在の位置に関連する)空間の容積であり得る。従って、カメラ148がカメラの視野内に特徴を含むように制御されるとき、カメラによってキャプチャされる画像は、特徴の画像を含む。カメラ148は、その視野が特徴を含む空間座標のセットを含むように方向付けられ、焦点が合わせられても良く、その結果、その座標でキャプチャされた画像は、特徴も示すことができる。
再び図1を参照すると、センサフュージョンアルゴリズム167は、センサシステム120からのデータを入力として受け入れるように構成されたアルゴリズム(又は、アルゴリズムを格納するコンピューティングデバイス)であり得る。データは、例えば、センサシステム120のセンサで感知された情報を表すデータを含むことができる。センサフュージョンアルゴリズム167は、例えば、カルマンフィルター、ベイジアンネットワーク、又は他のアルゴリズムを含むか、又は使用して実行されるように構成され得る。センサフュージョンアルゴリズム167は、センサシステム120からのデータに基づいて様々な評価を提供することができる。実施形態によっては、評価は、車両100の環境における個々の物体及び/又は特徴の評価、特定の状況の評価、及び/又は特定の状況に基づく起こり得る影響の評価を含み得る。他の評価も可能である。このように、1つ以上の構成では、例えば、センサフュージョンが、最近スキャンされた点群から特徴を識別する試みのために使用されても良い。
車両無線通信インターフェース169は、車両のコンポーネント及びシステムと(クラウド設備、携帯電話及び他のモバイル通信デバイス、他の車両、リモートサーバ、歩行者などの)車両の外部のエンティティとの間の通信を可能にする及び/又は容易にするように構成され得る。無線通信インターフェース169は、任意の特別な車両エンティティ、例えば、他の接続可能に構成された車両及びコネクテッド車両、歩行者、サーバ、及びクラウドに配置されたエンティティ、エッジサーバ、ならびに他の情報ソース及びエンティティとの無線V2V及びV2X通信を容易にし、確立し、維持し、終了するように構成され得る。センサデータ、カメラ画像情報、LIDAR及びRADARスキャン情報、ならびに他のタイプの情報などの情報が、通信インターフェース169を介して送受信され得る。無線通信インターフェース169は、任意の特別車両エンティティ及び/又はネットワークと通信するために必要な任意のネットワークインターフェースを組み込むか、又はそれと通信することができる。
車両100は、入力システム130を含むことができる。「入力システム」には、情報/データをマシンに入力することを可能にする任意のデバイス、コンポーネント、システム、要素、又はそれらの取り合わせもしくはグループが含まれる。例えば、入力システム130は、キーパッド、タッチスクリーン又は他の対話型ディスプレイ、音声認識システム、及び/又はユーザと車両との間の通信を容易にする任意の他のデバイス又はシステムを含むことができる。入力システム130は、車両の乗員(例えば、運転者又は乗客)又は車両100から遠く離れたユーザからの入力を受け取ることができる。車両100は、出力システム135も含むことができる。「出力システム」は、情報/データを車両の乗員(例えば、運転者、車両の乗客など)又はリモートユーザに提示することを可能にする任意のデバイス、コンポーネント、又はそれらの取り合わせもしくはグループを含む。
車両100は、まとめて140と呼ばれる1つ以上の車両システムを含むことができる。車両システム140は、ナビゲーションシステム147を含むことができる。ナビゲーションシステム147は、車両100の地理的位置を決定するように、及び/又は車両100の走行経路を決定するように構成された、現在既知の又は後に開発される1つ以上のデバイス、アプリケーション、及び/又はそれらの組み合わせを含むことができる。ナビゲーションシステム147は、車両100の走行経路を決定するための1つ以上のマッピングアプリケーションを含むことができる。ナビゲーションシステム147は、全地球測位システム、ローカル測位システム、又はジオロケーションシステムを含むことができる。ナビゲーションシステム147は、走行経路に沿った車両の進路を追跡するように構成され得る。ナビゲーションシステム147は、自律運転モジュール160と連携して動作し、ユーザによって選択された走行経路に沿って車両を案内するように構成され得る。ナビゲーションシステム147は、カメラ制御モジュール141と連携して動作し、低認識信頼レベルの特徴に関する位置情報を決定及び更新し、車両100の移動中に、低認識信頼レベルの特徴へ向かうように、カメラ148の方向及び焦点を誘導及び維持するのを支援するように構成され得る。
車両システム140は、他のシステム(まとめて145とラベル付けされる)も含むことができる。例えば、車両システム140は、推進システム、ブレーキシステム、ステアリングシステム、スロットルシステム、サスペンションシステム、トランスミッションシステム(これらのいずれも図1に明示的に示されていない)を含むことができる。これらの車両システムのそれぞれは、現在既知の又は後に開発される1つ以上のデバイス、コンポーネント、及び/又はそれらの組み合わせを含むことができる。
車両100は、1つ以上のアクチュエータ150を含むことができる。アクチュエータ150は、プロセッサ(複数可)110、メモリ112に格納されたいずれかのモジュール、及び/又は任意の他の車両コンポーネント又はシステムからの受信信号又は他の入力に応答して、車両システム140又はその構成要素の1つ以上を修正、調整、及び/又は変更するように動作可能な任意の要素又は要素の組み合わせであり得る。任意の適切なアクチュエータが使用され得る。例えば、1つ以上のアクチュエータ150は、いくつかの可能性を挙げるとすると、モーター、空気圧アクチュエータ、油圧ピストン、リレー、ソレノイド、及び/又は圧電アクチュエータを含むことができる。
本明細書で説明する実施形態では、メモリ112は、自律運転モジュール160、センサ制御モジュール142、特徴認識モジュール143、及びカメラ制御モジュール141を格納することができる。メモリ112は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードディスクドライブ、フラッシュメモリ、又はモジュール160、141、142、及び143を格納するための他の適切なメモリであり得る。モジュール160、141、142、及び143は、例えば、プロセッサ(複数可)110による実行時に、プロセッサ110に本明細書に開示される様々な機能を実行させるコンピュータ可読命令である。追加のモジュール(図示せず)もメモリ112に格納されても良い。
車両100は、1つ以上のモジュールを含むことができ、その少なくともいくつかは本明細書に記載されている。モジュールは、プロセッサ110による実行時に、本明細書で説明される様々なプロセスの1つ以上を実施するコンピュータ可読プログラムコードとして実現することができる。1つ以上のモジュールは、プロセッサ110(複数可)の構成要素であり得るか、又は1つ以上のモジュールは、プロセッサ(複数可)110が動作可能に接続されている他の処理システム上で実行され、及び/又は他の処理システムに分散され得る。モジュールは、1つ以上のプロセッサ110によって実行可能な命令(例えば、プログラムロジック)を含むことができる。代替的に又は追加して、1つ以上のデータストア115又は車両100の別の部分が、そのような命令を含んでも良い。
通常、本明細書で使用されるモジュールには、特定のタスクを実行したり、特定のデータタイプを実現したりする、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。さらなる態様において、メモリは一般に、言及されたモジュールを格納する。モジュールに関連付けられるメモリは、プロセッサ内に埋め込まれたバッファ又はキャッシュ、RAM、ROM、フラッシュメモリ、又は別の適切な電子記憶媒体であっても良い。さらに別の態様では、本開示によって想定されるモジュールは、特定用途向け集積回路(ASIC)、システムオンチップ(SoC)のハードウェアコンポーネント、プログラマブルロジックアレイ(PLA)、又は開示された機能を実行するための定義された設定セット(例えば、命令)が埋め込まれた別の適切なハードウェアコンポーネントとして実現される。
1つ以上の構成において、本明細書に記載のモジュールの1つ以上は、人工又はコンピュータ知能要素、例えばニューラルネットワーク、ファジー論理、又は他の機械学習アルゴリズムを含むことができる。さらに、1つ以上の構成において、モジュールの1つ以上を、本明細書に記載の複数のモジュールに分散させることができる。1つ以上の構成では、本明細書に記載のモジュールの2つ以上を、単一のモジュールに組み合わせることができる。
車両100は、1つ以上の自律運転モジュール160を含むことができる。自律運転モジュール(複数可)160は、センサシステム120、及び/又は、車両100及び/又は車両100の外部環境に関連する情報をキャプチャすることができる任意の他のタイプのシステムからデータを受信するように構成することができる。自律運転モジュール(複数可)160は、車両100の位置及び速度を決定することができる。自律運転モジュール(複数可)160は、障害物の位置、障害物、又は交通標識、樹木、低木、隣接車両、歩行者などを含む他の環境的特徴を決定することができる。自律運転モジュール(複数可)160は、プロセッサ(複数可)110及び/又は車両100の位置及び向きを推定する本明細書に記載の1つ以上のモジュールによって使用するための車両100の外部環境内の障害物の位置情報、複数の衛星からの信号に基づくグローバル座標での車両位置、あるいは車両100の現在の状態を決定又は地図を生成するか、地図データに関して車両100の位置を決定する際に使用するための環境に関する車両100の位置決定のために使用され得る任意の他のデータ及び/又は信号、を受信及び/又は決定するように構成され得る。
自律運転モジュール(複数可)160は、センサシステム120によって取得されたデータ及び/又はナビゲーションシステム147などのナビゲーションシステムから受信された情報に基づいて、走行経路、車両100の現在の自律運転操作、将来の自律運転操作、及び/又は現在の自律運転操作への修正を決定するように構成することができる。「運転操作」は、車両の動きに影響を与える1つ以上のアクションを意味する。運転操作の例には、いくつかの可能性を挙げるとすると、加速、減速、ブレーキ、方向転換、車両100の横方向への移動、走行車線の変更、走行車線への合流、及び/又は後退が含まれる。自律運転モジュール(複数可)160は、決定された運転操作を実施するように構成することができる。自律運転モジュール(複数可)160は、直接的又は間接的に、そのような自律運転操作を実施させることができる。本明細書で使用される場合、「させる」又は「させている」とは、イベント又はアクションが生じるように、又は少なくともそのようなイベント又はアクションが、直接的又は間接的な手法のいずれかで、生じ得る状態となるように、させる、強制する、強要する、命令する、指示する、及び/又は可能にすることを意味する。
自律運転モジュール(複数可)160は、様々な車両機能を実行するように、及び/又は車両100もしくはその1つ以上のシステム(例えば、1つ以上の車両システム140)にデータを送信し、そこからデータを受信し、相互作用し、及び/又はそれを制御するように、構成することができる。自動運転モジュール(複数可)160は、最初の又はスタート位置から目的地まで走行経路に沿って車両を運転するように、ユーザ車両を自律的に制御するように構成され得る。
本明細書に記載のプロセッサ(複数可)110、自律運転モジュール160、カメラ制御モジュール141、及び/又は他のモジュールは、互いに、ならびに様々な車両システム140を含む車両の他の要素及び/又はそれらの個々のコンポーネントと通信するために動作可能に接続することができる。例えば、図1を参照すると、プロセッサ(複数可)110及び自律運転モジュール(複数可)160は、車両100の動き、速度、操縦、進行方向、向きなどを制御するために、様々な車両システム140と情報を送受信するように通信することができる。プロセッサ(複数可)110、自律運転モジュール(複数可)160、及び/又は車両の他の要素は、車両システム140の一部又はすべてを制御することができ、従って、部分的又は完全に自律運転することができる。
プロセッサ(複数可)110、自律運転モジュール(複数可)160、及びナビゲーションシステム147は、1つ以上の車両システム140及び/又はそれらのコンポーネントを制御することによって、車両100の航行及び又は操縦を制御するように動作可能であり得る。例えば、自律モードで動作する場合、プロセッサ(複数可)110及び/又は自律運転モジュール(複数可)160は、車両100の方向及び/又は速度を制御することができる。プロセッサ(複数可)及び/又は自律運転モジュール(複数可)160は、車両100を加速(例えば、エンジンに提供される燃料の供給を増加させることによって)、減速(例えば、燃料の供給を減少させることによって及び/又はブレーキをかけることによって)、及び/又は方向を変更(例えば、2つの前輪の向きを変えることによって)させることができる。
車両100は、センサ制御モジュール142を含むことができる。センサ制御モジュール142は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、車両センサ212及び/又は環境センサ122の動作を制御させるコンピュータ可読命令を含むことができる。例えば、センサ制御モジュール142は、センサスキャン速度を変化させる、スキャン又は視野角を変化させる、及び、現在の状態及び検出要件に従って他のセンサ動作パラメータを制御するように、1つ以上のセンサの動作を制御するように構成され得る。あるいは、車両センサ212及び/又は環境センサ122の1つ以上は、自動又は内部制御のため、独立したプロセッサ及び/又はメモリをその中に組み込むことによって構成されても良く、それにより、関連するセンサ(複数可)のための別個のコントローラの必要性を取り除くことができる。
1つ以上の特定の構成では、センサ制御モジュール142は、カメラ制御モジュール141によってその動作が制御され得るレビューサポートカメラ148を除いて、1つ以上の環境センサ122の動作を制御するように構成されることができる。他の特定の構成では、本明細書で説明されるようなカメラ制御モジュール141の制御機能は、センサ制御モジュール142に組み込まれ(及びそれによって実行され)ても良い。
車両100は、特徴認識モジュール143を含むことができる。特徴認識モジュール143は、プロセッサ(複数可)110による実行時に、データ及び/又は他の情報によって表される車両環境の特徴を認識又は識別しようとするために、プロセッサ(複数可)に、LIDAR及びRADARスキャンデータ及び/又は環境のLIDAR及び/又はRADARスキャンから取得及び/又は発生された他の情報を処理させるコンピュータ可読命令を含むことができる。
結果として得られる特徴の識別は、その後、運転者の意思決定を支援するために人間の運転者に伝達されても良い。結果として得られる特徴の識別はまた、自律的な意思決定のための他のモジュール及び/又は他の車両システムによって使用又はさらに処理されても良い。
車両環境は、車室内空間の外側にあり、車両100から分離されたものを含むことができる。車両環境の特徴は、車両環境内に置かれた個別の物体又は個別の物体の一部であっても良い。特徴は、特徴認識モジュール143によるLIDAR及び/又はRADARスキャンデータの処理によって識別又は認識されるかもしれないし、あるいはされないかもしれない。LIDARスキャンからデータを受信すると、特徴認識モジュール143(又は別のモジュール)は、プロセッサ(複数可)110と連携して、LIDAR及び/又はRADARデータを処理して、スキャンされた特徴の表現を含む1つ以上の点群を生成することができる。次に、特徴認識モジュール143は、プロセッサ(複数可)110と連携して、点群によって表現される特徴を識別する又は認識するように仕向けられた特徴認識ルーチンを実行することができる。結果として得られる特徴の識別は、その後、運転者の意思決定を支援するために人間の運転者に伝達され得る。結果として得られる特徴の識別はまた、自律的な意思決定のために、他のモジュール及び/又は他の車両システムによって使用又はさらに処理され得る。例えば、特徴認識モジュール143は、LIDAR及び/又はRADARスキャンデータから生成された点群を、車両環境に存在し得る既知の特徴を表す点群及び/又は他の情報と比較するように構成することができる。既知の特徴に関する情報は、メモリに格納することができる(LIDARスキャン情報118、RADARスキャン情報123、及び/又は特徴認識モジュール143にアクセス可能であるように構成された別のメモリなど)。
特徴認識モジュール143は、プロセッサ(複数可)による実行時に、プロセッサ(複数可)に、環境センサ122及びナビゲーションシステム147と連携させて、特徴認識モジュールによって識別された環境の特徴に関連する位置情報を決定するコンピュータ可読命令を含むことができる。特徴位置は、LIDAR及び/又はRADARスキャン中に取得され、LIDARスキャン情報118及び/又はRADARスキャン情報123に格納された位置情報を使用して決定することができる。センサスキャンレートは、特定の特徴が、一端識別されると、その位置、認識信頼レベル、及び他の関連する特性の変化を確実に追跡及び監視できるように、かつメモリに格納されている特徴情報を更新できるように、十分に高くすることができる。
特徴認識モジュール143は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、特徴認識モジュール143によって生成された特徴の識別に対する認識信頼レベルを計算させるコンピュータ可読命令を含むことができる。認識信頼レベルは、特徴の識別に関連してメモリに保存することができる。
LIDARスキャンによって検出された特徴のいくつかは、特徴がスキャンされた車両100に対する角度のため、特徴を表す点群が比較のためにメモリに格納された点群と十分に類似していないため、スキャンが部分的に妨害されたため、及び/又は他の理由のため、特徴認識モジュール143によって簡単には識別できない可能性がある。従って、特徴認識モジュール143によって生成された特徴の識別は、それらに関連して確実性の程度が変動し得る。このため、特徴認識モジュール143は、各特徴の識別に関連付けられる信頼レベル(CL)を計算するように構成され得る。信頼レベルは、特徴認識モジュール143による特徴の識別が正しいことの信頼度又は確実性の尺度であり得る。例えば、(強風又はスキャンされる特徴の損傷のため)特徴が異常な視野角度にあるときに取得されたデータから生成された点群のレビューは、理想的なセンサスキャン条件化での同じ特徴のレビューよりも、コンピュータで生成される特徴の認識に基づき計算される信頼レベルが相対的に低い結果となる可能性がある。
「認識信頼レベル」又は「信頼レベル」は、車両環境の特徴のコンピュータによって生成される認識における信頼レベルの数値又は他の指標である。認識信頼レベルの指標は、プロセッサによって決定され、数値的な所定の特徴認識信頼レベル閾値と比較するために設計された数値的な指標であっても良い。特徴認識モジュールは、LIDAR又はRADARスキャンによって検出された特徴のコンピュータによって生成される識別に認識信頼レベル(CL)を割り当てるように構成することができる。「低認識信頼レベル」とは、所定の閾値を下回る認識信頼レベルを指す。「低認識信頼レベルの特徴」は、所定の閾値を下回る認識信頼レベルを有する環境の特徴である。
本明細書で説明する目的のために、認識信頼レベルは、いくつかの基準のいずれかに基づくことができる。例えば、1つ以上の構成において、信頼レベルは、車両からスキャンされる特徴までの距離が減少するにつれて、及び/又は車両の移動中にセンサスキャン波の一部が特徴に接触する角度が変化するにつれて、少なくとも部分的に、車両の移動中に行われた一連の連続するLIDAR/RADARスキャンから得られた情報と1つ以上の基準点群との比較に基づいて計算することができる。この「スキャン角度」は、移動中の車両の視点から見たときに特徴が視覚的にどのように現れるかに関連する可能性がある。比較の結果、スキャンされた特徴が、車両の移動に伴って基準点群によって表される特徴にますます類似していることが示された場合、相対的に高い信頼レベルが計算され、特徴の識別に割り当てられる。特徴の識別に関連付けられる信頼レベルを計算するように構成されたアルゴリズムにおいて、様々な追加又は代替の基準のいずれかが使用されても良い。
特徴認識モジュール143は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、特徴の識別の信頼レベルを所定の閾値と比較させるコンピュータ可読命令を含むことができる。所与の特徴の識別における信頼レベルが閾値を超える場合、特徴認識モジュールによって決定された特徴の識別は、さらなる計算及び機能の実行において車両システムによって使用され得る。しかしながら、所与の特徴の識別における信頼レベルが閾値以下である場合、人間のレビュアーによるレビューのために、本明細書に記載されるように低信頼レベルの特徴の画像がキャプチャされ得る。
特徴認識モジュール143は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、識別された特徴に関連する位置情報、関連する信頼レベル、特徴の分類に関する情報(例えば、「枝葉」)、及び検出された環境の特徴のスキャンに関連する他の情報を格納させるコンピュータ可読命令を含むことができる。例えば、そのような情報は、(LIDARスキャンに関連する情報のための)LIDARスキャン情報118などのメモリに格納され得る。
特徴認識モジュール143は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、最新のLIDAR/RADARスキャンに基づく特徴情報を(メモリにおいて)更新させるコンピュータ可読命令を含むことができる。そのような更新された特徴情報は、修正された認識信頼レベル、更新された特徴位置情報、特徴を表す更新された点群情報、及び特徴に関連する他の任意の情報を含み得る。1つ以上の構成では、そのような情報は、情報が格納されているメモリ(例えば、LIDARスキャン情報118)で更新され得る。
車両100は、カメラ制御モジュール141を含むことができる。カメラ制御モジュール141は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、特徴に関連する認識信頼レベルを所定の閾値と比較させ、認識信頼レベルが閾値を下回ることに応答して、特徴に関連する位置情報を使用して、車両の移動中に特徴の少なくとも1つの画像をキャプチャするようにカメラの動作を制御させるコンピュータ可読命令を含むことができる。
カメラ制御モジュール141は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、LIDARセンサ125の動作と同時期に車両環境の特徴の画像をキャプチャするようにレビューサポートカメラ148の動作を制御させるコンピュータ可読命令を含むことができる。カメラ制御モジュールはまた、プロセッサによる実行時に、RADARセンサ109の動作と同時期に特徴の画像をキャプチャするように車両カメラの動作を制御させるコンピュータ可読命令を含むことができる。レビューサポートカメラ148とRADAR及びLIDARセンサのこれらの同時期の動作は、これらのセンサによって取得される情報が時間的に相互に関係し、関連付けられることを可能にする。
カメラ制御モジュール141は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、車両の移動方向及び速度、画像化される環境の低認識信頼レベルの特徴に関する位置情報、及び他の関連する情報に応答して、移動、向きの調整、焦点合わせ、及び画像キャプチャを含む、すべてのレビューサポートカメラのすべての動作を制御させるコンピュータ可読命令を含むことができる。
カメラ制御モジュール141は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、LIDARデータ及び/又はRADARデータ(すなわち、スキャン中にLIDAR及びRADARセンサによって取得されたデータ)とカメラ148によってキャプチャされた特徴の少なくとも1つの同時期の画像(すなわち、LIDAR/RADARスキャンデータがLIDARスキャン及び/又はRADARスキャンによって取得されたのと同時にキャプチャされた画像)を時間的に関連付ける、及びその逆を行うコンピュータ可読命令を含むことができる。この時間的な関連付けを使用して、LIDAR及びRADARスキャンを、人間によるレビューのために同時期にキャプチャされた画像と関連付けることができる。従って、例えば、車での旅行中に午後2時5分にレビューサポートカメラ148によってキャプチャされたカメラ画像は、その旅行中、午後2時5分にLIDARセンサ125によって実行されたLIDARスキャンに結び付けることができ、LIDARデータと関連するカメラ画像の人間によるレビューが容易になる。
カメラ制御モジュール141は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、LIDARデータを車両カメラによってキャプチャされた特徴の少なくとも1つの同時期の画像と時間的に関連付けるコンピュータ可読命令を含むことができる。
カメラ制御モジュールはまた、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、RADARデータをカメラによってキャプチャされた特徴の少なくとも1つの同時期の画像と時間的に関連付けるコンピュータ可読命令を含むことができる。
カメラ画像は、同時期に取得されたLIDARスキャンデータ及び/又はRADARスキャンデータと時間的に関連付けられ得る(例えば、カメラ画像は、同時に取得されたLIDAR及び/又はRADARデータと時間的に結び付けられ得る)。
カメラ制御モジュール141は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、車両の移動中に特徴もしくは地理的位置又は空間位置を「追跡」もしくはそれに焦点を合わせ続けるように、ナビゲーションシステム147と連携させるコンピュータ可読命令を含むことができる。特徴又はエリアに焦点を維持するようにカメラ148を動作させる能力は、カメラ148が旋回、変位、上昇及び下降され得る程度、及び/又はレンズを向けることができる程度及びリフォーカスできる程度などに依存し得る。車両100が動いている間、カメラ148の現在の視野内に車両環境の特徴を維持して、車両が動いている間に特徴の画像の高頻度での取得を可能にすることが望ましい。
1つ以上の構成では、レビューサポートカメラ148の動作を制御するために必要な特徴情報にアクセスする目的で、カメラ制御モジュール141は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、特徴位置情報、信頼レベル、及び他の情報についての特徴情報が格納されているメモリ(例えば、LIDARスキャン情報118又はRADARスキャン情報123)にアクセスさせるコンピュータ可読命令を含むことができる。低信頼レベルの特徴に関する位置情報へのアクセスは、カメラ制御モジュール141が、カメラを特徴又は特徴が存在する位置に焦点を合わせることによって、特徴の画像をキャプチャするようにカメラ148を制御することを可能にし得る。
カメラ制御モジュール141は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、周期的に又はLIDAR/RADARスキャン情報の更新に応答して、以前に低信頼レベルの特徴と判定され、現在、カメラ148によって画像キャプチャのために選択されている特徴に関する更新された特徴情報にアクセスさせるコンピュータ可読命令を含むことができる。これは、特徴に関連する信頼レベルがセンサスキャンの間で変更されたか判断するために行われ得る。
カメラ制御モジュール141は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、特徴に関する現在の認識信頼レベル(すなわち、最新のセンサスキャンからのデータを使用して決定された信頼レベル)と所定の閾値を比較させるコンピュータ可読命令を含むことができる。この比較では、現在の認識信頼レベルを所定の閾値と比較することによって、カメラ制御モジュール141が、最新のRADAR/LIDARスキャンデータの解釈に基づいて(例えば、車両の移動によって生じたセンサのスキャン角度の変化によって)、信頼レベルは所定の閾値を上回ったかどうかを決定することができる。この比較に基づいて、カメラ制御モジュール141は、(認識信頼レベルが閾値以上である場合)特徴の画像のキャプチャの試みを停止するか、もしくは(カメラが、現在、特徴の画像をキャプチャしようとしており、その特徴に関連付けられている現在の認識信頼レベルは低く、かつ以前に決定された最新の認識信頼レベルも低い場合)特徴の画像のキャプチャの試みを継続するように、カメラ148を制御することができる。
カメラ制御モジュール141は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、認識信頼レベルが所定の閾値を下回ることに応じて、特徴に関連付けられた位置情報を使用して、車両100の移動中に特徴の少なくとも1つの画像をキャプチャするようにカメラ148の動作を制御させるコンピュータ可読命令を含むことができる。従って、特徴に関連付けられた信頼レベルが閾値を下回ると最初に決定されたとき、カメラ制御モジュール141は、レビューサポートカメラ148を制御して、特徴の画像のキャプチャを開始することができる。さらに、特徴に関連付けられた信頼レベルが閾値を下回り続ける限り、カメラ制御モジュール141は、特徴の画像をキャプチャする試みを継続するようにレビューサポートカメラ148を制御することができる。
カメラ制御モジュール141は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、認識信頼レベルが所定の閾値以上であることに応じて、特徴の画像をキャプチャする試みを停止するようにカメラ148の動作を制御させるコンピュータ可読命令を含むことができる。従って、特徴認識モジュール143が十分な信頼レベルで特徴を認識したとき、もはや特徴の人間によるレビューの必要はなく、レビューサポートカメラ148は、特徴の画像のキャプチャを停止するように制御され得る。
カメラ制御モジュール141は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、カメラ148が特徴の少なくとも1つの画像キャプチャした後、特徴が現在、カメラの除外位置にあるかを判定させ、特徴がカメラの除外位置にあることに応じて、特徴の画像をキャプチャする試みを停止するようにカメラ148の動作を制御させるコンピュータ可読命令を含むことができる。
低認識信頼レベルの特徴は、カメラ148がカメラの視野内に特徴を含むように制御され得るように、低認識信頼レベルの特徴が車両100に対する位置にもはや存在しないとき、「カメラ除外位置」に位置すると判定され得る(すなわち、カメラ148はもはや、特徴をその視野内に入れるように、旋回、上昇、下降、並進、又は他の方法で制御することができない)。
カメラ制御モジュール141は、プロセッサ(複数可)110による実行時に、プロセッサ(複数可)に、カメラ148が特徴の少なくとも1枚の写真を撮った後で、特徴がカメラ除外ゾーン内にいることに応じて、人間のレビューのために特徴情報を車両外のエンティティに送信するように車両100の動作を制御させるコンピュータ可読命令を含むことができる。1つ以上の構成では、車外エンティティは、ヒューマンレビュー施設196(図1)であり得る。ヒューマンレビュー施設196は、人間のレビュアーHR1、HR2、HR3などによる人間によるレビューのために様々な車両から受信した特徴情報を割り当てる、又はあてがうように構成されたヒューマンレビューマネージャ195を含むことができる。特定の構成では、特徴情報は、カメラ148による画像キャプチャの試みが中止されるとすぐに、リアルタイムでヒューマンレビュー施設196に転送され得る。これにより、特徴情報の迅速なレビューと低認識信頼レベルの特徴の分類が可能となる。
特定の構成では、特徴情報は、低信頼レベルの特徴を表す点群データ、及びカメラ148によってキャプチャされた特徴の1つ以上の時間関連画像を含むことができる。ヒューマンレビュー施設196は、人間のレビュアーによる1枚以上の関連するカメラ画像との比較のために、点群によって表される特徴の2次元又は3次元のグラフィック表現を生成するように点群データを処理するために必要とされるハードウェア及びソフトウェアを有することができる。
1つ以上の構成では、低認識信頼レベルの特徴が人間のレビュアーによって分類された後、新しい特徴情報が、点群情報の分析及び識別を容易にするように構成された特徴識別システム(図示せず)に組み込まれ得る、サーバ施設又は他のエンティティ197に、識別、特徴に関連する点群(複数可)、及び他の関連情報が転送され得る。特徴識別システムは、他の車両198、199によって取得されたLIDAR及びRADARスキャンデータとの比較のための既知の基準点群を含むことができ、他の車両198、199は、既知の基準点群のソースとして特徴識別システムを使用する。そして、他の車両198、199は、これらの車両によって実行されるLIDAR及びRADARスキャンから生成された点群との比較のために、新しい特徴情報にアクセスすることができる。新しい特徴情報は、必要に応じて他の車両198、199によるリモートアクセスのためにサーバ設備197に格納され得るか、又は新しい特徴情報は、必要に応じてローカル使用のために車両198、199に周知され得る。
図2は、本明細書に記載の実施形態によるカメラ制御システムの動作を示すフロー図である。図3は、カメラ制御システムの動作中に道路153に沿って方向S1に移動する車両100の概略平面図である。図3は、車両100が道路153(図3)に沿って位置「A」から位置「D」に移動するときの車両100の進行を示している。レビュー支援カメラ制御システムの動作は、LIDARセンサ125によって取得されるデータを補足するという観点から説明されるが、以下の説明は、RADARセンサ又は点群データもしくは車両環境の特徴を識別又は認識するために処理され得る他のデータを取得する任意の他のセンサによって取得されるデータでの使用にも適用され得ることが理解される。
道路153に沿って移動中に(図3)、センサ制御モジュール142は、環境センサ122の動作を制御して、起こり得る脅威の検出、環境内の特徴に対する車両の位置の決定、及び他の目的のために、車両環境を調べることができる。車両環境には、LIDARスキャンによって検出可能なさまざまな特徴、例えば、交通標識や信号、枝葉、歩行者、他の車両などが含まれ得る。車両100の進路に沿って、道路153の端部153aから後退した、認識されない又は低認識信頼レベルの特徴99が存在する場合がある。車両100が位置「A」にいるとき、特徴は、LIDARスキャンの一部125aによって検出され得る。
図2及び図3を参照すると、位置「A」において、センサ制御モジュール142は、(図2のブロック302にて)LIDARセンサ125の動作を制御し、車両環境をスキャンすることができる。特徴99は、LIDARスキャンの一部125aによって検出され得る。車両環境のLIDARスキャンは、所定のスキャンレートで継続していても良い。
LIDARスキャンからデータを受信すると、特徴認識モジュール143(又は別のモジュール)は、プロセッサ110と協働して、LIDARデータを処理し、スキャンされた特徴の表現を含む1つ以上の点群を生成することができる。次いで、特徴認識モジュール143は、(ブロック304にて)特徴99を含む、検出された特徴を識別することを目的としたルーチンを実行することができる。次いで、特徴認識モジュール143は、特徴99の識別についての信頼レベルを含む、特徴の識別についての認識信頼レベルを計算することができる。次いで、特徴認識モジュール143は、(ブロック306にて)すべての検出された特徴(特徴99を含む)に関連する特徴情報を(LIDARスキャン情報118などの)メモリに格納することができる。
車両100がまだ位置「A」(又は、位置「A」と位置「B」の中間の移動している車両位置)にいる間、カメラ制御モジュール141は、(ブロック307にて)メモリに保存された特徴情報にアクセスして、任意の検出された特徴の認識信頼レベルが所定の閾値を下回っているかを判定することができる。図3に示す例では、特徴99は、閾値を下回る信頼レベルを持つ可能性がある。保存された信頼レベルのいずれも所定の閾値を下回らない場合、制御はブロック302に戻ることができ、そこでLIDARセンサ125は車両環境のスキャンを続けることができる。しかしながら、保存された信頼レベルのいずれかが所定の閾値を下回る場合、カメラ制御モジュール141は、(ブロック308にて)メモリの低信頼レベルの特徴の位置を記述する位置情報にアクセスすることができる。従って、この例では、カメラ制御モジュール141は、特徴99の位置を記述する位置情報にアクセスすることができる。次いで、カメラ制御モジュール141は、(ブロック310にて)低信頼レベルの特徴99がカメラ除外位置に存在するかどうかを判定することができる。
この時までに、車両100は位置「B」に移動している(図3)。低信頼レベルの特徴99がカメラの除外位置にある場合、カメラ148はその特徴の画像をキャプチャすることができない。この場合、カメラ制御モジュール141は、(ブロック312にて)特徴99の画像をキャプチャする試みのためにカメラ148を制御することはできない。しかしながら、低信頼レベルの特徴99がカメラ除外位置に存在しない場合、カメラ制御モジュール141は、(ブロック314にて)レビューサポートカメラ148の動作を制御して、特徴99の画像のキャプチャを開始することができる。カメラ148から特徴99までの視線が、148aとして図3に示されている。カメラ148が特徴99に焦点を合わせた後、カメラ制御モジュール141はまた、(ブロック314にて)特徴99のキャプチャされた任意の画像をカメラ148が画像のキャプチャを開始した後に発生する同時期のLIDARスキャンと時間的に関連付けることができる。同時に、特徴99の画像がキャプチャされている間、LIDARスキャン(ブロック316)及び特徴識別/信頼レベル決定(ブロック318)の処理が継続している。特徴99に関連する特徴情報はまた、新しいスキャンが実行され、新しいスキャンデータが処理されるとすぐに、LIDARスキャン情報118において更新される(ブロック320)。
各特徴情報の更新に応答して、カメラ制御モジュール141は、(ブロック322にて)特徴99に関連する信頼レベルにアクセスすることができる。次いで、カメラ制御モジュールは、(ブロック324にて)低信頼レベルの特徴99が、現在、車両100に対してカメラ除外位置に存在するかどうかを判定することができる。低信頼レベルの特徴99がカメラ除外位置に存在しない場合、カメラ制御モジュール141は、(ブロック326にて)更新された信頼レベルを所定の閾値と比較して、更新された信頼レベルが依然として閾値を下回っているかどうかを判定することができる。今は、車両は図3の位置「C」にいるかもしれない。更新された信頼レベルが依然として閾値を下回っている場合、制御はブロック314に戻ることができ、そこでカメラ制御モジュールは、特徴99の画像をキャプチャするようにカメラ148を制御し続ける。
カメラ制御モジュール141は、説明されたように、特徴99に関連付けられる信頼レベル閾値を下回ったままである限り、かつ、特徴99がカメラ148の視野内にある限り(すなわち、特徴がカメラ除外位置にいない限り)、特徴99の画像をキャプチャするようにカメラ148を制御し続ける
ブロック326(図2)に戻り、更新された信頼レベルがもう閾値を下回っていない場合、信頼レベルは、特徴99が「認識された」又は「識別された」と見なされ得るレベルまで上昇している。次いで、制御はブロック328に移ることができ、ここで、カメラ制御モジュール141は、カメラ148を制御して、特徴99の画像をキャプチャする試みを停止することができる。
ブロック324に戻ると、低信頼レベルの特徴99がカメラ除外位置にある場合、カメラ148はもはやその特徴の画像をキャプチャすることができない。この場合、カメラ制御モジュール141は、(ブロック330にて)カメラ148を制御して、特徴99の画像をキャプチャする試みを停止することができる。図3は、位置「D」にある車両100を示しており、そこにおいて、特徴99は、カメラ148がもはや特徴99に焦点を合わせることができない除外位置にある。しかしながら、LIDARセンサ125は、位置「D」から特徴99(並びに他の車両環境特徴)を依然として検出することができる。
さらに、ブロック330において、特徴99に関連付けられた信頼レベルは、画像キャプチャ及び特徴情報の更新中に閾値以上のレベルに一度も達していないので、特徴99は「未識別」として分類されたままである。従って、ブロック330に続いて、カメラ制御モジュール141は、(ブロック332にて)特徴99の画像がその時点までにキャプチャされたかどうかを判定する最終チェックを実行することができる。画像がキャプチャされていない場合、人間のレビュアーに転送するカメラ画像はなく、画像キャプチャルーチンはブロック334で終了することができる。しかしながら、低信頼レベルの特徴99の画像がキャプチャされている場合、カメラ制御モジュール141は、(ブロック336にて)車両100の動作を制御して、人間によるレビューのために特徴99に関連する特徴情報を送信することができる。
本明細書に記載の実施形態では、人間のレビュアーは、LIDAR/RADAR情報を、LIDAR/RADAR情報に表される実際の特徴の関連付けられたカメラ画像と(リアルタイムで)比較して関連付けることができる。識別に関して人間によってレビューされる特徴のカメラ画像を提供することにより、特徴のより迅速で正確な識別が可能になり、その結果、点群とそれらが表す物理的な物体とのより正確な相関が可能になる。さらに、LIDAR/RADAR情報が分類され、又は実際の既知の特徴と関連付けられると、その特徴に関連する新しく取得されたLIDAR/RADAR情報が、その特徴と関連付けて、既知のLIDAR/RADAR情報のカタログに追加されることができ、それにより、新たに取得されたLIDAR/RADAR情報との比較のためにコンピューティングシステムで使用されるリソースデータベースを拡張することができる。これにより、比較のための既知のLIDAR/RADAR情報のソースと同じデータベースを使用して、他の車両においてその特徴又は類似の特徴の将来における認識が容易になり得る。
詳細な実施形態が本明細書に開示される。しかし、開示された実施形態は例としてのみ意図されていることを理解されたい。従って、本明細書で開示される特定の構造及び機能の詳細は、限定として解釈されるべきではなく、単に特許請求の範囲の基礎として、及び、実質的に任意の適切な詳細構造において本明細書の態様を様々に採用することを当業者に教示するための代表的な基礎として解釈されるべきである。さらに、本明細書で使用される用語及び語句は、限定することを意図するものではなく、可能な実施例の理解可能な説明を提供することを意図している。種々の実施形態が図1から図3に示されているが、実施形態は、示された構造又は用途に限定されない。
図中のフローチャート及びブロック図は、様々な実施形態によるシステム、方法、及びコンピュータプログラム製品の可能な実施例のアーキテクチャ、機能、及び動作を示している。これに関して、フローチャート又はブロック図の各ブロックは、特定の論理機能(複数可)を実行するための1つ以上の実行可能な命令を含むモジュール、セグメント、又はコードの一部を表すことができる。いくつかの代替の実施例では、ブロックに示された機能が、図に記載されている順序以外で発生する可能性があることにも注意されたい。例えば、連続して示された2つのブロックが、実際には、実質的に同時に実行されても良く、又はそれらのブロックが、関連する機能に応じて、ときには逆の順序で実行されても良い。
上述したシステム、コンポーネント、及び/又はプロセスは、ハードウェア又はハードウェアとソフトウェアの組み合わせで実現でき、1つの処理システムにおいて中央集権方式で、又は相互接続された複数の処理システムに異なる要素が分散された分散方式で実現することができる。本明細書に記載の方法を実行するように適合されたあらゆる種類の処理システム又は別の装置が適する。ハードウェア及びソフトウェアの典型的な組み合わせは、ロードされ、実行されるときに、本明細書に記載の方法を実行するように処理システムを制御する、コンピュータで使用可能なプログラムコードを備えた処理システムであり得る。システム、コンポーネント、及び/又はプロセスは、本明細書に記載された方法及びプロセスを実行するためにマシンによって実行可能な命令のプログラムを目に見える方法で具体化した、マシンによって読み取り可能な、コンピュータプログラム製品又は他のデータプログラムストレージデバイスなどのコンピュータ読み取り可能なストレージに埋め込むこともできる。これらの要素は、本明細書で説明した方法の実行を可能にするすべての特徴を備えた、処理システムにロードされたときにこれらの方法を実行することができるアプリケーション製品に組み込むこともできる。
さらに、本明細書で説明された構成は、例えば記憶されるなどして、具体化されたコンピュータ可読プログラムコードを有する1つ以上のコンピュータ可読媒体に具現化されるコンピュータプログラム製品の形態をとることができる。1つ以上のコンピュータ可読媒体の任意の組み合わせが利用されてもよい。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であり得る。「コンピュータ可読記憶媒体」という語句は、非一時的な記憶媒体を意味する。コンピュータ可読記憶媒体は、限定されるものではないが、例えば、電子、磁気、光、電磁気、赤外線、又は半導体システム、装置、又はデバイス、もしくはこれらの任意の適切な組み合わせであっても良い。コンピュータ可読記憶媒体のより具体的な例(非網羅的リスト)は、携帯用コンピュータディスケット、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、リードオンリーメモリ(ROM)、消去可能プログラム可能リードオンリーメモリ(EPROM又はフラッシュメモリ)、携帯用コンパクトディスクリードオンリーメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、光記憶デバイス、磁気記憶デバイス、又はこれらの任意の適切な組み合わせ含む。この明細書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスによって、もしくはそれらと接続して使用するためのプログラムを含む、又は格納できる任意の有形の媒体であり得る。
コンピュータ可読媒体に具現化されるプログラムコードは、限定されるものではないが、無線、有線、光ファイバー、ケーブル、RFなど、又はこれらの任意の適切な組み合わせを含む、任意の適切な媒体を使用して送信されてもよい。本構成の態様の動作を実行するためのコンピュータプログラムコードは、java(登録商標)、スモールトーク、C++などのオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されてもよい。プログラムコードは、スタンドアロンソフトウェアパッケージとして、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、あるいは、一部をユーザのコンピュータ上でかつ一部を遠隔コンピュータ上で、もしくは、完全に遠隔コンピュータ又はサーバ上で実行されてもよい。後者のシナリオでは、遠隔コンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよいし、又は、その接続は、外部コンピュータになされてもよい(例えば、インターネットサービスプロバイダを使用したインターネット経由)。
本明細書で使用される「a」及び「an」という用語は、1つではなく、1つ以上として定義される。本明細書で使用される「複数」という用語は、2つではなく、2つ以上として定義される。本明細書で使用される「別の」という用語は、少なくとも2番目又はそれ以上として定義される。本明細書で使用される「含む」及び/又は「有する」という用語は、包含する(すなわち、オープン言語)と定義される。本明細書で使用される「...及び...の少なくとも1つ」というフレーズは、関連する列挙されたアイテムの1つ以上の任意の及び全ての可能な組み合わせを指し、包含する。例として、「A、B、及びCの少なくとも1つ」というフレーズは、Aのみ、Bのみ、Cのみ、又はそれらの任意の組み合わせ(たとえば、AB、AC、BC又はABC)を含む。
本明細書の態様は、その主旨又は本質的な特質から逸脱することなく、他の形態で具現化することができる。従って、本明細書の範囲を示すものとして、前述の明細書よりもむしろ、以下の特許請求の範囲を参照すべきである。