(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-18
(45)【発行日】2024-01-26
(54)【発明の名称】画像スキャンラインのタイムスタンプ
(51)【国際特許分類】
H04N 23/60 20230101AFI20240119BHJP
【FI】
H04N23/60 300
H04N23/60 500
(21)【出願番号】P 2021516915
(86)(22)【出願日】2019-09-25
(86)【国際出願番号】 US2019053023
(87)【国際公開番号】W WO2020069034
(87)【国際公開日】2020-04-02
【審査請求日】2022-09-06
(32)【優先日】2018-09-26
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-09-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】アルチュール ベネマン
(72)【発明者】
【氏名】クリストファー アレン ジョンソン
(72)【発明者】
【氏名】トゥルハン カラデニズ
【審査官】門田 宏
(56)【参考文献】
【文献】米国特許出願公開第2017/0187961(US,A1)
【文献】欧州特許出願公開第02261604(EP,A1)
【文献】国際公開第2018/069757(WO,A2)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/222- 5/257
H04N 23/00
H04N 23/40 -23/76
H04N 23/90 -23/959
B60W 40/02
G01C 21/00
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行可能な命令を格納する1つまたは複数の非一時的コンピュータ可読媒体と、
を備えたシステムであって、
前記命令は、実行されると、前記1つまたは複数のプロセッサに、
ローリングシャッター画像キャプチャに関連付けられた画像フレームの第1のスキャンラインデータを画像センサから受信するステップと、
前記第1のスキャンラインデータ
のラインデータの第1の端部の前に第1の時間データを追加するステップと、
前記第1の時間データのサイズに少なくとも部分的に基づいて、前記第1のスキャンラインデータに関連付けられた幅を調整するステップと、
前記ローリングシャッター画像キャプチャに関連付けられた前記画像フレームの第2のスキャンラインデータを前記画像センサから受信するステップと、
前記第2のスキャンラインデータ
のラインデータの第2の端部の前に第2の時間データを追加するステップと、
を含む操作を実行させる、
システム。
【請求項2】
前記操作が、
LIDARセンサからLIDARポイントを含むLIDARデータを受信するステップであって、前記LIDARデータが第3の時間データに関連付けられている、ステップと、
前記第1の時間データおよび前記第3の時間データに少なくとも部分的に基づいて、前記LIDARポイントを前記第1のスキャンラインデータの少なくとも一部分に関連付けるステップと、
をさらに含む請求項1に記載のシステム。
【請求項3】
前記第1のスキャンラインデータが第1の露光時間に関連付けられており、
前記第2のスキャンラインデータが前記第1の露光時間とは異なる第2の露光時間に関連付けられている、
請求項1または請求項2のいずれか1つに記載のシステム。
【請求項4】
前記操作が、
前記ローリングシャッター画像キャプチャに関連付けられた動きによって引き起こされた歪曲効果を是正または補正するために、前記第1の時間データに少なくとも部分的に基づいて、画像の少なくとも一部分を修正し、修正された画像を生成するステップであって、前記歪曲効果が
ぐらつき、
スキュー、
空間的エイリアシング、
または時間的エイリアシング、
の1つまたは複数を含む、ステップと、
前記修正された画像に少なくとも部分的に基づいて、自律車両の動きを制御するステップと、
をさらに含む、
請求項1から請求項3のいずれか1つに記載のシステム。
【請求項5】
高精度時間プロトコル(PTP)クロックと、
前記PTPクロックと同期しているシステムプロセッサクロックと、
をさらに含み、
前記操作が
前記システムプロセッサクロックに従属するカウンタからデータを取得するステップと、
前記データに少なくとも部分的に基づいて、前記第1の時間データを決定するステップと、
をさらに含む、
請求項1から請求項4のいずれか1つに記載のシステム。
【請求項6】
前記第1のスキャンラインデータを受信する前記ステップが、
第1のセンサモダリティを有する第1のセンサから前記第1のスキャンラインデータを受信するステップを、含み、
前記操作が、
第2のセンサモダリティを有する第2のセンサからデータを受信するステップであって、前記データが測定値を含む、ステップと、
前記第1の時間データに少なくとも部分的に基づいて、前記測定値と前記第1のスキャンラインデータの少なくとも一部分の間の関連付けを決定するステップと、
をさらに含む、
請求項1から請求項5のいずれか1つに記載のシステム。
【請求項7】
画像フレームの第1のスキャンラインに関連付けられた第1のスキャンラインデータを受信するステップと、
第1の時間データを前記第1のスキャンライン
のラインデータの第1の端部の前に追加するステップと、
前記第1の時間データのサイズに少なくとも部分的に基づいて、前記第1のスキャンラインデータに関連付けられた幅を調整するステップと、
前記画像フレームの第2のスキャンラインに関連付けられた第2のスキャンラインデータを受信するステップと、
第2の時間データを前記第2のスキャンライン
のラインデータの第2の端部の前に追加するステップと、
を含む方法。
【請求項8】
前記第1のスキャンラインデータを受信する前記ステップが、
第1のセンサモダリティを有する第1のセンサから前記第1のスキャンラインデータを受信するステップを、含み
前記方法が、
第2のセンサモダリティを有する第2のセンサからデータを受信するステップであって、前記データが測定値を含む、ステップと、
前記第1の時間データに少なくとも部分的に基づいて、前記測定値と前記第1のスキャンラインデータの少なくとも一部分の間の関連付けを決定するステップと、
をさらに含む、
請求項7に記載の方法。
【請求項9】
前記第1のセンサが画像センサを含み、
前記第2のセンサが
追加画像センサ、
LIDARセンサ、
radarセンサ、または
飛行時間センサ
の少なくとも1つを含む、
請求項8に記載の方法。
【請求項10】
前記測定値と前記第1のスキャンラインの前記少なくとも一部分の間の前記関連付けに少なくとも部分的に基づいて、前記第1のスキャンラインデータの少なくとも一部を前記第2のセンサからの前記データの少なくとも一部と関連付け、関連データを生成するステップと、
前記関連データに少なくとも部分的に基づいて、自律車両の動きを制御するステップと、
をさらに含む請求項8または請求項9のいずれか1つに記載の方法。
【請求項11】
自律車両のシステムプロセッサクロックに従属するカウンタからデータを取得するステップであって、前記システムプロセッサクロックは高精度時間プロトコル(PTP)クロックと同期している、ステップと、
前記データに少なくとも部分的に基づいて、前記第1の時間データを決定するステップと、
をさらに含む請求項7から請求項10のいずれか1つに記載の方法。
【請求項12】
前記第1のスキャンラインデータを受信する前記ステップが、
第1のセンサモダリティを有する第1のセンサから前記第1のスキャンラインデータを受信するステップ、
を含み、
前記方法が、
別のデータが測定値を含み、第2のセンサモダリティを有する第2のセンサからの前記別のデータを受信するステップであって、前記測定値が、前記PTPクロックからの時間データに基づいて、タイムスタンプに関連付けられている、ステップと、
前記第1の時間データおよび前記測定値に関連付けられた前記タイムスタンプに少なくとも部分的に基づいて、前記測定値と前記第1のスキャンラインデータの少なくとも一部分の間の関連付けを決定するステップと、
をさらに含む、請求項11に記載の方法。
【請求項13】
前記第1のスキャンラインデータが第1の露光時間に関連付けられており、
前記第2のスキャンラインデータが前記第1の露光時間とは異なる第2の露光時間に関連付けられている、
請求項7から請求項12のいずれか1つに記載の方法。
【請求項14】
ローリングシャッター画像キャプチャに関連付けられた動きによって引き起こされた歪曲効果を是正または補正するために、前記第1の時間データに少なくとも部分的に基づいて、画像の少なくとも一部分を修正するステップであって、前記歪曲効果が
ぐらつき、
スキュー、
空間的エイリアシング、または、
時間的エイリアシング、
の少なくとも1つを含む、ステップを、
さらに含む、請求項7から請求項13のいずれか1つに記載の方法。
【請求項15】
実行されると、1つまたは複数のプロセッサに請求項7から請求項14のいずれか1つに記載の方法を実行させる命令を格納した1つまたは複数の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像スキャンラインのタイムスタンプに関する。
【0002】
[関連出願の相互参照]
このPCT国際出願は、2018年9月26日に出願された「画像スキャンラインのタイムスタンプ」と題された米国特許出願第16/142,865号、および2018年9月26日に出願された「マルチセンサデータキャプチャ同期」と題された米国特許出願第16/142,966号の優先権を主張し、これらは両方とも参照により本明細書に組み込まれる。
【背景技術】
【0003】
様々な方法、装置、およびシステムが画像センサからの画像データを利用する。例えば、ロボットプラットフォーム(例えば、自律車両)は、画像データおよび/または他のセンサデータを使用して、他の車両、建物、歩行者などのような障害物を含む環境を通り走行し得る。いくつかの例では、時間情報(例えば、タイムスタンプ)は画像フレーム全体に関連付けられ得、これは、画像フレームの特定の部分のキャプチャと他のセンサからのデータの特定の部分との間の時間的差異に起因する画像フレームの特定の部分のキャプチャを他のセンサからのデータの特定の部分に不正確に関連付けるといった、様々な課題を提示することがある。
【図面の簡単な説明】
【0004】
詳細な説明は添付の図面を参照して説明される。図面において、参照番号の左端の数字は参照番号が最初に現れる図を特定している。異なる図面における同一の参照番号の使用は、類似、または同一のコンポーネント、または特徴を示す。
【
図1】
図1は、本開示の例による、画像フレーム(例えば、ローリングシャッター画像キャプチャの)のスキャンラインに時間データを追加するための1つまたは複数のタイムスタンプコンポーネントを有する車両を含む例示的な環境を示す。
【
図2】
図2は、本開示の例による、画像フレームのスキャンラインに(例えば、タイムスタンプコンポーネントを介して)追加される時間データの例を示す概略図である。
【
図3】
図3は、本開示の例による、スキャンラインへの時間データの追加、およびスキャンラインに関連付けられたラインデータの端部の遅延および/またはシフトを含む、例示的なプロセスフローを実施するための例示的なコンポーネントを示すブロック図である。
【
図4】
図4は、本開示の例による、スキャンラインと関連付けるための時間データを取得することを含む、例示的なプロセスフローを実施するための例示的なコンポーネントを示すブロック図である。
【
図5A】
図5Aは、本開示の例による、画像センサ視野のローリングシャッター画像キャプチャをLIDARセンサ視野のLIDARデータキャプチャと同期させる例を示す概略図である。
【
図5B】
図5Bは、本開示の例による、複数の画像センサ視野のローリングシャッター画像キャプチャをLIDARセンサ視野のLIDARデータキャプチャと同期させる例を示す概略図である。
【
図6】
図6は、本開示の例による、スキャンライン時間データを使用し、歪んだ画像を是正する画像処理コンポーネントの例を示す概略ブロック図である。
【
図7】
図7は、本開示の例による、画像フレームの1つまたは複数のスキャンラインに時間データを追加するための例示的なプロセスを示すフロー図である。
【
図8】
図8は、本開示の例による、画像フレームのスキャンラインに追加された時間データに少なくとも部分的に基づいて、複数のセンサからのデータ間の関連付けを決定するための例示的なプロセスを示すフロー図である。
【
図9】
図9は、本開示の例による、歪曲効果を是正または補正するために、画像フレームのスキャンラインに追加された時間データに少なくとも部分的に基づいて、画像を修正するための例示的なプロセスを示すフロー図である。
【
図10】
図10は、本開示の例による、第1の視野(第1のセンサに関連付けられている)のローリングシャッター画像キャプチャを第2の視野(第2のセンサに関連付けられている)のデータキャプチャと同期させるための例示的なプロセスを示すフロー図である。
【
図11】
図11は、本開示の例に従って、本明細書に記載の技術を実装するための例示的なシステムのブロック図である。
【発明を実施するための形態】
【0005】
一部のシステムでは、時間情報(タイムスタンプなど)が画像フレーム全体に関連付けられ得る。そのような時間情報は、画像フレームの特定の部分のキャプチャを他のセンサからのデータの特定の部分と正確に関連付けるシステムの能力を、例えば、画像フレームの特定の部分のキャプチャと他のセンサからのデータの特定の部分との間の時間的差異により、制限し得る。さらに、いくつかの例では、単一のタイムスタンプが画像全体に関連付けられているため、追加のプロセスは(例えば、カメラ較正、3D再構成、追跡、特徴抽出など)不正確に実行されるか、そうでなければ実行不可能である。本開示は、キャプチャ時に画像の一部(例えば、ローリングシャッター画像キャプチャ中の画像フレームのスキャンライン)に時間データを追加するための技術を対象とする。さらに、本開示は、複数のセンサによるデータキャプチャを同期させるための技術を対象とする。特に、本明細書で論じられる技術は、画像フレームの特定の部分を別のセンサ(例えば、LIDARなどの別のセンサモダリティ、および/または他の画像ベースのセンサシステム)からのデータの特定の部分と正確に位置合わせすることを可能にし得る。
【0006】
いくつかの例では、車両(例えば、自律車両)の画像センサは画像センサの第1の視野内のシーンの画像をキャプチャし得る。いくつかの例では、画像キャプチャはシーンを横切って(例えば、垂直または水平に)スキャンすることによって実行され、ローリングシャッター画像キャプチャなど、シーンの別の部分(例えば、第2のスキャンライン)をキャプチャする前に、シーンの一部(例えば、第1のスキャンライン)をキャプチャし得る。ローリングシャッター画像キャプチャは画像フレームのスキャンラインを生成し得る。スキャンラインはスキャンラインデータ(例えば、ピクセルデータ)およびラインデータの端部を含み得る。ラインデータの端部はスキャンラインの端部を示し得る。
【0007】
様々な例において、車両のコンピューティングシステムはスキャンラインを受信し、それぞれの時間データ(例えば、タイムスタンプ)を1つまたは複数のスキャンラインに追加し得る。例えば、コンピューティングシステムは各スキャンラインに時間データを追加し得る。いくつかの例では、時間データがスキャンラインデータとラインデータの端部との間にあるように、時間データがスキャンラインに追加され得る。いくつかの例によれば、スキャンラインに関連付けられたラインデータの端部は、例えば、時間データの追加に対応するために、第1の位置から第2の位置にシフトされ得る。
【0008】
いくつかの例では、車両のLIDARセンサは画像センサの第1の視野と少なくとも部分的に重なり得るLIDARセンサの第2の視野内のLIDARデータ(例えば、LIDARポイント)をキャプチャし得る。いくつかの実装形態によれば、コンピューティングシステムは、スキャンラインに追加された時間データに、およびLIDARデータの収集に関連付けられたタイムスタンプに少なくとも部分的に基づいて(および/またはLIDARデータの一部に関連付けられた時間データ少なくとも部分的に基づいて)、LIDARデータの少なくとも一部をスキャンラインの少なくとも一部に関連付け得る。さらに、コンピューティングシステムは、LIDARデータの一部とスキャンラインの一部との関連付けに少なくとも部分的に基づいて、画像データをLIDARデータと関連付け(例えば、融合)、関連データを生成し得る。関連データを、いくつかの例では、車両の動きを制御するための入力として使用し得る。
【0009】
いくつかの実装形態では、コンピューティングシステムは、是正された画像を生成するために、1つまたは複数のスキャンラインに追加された時間データを使用し歪んだ画像を修正し得る。例えば、歪んだ画像はローリングシャッター画像キャプチャに関連付けられた動きによって引き起こされる1つまたは複数の歪曲効果を含み得る。非限定的な例として、歪曲効果は、ぐらつき、スキュー、空間的エイリアシング、および/または時間的エイリアシングなどを含み得る。歪んだ画像を修正することは歪曲効果を是正または補正することを含み得る。
【0010】
いくつかの例によれば、LIDARセンサに関連付けられた第2の視野は画像センサに関連付けられた第1の視野に対して移動可能であり得る。いくつかの例では、第2の視野は回転可能であり得る(例えば、1つまたは複数の軸に対して)。
【0011】
いくつかの例では、コンピューティングシステムは画像データキャプチャ(画像センサによる)をLIDARデータキャプチャ(LIDARセンサによる)と同期させ得る。例えば、コンピューティングシステムは、LIDARセンサが画像センサの視野に対応するシーンの少なくとも一部のLIDARデータをキャプチャしている期間中に画像センサをトリガーし、シーンのローリングシャッター画像キャプチャを実行し得る。様々な例において、コンピューティングシステムは1つまたは複数の同期条件に従って同期を実施し得る。非限定的な例として、同期条件は、第1の視野(画像センサに関連付けられた)と第2の視野(LIDARセンサに関連付けられた)との間の重なりの量、および/または第1の視野の第1の特定の部分と第2の視野の第2の特定の部分との間の重なりなどを含み得る。非限定的な例として、画像の中心が画像センサの視野に位置合わせされている回転LIDARセンサと実質的に同時にキャプチャされるように、画像データのキャプチャはトリガーされ得る。
【0012】
いくつかの例では、コンピューティングシステムは画像センサに関連付けられた第1の視野の第1の方向および/または第1のポーズ(位置および方向)を決定し得る。さらに、コンピューティングシステムはLIDARセンサに関連付けられた第2の視野の第2の方向および/または第2のポーズを決定し得る。いくつかの例では、画像センサおよび/またはLIDARセンサに関連付けられたそれぞれの方向および/またはそれぞれのポーズを追跡し得る。いくつかの例によれば、方向および/またはポーズは互いに対して追跡し得る。例えば、同期条件に従って、第1の視野の少なくとも第1の部分(画像センサに関連付けられた)が第2の視野の少なくとも第2の部分(LIDARセンサに関連付けられた)と重なるように、コンピューティングシステムは、第1の視野のローリングシャッター画像キャプチャを画像センサに開始させるための入力として、視野方向情報および/またはポーズ情報を使用し得る。少なくともいくつかの例では、そのような初期化はそれぞれの視野の重なりを最適化する(例えば、最大化する)ようにタイミングを合わせ得る。様々な例において、LIDARセンサに関連付けられた第2の視野はローリングシャッター画像キャプチャ中に、画像センサに関連付けられた第1の視野に対して移動し得る。非限定的な例として、回転LIDARセンサは画像センサに関連付けられた視野に対して移動する視野に関連付けられ得る。
【0013】
本明細書で論じられる技術はいくつかの手段でコンピューティングデバイスの機能を改善することができる。例えば、本明細書で論じられる技術は画像フレームの個々のスキャンラインに時間データを追加することを含み得、これはコンピューティングデバイスに画像フレームのピクセルをLIDARポイントと正確に位置合わせする(またはそうでなければ関連付ける)ことを、例えば、マルチモーダルセンサフュージョン、センサ較正、3D再構成、マルチモーダル較正などを正確に達成することを、可能にさせ得る。車両のコンピューティングシステムは、例えば、画像フレーム全体に関連付けられた時間データを使用する場合と比較して、個々のスキャンラインに関連付けられた時間データを使用してそのような関連付けを行うことによって、車両の環境のより正確な表現を生成し得る。その結果、車両のコンピューティングシステムは、物体(例えば、障害物)の検出、ならびに、例えば、障害物との衝突を回避するために車両の動きを制御する軌道および/または経路計画を改善する、ことを可能にし得る。
【0014】
別の例として、本明細書に記載の技術を使用してセンサデータキャプチャを同期させることにより、車両のコンピューティングシステムは画像データをLIDARデータと正確に(例えば、時間的および/または空間的に)関連付けることを可能にし得る。いくつかの実装形態では、同期は、データが受信された際に画像センサおよびLIDARセンサによってキャプチャされたデータが互いに関連付けられていると決定することを可能にし得、これは、データが車両のコンピューティングシステムによって受信された後、データ間の関連付けを決定するために要求される処理の量を削減し得る。コンピューティングシステムの機能に対するこれらおよび他の改善は本明細書で説明される。
【0015】
本明細書で説明される技法はいくつかの手段で実施することができる。例示的な実装は、以下の図面を参照することで以下に提供される。自律車両のコンテキストで論じているが、本明細書に記載の方法、装置、およびシステムは、様々なシステム(例えば、ロボットプラットフォーム、手動運転車両など)に適用することができ、自律車両に限定されない。別の例では、技術は、航空または航海のコンテキストで、またはマシンビジョンを使用する任意のシステムで利用することができる。さらに、本明細書で説明される技術は、実データ(例えば、センサを用いてキャプチャされた)、模擬データ(例えば、シミュレーターによって生成された)、またはその2つの任意の組合せで使用することができる。
【0016】
図1は、本開示の例による、画像フレームのスキャンライン(例えば、ローリングシャッター画像キャプチャの)に時間データを追加するための1つまたは複数のタイムスタンプコンポーネントを有する車両102を含む例示的な環境100を示す。いくつかの例では、環境100は
図2から
図11を参照して本明細書で説明される例の1つまたは複数の特徴、コンポーネント、および/または機能を含み得る。
【0017】
いくつかの例では、車両102は、例えば、人および/または貨物を第1の場所から第2の場所に輸送するために、表面104(例えば、路面)を横切って走行するように構成され得る。例示の目的で、車両102は米国国家高速道路交通安全局が2013年に発行したレベル5分類に従って作動するように構成された自律車両であり得、これは、ドライバー(または乗員)が車両を常に制御することを期待することなく、全体行程のすべての安全上重要な機能を実行可能な車両について説明している。その場合、車両は、すべての駐車機能を含む、開始から終了までのすべての機能を制御するように構成され得るので、無人の場合がある(得る)。これは単なる例であり、本明細書で説明するシステムおよび方法は、常にドライバーが手動で制御する必要のある車両から、例えばアクセス制限されている高速道路上での操作中のような特定の運転状況内でドライバーの注意または支援なしで自律制御できるような、それだけでなく、例えば都市部の市街での操作中、または少なくとも一部の駐車機能中のような他の運転状況内でドライバーの注意および/または支援を要求するような、部分的に自律制御されている車両までを含む任意の車両および/またはロボットに組み込み得る。
【0018】
いくつかの例では、車両102は4つの車輪および各車輪にそれぞれのタイヤを有する自動車であり得る。例えば、バン、スポーツユーティリティ車両、クロスオーバー車両、トラック、バス、農業用車両、および建設用車両などの他のタイプおよび構成の車両が企図される。車両102は、1つまたは複数の内燃エンジン、1つまたは複数の電気モーター、水素動力、またはそれらの任意の組み合わせによって動力を供給され得る。さらに、例示的な車両102は4つの車輪を有し得るが、本明細書に記載されるシステムおよび方法は、より少ないまたはより多い数の車輪、タイヤ、および/または軌道を有する車両に組み込み得る。例示的な車両102は四輪ステアリングを有し得、例えば、第1の向きに走行する場合、車両102の第1の端部が車両102の前端部であり得るような、および反対側の第2の向きに走行する場合、第1の端部が車両102の後端部になり得るような、すべての向きにおいて、概して等しい性能特性で作動し得る。同様に、第2の向きに走行する場合、車両102の第2の端部は車両102の前端部であり得、および反対の第1の向きに走行する場合、第2の端部は車両102の後端部となり得る。これらの例示の特徴は、例えば駐車場および市街地などの小規模空間または混雑環境での操縦性をより向上し得る。
【0019】
様々な例によれば、車両102はセンサ106を含み得る。さらに、様々な例において、車両102は車両コンピューティングシステム108を含み得る。車両コンピューティングシステム108は、車両コンピューティングシステム108および/または車両102に様々な操作を実行させる1つまたは複数のコンポーネントを含み得る。様々な例において、車両コンピューティングシステム108は、タイムスタンプコンポーネント110および/または時間データ112を含み得る。本明細書でさらに詳細に説明するように、車両コンピューティングシステム108はタイムスタンプコンポーネント110を使用して、画像フレームの1つまたは複数のスキャンラインに時間データ112を追加し得る。
【0020】
いくつかの実施形態によれば、車両102のセンサ106(例えば、ローリングシャッター画像キャプチャデバイスなどの画像センサ)はセンサ106に関連付けられた視野内のシーンの画像をキャプチャし得る。いくつかの例では、画像キャプチャはシーンを横切って(例えば、垂直または水平に)スキャンすることによって実行され、ローリングシャッター画像キャプチャなど、シーンの別の部分(例えば、第2のスキャンライン)をキャプチャする前に、シーンの一部(例えば、第1のスキャンライン)をキャプチャし得る。
図1は、車両102のセンサ106の視野内にあるシーンのローリングシャッター画像キャプチャ114の例示的な表現を含む。この非限定的な例に示されるように、ローリングシャッター画像キャプチャ114はシーンを横切って水平にスキャンすることによって実行され得る。ローリングシャッター画像キャプチャは画像フレーム116のスキャンライン(例えば、スキャンライン1、スキャンライン2、…スキャンラインn)を生成し得る。スキャンラインはスキャンラインデータ(例えば、ピクセルデータ118)を含み得る。さらに、いくつかの例では、スキャンラインはラインデータの端部に関連付けられ得る、および/または含まれ得る(例えば、
図2に示されるように)。場合によっては、特定のスキャンラインに関連付けられたラインデータの端部がそのスキャンラインの端部を示し得る。様々な例において、車両コンピューティングシステム108は、例えば、
図2から
図4および
図7から
図9を参照して本明細書で論じられるように、タイムスタンプコンポーネント110を使用して、時間データ112を1つまたは複数のスキャンラインに追加し得る。いくつかの非限定的な例では、タイムスタンプコンポーネント110は画像フレーム116の各スキャンラインに時間データ112を追加するように機能し得る。
【0021】
いくつかの例では、センサ106は、光検出および測距(LIDAR)センサ、無線検出および測距(RADAR)センサ、超音波トランスデューサー、音波航法および測距(SONAR)センサ、位置センサ(例えば、全地球測位システム(GPS)、コンパスなど)、慣性センサ(例えば、慣性測定ユニット、加速度計、磁気計、ジャイロスコープなど)、カメラ(例えば、RGB、IR、強度、深度、飛行時間など)、ホイールエンコーダ、マイク、環境センサ(例えば、温度センサ、湿度センサ、光センサ、圧力センサなど)などを含み得る。センサ106は、車両102に関連付けられた車両コンピューティングシステム108によって利用できる、センサデータを生成することができる。
【0022】
図2は、本開示の例に従って、画像フレームのスキャンラインに(例えば、タイムスタンプコンポーネント110を介して)追加される時間データの例200を示す概略図である。いくつかの例では、例200は
図1および
図3から
図11を参照して本明細書に記載される例の1つまたは複数の特徴、コンポーネント、および/または機能を含み得る。
【0023】
いくつかの例では、画像フレーム(例えば、
図1に関連する上記の画像フレーム116)のスキャンライン(例えば、スキャンライン1、スキャンライン2、…スキャンラインn)は、ローリングシャッター画像キャプチャ114によって生成され得る。例えば、ローリングシャッター画像キャプチャ114は画像センサ(例えば、
図1に関連する上記の車両102の画像センサ106)によって実行され得る。
【0024】
図2に示されるように、スキャンラインは、スキャンラインデータ202(例えば、ピクセルデータ118を含む)および/またはラインデータの端部204(例えば、スキャンラインの端部を示す信号)を含む、および/または関連付けられ得る。例えば、スキャンライン1は第1のスキャンラインデータおよび第1のラインデータの端部を含み得、スキャンライン2は第2のスキャンラインデータおよび第2のラインデータの端部を含み得る。
図2はスキャンラインの異なる構成要素としてスキャンラインデータ202およびラインデータの端部204を示しているが、様々な例においては、ラインデータの端部204をスキャンラインデータ202の一部と見做し得る。
【0025】
いくつかの例によれば、タイムスタンプコンポーネント110は、入力として1つまたは複数のスキャンラインを受信し得る。さらに、タイムスタンプコンポーネント110は、
図2に示されるように、時間データ112(例えば、タイムスタンプ)をスキャンラインに追加し、時間データ112を含む修正されたスキャンラインを出力し得る。例えば、タイムスタンプコンポーネント110は、第1の時間データをスキャンライン1に追加し得、第2の時間データをスキャンライン2に追加し得る。第1の時間データは第2の時間データと異なり得る。例えば、第1の時間データは、スキャンライン1が生成および/または受信された際の(例えば、タイムスタンプコンポーネント110によって)第1のタイムスタンプであり得るか、そうでなければ第1の時間(および/または第1の期間)を示し得る。第2の時間データはスキャンライン2が生成および/または受信された際の第2のタイムスタンプであり得るか、そうでなければ第2の時間(および/または第2の期間)を示し得る。場合によっては、タイムスタンプコンポーネント110は画像フレームの各スキャンラインに時間データ112を追加し得る。様々な例によれば、時間データ112がスキャンラインデータ202とスキャンラインに関連付けられたラインデータの端部204との間にあるように、タイムスタンプコンポーネント110は時間データ112をスキャンラインに追加し得る。いくつかの実装形態では、ラインデータの端部204は、例えば、時間データ112に対応するためにシフトされ得る。例えば、ラインデータの端部204は、時間データ112が追加される前に、スキャンライン内の(またはスキャンラインに呼応する)第1の位置にあり得る。タイムスタンプコンポーネント110はラインデータの端部204を第1の位置から第2の位置にシフトし得る。第2の位置では、時間データ112はスキャンラインデータ202とラインデータの端部204の間にあり得る。さらに、第2の位置では、ラインデータの端部204はスキャンラインの端部の一部に配置され得る、および/またはそうでなければスキャンラインの端部を示し得る。
【0026】
いくつかの例では、各スキャンラインの端部に追加される追加データとして説明されているが、そのようなラインデータの端部204は各ラインの端部に格納されない場合がある。そのような非限定的な例として、「幅」が各スキャンラインのデータ量に関連付けられ得る。そのような幅は、例えば、画像フレームのヘッダ内において利用可能であり得る。そのような例では、各スキャンラインの端部にラインデータの端部204を追加することとして説明されているが、データを書き込まなくてもよく、代わりに関連付けられた時間データの追加データを占めるように関連付けられた幅を増やし得る、と理解される。
【0027】
いくつかの例では、画像フレームの各スキャンラインは同じ露光時間を有し得る。他の例では、画像フレームの1つまたは複数のスキャンラインは画像フレームの1つまたは複数の他のスキャンラインとは異なる露光時間を有し得る。例えば、スキャンライン1は第1の露光時間を有し得、スキャンライン2は第1の露光時間とは異なる第2の露光時間を有し得る。
【0028】
図3は、本開示の例による、スキャンラインへの時間データの追加、およびスキャンラインに関連付けられたラインデータの端部のシフトを含む、例示的なプロセスフローを実施するための例示的なコンポーネント300を示すブロック図である。いくつかの例では、コンポーネント300は、
図1、
図2および
図4から
図11を参照して本明細書で説明される例の1つまたは複数の特徴、コンポーネント、および/または機能を含み得る。
【0029】
いくつかの例によれば、コンポーネント300は、タイムスタンプコンポーネント110、センサ302(例えば、画像センサ)、および/またはメモリ304を含み得る。いくつかの例では、タイムスタンプコンポーネント110はセンサ302からスキャンラインを受信し得る。非限定的な例では、1つまたは複数のインターフェース(例えば、Mobile Industry Processor Interface(MIPI))および/またはセンサ302とタイムスタンプコンポーネント110との間でデータ(例えば、画像データ、スキャンラインなど)を送信するように構成された1つまたは複数の他のコンポーネントを介して、タイムスタンプコンポーネント110はセンサ302からスキャンラインのストリームまたはシーケンスを受信し得る。
【0030】
タイムスタンプコンポーネント110は、例えば、
図2を参照して本明細書で論じられるように、時間データ112を個々のスキャンラインに追加し得る。いくつかの例では、時間データ112をスキャンラインに追加することは時間データ112をスキャンラインのスキャンラインデータ202に追加することを含み得る。さらに、タイムスタンプコンポーネント110は、例えば、
図2を参照して本明細書で論じられるように、スキャンラインに関連付けられたラインデータの端部204を第1の位置から第2の位置にシフト(306)し得る。いくつかの例では、ラインデータの端部204のシフトはラインデータの端部204を時間データ112に追加することを含み得る。様々な例によれば、タイムスタンプコンポーネント110は、例えば、
図3に示されるように時間データ112を含む修正されたスキャンラインを出力し得る。いくつかの非限定的な例では、修正されたスキャンラインは、例えば、ダイレクトメモリアクセス(DMA)を介してメモリ304に送信され得る。
【0031】
様々な例において、センサ302から受信された(例えば、タイムスタンプコンポーネント110によって)各スキャンラインの間に遅延があり得る。例えば、第1のスキャンラインデータと第2のスキャンラインデータの受信の間の遅延は第2のスキャンラインデータの露光時間に関連付けられ得る。遅延は時間データの追加(例えば、タイムスタンプコンポーネント110による)がメモリオーバーヘッドを導入し得ないように十分な大きさにし得る。
【0032】
図4は、本開示の例による、スキャンラインと関連付けるための時間データを取得することを含む例示的なプロセスフローを実施するための例示的なコンポーネント400を示すブロック図である。いくつかの例では、コンポーネント400は
図1から
図3および
図5Aから
図11を参照して本明細書で説明される例の1つまたは複数の特徴、コンポーネント、および/または機能を含み得る。
【0033】
いくつかの例では、コンポーネント400は、タイムスタンプコンポーネント110、画像センサ402、LIDARセンサ404、システムプロセッサクロック406、カウンタ408、および/または高精度時間プロトコル(PTP)クロック410を含み得る。タイムスタンプコンポーネント110は、画像データ(例えば、スキャンライン412)を受信し得る。さらに、いくつかの実装形態では、タイムスタンプコンポーネント110は各スキャンライン412に時間データ(例えば、
図1から
図3を参照して本明細書で説明される時間データ112)を追加し、時間データ414を備えたスキャンラインを含む画像データを出力し得る。
【0034】
様々な例において、タイムスタンプコンポーネント110はスキャンラインに関連付けられた時間データを決定し得る。いくつかの非限定的な例によれば、タイムスタンプコンポーネント110はカウンタ408からのデータを使用して、スキャンラインに関連付けられた時間データを決定し得る。例えば、カウンタ408はシステムプロセッサクロック406に従属し得る。いくつかの例では、システムプロセッサクロック406はシステムプロセッサ(不図示)によって提供されるクロックであり得る。画像センサ402はシステムプロセッサクロック406からデータを受信し得る、および/または、いくつかの例では、システムプロセッサによって制御され得る。いくつかの例では、システムプロセッサクロックはPTPクロック410からデータを受信し得る。さらに、LIDARセンサ404は、いくつかの例では、PTPクロック410からデータを受信し得る。
【0035】
いくつかの例によれば、LIDARセンサ404はLIDARデータ(例えば、LIDARポイント416)を出力し得る。いくつかの例では、時間データ414を伴うスキャンラインを生成するためにスキャンライン412に追加された時間データの少なくとも一部を使用して、画像データの少なくとも一部とLIDARデータの少なくとも一部との間の関連付けを決定し得る。例えば、いくつかの例では、コンポーネント400は画像データ(タイムスタンプコンポーネント110から出力される)およびLIDARデータ(LIDARセンサ404から出力される)を受信するセンサアソシエーションコンポーネントを含み得る。いくつかの実装形態では、センサアソシエーションコンポーネント418は、スキャンラインに関連付けられた時間データを使用して、スキャンラインの少なくとも一部とLIDARデータの少なくとも一部との間の関連付けを決定し得る。さらに、いくつかの例では、LIDARデータはタイムスタンプに関連付けられ得(例えば、LIDARを回転させるために、列は同じタイムスタンプに関連付けられ得る)、センサアソシエーションコンポーネント418はスキャンラインに関連付けられた時間データおよびLIDARデータに関連付けられたタイムスタンプを使用して、スキャンラインの一部とLIDARデータの一部の間の関連付けを決定し得る。
【0036】
非限定的な例として、センサアソシエーションコンポーネント418は、スキャンラインの時間データに少なくとも部分的に基づいて、スキャンラインのピクセルデータの少なくとも一部をLIDARデータの1つまたは複数のLIDARポイント416と関連付け得る。場合によっては、関連付けはピクセルデータの一部およびLIDARポイントが実質的に同時に(たとえば、時間閾値を満たす期間中に)キャプチャされたことを示し得る。いくつかの例では、センサアソシエーションコンポーネント418は画像データの一部をLIDARデータの一部と関連付け(例えば、融合)して、関連データ420を生成し得る。例えば、関連付けはピクセルデータの一部とLIDARポイントとの間の関連付けに少なくとも部分的に基づき得る。いくつかの例では、関連データ420を使用して、車両(例えば、
図1を参照して説明された車両102)の動きを制御し得る。
【0037】
図5Aは、本開示の例による、画像センサ視野のローリングシャッター画像キャプチャをLIDARセンサ視野のLIDARデータキャプチャと同期させる例を示す概略
図500aである。いくつかの例では、例500aは
図1から
図4および
図5Bから
図11を参照して本明細書に記載される例の1つまたは複数の特徴、コンポーネント、および/または機能を含み得る。
【0038】
いくつかの例では、例500aは、画像センサ502、LIDARセンサ504、および/またはコンピューティングシステム506(例えば、
図1を参照して説明された車両コンピューティングシステム108)を含み得る。画像センサ502は第1の視野508を有し得る。LIDARセンサ504は第2の視野510を有し得る。様々な例において、視野は所与の時間にセンサによって感知される環境の一部に関連付けられ得る。いくつかの例では、コンピューティングシステム506は、センサ同期コンポーネント512、同期条件514、タイムスタンプコンポーネント110、および/または時間データ112を含み得る。
【0039】
いくつかの例によれば、LIDARセンサ504の第2の視野510は画像センサ502の第1の視野508に対して移動し得る。いくつかの例では、第2の視野510は回転可能であり得る(例えば、1つまたは複数の軸に対して)。いくつかの非限定的な例では、第2の視野510は360度回転可能であり得る。いくつかの例では、回転量は360度未満であり得る。
図5Aに示されるように、第2の視野510の回転516は時計回りの向きである。しかしながら、回転516は、いくつかの例では、反時計回りの向きでもよく、および/または向きが変化し得ることを理解されたい。
【0040】
様々な例において、センサ同期コンポーネント512は画像データキャプチャ(例えば、画像センサ502による)とLIDARデータキャプチャ(例えば、LIDARセンサ504による)との同期を容易にし得る。例えば、センサ同期コンポーネント512は、LIDARセンサ504がシーンの少なくとも一部のLIDARデータをキャプチャしている期間中に、画像センサ502をトリガーして、シーンのローリングシャッター画像キャプチャ518を実行し得る。このようにセンサデータキャプチャを同期させることにより、コンピューティングシステム506は画像データをLIDARデータと正確に(例えば、時間的および/または空間的に)関連付けることが可能であり得る。様々な例において、センサ同期コンポーネント512は同期条件514に従って同期を実施し得る。非限定的な例として、同期条件514は第1の視野508と第2の視野510との間の重なり、および/または第1の視野508の第1の特定の部分と第2の視野510の第2の特定の部分との間の重なりの量などを含み得る。少なくともいくつかの例では、同期は画像内の中心スキャンラインをキャプチャすることが画像センサの視野に実質的に向けられたLIDARデータキャプチャに対応するようなものとし得る。このような例では、画像データに関連付けられた環境の同じ領域に関連付けられているLIDARデータの量が最適化(例えば、最大化)される。
【0041】
いくつかの例では、センサ同期コンポーネント512は画像センサ502の第1の視野508の第1の方向を決定し得る。さらに、センサ同期コンポーネント512はLIDARセンサ504の第2の視野510の第2の方向を決定し得る。いくつかの例では、画像センサ502および/またはLIDARセンサ504のそれぞれの方向を追跡し得る。いくつかの例によれば、第1の方向および第2の方向は互いに対して追跡され得る。例えば、同期条件514に従って、第1の視野508の少なくとも第1の部分が第2の視野510の少なくとも第2の部分と重なるように、センサ同期コンポーネント512は、第1の視野508のローリングシャッター画像キャプチャ518を画像センサ502に開始させるための入力として視野方向情報(例えば、第1の方向、第2の方向など)を使用し得る。様々な例において、第2の視野510は、ローリングシャッター画像キャプチャ518の間に第1の視野508に対して移動し得る。
【0042】
いくつかの実装形態によれば、LIDARセンサ504がシーンの少なくとも一部(例えば、シーンの少なくとも一部がLIDARセンサ504の第2の視野510内にある)に関連付けられたLIDARデータをキャプチャしている間に、シーンに関連付けられた画像フレームのスキャンライン(例えば、スキャンライン1、スキャンライン2、…スキャンラインn)の少なくとも一部がキャプチャされるように、センサ同期コンポーネント512はローリングシャッター画像キャプチャ518の時間を調整し得る。いくつかの例では、例えば、
図5Aに示されるように、シーンの少なくとも一部の第2の視野510をキャプチャするLIDARセンサ504に関連付けられた期間中に、画像フレームのスキャンラインの大部分がキャプチャされるように、センサ同期コンポーネント512はローリングシャッター画像キャプチャ518の時間を調整し得る。いくつかの例では、特定のスキャンライン(またはスキャンラインのセット)が第2の視野510の特定の部分に伴ってキャプチャされるように、センサ同期コンポーネント512はローリングシャッター画像キャプチャ518の時間を調整し得る。非限定的な例として、中央スキャンライン(例えば、最中央のスキャンライン、スキャンラインの中央のセットなど)が第2の視野510の中央部分にてキャプチャされたLIDARデータに伴ってキャプチャされ得るように、センサ同期コンポーネント512はローリングシャッター画像キャプチャ518の時間を調整し得る。
【0043】
いくつかの例では、センサ同期コンポーネント512は画像センサ502の第1のポーズを決定し得る。第1のポーズは画像センサ502に関連付けられた第1の位置および/または第1の方向(例えば、x、y、z位置、ロール、ピッチ、および/またはヨー)を含み得る。さらに、センサ同期コンポーネント512はLIDARセンサ504の第2のポーズを決定し得る。第2のポーズはLIDARセンサ504に関連付けられた第2の位置および/または第2の方向(例えば、x、y、z位置、ロール、ピッチ、および/またはヨー)を含み得る。いくつかの例では、画像センサ502および/またはLIDARセンサ504のそれぞれのポーズを追跡し得る。いくつかの例によれば、第1のポーズおよび第2のポーズは互いに対して追跡され得る。例えば、同期条件514に従って、第1の視野508の少なくとも第1の部分が第2の視野510の少なくとも第2の部分と重なるように、センサ同期コンポーネント512は、第1の視野508のローリングシャッター画像キャプチャ518を画像センサ502に開始させるための入力として、ポーズ情報(例えば、第1のポーズ、第2のポーズなど)を使用し得る。
【0044】
いくつかの例では、センサ同期コンポーネント512は、ローリングシャッター画像キャプチャ518の画像フレームの露光時間を推定し得る。例えば、露光時間は、ローリングシャッター画像キャプチャ518が実行される前に推定され得る。いくつかの例では、センサ同期コンポーネント512は先のローリングシャッター画像キャプチャに関連付けられた露光時間データを受信し得る。ローリングシャッター画像キャプチャ518の画像フレームの露光時間は、先のローリングシャッター画像キャプチャに関連付けられた露光時間データに少なくとも部分的に基づいて(例えば、第1のスキャンラインと最後のスキャンラインに関連付けられたタイムスタンプ間の時間内の差を計算することによって)、推定され得る。様々な例によれば、例えば、同期条件514に従って、第1の視野508の少なくとも第1の部分が第2の視野510の少なくとも第2の部分と重なるように、センサ同期コンポーネント512は、第1の視野508のローリングシャッター画像キャプチャ518を画像センサ502に開始させるための入力として推定露光時間を使用し得る。
【0045】
いくつかの例によれば、例えば、同期条件514に従って、第1の視野508の少なくとも第1の部分が第2の視野510の少なくとも第2の部分と重なるように、センサ同期コンポーネント512は、第1の視野508のローリングシャッター画像キャプチャ518を画像センサ502に開始させる入力として1つまたは複数のスキャンラインに関連付けられた時間データを使用し得る。いくつかの例では、センサ同期コンポーネント512は、先のローリングシャッター画像キャプチャの1つまたは複数のスキャンラインに関連付けられた時間データに少なくとも部分的に基づいて、ローリングシャッター画像キャプチャ518を画像センサ502に開始させ得る。さらに、または代わりに、センサ同期コンポーネント512は、例えば、ローリングシャッター画像キャプチャ518の1つまたは複数のスキャンラインに関連付けられた時間データ、および/または先のローリングシャッター画像キャプチャの1つまたは複数のスキャンラインに関連付けられた時間データに少なくとも部分的に基づいて、画像センサ502にローリングシャッター画像キャプチャ518の少なくとも1つのスキャンラインの露光時間を調整させ得る。
【0046】
図5Bは、本開示の例による、複数の画像センサ視野のローリングシャッター画像キャプチャをLIDARセンサ視野のLIDARデータキャプチャと同期させる例500bを示す概略図である。いくつかの例では、例500bは
図1から
図5Aおよび
図6から
図11を参照して本明細書に記載される例の1つまたは複数の特徴、コンポーネント、および/または機能を含み得る。
【0047】
いくつかの例では、例500bは、
図5Aを参照して本明細書に記載される画像センサ502(本明細書では「第1の画像センサ502」とも呼ばれる)、LIDARセンサ504、および/またはコンピューティングシステム506(
図5Bでは不図示)を含み得る。さらに、例500bは第3の視野522を有する第2の画像センサ520を含み得る。
【0048】
いくつかの例によれば、LIDARセンサ504の第2の視野510は第1の視野508(第1の画像センサ502の)および/または第3の視野522(第2の画像センサ520の)に対して移動し得る。いくつかの例では、第2の視野510は回転可能であり得る(例えば、1つまたは複数の軸に対して)。いくつかの非限定的な例では、第2の視野510は360度回転可能であり得る。いくつかの例では、回転量は360度未満であり得る。
【0049】
図5Bに示されるように、LIDARセンサ504の第2の視野510は第1の期間中に、第1の画像センサ502の第1の視野508と少なくとも部分的に重なり得る。さらに、LIDARセンサ504の第2の視野510は第2の期間526中に第2の画像センサ520の第3の視野と少なくとも部分的に重なり得る。例えば、LIDARセンサ504の第2の視野510は第1の期間524および第2の期間526の間の特定の量(例えば、第2の視野510の回転速度に少なくとも部分的に基づく)を移動し得る(例えば、回転516を介して)。
【0050】
いくつかの例では、センサ同期コンポーネント512(
図5Aに示される)は画像データキャプチャ(例えば、第1の画像センサ502および/または第2の画像センサ520などによる)のLIDARデータキャプチャ(例えば、LIDARセンサ504による)との同期を容易にし得る。
図5Aを参照して本明細書で論じたように、LIDARセンサ504が第1のシーンの少なくとも一部のLIDARデータをキャプチャしている期間中に、例えば第1の期間524中に、センサ同期コンポーネント512は第1の画像センサ502をトリガーして、第1のシーンのローリングシャッター画像キャプチャ518(本明細書では「第1のローリングシャッター画像キャプチャ518」とも呼ばれる)を実行し得る。さらに、または代わりに、LIDARセンサ504が第2のシーンの少なくとも一部のLIDARデータをキャプチャしている期間中に、例えば第2の期間526中に、センサ同期コンポーネント512は第2の画像センサ520をトリガーして、第2のシーンの第2のローリングシャッター画像キャプチャ528を実行し得る。様々な例において、センサ同期コンポーネント512は同期条件514(
図5Aに示される)に従って同期を実施し得る。非限定的な例として、同期条件514は、第2の視野510(LIDARセンサ504の)の第2の中央部分と実質的に位置合わせされた画像フレーム(第2のローリングシャッター画像キャプチャ528によって生成される)の第1の中央部分、および/または第2の視野510(LIDARセンサ504の)に関連付けられた第2の期間526中にキャプチャされるスキャンラインの大部分(例えば、第2のローリングシャッター画像キャプチャ528によって生成される画像フレームの)、等含み得る。
【0051】
いくつかの例では、センサ同期コンポーネント512は第2の画像センサ520の第3の視野522の方向を決定し得る。さらに、センサ同期コンポーネント512はLIDARセンサ504の第2の視野510の方向を決定し得る。いくつかの例では、第2の画像センサ520および/またはLIDARセンサ504のそれぞれの方向を追跡し得る。いくつかの例によれば、方向は互いに対して追跡され得る。例えば、センサ同期コンポーネント512は第2の視野に対する第1の視野の方向を決定し得る。例えば、同期条件514に従って、第3の視野522(第2の画像センサ520の)の少なくとも一部が第2の視野510(LIDARセンサ504の)の少なくとも一部と重なるように、センサ同期コンポーネント512は、第3の視野522の第2のローリングシャッター画像キャプチャ528を第2の画像センサ520に開始させるための入力として視野方向情報を使用し得る。様々な例において、第2の視野510(LIDARセンサ504の)は、第2のローリングシャッター画像キャプチャ528の間に、第3の視野522(第2の画像センサ520の)に対して移動し得る。
【0052】
いくつかの実装形態によれば、LIDARセンサ504が第2のシーンの少なくとも一部(例えば、第2のシーンの少なくとも一部がLIDARセンサ504の第2の視野510内にある)に関連付けられたLIDARデータをキャプチャしている間に、第2のシーンに関連付けられた画像フレームのスキャンの少なくとも一部がキャプチャされるように、センサ同期コンポーネント512は第2のローリングシャッター画像キャプチャ528の時間を調整し得る。いくつかの例では、例えば、第2の期間526中に、第2のシーンの少なくとも一部の第2の視野510をキャプチャするLIDARセンサ504に関連付けられた期間中に、画像フレームのスキャンラインの大部分がキャプチャされるように、センサ同期コンポーネント512は第2のローリングシャッター画像キャプチャ528の時間を調整し得る。いくつかの例では、特定のスキャンライン(またはスキャンラインのセット)がLIDARセンサ504の第2の視野510の特定の部分に伴ってキャプチャされるように、センサ同期コンポーネント512は第2のローリングシャッター画像キャプチャ528の時間を調整し得る。非限定的な例として、スキャンラインの中央部分(例えば、中央のスキャンライン、スキャンラインの中央のセットなど)がLIDARセンサ504の第2の視野510の中間部分にてキャプチャされたLIDARデータに伴ってキャプチャされ得るように、センサ同期コンポーネント512は第2のローリングシャッター画像キャプチャ528の時間を調整し得る。
【0053】
いくつかの例では、センサ同期コンポーネント512は第2の画像センサ520のポーズを決定し得る。第2の画像センサ520のポーズは第2の画像センサ520に関連付けられた位置および/または方向(例えば、x、y、z位置、ロール、ピッチ、および/またはヨー)を含み得る。さらに、センサ同期コンポーネント512はLIDARセンサ504のポーズを決定し得る。LIDARセンサ504のポーズはLIDARセンサ504に関連付けられた位置および/または方向(例えば、x、y、z位置、ロール、ピッチ、および/またはヨー)を含み得る。いくつかの例では、第2の画像センサ520および/またはLIDARセンサ504のそれぞれのポーズを追跡し得る。例えば、同期条件514に従って、第3の視野522(第2の画像センサ520の)の少なくとも一部が第2の視野510(LIDARセンサ504の)の少なくとも一部と重なるように、センサ同期コンポーネント512は、第3の視野522の第2のローリングシャッター画像キャプチャ528を第2の画像センサ520に開始させるための入力としてポーズ情報を使用し得る。
【0054】
いくつかの例では、センサ同期コンポーネント512は第2のローリングシャッター画像キャプチャ528の画像フレームの露光時間を推定し得る。例えば、露光時間は第2のローリングシャッター画像キャプチャ528が実行される前に推定され得る。いくつかの例では、センサ同期コンポーネント512は第2の画像センサ520の先のローリングシャッター画像キャプチャに関連付けられた露光時間データを受信し得る。第2のローリングシャッター画像キャプチャ528の画像フレームの露光時間は先のローリングシャッター画像キャプチャに関連付けられた露光時間データに少なくとも部分的に基づいて、推定され得る。様々な例によれば、例えば、同期条件514に従って、第3の視野522(第2の画像センサ520の)の少なくとも一部が第2の視野510(LIDARセンサ504の)の少なくとも一部と重なるように、センサ同期コンポーネント512は、第3の視野522の第2のローリングシャッター画像キャプチャ528を第2の画像センサ520に開始させるための入力として推定された露光時間を使用し得る。
【0055】
いくつかの例によれば、例えば、同期条件514に従って、第3の視野522(第2の画像センサ520の)の少なくとも一部が第2の視野510(LIDARセンサ504の)の少なくとも一部と重なるように、センサ同期コンポーネント512は、第3の視野522の第2のローリングシャッター画像キャプチャ528を第2の画像センサ520に開始させるための入力として1つまたは複数のスキャンラインに関連付けられた時間データを使用し得る。いくつかの例では、センサ同期コンポーネント512は第2の画像センサ520の先のローリングシャッター画像キャプチャの1つまたは複数のスキャンラインに関連付けられた時間データに少なくとも部分的に基づいて、第2のローリングシャッター画像キャプチャ528を第2の画像センサ520に開始させ得る。さらに、または代わりに、例えば、第2のローリングシャッター画像キャプチャ528の1つまたは複数のスキャンラインに関連付けられた時間データおよび/または第2の画像センサ520の先のローリングシャッター画像キャプチャの1つまたは複数のスキャンラインに関連付けられた時間データに少なくとも部分的に基づいて、センサ同期コンポーネント512は第2の画像センサ520に第2のローリングシャッター画像キャプチャ528の少なくとも1つのスキャンラインの露光時間を調整させ得る。
【0056】
いくつかの例では、1つまたは複数のスキャンライン(例えば、第1のローリングシャッター画像キャプチャ518または第2のローリングシャッター画像キャプチャ528などのローリングシャッター画像キャプチャによって生成された画像フレームの)に関連付けられた第1の時間データ(例えば、第1のタイムスタンプ)は、例えば、
図4を参照して本明細書で説明されるように、高精度時間プロトコル(PTP)クロックと同期されるシステムプロセッサクロックからの時間データに少なくとも部分的に基づいて決定され得る。さらに、または代わりに、LIDARセンサ504によってキャプチャされた測定値に関連付けられた第2の時間データ(例えば、第2のタイムスタンプ)はPTPクロックからの時間データに少なくとも部分的に基づいて決定され得る。いくつかの例では、第1の画像センサ502および/または第2の画像センサ520は、第1のタイムスタンプおよび/または第2のタイムスタンプに少なくとも部分的に基づいて、ローリングシャッター画像キャプチャを開始し得る。
【0057】
図6は、本開示の例による、スキャンライン時間データを使用し歪んだ画像を是正する画像処理コンポーネントの例を示す概略ブロック
図600である。いくつかの例では、例600は
図1から
図5Bおよび
図7から
図11を参照して本明細書に記載される例の1つまたは複数の特徴、コンポーネント、および/または機能を含み得る。
【0058】
いくつかの例によれば、例600は1つまたは複数の画像処理コンポーネント602を含み得る。いくつかの例では、画像処理コンポーネント602は、車両コンピューティングシステム108(
図1を参照して本明細書に説明される)、コンピューティングシステム506(
図5Aを参照して本明細書に説明される)、車両コンピューティングデバイス1104(
図11を参照して本明細書に説明される)、および/またはコンピューティングデバイス1140(
図11を参照して本明細書に説明される)に属し得る。
【0059】
いくつかの例では、画像処理コンポーネント602は画像に対して画像処理を実行するように構成され得る。例600では、画像処理コンポーネント602は入力として歪んだ画像604(例えば、歪んだ画像に関連付けられた画像データ)を受信する。いくつかの例では、歪んだ画像604は、例えば、タイムスタンプコンポーネント110によって、個々のスキャンラインに関連付けられた時間データを有する画像フレームに関連付けられてもよく、これはまた、画像調整、センサ較正、交差モーダル較正、3D再構成、トラッキング、特徴抽出、マルチモーダルセンサフュージョンなどを実行するのに有用であり得る。様々な例において、歪んだ画像604は1つまたは複数の歪曲効果を、例えば、ローリングシャッター画像キャプチャに関連付けられた動きによって引き起こされる歪曲効果を含み得る。非限定的な例として、歪曲効果は、ぐらつき、スキュー、空間的エイリアシング、および/または時間的エイリアシングを含み得る。歪んだ画像604は、物体のローリングシャッター画像キャプチャを介して画像データを取得し得る、およびローリングシャッター画像キャプチャを動画像センサによって実行し得るので、歪曲効果を含み得る。すなわち、スキャンラインのそれぞれは、1つまたは複数のそれぞれの距離で(例えば、画像センサと物体との間の相対運動を考慮して)、画像化されている物体のそれぞれの部分に関連付けられ得る。
【0060】
いくつかの例によれば、画像処理コンポーネント602は入力としてローリングシャッター画像キャプチャの1つまたは複数のスキャンラインに関連付けられた距離データ606を受信し得る。非限定的な例として、距離データ606はLIDARセンサによってキャプチャされたLIDARデータに関連付けられ得る。LIDARセンサは物体に関連付けられたLIDARデータをキャプチャし得、LIDARデータは所与の時間におけるLIDARセンサと物体との間の距離を表す距離データ606を含み得る。距離データ606を使用して、所与の時間における画像センサと物体との間の距離を決定し得る。画像処理コンポーネント602は、歪んだ画像604の歪曲効果を是正および/または補正するために、歪んだ画像604に関連付けられた画像フレームの1つまたは複数のスキャンラインに追加された距離データ606および/または時間データに少なくとも部分的に基づいて、歪んだ画像604を修正し得る。画像処理コンポーネント602は是正された画像608(例えば、是正された画像に関連付けられた画像データ)を出力し得る。いくつかの例では、是正された画像608は、画像処理コンポーネント602が歪んだ画像604の歪曲効果を是正および/または補正したので、歪んだ画像604よりも歪みが少なくなり得る。
【0061】
図7は、本開示の例による、画像フレームの1つまたは複数のスキャンラインに時間データを追加するための例示的なプロセス700を示すフロー図である。いくつかの例では、プロセス700は
図1から
図6および
図8から
図11を参照して本明細書に記載される例の1つまたは複数の特徴、コンポーネント、および/または機能を含み得る。
【0062】
702にて、プロセス700は画像フレームのスキャンライン(例えば、第1のスキャンライン)に関連付けられたスキャンラインデータ(例えば、第1のスキャンラインデータ)をキャプチャおよび/または受信することを含み得る。例えば、第1のスキャンラインに関連付けられた第1のスキャンラインデータは画像センサによってキャプチャされ得る。いくつかの例では、画像センサは第1のスキャンラインおよび1つまたは複数の追加のスキャンラインを含むスキャンラインを生成するローリングシャッター画像キャプチャを実行し得る。
【0063】
704にて、プロセス700はスキャンラインデータへ時間データを追加することを含み得る。いくつかの例では、第1の時間データは、例えば、
図2および
図3に示されるように、第1のスキャンラインデータに追加され得る。706にて、プロセス700は第1のスキャンラインデータに関連付けられた第1のラインデータの端部を遅延させることを含み得る。いくつかの例では、第1のラインデータの端部は、例えば、
図2および
図3に示されるように、第1の時間データを追加することに少なくとも部分的に基づいて遅延され得る。第1のラインデータの端部は第1のスキャンラインの端部を示し得る。
【0064】
708にて、プロセス700は画像フレームが追加のスキャンラインを含むかどうかを決定することを含み得る。708にて、画像フレームが追加のスキャンラインを含むと決定された場合、プロセス700は追加のスキャンラインのスキャンラインデータへ時間データを追加すること(704にて)、および追加のスキャンラインのスキャンラインデータに関連付けられたラインデータの端部を遅延すこと(706にて)を含み得る。例えば、画像フレームは第2のスキャンラインデータに関連付けられた第2のスキャンラインを含むと決定され得る。第2の時間データは第2のスキャンラインデータに追加され得る。さらに、第2のスキャンラインデータに関連付けられ得る第2のラインデータの端部は、第2の時間データを第2のスキャンラインデータに追加することに少なくとも部分的に基づいて、遅延され得る。第2のラインデータの端部は第2のラインの端部を示し得る。本明細書に記載されている例のいずれにおいても、ラインデータの端部を追加し得ない。そのような非限定的な例として、スキャンライン幅はデータの量が各スキャンラインに関連付けられるように定義され得る。そのような例では、データに関連付けられたおよび画像インタプリンタに対して利用可能にされた幅は追加された時間データを示す各スキャンラインの端部にて追加データを占めるために増加され得る。
【0065】
いくつかの例では、第1のスキャンラインデータは第1の露光時間に関連付けられ得、第2のスキャンラインデータは第1の露光時間とは異なる第2の露光時間に関連付けられ得る。他の例では、第1の露光時間と第2の露光時間を同一とする場合がある。
【0066】
708にて、画像フレームが追加のスキャンラインを含まないと決定された場合、プロセス700は画像フレーム時間データを画像フレームに追加すること(710にて)を含み得る。712にて、プロセス700はフレームデータの端部を画像フレームに追加することを含み得る。フレームデータの端部は画像フレームの端部を示し得る。
【0067】
図8は、本開示の例による、画像フレームのスキャンラインに追加された時間データに少なくとも部分的に基づいて、複数のセンサからのデータ間の関連付けを決定するための例示的なプロセス800を示すフロー図である。いくつかの例では、プロセス800は
図1から
図7および
図9から
図11を参照して本明細書に記載される例の1つまたは複数の特徴、コンポーネント、および/または機能を含み得る。
【0068】
802にて、プロセス800はセンサデータを受信することを含み得る。例えば、804にて、プロセス800は第1のセンサ(例えば、画像センサ)から第1のデータを受信することを含み得る。806にて、プロセス800は第2のセンサ(例えば、LIDARセンサ)から第2のデータを受信することを含み得る。いくつかの例では、第1のセンサは第1のセンサモダリティを有し得、第2のセンサは第1のセンサモダリティとは異なる第2のセンサモダリティを有し得る。いくつかの非限定的な例では、第2のセンサは、別の画像センサ、LIDARセンサ、radarセンサ、飛行時間(time-of-flight)センサなどを含み得る。いくつかの例では、センサデータは、定期的に、継続的に(例えば、ほぼリアルタイムで)、および/またはトリガーイベントの発生時に(例えば、動きの検出時、特定の速度でなど)、キャプチャおよび/または受信され得る。
【0069】
808にて、プロセス800はスキャンラインに関連付けられた第1の時間データを決定することを含み得る。いくつかの例では、第1の時間データはカウンタおよび/または時計から取得されたデータに少なくとも部分的に基づいて決定され得る。例えば、データはカウンタ(例えば、
図4を参照して本明細書に記載されているカウンタ408)から取得され得る。カウンタはシステムプロセッサのクロック(例えば、
図4を参照して本明細書で説明されるシステムプロセッサクロック406)に従属し得る。いくつかの例では、システムプロセッサのクロックはPTPクロック(例えば、
図4を参照して本明細書で説明されるPTPクロック410)からデータを受信し得る。
【0070】
810にて、プロセス800は第1の時間データをスキャンラインに追加することを含み得る。例えば、
図2および
図3に示されるように、第1の時間データがスキャンラインデータとスキャンラインに関連付けられたラインデータの端部の間にあるように、例えば、第1の時間データはスキャンラインに追加され得る。いくつかの例では、ラインデータの端部を第1の位置から第2の位置にシフトし、例えば、ラインデータの端部とスキャンラインデータ間の第1の時間データに対応し得る。スキャンラインデータはスキャンラインのローリングシャッター画像キャプチャ中に露光されたピクセルに関連付けられたピクセルデータを含み得る。
【0071】
812にて、プロセス800は、測定値に関連付けられた第2の時間データを決定することを含み得る。例えば、測定値は第2のセンサによってキャプチャされたデータを含み得る。いくつかの例では、測定値はLIDARセンサによってキャプチャされたLIDARポイントであり得る。非限定的な例では、第2の時間データは測定値がキャプチャおよび/または受信された時間(および/または期間)を含み得る。
【0072】
814にて、プロセス800は、測定値とスキャンラインの少なくとも一部との間の関連付けを決定することを含み得る。例えば、関連付けは第1の時間データおよび/または第2の時間データに少なくとも部分的に基づいて決定され得る。いくつかの例では、測定値とスキャンラインの一部は第1の時間データと第2の時間データとの間の時間差が時間差閾値を満たすという決定に少なくとも部分的に基づいて関連付けられ得る。例えば、時間差閾値は、測定値とスキャンラインの一部が実質的に同時にキャプチャされた場合、互いに関連付けられるように低い値に設定され得る。いくつかの例では、測定値とスキャンラインの一部の間の関連付けがデータベースにマッピングされ得る。いくつかの例では、測定値とスキャンラインの部分は第1の時間データと第2の時間データとの間の時間差に関係なく互いに関連付けられ得る。
【0073】
816にて、プロセス800は第1のデータの少なくとも一部を第2のデータの少なくとも一部と関連付け(例えば、融合)て、関連データを生成することを含み得る。例えば、データを関連付けることは測定値とスキャンラインとの間の関連付けに少なくとも部分的に基づき得る。いくつかの例では、第1のデータの少なくとも一部が、第1の時間データと第2の時間データとの間の時間差が時間差閾値を満たすという決定に少なくとも部分的に基づいて、第2のデータの少なくとも一部に関連付けられ得る。
【0074】
818にて、プロセス800は車両(例えば、自律車両)の動きを制御することを含み得る。例えば、車両の動きは関連データに少なくとも部分的に基づいて制御され得る。非限定的な例として、関連データは車両の環境における障害物の位置を示し得る。車両と障害物との間の衝突を回避する軌道および/または経路は関連データに少なくとも部分的に基づいて決定され得る。車両は軌道および/または経路に沿って移動するように制御され得る。
【0075】
図9は、本開示の例による、画像フレームのスキャンラインに追加された時間データに少なくとも部分的に基づいて、歪曲効果を是正または補正するために画像を修正する例示的なプロセス900を示す流れ図である。いくつかの例では、プロセス900は
図1から
図8図10および
図11を参照して本明細書に記載される例の1つまたは複数の特徴、コンポーネント、および/または機能を含み得る。
【0076】
902にて、プロセス900はローリングシャッター画像キャプチャからスキャンラインデータを取得することを含み得る。例えば、画像センサはローリングシャッター画像キャプチャを実行し得る。ローリングシャッター画像キャプチャは、例えば、
図1および
図2を参照して本明細書に記載されるように、画像フレームのスキャンラインを生成し得る。
【0077】
904にて、プロセス900はスキャンラインにそれぞれの時間データを追加することを含み得る。例えば、第1の時間データは第1のスキャンラインの第1のスキャンラインデータに追加され得、第2の時間データは第2のスキャンラインの第2のスキャンラインデータに追加され得る。
【0078】
906にて、プロセス900は画像が歪んでいるかどうかを決定することを含み得る。906にて、画像が歪んでいると決定された場合、プロセス900は、例えば、
図6を参照して本明細書で説明するように、歪曲効果を是正または補正するために画像の少なくとも一部を修正すること(908にて)を含み得る。様々な例において、歪曲効果はローリングシャッター画像キャプチャに関連付けられた動き(例えば、画像センサと環境内の物体との間の相対運動)によって引き起こされ得る。非限定的な例として、歪曲効果は、ぐらつき、スキュー、空間的エイリアシング、および/または時間的エイリアシングを含み得る。いくつかの例では、画像は1つまたは複数のスキャンラインに追加された時間データに少なくとも部分的に基づいて修正され得る。
【0079】
910にて、プロセス900は車両(例えば、自律車両)の動きを制御することを含み得る。例えば、車両の動きは修正された画像に少なくとも部分的に基づいて制御され得る。非限定的な例として、修正された画像は車両の環境における障害物の位置を示し得る。車両と障害物との間の衝突を回避する軌道および/または経路は修正された画像に少なくとも部分的に基づいて決定され得る。車両は軌道および/または経路に沿って移動するように制御され得る。
【0080】
906にて、画像が歪んでいないと決定された場合、プロセス900は画像に少なくとも部分的に基づいて、車両の動きを制御すること(910にて)を含み得る。
【0081】
図10は、本開示の例による、第1の視野(第1のセンサに関連付けられている)のローリングシャッター画像キャプチャを第2の視野(第2のセンサに関連付けられている)のデータキャプチャと同期させるための例示的なプロセス1000を示すフローチャートである。いくつかの例では、プロセス1000は
図1から
図9および
図11を参照して本明細書に記載される例の1つまたは複数の特徴、コンポーネント、および/または機能を含み得る。
【0082】
1002にて、プロセス1000はセンサの方向を決定することを含み得、これはセンサの相対的なポーズ(位置および/または方向)を含み得る。例えば、1004にて、プロセス1000は第1のセンサに関連付けられた第1の視野の第1の方向を決定することを含み得る。1006にて、プロセス1000は第2のセンサに関連付けられた第2の視野の第2の方向を決定することを含み得る。いくつかの例では、視野は視錐台(例えば、センサによってデータをキャプチャするための3D視野)を含み得る。いくつかの例では、第1のセンサは画像センサを含み得る。さらに、非限定的な例として、第2のセンサは、別の画像センサ、LIDARセンサ、radarセンサ、および/または飛行時間センサなどを含み得る。
【0083】
いくつかの例によれば、第2のセンサに関連付けられた第2の視野は第1のセンサに関連付けられた第1の視野に対して移動し得る。いくつかの例では、第2の視野は、例えば、
図5Aおよび
図5Bを参照して本明細書で説明されるように回転可能であり得る。
【0084】
いくつかの例では、センサの方向を決定することは(1002での)、第1のセンサの第1のポーズの決定および/または第2のセンサの第2のポーズを決定することを含み得る。第1のポーズは、第1のセンサに関連付けられた第1の位置および/または第1の方向(例えば、x、y、z位置、ロール、ピッチ、および/またはヨー)を含み得る。第2のポーズは第2のセンサに関連付けられた第2の位置および/または第2の方向(例えば、x、y、z位置、ロール、ピッチ、および/またはヨー)を含み得る。いくつかの例では、第1のセンサおよび/または第2のセンサのそれぞれのポーズを追跡し得る。いくつかの例によれば、第1のポーズおよび第2のポーズは互いに対して追跡され得る。
【0085】
1008にて、プロセス1000は1つまたは複数の同期条件に従ってローリングシャッター画像キャプチャを開始するかどうかを決定することを含み得る。1008にて、同期条件に従ってローリングシャッター画像キャプチャを開始することが決定された場合、プロセス1000は(1010にて)、同期条件に従って、第1の視野の少なくとも第1の部分が第2の視野の少なくとも第2の部分と重なるように、第1の視野のローリングシャッター画像キャプチャを第1のセンサに開始させることを含み得る。非限定的な例として、同期条件は、第1の視野と第2の視野との間の重なり、および/または第1の視野の第1の特定の部分と第2の視野の第2の特定の部分との間の重なりの量などを含み得る。
【0086】
いくつかの実装形態によれば、第2のセンサがシーンの少なくとも一部に関連付けられた他のデータ(例えば、シーンの少なくとも一部が第2のセンサに関連付けられた第2の視野内にある)をキャプチャしている間、シーンに関連付けられた画像フレームのスキャンラインの少なくとも一部が第1のセンサにキャプチャされるようにローリングシャッター画像キャプチャは時間を調整され得る。いくつかの例では、画像フレームのスキャンラインの大部分がシーンの少なくとも一部の第2の視野をキャプチャする第2のセンサに関連付けられた期間中にキャプチャされるようにローリングシャッター画像キャプチャは時間を調整され得る。いくつかの例では、特定のスキャンライン(またはスキャンラインのセット)が第2の視野の特定の部分に伴って、キャプチャされるようにローリングシャッター画像キャプチャは時間を調整され得る。非限定的な例として、スキャンラインの中央部分(例えば、中央スキャンライン、スキャンラインの中央セットなど)が第2の視野の中央部分にある第2のセンサによってキャプチャされたデータに伴ってキャプチャされ得るように、ローリングシャッター画像キャプチャは時間を調整され得る。
【0087】
いくつかの例では、例えば、同期条件に従って、第1の視野の少なくとも第1の部分が第2の視野の少なくとも第2の部分と重なるように、方向情報(例えば、第1の方向、第2の方向など)は第1の視野のローリングシャッター画像キャプチャを第1のセンサに開始させるための入力として使用され得る。様々な例において、第2の視野はローリングシャッター画像キャプチャの間に第1の視野に対して移動し得る。
【0088】
いくつかの例では、例えば、同期条件に従って、第1の視野の少なくとも第1の部分が第2の視野の少なくとも第2の部分と重なるように、ポーズ情報(例えば、第1のポーズ、第2のポーズなど)は第1の視野のローリングシャッター画像キャプチャを第1のセンサに開始させるための入力として使用され得る。
【0089】
いくつかの例では、露光時間はローリングシャッター画像キャプチャの画像フレームについて推定され得る。例えば、露光時間はローリングシャッター画像キャプチャが実行される前に推定され得る。いくつかの例では、ローリングシャッター画像キャプチャの画像フレームの露光時間は、先のローリングシャッター画像キャプチャに関連付けられた露光時間データに少なくとも部分的に基づいて推定され得る。様々な例によれば、例えば、同期条件に従って、第1の視野の少なくとも第1の部分が第2の視野の少なくとも第2の部分と重なるように、推定された露光時間は第1の視野のローリングシャッター画像キャプチャを第1のセンサに開始させるための入力として使用され得る。
【0090】
いくつかの例によれば、例えば、同期条件に従って、第1の視野の少なくとも第1の部分が第2の視野の少なくとも第2の部分と重なるように、1つまたは複数のスキャンラインに関連付けられた時間データは、第1の視野のローリングシャッター画像キャプチャを第1のセンサに開始させるための入力として使用され得る。いくつかの例では、第1のセンサは、先のローリングシャッター画像キャプチャの1つまたは複数のスキャンラインに関連付けられた時間データに少なくとも部分的に基づいて、ローリングシャッター画像キャプチャを開始するように指示され得る。さらに、または代わりに、第1のセンサは、例えば、ローリングシャッター画像キャプチャの1つまたは複数のスキャンラインに関連付けられた時間データおよび/または先のローリングシャッター画像キャプチャの1つまたは複数のスキャンラインに関連付けられた時間データに少なくとも部分的に基づいて、ローリングシャッター画像キャプチャの少なくとも1つのスキャンラインの露光時間を調整するように指示され得る。
【0091】
1008にて、同期条件に従ってローリングシャッター画像キャプチャを開始しないと決定された場合、プロセス1000は、センサ方向の決定(1002にて)および/または同期条件(1008にて)に従ってローリングシャッター画像キャプチャを開始するかどうかの決定に進み得る。様々な例において、センサの方向は定期的および/または継続的に(例えば、ほぼリアルタイムで)決定され得る。
【0092】
図11は、本開示の例に従って、本明細書に記載の技術を実施するための例示的なシステム1100のブロック図である。いくつかの例では、システム1100は
図1から
図10を参照して本明細書に記載される例の1つまたは複数の特徴、コンポーネント、および/または機能を含み得る。
【0093】
いくつかの例では、システム1100は車両1102(例えば、
図1を参照して本明細書で説明される車両102)を含み得る。車両1102は、車両コンピューティングデバイス1104、1つまたは複数のセンサシステム1106、1つまたは複数のエミッタ1108、1つまたは複数の通信接続部1110、少なくとも1つの直接接続部1112、および1つまたは複数の駆動モジュール1114を含み得る。
【0094】
車両コンピューティングデバイス1104は1つまたは複数のプロセッサ1116および1つまたは複数のプロセッサ1116と通信可能に結合されたメモリ1118を含むことができる。図示の例では、車両1102は自律車両である。しかしながら、車両1102は任意の他のタイプの車両、または少なくとも画像キャプチャデバイス(例えば、カメラ対応スマートフォン)を有する任意の他のシステムとすることができる。図示の例では、車両コンピューティングデバイス1104のメモリ1118は、位置測定コンポーネント1120、知覚コンポーネント1122、計画コンポーネント1124、1つまたは複数のシステムコントローラ1126、タイムスタンプコンポーネント110、センサアソシエーションコンポーネント418、センサ同期コンポーネント512、および/または画像処理コンポーネント602を格納する。例示の目的でメモリ1118に属するものとして
図11に示されているが、位置測定コンポーネント1120、知覚コンポーネント1122、計画コンポーネント1124、1つまたは複数のシステムコントローラ1126、タイムスタンプコンポーネント110、センサアソシエーションコンポーネント418、センサ同期コンポーネント512、および/または画像処理コンポーネント602は、さらに、または代わりに、車両1102にアクセス可能であることができることを意図されている(例えば、車両1102から遠隔のメモリに格納される、そうでなければアクセス可能である)。いくつかの例では、車両コンピューティングデバイス1104は、
図1の車両コンピューティングシステム108に対応できる。
【0095】
少なくとも1つの例では、位置測定コンポーネント1120はセンサシステム1106からデータを受信し、車両1102の位置および/または方向(例えば、1つまたは複数のx、y、z位置、ロール、ピッチ、またはヨー)を決定する機能を含むことができる。例えば、位置測定コンポーネント1120は、環境のマップを含む、および/または要求する/受信することができ、マップ内の自律車両の位置および/または方向を継続的に決定できる。いくつかの例では、位置測定コンポーネント1120は、SLAM(同時位置測定およびマッピング)、CLAMS(較正、位置測定およびマッピングを同時に)、相対SLAM、バンドル調整、非線形最小二乗最適化などを利用して、画像データ、LIDARデータ、radarデータ、IMUデータ、GPSデータ、ホイールエンコーダデータなどを受信し、自律車両の位置を正確に決定できる。いくつかの例では、本明細書で論じられるように、位置測定コンポーネント1120は車両1102の様々なコンポーネントにデータを提供して、軌道を生成するための、および/またはオクルージョングリッドを含むマップデータをメモリから検索することを決定するための自律車両の初期位置を決定することができる。
【0096】
いくつかの例では、知覚コンポーネント1122は、物体の検出、セグメンテーションおよび/または分類を実行する機能を含むことができる。いくつかの例では、知覚コンポーネント1122は、車両1102に近接するエンティティの存在および/またはエンティティタイプ(例えば、自動車、歩行者、自転車、動物、建物、木、路面、縁石、歩道、不明など)としてのエンティティの分類を示す処理済みセンサデータを提供できる。追加および/または代替の例示において、知覚コンポーネント1122は、検出されたエンティティ(例えば、追跡された物体)および/またはエンティティが位置する環境に関連付けられた1つまたは複数の特徴を示す処理済みセンサデータを提供できる。いくつかの例では、限定しないが、エンティティに関連付けられた特性には、x位置(グローバルおよび/またはローカル位置)、y位置(グローバルおよび/またはローカル位置)、z位置(グローバルおよび/またはローカル位置)、方向(たとえば、ロール、ピッチ、ヨー)、エンティティタイプ(たとえば、分類)、エンティティの速度、エンティティの加速度、エンティティの範囲(サイズ)などを含むことができる。環境に関連付けられた特性は、限定しないが、環境内の別のエンティティの存在、環境内の別のエンティティの状態、時刻、曜日、季節、気象条件、暗闇/光の表示などを含むことができる。
【0097】
一般に、計画コンポーネント1124は環境を横断するために車両1102が辿る経路を決定できる。例えば、計画コンポーネント1124は、さまざまなルートおよび軌道、ならびにさまざまなレベルの詳細を決定できる。例えば、計画コンポーネント1124は第1の場所(例えば現在の場所)から第2の場所(例えば目標の場所)へ走行するルートを決定できる。この議論の目的に、ルートは2つの位置の間を走行するための一連の経由地点にできる。非限定的な例として、経由地点は、道路、交差点、全地球測位システム(GPS)座標などを含む。さらに、計画コンポーネント1124は、第1の場所から第2の場所への経路の少なくとも一部に沿って自律車両をガイドするための命令を生成できる。少なくとも1つの例では、計画コンポーネント1124は一連の経由地点内の第1の経由地点から一連の経由地点の第2の経由地点まで自律車両をどのようにガイドするかを決定できる。いくつかの例では、命令は軌道または軌道の一部とすることができる。いくつかの例では、receding horizon技術に従って、複数の軌道を実質的に同時に(例えば、技術的許容範囲内で)生成でき、複数の軌道のうちの1つが車両1102の走行ために選択される。
【0098】
いくつかの例では、計画コンポーネント1124は、線形時相論理および/または信号時相論理などの時相論理を使用して、車両1102の1つまたは複数の軌道を評価できる。計画コンポーネント1124における時相論理の利用の詳細は、参照によりその全体が本明細書に組み込まれる米国特許出願第15/632,147号に論じられている。
【0099】
少なくとも1つの例示において、車両コンピューティングデバイス1104は、1つまたは複数のシステムコントローラ1126を含むことができ、これは、車両1102のステアリング、推進、制動、安全性、エミッタ、通信、およびその他のシステムを制御するよう構成できる。これらのシステムコントローラ1126は、車両1102の駆動モジュール1114および/または他のコンポーネントの対応するシステムと通信および/または制御できる。
【0100】
メモリ1118はさらに、環境内を走行する車両1102によって使用できる1つまたは複数のマップ(不図示)を含むことができる。この説明の目的上、限定しないが、マップはトポロジ(交差点のような)、通り、山脈、道路、地形、および一般的な環境などの環境についての情報を提供可能である2次元、3次元、またはN次元でモデル化された任意の数のデータ構造とすることができる。いくつかの例では、マップには、限定しないが、テクスチャ情報(例えば、色情報(例えば、RGB色情報、ラボ色情報、HSV/HSL色情報)など)、強度情報(例えば、LIDAR情報、RADAR情報など)、空間情報(例えば、メッシュに投影された画像データ、個々の「サーフェル」(例えば、個々の色および/または強度に関連付けられたポリゴン))、反射率情報(例えば、鏡面反射率情報、再帰反射率情報、BRDF情報、BSSRDF情報など)を含むことができる。一例では、マップは環境の3次元メッシュを含むことができる。いくつかの例では、マップの個々のタイルが環境の個別部分を表すように、マップをタイルフォーマットで格納でき、必要に応じて作業メモリに読み込むことができる。少なくとも1つの例では、1つまたは複数のマップは、少なくとも1つのマップ(例えば、画像および/またはメッシュ)を含むことができる。いくつかの例では、車両1102はマップに少なくとも部分的に基づいて制御できる。すなわち、マップを、位置測定コンポーネント1120、知覚コンポーネント1122、および/または計画コンポーネント1124に関連して使用して、車両1102の位置を決定し、環境内の物体を識別し、ならびに/または環境内を走行するためのルートおよび/もしくは軌道を生成できる。
【0101】
いくつかの例では、1つまたは複数のマップは、ネットワーク1142を介してアクセス可能なリモートコンピューティングデバイス(コンピューティングデバイス1140など)に格納できる。いくつかの例では、複数のマップは、例えば、特性(例えば、エンティティタイプ、時刻、曜日、季節など)に基づいて格納できる。複数のマップを格納することは同様のメモリ要件を有するが、マップ内のデータにアクセスできる速度を増加できる。
【0102】
いくつかの例では、本明細書で説明されるコンポーネントのうちのいくつかまたはすべての態様は、任意のモデル、アルゴリズムおよび/または機械学習アルゴリズムを含むことができる。例えば、いくつかの例では、メモリ1118(および以下で説明されるメモリ1146)の中のコンポーネントをニューラルネットワークとして実装できる。
【0103】
本明細書で説明するように、例示的なニューラルネットワークは、入力データを一連の接続された層に通して出力を生成する生物学的に着想を得たアルゴリズムである。ニューラルネットワークの各層は別のニューラルネットワークを含むこともでき、任意の数の層(畳み込みかどうかに関係なく)を含むこともできる。本開示のコンテキストで理解できるように、ニューラルネットワークは機械学習を利用でき、これは学習されたパラメータに基づいて出力が生成されるようなアルゴリズムの広範なクラスを指すことができる。
【0104】
ニューラルネットワークのコンテキストで論じたが、任意のタイプの機械学習を本開示と一致させて使用できる。例えば、機械学習アルゴリズムは、限定しないが、回帰アルゴリズム(例えば、通常の最小二乗回帰(OLSR)、線形回帰、ロジスティック回帰、ステップワイズ回帰、多変量適応回帰スプライン(MARS)、局所的に推定されたスカープロット平滑化(LOESS))、インスタンスベースのアルゴリズム(例えば、リッジ回帰、最小絶対収縮および選択演算子(LASSO)、弾性ネット、最小角度回帰(LARS))、決定木アルゴリズム(例えば、分類および回帰木(CART)、反復二分法3(ID3)、カイ二乗自動相互作用検出(CHAID)、決定切り株、条件付き決定木))、ベイジアンアルゴリズム(例えば、単純ベイズ、ガウス単純ベイズ、多項単純ベイズ、平均1依存推定量(AODE)、ベイジアン信念ネットワーク(BNN)、ベイジアンネットワーク)、クラスタリングアルゴリズム(例えば、k平均、k中央値、期待値最大化(EM)、階層的クラスタリング)、相関ルール学習アルゴリズム(例えば、パーセプトロン、バックプロパゲーション、ホップフィールドネットワーク、動径基底関数ネットワーク(RBFN))、ディープラーニングアルゴリズム(例えばディープボルツマンマシン(DBM)、ディープブリーフネットワーク(DBN)、重畳型ニューラルネットワーク(CNN)、スタック・オートエンコーダ)、次元数削減アルゴリズム(例えば主成分分析(PCA)、主成分回帰(PCR)、部分最小二乗回帰(PLSR)、サモンマッピング、多次元スケーリング(MDS)、射影追跡、線形判別分析(LDA)、混合判別分析(MDA)、二次判別分析(QDA)、柔軟判別分析(FDA))、アンサンブルアルゴリズム(例えば、ブースティング、ブートストラップ集計(バギング)、アダブースト、スタック一般化(ブレンディング)、勾配ブースティングマシン(GBM)、勾配ブースティング回帰ツリー(GBRT)、ランダムフォレスト)、SVM(サポートベクターマシン)、教師あり学習、教師なし学習、半教師あり学習などの方法を含むことができる。
【0105】
アーキテクチャの追加の例は、ResNet70、ResNet101、VGG、DenseNet、PointNetなどのニューラルネットワークを含む。
【0106】
少なくとも1つの例では、センサシステム1106は、LIDARセンサ、radarセンサ、超音波トランスデューサー、sonarセンサ、位置センサ(例えば、GPS、コンパスなど)、慣性センサ(例えば、慣性測定ユニット(IMUs)、加速度計、磁力計、ジャイロスコープなど)、カメラ(例えばRGB、IR、強度、深度、飛行時間など)、マイク、ホイールエンコーダ、環境センサ(例えば温度センサ、湿度センサ、光センサ、圧力センサなど)など、を含むことができる。センサシステム1106は、センサのこれらまたは他のタイプのそれぞれの複数の実例を含むことができる。例えば、LIDARセンサは、車両1102のコーナー、フロント、バック、サイド、および/またはトップに位置する個々のLIDARセンサを含むことができる。別の例として、カメラセンサは車両1102の外部および/または内部のさまざまな位置に配置された複数のカメラを含むことができる。センサシステム1106は車両コンピューティングデバイス1104に入力を提供できる。さらに、または代わりに、センサシステム1106は、所定の期間が経過した後、ほぼ実時間で、特定の周波数で1つまたは複数のコンピューティングデバイスに、1つまたは複数のネットワーク1142を介して、センサデータを送信できる。いくつかの例では、センサシステム1106は
図1のセンサ106に対応できる。
【0107】
車両1102はまた、上記のように、光および/または音を放出するための1つまたは複数のエミッタ1108を含むことができる。この例示のエミッタ1108は車両1102の乗客と通信する内部オーディオおよびビジュアルエミッタを含む。限定ではなく例として、内部エミッタは、スピーカー、ライト、標識、ディスプレイ画面、タッチスクリーン、触覚エミッタ(例えば、振動および/またはフォースフィードバック)、機械式アクチュエータ(例えば、シートベルトテンショナ、シートポジショナ、ヘッドレストポジショナなど)などを含むことができる。この例のエミッタ1108はまた外部エミッタを含む。限定ではなく例として、この例示の外部エミッタは、走行の向きまたは車両の作動の他のインジケータ(例えば、インジケータライト、標識、ライトアレイなど)を信号で送るためのライト、および音響ビームステアリング技術を備える1つまたは複数の歩行者または他の近くの車両と音声で通信するための1つまたは複数のオーディオエミッタ(例えば、スピーカー、スピーカーアレイ、ホーンなど)を含む。
【0108】
車両1102はまた、車両1102と1つまたは複数の他のローカルまたはリモートコンピューティングデバイスとの間の通信を可能にする1つまたは複数の通信接続部1110を含むことができる。例えば、通信接続部1110は車両1102および/または駆動モジュール1114上の他のローカルコンピューティングデバイスとの通信を容易にできる。また、通信接続部1110は、車両が他の近くのコンピューティングデバイス(例えば、他の近くの車両、交通信号など)と通信することを可能にできる。通信接続部1110はまた、車両1102が遠隔操作コンピューティングデバイスまたは他の遠隔サービスと通信することを可能にする。
【0109】
通信接続部1110は、車両コンピューティングデバイス1104を別のコンピューティングデバイスまたはネットワーク1142などのネットワークに接続するための物理的および/または論理的インターフェースを含むことができる。例えば、通信接続部1110は、IEEE802.11規格によって定義された周波数を介するようなWi-Fiベースの通信、Bluetoothなどの短距離無線周波数、セルラー通信(例えば、2G、3G、4G、4G LTE、5Gなど)、またはそれぞれのコンピューティングデバイスが他のコンピューティングデバイスとインターフェースで接続することを可能にする任意の適切な有線または無線通信プロトコルを可能にできる。
【0110】
少なくとも1つの例では、車両1102は1つまたは複数の駆動モジュール1114を含むことができる。いくつかの例では、車両1102は単一の駆動モジュール1114を有することができる。少なくとも1つの例では、車両1102が複数の駆動モジュール1114を有する場合、個々の駆動モジュール1114は車両1102の両端部(例えば前部および後部など)に配置できる。少なくとも1つの例では、駆動モジュール1114は駆動モジュール1114および/または車両1102の周辺環境の状態を検出するための1つまたは複数のセンサシステムを含むことができる。限定ではなく例として、センサシステムは、駆動モジュールのホイールの回転を感知するための1つまたは複数のホイールエンコーダ(例えばロータリーエンコーダ)、駆動モジュールの方向と加速度を測定するための慣性センサ(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラまたはその他の画像センサ、駆動モジュールの周辺環境の物体を音響的に検出するための超音波センサ、LIDARセンサ、radarセンサなど、を含むことができる。ホイールエンコーダなどの一部のセンサは駆動モジュール1114に固有のものにできる。場合によっては、駆動モジュール1114上のセンサシステムは車両1102の対応するシステム(例えばセンサシステム1106)と重複または補足することができる。
【0111】
駆動モジュール1114は、高電圧バッテリー、車両を推進するモーター、バッテリーからの直流を他の車両システムで使用する交流に変換するインバーター、ステアリングモーターおよびステアリングラック(電動とすることができる)を含むステアリングシステム、油圧または電気アクチュエータを含むブレーキシステム、油圧および/または空気圧コンポーネントを含むサスペンションシステム、トラクションの損失を軽減し制御を維持するブレーキ力分散用の安定性制御システム、HVACシステム、照明(例えば車両の外部環境を照らすヘッド/テールライトなどの照明)、および1つまたは複数の他のシステム(例えば冷却システム、安全システム、車載充電システム、DC/DCコンバーター、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなどのその他の電装コンポーネント)を含む多くの車両システムを含むことができる。さらに、駆動モジュール1114は、センサシステムからデータを受信し事前処理し、様々な車両システムの操作を制御できる駆動モジュールコントローラを含むことができる。いくつかの例では、駆動モジュールコントローラは、1つまたは複数のプロセッサ、および1つまたは複数のプロセッサと通信可能に結合されたメモリを含むことができる。メモリは1つまたは複数のモジュールを格納して、駆動モジュール1114の様々な機能を実行できる。さらに、駆動モジュール1114はまた、それぞれの駆動モジュールによる1つまたは複数の他のローカルまたはリモートコンピューティングデバイスとの通信を可能にする1つまたは複数の通信接続部を含む。
【0112】
少なくとも1つの例では、直接接続部1112は1つまたは複数の駆動モジュール1114を車両1102の本体と結合するための物理的インターフェースを提供できる。例えば、直接接続部1112は、駆動モジュール1114と車両との間のエネルギー、流体、空気、データなどの転送を可能にできる。いくつかの例では、直接接続部1112はさらに駆動モジュール1114を車両1102の本体に着脱可能に固定できる。
【0113】
少なくとも1つの例では、本明細書で論じられるコンポーネントは、上記のようにセンサデータを処理することができ、それぞれの出力を1つまたは複数のネットワーク1142を介して、1つまたは複数のコンピューティングデバイス1140に送信することができる。少なくとも1つの例では、本明細書で論じられるコンポーネントは、所定の期間の経過後、ほぼ実時間で、特定の周波数で1つまたは複数のコンピューティングデバイス1140にそれぞれの出力を送信することができる。
【0114】
いくつかの例では、車両1102はネットワーク1142を介してセンサデータを1つまたは複数のコンピューティングデバイス1140に送信できる。いくつかの例では、車両1102は未処理のセンサデータをコンピューティングデバイス1140に送信できる。他の例では、車両1102は処理済みセンサデータおよび/またはセンサデータの表現をコンピューティングデバイス1140に送信できる。いくつかの例では、車両1102は、所定の期間の経過後、ほぼ実時間で、特定の周波数などで、センサデータをコンピューティングデバイス1140に送信できる。場合によっては、車両1102はセンサデータ(未処理または処理済み)を1つまたは複数のログファイルとしてコンピューティングデバイス1140に送信できる。
【0115】
コンピューティングデバイス1140は、プロセッサ1144、ならびに、マップコンポーネント1148、タイムスタンプコンポーネント110、センサアソシエーションコンポーネント418、センサ同期コンポーネント512、および/または画像処理コンポーネント602を格納するメモリ1146を含むことができる。
【0116】
車両1102のプロセッサ1116およびコンピューティングデバイス1140のプロセッサ1144は、本明細書で説明されるように、データを処理し操作を実行するための命令を実行可能な任意の適切なプロセッサとすることができる。限定ではなく例として、プロセッサ1116および1144は、1つまたは複数の中央処理装置(CPU)、グラフィック処理装置(GPU)、または電子データを処理して電子データをレジスタまたはメモリに格納できる他の電子データに変換する他の任意のデバイスまたはデバイスの一部、を備えることができる。いくつかの例では、集積回路(例えば、ASICなど)、ゲートアレイ(例えば、FPGAなど)、および他のハードウェアデバイスはまた、それらが符号化された命令を実装するよう構成される限り、プロセッサと見なすことができる。
【0117】
メモリ1118およびメモリ1146は非一時的コンピュータ可読媒体の例である。メモリ1118およびメモリ1146は、オペレーティングシステムおよび1つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを格納して、本明細書に記載の方法および様々なシステムに起因する機能を実施できる。様々な実装では、メモリを、スタティックランダムアクセスメモリ(SRAM)、シンクロナスダイナミックRAM(SDRAM)、不揮発性/フラッシュタイプメモリ、または情報を格納可能な他の任意のタイプのメモリなど、適切なメモリ技術を用いて実装できる。本明細書で説明されるアーキテクチャ、システム、および個々の要素は、他の多くの論理的、プログラム的、および物理的なコンポーネントを含むことができ、それらの添付図面に示されるものは、単に本明細書の説明に関連する例にすぎない。
【0118】
理解できるように、本明細書で論じられるコンポーネントは、例示の目的で分割されたものとして説明されている。ただし、さまざまなコンポーネントによって実行される操作は、他の任意のコンポーネントと組み合わす、または他の任意のコンポーネントで実行することができる。
【0119】
図11は分散システムとして示されているが、代替の例では、車両1102のコンポーネントをコンピューティングデバイス1140に関連付けることができ、および/またはコンピューティングデバイス1140のコンポーネントを車両1102に関連付けることができる、という事に留意すべきである。すなわち、車両1102はコンピューティングデバイス1140に関連付けられた機能のうちの1つまたは複数を実行でき、逆もまた同様である。さらに、タイムスタンプコンポーネント110、センサアソシエーションコンポーネント418、センサ同期コンポーネント512、および/または画像処理コンポーネント602の態様は、本明細書で議論されたデバイスのいずれかで実行することができる。
【0120】
図7から
図10は本開示の例による例示のプロセスを示している。これらのプロセスは論理フローグラフとして図示され、このそれぞれの動作は、ハードウェア、ソフトウェア、またはそれらの組み合わせにおいて実装できる一連の操作を表現する。ソフトウェアのコンテキストにおいては、操作は、1つまたは複数のプロセッサで実行したときに、列挙した操作を実行する1つまたは複数のコンピュータ可読記録媒体に格納されたコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は特定の機能を実行する、または特定の抽象的データタイプを実装するルーチン、プログラム、物体、コンポーネント、データ構造などを含む。操作が記載される順序は限定して解釈されることを意図するものではなく、任意の数の記載される操作を任意の順序でおよび/または並行し結合して、プロセスを実装することができる。いくつかの実装形態では、1つまたは複数の操作が省略され得る。
【0121】
[例示的な発明内容]
A.1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサによって実行可能な命令を格納する1つまたは複数の非一時的コンピュータ可読媒体と、
を備えたシステムであって、前記命令は、実行されると、前記1つまたは複数のプロセッサに、ローリングシャッター画像キャプチャに関連付けられた画像フレームの第1のスキャンラインデータを画像センサから受信するステップと、前記第1のスキャンラインデータに第1の時間データを追加するステップと、前記第1の時間データのサイズに少なくとも部分的に基づいて、前記第1のスキャンラインデータに関連付けられた幅を調整するステップと、前記ローリングシャッター画像キャプチャに関連付けられた前記画像フレームの第2のスキャンラインデータを前記画像センサから受信するステップと、前記第2のスキャンラインデータに第2の時間データを追加するステップと、
を備えた操作を実行させる、システム。
【0122】
B.前記操作が、LIDARセンサからLIDARポイントを含むLIDARデータを受信するステップであって、前記LIDARデータが第3の時間データに関連付けられている、ステップと、前記第1の時間データおよび前記第3の時間データに少なくとも部分的に基づいて、前記LIDARポイントを前記第1のスキャンラインデータの少なくとも一部分に関連付けるステップと、をさらに含む、段落Aに記載のシステム。
【0123】
C.前記第1のスキャンラインデータが第1の露光時間に関連付けられており、前記第2のスキャンラインデータが前記第1の露光時間とは異なる第2の露光時間に関連付けられている、段落Aまたは段落Bのどちらかに記載のシステム。
【0124】
D.前記操作が、前記ローリングシャッター画像キャプチャに関連付けられた動きによって、引き起こされた歪曲効果を是正または補正するために、前記第1の時間データに少なくとも部分的に基づいて、画像の少なくとも一部分を修正し、修正された画像を生成するステップであって、前記歪曲効果が、ぐらつき、スキュー、空間的エイリアシング、または時間的エイリアシングの1つまたは複数を含む、ステップと、前記修正された画像に少なくとも部分的に基づいて、自律車両の動きを制御するステップと、をさらに備えた段落Aから段落Cのいずれか1つに記載のシステム。
【0125】
E.高精度時間プロトコル(PTP)クロックと、前記PTPクロックと同期されるシステムプロセッサクロックと、をさらに備え、前記操作が、前記システムプロセッサクロックに従属するカウンタからデータを取得するステップと、前記データに少なくとも部分的に基づいて、前記第1の時間データを決定するステップと、をさらに含む、段落Aから段落Dのいずれか1つに記載のシステム。
【0126】
F.画像フレームの第1のスキャンラインに関連付けられた第1のスキャンラインデータを受信するステップと、第1の時間データを前記第1のスキャンラインに追加するステップと、前記画像フレームの第2のスキャンラインに関連付けられた第2のスキャンラインデータを受信するステップと、第2の時間データを前記第2のスキャンラインに追加するステップと、を備えた方法。
【0127】
G.前記第1のスキャンラインデータを受信する前記ステップが、第1のセンサモダリティを有する第1のセンサから前記第1のスキャンラインデータを受信するステップを含み、前記方法が、第2のセンサモダリティを有する第2のセンサからデータを受信するステップであって、前記データが測定値を含む、ステップと、前記第1の時間データに少なくとも部分的に基づいて、前記測定値と前記第1のスキャンラインデータの少なくとも一部分の間の関連付けを決定するステップと、をさらに含む、段落Fに記載の方法。
【0128】
H.前記第1のセンサが画像センサを含み、前記第2のセンサが、追加画像センサ、LIDARセンサ、radarセンサ、または飛行時間センサの少なくとも1つを含む、段落Gに記載の方法。
【0129】
I.前記測定値と前記第1のスキャンラインの前記少なくとも一部分の間の前記関連付けに少なくとも部分的に基づいて、前記第1のスキャンラインデータの少なくとも一部を前記第2のセンサからの前記データの少なくとも一部と関連付け、関連データを生成するステップと、前記関連データに少なくとも部分的に基づいて、自律車両の動きを制御するステップと、をさらに含む段落Gまたは段落Hのどちらかに記載の方法。
【0130】
J.自律車両のシステムプロセッサクロックに従属するカウンタからデータを取得するステップであって、前記システムプロセッサクロックは高精度時間プロトコル(PTP)クロックと同期させられる、ステップと、前記データに少なくとも部分的に基づいて、前記第1の時間データを決定するステップと、をさらに含む、段落Fから段落Iのいずれか1つに記載の方法。
【0131】
K.前記第1のスキャンラインデータを受信する前記ステップが、第1のセンサモダリティを有する第1のセンサから前記第1のスキャンラインデータを受信するステップを含み、前記方法が、別のデータが測定値を含み、第2のセンサモダリティを有する第2のセンサからの前記別のデータを受信するステップであって、前記測定値が、前記PTPクロックからの時間データに基づいて、タイムスタンプに関連付けられている、ステップと、前記第1の時間データおよび前記測定値に関連付けられた前記タイムスタンプに少なくとも部分的に基づいて、前記測定値と前記第1のスキャンラインデータの少なくとも一部分の間の関連付けを決定するステップと、をさらに含む段落Jに記載の方法。
【0132】
L.前記第1のスキャンラインデータが第1の露光時間に関連付けられており、前記第2のスキャンラインデータが前記第1の露光時間とは異なる第2の露光時間に関連付けられている、段落Fから段落Kのいずれか1つに記載の方法。
【0133】
M.ローリングシャッター画像キャプチャに関連付けられた動きによって引き起こされた歪曲効果を是正または補正するために、前記第1の時間データに少なくとも部分的に基づいて、画像の少なくとも一部分を修正するステップ、をさらに含む、段落Fから段落Mのいずれか1つに記載の方法。
【0134】
N.前記歪曲効果が、ぐらつき、スキュー、空間的エイリアシング、または時間的エイリアシング、の少なくとも1つを含む、段落Mに記載の方法。
【0135】
O.命令が、実行されると、1つまたは複数のプロセッサに、ローリングシャッター画像キャプチャの画像フレームのスキャンラインに関連付けられたスキャンラインデータを受信するステップと、時間データを前記スキャンラインに追加するステップと、を備えた操作を実行させる、前記1つまたは複数のプロセッサによって実行可能な前記命令を格納した1つまたは複数の非一時的コンピュータ可読媒体。
【0136】
P.前記スキャンラインに関連付けられた前記スキャンラインデータが第1のスキャンラインに関連付けられた第1のスキャンラインデータであり、前記時間データが第1の時間データであり、前記操作が、前記ローリングシャッター画像キャプチャの前記画像フレームの第2のスキャンラインに関連付けられた第2のスキャンラインデータを受信するステップと、第2の時間データを前記第2のスキャンラインに追加するステップと、をさらに含む、段落Oに記載の1つまたは複数の非一時的コンピュータ可読媒体。
【0137】
Q.前記スキャンラインデータを受信する前記ステップが、画像センサから前記スキャンラインデータを受信するステップを含み、前記操作が、追加画像センサ、LIDARセンサ、radarセンサ、または飛行時間センサの少なくとも1つから測定データを受信するステップであって、前記測定データが車両に近接する環境の少なくとも一部分に関連付けられた測定値を含む、ステップと、前記時間データに少なくとも部分的に基づいて、前記測定値と前記スキャンラインデータの1つまたは複数のピクセルの間の関連付けを決定するステップと、をさらに含む、段落Oまたは段落Pのどちらかに記載の1つまたは複数の非一時的コンピュータ可読媒体。
【0138】
R.前記車両が自律車両を含み、前記関連付けが距離データを含み、前記操作が、前記関連データに少なくとも部分的に基づいて、前記自律車両の動きを制御するステップをさらに含む、段落Qに記載の1つまたは複数の非一時的コンピュータ可読媒体。
【0139】
S.前記測定データが物体に関連付けられた距離データを含み、前記操作が、前記ローリングシャッター画像キャプチャに関連付けられた動きによって引き起こされた歪曲効果を是正または補正するために、前記時間データおよび前記距離データに少なくとも部分的に基づいて、前記物体に関連付けられた画像の少なくとも一部分を修正するステップ、さらに含む段落Qまたは段落Rのどちらかに記載の1つまたは複数の非一時的コンピュータ可読媒体。
【0140】
T.前記操作が、自律車両のシステムプロセッサクロックに従属するカウンタからのデータを取得するステップであって、前記システムプロセッサクロックは高精度時間プロトコル(PTP)クロックと同期させられる、ステップと、前記データに少なくとも部分的に基づいて、前記時間データを決定するステップと、をさらに含む、段落Oまたは段落Sのどちらかに記載の1つまたは複数の非一時的コンピュータ可読媒体。
【0141】
U.1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサによって実行可能な命令を格納する1つまたは複数の非一時的コンピュータ可読媒体と、を備えたシステムであって、前記命令は、実行されると、前記1つまたは複数のプロセッサに、画像センサの第1のポーズを決定するステップであって、前記画像センサが第1の視野に関連付けられている、ステップと、LIDARセンサの第2のポーズを決定するステップであって、前記LIDARセンサが第2の視野に関連付けられている、ステップと、1つまたは複数の同期条件にしたがって、前記第1の視野の少なくとも第1の部分が前記第2の視野の少なくとも第2の部分に重なるように、前記第1の視野のローリングシャッター画像キャプチャを前記画像センサに開始させるステップであって、前記ローリングシャッター画像キャプチャが、第1の露光時間に関連付けられた第1のスキャンラインと、前記第1の露光時間とは異なる第2の露光時間に関連付けられた第2のスキャンラインと、を含む画像フレームを生成する、ステップと、を備えた操作を実行させる、システム。
【0142】
V.前記画像センサが第1の画像センサであり、前記ローリングシャッター画像キャプチャが第1のローリングシャッター画像キャプチャであり、前記1つまたは複数の同期条件が1つまたは複数の同期条件の第1のグループを含み、前記操作が、第2の画像センサのポーズを決定するステップであって、前記第2の画像センサが視野に関連付けられている、ステップと、1つまたは複数の同期条件の第2のグループに従って、前記第2の画像センサに関連付けられた前記視野の少なくとも一部分が、前記LIDARセンサに関連付けられた前記第2の視野の少なくとも一部分に重なるように、前記視野の第2のローリングシャッター画像キャプチャを前記第2の画像センサに開始させるステップと、をさらに含む段落Uに記載のシステム。
【0143】
W.前記1つまたは複数の同期条件が、前記LIDARセンサに関連付けられた前記第2の視野の第2の中央部分と実質的に位置合わせされた前記画像フレームの第1の中央部分、または、前記第2の視野に関連付けられた期間中にキャプチャされた前記画像フレームのスキャンラインの大部分、の少なくとも1つを含む、段落Uまたは段落Vのどちらかに記載のシステム。
【0144】
X.前記操作が、前記画像センサから、および前記ローリングシャッター画像キャプチャの前の期間中に、先のローリングシャッター画像キャプチャのスキャンラインに関連付けられたスキャンラインデータを受信するステップと、時間データを前記スキャンラインデータに追加するステップと、をさらに含み、前記ローリングシャッター画像キャプチャを前記画像センサに開始させる前記ステップが前記時間データに少なくとも部分的に基づいている、段落Uから段落Wのいずれか1つに記載のシステム。
【0145】
Y.第2のセンサに関連付けられた第2の視野に関して、第1のセンサに関連付けられた第1の視野の方向を決定するステップと、1つまたは複数の同期条件に従って、前記第1の視野の少なくとも一部分が前記第2の視野の少なくとも第2の部分に重なるように、前記第1の視野のローリングシャッター画像キャプチャを前記第1のセンサに開始させるステップであって、前記ローリングシャッター画像キャプチャが、第1の露光時間に関連付けられた第1のスキャンラインと、前記第1の露光時間とは異なる第2の露光時間に関連付けられた第2のスキャンラインと、を含む画像フレームを生成する、ステップと、を含む方法。
【0146】
Z.前記第1のセンサが自律車両の画像センサを含み、前記第2のセンサが前記自律車両のLIDARセンサを含む、段落Yに記載の方法。
【0147】
AA.前記第1のセンサの第1のポーズを決定するステップであって、前記第1のポーズが第1の位置と、第1の方向と、を含む、ステップと、前記第2のセンサの第2のポーズを決定するステップであって、前記第2のポーズが第2の位置と、第2の方向と、を含むステップと、をさらに含み、前記ローリングシャッター画像キャプチャを前記第1のセンサに開始させる前記ステップが前記第1のポーズおよび前記第2のポーズに少なくとも部分的に基づいている、段落Yまたは段落Zのどちらかに記載の方法。
【0148】
BB.前記第1のセンサが第1の画像センサを含み、前記方向が第1の方向であり、前記ローリングシャッター画像キャプチャが第1のローリングシャッター画像キャプチャであり、前記第2のセンサがLIDARセンサを含み、前記1つまたは複数の同期条件が1つまたは複数の同期条件の第1のセットを含み、前記方法が、前記LIDARセンサに関して、視野に関連付けられた第2の画像センサの第2の方向を決定するステップと、1つまたは複数の同期条件の第2のセットに従って、前記視野の少なくとも一部分が前記LIDARセンサに関連付けられた前記第2の視野の少なくとも一部分に重なるように、前記第2の方向に少なくとも部分的に基づいて、前記視野の第2のローリングシャッター画像キャプチャを前記第2の画像センサに開始させるステップと、をさらに含む段落Yから段落AAのいずれか1つに記載の方法。
【0149】
CC.前記1つまたは複数の同期条件が、前記第2のセンサに関連付けられた前記第2の視野の第2の中央部分と実質的に位置合わせされた前記画像フレームの第1の中央部分、または前記第2の視野に関連付けられた期間中にキャプチャされた前記画像フレームのスキャンラインの大部分、の少なくとも1つを含む、段落Yから段落BBのいずれか1つに記載の方法。
【0150】
DD.前記画像フレームのための露光時間を推定するステップをさらに含み、前記ローリングシャッター画像キャプチャを前記第1のセンサに開始させる前記ステップが前記露光時間に少なくとも部分的に基づいている、段落Yから段CCのいずれか1つに記載の方法。
【0151】
EE.前記第1のセンサから、および前記ローリングシャッター画像キャプチャの前の期間中に、先のローリングシャッター画像キャプチャに関連付けられた露光時間データを受信するステップをさらに含み、前記画像フレームのための前記露光時間を推定する前記ステップが、前記先のローリングシャッター画像キャプチャに関連付けられた前記露光時間データに少なくとも部分的に基づいている、段落DDに記載の方法。
【0152】
FF.高精度時間プロトコル(PTP)クロックと同期させられるシステムプロセッサクロックからの第1の時間データに少なくとも部分的に基づいて、前記画像フレームのスキャンラインに関連付けられた第1のタイムスタンプを決定するステップをさらに含み、
前記ローリングシャッター画像キャプチャを前記第1のセンサに開始させる前記ステップが前記第1のタイムスタンプに少なくとも部分的に基づいている、段落Yから段EEのいずれか1つに記載の方法。
【0153】
GG.前記PTPクロックからの第2の時間データに少なくとも部分的に基づいて、前記第2のセンサにキャプチャされた測定値に関連付けられた第2のタイムスタンプを決定するステップをさらに含み、前記ローリングシャッター画像キャプチャを前記第1のセンサに開始させる前記ステップが前記第2のタイムスタンプに少なくとも部分的に基づいている、段落FFに記載の方法。
【0154】
HH.前記第1のセンサが画像センサを含み、前記画像フレームが前記画像フレームの第1の中央部分内のスキャンラインを含み、前記第2のセンサがLIDARセンサを含み、前記ローリングシャッター画像キャプチャを前記第1のセンサに開始させる前記ステップが、前記スキャンラインが前記LIDARセンサに関連付けられた前記第2の視野の第2の中央部分に関連付けられた期間中にキャプチャされるように、前記画像センサに前記ローリングシャッター画像キャプチャを開始させるステップ、を含む、段落Yから段GGのいずれか1つに記載の方法。
【0155】
II.前記第2の視野が前記ローリングシャッター画像キャプチャ中に前記第1の視野に対して移動する、段落Yから段HHのいずれか1つに記載の方法
【0156】
JJ.命令が、実行されると、1つまたは複数のプロセッサに、第2のセンサに関連付けられた第2の視野に関して、第1のセンサに関連付けられた第1の視野の方向を決定するステップと、1つまたは複数の同期条件にしたがって、前記第1の視野の少なくとも第1の部分が前記第2の視野の少なくとも第2の部分に重なるように前記第1の視野のローリングシャッター画像キャプチャを前記画像センサに開始させるステップであって、前記ローリングシャッター画像キャプチャが、第1の露光時間に関連付けられた第1のスキャンラインと、前記第1の露光時間とは異なる第2の露光時間に関連付けられた第2のスキャンラインと、を含む画像フレームを生成する、ステップと、を含む操作を実行させる、前記1つまたは複数のプロセッサによって実行可能な前記命令を格納する1つまたは複数の非一時的コンピュータ可読媒体。
【0157】
KK.前記1つまたは複数の同期条件が、前記第2のセンサに関連付けられた前記第2の視野の第2の中央部分と実質的に位置合わせされた前記画像フレームの第1の中央部分、または前記第2の視野に関連付けられた期間中にキャプチャされた前記画像フレームのスキャンラインの大部分、の少なくとも1つを含む、段落JJに記載の1つまたは複数の非一時的コンピュータ可読媒体。
【0158】
LL.前記操作が、前記第1のセンサから、および前記ローリングシャッター画像キャプチャの前の期間中に、先のローリングシャッター画像キャプチャに関連付けられた画像フレームの第1のスキャンラインに関連付けられた第1の露光時間データを受信するステップと、前記第1のセンサから、および前記ローリングシャッター画像キャプチャ前の前記期間中に、前記画像フレームの最後のスキャンラインに関連付けられた第2の露光時間データを受信するステップと、前記第1の露光時間データおよび前記第2の露光時間データに少なくとも部分的に基づいて、前記ローリングシャッター画像キャプチャの前記画像フレームのための露光時間を決定するステップと、をさらに含み、前記画像センサに前記ローリングシャッター画像キャプチャを開始させる前記ステップが、前記露光時間に少なくとも部分的に基づいている、段落JJまたは段落KKのどちらかに記載の1つまたは複数の非一時的コンピュータ可読媒体。
【0159】
MM.前記操作が、高精度時間プロトコル(PTP)クロックと同期させられるシステムプロセッサクロックからの第1の時間データに少なくとも部分的に基づいて、前記画像フレームのスキャンラインに関連付けられた第1のタイムスタンプを決定するステップをさらに含み、前記ローリングシャッター画像キャプチャを前記第1のセンサに開始させる前記ステップが前記第1のタイムスタンプに少なくとも部分的に基づいている、段落JJから段落LLのいずれか1つに記載の1つまたは複数の非一時的コンピュータ可読媒体。
【0160】
NN.前記操作が、前記PTPクロックからの第2の時間データに少なくとも部分的に基づいて、前記第2のセンサにキャプチャされた測定値に関連付けられた第2のタイムスタンプを決定するステップをさらに含む、前記ローリングシャッター画像キャプチャを前記第1のセンサに開始させる前記ステップが前記第2のタイムスタンプに少なくとも部分的に基づいている、段落MMに記載の1つまたは複数の非一時的コンピュータ可読媒体。
【0161】
上述の例示の発明内容は1つの特定の実装に関して説明しているが、この文書のコンテキストでは、例示の発明内容はまた、方法、デバイス、システムおよび/またはコンピュータ可読媒体、および/またはその他の実装を介して実装できることを理解されたい。
【0162】
[結論]
本明細書で説明する技術の1つまたは複数の例について説明したが、様々な変更、追加、置換、およびそれらの同等物が、本明細書で説明する技術の範囲内に含まれる。
【0163】
例示の説明では、本明細書の一部を形成する添付の図面を参照するが、これは例示として請求される主題の具体的な例を示す。他の例を使用でき、構造的変更などの変更または代替を行うことできることを理解されたい。そのような例示、変更または代替は、意図して請求される主題に関する範囲から必ずしも逸脱するものではない。本明細書のステップは特定の順序で提示できるが、場合によっては、説明したシステムおよび方法の機能を変更することなく、特定の入力を異なる時間または異なる順序で提供するように、順序を変更できる。開示された手順はまた異なる順序で実行できる。さらに、本明細書にある様々な計算は開示された順序で実行される必要はなく、計算の代替順序を使用する他の例を容易に実装できる。並べ替えに加えて、計算はまた、同じ結果となるサブ計算に分解できる。