(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-24
(45)【発行日】2024-02-01
(54)【発明の名称】誤り検出及び訂正のためのシステム、ストレージメディア及び方法
(51)【国際特許分類】
G06T 1/00 20060101AFI20240125BHJP
H04N 23/60 20230101ALI20240125BHJP
【FI】
G06T1/00 500A
H04N23/60 500
【外国語出願】
(21)【出願番号】P 2020049409
(22)【出願日】2020-03-19
【審査請求日】2023-02-10
(32)【優先日】2019-05-01
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】500395107
【氏名又は名称】アーム・リミテッド
(74)【代理人】
【識別番号】100107456
【氏名又は名称】池田 成人
(74)【代理人】
【識別番号】100162352
【氏名又は名称】酒巻 順一郎
(74)【代理人】
【識別番号】100123995
【氏名又は名称】野田 雅一
(72)【発明者】
【氏名】デイヴィッド ハンウェル
(72)【発明者】
【氏名】アンドリュー デューハースト
【審査官】岡本 俊威
(56)【参考文献】
【文献】特開2009-223506(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
H04N 23/60
(57)【特許請求の範囲】
【請求項1】
一時的な誤りを検出及び訂正するため
に少なくとも1つのプロセッサによって実行される方法であって、
カメラシステムから画像データを取得するステップと、
第1の画像信号プロセッサ及び第2の画像信号プロセッサにより画像データを処理して、第1の出力データ及び第2の出力データを作成するステップ
と、
少なくとも前記第1の出力データ及び第2の出力データに基づいて少なくとも1つの統計モデルを生成するステップと、
前記第1の出力データに誤りが存在しているかどうかを前記統計モデルに基づいて識別するステップと、
画像データの部分に関する訂正値を生成するステップであって、前記訂正値が、前記統計モデルに基づく予想値である、ステップと、
前記訂正値を使用して、更新された出力データを生成するステップと、
前記更新された出力データを出力デバイスへ出力するステップと、
を含む方法。
【請求項2】
前記少なくとも1つの統計モデルを生成するステップが、前記カメラシステムによって取得された前の画像データ、及び少なくとも1つの現実世界の基準画像にさらに基づく、請求項1に記載の方法。
【請求項3】
前記画像データを処理する前記ステップが、前記カメラシステムによって取得された前記画像データの一部分を処理することを含む、請求項1又は2に記載の方法。
【請求項4】
前記訂正値を生成するステップが、少なくとも1つの機械学習アルゴリズムを前記出力
データに適用して、前記少なくとも1つの統計モデルを使用して前記誤りに関する予想値を生成することを含む、請求項1~3のいずれか一項に記載の方法。
【請求項5】
更新された出力データを生成する前記ステップが、前記訂正値を前記第1の出力データと組み合わせることを含む、請求項1~4のいずれか一項に記載の方法。
【請求項6】
更新された出力データを生成する前記ステップが、前記第1の出力データにおける前記誤りに対応する前記第2の出力データの一部分を前記訂正値と比較することと、前記部分が前記訂正値に実質的に対応する場合には、前記更新された出力データを、前記第2の出力データであるように設定することとを含む、請求項1~5のいずれか一項に記載の方法。
【請求項7】
システム環境に関連している画像データを取得するためのカメラシステムと、
それぞれが、前記カメラシステムから受信された前記画像データを処理して第1の出力
データ及び第2の出力
データを生成するための少なくとも2つの画像信号プロセッサと、
前記第1の出力
データにおける1つ又は複数の誤りを検出し、更新された出力データを生成するための誤り検出及び訂正モジュールであって、前記更新された出力データが、訂正された誤りを含み、前記訂正された誤りが、前記第1の出力
データ及び第2の出力
データに基づいて少なくとも統計モデルを使用して生成される、誤り検出及び訂正モジュールと、
前記更新された出力データを前記誤り検出及び訂正モジュールから受信するための出力デバイスと、
を備えるセーフティクリティカルシステム。
【請求項8】
前記誤り検出及び訂正モジュールが、
前記第1の出力
データ及び第2の出力
データに基づいて少なくとも1つの統計モデルを生成するための統計モデルユニットと、
第1の出力
データに誤りがあるかどうかを特定するための誤り特定ユニットと、
更新された出力データを生成するための出力生成ユニットであって、前記更新された出力データが、前記統計モデルによって生成された予想値を含む、出力生成ユニットと、
を備える、請求項7に記載のセーフティクリティカルシステム。
【請求項9】
前記誤り検出及び訂正モジュールが、前記予想値を前記第1の出力データと組み合わせるための組合せユニットをさらに備える、請求項8に記載のセーフティクリティカルシステム。
【請求項10】
前記誤り検出及び訂正モジュールが、比較ユニットをさらに備え、前記比較ユニットが、前記予想値を前記第1の出力データにおける前記誤りに対応する前記第2の出力
データの一部分と比較して、前記第2の出力データの前記部分が前記予想値と実質的に同様である場合には、前記第2の出力データを出力するためのものである、請求項8又は9に記載のセーフティクリティカルシステム。
【請求項11】
前記出力デバイスが、前記誤り検出及び訂正モジュールの前記出力
データを処理するためのプロセッサである、請求項7~10のいずれか一項に記載のセーフティクリティカルシステム。
【請求項12】
前記誤り検出及び訂正モジュールが、少なくとも1つの機械学習プロセッサを備える、請求項7~11のいずれか一項に記載のセーフティクリティカルシステム。
【請求項13】
格納されているコンピュータ可読命令のセットを備える持続性コンピュータ可読ストレージメディアであって、前記命令が、少なくとも1つのプロセッサによって実行されたときに、セーフティクリティカルシステムにおけるエラーを前記プロセッサに検出及び訂正させ、前記命令が、
カメラシステムから画像データを取得することと、
第1の画像信号プロセッサ及び第2の画像信号プロセッサにより画像データを処理して、第1の出力データ及び第2の出力データを作成することと、
少なくとも前記第1の出力データ及び第2の出力データに基づいて少なくとも1つの統計モデルを生成することと、
前記第1の出力データに誤りが存在しているかどうかを前記統計モデルに基づいて特定することと、
画像データの部分に関する訂正値を生成することであって、前記訂正値が、前記統計モデルに基づく予想値である、生成することと、
前記訂正値を使用して、更新された出力データを生成することと、
前記更新された出力データを出力デバイスへ出力することと、
を含む、持続性コンピュータ可読ストレージメディア。
【請求項14】
少なくとも1つのカメラシステムと、
請求項1~6のいずれか一項に記載の方法に着手するように構成されているプロセッサと、
を備える自律車両。
【発明の詳細な説明】
【技術分野】
【0001】
[01]本開示は、セーフティクリティカルシステムの1つ又は複数のセンサによって取り込まれたデータにおける誤り、より詳細には、カメラによって取り込まれた画像データにおける誤りの検出及び訂正に関する。
【背景】
【0002】
[02]自律車両などにおけるセーフティクリティカルシステムは、どんな行動を取るべきかに関する決定を行うために、環境に関するデータ、たとえば環境の画像をしばしば取り込む。データの1つ又は複数の部分における、たとえば、画像データのピクセルにおける誤りをシステムが検出した場合には、そのデータは、信頼できないと分類されるので、しばしば破棄される。システムが、物体の動きを経時的に分析することと、したがってデータの複数の部分における物体の動きを追跡把握することとを要求される場合には、欠けている部分を分析することが不可能であることに起因して、さらなる誤りがもたらされる結果になることがある。
【概要】
【0003】
[03]本開示の第1の態様によれば、一時的な誤りを検出及び訂正するための方法が提供されており、この方法は、カメラシステムから画像データを取得するステップと、第1の画像信号プロセッサ及び第2の画像信号プロセッサにより画像データを処理して、第1及び第2の出力データを作成するステップと、少なくとも第1及び第2の出力データに基づいて少なくとも1つの統計モデルを生成するステップと、第1の出力データに誤りが存在しているかどうかを統計モデルに基づいて識別するステップと、画像データの部分に関する訂正値を生成するステップであって、訂正値が、統計モデルに基づく予想値である、ステップと、訂正値を使用して、更新された出力データを生成するステップと、更新された出力データを出力デバイスへ出力するステップとを含む。
【0004】
[04]本開示の第2の態様によれば、システム環境に関連している画像データを取得するためのカメラシステムと、それぞれが、カメラシステムから受信された画像データを処理して、第1の出力及び第2の出力を生成するための少なくとも2つの画像信号プロセッサと、第1の出力における1つ又は複数の誤りを検出し、更新された出力データを生成するための誤り検出及び訂正モジュールであって、更新された出力データが、訂正された誤りを含み、訂正された誤りが、第1の出力及び第2の出力に基づいて少なくとも統計モデルを使用して生成される、誤り検出及び訂正モジュールと、更新された出力データを誤り検出及び訂正モジュールから受信するための出力デバイスとを備えるセーフティクリティカルシステムが提供されている。
【0005】
[05]本開示の第3の態様によれば、格納されているコンピュータ可読命令のセットを備える持続性コンピュータ可読ストレージメディアが提供されており、それらの命令は、少なくとも1つのプロセッサによって実行されたときに、セーフティクリティカルシステムにおけるエラーをプロセッサに検出及び訂正させ、それらの命令は、カメラシステムから画像データを取得することと、第1の画像信号プロセッサ及び第2の画像信号プロセッサにより画像データを処理して、第1及び第2の出力データを作成することと、少なくとも第1及び第2の出力データに基づいて少なくとも1つの統計モデルを生成することと、第1の出力データに誤りが存在しているかどうかを統計モデルに基づいて特定することと、画像データの部分に関する訂正値を生成することであって、訂正値が、統計モデルに基づく予想値である、生成することと、訂正値を使用して、更新された出力データを生成することと、更新された出力データを出力デバイスへ出力することとを含む。
【0006】
[06]本開示の第4の態様によれば、少なくとも1つのカメラシステムと、一時的な誤りを検出及び訂正するための方法に着手するように構成されているプロセッサとを備える自律車両が提供されている。
【図面の簡単な説明】
【0007】
[07]単なる例として与えられている、本発明の好ましい実施形態についての以降の説明から、実施形態のさらなる特徴及び利点が明らかになるであろう。その説明は、添付の図面を参照しながら行われており、それらの図面においては、同様の特徴を示すために同様の参照番号が使用されている。
【
図2】
図2は、例によるシステムを概略的に示す図である。
【詳細な説明】
【0008】
[08]図を参照しながら、以降の説明から、例によるシステム及び方法の詳細が明らかになるであろう。この説明においては、説明の目的のために、特定の例についての多くの具体的な詳細が記載されている。本明細書における「例」又は類似の言葉への言及は、その例に関連して記述されている特徴、構造、又は特性が、少なくともその1つの例には含まれているが、その他の例に必ずしも含まれているとは限らないということを意味している。特定の例は、それらの例の根底にある概念の説明及び理解を容易にするために特定の特徴が省略されて及び/又は必要に応じて簡略化された状態で概略的に記述されているということにさらに留意されたい。
【0009】
[09]セーフティクリティカルシステムにおいては、一時的な誤りが、システムの構成要素によって作成及び格納されるデータに影響を与える可能性がある。そのような一時的な誤りは、システムの設計又は構造における欠陥によって引き起こされる可能性がある。或いは、ストレージデバイス及びプロセッサにおいては、構成要素のシリコンダイに粒子が当たった場合にチップレベルの一時的な誤りが発生する可能性がある。チップレベルの一時的な誤りは、データ(たとえば、ストレージ回路における電子)が変化して物理的なチップそのものは変化しないという結果をもたらす。このような相互作用を引き起こす可能性がある粒子は、パッケージ崩壊からのアルファ粒子、エネルギー中性子及び陽子を生み出す宇宙線、並びに熱中性子(周囲との熱平衡に至るまで運動エネルギーを失ってきた中性子)を含むが、それらには限定されない。たとえば、特定の特性を有する粒子がシステムの構成要素におけるフリップフロップに当たった場合には、その粒子は、フリップフロップが状態を別の値へ変えるようにさせることがある。この相互作用は非常に小さいので、シリコンダイの物理的な構造を損なわないが、シリコンダイの上に格納されているデータを破損することがあり、したがって、プロセッサによって着手されているプロセスに影響を与えることがある。同様に、粒子がデータバスと相互作用した場合に誤りが発生して、ノイズを引き起こす可能性があり、そのノイズがデータビットとして解釈され、以てさらなる誤りを引き起こすことがある。
【0010】
[10]一時的な誤りは、現実世界においては頻繁にあり、メモリにおける粒子の衝突によって引き起こされて一般に不可避である誤りなどの一時的な誤りはさらに、システムによって受信されるデータの分析上に含意を有する可能性がある。したがって、現実世界においては、セーフティクリティカルシステムは、そのような一時的な誤りを検出すること及び潜在的に訂正することが可能である必要がある。これらの誤りを検出するための一例が、冗長システムをロックステップで動作させることである。いくつかのシステムは、システムオンチップとして実装される可能性があり、したがって、システムの複数の構成要素が一時的な誤りの影響を受けやすい可能性がある。同様に、画像信号プロセッサ、及びグラフィカル処理ユニットなどのその他のプロセッサにおいては、チップの大部分が、ピクセルデータのアルゴリズム処理の専用とされている。これらの一時的な誤りの検出及び訂正を確実にすることが必要である。なぜなら、それらの一時的な誤りは、処理パイプラインの全体を通じてデータにおけるさらに重大な誤りをもたらす可能性があるからである。
【0011】
[11]画像処理アプリケーションに関しては、誤り、及びその誤りの重大さの特定は、特に困難である。たとえば、自律車両のカメラシステムにおいては、誤りが検出されなければならないだけでなく、誤りに対応する最善の方法も特定されなければならない。誤りは、出力を冗長システムの出力と比較することによって検出されることが可能であり、その比較が誤りを示した場合には、システムは、誤りを含んでいるデータを破棄することが可能である。なぜなら、そのデータにおける訂正値が何であることを意図されているかに関しては分からないであろうからである。
【0012】
[12]しかしながら、単一ビットの誤りを、又は画像の数ピクセルにおける誤りなどの複数の誤りでさえも有するデータが、自律車両システムにとって依然として有用である可能性がある。これらのシステムは、軽微な欠陥を伴う入力を利用することが一般に可能である。たとえば、コンピュータビジョンシステムは、いくらかの許容誤差を伴う最適ではない入力画像データを訂正するために利用可能な画像訂正アルゴリズム及びその他の方法を既に有している可能性がある。ほとんどのコンピュータビジョンアルゴリズムは、たとえば、レンズ効果、及びレンズ上の汚れなどのその他の障害物に起因する最適ではない画像データを分析することが可能である。いくつかのコンピュータビジョンアルゴリズムは、部分的に見えにくくされた物体及び/又は人を検出することも可能である。
【0013】
[13]上述されているように、セーフティクリティカルシステムは、たとえばロックステップでデータを冗長システムからのデータと比較することによって、誤りがあるということが特定された場合には、そのデータをしばしば破棄する。これは理想的ではなく、多くのシステム、特に自律車両において使用されるシステムは、決定、たとえば障害物を検出及び追跡把握することを行うためのデータの連続したストリームを必要とする。誤りが検出され、並びにシステムがリセットされ、及び/又は破損されたデータが破棄された場合には、データの連続性が中断され、したがって、動いている物体を追跡把握するビジョンシステムの能力に影響を与えることがある。さらに、システムがリセットされた場合には、このことによって、物体の動きの情報又は履歴をシステムが有していない期間が生じることになり、したがってシステムは、フレームを通じて、動いている物体を追跡把握する能力を失うことになる。
【0014】
[14]
図1は、例による方法を示す流れ図である。アイテム110において、データが1つ又は複数のセンサから取得され、たとえば、画像データがカメラから取得されることが可能である。1つ又は複数のセンサは、自律車両などのデバイスに関連付けられることが可能である。センサは、複数の異なる波長から環境に関する情報を取得することが可能である。たとえば、画像センサは、画像を取り込むための任意の適切なフォトセンサであることが可能であるセンサピクセルのアレイを備えることが可能であるのが典型的である。典型的なセンサピクセルは、入射光を電子的な信号又はデータへと変換することが可能であるフォトダイオードなどの感光性エレメントを含む。センサピクセルは、たとえば、電荷結合素子(CCD)又は相補型金属酸化膜半導体(CMOS)であることが可能である。露光は、画像センサのそれぞれのセンサピクセルによって光が取り込まれる時間期間、及び/又はそれぞれのセンサピクセルによって生成される電気信号に対して増幅器によって適用される利得を設定するのが典型的である。したがって、入射光に対する画像センサの感度は、露光によって一般に特定される。画像センサは、単一の露光を使用して画像データを取り込むように構成されることが可能である。たとえば、画像センサのすべてのセンサピクセルは、互いに同じ期間中に、又は互いに同じ長さの時間期間中に光を取り込むことが可能である。しかしながら、その他の例においては、本明細書において記述されている例とともに使用するための画像センサは、少なくとも2つの異なる露光を伴うセンサピクセルを使用して画像データを取り込むように構成されている多重露光画像センサであることが可能である。
【0015】
[15]したがって画像データは、それぞれのセンサピクセルによって取り込まれた光の少なくとも1つの特性を表すことが可能であり、それらの特性は、それぞれのセンサピクセルによって取り込まれた光子の数に比例することが可能である。強度は、取り込まれた光の輝度を表すことが可能であり、その輝度は、たとえば、絶対強度よりもむしろ単位面積あたりの光の強度の測定値である。その他の例においては、画像データは、取り込まれた光の明るさを表すことが可能であり、その明るさは、輝度の知覚に対応すると考えられることが可能であり、輝度に比例することが可能であり、又は輝度に比例しないことも可能である。一般には、画像データは、画像データによって表される画像の見た目を表すために使用されることが可能である任意の測光品質又は特性を表すことが可能である。画像データは、RAW画像フォーマットなどの任意の適切なフォーマットであることが可能である。画像データは、フレームバッファに保存されて、又はフレームバッファに保存されずに、RAW画像データをファイルに保存せずに、画像センサからストリーミングされることも可能である。しかしながら、そのようなケースにおいては、RAW画像データの処理後に取得された画像データは、ファイルに保存されることが可能である。
【0016】
[16]その他の例においては、センサは、赤外線カメラ、又は可視光スペクトルにおける環境情報を取得することが可能なカメラであることが可能である。いくつかの例においては、デバイスは、カメラの代わりに、ソナー又は超音波放射など、デバイスに関連付けられている出力手段から放射される電波を受信するためのその他のセンサを備えることが可能である。
【0017】
[17]いったんデータが取得されたら、この方法はアイテム120へ進み、アイテム120では、ロックステップで動作するように構成されている2つ以上のプロセッサによってデータが処理される。所望のレベルの冗長性に応じて、プライマリプロセッサ及び1つ又は複数の冗長バックアッププロセッサがある。プロセッサの出力は、どんな行動を自律車両が取るべきかを特定するために使用されることが可能である。プロセッサは、センサによって取り込まれたデータの全体の上で動作する必要はなく、データの一部分の上で動作するだけでよい。たとえば、物体の動きを追跡把握することが必要であるとシステムが特定した場合には、又は決定を行うためにはデータの一部のみが必要とされるということが特定された場合には、処理は、画像の一部分の上で動作することが可能である。
【0018】
[18]次いでアイテム130において統計モデルが生成される。統計モデルは、誤りを識別することと、受信されたデータ並びにプライマリプロセッサ及び冗長プロセッサの出力に基づいて予想訂正値を生成することとが可能である。さらに統計モデルは、基準としての現実世界の画像の統計的尤度に基づくことも可能であり、その基準に照らして実際の訂正値が計算されることが可能であり、次いで、誤りのあるデータを統計モデルにマッチするデータと取り替えるために使用されることが可能である。統計モデルは、ローカルピクセル値どうしの分散と、特定のノイズモデル及び現在のセンサ利得を所与とした予想分散とを比較することによって算出されることが可能である。たとえば、フリップされた最上位ビットは、高い分散をもたらす可能性がより高い。ノイズモデルは、ポアソン分布と正規分布との組合せによってモデル化されることが可能である。たとえば、データが画像データである場合には、誤りは、その画像データのピクセルにある可能性がある。現実世界の基準画像に基づく統計モデルは、ピクセル置換値を生成できることが可能である。統計モデルは、同じ入力上で動作するその他のプロセッサの出力に基づくことも可能である。統計モデルは、出力の複数の部分に基づくことも可能であり、たとえば、画像データにおける個々のピクセルと、近隣の部分と、それらの部分の間における比較とが、データに関する品質又は妥当性の測定基準を抽出することなどによって、データの品質を特定する。統計モデルは、1つ又は複数の機械学習アルゴリズムを使用して、使用される信号処理アルゴリズム、たとえば、機械学習アルゴリズムをトレーニングする際に使用されるカーネルサイズ、並びにデータの内容に基づく統計、及び前の画像フレームなど、前に取り込まれたデータを考慮に入れて生成されることが可能である。センサデバイス及び/又は作成されるデータ出力のタイプにかかわらずに、類似の方法が使用されることが可能であり、したがって統計モデルは、赤外線カメラ、超音波装置、又は、セーフティクリティカルシステムにおいて使用するのに適したその他の任意のセンサタイプによって受信されるデータ用に生成されることも可能であるということが理解されるであろう。
【0019】
[19]いったん統計モデルが生成されたら、この方法はアイテム140へ進み、アイテム140では、統計モデルを使用してプライマリプロセッサの出力が分析されて、統計モデルに基づいて予想されることになるものと出力との間に差があるかどうかが識別される。差が識別されない場合には、プライマリプロセッサによって着手された処理は、予想されることになるとおりであるということ、及び誤りはないということが想定されることが可能である。したがって、この方法はアイテム170へ進み、プライマリプロセッサの出力は、悪影響を伴わずにセーフティクリティカルシステムにおけるさらなる方法に提供される。逆に、1つ又は複数の差が識別された場合には、出力のうちの少なくとも1つに誤りがあり、誤りの深刻さが特定されることが可能である。誤りの深刻さは、データにおける誤りの特徴、たとえば、誤りがデータの最上位ビットにおいて発生しているか、又は最下位ビットにおいて発生しているか、データに複数の誤りがあるかどうか、及びデータにおける誤りの場所に基づくことが可能である。検出された複数の誤りがある場合には、出力の全体が破損されていないことを確かめることも必要である。
【0020】
[20]プライマリプロセッサの出力に誤りがあるということが特定された場合には、この方法はアイテム150へ進み、アイテム150では、訂正値が生成される。訂正値は、統計モデルと、プライマリプロセッサの出力の全体とに基づくことが可能であり、又は代替として、統計モデルに、及びプライマリプロセッサの出力の部分、たとえば、画像データにおける個々のピクセルに基づくことが可能である。訂正値を生成するために使用される統計モデルは、現実世界のデータ上でトレーニングされた機械学習アルゴリズム、及びその他の処理アルゴリズムを含むがそれらには限定されないさまざまな方法に基づくことが可能である。検出された誤りを取り替えるために使用される値は、別のプロセッサの出力からの対応する値であることが可能である。或いは、誤りを取り替えるために使用される値は、たとえば、双線形補間又は異方性補間によって周囲の値から補間されることが可能である。したがって、統計モデルを使用することによって、誤りのある部分の最良の推定が生成され、以てシステムによって使用されることが可能であるデータの量を最大化すること、及び軽微な誤りを含むデータを破棄する必要性を低減することが可能である。たとえば、データが画像データであり、その画像データのピクセルのうちの1つのピクセル値に誤りが存在する場合には、誤りのある部分と、画像データの周囲のピクセルのケースにおいては周囲の部分とに関連して生成される統計モデルが使用されて、出力のうちのそれぞれに関する訂正されたピクセル値を生成することが可能であり、訂正された値のうちのそれぞれに基づいて最も妥当な値が選ばれることが可能である。最も妥当な値は、基準として使用される現実世界の画像に基づくことが可能であり、その基準に照らして実際の誤りのあるピクセルがテストされ、以て誤りのある部分が、予想された統計モデルにマッチする妥当なデータと取り替えられる。
【0021】
[21]いったん訂正値が生成されると、この方法はアイテム160へ進み、アイテム160では、最も妥当な出力が生成される。最も妥当な出力は、訂正値を使用してプライマリプロセッサの出力における誤りのあるデータを取り替えることによって生成される。いくつかの例においては、妥当なデータが冗長プロセッサの出力のうちの1つと実質的に同様である場合には、そのデータは、その全体がそのプロセッサの出力によって取り替えられることが可能である。この最も妥当な出力は、次いでアイテム170において出力デバイスへ出力される。
【0022】
[22]
図2は、例によるシステム200を概略的に示している。システム200は、システムが存在する環境に関するデータを受信するための1つ又は複数の感知デバイス210を備える。たとえば、感知デバイス210は、環境に関する可視光情報、又は代替として赤外線、若しくは光のその他の波長を取り込むことが可能なカメラであることが可能である。感知デバイス210の出力は、画像信号プロセッサなどの少なくとも2つのプロセッサ220a、220bによって処理される。プロセッサのうちの1つ220aがプライマリプロセッサであり、その一方でその他のプロセッサ220bは、プライマリプロセッサ220aとロックステップで同じ入力を処理するように構成されている冗長プロセッサである。したがって、プロセッサ220a、220bのそれぞれは、同じ処理に着手し、同じアルゴリズムをデータに適用する。感知デバイス210が、たとえば超音波センサから、環境に関するその他の情報を取得した場合には、その他のタイプのプロセッサが使用されることが可能であるということが理解されるであろう。
【0023】
[23]プロセッサ220a、220bの出力は、次いで誤り検出及び訂正デバイス230へ渡される。誤り検出及び訂正デバイス230は、ストレージと、出力を分析及び生成するための機械学習プロセッサなどの少なくとも1つのプロセッサとを備えることが可能である。メモリは、1つ又は複数の感知デバイスから受信された入力データ、並びにプライマリプロセッサ220a及び冗長プロセッサ220bからの出力を一時的に格納できることが可能である。ストレージは、カメラ又はその他の感知デバイスを収納する同じデバイスに関連付けられることが可能であり、たとえば、ストレージは、自律車両に関連付けられることが可能である。ストレージデバイスは、リモートサーバなど、デバイスの外部にあること、又はカメラシステムそのもののストレージなど、入力デバイスの一部を形成することが可能である。データは、デバイスのストレージ内に格納されることが可能であり、ストレージは、DDR-SDRAM(ダブルデータレートシンクロナスダイナミックランダムアクセスメモリ)などのランダムアクセスメモリ(RAM)又はその他の揮発性メモリであることが可能である。その他の例においては、ストレージは、読み取り専用メモリ(ROM)などの不揮発性メモリ又はフラッシュメモリなどのソリッドステートドライブ(SSD)であること又はそれらを含むことが可能である。例におけるストレージは、さらなるストレージデバイス、たとえば、磁気、光、若しくはテープメディア、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、又はその他のデータストレージメディアを含むことが可能である。ストレージは、デバイスから取り外し可能であること又は取り外し不能であることが可能である。いくつかの例においては、ストレージデバイスに格納されるデータは、画像の少なくとも一部分を表し、デバイスの外部の画像センサによって取り込まれることが可能である。
【0024】
[24]誤り検出及び訂正デバイス230の少なくとも1つの構成要素は、プロセッサ220a、220bからの出力に基づいてさまざまな統計モデルを計算するための統計モデル化モジュール232を備える。統計モデル化モジュール232は、機械学習アルゴリズムを備えることが可能であり、その機械学習アルゴリズムは、出力のうちのそれぞれを分析して、データの予想値を特定するためのさまざまな統計モデルを作成するためのものである。そのような統計モデルは、ローカルピクセル値どうしの分散と、特定のノイズモデル及び現在のセンサ利得を所与とした予想分散とを比較することを含む。
【0025】
[25]いったん統計モデルが計算されたら、それらの統計モデルは、誤り特定モジュール234におけるプライマリプロセッサ220aの出力に誤りがあるかどうかを特定するために使用される。誤り特定モジュール234は、データを統計モデルに比較し、値が、モデルに基づいて予想されることになるものであるかどうかを特定する。たとえば、データが、カメラからなどの画像データである場合には、誤り特定モジュール234は、ピクセル値が、統計モデルに基づく予想値に対応することをチェックする。ピクセル値が予想値に対応する場合には、プライマリプロセッサの出力は、出力デバイス240に提供されることが可能である。或いは、ピクセル値が、統計モデルによって提供される予想値に対応しない場合には、訂正された出力が生成される必要がある。
【0026】
[26]いくつかの例においては、誤りが検出された場合には、出力生成モジュール236は、プロセッサ220a、220bのうちのそれぞれの出力を統計モデルに比較して、出力のうちのどれが、出力するのに最も適しているかを特定するのを補助することが可能である。なぜなら、選択された出力は、より高い品質の出力である可能性があるからである。その他の例においては、統計モデルは、誤りに関する予想値を生成するために使用されることが可能である。たとえば、データが画像データである場合には、統計モデルは、誤りのあるピクセルをデータが含んでいるということが特定された場合に予想ピクセル値を生成するために使用されることが可能である。またさらなる例においては、これらの方法の組合せが使用されることが可能であるということが理解されるであろう。これは、誤りのある複数のピクセルなど、データに複数の誤りがある場合に適切である可能性がある。
【0027】
[27]出力生成モジュール236は、訂正されたデータを出力デバイス240へ出力する。出力デバイス240は、自律車両のメインプロセッサであることが可能であり、その場合には、データは、車両が取るべき行動に関する決定を行うために使用される。
【0028】
[28]
図2において示されている例は、誤り検出及び訂正モジュール230を処理パイプラインの終わりに示しているが、誤り検出及び訂正モジュール230は、プロセッサ220aによって着手されるオペレーションどうしの間に配置されることが可能であるということが理解されるであろう。そのような例においては、誤り検出及び訂正モジュール230の出力は、出力デバイス240へ渡される前に、さらなる処理のためにプロセッサへ戻される。
【0029】
[29]
図3は、例による
図1の方法の機能の概略図であり、この例では、データは、カメラによって受信される画像データである。カメラによって取り込まれた画像データは、複数の出力310a、310bを作成するための処理用として複数の画像信号プロセッサに提供される。処理オペレーション中に、一時的な誤りが、画像信号プロセッサにおけるフリップフロップの出力315fを破損しており、したがって画像データにおけるピクセル値が破損されている。画像データが画像信号プロセッサによってさらに処理され、ノイズ低減アルゴリズムなどのその他の信号処理アルゴリズムが出力に適用される場合には、誤りが近隣のピクセルにわたってにじませられ、したがって誤りの影響は低減されるが、広められる。
【0030】
[30]出力データは次いで、
図2に関連して上述されている誤り検出及び訂正モジュールへ渡ることになり、そこでは、ロックステップで画像データを処理するように構成されているプライマリ画像信号プロセッサ及びその他の画像信号プロセッサの出力データ310a、310bに基づいて統計モデル320が生成される。冗長画像信号プロセッサの出力310bは、プライマリ画像信号プロセッサの出力310aに影響を与えた同じ一時的な誤りによって影響を与えられる可能性は低い。誤り検出及び訂正モジュールは、誤りがあるかどうか、及びその誤りの深刻さはどれぐらいかを特定することが可能である。出力データに軽微な誤りのみがあるということを統計モデル320が示している場合に、たとえばアイテム330において、ピクセル値330fの最下位ビットにエラーがある場合には、誤り検出及び訂正モジュールは、そのデータが出力デバイスによって使用可能であるということを依然として特定することが可能である。いくつかの例においては、誤りが深刻ではないということが特定された場合でさえ、誤り検出及び訂正モジュールは、冗長画像信号プロセッサのうちの1つの出力310bのうちの1つがよりよい品質の出力であるということを特定することが可能であり、代わりにその出力を出力デバイスに提供することが可能である。たとえば、統計モデルは、出力が冗長画像信号プロセッサのうちの1つの出力310bに一般に対応するはずであるということを示すことと、したがってその出力310bを出力デバイスに提供することとが可能である。
【0031】
[31]逆に、一時的な誤りが処理パイプラインの終わりに発生するか、又は誤りのあるピクセル値が深刻な誤りであるということが特定された場合には、アイテム330において示されているように周囲のピクセルの間に誤りが広まっている可能性は高くないので、誤り検出及び訂正モジュールは、その誤りが、訂正された値340を生成することを保証するには著しく深刻であるということを特定することが可能である。訂正された値340が計算される必要があるということが特定された場合には、これは、統計モデル320に基づく予想値、並びにプライマリ出力310aに関連付けられているその他のデータ330に基づくことが可能である。次いでプライマリ出力310a及び訂正された値340が組み合わされて、訂正された出力350を作成することが可能であり、訂正された出力350は、出力デバイスへ渡される。或いは、冗長画像信号プロセッサのうちの1つの出力310bのうちの1つが、統計モデルによって示唆されている所望の出力に十分にマッチすることが可能であり、その冗長プロセッサの出力データは、訂正された出力として使用されること、及び出力デバイスへ渡されることが可能である。
【0032】
[32]訂正されたピクセルの取り替え、及び/又は計算は、上述されているノイズ低減アルゴリズムの前など、処理パイプラインにおける任意のポイントで発生することが可能であるということが理解されるであろう。これは、誤りが累積しないこと、又は空間的に広められることを確実にする。なぜなら、誤り検出及び訂正モジュールが、処理パイプラインの全体を通じて複数のポイントにおいてプロセッサどうしの複数の出力の間における平等を強いるからである。
[符号の説明]
200 システム
210 感知デバイス
220a プライマリプロセッサ
220b その他のプロセッサ
230 誤り検出及び訂正デバイス
232 統計モデル化モジュール
234 誤り特定モジュール
236 出力生成モジュール
240 出力デバイス
310a 出力
310b 出力
315f 出力
320 統計モデル
330f ピクセル値
340 訂正された値
350 訂正された出力
【0033】
[33]上述の実施形態は、本発明の説明例として理解されるべきである。本発明のさらなる実施形態が考えられる。任意の一実施形態に関連して記述されている任意の特徴は、単独で、又は記述されているその他の特徴と組み合わせて使用されることが可能であり、実施形態のうちのその他の任意のもの、又は実施形態のうちのその他の任意のものの任意の組合せの1つ又は複数の特徴と組み合わせて使用されることも可能であるということを理解されたい。さらに、上述されていない均等形態及び変更形態が、添付の特許請求の範囲において定義されている本発明の範囲から逸脱することなく採用されることも可能である。
[発明の項目]
[項目1]
一時的な誤りを検出及び訂正するための方法であって、
カメラシステムから画像データを取得するステップと、
第1の画像信号プロセッサ及び第2の画像信号プロセッサにより画像データを処理して、第1の出力データ及び第2の出力データを作成するステップ
と、
少なくとも前記第1の出力データ及び第2の出力データに基づいて少なくとも1つの統計モデルを生成するステップと、
前記第1の出力データに誤りが存在しているかどうかを前記統計モデルに基づいて識別するステップと、
画像データの部分に関する訂正値を生成するステップであって、前記訂正値が、前記統計モデルに基づく予想値である、ステップと、
前記訂正値を使用して、更新された出力データを生成するステップと、
前記更新された出力データを出力デバイスへ出力するステップと、
を含む方法。
[項目2]
前記少なくとも1つの統計モデルを生成するステップが、前記カメラシステムによって取得された前の画像データ、及び少なくとも1つの現実世界の基準画像にさらに基づく、項目1に記載の方法。
[項目3]
前記画像データを処理する前記ステップが、前記カメラシステムによって取得された前記画像データの一部分を処理することを含む、項目1又は2に記載の方法。
[項目4]
前記訂正値を生成するステップが、少なくとも1つの機械学習アルゴリズムを前記出力に適用して、前記少なくとも1つの統計モデルを使用して前記誤りに関する予想値を生成することを含む、項目1~3のいずれか一項に記載の方法。
[項目5]
更新された出力データを生成する前記ステップが、前記訂正値を前記第1の出力データと組み合わせることを含む、項目1~4のいずれか一項に記載の方法。
[項目6]
更新された出力データを生成する前記ステップが、前記第1の出力データにおける前記誤りに対応する前記第2の出力データの一部分を前記訂正値と比較することと、前記部分が前記訂正値に実質的に対応する場合には、前記更新された出力データを、前記第2の出力データであるように設定することとを含む、項目1~5のいずれか一項に記載の方法。
[項目7]
システム環境に関連している画像データを取得するためのカメラシステムと、
それぞれが、前記カメラシステムから受信された前記画像データを処理して第1の出力及び第2の出力を生成するための少なくとも2つの画像信号プロセッサと、
前記第1の出力における1つ又は複数の誤りを検出し、更新された出力データを生成するための誤り検出及び訂正モジュールであって、前記更新された出力データが、訂正された誤りを含み、前記訂正された誤りが、前記第1の出力及び第2の出力に基づいて少なくとも統計モデルを使用して生成される、誤り検出及び訂正モジュールと、
前記更新された出力データを前記誤り検出及び訂正モジュールから受信するための出力デバイスと、
を備えるセーフティクリティカルシステム。
[項目8]
前記誤り検出及び訂正モジュールが、
前記第1の出力及び第2の出力に基づいて少なくとも1つの統計モデルを生成するための統計モデルユニットと、
第1の出力に誤りがあるかどうかを特定するための誤り特定ユニットと、
更新された出力データを生成するための出力生成ユニットであって、前記更新された出力データが、前記統計モデルによって生成された予想値を含む、出力生成ユニットと、
を備える、項目7に記載のセーフティクリティカルシステム。
[項目9]
前記誤り検出及び訂正モジュールが、前記予想値を前記第1の出力データと組み合わせるための組合せユニットをさらに備える、項目8に記載のセーフティクリティカルシステム。
[項目10]
前記誤り検出及び訂正モジュールが、比較ユニットをさらに備え、前記比較ユニットが、前記予想値を前記第1の出力データにおける前記誤りに対応する前記第2の出力の一部分と比較して、前記第2の出力データの前記部分が前記予想値と実質的に同様である場合には、前記第2の出力データを出力するためのものである、項目8又は9に記載のセーフティクリティカルシステム。
[項目11]
前記出力デバイスが、前記誤り検出及び訂正モジュールの前記出力を処理するためのプロセッサである、項目7~10のいずれか一項に記載のセーフティクリティカルシステム。
[項目12]
前記誤り検出及び訂正モジュールが、少なくとも1つの機械学習プロセッサを備える、項目7~11のいずれか一項に記載のセーフティクリティカルシステム。
[項目13]
格納されているコンピュータ可読命令のセットを備える持続性コンピュータ可読ストレージメディアであって、前記命令が、少なくとも1つのプロセッサによって実行されたときに、セーフティクリティカルシステムにおけるエラーを前記プロセッサに検出及び訂正させ、前記命令が、
カメラシステムから画像データを取得することと、
第1の画像信号プロセッサ及び第2の画像信号プロセッサにより画像データを処理して、第1の出力データ及び第2の出力データを作成することと、
少なくとも前記第1の出力データ及び第2の出力データに基づいて少なくとも1つの統計モデルを生成することと、
前記第1の出力データに誤りが存在しているかどうかを前記統計モデルに基づいて特定することと、
画像データの部分に関する訂正値を生成することであって、前記訂正値が、前記統計モデルに基づく予想値である、生成することと、
前記訂正値を使用して、更新された出力データを生成することと、
前記更新された出力データを出力デバイスへ出力することと、
を含む、持続性コンピュータ可読ストレージメディア。
[項目14]
少なくとも1つのカメラシステムと、
項目1~6のいずれか一項に記載の方法に着手するように構成されているプロセッサと、
を備える自律車両。