IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オプテラン テクノロジーズ リミテッドの特許一覧

<>
  • 特表-無制約画像手ぶれ補正 図1
  • 特表-無制約画像手ぶれ補正 図2
  • 特表-無制約画像手ぶれ補正 図3
  • 特表-無制約画像手ぶれ補正 図4
  • 特表-無制約画像手ぶれ補正 図5
  • 特表-無制約画像手ぶれ補正 図6
  • 特表-無制約画像手ぶれ補正 図7
  • 特表-無制約画像手ぶれ補正 図8
  • 特表-無制約画像手ぶれ補正 図9
  • 特表-無制約画像手ぶれ補正 図10
  • 特表-無制約画像手ぶれ補正 図11
  • 特表-無制約画像手ぶれ補正 図12
  • 特表-無制約画像手ぶれ補正 図13
  • 特表-無制約画像手ぶれ補正 図14
  • 特表-無制約画像手ぶれ補正 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-04
(54)【発明の名称】無制約画像手ぶれ補正
(51)【国際特許分類】
   G06T 7/246 20170101AFI20240528BHJP
   G06T 3/12 20240101ALI20240528BHJP
   G06T 7/00 20170101ALI20240528BHJP
   H04N 23/60 20230101ALI20240528BHJP
   H04N 23/68 20230101ALI20240528BHJP
   H04N 23/698 20230101ALI20240528BHJP
【FI】
G06T7/246
G06T3/12
G06T7/00 350B
H04N23/60 500
H04N23/68
H04N23/698
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023573146
(86)(22)【出願日】2022-04-26
(85)【翻訳文提出日】2023-11-24
(86)【国際出願番号】 GB2022051055
(87)【国際公開番号】W WO2022248824
(87)【国際公開日】2022-12-01
(31)【優先権主張番号】2107427.3
(32)【優先日】2021-05-25
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】521391243
【氏名又は名称】オプテラン テクノロジーズ リミテッド
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100141553
【弁理士】
【氏名又は名称】鈴木 信彦
(72)【発明者】
【氏名】ワトソン マシュー トーマス
(72)【発明者】
【氏名】コープ アレクサンダー ジョン
【テーマコード(参考)】
5B057
5C122
5L096
【Fターム(参考)】
5B057CA01
5B057CA16
5B057CB01
5B057CB08
5B057CB13
5B057CB16
5B057CD17
5B057CG01
5B057DB06
5C122EA41
5C122FA02
5C122FG03
5C122FH04
5C122FH12
5C122FH13
5C122FH18
5C122HA46
5C122HA48
5C122HB01
5L096AA02
5L096AA09
5L096CA02
5L096CA05
5L096DA01
5L096HA02
5L096HA04
5L096HA11
5L096JA11
5L096KA04
(57)【要約】
本明細書では、モーションデータを手ぶれ補正するためのシステム、装置、および方法が記載される。前記方法は、1つまたは複数のソースから物体に関連するデータを受信するステップと、1つまたは複数の技術を用いて、前記データから回転安定視野を確立するステップと、少なくとも1つ、2つまたはそれ以上の次元の投影を含む1つまたは複数のデータ構造に基づいて安定視野を符号化するステップと、前記符号化された安定視野からモーションデータを抽出するステップと、を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
モーションデータを手ぶれ補正するためのコンピュータ実装方法であって、
1つまたは複数のソースから物体に関連するデータを受信するステップと、
1つまたは複数の技術を用いて、前記データから回転安定視野を確立するステップと、
少なくとも1つ、2つまたはそれ以上の次元投影を含む1つまたは複数のデータ構造に基づいて、前記安定視野を符号化するステップと、
前記符号化された安定視野から安定したモーションデータを抽出するステップと、を含む、方法。
【請求項2】
前記1つまたは複数の技術は、前記1つまたは複数のソースの向きに基づいて、前記データから回転安定全方向視野を生成するように構成されたアルゴリズムを含む、請求項1に記載の方法。
【請求項3】
前記1つまたは複数の技術は、前記データからのローリングシャッターを修正するように構成されたアルゴリズムをさらに含む、請求項1~2のいずれか1項に記載の方法。
【請求項4】
前記1つまたは複数の技術は、安定視野を確立するために、受信されたデータを連続的に繰り返し追加することによって前記データを処理する、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記処理されたデータは少なくとも部分的にメモリに記憶され、または、受信されたデータはメモリに記憶することなくリアルタイムで処理される、請求項4に記載の方法。
【請求項6】
前記符号化されたデータから並進モーションを回転モーションから分離して、モーションデータを抽出するステップをさらに含む、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記1つまたは複数のデータ構造は、球面投影または円筒投影を含む、請求項1~6のいずれか1項に記載の方法。
【請求項8】
前記物体の球面投影は、前記1つまたは複数のソースと共に移動する、請求項7に記載の方法。
【請求項9】
前記安定視野は、移動体に対して少なくとも部分的に不安定である、請求項7又は8に記載の方法。
【請求項10】
前記1つまたは複数のデータ構造は、階層的等面積等緯度画素化(HEALPix)投影を含む、請求項1~9のいずれか1項に記載の方法。
【請求項11】
前記HEALPix投影は、HEALPix二重画素化導関数を適用する、請求項10に記載の方法。
【請求項12】
HEALPix投影で2^n HEALPix n_sideパラメータを適用するステップをさらに含む、請求項10又は11に記載の方法。
【請求項13】
前記モーションデータは、等しい画素領域の属性および局所デカルト性質に関して構成されたモーション推定アルゴリズムを用いて抽出される、請求項10~12に記載の方法。
【請求項14】
前記モーションデータはオプティカルフローを用いて抽出される、請求項10~13に記載の方法。
【請求項15】
前記1つまたは複数のデータ構造は、等積投影および/または局所デカルト投影を含む、請求項1~14に記載の方法。
【請求項16】
前記モーションデータは、前記等積投影および局所デカルト投影に関連する属性に基づくオプティカルフロータイプ推定を用いて抽出される、請求項15に記載の方法。
【請求項17】
固定小数点実装を用いてフィールドプログラマブルゲートアレイ上で実装される、請求項1~16のいずれか1項に記載の方法。
【請求項18】
16ビット浮動小数点演算を用いてビジョンアクセラレータユニットに実装される、請求項1~16に記載の方法。
【請求項19】
中央処理装置、グラフィックス処理装置、テンソル処理装置、デジタル信号プロセッサ、特定用途向け集積回路、ファブレス半導体、半導体インテリジェントプロセッサ、またはこれらの組み合わせのうちの少なくとも1つに関連する1つまたは複数のプロセッサ上で実装される、請求項~16に記載の方法。
【請求項20】
前記球面投影に関連する1つまたは複数のデータ構造に関して、前記球面投影の識別可能なデカルト軸の周りを囲んでいる直交帯域を抽出するステップをさらに含む、請求項1~19のいずれか1項に記載の方法。
【請求項21】
前記球面投影はHEALPixである、請求項20に記載の方法。
【請求項22】
前記球面投影は二重画素化を適用する、請求項20又は21に記載の方法。
【請求項23】
前記直交帯域を用いて前記球面投影に空間フィルタリングを適用するステップをさらに含む、請求項20~22に記載の方法。
【請求項24】
2D畳み込みの性能を改善するために、各直交帯域の周りに1D畳み込みを生成することにより、球面投影上で2D畳み込みを実行するステップをさらに含む、請求項20~23に記載の方法。
【請求項25】
前記円筒投影に関連する1つまたは複数のデータ構造に関して、前記データの垂直ストリップに基づく方向を捕捉するように前記円筒投影の識別可能なデカルト軸の周りを取り囲む直交帯域を抽出するステップをさらに含む、請求項1~19に記載の方法。
【請求項26】
前記球面投影に関連する前記1つまたは複数のデータ構造に関して直交帯域を抽出するステップをさらに含み、前記抽出された直交帯域は、前記投影に関連するアルゴリズムを適用するように適合され、前記抽出された直交帯域は、1つまたは複数のデータ構造の符号化として使用される、請求項1~19に記載の方法。
【請求項27】
前記直交帯域は、前記球面投影に基づいて並列的に畳み込みを生成するために同時に適用される、請求項20~25に記載の方法。
【請求項28】
前記各直交帯域は、並列処理用にセグメント化され、前記球面投影に関連する畳み込みを生成する、請求項27に記載の方法。
【請求項29】
前記1つまたは複数のソースからのデータはデモザイク化される、請求項1~28のいずれか1項に記載の方法。
【請求項30】
前記データは、ビジョン情報に対応するRGBデータである、請求項29に記載の方法。
【請求項31】
画素のビニングおよびダウンサンプリングを適用して、回転安定全方向視野を生成するステップをさらに含む、請求項1~30のいずれか1項に記載の方法。
【請求項32】
前記画素ビニングは、3つのカラーチャネルをそれぞれ累積することによってデータをデレイヤーするように構成される、請求項31に記載の方法。
【請求項33】
1つまたは複数の技術に基づいて全方向に確立される前記安定視野に異種センシングを適用するステップをさらに含む、請求項1~32のいずれか1項に記載の方法。
【請求項34】
前記異種センシングは、より高い空間解像度で安定視野の少なくとも一部を符号化することを含む、請求項33に記載の方法。
【請求項35】
前記異種センシングに基づいて安定視野の領域を動的にサンプリングするステップをさらに含む、請求項33または34に記載の方法。
【請求項36】
前記異種センシングは、HEALPix投影または二重画素化に関して適用される、請求項33~35に記載の方法。
【請求項37】
前記異種センシングは、前記データ中の関心領域からより頻繁にサンプリングして、前記領域に関連するサンプリングレートを提供するように構成され、より高いサンプリングレートに関連する前記領域は、安定視野上で動的に移動可能で、サイズを変更可能であり、異なる領域は、異なるサンプリングレートを構成する、請求項33~36に記載の方法。
【請求項38】
前記データの1つまたは複数のHEALPix画素を分割して、安定視野の空間解像度を増加させるステップをさらに含む、請求項33~37に記載の方法。
【請求項39】
少なくとも複数のデータフレームを含む
前記データのN-1番目のデータフレームに基づいて、符号化された安定視野上の関心領域を識別するステップと、
前記関心領域を前記データのn番目のデータフレームにマッピングするステップと、
前記マッピングに基づいて前記データからデータのサブセットを抽出するステップと、をさらに含む、請求項33~37のいずれか1項に記載の方法。
【請求項40】
前記抽出されたデータのサブセットは、符号化された安定視野から独立した2D画像によって表される、請求項39に記載の方法。
【請求項41】
前記マッピングは、最大解像度の不均一性を達成するために連続的に更新され、前記安定視野を符号化するのに少なくとも部分的に適合される、請求項39または40に記載の方法。
【請求項42】
前記データは、RGBデータと非RGBデータとを含み、前記非RGBデータは、非色情報に関連している、請求項1~41のいずれか1項に記載の方法。
【請求項43】
前記非RGBデータは、光のスペクトル、偏光情報、レーダ、レーザレーダからの出力、深度認識、超音波距離情報、温度、メタデータ(例えば、セマンティックラベリング、バウンディングボックス頂点、地形タイプ)、またはゾーン(例えば、立ち入り禁止エリア)、衝突までの時間情報、衝突リスク情報、聴覚、嗅覚、体性に関するデータ、または任意の他の形式の方向センサデータ、中間処理データ、アルゴリズムによって生成された出力データ、または他の外部ソースからのデータを含む、請求項42に記載の方法。
【請求項44】
前記1つまたは複数のソースは、外部データを直接または間接的に受信するように適合された少なくとも1つのカメラ、センサー、またはデバイスを含む、請求項1~43のいずれか1項に記載の方法。
【請求項45】
前記1つまたは複数のシミュレーションに関するシミュレーションデータを受信するステップをさらに含み、前記シミュレーションデータは、前記データに挿入またはオーバーレイすることによって、安定視野を確立するために使用される、請求項1~44のいずれか1項に記載の方法。
【請求項46】
前記データは、前記データを用いて安定視野を確立するために、前記1つまたは複数のソースに対応するアナログデータを含む、請求項1~45のいずれか1項に記載の方法。
【請求項47】
前記1つまたは複数の機械学習(ML)モデルを適用して、前記1つまたは複数のデータ構造に基づいてデータ中の物体を分類するステップをさらに含み、前記1つまたは複数のMLモデルは、安定視野に関連する前記符号化を表す物体を認識するように構成される、請求項1~46のいずれか1項に記載の方法。
【請求項48】
前記1つまたは複数のMLモデルは、前記1つまたは複数の物体で注釈が付けられたデータを用いてトレーニングされ、注釈付きデータは、前記MLモデルをトレーニングするための1つまたは複数のデータ構造を用いて変換される、請求項47に記載の方法。
【請求項49】
ラベル付けされたセンサーから入力されたデータセットから、機械学習モデルをトレーニングするためのラベル付けされた出力データセットを生成するステップをさらに含み、前記機械学習モデルは、前記1つまたは複数のデータ構造によって記憶および符号化されたデータに対して作動するように構成されている、請求項1~48のいずれか1項に記載の方法。
【請求項50】
モーションデータを手ぶれ補正するための装置であって、
1つまたは複数のソースからデータを受信するためのインターフェースと、
1つまたは複数の集積回路と、を含み、
前記1つまたは複数の集積回路は、1つまたは複数の技術を用いて、前記データから安定視野を確立し、
2つ以上の次元投影を含む1つまたは複数のデータ構造に基づいて、安定視野を符号化し、
前記符号化された安定視野から安定したモーションデータを抽出し、データ中の物体のモーションを検出するように構成される、装置。
【請求項51】
前記1つまたは複数の集積回路は、請求項1~49のいずれか1項に記載の方法ステップを実行するように構成されている、請求項50に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、無制約電子画像手ぶれ補正および全方位カメラ融合を実行するための、すなわち、ロボットおよびスマートカメラ用途で使用するためのシステム、装置および方法に関する。
【背景技術】
【0002】
画像手ぶれ補正は、トリミングウィンドウを画像の周囲で移動させて、トリミングされた画像の内容が静止しているように見せること、または(カメラ)レンズの要素を物理的に作動させてセンサー面上で画像を移動させることを指す。画像手ぶれ補正は、機械的ジンバルを用いてカメラまたはカメラからの画像を手ぶれ補正することにも関連する場合がある。
【0003】
ロボットやスマートカメラアプリケーションの背景には、ロボットやセンサーが安定した方法で音声ビジョン情報をセンシングすること、つまり世界の安定視野を捉えることが重要であることが多い。これは、画像手ぶれ補正によって実現することができる。
【0004】
しかし、機械的および光学的な制限がレンズのさらなる回転を妨げているため、または電子ハウジング内の過剰なトリミングのために、現在の画像手ぶれ補正のための方法は通常、数度オーダーの回転にしか有効ではない。
【0005】
特に、従来の(または光学的)電子手ぶれ補正方法は、光学式の場合のレンズアクチュエータの機械的制限、または電子式の場合の過度の画像トリミングによって制限される狭い範囲の角度でのみ動作する。これらの方法はまた、複数のカメラ画像を単一の視野につなぎ合わせるための組み込みソリューションも欠如しており、代わりに特徴マッチングによって処理する必要がある。
【0006】
機械的ジンバルを使用してカメラを安定させること、つまり、回転に対抗するために物理的にカメラの外部に複数のアクチュエータを適用することに関しても、カメラの周りで無制限に回転できるようにすることで問題が生じる。機械式ジンバルはしばしば機械的に複雑で高価で電力を消費し、しかも特に重い。アクチュエータの電力とシステム全体の重量によって制限される安定した帯域幅、アクチュエータの速度によって制限される安定したダイナミックレンジ、複数のカメラ画像を単一の視野にスティッチングするには、さらなる計算が必要である。
【0007】
さらに、システム視野を符号化するための本発明の方法は、いくつかの特性を示さず、そのいくつかは、これらの方法が本発明に比べて比較的劣るように、望ましくない場合もある。
【0008】
これらの上記の理由により、少なくとも上記の問題に対処し、自然界で達成される手ぶれ補正の高品質なエミュレーションを生成できる、制約のない電子画像手ぶれ補正および全方向カメラ融合を実行する方法、システム、媒体および/または装置を開発することが望まれている。
【0009】
以下に記載される実施形態は、上記した既知の方法の欠点のいずれかまたはすべてを解決する実施形態に限定されない。
【発明の概要】
【0010】
この概要は、以下の詳細な説明でさらに説明する概念の選択を簡略化した形で説明するために提供されている。本要約は、請求項に係る主題の主要な特徴又は基本的な特徴を識別することを意図しておらず、また、請求項に係る主題の範囲を決定するために使用することを意図していない。発明の実施を容易にする、および/または実質的に類似した技術的効果を達成するために使用される変形および代替的特徴は、本明細書に開示された発明の範囲に属するものとみなされる。
【0011】
本発明は、視野の回転手ぶれ補正のための例示的な方法、データの計算に関して所望の特性を示す視野のデータ構造を符号化する方法、手ぶれ補正を用いてカメラの回転による顕著なモーションを除去することによりシーンのモーションの抽出を改善する方法、およびこれらのデータ構造を用いて符号化された視野上で計算を効率的に実行する方法を提供する。
【0012】
第1態様では、本開示は、モーションデータを手ぶれ補正するためのコンピュータ実装方法であって、1つまたは複数のソースから物体に関連するデータを受信するステップと、1つまたは複数の技術を用いて、前記データから回転安定視野を確立するステップと、少なくとも1つ、2つまたはそれ以上の次元投影を含む1つまたは複数のデータ構造に基づいて、前記安定視野を符号化するステップと、前記符号化された安定視野から安定したモーションデータを抽出するステップと、を含む、方法を提供する。
【0013】
第2態様では、本開示は、モーション検出のためにモーションデータを手ぶれ補正するためのコンピュータ実装方法であって、1つまたは複数のソースから物体に関連するデータを受信するステップと、1つまたは複数の技術を用いて、前記データから回転安定視野を確立するステップと、少なくとも1つ、2つまたはそれ以上の次元投影を含む1つまたは複数のデータ構造に基づいて、前記安定視野を符号化するステップと、前記符号化された安定視野から安定したモーションデータを抽出するステップと、を含む、方法を提供する。
【0014】
第3態様では、本開示は、モーションを検出するための装置であって、1つまたは複数のソースからデータを受信するためのインターフェースと、1つまたは複数の集積回路と、を含み、前記1つまたは複数の集積回路は、1つまたは複数の技術を用いて、前記データから安定視野を確立し、2つ以上の次元投影を含む1つまたは複数のデータ構造に基づいて、安定視野を符号化し、前記符号化された安定視野から安定したモーションデータを抽出し、データ中の物体のモーションを検出するように構成される、装置を提供する。
【0015】
第4態様では、本開示は、モーションを検出するためのシステムであって、1つまたは複数の技術を用いて、前記データから安定視野を確立するように構成された第1モジュールと、2つ以上の次元投影を含む1つまたは複数のデータ構造に基づいて、安定視野を符号化するように構成された第2モジュールと、前記符号化された安定視野から安定したモーションデータを抽出し、データ中の物体のモーションを検出するように構成された第3モジュールと、を含む、システムを提供する。
【0016】
本明細書に記載の方法は、例えば、機械可読形式の有形記憶媒体上のソフトウェアによって実行してもよい。コンピュータプログラムコード手段を含むコンピュータプログラムの形態では、プログラムがコンピュータ上で実行され、コンピュータプログラムがコンピュータ可読媒体上に具現化され得るときに、本明細書に記載されたいずれかの方法の全てのステップを実行するように適合されている。有形(または非一時的)記憶媒体の例としては、磁気ディスク、サムドライブ、メモリカードなどが挙げられるが、伝播信号は含まれていない。ソフトウェアは、方法ステップを任意の適切な順序でまたは同時に実行することができるように、パラレルプロセッサまたはシリアルプロセッサ上で実行するように適合されていてもよい。
【0017】
本用途では、ファームウェアおよびソフトウェアが個別に取引可能な価値のある商品であることを認識している。これは、必要な機能を実行するために、「ダム」または標準的なハードウェア上で演算または制御されるソフトウェアを含むように設計されている。また、所望の機能を実行するためにシリコンチップを設計したり汎用プログラマブルチップを構成したりするHDL(ハードウェア記述言語)ソフトウェアなど、ハードウェア構成を「記述」したり定義したりするソフトウェアも含まれることを目指している。
【0018】
好ましい特徴は、当業者にとって自明であるように適切に組み合わされてもよく、本発明の任意の態様と組み合わされてもよい。
本発明の実施形態は、例として、以下の図面を参照して説明する。
【図面の簡単な説明】
【0019】
図1】モーション検出のためのデータ手ぶれ補正の一例を示すフローチャートである。
図2】RGBまたは非RGBのデータ手ぶれ補正の一例を示す模式図である。
図3】2次元投影の一例を示す模式図である。
図4】モルワイデ投影であるN_SIDE=4の二重画素化HEALPixの一例を示す図である。
図5】N_SIDE=4の方位角直交投影による二重画素化HEALPixの一例を示す図である。
図6】二重画素化されたHEALPix画素境界、方位角直交投影の一例を示す図である。
図7】帯域0、モルワイデ投影を有する二重画素化HEALPixの一例を示す図である。
図8】帯域1、モルワイデ投影を有する二重画素化HEALPixの一例を示す模式図である。
図9】帯域2、モルワイデ投影を有する二重画素化HEALPixの一例を示す図である。
図10】帯域0、方位正投影による二重画素化HEALPixの一例を示す図である。
図11】帯域1、方位正投影による二重画素化HEALPixの一例を示す図である。
図12】帯域2、方位正投影による二重画素化HEALPixの一例を示す図である。
図13】本発明の実施形態を実装するのに適したコンピューティングデバイスまたは装置のブロック図である。
図14】機械学習モデルとともに使用される訓練データセットの一例を示す図である。
図15】例示的なデータ構造による前処理後のトレーニングデータの同じ例を示すグラフ表現である。 図面全体を通して共通の符号を用いて、類似の特徴を表す。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態を一例として説明する。これらの実施形態は、これを可能にする唯一の方法ではないが、出願人が現在知っている、本発明を実行するための最良のパターンを表す。この説明では、サンプルの機能と、サンプルを構築および操作するための一連の手順について説明する。
しかしながら、同じまたは同等の機能およびシーケンスは、異なる例によって実装されてもよい。
【0021】
本発明は、ロボットまたは検出器デバイス上のような1つまたは複数のソースまたはカメラソースから、完全に回転して安定視野または安定視野を生成することに関する。全方位に安定視野を確立することができる。本発明は、画素ビニングおよびダウンサンプリングなどの技術を用いて、カメラ向きのいくつかの測定を用いて、1つまたは複数のカメラから回転安定全方向視野を作成する。リアルタイムにも車載にも対応している。ローリングシャッター補正は、完全に回転して安定視野を確立する技術としてさらに実現することができる。
【0022】
安定視野を提供し、種々のオプティカルフローまたは他のモーション推定アルゴリズムを用いて、完全に回転した安定視野および任意の関連する符号化から知覚シーン内の孤立した並進モーションを測定することができる。符号化は、任意のデータ構造、すなわち、ビジョンデータの任意のグラフィック表現、2次元投影、または、表1に詳述されているような属性の組み合わせを示すために本明細書で必要とされる任意の投影を含んでもよい。ビジョンデータの2次元投影は、2次元投影上の各座標に関連する奥行き情報/データを含むことにより、3次元投影の基礎を形成することができる。2次元または3次元の球面投影、例えばHEALPixの一重画素化または二重画素化データ構造を使用することができ、これは投影の等しい画素面積およびローカルデカルト特性を利用する。符号化された視野は、オプティカルフロー型アルゴリズムによって処理されてもよく、また、オプティカルフロー型アルゴリズムと組み合わせて使用されてもよく、それにより、より安定した正確な予測が全体的に達成される。
【0023】
一般に、本発明は、主にロボットおよびスマートカメラアプリケーションで使用される、無制約電子画像手ぶれ補正および全方位カメラ融合の概念を採用する。これは、カメラがその光学中心を中心として任意の角度回転したときに、モーションのぼけを最小限に抑えるために撮影された電子的および機械的な画像手ぶれ補正とは対照的に、手ぶれ補正された画像にモーションのない視野を生成することである。
無制約画像手ぶれ補正
【0024】
画像の手ぶれ補正は、一般に2つの異なる概念を指す。第1に、撮影において、それは電子後処理ステップであるか、カメラの回転/振動によるモーションのぼけを最小化するためにレンズ要素を作動させることであるかのいずれかである。これは、一般に、電子的な場合には、画像の周りでクロップウィンドウを移動させることによって、クロップされた画像の内容を静止したように見せ、光学的な場合には、レンズの要素を物理的に作動させて、センサー平面上で画像を移動させることによって達成される。これらの方法は、通常、機械的および光学的な制限がレンズのさらなる回転を妨げているか、電子ハウジング内の過剰なトリミングのために、数度のオーダーの回転にのみ有効である。
【0025】
2つ目の一般的な方法は、カメラを安定させるために機械式ジンバルを使用する方法である。これは、複数のアクチュエータをカメラの外部に適用して回転を相殺し、通常、カメラの周りの制約されない回転を可能にする。
【0026】
オプティカルフローの背景における画像手ぶれ補正(または他の等価アルゴリズムとの併用)は、実際にはモーション分離を提供する。カメラの移動によって引き起こされるモーションを回転によって引き起こされるモーションから分離することは、カメラの周囲のシーンのモーションに関連するアルゴリズムの精度を向上させる。これにより、カメラがチルト/パン/ヨーしたときに、世界の関心領域が視野の同じ部分に維持されることが保証され、フレーム間の空間的コヒーレンスの恩恵を受けることができるアルゴリズムが簡略化される。
【0027】
無制約電子画像手ぶれ補正/電子ジンバルの利点は、可動部がなく、省エネであり、リアルタイムまたはほぼリアルタイムで動作し、処理遅延がほぼゼロ(フレーム周期の1/10未満)であることである。
【0028】
無制約電子画像手ぶれ補正は、CPUまたはGPUとは対照的に、FPGAまたはコンピュータビジュアルアクセラレータチップ(ユニット)実装に適している。実際には、無制約電子画像手ぶれ補正は、目/首/体の駆動を用いて自然界で実現される手ぶれ補正をシミュレートし、手ぶれ補正された画像をその入力とする自然誘導アルゴリズムに依存するものを使用することを可能にする。
視野を符号化するためのデータ構造
【0029】
物体/ロボット/センサーは、一般的に、その周囲のビジョン情報を知覚すること、すなわち、世界に対する視野を捉えることを必要とする。これは通常、視野上の1つの画素を表す複数の離散的なポイントでシーンをサンプリングすることによって達成される。これは、ビジョン的なシーンを複数のモザイク画素に分割する効果を有し、各画素は、一般に、その画素の下にあるシーン部分の平均的な照明を表す。この細分化とこれらの画素の形状は、無限に多様な形をとることができる。しかしながら、一部の投影は、他の投影よりも有利であり、例えば、均一な画素オーバーレイ、均一な画素形状、画素レイアウト、計算表現、およびこれらの表現に記憶されたデータに対するさらなる計算操作を実行する複雑さの点で有利である。回転が安定している場合には、移動するカメラからの情報が投影されるグリッドの向きは、通常は一定のままである。
【0030】
投影色域を用いて、キューブマップ、UV球、ユニキューブマッピング、イコスフィアおよびゴールドバー多面体などを含むがこれらに限定されるレンダリングツールおよびモデリングツールなどの視野を記憶することができる。理想的な投影は、次の性質を示す。ローカルデカルト画素、同じ面積の画素、1種の効率的な寧浜アルゴリズム-最小限の超越演算、
連続-特異点なし、歪み無し、すなわち、物体は、視野のいずれかの部分を通して見たときに、投影において同一の表現を有していなければならない。記憶の中の有効な表現接続された画素近隣を照会するための効果的な方法、異なる解像度の領域にわたって空間的操作を可能にしながら、異なる解像度で視野の異なる領域をサンプリングするための効果的な方法;赤道を囲む領域の画素の水平方向の境界線の位置合わせである。境界線を水平方向に合わせることができること。
【0031】
球面符号化データに関連するこれらの特性は、注目すべき予測とともに以下の表1で詳細に説明され、比較されている。表では、「Y」が付いた投影は、リストされた属性から利益を得るか、または(少なくとも固有の)取得を行いるが、「-」が付いていない場合がある。本発明に関するこれらの特徴のそれぞれの重要性は、本願の他の箇所で提供される。図3は、投影のいくつかの図例を示している。
【0032】
【表1】
【0033】
表1では、「y*」で示すように、一部の画素は三角形の画素に縮退しているが、隣接する4つの画素は残っているので、実際の四角形であるかのようにトラバースすることができる。
回転手ぶれ補正画像の計算
【0034】
オプティカルフロー推定は、画像シーケンスから時間/モーションデータを抽出する広範なアルゴリズムの1つである。静止したワールドでキャプチャされた画像シーケンスのモーションは、2つのソースのいずれかによって発生する。つまり、ワールド内でのカメラの移動によるモーションと、ワールド内でのカメラの回転によるモーションである。並進移動によるモーションはシーンの幾何学形状に依存するが、回転移動によるモーションはカメラの回転速度の知識から正確に計算できるので、オプティカルフローアルゴリズムの出力で補償することができる。これはいくつかのアルゴリズムに適用できるが、回転によるカメラのモーションは通常、並進によって生成されるより小さい信号よりもはるかに大きいので、オプティカルフロー推定器には大きなダイナミックレンジと低い推定ノイズが必要である。
球面画像の効率的な計算
【0035】
キューブマップは、効率的な計算に適した2Dメッシュ上に球面視野をキャプチャする手段として、長い間3Dレンダリングに使用されてきました。ビジョン的には、これは3Dレンダリングアプリケーションにとって十分な解決策であるが、この方法は、不均一な画素サンプリング、不均一な画素サイズおよび形状、および隣接画素の異なるレイアウトなど、符号化システムの視野に望ましくない多くの特性を示す。これらの問題を解決するために、JPLのHEALPixなどの他の球面投影が開発されているが、これらの投影は、1パスで投影全体に1つの計算を適用するよりも、球の小さな領域で計算を実行することを重視している。
【0036】
効率的な計算のために設計された既存の球面投影は、1パスで投影全体に1回の計算を適用するのではなく、球面調和解析など、球面の小領域の効率的な計算を伴うことがよくある。
電子画像手ぶれ補正
【0037】
本発明の一例では、同期カメラからの各カメラフレームまたはフレーム群は、出力視野内の単一フレームに手ぶれ補正される。個々のカメラ画素の手ぶれ補正方法を図1および図2に示す。
【0038】
カメラ画素はアルゴリズムにストリーミングされる。画像処理は、例えば、デレイヤー、相対的照明補償、または他の一般的な画像処理アルゴリズムを実現するために、手ぶれ補正アルゴリズムに供給される前に、カメラ画像に適用され得る。
【0039】
ダウンサンプリング時に画素チャネルを個別に蓄積することによるようなデラミネーションの実装は、画像が手ぶれ補正する前にカメラデータをデラミネーションする必要性を回避し、ハードウェア/ソフトウェアリソースを解放するのに役立つ。
【0040】
各カメラ画素について、単位ベクトルは、特定の基準方向にあるときにデータをサンプリングするワールドフレームシーンに入る向きを記述する。このベクトルはカメラの内在モデルと外在モデルから計算することができる。このような計算は、必要に応じてデータを生成するために各画素に対してオンラインで実行されてもよく、動作開始時またはオフラインで1回実行されて結果がルックアップテーブル(LUT)に記憶されてもよい。このLUTから所与の画素の単位ベクトルを効率的に照会することができ、フレーム間で同じ計算を繰り返すことを回避することができる。
【0041】
外部マッピングを計算するベースフレームに対するカメラの向きの測定を画像手ぶれ補正アルゴリズムに提供する。この相対回転によって各画素に関連する単位ベクトルを回転させることにより、ワールドフレーム内の各カメラ画素がサンプリングされる方向またはサンプリングされる方向を計算することができる。
【0042】
この単位ベクトル(又は等価座標、例えば球面方位角及び仰角)は、符号化システムの安定視野のための安定した投影(例えば球面投影)内の画素にマッピングされる。複数のカメラ画素は、同じ球面投影画素にマッピングされてもよいし、1つの画素もマッピングされていない。球面表現の画素の指数は、ビニング関数と呼ばれるカメラの画素単位のベクトルの関数である。カメラ画素が球面表現画素にマッピングされていない場合、その画素は空にしてもよく、その前のデータを保持してもよく、またはその値は隣接画素の値から補間してもよい。複数の画素が安定した表現画素に割り当てられた場合、フィルタは、それらのデータを結合するために、または反復的に、またはフレームの最後に、例えば平均値を取るために使用され得る。これは、フレームストリームの画素をメモリに蓄積し、フレームの最後に安定した各表現画素を平均化することによって達成される。
【0043】
並置されたカメラ(または特定の用途では並置されたカメラに十分に近い)の場合、この方法は、複数のカメラの視野が重なり合っている場合、安定した内部表現の同じ部分にデータを提供することができるので、画像のスティッチングの方法を提供する。視野内の不連続性が許容され、および/または考慮される場合、この技術は、非並列カメラにも適用され得る。
(ロボットやセンサーなどの)視野の符号化
【0044】
上記の属性の利点(ビニングアルゴリズムの準拠可能な計算、等面積画素、特異点なし、等緯度画素、地平線に位置合わせされた画素エッジ、局所デカルト画素配列)を考慮して、我々は可能な方法としてHEALPix二重画素化アルゴリズムを選択した。しかしながら、類似の表現(例えば、イソキューブ)またはその変形が、これらの重要な性質のいくつかを共有することも理解されるべきである。この視野内の画素の均一な分布と面積は、正確なオプティカルフロー計算(および同様の計算)に重要であり、これらの計算の結果をワールドデカルト軸にマッピングするためには、赤道周辺の標高+/-45度領域の等緯度属性と水平画素境界が役立つ。
【0045】
(ロボットの)視野を表現するための球面投影の使用は、一般的に、ロボットの視野全体を捉え、複数のカメラからのデータを組み合わせる方法を提供する。同様に、ローカルデカルトおよび等面積画素を有する球面投影を使用することで、ロボットの視野全体を捉える方法が提供され、視野上での効率的な計算を可能にし、結果のスケーリングを一貫して行うことができる。
【0046】
HEALPixアルゴリズムを実装する場合、多くの除算および乗算をビットシフトで置き換えることができるので、2つのN側パラメータのべき乗を使用することによって計算を簡略化することができる。これは、このアルゴリズムのFPGA実装、例えば我々の固定小数点実装に特に有用である。このアルゴリズムは、Movidius Myriad Xのようなビジュアルアクセラレータチップ上で16ビット浮動小数点精度を用いて実装することもでき、同様に、このチップでは、2つのNサイドパラメータのべき乗を使用することにより、浮動小数点指数を直接操作することによってアルゴリズムを単純化することができる。
【0047】
HEALPix投影を用いて(ロボットの)視野を表現する利点はいくつかある。
- ビニングアルゴリズムは、FPGA/ASIC上で効率的に実装するのに適しており、単一の超越関数(arctan)のみを評価する必要がある。
- 等面積画素-ビジョン的なシーンの均一なサンプリング。これは、異なる方向から見たときに、物体が同じ見かけ上のサイズを維持することを意味する。これは、画素間の空間的関係を意味し、例えば、それらの間のオプティカルフローを計算し、表現内の任意の2つの隣接画素間で同じ比率を維持する。
- 特異点なし-HEALPixは、円柱やUV投影とは異なり、あらゆる方向で鮮明な状態を維持する。
- ローカルデカルト画素-通常は、球のローカル領域の2Dベクトルである球表面のベクトルを計算する必要がある。画素およびその隣接する画素がこの局所領域に直交配置されている場合、すなわち、それらが局所デカルトである場合、2つのベクトルを計算するアルゴリズムは、直交によって、多くのアルゴリズムに対して2つの方向が線形に分割可能であるので、通常、2つの1D計算に分割することができる。例えば、この特性がなければ、画素とその隣接線との間に1方向に正確に平行なモーションも、画素と、最初の画素から次の2つの隣接線CW,CCWとの間で測定される。シーン内のモーションとこれらの近隣のモーションとの間の関係はもはや線形分割可能ではないので、2つの方向を同時に計算しなければ、その画素の正しい2Dベクトルを復元することは不可能であり、2Dアルゴリズムが2つの1Dアルゴリズムに分割されない。
- 等緯度画素-多くのアルゴリズムは水平シーンのモーションを伴うため、赤道周辺領域の水平リングに画素を配置することで計算を簡略化することができる。
- 効率的なヘテロジニアスサンプリング-HEALPix画素は、関心領域のサンプリング解像度を増加させるために再帰的に細分化されてもよく、または情報の少ない領域のサンプリングを減少させるために組み合わせられてもよい。
【0048】
HEALPixの二重画素化投影を用いて(ロボットの)視野を表現すると、さらなるメリットが得られる。
- 画素エッジは水平線に位置合わせされる。これは、ローカルデカルトおよび等緯度画素属性と組み合わされた場合に、緯度圏を中心とする連続的なサンプリング帯域を可能にし、それに基づいてアルゴリズムを実装することができる。このプロパティが設定されていない場合、投影を中心に水平方向に移動するポイントは、平行な2つの画素行の間を移動するため、視野内で上下に移動する可能性がある。
- この投影の構造は、球を3つの直交する帯域に分割するのに役立ち、各画素は、各画素のローカルデカルト軸に沿って少なくとも1回サンプリングされる。画素のごく一部は、帯域境界で3回サンプリングされる。
【0049】
画像手ぶれ補正により、カメラ画素と視野内の画素との間のマッピングが知られているので、このマッピングを反転し、関連するカメラ画素をより高いレートでサンプリングすることにより、視野内の領域をより大きな時間周波数でサンプリングすることができる。また、視野上のある領域を細分化することにより、高い空間解像度でその領域をサンプリングすることができる。これは、異なる詳細レベルの多数のネストされた領域を持つように、複数の領域で繰り返し実行することができる。これは、シーン内の関心のある領域、例えば物体が存在する場所からより多くの情報を収集することを可能にすると同時に、関心の低い領域の処理を最小限に抑えるのに有用である。
【0050】
視野は、ビジョン情報を符号化する必要があるだけでなく、他のソースデータを記憶するための構造としても使用することができる。これは、他のタイプのセンサデータ、例えば、他の光のスペクトル、偏光情報、レーダ、レーザレーダ、深さセンサー等からの出力であってもよく、あるいは、画像セグメンテーションを実行するために画素を注釈付けしたり、視野内の物体のバウンディングボックスを追跡したりするような視野に関するメタデータであってもよい。
被写界に対して1D/2Dフィルタまたは同様の計算を実行する手段としての、被写界からの3つの帯域の抽出
【0051】
多くのコンピュータビジョンアプリケーションおよびアルゴリズムは、2Dコアを有する畳み込みのような、2D画像にまたがる1Dまたは2D計算を伴う。これらの同じ技術を視野全体に記憶されたデータに適用する場合、視野の各点に関する2Dマトリックスである球面(または類似)データにアクセスする方法が必要である。これは、視野を、各デカルト軸を囲む2Dデータの3つの「帯域」から構成されているとみなすことによって広く達成され、視野上の各画素が少なくとも2つの帯域によってサンプリングされるようにすることができる。視野のキューブマップ表現の場合、これらは、面(1,2,3,4)、(1,5,3,6)および(5,2,6,4)を含み、ここで、面(1,3)、(2,4)および(5,6)は対向している。アルゴリズムは、次に、3つの帯域のそれぞれに順次適用され、各視野画素の2つのデータポイントの計算、例えば、視野上の2Dベクトルを表すことができる。これらの帯域を形成する画素指数は、オフラインまたは起動時に計算されてルックアップテーブルに記憶されてもよく、または動的に計算されてもよい。テープは並行して処理することができる。一例では、システムは、3つの周波数帯域について同時に同じ計算を実行するように構成され、または追加的にまたは代替的に、周波数帯域を部分的に分割して、アルゴリズムを並列的に評価するように構成される。
【0052】
この方法は、HEALPixの二重画素化投影に、またはHEALPixの二重画素化投影とともに適用することができ、また、上記で説明した他の同様の投影(例えば、HEALPix、unicubeなど)にも適用することができる。これにより、これらの投影の上述の利点を、球上の1D/2D計算の効率的な実装と組み合わせることができる。これは、内部状態、前のフレーム、または前の状態データなどの他のソースからも入力を抽出するn-D計算に容易に拡張することができる。図4~12は、N_SIDE=4の場合のこれらの帯域の一例を示している。
【0053】
実際には、球面の視野(特に、第2視野に配置されている。HEALPix Dual Pixel Projection)は、3つの帯域のそれぞれを1D操作として扱うことで、球体上で2Dまたは1D操作を行う効率的な方法を提供する。
球状データ構造内で符号化されたデータの推論を実行するために既存のデータセットを用いて機械学習モデルを訓練するための手段としての前処理訓練データセット
【0054】
システムは、本明細書に記載のデータ構造(例えば、ラベル付けされた画像のデータセット)を介して入力データを捕捉する手段として機械学習(ML)トレーニングデータを適用する前処理ステップを含んでもよい。これは、既存の訓練データセットを用いて、安定したデータ構造上で動作する機械学習モデルまたは技術を訓練するための手段であってもよく、ここで、撮像された物体は、元の訓練データセットとは異なる属性/特徴を示すことができる。逆に、MLモデル(複数可)は、1つまたは複数のデータ構造に基づいてモデル特性を更新するために、1つまたは複数のデータ構造上で動作するように適合されていてもよい。
【0055】
MLモデル(複数可)は、更新された特徴を用いて、1つまたは複数のデータ構造に基づいてデータ内の1つまたは複数の物体を分類し、1つまたは複数のMLモデルは、安定視野に関連する符号化を表す物体を認識するように構成される。一例では、MLモデルは、球面データ構造上で自動車を認識するように訓練される。自動車および関連タグの球状データ構造を含む必要なデータセットをトレーニングに使用することができる。この方法は、既存のタグ付き自動車データセット上で訓練された汎用MLモデルとは異なり、優れている。汎用MLモデルを訓練するために使用される画像は、球状データ構造を適用したMLモデル(複数可)によって生成される属性/特性とは異なる属性/特性(すなわち、解像度、画素形状、歪み)を示す。
【0056】
MLモデルをトレーニングするために、FoVデータ構造内のエンコードされたデータセットを手動でキャプチャし、注釈付け/注釈付けする代わりに、自動車の画像を、あたかもカメラ入力であるかのように1つまたは複数のデータ構造に直接(または小さな前処理によって間接的に)入力し、既存のタグセットを当社のデータ構造座標系に変換することができる。これにより、更なるデータキャプチャを必要とせずに、FoVデータ構造上で動作するモデルを訓練するのに適したデータセットが生成される。すなわち、1つまたは複数のMLモデルは、1つまたは複数の物体で注釈が付けられたデータを用いてトレーニングされ、注釈が付けられたデータは、MLモデルをトレーニングするために使用された1つまたは複数のデータ構造を用いて変換される。追加的にまたは代替的に、マークされたセンサー入力データセットからマークされた出力データセットを生成して、機械学習モデルをトレーニングすることができ、機械学習モデルは、1つまたは複数のデータ構造を用いて符号化されたデータに対して動作するように構成される。
【0057】
システムによって使用されるMLモデルまたは技術の例(複数可)は、ラベル付けされたトレーニングデータセットおよび/またはラベル付けされたされていないトレーニングデータセットに基づいてトレーニングモデルを生成するために使用され得る任意のML技術またはアルゴリズム/方法、1つまたは複数の監視物体ML技術、半監督ML技術;監視されていないMLテクノロジー、線形および/または非線形ML技術;分類に関連するML技術、回帰等および/またはそれらの組み合わせに関連するML技法を含むか、これらに基づいてもよいが、それらに限定されない。ML技術/モデル構造のいくつかの例は、能動学習、マルチタスク学習、マイグレーション学習、ニューラルメッセージ解析、一回学習、次元削減、決定木学習、相関ルール学習、類似性学習、データマイニングアルゴリズム/方法、人工ニューラルネットワーク(NNs)、自動エンコーダ/デコーダ構造、深さNNs、ディープラーニング、ディープラーニングANN、帰納論理プログラミング、サポートベクターマシン(SVM)、疎辞書学習、クラスタリング、ベイジアンネットワーク、強化学習タイプ、表現学習、類似性およびメトリック学習、疎辞書学習、遺伝的アルゴリズム、ルールベース機械学習、学習分類器システム、および/またはそれらの1つまたは複数の組み合わせなどのうちの1つまたは複数を含んでもよい。
【0058】
本明細書に記載されたMLモデル(複数可)またはML技術(複数可)を訓練または適用するために注釈またはラベル付けされたデータの例(複数可)は、図14および図15に示すように、訓練データセットからのラベル付き画像を含む。図14および図15にアノテーション付き画像を示す。これらの注釈付き画像は、車両を分類するためにMLモデルを訓練するために使用される訓練データセットの一部である。
【0059】
図1は、モーション検出のためのデータを手ぶれ補正するための処理または方法の一例を示すフローチャートである。特に、記述されたデータは、オプティカルフローアルゴリズムを用いて計算するために、表現形式(または投影)で提示される。物体に関連するデータは、1つまたは複数のソースから受信される。1つまたは複数の技術を用いて、受信データから回転安定視野を確立する。安定視野は、1つまたは複数のデータ構造に基づいて符号化される。データ構造は、少なくとも1つの2D投影、または深さ情報を有する2D投影によってアレンジされた3次元投影を含む。符号化データからモーションデータを抽出する。このモーションデータは、関連するデータから物体のモーションを検出するために使用される。
【0060】
ステップ101では、物体または移動物体に関連するデータを1つまたは複数のソースから受信する。このようなソースは、デバイス、ロボット、または機械のセンサシステムに関連する1つまたは複数のタイプのセンサーであり得る。センサシステムは、1つまたは複数のモジュールを含んでもよい。1つまたは複数のソースは、様々なタイプのカメラとすることができる。ソースは、例えば、視野に関連するデータを捕捉するロボットの周囲のビジョン情報をセンシングするように構成される。ソースは、それぞれが視野上の1つの画素を表す複数の離散的な点でシーンをサンプリングすることによって画像データを収集することができる。1つまたは複数のソースからのデータは、モザイク解除が可能である。すなわち、データが非RGBデータである場合や、完全にシェーディングされていないRGBデータである場合には、デモザイクアルゴリズムでデータを処理してデータシェーディングを再構成することができる。
【0061】
1つまたは複数のソースから受信される任意のデータは、ビジョン情報に対応するRGBデータまたは非RGBデータとすることができ、非RGBデータは、光のスペクトルからのデータ、偏光情報、レーダ、レーザレーダからの出力、深度認識、距離センサーからの超音波距離情報、温度およびメタデータ、例えばセマンティックラベリング、バウンディングボックス頂点、地形タイプまたはゾーン、例えば立ち入り禁止エリア、衝突までの時間情報、衝突リスク情報、聴覚、嗅覚、体性、または任意の他の形式の方向センサデータ、中間処理データ、アルゴリズムによって生成された出力データ、または他の外部ソースからのデータに関連している。このデータを受信する各ソースは、RGBデータであるか非RGBデータであるかに基づいて記憶される。このような適応のために、データを適切なフォーマットに前処理する従来のステップ、例えば、レーダサンプルを画素化されたデータとして扱うことが可能である。
【0062】
追加的にまたは代替的に、画素箱ビニングおよびダウンサンプリングなどの技術を適用して、ビューが回転安定全方向性である安定視野を確立することができる。一例では、画素ビニングは、3つのカラーチャンネルをそれぞれ累積することによってデータをデレイヤーするように構成される。
【0063】
ステップ103では、1つまたは複数の技術を用いて、回転安定視野をデータから確立する。技法は、1つまたは複数のソースの方向に基づいて、データから回転安定全方向視野を生成するように構成されたアルゴリズムを含んでもよい。追加的にまたは代替的に、本技術は、ローリングシャッター補正を実行するように構成されたアルゴリズムをさらに含んでもよい。アルゴリズムは、各カメラフレーム内の各個別の画素列のカメラ姿勢を更新することによって、データ内のローリングシャッターアーティファクトを補償することによって、これを達成することができる。これらの技術は、例えばHEALPixの画素のネスト性を用いて、データ構造または投影に従った異種センシングにも使用することができる。
【0064】
追加的にまたは代替的に、現実世界の刺激をシミュレートする手段として、シミュレーションデータを視野に挿入、重畳、または何らかの他の方法で結合または統合することができる。アナログデータは、入力データの一部であってもよいし、別個のデータストリームであってもよい。一例では、システムは、実際には空き部屋にある物体の外観をシミュレートすることができる。これは、代替現実を適用することに似ている。アナログデータの使用は、本明細書に記載された任意のデータタイプおよびセンシングモダリティ/ソースに適用することができる。
【0065】
これらの技術は、安定視野を確立するために、RGBであるか非RGBであるかを問わず、受信データを連続的に繰り返し追加することによって入力データを処理することができる。例えば、画素はストリームとして消費され、各画素は反復的に安定したフレームに追加される。このストリーミングがユニークなのは、カメラ画像全体をどこにも保存する必要がないこと、つまりメモリにバッファリングされず、実行中に使用されることである。これは動的に行うことも、部分的または完全にバッファリングされたアーキテクチャを用いて行うこともできる。すなわち、処理されたデータは、少なくとも部分的にメモリに記憶されてもよく、または、データをメモリに記憶せずにリアルタイムで処理されてもよい。
【0066】
ステップ105では、少なくとも1つの2次元または3次元投影を含む1つまたは複数のデータ構造に基づいて、安定視野が符号化される。三次元投影は、二次元投影の適合であってもよい。この符号化は、回転モーションから分離された並進モーションを符号化から評価してモーションデータを抽出するために使用することができる。視野が安定している間、並進モーションを隔離することができる。
【0067】
1つまたは複数のデータ構造は、球面投影、円筒投影、または擬似円筒投影であってもよい。データ構造は、等積投影および/またはローカルデカルト投影であってもよく、あるいは、関連する等領域およびローカルデカルト属性を有することができる。物体の球面投影は、ロボットまたはデバイスのようなソース(複数可)と共に、移動物体に対して安定視野が少なくとも部分的に不安定になり得る程度まで移動する。球面投影は、モーション推定アルゴリズムを用いて抽出されたモーションデータから利益を得ることができる等画素領域および局所デカルト特性のような性質を含んでもよい。このアルゴリズムは、ロボットの視野全体を捉え、複数のカメラからのデータを組み合わせるために、ロボットの視野を表す球面投影のこれらの属性を学習することができる。これにより、結果のスケーリングが一貫していて、視野上で効率的な計算を行うことができる。アルゴリズムは、光/オプティカルフローなどであってもよい。このアルゴリズムを用いて、等積投影と局所デカルト投影の関連する属性に基づいてモーションデータを抽出する。
【0068】
追加的にまたは代替的に、安定視野を符号化するためのデータ構造は、(単一)階層等領域孤立画素化(HEALPix)投影またはHEALPix投影の二重画素化導関数であってもよい。HEALPix投影は、HEALPix N_SIDEパラメータと共に適用することができる。オプティカルフローを計算するための構造としてHEALPixシングルまたは二重画素化アルゴリズムを使用することは、同じ画素面積とローカルデカルト特性の特性からも利益を得る。これらのメリットは、上記のセクションとアプリケーション全体に含まれている。
【0069】
符号化のために使用されるデータ構造は、FPGAまたはビジュアルアクセラレータユニット、または本明細書で説明される他の任意のハードウェア論理コンポーネントのような特定のタイプのハードウェアにカスタマイズすることができる。一例では、FPGA上で、HEALPixおよびHEALPix二重画素化の固定小数点実装を適用することができる。2^n HEALPix N_SIDEパラメータは、ビットシフトを実現することにより、除算および乗算を簡略化するために使用され得る。別の例では、FP16数学を用いてビジョンアクセラレータユニット上でHEALPixを実装することも同様であり、2^n HEALPix N_SIDEパラメータを用いて、指数としての加算/減算を実装することにより、除算および乗算を簡略化することが与えられる。FPGAやビジュアルアクセラレータなどのハードウェアへのこのデータ構造の適用は、性能と速度のいずれにおいても一般的なCPU実装よりも優れている。HEALPix型のデータ構造と実装は特にそうである。
【0070】
別の例では、直交帯域は、球面投影に関連する1つまたは複数のデータ構造に対して抽出されてもよく、直交帯域は、球面投影の識別可能なデカルト軸に関するものである。3つの直交帯域を抽出することができる。球面投影がHEALPixの場合、一重画素化または二重画素化する。3つの直交軸を囲むHEALPix球(または同様の)の3つの直交帯域を抽出する。二重画素化を用いて効率的な帯域抽出を実現する。また、球体投影上で2D畳み込みを行う手段として、3つの直交する帯域を使用し、各帯域のループを端から端まで連結して1つの1D画素ラインを形成したものとみなして、各帯域を取り囲む3つの1D畳み込みに分離する。実際には、2D畳み込みの性能を改善するために、各直交帯域の周りに1D畳み込みが生成される。帯域構造(直交)を使用した球上の任意の種類の空間フィルタリングも補完することができる。
【0071】
さらに、直交帯域は、円筒投影などの他の投影に関する1つまたは複数のデータ構造に対して抽出されてもよい。円筒投影では、直交帯域は、垂直ストリップ捕捉方向に基づいて円筒投影の識別可能なデカルト軸の周りを取り囲む。これらの垂直ストリップは、直交ストリップと同じように使用される。すなわち、垂直ストリップの北と南(極)部分を除去すれば、垂直ストリップを直交帯域と同様に使用することができる。円筒投影の場合、画像は画素の円環状の2Dメッシュとして表現される。ここで、画像の行は各行のいずれかの端でそれ自身に接続される。これは、最初に行の周りをループし、次に列をループすることによって処理される。
【0072】
符号化処理中または符号化処理後に、設定された安定視野に異種センシングを導入することができ、ここで、安定視野は全方向である。これは、本明細書に記載されているような1つまたは複数の技術によって確立される。ヘテロセンシングは、視野の一部または一部の領域のみを、より高い空間的または時間的解像度でサンプリングすることができる。すなわち、安定視野の少なくとも一部は、より高い空間解像度で、または動的に、安定視野の領域上でサンプリングされる。
【0073】
異種センシングは、HEALPix投影、一重画素化、または二重画素化に関して、HEALPix画素のネスト特性を利用する。これにより、センサー平面上の1つまたは複数の関心領域をより頻繁にサンプリングするように1つまたは複数のカメラを制御することができる。異種センシングは、データ中の関心領域からより頻繁にサンプリングして、領域に関連するサンプリングレートを提供するように構成され、より高いサンプリングレートに関連する領域は、安定視野上で動的に移動し、サイズを変更することができる。異なる領域は、異なるサンプリングレートを含んでもよい。異種センシング中に、1つまたは複数のHEALPix画素を分割して、安定視野の空間解像度を増加させることができる。
【0074】
代替的にも追加的にも、HEALPixデータ構造内の関心領域を識別することができる。識別された領域は、次のカメラフレームから視野のこの部分に関連する元のカメラデータを抽出するための逆マッピングを生成するために使用することができる。特に、より高解像度の画像のどの部分が視野データ構造内のどの画素にマッピングされ得るかに関する情報が開示される。このマッピングにより、最大解像度の異質性の実装が可能になる。マッピングに関連して生成されたデータは、主視野データ構造に組み込まれるのではなく、別個の2D画像として表される場合がある。マッピングは、データ構造をエンコードするために使用することができる。
【0075】
ステップ107では、符号化された安定視野からモーションデータを抽出し、そのモーションを検出する。抽出はオプティカルフローまたは物体のモーションを推定する同様のアルゴリズムによって行うことができる。抽出されたモーションデータは、等領域やローカルデカルトなどの属性を考慮し、そのような投影に関連する。モーション検出は、1つまたは複数のソースに関連する1つまたは複数のモジュール、デバイス、またはデバイスを含むシステム上で実行することができる。モーション検出は、そのようなソース上で直接計算することができる。システム、デバイス、装置は検出器、ロボットの一部、または無人機タイプデバイスであってもよく、1つまたは複数のソースからデータを受信するためのインターフェースと、1つまたは複数の技術を用いてデータから安定視野を確立し、3次元投影を含む1つまたは複数のデータ構造に基づいて、安定視野を符号化し、符号化された安定視野からモーションデータを抽出して、データ中の物体のモーションを検出するように構成された1つまたは複数の集積回路とを含む。
【0076】
図2は、データ手ぶれ補正例を示す模式図である。図2は、個々のカメラ画素がどのように手ぶれ補正されるかを説明する図である。この図では、カメラ画素201は、アキュムレータ(またはメモリを有する他のフィルタ)215によって受信される。カメラ画素201は、アキュムレータによって受信される前に、画像品質量を改善するために任意に前処理203されてもよい。
【0077】
追加的に又は代替的にカメラ画像に画像処理を施してもよい。画像処理または画像プロセッサは、デラミネーション、相対的照明補償などの画像手ぶれ補正アルゴリズムの使用を含んでもよい。このプロセスにおいて、カメラの内部(および外部モデル)からの画素方向ベクトル205は、オンライン/リアルタイム実行によって計算されるか、またはオフラインでパディングされたルックアップテーブルから検索されることができる。ルックアップテーブルは、効率的なクエリを提供し、フレーム間の重複計算を回避する。リアルタイムのパフォーマンスは、ハードウェアの制限に対応している。
【0078】
カメラの向き207の推定は、その外部写像209が計算または計算されたベースフレームに対して、例えば回転行列の形式で行われる。これはまた、画素方向ベクトル205と共に画像手ぶれ補正アルゴリズムに提供される。画像手ぶれ補正アルゴリズムは、外部マッピング209を用いて、各画素に関連する単位ベクトルを回転させることにより、ワールドフレーム内の各カメラ画素がサンプリングされる方向を計算する。
【0079】
より具体的には、画素方向ベクトル(又は等価座標、例えば球面方位角及び仰角)は、符号化システムの安定視野のための安定した投影(例えば球面投影)内の画素にマッピングされる。例えば、複数のカメラ画素を同じ球面投影画素にマッピングすることができる。球面表現における画素の指数は、ビニング関数211と呼ばれるカメラ画素の方向(単位)ベクトルの関数であると見出される。フィルタまたはアキュムレータ215は、複数のカメラからのデータを結合するために使用されてもよい。カメラ画素が球面表現画素にマッピングされていないか、画素が空白のままであってもよい別の例では、システムは、その前の値を保持するか、または欠落したデータを補間することができる。
【0080】
この組み合わせは、反復的に、またはフレームの終わりに、たとえば平均を取ることによって達成できる。これは、フレームトリーム入力の画素としてメモリ217に蓄積し、フレーム213の終わりで各手ぶれ補正表現画素の平均を取ることによって実装できる。
【0081】
複数の並置カメラが使用される場合(または、非並置カメラが使用される場合、視野内の不連続性が許容される場合)、本発明の上述の態様は、カメラが重なり合う視野から利益を得て、安定した内部表現の同じ部分を容易にするので、画像をステッチするのに効果的である。
【0082】
図3は、2次元投影例を示す図である。図には、UV球301、キューブマップ303、イソキューブ305、HEALPix 307の4つの投影が示されている。HEALPix 307は、別のプレゼンテーションでさらに示されている。投影に関連する属性または属性の詳細は、表1に示されている。HEALPix二重画素化アルゴリズムは、属性(寧浜アルゴリズムの従属計算、等面積画素、特異点なし、等緯度画素、水平線に位置合わせされた画素エッジ、および局所デカルト画素配列)に基づいて、場合によっては優れていることが証明される可能性がある。HEALPixの二重画素化と同様に、表1の他の投影は、オプティカルフロー(および同様のアルゴリズム)を用いて計算するために、この視野内の画素の均一な分布と面積に使用することができる。これらの計算結果をワールドデカルト軸にマッピングするには、赤道周辺の+/-45度標高領域の等緯度属性と水平画素境界が便利である。
【0083】
図4図12は、二重画素化HEALPix実装の様々な投影の模式図である。本発明を用いて実現され得る二重画素化HEALPixの異なる投影が示されている。
具体的には、二重画素化されたHEALPix投影は、等面積の擬似円柱マッピング投影であるモルワイデ投影、または地球上の選択された点がその中心で平面に正接する円形マッピングを生成する直交投影とすることができる。
【0084】
図4図7図8図9、および図10は、異なるN辺パラメータ、境界、および帯域を持つモルワイデ投影を示している。図5図6図11および図12は、同一の直交投影を示している。計算を簡単にするために、2に等しい正の整数のべき乗のN側パラメータを使用し、多くの除算および乗算をビットシフトに置き換えることができる。これはFPGA実現に特に有益である。さらに、これにより、ビジョンアクセラレータユニット上で16ビット浮動小数点精度を実現するのに有利な浮動小数点指数を直接操作することでアルゴリズムを簡略化することができる。
【0085】
図4は、モルワイデ投影を用いて可視化されたN_SIDE=4を有する二重画素化HEALPixの一例を示す。図5は、N_SIDEを有する例示的な二重画素化HEALPixを示しており、直交投影、N_SIDE=4、32および64を有する二重画素化HEALPixは、それぞれ501、503および505のような投影の一部として示されている。
【0086】
図6は、直交投影を用いた二重画素化HEALPix画素境界の一例を示す。投影上には、異種センシングの応用も示されている。特に、左側の投影601は異種センシングを示さないが、右側の投影603は異種センシングを示す。異種センシングのために、追加の各画素は、より大きな画素の等面積の4方向細分割によって生成され、各新しい画素またはより大きな画素は、4方向細分割を形成するために繰り返し細分割されることができる。
【0087】
図7は、帯域0が強調表示された二重画素化HEALPixの一例を示す概略図である。図8は、帯域1が強調表示された二重画素化HEALPixの一例を示している。図9は、帯域2が強調表示された二重画素化HEALPixの一例を示す。図7図8図9はモルワイデ投影により表示されている。帯域内の各画素には、帯域構造内のインデックスに比例した輝度が割り当てられ、画素0は黒であり、最後の画素は最も明るい。可視化のために、帯域外の画素にはランダムな輝度が割り当てられる。
【0088】
図10は、帯域0が強調表示された二重画素化HEALPixの一例を示している。図11は、帯域1が強調表示された二重画素化HEALPixの一例を示している。図12は、帯域2が強調表示された二重画素化HEALPixの一例を示している。図10図11および図12は、直交投影法で表されている。図10、11および12は、帯域の数に関して、図7、8および9に対応する。
【0089】
図13は、本発明の1または複数の態様、装置、方法(複数可)、および/またはプロセス(複数可)の組み合わせ、その修正、および/または図1図12を参照して説明および/または本明細書で説明することができる例示的なコンピューティングデバイス/システム400を示すブロック図である。コンピューティングデバイス/システム1300は、1つまたは複数のプロセッサユニット(複数可)1302と、入出力ユニット1304と、通信ユニット/インターフェース1306と、記憶ユニット1308とを含み、1つまたは複数のプロセッサユニット(複数可)1302は、入出力ユニット1304と、通信ユニット/インターフェース1306と、記憶ユニット1308とに接続される。いくつかの実施形態では、コンピューティングデバイス/システム1300は、サーバーであってもよく、またはネットワーク化された1つまたは複数のサーバーであってもよい。いくつかの実施形態では、計算装置/システム1300は、図1~12を参照して説明したように、および/または本明細書で説明したように、システム(複数可)、装置、方法(複数可)、および/またはプロセス(複数可)の1つまたは複数の態様、それらの組み合わせ、それらの変更、および/またはそれらを処理または実行するのに適した、コンピュータまたはスーパーコンピュータ/処理設備、またはハードウェア/ソフトウェアであってもよい。通信インターフェース1306は、通信ネットワークを介して、コンピューティングデバイス/システム1300を、1つまたは複数のサービス、デバイス、サーバシステム(複数可)、クラウドベースのプラットフォーム、物体データベースを実装するためのシステム、および/または本明細書に記載された発明を実装するためのナレッジマッピングに接続することができる。メモリユニット1308は、例えば、1つまたは複数のプログラム命令、コード、またはコンポーネントを記憶してもよいが、これらに限定されるものではなく、このような1つまたは複数のプログラム命令、コード、またはコンポーネントは、例えば、図1~12を参照して説明されたプロセス(複数可)/方法(複数可)に関連するオペレーティングシステムおよび/またはコード/コンポーネント(複数可)、追加データ、アプリケーション、アプリケーションファームウェア/ソフトウェア、および/または、さらなるプログラム命令、コードおよび/またはコンポーネント、例えば、本明細書で説明された本発明を実施するために使用されるデバイス、サービスおよび/またはサーバ(複数可)の機能および/または1つまたは複数の機能(複数可)の実装に関連するコードおよび/またはコンポーネント、および/または、以下の少なくとも1つを参照するために使用されるプロセス/方法(複数可)、デバイス、メカニズムおよび/またはシステム(複数可)/プラットフォーム/アーキテクチャ、それらの組み合わせ、それらの修正、および/または、図1(複数可)~12を参照して説明される方法/方法、デバイス、システム(複数可)/プラットフォーム/アーキテクチャ、それらの組み合わせ、それらの修正のうちの1つまたは複数に関するものである。
【0090】
図14は、道路の脇に駐車されている車と、そのうちの1台を囲む長方形の境界ボックスを示すグレースケールの画像である。この境界ボックスは、物体検出の基準点として機能し、その物体の衝突ボックスを作成する。図では、バウンディングボックスで囲まれた自動車に注釈が付けられている。画像は、異なるタイプの車両のためのより大きな訓練データセットの一部であってもよい。訓練データセットは、MLベースの分類器または任意の機械ビジョンアルゴリズムの訓練に適していてもよい。
【0091】
図15は、モルワイデ投影前処理を施した自動車の同一グレースケール画像である。この図は、システムがモルワイデ投影を用いて、自動車の元の注釈画像を図に示す前処理された適応に変換する方法を示している。残りの部分または周囲のFoVは、モルワイデ投影の影響を受けて黒の背景色で表示される。投影に対するFoVは、画像の中心に表示される。図14の原画像を含むトレーニングデータセットは、本明細書に記載されたMLアプリケーションの前処理ステップを示す、本明細書に記載された1つまたは複数のデータ構造によって符号化することができる。
【0092】
上記の図14および図15は、本明細書に記載された1つまたは複数のMLモデルと共に使用することができ、本発明のいずれか1つまたは複数の態様と共に直接または間接的に使用するのに適した例示的なトレーニングデータを示しており、図1図13によれば、本明細書に記載された1つまたは複数のMLモデルと共に使用することができる。
【0093】
本発明の一態様は、モーション検出のための手ぶれ補正されたデータのためのコンピュータ実装された方法であって、1つまたは複数のソースから物体に関連するデータを受信するステップと、1つまたは複数の技術を用いて、前記データから回転安定視野を確立するステップと、少なくとも1つ、2つまたはそれ以上の次元投影を含む1つまたは複数のデータ構造に基づいて、前記安定視野を符号化するステップと、前記符号化された安定視野から安定したモーションデータを抽出するステップと、を含む。
【0094】
本発明の別の態様は、モーションを検出するための装置であって、1つまたは複数のソースからデータを受信するためのインターフェースと、1つまたは複数の集積回路と、を含み、前記1つまたは複数の集積回路は、1つまたは複数の技術を用いて、前記データから安定視野を確立し、2つ以上の次元投影を含む1つまたは複数のデータ構造に基づいて、安定視野を符号化し、前記符号化された安定視野から安定したモーションデータを抽出し、データ中の物体のモーションを検出するように構成される。
【0095】
本発明の別の態様は、モーションを検出するためのシステムであって、1つまたは複数の技術を用いて、前記データから安定視野を確立するように構成された第1モジュールと、2つ以上の次元投影を含む1つまたは複数のデータ構造に基づいて、安定視野を符号化するように構成された第2モジュールと、前記符号化された安定視野から安定したモーションデータを抽出し、データ中の物体のモーションを検出するように構成された第3モジュールと、を含む。
本発明の別の態様は、その上に格納されたコンピュータ可読コードまたは命令を含むコンピュータ可読媒体であり、プロセッサ上で実行されると、プロセッサに、前述の態様のいずれかによるコンピュータ実装方法を実行させる。
【0096】
以下の選択肢は、上述の態様のいずれかと組み合わせることができることが理解される。
【0097】
選択肢として、前記1つ以上の技術は、前記1つ以上の音源の向きに基づいて前記データから回転的に安定した全方向視野を生成するように構成されたアルゴリズムを含む。
【0098】
別の選択肢として、前記1つまたは複数の技術は、前記データからローリングシャッターを修正するように構成されたアルゴリズムをさらに含む。
【0099】
別の選択肢として、前記1つまたは複数の技術は、安定した視野を確立するために受信データを連続的に繰り返し追加することによって前記データを処理する。
【0100】
別の選択肢として、処理されたデータは少なくとも部分的にメモリに保存される。または、受信したデータはメモリに保存せずにリアルタイムで処理される。
【0101】
別の選択肢として、前記符号化されたデータから並進運動を回転運動から分離して、モーションデータを抽出するステップをさらに含む。
【0102】
別の選択肢として、前記1つまたは複数のデータ構造は、球面投影または円筒投影を含む。
【0103】
別の選択肢として、前記物体の球面投影は、前記1つまたは複数のソースと共に移動する。
【0104】
別の選択肢として、前記安定視野は、移動体に対して少なくとも部分的に不安定である。
【0105】
別の選択肢として、前記1つまたは複数のデータ構造は、階層的等面積等緯度画素化(HEALPix)投影を含む。
【0106】
別の選択肢として、前記HEALPix投影は、HEALPix二重画素化導関数を適用する。
【0107】
別の選択肢として、HEALPix投影で2^n HEALPix n_sideパラメータを適用するステップをさらに含む。
【0108】
別の選択肢として、前記モーションデータは、等しい画素領域の属性および局所デカルト性質に関して構成されたモーション推定アルゴリズムを用いて抽出される。
【0109】
別の選択肢として、前記モーションデータはオプティカルフローを用いて抽出される。
【0110】
別の選択肢として、前記1つまたは複数のデータ構造は、等積投影および/または局所デカルト投影を含む。
【0111】
別の選択肢として、前記モーションデータは、前記等積投影および局所デカルト投影に関連する属性に基づくオプティカルフロータイプ推定を用いて抽出される。
【0112】
別の選択肢として、この方法は、固定小数点実装を用いてフィールドプログラマブルゲートアレイ上で実装される。
【0113】
別の選択肢として、この方法は、16ビット浮動小数点演算を用いてビジョンアクセラレータユニットに実装される。
【0114】
別の選択肢として、この方法は、中央処理装置、グラフィックス処理装置、テンソル処理装置、デジタル信号プロセッサ、特定用途向け集積回路、ファブレス半導体、半導体インテリジェントプロセッサ、またはこれらの組み合わせのうちの少なくとも1つに関連する1つまたは複数のプロセッサ上で実装される。
【0115】
別の選択肢として、前記球面投影に関連する1つまたは複数のデータ構造に関して、前記球面投影の識別可能なデカルト軸の周りを囲んでいる直交帯域を抽出するステップをさらに含む。
【0116】
別の選択肢として、前記球面投影はHEALPixである。
【0117】
別の選択肢として、前記球面投影は二重画素化を適用する。
【0118】
別の選択肢として、前記直交帯域を用いて前記球面投影に空間フィルタリングを適用するステップをさらに含む。
【0119】
別の選択肢として、2D畳み込みの性能を改善するために、各直交帯域の周りに1D畳み込みを生成することにより、球面投影上で2D畳み込みを実行するステップをさらに含む。
【0120】
別の選択肢として、前記円筒投影に関連する1つまたは複数のデータ構造に関して、前記データの垂直ストリップに基づく方向を捕捉するように前記円筒投影の識別可能なデカルト軸の周りを取り囲む直交帯域を抽出するステップをさらに含む。
【0121】
別の選択肢として、前記1つまたは複数のソースからのデータはデモザイク化される。
【0122】
別の選択肢として、画素のビニングおよびダウンサンプリングを適用して、回転安定全方向視野を生成するステップをさらに含む。
【0123】
他の選択肢として、前記データは、ビジョン情報に対応するRGBデータである。
【0124】
別の選択肢として、前記画素ビニングは、3つのカラーチャネルをそれぞれ累積することによってデータをデレイヤーするように構成される。
【0125】
別の選択肢として、安定視野に異種センシングを適用し、安定視野は、1つまたは複数の技術に基づいて全方向に確立される。
【0126】
別の選択肢として、前記異種センシングは、より高い空間解像度で安定視野の少なくとも一部を符号化することを含む。
【0127】
別の選択肢として、異種センシングに基づいて、安定視野の領域を動的にサンプリングする。
【0128】
別の選択肢として、HEALPix投影または二重画素化に異種センシングを適用する。
【0129】
別の選択肢として、前記異種センシングは、前記データ中の関心領域からより頻繁にサンプリングして、前記領域に関連するサンプリングレートを提供するように構成され、より高いサンプリングレートに関連する前記領域は、安定視野上で動的に移動可能で、サイズを変更可能であり、異なる領域は、異なるサンプリングレートを構成する。
【0130】
別の選択肢として、前記データの1つまたは複数のHEALPix画素を分割して、安定視野の空間解像度を増加させるステップをさらに含む。
【0131】
他の選択肢として、前記データは、RGBデータと非RGBデータとを含み、前記非RGBデータは、非色情報に関連している。
【0132】
別の選択肢として、前記非RGBデータは、光のスペクトル、偏光情報、レーダ、レーザレーダからの出力、深度認識、超音波距離情報、温度、メタデータ(例えば、セマンティックラベリング、バウンディングボックス頂点、地形タイプ)、またはゾーン(例えば、立ち入り禁止エリア)、衝突までの時間情報、衝突リスク情報、聴覚、嗅覚、体性に関するデータ、または任意の他の形式の方向センサデータ、中間処理データ、アルゴリズムによって生成された出力データ、または他の外部ソースからのデータを含む。
【0133】
更なる選択肢として、球面投影に関連する1つまたは複数のデータ構造に関連する直交帯域を抽出することも含まれ、抽出された直交帯域は、投影に関連するアルゴリズムを適用するように適合され、抽出された直交帯域は、1つまたは複数のデータ構造上の符号化として使用される。
【0134】
更なる選択肢として、直交帯域を同時に適用して、球面投影に基づいて並列的に畳み込みを生成する。
【0135】
更なる選択肢として、前記各直交帯域は、並列処理用にセグメント化され、前記球面投影に関連する畳み込みを生成する。
【0136】
更なる選択肢として、少なくとも複数のデータフレームを含む前記データのN-1番目のデータフレームに基づいて、符号化された安定視野上の関心領域を識別するステップと、前記関心領域を前記データのn番目のデータフレームにマッピングするステップと、前記マッピングに基づいて前記データからデータのサブセットを抽出するステップと、をさらに含む。
【0137】
更なる選択肢として、抽出されたデータのサブセットは、符号化された安定視野から独立した2D画像によって表される。
【0138】
更なる選択肢として、マッピングは、最大解像度の不均一性を達成するために連続的に更新され、ここで、マッピングは、安定視野を符号化するのに少なくとも部分的に適している。
【0139】
更なる選択肢として、前記1つまたは複数のソースは、外部データを直接または間接的に受信するように適合された少なくとも1つのカメラ、センサー、またはデバイスを含む。
【0140】
更なる選択肢として、前記1つまたは複数のシミュレーションに関するシミュレーションデータを受信するステップをさらに含み、前記シミュレーションデータは、前記データに挿入またはオーバーレイすることによって、安定視野を確立するために使用される。
【0141】
更なる選択肢として、前記データは、前記データを用いて安定した視野を確立するための、前記1つまたは複数のソースに対応するシミュレートされたデータを含む。
【0142】
更なる選択肢として前記1つまたは複数の機械学習(ML)モデルを適用して、前記1つまたは複数のデータ構造に基づいてデータ中の物体を分類するステップをさらに含み、前記1つまたは複数のMLモデルは、安定視野に関連する前記符号化を表す物体を認識するように構成される。
【0143】
更なる選択肢として、前記1つまたは複数のMLモデルは、前記1つまたは複数のデータ構造に従ってモデル特徴を更新するために、前記1つまたは複数のデータ構造上で動作するように適合されている。
【0144】
更なる選択肢として、前記1つまたは複数のデータ構造に基づいて、前記データ内のオブジェクトを分類するために1つまたは複数の機械学習(ML)モデルを適用し、前記1つまたは複数のMLモデルは、安定した視野に関連付けられた前記符号化を表すオブジェクトを認識するように構成されている。
【0145】
更なる選択肢として、1つまたは複数のMLモデルは、1つまたは複数の物体で注釈が付けられたデータを用いてトレーニングされ、注釈が付けられたデータは、MLモデルをトレーニングするために使用された1つまたは複数のデータ構造を用いて変換される。
【0146】
更なる選択肢として、ラベル付けされたセンサー入力データセットから、1つまたは複数のデータ構造を用いて符号化されたデータを操作するように構成された機械学習モデルをトレーニングするためのラベル付けされた出力データセットが生成される。
【0147】
上述した本発明の実施形態、例、および態様では、例えば本発明を使用するモーション検出のためのプロセス(複数可)、方法(複数可)、システム(複数可)、および/または装置は、1つまたは複数のクラウドプラットフォーム、1つまたは複数のサーバー(複数可)またはコンピューティングシステム(複数可)またはデバイス(複数可)上で実装および/または含んでもよい。サーバーは単一のサーバーまたはサーバネットワークを含むことができ、クラウドプラットフォームは複数のサーバーまたはサーバネットワークを含んでもよい。いくつかの例では、サーバーおよび/またはクラウドプラットフォームの機能は、地理的領域に分散されたサーバネットワーク、例えばグローバル分散サーバネットワークによって提供されることができ、ユーザは、ユーザの位置などに基づいて、サーバネットワーク内の適切なサーバーの1つに接続することができる。
【0148】
明確にするために、上記の説明では、単一のユーザを参照して本発明の実施形態を説明する。実際には、システムは、複数のユーザによって共有されてもよく、また、多くのユーザによって同時に共有されてもよいことが理解されるべきである。
【0149】
上記の実施形態は、半自動として、および/または全自動として構成することができる。いくつかの例では、システム(複数可)/プロセス(複数可)/方法に問い合わせるユーザまたはオペレータは、実行すべきプロセス/方法のいくつかのステップを手動で指示することができる。
【0150】
本発明に記載された実施形態は、本発明および/または本明細書に記載されたモーション検出などのためのシステム、プロセス(複数可)、方法(複数可)、および/または装置に従って、任意の形態の計算および/または電子デバイスとして実装され得る。このようなデバイスは、ルーティング情報を収集および記録するためにデバイスの動作を制御するコンピュータ実行可能命令を処理するためのマイクロプロセッサ、コントローラ、または任意の他の適切なタイプのプロセッサであってもよい1つまたは複数のプロセッサを含んでもよい。いくつかの例では、例えばシステムオンチップアーキテクチャを使用する場合、プロセッサは、(ソフトウェアまたはファームウェアではなく)ハードウェアで方法の一部を実装する1つまたは複数の固定機能ブロック(アクセラレータとも呼ばれる)を含んでもよい。
オペレーティングシステムまたは任意の他の適切なプラットフォームソフトウェアを含むプラットフォームソフトウェアは、用途ソフトウェアがデバイス上で実行されることを可能にするために、コンピューティングベースのデバイスにおいて提供され得る。
【0151】
本明細書に記載された様々な機能は、ハードウェア、ソフトウェア、またはそれらの任意の組み合わせで実装されてもよい。ソフトウェアで実装される場合、これらの機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶され、またはコンピュータ可読媒体上で送信され得る。コンピュータ可読媒体は、例えば、コンピュータ可読記憶媒体を含んでもよい。コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータのような情報を記憶するために、任意の方法または技術で実施される揮発性または不揮発性、取り外し可能または取り外し不可能な媒体を含んでもよい。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の利用可能な記憶媒体とすることができる。限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他の記憶デバイス、CD-ROMまたは他の光ディスク記憶デバイス、磁気ディスク記憶デバイスまたは他の磁気記憶デバイス、または所望のプログラムコードを命令またはデータ構造の形式で搬送または記憶するために使用され、コンピュータによってアクセス可能な任意の他の媒体を含んでもよい。ここで使用される光ディスクおよびディスクには、光ディスク(CD)、レーザーディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイディスク(BD)が含まれる。また、伝播された信号は、コンピュータ読み取り可能な記憶媒体の範囲内には含まれない。コンピュータ可読媒体はまた、ある場所から別の場所へのコンピュータプログラムの送信を容易にする任意の媒体を含む通信媒体を含む。接続は、例えば、通信媒体であってもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などの無線技術を用いてウェブサイト、サーバー、または他の遠隔ソースから送信される場合、通信媒体の定義に含まれる。
上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【0152】
代替的にまたは追加的に、本明細書で説明される機能は、少なくとも部分的に1つまたは複数のハードウェア論理コンポーネントによって実行され得る。例えば、限定されるわけではないが、使用可能なハードウェア論理コンポーネントは、フィールドプログラマブルゲートアレイ(FPGAs)、用途特定用途向け集積回路(ASICs)、用途特定用途向け標準製品(ASSPs)、システムオンチップ(SOC)、複雑プログラマブルロジックデバイス(CPLD)などを含んでもよい。複雑プログラマブルロジックデバイス(CPLD)、量子コンピュータ、神経形態プロセッサ、光子プロセッサなどだ。
【0153】
ハードウェア論理コンポーネントは、中央処理装置、グラフィックス処理装置、テンソル処理装置、デジタル信号プロセッサ、特定用途向け集積回路、ファブレス半導体、半導体インテリジェントプロセッサ(例えば相補型金属酸化膜半導体)、またはこれらの組み合わせのうちの少なくとも1つに関連する1つまたは複数のプロセッサを含んでもよい。
【0154】
図示は単一のシステムであるが、コンピューティングデバイスは分散システムであり得ることを理解されたい。これにより、例えば、いくつかのデバイスは、ネットワーク接続を介して通信することができ、コンピューティングデバイスによって実行されるものとして説明されているタスクを共同で実行することができる。
【0155】
図示はローカルデバイスであるが、コンピューティングデバイスは、ネットワークまたは他の通信リンクを介して(例えば、通信インターフェースを用いて)遠隔地に配置され、アクセスされてもよいことを理解されたい。
【0156】
用語「コンピュータ」は、ここでは、命令の実行を可能にするための処理能力を有する任意のデバイスを指す。当業者であれば、このような処理能力は、多くの異なるデバイスに組み込まれ、したがって、「コンピュータ」という用語は、PC、サーバー、携帯電話、携帯情報端末、および多くの他のデバイスを含むことを認識するであろう。
【0157】
当業者は、プログラム命令を記憶する記憶デバイスがネットワーク上に分散されていてもよいことを認識するであろう。例えば、遠隔コンピュータは、ソフトウェアとして記述されたプロセスの例を記憶することができる。ローカルコンピュータまたは端末コンピュータは、リモートコンピュータにアクセスし、ソフトウェアの一部または全部をダウンロードしてプログラムを実行することができる。代替的に、ローカルコンピュータは、必要に応じてソフトウェア断片をダウンロードしてもよく、またはローカル端末でいくつかのソフトウェア命令を実行してもよく、リモートコンピュータ(またはコンピュータネットワーク)でいくつかのソフトウェア命令を実行してもよい。当業者はまた、当業者に知られている従来技術を利用することによって、ソフトウェア命令のすべてまたは一部が、DSP、プログラマブルロジックアレイなどの専用回路によって実行されてもよいことを認識するであろう。
【0158】
上記の利点および利点は、1つの実施形態に関連してもよく、またはいくつかの実施形態に関連してもよいことが理解されるべきである。複数の実施形態は、言及された問題のいずれか又は全てを解決するもの、又は言及された利点と長所を有するものに限定されるものではない。変形は、本発明の範囲内に含まれるものとみなされるべきである。
【0159】
「1つ」項目への参照は、それらの項目の1つまたは複数を意味する。用語「含む」は、識別された方法ステップまたは要素を含むことを意味するためにここで使用されるが、これらのステップまたは要素は排他的リストを含まず、方法またはデバイスは追加のステップまたは要素を含んでもよい。
【0160】
本明細書で使用されるように、用語「コンポーネント」および「システム」は、プロセッサによって実行されると特定の機能を実行させるコンピュータ実装可能命令で構成されたコンピュータ可読データストアを含むことを意図している。コンピュータ実行可能命令は、ルーチン、関数などを含んでもよい。また、コンポーネントまたはシステムは、単一のデバイス上に配置されてもよく、または複数のデバイス上に分散されてもよいことが理解されるべきである。
さらに、本明細書で使用されるように、用語「例示的な」は、「何かの例示または例として」を意味することを意図している。さらに、発明の詳細な説明又は特許請求の範囲で用語「含む」が使用されている限り、当該の用語は、「備える」が特許請求の範囲で転換語として採用されている場合に、用語「備える」が解釈されるのと同様の方法で包括的であることが意図される。
【0161】
添付の図は、例示的な方法を示す。方法は、特定の順序で実行される一連の演算として示され、説明されているが、方法は順序によって制限されないことを理解し、理解されるべきである。例えば、いくつかの演算は、本明細書に記載されたものとは異なる順序で発生することができる。また、ある行動は、別の行動と同時に発生することができる。さらに、場合によっては、本明細書に記載された方法を実装するためにすべての演算が必要とされないこともある。
【0162】
さらに、本明細書に記載の演算は、1つまたは複数のプロセッサによって実装され、および/または1つまたは複数のコンピュータ可読媒体上に記憶され得るコンピュータ実行可能命令を含んでもよい。コンピュータ実行可能命令は、ルーチン、サブルーチン、プログラム、実行スレッドなどを含んでもよい。さらに、これらの方法の演算の結果は、コンピュータ可読媒体中に記憶され、ディスプレイデバイス上に表示され、および/または同様のデバイス上に表示され得る。
【0163】
本明細書に記載の方法のステップの順序は例示的であるが、これらのステップは任意の適切な順序で実行されてもよいし、適切な場合には同時に実行されてもよい。さらに、ステップは、本明細書に記載された主題の範囲から逸脱することなく、任意の方法に追加または置換されてもよく、または単一のステップは任意の方法から削除されてもよい。上記のいずれかの実施形態の態様は、求められた効果を失うことなく、さらなる実施形態を形成するために、説明された他のいずれかの実施形態の態様と組み合わされてもよい。
【0164】
実施形態についての上記の説明は単に例として挙げたもので、当業者により様々な変更がなされ得るということが理解されよう。
【0165】
上記で説明されたものは、1つまたは複数の実施形態の例が含まれる。もちろん、上記の態様を説明する目的のために、上記のデバイスまたは方法のそれぞれの考えられる修正および変更を説明することは不可能であるが、当業者は、様々な態様の多くのさらなる修正および配置が可能であることを認識するであろう。したがって、記載された態様は、添付の特許請求の範囲内に含まれるすべてのそのような変更、修正、および変更を含むことが意図されている。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
【国際調査報告】