(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-25
(45)【発行日】2022-12-05
(54)【発明の名称】自律型車両用のカメラ評価技術
(51)【国際特許分類】
G06T 7/00 20170101AFI20221128BHJP
H04N 7/18 20060101ALI20221128BHJP
H04N 5/232 20060101ALI20221128BHJP
【FI】
G06T7/00 300F
H04N7/18 E
H04N7/18 K
H04N5/232 290
H04N5/232 300
(21)【出願番号】P 2021507749
(86)(22)【出願日】2019-08-19
(86)【国際出願番号】 US2019047029
(87)【国際公開番号】W WO2020041178
(87)【国際公開日】2020-02-27
【審査請求日】2021-04-13
(32)【優先日】2018-08-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】317015065
【氏名又は名称】ウェイモ エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】クラドック,カール ウォーレン
(72)【発明者】
【氏名】ウェンデル,アンドリアス
(72)【発明者】
【氏名】フー,シャオシャン
【審査官】片岡 利延
(56)【参考文献】
【文献】特開2016-015638(JP,A)
【文献】特開2013-224922(JP,A)
【文献】特開2014-043121(JP,A)
【文献】特開2010-093570(JP,A)
【文献】特開2009-234344(JP,A)
【文献】特開2018-060422(JP,A)
【文献】特開2004-020237(JP,A)
【文献】特開2015-028702(JP,A)
【文献】特開2012-075060(JP,A)
【文献】米国特許出願公開第2019/0011927(US,A1)
【文献】米国特許出願公開第2020/0005489(US,A1)
【文献】日科技研,累積和管理図とは,[online],2012年07月12日,https://web.archive.org/web/20120712024821/https://www.i-juse.co.jp/statistics/product/func/process/cumulative-sum-control-chart.html
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
H04N 7/18
H04N 5/232
(57)【特許請求の範囲】
【請求項1】
2台以上のカメラの動作を評価する方法であって、
第1のカメラによって捕捉された第1の画像を、1つ以上のプロセッサによって受信することと、
第2のカメラによって捕捉された第2の画像を、前記1つ以上のプロセッサによって受信することであって、前記第1のカメラおよび前記第2のカメラが重複する視野を有する、受信することと、
前記第1の画像に対する第1の特徴ベクトルおよび前記第2の画像に対する第2の特徴ベクトルを、前記1つ以上のプロセッサによって生成することと、
前記第1の特徴ベクトルおよび前記第2の特徴ベクトルを使用して、類似性スコアを前記1つ以上のプロセッサによって決定することと、
前記類似性スコアを、前記第1のカメラおよび前記第2のカメラからの画像から経時的に生成される他の類似性スコアと比較することと、
前記類似性スコア
と前記他の類似性スコアとの比較に基づいて、前記2台のカメラの前記動作を前記1つ以上のプロセッサによって評価することと、を含む、方法。
【請求項2】
前記第1の画像および前記第2の画像が異なるように露光される、請求項1に記載の方法。
【請求項3】
前記第1のカメラがNDフィルタを含み、前記第2のカメラが含まない、請求項1に記載の方法。
【請求項4】
前記第1の画像の露光期間が、前記第2の画像の露光期間よりも長い、請求項1に記載の方法。
【請求項5】
前記第1の画像および前記第2の画像が、前記重複する視野内の所与の位置にある物体を捕捉するように、所定の期間内に捕捉される、請求項1に記載の方法。
【請求項6】
前記第1の特徴ベクトルおよび前記第2の特徴ベクトルを生成する前に、前記第1の画像および前記第2の画像を縮小することをさらに含む、請求項1に記載の方法。
【請求項7】
前記第1の画像および前記第2の画像を縮小することが、前記重複する視野に対応するピクセルのみを含むよう、前記第1の画像および前記第2の画像をクロッピングすることを含む、請求項6に記載の方法。
【請求項8】
前記第1の画像および前記第2の画像を縮小することが、前記第1の画像および前記第2の画像をサムネイル化することを含む、請求項6に記載の方法。
【請求項9】
前記第1の特徴ベクトルおよび前記第2の特徴ベクトルが、時刻に基づいてさらに生成される、請求項1に記載の方法。
【請求項10】
前記第1の特徴ベクトルおよび前記第2の特徴ベクトルが、発光物に対応する特徴のみを含むように生成される、請求項1に記載の方法。
【請求項11】
前記類似性スコアを生成することが、構造類似性インデックスを使用することを含む、請求項1に記載の方法。
【請求項12】
前記類似性スコアを閾値と比較することを
さらに含
み、
前記2台のカメラの前記動作を評価することが、前記類似性スコアと前記閾値との比較にさらに基づく、請求項1に記載の方法。
【請求項13】
前記類似性スコアを前記他の類似性スコアと比較することが、累積和管理図を使用することを含む、請求項
1に記載の方法。
【請求項14】
前記評価に基づいて、リモートコンピューティングデバイスに支援の要求を送信することをさらに含み、前記要求が前記第1の画像および前記第2の画像を含む、請求項1に記載の方法。
【請求項15】
前記要求を送信した後、前記リモートコンピューティングデバイスに前記第1のカメラからの更新された画像、および前記第2のカメラからの更新された画像を送信することをさらに含む、請求項
14に記載の方法。
【請求項16】
前記要求に応じて、車両を停止するための命令を受信することと、
前記要求に応じて前記車両を停止することと、をさらに含む、請求項
14に記載の方法。
【請求項17】
前記第1のカメラおよび前記第2のカメラの一方または両方に対して洗浄システムをアクティブにすることをさらに含む、請求項1に記載の方法。
【請求項18】
前記評価に基づいて運転判断を行うことにより、自律運転モードの車両を、前記1つ以上のプロセッサによって制御することをさらに含む、請求項1に記載の方法。
【請求項19】
前記車両を制御することが、前記運転判断を行うときに、前記第1の画像および前記第2の画像の一方または両方の全部または一部を破棄することを含む、請求項
18に記載の方法。
【請求項20】
前記類似性スコアを生成することが、前記第1の特徴ベクトルおよび前記第2の特徴ベクトルをモデルに入力することを含む、請求項1に記載の方法。
【請求項21】
前記モデルが決定木モデルである、請求項
20に記載の方法。
【請求項22】
前記類似性スコアを生成することが、前記第1の画像の深度データ、前記第2の画像の深度データ、太陽の場所、または時刻情報のうちの少なくとも1つを含む追加情報を入力することをさらに含む、請求項
20に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2018年08月20日に出願された出願第16/105,069号の優先権を主張し、その開示は参照により本明細書に組み込まれる。
【背景技術】
【0002】
人間の運転手を必要としない車両などの自律型車両が、ある場所から別の場所への乗員または物品の輸送を支援するために使用される場合がある。このような車両は、乗員が目的地などの何らかの初期入力を提供し、車両がその目的地に車両自体を操縦する、完全な自律運転モードで動作することができる。したがって、このような車両は、いつでも自律型車両の場所を決定し、かつ、他の車両、停止信号、歩行者などの車両の外部にある物体を検出し識別することができるシステムに大きく依存し得る。一例として、これらのシステムは、車両の様々な場所に据え付けられる、レーザー走査装置およびカメラなどのセンサを含み得る。したがって、このようなセンサの動作をリアルタイムで評価できることは、運転判断を行う際に、車両が機能していないセンサまたはごみで覆われたセンサからのセンサデータに依存していないことを確実するために重要である。
【発明の概要】
【0003】
本開示の態様は、2台以上のカメラの動作を評価するための方法を提供する。この方法は、第1のカメラによって捕捉された第1の画像を1つ以上のプロセッサによって受信することと、第2のカメラによって捕捉された第2の画像を1つ以上のプロセッサによって受信することであって、第1のカメラおよび第2のカメラが重複する視野を有する、受信することと、第1の画像に対する第1の特徴ベクトルおよび第2の画像に対する第2の特徴ベクトルを、1つ以上のプロセッサによって生成することと、第1の特徴ベクトルおよび第2の特徴ベクトルを使用して、類似性スコアを1つ以上のプロセッサによって決定することと、類似性スコアを使用して、2台のカメラの動作を1つ以上のプロセッサによって評価することと、を含む。
【0004】
一例では、第1の画像および第2の画像は異なるように露光される。別の例では、第1のカメラはNDフィルタを含み、第2のカメラは含まない。別の例では、第1の画像の露光期間は、第2の画像の露光期間よりも長い。別の例では、第1の画像および第2の画像は、重複する視野内の所与の位置にある物体を捕捉するように、所定の期間内に捕捉される。別の例では、この方法は、第1の特徴ベクトルおよび第2の特徴ベクトルを生成する前に、第1の画像および第2の画像を縮小することをさらに含む。この例では、第1の画像および第2の画像を縮小することは、重複する視野に対応するピクセルのみを含むよう、第1の画像と第2の画像をクロッピングすることを含む。加えてまたは代わりに、第1の画像および第2の画像を縮小することは、第1の画像および第2の画像をサムネイル化することを含む。
【0005】
別の例では、第1の特徴ベクトルおよび第2の特徴ベクトルは、時刻に基づいてさらに生成される。別の例では、第1の特徴ベクトルおよび第2の特徴ベクトルは、発光物に対応する特徴のみを含むように生成される。別の例では、類似性スコアを生成することは、構造類似度インデックスを使用することを含む。別の例では、類似性スコアを使用することは、類似性スコアを閾値と比較することを含む。別の例では、類似性スコアを使用することは、類似性スコアを、第1のカメラおよび第2のカメラからの画像から経時的に生成される他の類似性スコアと比較することを含む。この例では、類似性スコアを他の類似性スコアと比較することは、累積和管理図を使用することを含む。別の例では、この方法は、評価に基づいて、リモートコンピューティングデバイスに支援の要求を送信することも含み、要求は、第1の画像および第2の画像を含む。この例では、この方法は、要求を送信した後、リモートコンピューティングデバイスに第1のカメラからの更新された画像、および、第2のカメラからの更新された画像を送信することも含む。加えて、またはその代わりに、この方法はまた、要求に応じて、車両を停止するための命令を受信し、要求に応じて車両を停止することも含む。別の例では、この方法は、第1のカメラおよび第2のカメラの一方または両方に対して洗浄システムをアクティブにすることも含む。別の例では、この方法は、評価に基づいて運転判断を行うことにより、自律運転モードの車両を、1つ以上のプロセッサによって制御することも含む。この例では、車両を制御することは、運転判断を行うときに、第1の画像および第2の画像の一方または両方の全部または一部を破棄することを含む。
【0006】
別の例では、類似性スコアを生成することは、第1の特徴ベクトルおよび第2の特徴ベクトルをモデルに入力することを含む。この例では、モデルは決定木モデルである。加えて、または代わりに、類似性スコアを生成することは、第1の画像の深度データ、第2の画像の深度データ、太陽の場所、または時刻情報のうちの少なくとも1つを含む追加情報を入力することをさらに含む。
【図面の簡単な説明】
【0007】
【
図1】本開示の態様による本開示の態様による例示的な車両の機能図である。
【
図2】本開示の態様による、
図1の例示的な車両の例示的な外観図である。
【
図3】本開示の態様によるカメラグループの一例である。
【
図4】本開示の態様によるカメラグループの別の例である。
【
図6】本開示の態様による別の例示的な画像である。
【
図7】本開示の態様による例示的なシステムの絵図である。
【
図8】本開示の態様による、
図7のシステムの機能図である。
【
図9】本開示の態様による、画像をクロッピングして縮小する例である。
【
図11】本開示の態様による別の例示的な画像である。
【
図12】本開示の態様による、例示的なフロー図である。
【発明を実施するための形態】
【0008】
概要
本技術は、2台以上のカメラの動作を評価すること、またはむしろ、カメラが適切に機能していることを確認することに関する。例えば、カメラが世界を適切に「見ている」かどうか、またはレンズに何らかの異物のごみが付いているか、結露があるか、機能していないピクセルがあるかなどを知るのは難しい場合がある。これは、運転判断を行うためにそのようなカメラに依拠する自律型車両の場合に特に重要であり得る。
【0009】
例えば、自律型車両の知覚システムは、複数のカメラおよび他のセンサを含み得る。カメラは、異なる構成、例えば、異なるフィルタなどを有し得るが、画像を定期的に捕捉するように構成されてもよい。少なくともいくつかのカメラ、したがっていくつかの補足された画像は、重複する視野を有し得る。重複する視野を有する一対のカメラの機能性は、各カメラから捕捉された一対の画像を選択することによって検証することができる。理想的には、これらの画像は、重複する視野内の同じ位置にある同じ物体を1つ以上捕捉するように、非常に近い時間で、または何らかの所定の期間内に捕捉される。
【0010】
処理を簡素化するために、画像のサイズを縮小してもよい。例えば、画像は、サイズを縮小してもよく、および/または別様に、重複する視野に対応する部分のみを含むようにクロッピングされてもよい。
【0011】
次に、縮小画像を分析して、特徴ベクトルを生成する。そのため、これらの特徴ベクトルは、縮小画像の特徴を表す。次に、これらの特徴ベクトルを比較して、類似性スコアまたはそれらが互いにどれほど類似しているかを決定する。類似性スコアは、コサイン類似性測定、クラスタリング技術、他のベクトル類似性測定技術、またはモデルを用いて決定することができる。
【0012】
類似性スコアを閾値と比較して、縮小画像間の類似性が低すぎるかどうか、またはむしろ画像が非常に異なるためにカメラの1つにエラーがあるか、または塞がれている可能性が高いとと決定してもよい。多くの場合、カメラのレンズの1つで結露がゆっくりと発生する場合など、変化を識別するには閾値で十分であり得る。ただし、場合によっては、閾値が必ずしも問題を識別するとは限らない。このような場合、2台のカメラからの多数の画像の類似性スコアは、急な変化を識別するために、経時的に比較され得る。
【0013】
閾値に達した場合、または急な変化が検出された場合、車両のコンピューティングデバイスは、一方または両方のカメラに問題があると想定してもよい。そのため、適切な対応が取られ得る。さらに、この処理は、重複する視野を有する2台のカメラ間で一対の画像が捕捉されるたびに、またはより少ない頻度などで定期的に実行され得る。
【0014】
前述の技術は、環境光が良好な日照時間中はうまく働くが、暗い環境や夜間の環境では、類似性スコアおよびSSIMの信頼性が低下する場合がある。そのような時、2つの縮小画像の全ての特徴を一致させるのではなく、輝点または高輝度領域のみが比較されてもよい。この場合も、カメラの1つに問題があるか否かを識別するために、これらのベクトルに対する類似性スコアが再度決定され、閾値と比較される、および/または追跡されてもよい。その後、適切な対応が取られ得る。
【0015】
本明細書で説明する機能により、様々な照明条件での信頼性の高いカメラ評価が可能になる。上記のように、カメラが世界を適切に「見ている」かどうか、またはレンズに何らかの異物のごみが付いているか、結露があるか、機能していないピクセルがあるかなどを判断するのは非常に困難である。これは、運転判断を行うためにそのようなカメラに依拠する自律型車両の場合に特に重要であり得る。
【0016】
例示的なシステム
図1に示されるように、本開示の一態様による車両100は、様々な構成要素を含む。本開示のある態様は、特定のタイプの車両と関連して特に有用であり、車両は、自動車、トラック、オートバイ、バス、レクリエーション用車両などを含むがこれらに限定されない任意のタイプの車両でもよい。車両は、1つ以上のコンピューティングデバイス、例えば、1つ以上のプロセッサ120、メモリ130、および汎用コンピューティングデバイスに典型的に存在する他の構成要素を含む、コンピューティングデバイス110を有してもよい。
【0017】
メモリ130は、1つ以上のプロセッサ120によってアクセス可能な情報を記憶し、その情報には、プロセッサ120によって実行または別様に使用され得る命令132およびデータ134が含まれる。メモリ130は、プロセッサによってアクセス可能な情報を記憶することができる任意のタイプのメモリであってもよく、それらには、コンピューティングデバイス可読媒体、またはハードドライブ、メモリカード、ROM、RAM、DVD、もしくは他の光ディスク、ならびに他の書き込み可能および読み取り専用メモリなどの電子デバイスを用いて読み取ることができるデータを記憶する他の媒体が含まれる。システムおよび方法は、上記の異なる組み合わせを含んでもよく、それによって、命令およびデータの様々な部分が、様々なタイプの媒体に記憶される。
【0018】
命令132は、プロセッサにより直接的に(マシンコードなど)または間接的に(スクリプトなど)実行される任意の組の命令であってもよい。例えば、命令は、コンピューティングデバイス可読媒体上のコンピューティングデバイスコードとして記憶されてもよい。その点において、「命令」および「プログラム」という用語は、本明細書では、互換的に使用され得る。命令は、プロセッサによる直接的な処理のためのオブジェクトコード形式で、または要求に応じて解釈されるか、もしくは予めコンパイルされるスクリプトもしくは独立したソースコードモジュールの集合を含む、任意の他のコンピューティングデバイス言語で記憶されてもよい。命令の機能、方法、およびルーチンについては、以下でさらに詳細に説明される。
【0019】
データ134は、命令132に従って、プロセッサ120によって検索、記憶、または修正されてもよい。例えば、特許請求の範囲の主題は、いかなる特定のデータ構造にも限定されないが、データは、コンピューティングデバイスレジスタ内に、すなわち、複数の異なるフィールドおよびレコードを有する表、XMLドキュメント、またはフラットファイルとしてリレーショナルデータベース内に記憶されてもよい。データはまた、任意のコンピューティングデバイス可読形式でフォーマット化されてもよい。
【0020】
1つ以上のプロセッサ120は、市販されているCPUなどの任意の従来のプロセッサであってもよい。代替的に、1つ以上のプロセッサは、ASICまたは他のハードウェアベースプロセッサなどの専用デバイスであってもよい。
図1は、プロセッサ、メモリ、およびコンピューティングデバイス110の他の要素を同じブロック内にあるものとして機能的に示しているが、プロセッサ、コンピューティングデバイス、またはメモリは、実際には、同じ物理的な筐体内に記憶されていてもいなくてもよい、複数のプロセッサ、コンピューティングデバイス、またはメモリを含むことができることは、当業者により、理解されるであろう。例えば、メモリは、ハードドライブ、またはコンピューティングデバイス110の筐体とは異なる筐体内に位置する他の記憶媒体であってもよい。したがって、プロセッサまたはコンピューティングデバイスへの言及は、並行に動作してもしなくてもよいプロセッサまたはコンピューティングデバイスまたはメモリの集合体への言及を含むことが理解されよう。
【0021】
コンピューティングデバイス110は、上述したプロセッサおよびメモリ、ならびにユーザ入力装置150(例えば、マウス、キーボード、タッチスクリーン、および/またはマイクロフォン)ならびに様々な電子ディスプレイ(例えば、スクリーンを有するモニタ、または情報を表示するように動作可能である任意の他の電気デバイス)などの、コンピューティングデバイスと関連して通常使用される全ての構成要素を含み得る。この例では、車両は、情報または視聴覚体験を提供するために、内部電子ディスプレイ152、ならびに1つ以上のスピーカ154を含む。この点について、内部電子ディスプレイ152は、車両100の車内に位置していてもよく、車両100内の乗員に情報を提供するために、コンピューティングデバイス110によって使用されてもよい。
【0022】
コンピューティングデバイス110はまた、以下に詳細に説明するクライアントコンピューティングデバイスおよびサーバコンピューティングデバイスなど他のコンピューティングデバイスとの通信を容易にするために、1つ以上の無線ネットワーク接続156を含んでもよい。無線ネットワーク接続には、ブルートゥース、ブルートゥースローエネルギー(LE)、携帯電話接続などの短距離通信プロトコル、ならびにインターネット、World Wide Web、イントラネット、仮想プライベートネットワーク、ワイドエリアネットワーク、ローカルネットワーク、1つ以上の企業専有の通信プロトコルを使用するプライベートネットワーク、イーサネット、WiFi、およびHTTPを含む様々な構成およびプロトコル、ならびにそれらの様々な組み合わせが含まれてもよい。
【0023】
一例では、コンピューティングデバイス110は、車両100に組み込まれた自律運転コンピューティングシステムでもよい。自律運転コンピューティングシステムは、完全自律運転モードおよび/または半自律運転モードで車両100を操縦するために、車両の様々な構成要素と通信することができ得る。例えば、
図1に戻ると、コンピューティングデバイス110は、メモリ130の命令132に従って車両100の移動、速度などを制御するために、減速システム160、加速システム162、ステアリングシステム164、シグナリングシステム166、ナビゲーションシステム168、測位システム170、知覚システム172、および電力システム174(例えば、ガソリンもしくはディーゼル電動モータまたは電気エンジン)など、車両100の様々なシステムと通信している。この場合も、これらのシステムは、コンピューティングデバイス110の外部にあるものとして示されているが、実際には、これらのシステムもまた、車両100を制御するための自律運転コンピューティングシステムとして再度、コンピューティングデバイス110の中に組み込まれてもよい。
【0024】
一例として、コンピューティングデバイス110は、車両の速度を制御するために、減速システム160および加速システム162と相互作用してもよい。同様に、ステアリングシステム164は、車両100の方向を制御するために、コンピューティングデバイス110によって使用されてもよい。例えば、車両100が自動車またはトラックのように道路で使用するように構成されている場合、ステアリングシステムは、車両の向きを変えるための車輪の角度を制御する構成要素を含んでいてもよい。シグナリングシステム166は、例えば、必要に応じて方向指示器またはブレーキライトを点灯させることによって、車両の意図を他の運転手または車両に知らせるために、コンピューティングデバイス110によって使用され得る。
【0025】
ナビゲーションシステム168は、ある場所までのルートを判定および追従するために、コンピューティングデバイス110によって使用され得る。この点について、ナビゲーションシステム168および/またはデータ134は、詳細な地図情報、例えば、車道の形状および標高、車線境界線、交差点、横断歩道、速度制限、交通信号、建物、標識、リアルタイム交通情報、植生、または他のかかる物体および情報を識別する高精密地図、を記憶し得る。換言すると、この詳細な地図情報は、車道、ならびにそれらの車道の速度制限(法定速度制限)を含む、車両の予想される環境の幾何学形状を定義し得る。さらに、この地図情報は、交通信号灯、一時停止標識、道を譲れという標識などの交通制御に関する情報を含み得、これらは、知覚システム172から受信するリアルタイム情報と併せて、所与の場所でどの方向の交通が優先通行権を持っているかを判断するためにコンピューティングデバイス110によって使用され得る。
【0026】
知覚システム172はまた、他の車両、車道内の障害物、交通信号、標識、樹木などの車両の外部の物体を検出するために1つ以上の構成要素を含む。例えば、知覚システム172は、1つ以上のライダーセンサ、ソナーデバイス、レーダーユニット、カメラ、および/またはコンピューティングデバイス110によって処理され得るデータを記録する任意の他の検出デバイスを含んでもよい。知覚システムのセンサは、車両の外部環境にある物体を検出し、場所、向き、サイズ、形状、タイプ、方向、および移動速度などのそのような物体の特性を説明するセンサデータを生成することができる。センサからの生センサデータおよび/または前述の特性は、定量化されるか、または記述関数もしくはベクトルに配置され、さらなる処理のためにコンピューティングデバイス110に送信され得る。さらなる詳細を以下で考察するが、コンピューティングデバイス110は、車両の場所を判定するために測位システム170を使用し、その場所に安全に到着する必要があるとき、物体を検出しかつ物体に対応するために知覚システム172を使用し得る。
【0027】
例えば、
図2は、車両100の例示的な外観図である。本例では、ルーフトップ筐体210および筐体212、214は、ライダーセンサ、ならびに様々なカメラおよびレーダーユニットを含み得る。さらに、車両100の前端部に位置する筐体220、ならびに車両の運転手側および助手席側の筐体230、232は、それぞれ、ライダーセンサを格納することができる。例えば、筐体230は、運転手側のドア260の前部に位置している。車両100はまた、車両100のルーフの上にも位置するレーダーユニットおよび/またはカメラのための筐体240、242も含む。追加のレーダーユニットおよびカメラ(図示せず)は、車両100の前端部および後端部に、および/またはルーフまたはルーフトップ筐体210に沿った他の位置に位置していてもよい。
【0028】
知覚システム172のカメラは、車両の環境におけるほとんどのポイントを定期的に捕捉するカメラが少なくとも2台存在するように、車両上に配置され得る。車両の前(つまり、走行方向)のいくつかのポイントは、長距離カメラでも「見る」ことができる。したがって、知覚システムの各カメラは、評価目的のために「カメラグループ」に1つ以上の他のカメラとグループ化され得る。
【0029】
図3は、重複する視野312、322を有する2台のカメラ310、320を含むカメラグループ300の一例である。
図4は、重複部分302、402を有する視野412、422、432を備えた3台のカメラ410、420、430を含むカメラグループ400の一例である。そのため、グループのカメラ、したがってこれらのグループによって捕捉された画像は、重複する視野を有することがある。カメラグループの各カメラは、カメラのレンズをきれいにするためにワイパーおよび/または洗浄液を含み得る洗浄システム314、324、414、424、434を有してもよい。洗浄システムの動作は、例えば、コンピューティングデバイス110によって制御することができる。各カメラグループのカメラは、重複する視野が一定に保たれることを確実するために、互いに対して、および車両に対して固定されてもよい。
【0030】
さらに、これらのグループの各カメラは、同じまたは異なる構成、例えば、異なるフィルタなどを有してもよい。場合によっては、画像は、異なるように露光されてもよく、つまり、画像は、異なるフィルタリング技術および/または露光期間を用いて捕捉されてもよい。例えば、
図5および
図6の画像500および600を参照すると、一方の画像500は、第1の露光期間にわたってNDフィルタを備えたカメラ310などの第1のカメラを使用して捕捉され得、第2の画像600は、第2の露光期間にわたってNDフィルタを備えていないカメラ320などの第2のカメラを使用して捕捉され得る。第1および第2の露光時間は、同じであっても異なっていてもよく、例えば、第2の露光期間は、第1の露光期間よりも短くてもよい。一例として、第1の画像500は、交通信号510および車両520、ならびに、可能性として他の物体の粗い輪郭を含み得る。第2の画像600は、露光過度の交通信号510および露光過度の車両520を含み得る。
【0031】
車両100のコンピューティングデバイス110はまた、輸送サービスの一部であるコンピューティングデバイスならびに他のコンピューティングデバイスなど他のコンピューティングデバイスとの間で情報を受信または転送することもできる。
図7および
図8は、それぞれ、ネットワーク760を介して接続された複数のコンピューティングデバイス710、720、730、740、および記憶システム750を含む例示的なシステム700の絵図および機能図である。システム700は、車両100、および車両100と同じまたは同様に構成され得る車両100A、100Bも含む。簡潔にするため、いくつかの車両およびコンピューティングデバイスのみを図示しているが、通常のシステムは、これよりもはるかに多くのものを含み得る。
【0032】
図7に示されるように、コンピューティングデバイス710、720、730、740の各々は、1つ以上のプロセッサ、メモリ、データ、および命令を含み得る。そのようなプロセッサ、メモリ、データ、および命令は、コンピューティングデバイス110の1つ以上のプロセッサ120、メモリ130、命令132、およびデータ134と同様に構成されてもよい。
【0033】
ネットワーク760および介在ノードは、ブルートゥースやブルートゥースLE、インターネット、World Wide Web、イントラネット、仮想プライベートネットワーク、ワイドエリアネットワーク、ローカルネットワーク、1つ以上の企業に専有の通信プロトコルを使用するプライベートネットワーク、イーサネット、WiFi、およびHTTP、ならびにそれらの様々な組み合わせなどの短距離通信プロトコルを含む様々な構成およびプロトコルを含み得る。そのような通信は、モデムおよび無線インターフェースなどの、他のコンピューティングデバイスとの間でデータを送受信することができるいずれかのデバイスによって容易に行われ得る。
【0034】
一例では、1つ以上のコンピューティングデバイス710は、他のコンピューティングデバイスとの間でデータを受信、処理、および送信する目的で、ネットワークの異なるノードと情報を交換する、例えば、負荷分散されたサーバファームなど、複数のコンピューティングデバイスを有する1つ以上のサーバコンピューティングデバイスを含んでもよい。例えば、1つ以上のコンピューティングデバイス710は、ネットワーク760を介して、車両100のコンピューティングデバイス110、または車両100Aの同様のコンピューティングデバイス、ならびにコンピューティングデバイス720、730、740と通信することができる1つ以上のサーバコンピューティングデバイスを含んでもよい。例えば、車両100、100Aは、サーバコンピューティングデバイスによって様々な場所に配車され得る車両の集団の一部でもよいこの点について、サーバコンピューティングデバイス710は、車両100および車両100Aなどの車両が自律運転モードで動作するために使用し得る自律制御ソフトウェアを検証するために使用できる検証コンピューティングシステムとして機能し得る。さらに、サーバコンピューティングデバイス710は、ネットワーク760を使用して、コンピューティングデバイス720、730、740のディスプレイ724、734、744などのディスプレイ上で、ユーザ722、732、742などのユーザに情報を送信および提示し得る。この点について、コンピューティングデバイス720、730、740は、クライアントコンピューティングデバイスと見なされ得る。
【0035】
図7に示されるように、各クライアントコンピューティングデバイス720、730、740は、ユーザ722、732、742によって使用されることが意図されたパーソナルコンピューティングデバイスであり得、1つ以上のプロセッサ(例えば、中央処理装置(CPU))、データおよび命令を記憶するメモリ(例えば、RAMおよび内蔵ハードドライブ)、ディスプレイ724、734、744などのディスプレイ(例えば、スクリーンを有するモニタ、タッチスクリーン、プロジェクタ、テレビ、または情報を表示するように動作可能な他のデバイス)、およびユーザ入力デバイス726、736、746(例えば、マウス、キーボード、タッチスクリーン、またはマイクロフォン)を含む、パーソナルコンピューティングデバイスと関連して通常使用される構成要素のすべてを有し得る。クライアントコンピューティングデバイスはまた、ビデオストリームを記録するためのカメラ、スピーカ、ネットワークインターフェースデバイス、およびこれらの要素を互いに接続するために使用されるすべての構成要素を含んでもよい。
【0036】
クライアントコンピューティングデバイス720、730、および740は、各々、フルサイズのパーソナルコンピューティングデバイスを含み得るが、代替的に、インターネットなどのネットワーク上でサーバとデータを無線で交換することができるモバイルコンピューティングデバイスを含み得る。単なる例として、クライアントコンピューティングデバイス720は、携帯電話、または無線対応PDA、タブレットPC、ウェアラブルコンピューティングデバイスもしくはシステムなどのデバイス、またはインターネットもしくは他のネットワークを介して情報を取得することができるネットブックでもよい。別の例では、クライアントコンピューティングデバイス730は、
図7に示されるように、腕時計として示されるウェアラブルコンピューティングシステムでもよい。一例として、ユーザは、小型キーボード、キーパッド、マイクロフォンを使用して、カメラを用いた視覚信号、またはタッチスクリーンを使用して、情報を入力し得る。
【0037】
いくつかの例では、クライアントコンピューティングデバイス740は、車両100および車両100Aなどの車両のコンピューティングデバイスから受信した支援の要求に応答するために、管理者またはユーザ742などの他の人間のオペレータによって使用される操作ワークステーションでもよい。
図7および
図8には単一の操作ワークステーション740のみが示されているが、典型的なシステムには、任意の数のそのようなワークステーションが含まれてもよい。さらに、操作ワークステーションはデスクトップコンピュータとして図示されているが、操作ワークステーションは、ラップトップ、ネットブック、タブレットコンピュータなど様々なタイプのパーソナルコンピューティングデバイスを含み得る。
【0038】
メモリ130と同様に、記憶システム750は、ハードドライブ、メモリカード、ROM、RAM、DVD、CD-ROM、書き込み可能および読み出し専用メモリなどの、サーバコンピューティングデバイス710によりアクセス可能な情報を記憶することができる、任意のタイプのコンピュータ化された記憶装置であり得る。さらに、記憶システム750は、データが、同じまたは異なる地理的場所に物理的に位置し得る複数の異なる記憶デバイス上に記憶される、分散型記憶システムを含んでもよい。記憶システム750は、
図7および
図8に示すように、ネットワーク760を介してコンピューティングデバイスに接続されてもよく、および/またはコンピューティングデバイス110、710、720、730、740などの何れかに直接的に接続されるか、もしくは組み込まれてもよい。
【0039】
例示的な方法
上述し、図に示した動作に加えて、様々な動作を、ここで説明する。以下の動作は、以下に説明する正確な順序で実行される必要がないことを理解されたい。むしろ、様々なステップが、異なる順序で、または同時に処理されてもよく、ステップもまた、追加または省略されてもよい。
【0040】
上記のように、車両100が走り回るとき、その知覚システム172は、様々なセンサを使用して、車両の環境内の物体を検出および識別することができる。この場合も、少なくともいくつかのこれらセンサは、前述のカメラグループを含み得る。所与のカメラグループのカメラが正しく動作していることを確実するために、これらのカメラの機能性を評価することができる。そのために、画像500および600などの2つ以上の画像が、カメラグループ300(またはカメラグループ400)などのカメラグループのカメラからコンピューティングデバイス110によって受信され得る。理想的には、これらの画像は、重複する視野内の同じ位置にある同じ物体を1つ以上捕捉するように、非常に近い時間で、または何らかの所定の期間内に捕捉される。
【0041】
画像の処理を簡素化するために、画像のサイズが縮小されてもよい。例えば、コンピューティングデバイス110は、例えば、サムネイル化、および/または別様に、重複する視野に対応する部分のみを含むようにクロッピングすることによって、各画像のサイズを縮小することができる。
図9を参照するに、画像500および600は、クロッピングされた領域950、960にクロッピングされ得る。これらのクロッピングされた領域は、視野312および322の重複部分302に対応する部分のみを含む。次に、クロッピングされた領域950、960は、ピクセル数を減らすために縮小またはサムネイル化され得る。結果として、カメラ310および320の視野の重複部分302に対応するピクセルのみを含み得る縮小画像952および962が得られる。この点について、両方の縮小画像が、同じ位置にある同じ物体を含む可能性は非常に高くなる。場合によっては、元の解像度の画像を使用して非常に小さなオクルージョンを検出するためにクロッピングが回避され得るが、これにより、処理は、カメラの位置合わせにおける小さなエラーに対してより敏感になり、同様に視差に対してより敏感になり得る。
【0042】
次に、縮小された(または縮小されていない)画像を分析して、特徴ベクトルを生成することができる。例えば、第1の特徴ベクトルは、縮小画像952に対して生成され得、第2の特徴ベクトルは、縮小画像962に対して生成され得る。したがって、これらの特徴ベクトルは、縮小画像の色、エッジ、明るさ、コントラストなどの特徴を表す。場合によっては、特徴ベクトルは画像自体のピクセルを含み得る。
【0043】
カメラグループからの縮小画像の第1の特徴ベクトルを使用して、1つ以上の類似性スコアが決定されてもよい。例えば、コンピューティングデバイス110は、(カメラグループの異なるカメラからの縮小画像のペアからの)特徴ベクトルの各ペアを比較して、類似性スコアまたはそれらが互いにどれほど類似しているかを決定することができる。
【0044】
類似性スコアは、コサイン類似性測定、クラスタリング技術、または他のベクトル類似性測定技術を使用して決定することができる。例えば、構造類似性(SSIM)インデックスを使用して、縮小画像に対する特徴ベクトル間の類似性を測定し、類似性スコアを決定することができる。この点について、高い類似性スコアは、2つの縮小画像間の特徴の類似性が高いことを示し、低い類似性スコアは、2つの縮小画像間の特徴の類似性が低いことを示す。
【0045】
別の場合には、類似性スコアは、モデルを使用して決定することができる。使用中、第1および第2の特徴ベクトルがモデルに入力され得、モデルは、画像の異なる部分(左側、右側、内部など)がどれだけ類似しているかを表す類似性スコアまたは一連の類似性スコアを提供し得る。
【0046】
モデルは、決定木モデル、ランダムフォレストモデル、ニューラルネット、またはその他の機械学習モデルでもよい。決定木は、より高度なニューラルネットを訓練するデータが限られている状況で特に実用的であり得る。モデルは、コンピューティングデバイス110に局所的に、例えば、メモリ130に記憶され得る。モデルは、例えば、1つ以上のサーバコンピューティングデバイス710においてオフラインで訓練され、その後、ネットワーク760を介してコンピューティングデバイス110に送信され得る、および/またはメモリ130に直接的にロードされ得る。
【0047】
モデルは、カメラグループ300、400のカメラ310、320、410、420、430などのカメラグループのカメラからの画像を訓練入力として、対応する類似性スコアを訓練出力として、実世界の例を使用して訓練されてもよい。訓練目的にはネガティブな例の数が限られていることがあるため、それに加えて、または代わりに、訓練は、他の点では良い画像から典型的な問題(障害物、レンズの汚れなど)を含む「悪い」画像をシミュレートするために故障注入技術を用いることを含む。次に、他の点では良い画像からの特徴ベクトルは、悪い画像からの特徴とペアにされて、訓練データとして低い類似性スコアを有するものとして識別され得る。同様に、良い画像からの特徴ベクトルは、それ自体とペアにされて、訓練データとして高い類似性スコアを有するものとして識別され得る。当然のことながら、全ての訓練と同様に、モデルを訓練するために使用される訓練データまたは例が多いほど、モデルによって生成される類似性の値の信頼性が高くなる。
【0048】
場合によっては、モデルは、訓練されて、追加情報とともに使用されてもよい。例えば、第1の画像の深度データ、第2の画像の深度データ、太陽の場所(例えば、画像を捕捉したカメラに対する太陽の角度)、または時刻情報などの追加情報。深度データは、知覚システム172の1つ以上のライダーセンサによって提供されるセンサデータを各画像の視野(または座標系)に投影することによって生成される深度マップでもよい。時刻は、例えば、画像を捕捉したカメラによって提供され得、カメラに対する太陽の角度は、メモリ130に記憶された時刻と相関するデータから特定され得る。言い換えれば、コンピューティングデバイスは、データおよび時刻、ならびに車両の現在の場所に対する画像を捕捉したカメラの一方または両方の位置が与えられると、太陽の角度を決定することができる。
【0049】
類似性スコアは、カメラの動作を評価するために使用されてもよい。例えば、コンピューティングデバイス110は、類似性スコアを閾値と比較して、縮小画像間の類似性が低すぎるか、またはむしろ縮小画像が非常に異なるためにカメラの1つにエラーがあるか、または塞がれている可能性が高いと決定してもよい。場合によっては、第1および第2の画像の異なる部分に類似性スコアがある場合、それらの異なる部分の類似性スコアを閾値と比較することにより、カメラレンズのどの部分にエラーがあるか、または塞がれているかを正確に識別することに役立ち得る。多くの場合、カメラのレンズの1つで結露がゆっくりと発生する場合など、変化を識別するには閾値で十分であり得る。閾値は、誤検知を多く発生させることなく、そのような変化に十分に敏感になるように、選択され得る。例えば、SSIMスコアの範囲がー1から1の場合、閾値は0.25以上またはそれ以下に設定されてもよい。それ自体はあまり意味のある数字ではない。
【0050】
ただし、カメラのレンズの1つに亀裂が形成されている場合など、場合によっては、閾値は必ずしも問題を識別できるとは限らない。そのような場合、急な変化を識別するために、2つのカメラ間の多くの画像が、経時的にコンピューティングデバイス110によって比較されてもよい。例えば、累積和管理図(CUSUM)は、必ずしも閾値を満たし得るとは限らない、経時的な類似性スコアにおける急な変化を識別するために使用され得るが、カメラの1つに問題があることも示し得る。
【0051】
閾値に達した場合、または急な変化が検出された場合、車両のコンピューティングデバイスは、一方または両方のカメラに問題があると想定してもよい。そのため、車両のコンピューティングデバイスは適切な対応を取り得る。例えば、一方または両方のカメラ用の洗浄システム314、324、414、424、434などの洗浄システムが、自動的にアクティブにされてもよい。加えてまたは代わりに、要求が、カメラ画像(元の画像または縮小画像)をチェックするために、コンピューティングデバイス110から、例えば、ネットワーク760を介して、コンピューティングデバイス740およびユーザ742などのリモートアシスタンスオペレータに送信され得る。リモートアシスタンスオペレータまたはユーザ742は、問題を修正するのに単純な洗浄(ワイパーおよび洗浄液などの洗浄システムをアクティブにすることによる)で十分であるかどうか、車両が道の片側に寄るべきかどうか、またはカメラが重要なセンサでない場合は運転判断をするのに該カメラからの情報を使用して車両が単に停止するべきかどうかを決定することができる。場合によっては、リモートアシスタンスオペレータまたはユーザ742は、1つ以上の洗浄システムをリモートでアクティブにし(場合によっては、非アクティブに)し、第2の組の画像を見て洗浄が十分であったかどうかを確認することできる。コンピューティングデバイス110はまた、問題が処理されたことをリモートアシスタンスオペレータまたはユーザ742が確認できるよう、ネットワーク160を介してカメラグループの各カメラから更新された画像を送信してもよい。
【0052】
場合によっては、コンピューティングデバイス110は、カメラグループの1つ以上のカメラに問題があるという情報に基づいて、無効な画像または画像の無効な部分の処理を回避することができる。加えて、または代わりに、コンピューティングデバイス110は、問題が解決されるまで、自律運転モードの車両を単に制御して道の片側に寄らせるようにしてもよい。
【0053】
画像を処理し、変化を検出し、適切な対応を取るといった前述の処理は、グループ画像がカメラグループによって捕捉されるたびに、またはそれより少ない頻度で、定期的に実行され得る。
【0054】
また、誤検知を回避するために、追加のステップが実行されてもよい。例えば、車両がトンネルを離れるとき、またはカメラの1つに近い物体が何らかの視差を引き起こすとき、カメラによって捕捉された複数のフレームが時間の経過とともに集約され得る。これらの集約された画像は、上記のように縮小され、特徴ベクトルを生成するために使用されてもよい。加えて、または代わりに、知覚システム172の1つ以上のライダーセンサによって提供されるセンサデータから生成される深度マップを使用して、車両100の移動により視差が生ずる可能性が高い画像または縮小画像の領域を「スキップ」または別様に無視してもよい。この点について、特徴ベクトルは、視差により異なると予想される画像の一部または縮小画像からではなく、類似すると予想される画像の一部または縮小画像から生成され得る。
【0055】
前述の技術は、環境光が良好な日中または日照時間中はうまく働くが、暗い環境や夜間の環境では、類似性スコアとSSIMの信頼性が低下することがある。この点について、夕方または夜間の時間に対応する1日の特定の時間帯に、2つの縮小画像における全ての特徴を一致させるのではなく、輝点または高輝度領域のみが比較されてもよい。例えば、典型的には、交通信号やテールライトなどの光源は、法的要件であるため既知の一定の明るさを有するため、このようなライトは縮小画像で可視になるはずである。この輝点アプローチは、ライトの法的要件に依存せず、車両のライトにのみ適用されるわけではない。むしろ、このアプローチは、NDフィルタ(ほとんどの光を遮断する)を備えたカメラで輝点が可視である場合、同じ輝点は他のカメラ(より多くの光を受け取る)でも可視であるはずであるといった事実に依存している。
【0056】
例えば、
図10および
図11の画像1000および1100を参照すると、一方の画像1000は、第1の露光期間にわたってNDフィルタを備えたカメラ310などの第1のカメラを使用して捕捉され得、第2の画像1100は、第2の露光期間にわたってNDフィルタを備えていないカメラ320などの第2のカメラを使用して捕捉され得る。第1および第2の露光時間は、同じであっても異なっていてもよく、例えば、第2の露光期間は、第1の露光期間よりも短くてもよい。理解を容易にするために、画像1000および1100は、夜間の時間帯に捕捉されているが、それぞれ画像500および600に対応する。したがって、両方の画像は、交通信号510および車両520を含むが、NDフィルタの使用および露光時間のため、1100ではいくらか可視画像であるが、画像1000では可視ではない。本例では、画像は暗く見えるが、交通信号510の輝点1010および車両520のテールライトの輝点1020、1022は、画像1000および1100の両方において可視である。
【0057】
この場合も、これらの画像に対する特徴ベクトルを生成する前に、上記のように画像をクロッピングし縮小することができる。さらに、これらの縮小画像に対して生成された特徴ベクトルは簡単にされ得る。例えば、画像1000および1100に対する特徴ベクトルは、輝点に対応する特徴の形状、場所、およびサイズといった特性のみを説明するために生成されてもよい。言い換えれば、特徴ベクトルは、縮小画像における発光物に対応する特徴のデータのみを含み得る。したがって、領域に光源が非常に少ない場合、この処理はあまり効果的ではない場合がある。しかしながら、画像の露光パラメータ(シャッタースピード、アナログゲイン、NDフィルタなど)が既知であるため、画像は広範囲の露光パラメータに対して補正することもできる。例えば、SSIMアプローチでは、最大約6ストップ(64倍)の差異を比較的適切に処理することができる。
【0058】
これらのベクトルに対する類似性スコアは、SSIMを含む上述の例のいずれかを使用して再度決定することができる。当然のことながら、輝点の位置を表す特徴は、そのような状況での比較において最も重要な特性になる。この場合も、カメラの1つに問題があるかどうかを識別するために、類似性スコアは閾値と比較される、および/またはCUSUMを用いて追跡されてもよい。その後、上記のように適切な対応が取られ得る。
【0059】
図12は、本明細書に記載のいくつかの態様による、2台以上のカメラの動作を評価するための例示的なフロー
図1200であり、コンピューティングデバイス110のプロセッサ120のように、1つ以上のコンピューティングデバイスの1つ以上のプロセッサによって実行され得る。本例では、ブロック1210において、第1のカメラによって捕捉された第1の画像が受信される。ブロック1220において、第2のカメラによって捕捉された第2の画像が受信される。第1のカメラおよび第2のカメラは、重複する視野を有する。ブロック1230において、第1の画像に対する第1の特徴ベクトルおよび第2の画像に対する第2の特徴ベクトルが生成されてもよい。ブロック1240において、第1の特徴ベクトルおよび第2の特徴ベクトルを使用して類似性スコアが決定されてもよい。ブロック1250において、2台のカメラの動作を評価するために類似性スコアが使用されてもよい。
【0060】
本明細書で説明する特徴により、様々な照明条件での信頼性の高いカメラ評価が可能となる。上記のように、カメラが世界を適切に「見ている」かどうか、またはレンズに何らかの異物のごみが付いているか、結露があるか、機能していないピクセルがあるかなどを判断することは非常に困難である。これは、運転判断を行うためにそのようなカメラに依拠する自律型車両の場合に特に重要であり得る。
【0061】
別段の記載がない限り、前述の代替例は、相互に排他的ではないが、独自の利点を達成するために様々な組み合わせで実施されてもよい。上述した特徴のこれらおよび他の変形および組み合わせは、特許請求の範囲によって定義される主題から逸脱することなく利用することができるので、実施形態の前述の説明は、特許請求の範囲によって定義される主題を限定するのではなく、例示としてみなされるべきである。さらに、本明細書に記載された実施例、ならびに「など」、「含む」などと表現された語句の提供は、特許請求の範囲の主題を特定の実施例に限定するものと解釈されるべきではなく、むしろ、実施例は、多くの可能な実施形態のうちの1つだけを例示することが意図されている。さらに、異なる図面中の同じ参照番号は、同じまたは類似の要素を特定することができる。