(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022068316
(43)【公開日】2022-05-09
(54)【発明の名称】物体の3次元再構成のための初期対応割り当ての効率的なデータ処理のための方法及び装置
(51)【国際特許分類】
G06T 7/593 20170101AFI20220426BHJP
【FI】
G06T7/593
【審査請求】有
【請求項の数】19
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022025007
(22)【出願日】2022-02-21
(62)【分割の表示】P 2019162467の分割
【原出願日】2019-09-05
(31)【優先権主張番号】62/728,505
(32)【優先日】2018-09-07
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】504382671
【氏名又は名称】コグネックス・コーポレイション
(74)【代理人】
【識別番号】100119378
【弁理士】
【氏名又は名称】栗原 弘幸
(72)【発明者】
【氏名】グロッセ,マーカス
(72)【発明者】
【氏名】シェイファー,マーティン
(72)【発明者】
【氏名】ウィルケ,サイモン
(72)【発明者】
【氏名】ハレント,バスティアン
(57)【要約】 (修正有)
【課題】物体の3次元再構成のために初期対応割り当てのデータを効率的に処理する方法装置及びコンピュータ可読媒体を提供する。
【解決手段】システムは、シーンの第1の画像セットとシーンの第2の画像セットを受け取り、第1の画像セットに基づいて第1のピクセル指紋を決定し、第2の画像セットに基づいて第2のピクセル指紋を決定し、第1のピクセル指紋に基づいて第1のバイナリピクセル指紋を生成し、及び第2のピクセル指紋に基づいて第2のバイナリピクセル指紋を生成し、更に、第1のピクセル指紋と第2のピクセル指紋との間にステレオ対応が存在するかどうかを、少なくとも一部は第1のバイナリピクセル指紋と第2のバイナリピクセル指紋の比較に基づいて判定する、という動作を実行するように構成されたプロセッサを含むシステムである。
【選択図】
図9
【特許請求の範囲】
【請求項1】
第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間のステレオ対応を決定するためのシステムであって、前記システムはプロセッサを有し、
前記プロセッサは、1以上のイメージセンサからシーンの第1の画像セットとシーンの第2の画像セットを受け取るステップを実行するよう構成され、ここで、第2の画像セットは第1の画像セットとは異なる視点から取得されるものであり、
前記プロセッサは、さらに、第1の画像セットに基づいて第1のピクセル指紋を決定するステップを実行するよう構成され、ここで、第1の経時的な画像セットの各画像における第1のピクセル位置での第1のピクセル値セットを含み、
前記プロセッサは、さらに、第2の画像セットに基づいて第2のピクセル指紋を決定するステップを実行するよう構成され、ここで、第2のピクセル指紋は、第2の経時的な画像セットの各画像における第2のピクセル位置での第2のピクセル値セットを含み、
前記プロセッサは、さらに、第1のピクセル指紋に基づいて第1のバイナリピクセル指紋を生成するステップを実行するよう構成され、ここで、第1のバイナリピクセル指紋は、第1のピクセル値セットの各々を閾値と比較することにより生成された第1のバイナリ値セットを包含し、
前記プロセッサは、さらに、第2のピクセル指紋に基づいて第2のバイナリピクセル指紋を生成するステップを実行するよう構成され、ここで、第2のバイナリピクセル指紋は、第2のピクセル値セットの各々を閾値と比較することにより生成された第2のバイナリ値セットを包含しており、かつ
前記プロセッサは、第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間にステレオ対応が存在するかどうかを、第1のバイナリピクセル指紋と第2のバイナリピクセル指紋の比較に少なくとも一部は基づいて判定するステップを実行するよう構成されてなる、
上記システム。
【請求項2】
シーンの前記第1の画像セット及び/又は前記第2の画像セットが逆カメラ/プロジェクタから受け取られる、請求項1記載のシステム。
【請求項3】
更に、前記シーンに光パターンのセットを投影するように構成されたプロジェクタを有し、前記第1の画像セットの各画像は前記光パターンのセットとは異なる光パターンを使用して取得される、請求項1記載のシステム。
【請求項4】
前記光パターンのセットは、シーンに異なる光パターンを投影するために平行移動、回転及び/又は変形される固定パターンを含む、請求項3記載のシステム。
【請求項5】
前記第1のピクセル指紋は、前記第1のピクセル値セットを前記第1の画像セットの時間的順序に対応して順序付けられたセットとして含み、
前記第2のピクセル指紋は、前記第2のピクセル値セットを前記第2の画像セットの時間的順序に対応して順序付けられたセットとして含む、請求項1記載のステム。
【請求項6】
前記第1のバイナリ値セットを生成することは、前記第1のピクセル値セットの各ピクセル値に対して、前記ピクセル値が閾値を超える場合はゼロを割り当て、前記ピクセル値が閾値を超えない場合は1を割り当てることを含む、請求項1記載のシステム。
【請求項7】
前記第1のバイナリピクセル指紋と前記第2のバイナリピクセル指紋とを比較することは、前記第1のバイナリピクセル指紋と第2のバイナリピクセル指紋で対応するバイナリ値を比較することを含む、請求項1記載のシステム。
【請求項8】
前記プロセッサは、第1のピクセル指紋を正規化するステップを実行するよう構成され、ここで、第1のピクセル指紋を正規化することは、第1の画像セットの各画像における第1のピクセル位置での第1のピクセル値セットを正規化して、第1の正規化ピクセル値セットを包含する第1の正規化ピクセル指紋を作成することを含み、かつ
前記プロセッサは、第2のピクセル指紋を正規化するステップを実行するよう構成され、ここで、第2のピクセル指紋を正規化することは、第2の画像セットの各画像における第2のピクセル位置での第2のピクセル値セットを正規化して、第2の正規化ピクセル値セットを包含する第2の正規化ピクセル指紋を作成することを含み、
ここで、
第1のバイナリピクセル指紋を生成することは、第1の正規化ピクセル指紋に基づいて第1のバイナリピクセル指紋を生成することを含み、
第2のバイナリピクセル指紋を生成することは、第2の正規化ピクセル指紋に基づいて第2のバイナリピクセル指紋を生成することを含む、
請求項1記載のシステム。
【請求項9】
前記プロセッサは、第1の正規化ピクセル指紋に基づいて、第3のバイナリピクセル指紋を生成するステップを実行するよう構成され、、ここで、第3のバイナリピクセル指紋は、第1の正規化ピクセル値セットの各々の絶対値を信頼閾値と比較することによって生成された第3のバイナリ値セットを含み、かつ
前記プロセッサは、第2の正規化ピクセル指紋に基づいて、第4のバイナリピクセル指紋を生成するステップを実行するよう構成され、、ここで、第4のバイナリピクセル指紋は、第2の正規化ピクセル値セットの各々の絶対値を信頼閾値と比較することによって生成された第4のバイナリ値セットを含む、
請求項8記載のシステム。
【請求項10】
前記第1のバイナリピクセル指紋と前記第2のバイナリピクセル指紋とを比較することは、
前記第1、第3及び第4のバイナリピクセル指紋で対応するバイナリ値のOR値と、前記第2、第3及び第4のバイナリピクセル指紋で対応するバイナリ値のOR値と、を比較することを含む、
請求項9記載のシステム。
【請求項11】
前記第1のバイナリピクセル指紋と前記第2のバイナリピクセル指紋とを比較することは、前記第1のバイナリピクセル指紋と第2のバイナリピクセル指紋で対応するバイナリ値がハミング距離閾値内にあるかどうかを判定することを含む、請求項1記載のシステム。
【請求項12】
前記プロセッサは、前記第1の画像セットにおける前記第1のピクセル指紋の決定に先立って、前記第1の画像セットの各画像に画像フィルタを適用するように構成されてなる、請求項1記載のシステム。
【請求項13】
前記第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間にステレオ対応が存在するかどうかを決定することは、
連続的な経時的相関を実行して、第1のピクセル指紋と第2のピクセル指紋との間の相関値を生ぜしめて、
相関閾値を超える前記相関値とピクセル指紋の以前のペアに対する以前の相関値に基づいて、第1のピクセル指紋と第2のピクセル指紋との間に潜在的対応が存在することを決定すること、
を含む、請求項1記載のシステム。
【請求項14】
前記第1の画像セットの前記第1のピクセル指紋と前記第2の画像セットの前記第2のピクセル指紋との間にステレオ対応が存在するかどうかを判定することは、
穴埋め操作を実行して、他のピクセル指紋と潜在的対応があるとまだ決定されていないピクセル指紋に対して初期対応を補間することを含む、請求項13記載のシステム。
【請求項15】
前記第1のピクセル位置及び/又は前記第2のピクセル位置は、スキップパラメータに基づいて選択される、請求項1記載のシステム。
【請求項16】
前記第1のピクセル位置(i1,j1)は、スキップパラメータSに基づいて、i1モジュロS=0及びj1モジュロS=0となるように選択される、請求項15記載のシステム。
【請求項17】
第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間のステレオ対応を決定する方法であって、前記方法はプロセッサを使用し、
前記プロセッサは、1以上のイメージセンサからシーンの第1の画像セットとシーンの第2の画像セットを受け取るよう構成され、ここで第2の画像セットは第1の画像セットとは異なる視点から取得され、
前記プロセッサは、第1の画像セットに基づいて第1のピクセル指紋を決定するよう構成され、ここで、第1のピクセル指紋は、第1の経時的な画像セットの各画像における第1のピクセル位置での第1のピクセル値セットを含み、
前記プロセッサは、第2の画像セットに基づいて第2のピクセル指紋を決定するよう構成され、ここで、第2のピクセル指紋は、第2の経時的な画像セットの各画像における第2のピクセル位置での第2のピクセル値セットを含み、
前記プロセッサは、第1のピクセル指紋に基づいて第1のバイナリピクセル指紋を生成するよう構成され、ここで、第1のバイナリピクセル指紋は、第1のピクセル値セットの各々を閾値と比較することにより生成された第1のバイナリ値セットを包含し、
前記プロセッサは、第2のピクセル指紋に基づいて第2のバイナリピクセル指紋を生成するよう構成され、ここで、第2のバイナリピクセル指紋は、第2のピクセル値セットの各々を閾値と比較することにより生成された第2のバイナリ値セットを包含し、更に、
前記プロセッサは、第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間にステレオ対応が存在するかどうかを、少なくとも一部は第1のバイナリピクセル指紋と第2のバイナリピクセル指紋の比較に基づいて判定するよう構成されてなる、
上記方法。
【請求項18】
プロセッサ実行可能命令を格納する少なくとも1つの非一時的なコンピュータ可読記憶媒体であって、少なくとも1つのコンピュータハードウェアプロセッサによって前記命令が実行されると、
前記少なくとも1つのコンピュータハードウェアプロセッサは、1以上のイメージセンサからシーンの第1の画像セットとシーンの第2の画像セットを受け取り、ここで、第2の画像セットは第1の画像セットとは異なる視点から取得され、
前記少なくとも1つのコンピュータハードウェアプロセッサは、第1の画像セットに基づいて第1のピクセル指紋を決定し、ここで、第1のピクセル指紋は、第1の経時的な画像セットの各画像における第1のピクセル位置での第1のピクセル値セットを含み、
前記少なくとも1つのコンピュータハードウェアプロセッサは、第2の画像セットに基づいて第2のピクセル指紋を決定し、ここで、第1のピクセル指紋は、第2の経時的な画像セットの各画像における第2のピクセル位置での第2のピクセル値セットを含み、
前記少なくとも1つのコンピュータハードウェアプロセッサは、第1のピクセル指紋に基づいて第1のバイナリピクセル指紋を生成し、ここで、第1のバイナリピクセル指紋は、第1のピクセル値セットの各々を閾値と比較することにより生成された第1のバイナリ値セットを含み、
前記少なくとも1つのコンピュータハードウェアプロセッサは、第2のピクセル指紋に基づいて、第2のバイナリピクセル指紋を生成し、ここで、第2のバイナリピクセル指紋は、第2のピクセル値セットの各々を閾値と比較することにより生成された第2のバイナリ値セットを含み、更に、
前記少なくとも1つのコンピュータハードウェアプロセッサは、第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間にステレオ対応が存在するかどうかを、少なくとも一部は第1のバイナリピクセル指紋と第2のバイナリピクセル指紋の比較に基づいて判定する、
ように前記命令が構成されてなる、上記コンピュータ可読記憶媒体。
【請求項19】
第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間のステレオ対応を決定するためのシステムであって、前記システムはプロセッサを有し、
前記プロセッサは、1以上のイメージセンサからシーンの第1の画像セットとシーンの第2の画像セットを受け取るステップを実行するよう構成され、、ここで、第2の画像セットは第1の画像セットとは異なる視点から取得され、
前記プロセッサは、第1の画像セットに基づいて第1のピクセル指紋を決定するステップを実行するよう構成され、ここで、第1のピクセル指紋は、第1の画像セットの各画像における第1のピクセル位置に対して相対的な空間及び/又は時間における異なる位置での第1のピクセル値セットを含み、
前記プロセッサは、第2の画像セットに基づいて第2のピクセル指紋を決定するステップを実行するよう構成され、ここで、第2のピクセル指紋は、第2の画像セットの各画像における第2のピクセル位置に対して相対的な空間及び/又は時間における異なる位置での第2のピクセル値セットを含み、
前記プロセッサは、第1のピクセル指紋に基づいて第1のバイナリピクセル指紋を生成するステップを実行するよう構成され、ここで、第1のバイナリピクセル指紋は、第1のピクセル値セットの各々を閾値と比較することにより生成された第1のバイナリ値セットを含み、
前記プロセッサは、第2のピクセル指紋に基づいて第2のバイナリピクセル指紋を生成するステップを実行するよう構成され、ここで、第2のバイナリピクセル指紋は、第2のピクセル値セットの各々を閾値と比較することにより生成された第2のバイナリ値セットを含み、更に、
前記プロセッサは、第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間にステレオ対応が存在するかどうかを、少なくとも一部は第1のバイナリピクセル指紋と第2のバイナリピクセル指紋の比較に基づいて判定するステップを実行するよう構成されてなる、
上記システム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に記載する技術は、一般に物体又はシーンの2次元画像からの3次元(3D)再構成、特に2次元画像のペア間の初期対応割り当てのデータを効率的に処理する手法に関する。
【背景技術】
【0002】
先進的マシンビジョンシステムとそれらの基盤となるソフトウェアは、多様な製造及び品質管理プロセスにますます多用されている。マシンビジョンにより量産製品及びカスタム製品のいずれの生産においても、より迅速に、より正確に再現可能な結果を得ることができる。典型的なマシンビジョンシステムには、関心領域に向けられた1台以上のカメラ、関心領域に適当な照明を向ける照明源、画像を取得して送信するフレームグラバー/画像処理要素、マシンビジョンソフトウェアアプリケーションを実行して取得された画像を操作するためのコンピュータ又はオンボード処理デバイス、及びインタラクションのためのユーザインタフェースを含む。
【0003】
3Dビジョンシステムの1形態は、ベースライン上に1~数インチのカメラ間隔を置いて並置された少なくとも2台のカメラを採用するステレオカメラに基づくステレオビジョンベースのシステムは、通常エピポーラジオメトリと画像修正に基づいている。それらは相関ベースの方法を使用し、又は2台以上のカメラからの修正画像における対応関係を見つける緩和技術と組み合わせることができる。しかしながら従来のステレオビジョンシステムでは、計算の労力が必要なため物体及び/又はシーンの正確かつ高速な3次元データ再構成を迅速に生み出す能力が制限されている。
【発明の概要】
【0004】
開示された主題により、例えば1対の2次元画像からの物体又はシーンの3次元再構成のために、2次元画像のペア間の初期対応割り当てのデータを効率的に処理するための装置、システム、及び方法が提供される。発明者は、従来のシステムがステレオ対応を決定するために2次元画像のペアにある種の正規化相互相関を適用できる一方で、これらのシステムは必要な計算を実行するためにしばしば多大な計算の労力を費やさなければならないことを認識した(例えば処理する必要があるピクセル値の数、それらのピクセル値のサイズなど)。発明者は、本明細書で更に論じるように、2次元画像のペア、特に経時的ステレオ画像シーケンスのペアに対する初期対応の割り当てを効率的に処理することによって、3次元データ再構成技術を改善する技術を開発した。経時的ステレオ画像シーケンスは、経時的に異なる視点から取得された物体又はシーンの画像セットを含む。発明者は、記載されたシステム及び方法は、経時的ステレオ画像シーケンスの各ピクセル指紋についてバイナリピクセル指紋を導出する点が特に新規であることを指摘する。
【0005】
幾つかの態様では、記載されたシステム及び方法は、2つの画像間のステレオ対応を確立するためのシステムを提供する。システムはステレオ画像対応を生成するのに適したやり方で、例えばシーンの異なる視点を取得するために2台以上のカメラを置くことにより、シーンの画像を取得するように配置された2台以上のカメラ(又はセンサ)を含んでよい。代替として、システムは、ペア状にステレオ画像対応を生成するのに適したやり方でシーンの画像を取得するように配置された1台以上の逆カメラ(又はプロジェクタ)を備えた1台以上のカメラ(又はセンサ)を含んでもよい。1台以上のプロジェクタを使用して一連の光パターンをシーンに投影し、各カメラから画像のセットを取得することができる。各カメラから取得された画像のセットは、経時的画像と呼ぶことができる。画像セットの各画像は、一連の投影された光パターンの1つに対応することができる。
【0006】
したがって各カメラについて経時的画像及びバイナリ経時的画像を決定できる。経時的画像内の位置(i,j)におけるピクセル指紋は、各カメラで取得された画像のセットから、位置(i,j)及び/又は位置(i,j)に対して相対的な空間及び/又は時間における異なる位置で収集されたピクセル値の順序付けられたセットを含むことができる。幾つかの実施形態では、経時的画像内の位置(i,j)におけるピクセル指紋は、位置(i,j)で収集されたピクセル値の順序付けられたセットを含むことができる。追加的又は代替的に、幾つかの実施形態では、経時的画像内の位置(i,j)におけるピクセル指紋は、各カメラで取得された画像のセットから、位置(i,j)に対して相対的な空間における異なる位置で収集されたピクセル値の順序付けられたセットを含むことができる。追加的又は代替的に、幾つかの実施形態では、経時的画像内の位置(i,j)におけるピクセル指紋は、各カメラで取得された画像のセットから、位置(i,j)に対して相対的な時間における異なる位置で収集されたピクセル値の順序付けられたセットを含むことができる。追加的又は代替的に、幾つかの実施形態では、経時的画像内の位置(i,j)におけるピクセル指紋は、各カメラで取得された画像のセットから、位置(i,j)に対して相対的な空間と時間における異なる位置で収集されたピクセル値の順序付けられたセットを含むことができる。
【0007】
バイナリ経時的画像内の位置(i,j)におけるバイナリピクセル指紋は、位置(i,j)におけるピクセル指紋の各設定値を1以上の閾値と比較し、1以上の閾値に基づいて各設定値をゼロ又は1と置き換えることによって決定される。任意選択で、1以上の閾値と比較する前にピクセル指紋の設定値を正規化して、対応するバイナリピクセル指紋を生成することができる。検索(例えばエピポーラ線に沿った検索)を使用して、各カメラからのバイナリピクセル指紋の間の対応を決定することができる。ピクセル(例えばエピポーラ線上又はその近傍のピクセル)間の1以上のバイナリ比較を各カメラのバイナリ経時的画像から実行し、それらの比較の結果に基づいてピクセル対応を決定することができる。
【0008】
幾つかの態様では、第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間のステレオ対応を決定するためのシステム、方法、及び/又はコンピュータ可読記憶媒を提供することができる。
【0009】
システムは、1以上のイメージセンサから、シーンの第1の画像セットとシーンの第2の画像セットを受け取る動作を実行するように構成されたプロセッサを含むことができる。第2の画像セットは、第1の画像セットとは異なる視点から取得されてよい。
【0010】
プロセッサは、第1の画像セットに基づいて第1のピクセル指紋を決定する動作を実行するように構成できる。第1のピクセル指紋は、第1の経時的画像セットにおける各画像内の第1のピクセル位置での第1のピクセル値セットを包含することができる。プロセッサは、第2の画像セットに基づいて第2のピクセル指紋を決定する動作を実行するように構成できる。第2のピクセル指紋は、第2の経時的画像セットにおける各画像内の第2のピクセル位置での第2のピクセル値セットを包含することができる。
【0011】
プロセッサは、第1のピクセル指紋に基づいて、第1のバイナリピクセル指紋を生成する動作を実行するように構成できる。第1のバイナリピクセル指紋は、第1のピクセル値セットの各々を閾値と比較することによって生成された第1のバイナリ値セットを含むことができる。プロセッサは、第2のピクセル指紋に基づいて、第2のバイナリピクセル指紋を生成する動作を実行するように構成できる。第2のバイナリピクセル指紋は、第2のピクセル値セットの各々を閾値と比較することによって生成された第2のバイナリ値セットを含むことができる。
【0012】
プロセッサは、第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間にステレオ対応が存在するかどうかを、少なくとも一部は第1のバイナリピクセル指紋と第2のバイナリピクセル指紋の比較に基づいて判定する動作を実行するように構成できる。
【0013】
幾つかの実施形態では、シーンの第1の画像セット及び/又は第2の画像セットが逆カメラ/プロジェクタから受け取られる。
【0014】
幾つかの実施形態では、システムはシーンに光パターンのセットを投影するように構成されたプロジェクタを含むことができる。第1の画像セットの各画像は、上記の光パターンのセットとは異なる光パターンを使用して取得できる。
【0015】
幾つかの実施形態では、シーンに異なる光パターンを投影するために、光パターンのセットは平行移動、回転及び/又は変形された固定パターンを含むことができる。
【0016】
幾つかの実施形態では、第1のピクセル指紋は、第1のピクセル値セットを第1の画像セットの時間的順序に対応して順序付けられたセットとして含むことができ、第2のピクセル指紋は、第2のピクセル値セットを第2の画像セットの時間的順序に対応して順序付けられたセットとして含むことができる。
【0017】
幾つかの実施形態では、第1のバイナリ値セットを生成することは、第1のピクセル値セットの各ピクセル値に対して、ピクセル値が閾値を超える場合はゼロを割り当て、ピクセル値が閾値を超えない場合は1を割り当てることを含んでよい。
【0018】
幾つかの実施形態では、第1のバイナリピクセル指紋と第2のバイナリピクセル指紋とを比較することは、第1のバイナリピクセル指紋と第2のバイナリピクセル指紋で対応するバイナリ値を比較することを含んでよい。
【0019】
幾つかの実施形態では、プロセッサは、第1のピクセル指紋を正規化する動作を実行するように構成できる。第1のピクセル指紋を正規化することは、第1の画像セットの各画像における第1のピクセル位置での第1のピクセル値セットを正規化して、第1の正規化ピクセル値セットを包含する第1の正規化ピクセル指紋を作成することを含んでよい。プロセッサは、第2のピクセル指紋を正規化する動作を実行するように構成できる。第2のピクセル指紋を正規化することは、第2の画像セットの各画像における第2のピクセル位置での第2のピクセル値セットを正規化して、第2の正規化ピクセル値セットを包含する第2の正規化ピクセル指紋を作成することを含んでよい。第1のバイナリピクセル指紋を生成することは、第1の正規化ピクセル指紋に基づいて第1のバイナリピクセル指紋を生成することを含んでよい。第2のバイナリピクセル指紋を生成することは、第2の正規化ピクセル指紋に基づいて第2のバイナリピクセル指紋を生成することを含んでよい。
【0020】
幾つかの実施形態では、プロセッサは、第1の正規化ピクセル指紋に基づいて、第3のバイナリピクセル指紋を生成する動作を実行するように構成できる。第3のバイナリピクセル指紋は、第1の正規化ピクセル値セットの各々の絶対値を信頼閾値と比較することによって生成された第3のバイナリ値セットを正規化第1のピクセル値セットの各々の絶対値を信頼閾値と比較することにより生成された第3のバイナリ値セットを含むことができる。プロセッサは、第2の正規化ピクセル指紋に基づいて、第4のバイナリピクセル指紋を生成する動作を実行するように構成できる。第4のバイナリピクセル指紋は、第2の正規化ピクセル値セットの各々の絶対値を信頼閾値と比較することによって生成された第4のバイナリ値セットを含むことができる。
【0021】
幾つかの実施形態では、第1のバイナリピクセル指紋と第2のバイナリピクセル指紋とを比較することは、第1、第3及び第4のバイナリピクセル指紋で対応するバイナリ値のOR値と、第2、第3及び第4のバイナリピクセル指紋で対応するバイナリ値のOR値とを比較することを含むことができる。
【0022】
幾つかの実施形態では、第1のバイナリピクセル指紋と第2のバイナリピクセル指紋とを比較することは、第1のバイナリピクセル指紋と第2のバイナリピクセル指紋で対応するバイナリ値がハミング距離閾値内にあるかどうかを判定することを含む第1のバイナリピクセル指紋と第2のバイナリピクセル指紋とを比較することは、第1のバイナリピクセル指紋と第2のバイナリピクセル指紋で対応するバイナリ値がハミング距離閾値内にあるかどうかを判定することを含むことができる。
【0023】
幾つかの実施形態では、プロセッサは、第1の画像セットの第1のピクセル指紋を決定する前に、第1の画像セットの各画像に画像フィルタを適用するように構成できる。
【0024】
幾つかの実施形態では、第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間にステレオ対応が存在するかどうかを決定することは、連続的な経時的相関を実行して、第1のピクセル指紋と第2のピクセル指紋との間の相関値を生み出し、相関閾値を超える相関値とピクセル指紋の以前のペアに対する以前の相関値に基づいて、第1のピクセル指紋と第2のピクセル指紋との間に潜在的対応が存在することを決定することを含むことができる。
【0025】
幾つかの実施形態では、第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間にステレオ対応が存在するかどうかを判定することは、穴埋め操作を実行して、他のピクセル指紋と潜在的対応があるとまだ決定されていないピクセル指紋に対して初期対応を補間することを含むことができる。
【0026】
幾つかの実施形態では、第1のピクセル位置及び/又は第2のピクセル位置は、スキップパラメータに基づいて選択できる。
【0027】
幾つかの実施形態では、第1のピクセル位置(i1,j1)をスキップパラメータSに基づいて、i1モジュロS=0及びj1モジュロS=0となるように選択できる。
【0028】
幾つかの態様では、第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間のステレオ対応を決定するためのシステム、方法及び/又はコンピュータ可読記憶媒体を提供することができる。
【0029】
システムは、1以上のイメージセンサからシーンの第1の画像セットとシーンの第2の画像セットを受け取る動作を実行するように構成されたプロセッサを含むことができる。第2の画像セットは第1の画像セットとは異なる視点から取得されてよい。
【0030】
プロセッサは、第1の画像セットに基づいて第1のピクセル指紋を決定する動作を実行するように構成できる。第1のピクセル指紋は、第1の画像セットの各画像における第1のピクセル位置に対して相対的な空間及び/又は時間における異なる位置での第1のピクセル値セットを包含することができる。プロセッサは、第2の画像セットに基づいて第2のピクセル指紋を決定する動作を実行するように構成できる。第2のピクセル指紋は、第2の画像セットの各画像における第2のピクセル位置に対して相対的な空間及び/又は時間における異なる位置での第1のピクセル値セットを包含することができる。
【0031】
プロセッサは、第1のピクセル指紋に基づいて第1のバイナリピクセル指紋を生成する動作を実行するように構成できる。第1のバイナリピクセル指紋は、第1のピクセル値セットの各々を閾値と比較することにより生成された第1のバイナリ値セットを含むことができる。プロセッサは、第2のピクセル指紋に基づいて、第2のバイナリピクセル指紋を生成する動作を実行するように構成できる。第2のバイナリピクセル指紋は、第2のピクセル値セットの各々を閾値と比較することにより生成された第1のバイナリ値セットを含むことができる。
【0032】
プロセッサは、第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間にステレオ対応が存在するかどうかを、少なくとも一部は第1のバイナリピクセル指紋と第2のバイナリピクセル指紋の比較に基づいて判定する動作を実行するように構成できる。
【0033】
以上、開示の主題の特徴をややおおまかに述べたのは、以下に続く詳細な説明においてそれらがより良く理解されるように、また本発明の技術への寄与がより適切に評価されるようにするためである。言うまでもなく開示された主題の追加の特徴があり、それらは以下に説明されるとともに、本明細書に付属する特許請求の範囲の主題をなす。本明細書で用いられる表現及び用語は説明を目的としたものと理解すべきであり、限定するものと見なされてはならない。
【0034】
図面において、様々な図に示されている同一又はほぼ同一の各構成要素は同じ参照符号で表されている。見やすさのため、各図面にはすべての構成要素が表示されているわけではない。図面は必ずしも縮尺通りではなく、代わりに本明細書で説明される技術及び装置の種々の側面を示すことに重点が置かれている。
【図面の簡単な説明】
【0035】
【
図1】幾つかの実施形態により、1台のプロジェクタと2台のカメラがステレオ画像対応を生成するのに適したやり方でシーンの画像を取得するように配置されている例示的な実施形態を示す。
【0036】
【
図2】幾つかの実施形態により、一連の投影された光パターンの1つに対応する例示的なステレオ画像のペアを示す。
【0037】
【
図3】幾つかの実施形態により、シーンの経時的ステレオ画像シーケンスの例示的なペアを示す。
【0038】
【
図4】幾つかの実施形態により、ステレオ画像及び対応する正規化画像の例示的なペアを示す。
【0039】
【
図5】幾つかの実施形態により、シーンのステレオ画像の例示的なペアを示す。
【0040】
【
図6】幾つかの実施形態により、シーンに投影された一連の光パターンに対応する経時的ステレオ画像シーケンスの例示的ペアを示す。
【0041】
【
図7】幾つかの実施形態により、1対の画像からピクセル指紋のバイナリピクセル指紋を生成するための例示的なプロセスを示す。
【0042】
【
図8】幾つかの実施形態により、1対の画像から例示的なピクセル指紋のために生成されるバイナリピクセル指紋の例を示す。
【0043】
【
図9】幾つかの実施形態により、経時的ステレオ画像シーケンスに対する初期対応割り当てのデータを効率的に処理するための例示的なコンピュータ化された方法を示す。
【発明を実施するための形態】
【0044】
本明細書に記載する技術は、2次元画像のペア間の初期対応割り当てのデータを効率的に処理するために使用できる。発明者は、従来のシステムが2次元画像のペアに正規化相互相関を適用してステレオ対応を決定することは知られているが、これらのシステムは必要な計算を実行するために多大な計算の労力を費やさなければならないことを認識した。発明者は、本明細書で更に説明するように、2次元画像のペア、特に経時的ステレオ画像シーケンスのペアの初期対応割り当てのデータを効率的に処理することにより、3次元データ再構成を改善する技術を開発した。発明者は、記載されたシステム及び方法が、経時的ステレオ画像シーケンスにおける各ピクセル指紋についてバイナリピクセル指紋を導出する点が新規であることを指摘する。
【0045】
以下の説明では、開示された主題の完全な理解を提供するために、開示された主題のシステム及び方法、並びにそのようなシステム及び方法が動作できる環境などに関して多くの特定の詳細が述べられる。加えて、以下に示す例は例示にすぎず、開示された主題の範囲内にある他のシステム及び方法が存在することが想定されていることが理解されるであろう。
【0046】
図1は、1台のプロジェクタ104と2台のカメラ106が、ステレオ画像対応を生成するのに適したやり方で物体又はシーン102の画像を取得するように配置された例示的実施形態100を示す。幾つかの実施形態では、複数のカメラを使用して取得された物体の画像シーケンスを時間的にコード化するために、統計的パターンプロジェクタが使用される。例えばプロジェクタは物体に平行移動パターンを投影でき、各カメラは物体の12~16の画像(又は他の数の画像)を含む画像シーケンスを取得できる。各画像は、画像を構成するピクセルセットを包含している。幾つかの実施形態では、光パターンはパターンが物体又はシーン上を回動するように(例えばパターン自体が時計回り又は反時計回りに回転することなく)水平方向及び/又は垂直方向に移動できる。カメラ106はそれぞれ電荷結合素子(CCD)イメージセンサ、相補型金属酸化物半導体(CMOS)イメージセンサ、又はその他の適当なイメージセンサを包含できる。幾つかの実施形態では、カメラ106はそれぞれローリングシャッター、グローバルシャッター、又はその他の適当なシャッタータイプを持つことができる。幾つかの実施形態では、カメラ106はそれぞれGigEビジョンインターフェース、ユニバーサルシリアルバス(USB)インターフェース、同軸インターフェース、FIREWIRE(登録商標)インターフェース、又は他の適当なインターフェースを持つことができる。幾つかの実施形態では、カメラ106はそれぞれ1以上のスマート機能を持つことができる。幾つかの実施形態では、カメラ106それぞれはCマウントレンズ、Fマウントレンズ、Sマウントレンズ、又はその他の適当なレンズタイプを持つことができる。幾つかの実施形態では、カメラ106のそれぞれプロジェクタ、例えばプロジェクタ104に適合したスペクトルフィルタを持ち、プロジェクタのスペクトル範囲外の環境光を遮断することができる。
【0047】
図2は、一連の投影された光パターンの1つに対応する例示的なステレオ画像200及び250のペアを示す。例えばプロジェクタ104は物体に異なる光パターンを投影でき、カメラ106はステレオ画像200及び250を取得できる。幾つかの実施形態では、2台のカメラからのステレオ画像シーケンスから3次元データを再構成するために、ピクセル202及び252などの対応するピクセルのペアを各カメラからの画像間で見出すことが必要な場合もある。
【0048】
図3は、シーンの経時的ステレオ画像シーケンスの例示的なペアを示す。例えばプロジェクタ104はシーンに異なる光パターンを連続的に投影し、カメラ106の一方は画像300、302及び304を取得でき、カメラ106の他方は画像350、352、及び354を取得できる。幾つかの実施形態では、記載されたシステム及び方法の技術を適用するために、取得された画像を正規化することができる。
図4は、ステレオ画像400及び450の例示的なペア、及びこれらに対応する正規化画像450及び452を示している。示されているように、ステレオ画像400及び450はステレオ画像400及び450の光パターンを含むように処理することができる一方、画像400及び450の実際のシーン及び/又は物体を減らす。幾つかの実施形態では、画像400及び450の実際のシーン及び/又は物体を減らすために、投影される光パターンのタイプの知識は必要ない場合もある。
【0049】
図5は、ステレオ画像500及び550(及び関連するピクセル)の例示的なペアを示しており、対応するピクセル502及び552は2つの画像500及び550に投影されたパターンの同じ部分を表している。例えば上述したように、プロジェクタ104はシーンに光パターンを投影することができ、カメラ106はステレオ画像500及び550を取得できる。取得されたステレオ画像500及び550を使用して2つのピクセル間の対応を識別することができる。幾つかの実施形態では、対応を識別するために経時的に取得されたステレオ画像のシーケンスが使用される。
図5に示された単一のステレオ画像のペアから続いて、
図6に示すように、プロジェクタ104がシーンに経時的に異なる光パターンを連続的に投影すると、カメラ106は経時的ステレオ画像シーケンス600及び650と、対応するピクセル指紋602及び652を取得できる。各カメラ106は、経時的に一連の画像1、2、3、4、・・・Nを取得できる。ピクセル指紋602及び652は、それぞれ経時的ステレオ画像シーケンス600及び650にわたるピクセル(i,j)及び(i’,j’)に基づいている。各ピクセル指紋は経時的にグレー値の順序付けられたリストG_i_j_tを含み、tは離散的な経時的インスタンス1、2、3、4、・・・Nを示す。
【0050】
幾つかの実施形態では、経時的画像又は経時的画像のサブセットのみを使用する正規化相互相関アルゴリズムを2つの画像シーケンスに適用して、各画像からの対応するピクセルのペア(例えば類似の経時的グレー値を有するペア)を決定することができる。しかしながらこのようなプロセスは必要な計算を実行するために多大な計算の労力を必要とする場合がある。このプロセスは、初期対応割り当てのデータを効率的に処理し、特に以下で更に説明するように、経時的ステレオ画像シーケンスにおける各ピクセル指紋についてバイナリピクセル指紋を導出することによって改善できる。
【0051】
幾つかの実施形態では、第1のカメラの各ピクセルについて、第2のカメラのエピポーラ線に沿ったすべての実行可能な候補との正規化相互相関を実行することにより、潜在的に対応するピクセルが、カメラの較正による偏差を補償するための閾値、例えば±1ピクセル又は他の適当な値で読み出される。一例では、これは3000潜在的ペアについて正規化相互相関を計算することに近く、その計算量は寸法xres×yresの画像の数Nの場合は約xres×yres×N×3000乗算である(例えばN=24の場合は約94×109)。
【0052】
幾つかの態様では、記載されたシステム及び方法は、既存の技術の技術的改善に関するものであり、アルゴリズム手法を利用して初期対応割り当ての計算の労力を、(例えば上記の手法と比較して)例えば200倍又は他の適当な倍数まで減らすものである。計算の労力は、潜在的対応のサブセットでのみ計算的に重い相互相関を実行することによって、及び/又は対応を計算するために処理されるデータの量を減らすことによって低減できる。
【0053】
図9は、幾つかの実施形態により、経時的ステレオ画像シーケンスの初期対応割り当てのデータを効率的に処理するための例示的なコンピュータ化された方法900を示す。方法900は、任意の適当なコンピューティングシステム(例えば汎用コンピューティング装置(CPU)、グラフィック処理ユニット(GPU)、フィールドプログラマブルゲートアレイ装置(FPGA)、特定用途向け集積回路装置(ASIC)、ARMベースのデバイス、又はその他の適当なコンピューティングシステム)で実行されてよく、本明細書に記載された技術の態様はこの点で限定されない。幾つかの実施形態では、1台以上のカメラは、取得された画像のピクセル毎にバイナリピクセル指紋を生成できる。この場合、カメラからシステムにデータを送るために必要な帯域幅は縮小できる。
【0054】
動作902で、システムは1以上のイメージセンサからシーンの第1の画像セットとシーンの第2の画像セットを受け取ることができる。第2の画像セットは第1の画像セットとは異なる視点から取得される。例えばシステムは、
図1に関して説明した2台のカメラから、シーンの12~16の画像又はその他の適当な数の画像の経時的シーケンスを受け取ることができる。幾つかの実施形態では、プロジェクタはシーンに光パターンのセットを投影するように構成されている。第1の画像セット及び/又は第2の画像セットの各画像は、光パターンのセットから異なる光パターンを使用して取得できる。例えば
図2に示すように、シーンに光パターンが投影され、2台のカメラがそれぞれの画像を取得することができる。別の例では、
図3に示すように、光パターンのセットがシーンに連続的に投影され、2台のカメラがそれぞれの経時的ステレオ画像シーケンスを取得することができる。幾つかの実施形態では、光パターンのセットは、シーンに投影される光パターンを変更するために平行移動、回転及び/又は変形される固定パターンを含んでよい。幾つかの実施形態では光パターンのセットは、移動する光学パターンを含むことができる。幾つかの実施形態では、移動光学パターンは、円形経路に沿って並進する光学パターンを含んでもよい。幾つかの実施形態では、光パターンはパターンが物体又はシーン上を回動するように(例えばパターン自体が時計回り又は反時計回りに回転することなく)水平方向及び/又は垂直方向に移動できる。
【0055】
動作904で、システムは第1の画像セットに基づいて第1のピクセル指紋を決定することができる。幾つかの実施形態では、第1のピクセル指紋は、第1の経時的画像セットの各画像における第1のピクセル位置での第1のピクセル値セットを包含する。幾つかの実施形態では、第1のピクセル指紋は、第1の画像セットの各画像における第1のピクセル位置に対して相対的な空間及び/又は時間における異なる位置での第1のピクセル値セットを包含することができる。
図8は、そのようなピクセル指紋の例を示している。幾つかの実施形態では、第1のピクセル指紋は、第1のピクセル値セットを第1の画像セットの時間的順序に対応して順序付けられたセットとして含む。
図5-
図6は、そのような経時的ピクセル位置と、画像の順序付けられたセットで対応するピクセル値の例を示している。幾つかの実施形態では、システムは第1の画像セットにおける第1のピクセル指紋を決定する前に、第1の画像セットの各画像に弱いガウスフィルタを適用する。幾つかの実施形態では、システムはスキップパラメータに基づいて第1のピクセル位置を選択する。例えばシステムは第1のピクセル位置(i
1,j
1)をスキップパラメータSに基づいて、i
1モジュロS=0及びj
1モジュロS=0となるように選択できる。
【0056】
動作906で、システムは、第2の画像セットに基づいて第2のピクセル指紋を決定することができる。幾つかの実施形態では、第2のピクセル指紋は、第2の経時的画像セットの各画像における第2のピクセル位置での第2のピクセル値セットを包含する。幾つかの実施形態では、第2のピクセル指紋は、第2の画像セットの各画像における第2のピクセル位置に対して相対的な空間及び/又は時間における異なる位置での第2のピクセル値セットを包含することができる。
図8は、そのようなピクセル指紋の例を示している。幾つかの実施形態では、第2のピクセル指紋は、第2のピクセル値セットを第2の画像セットの時間的順序に対応して順序付けられたセットとして含む。
図5-
図6は、そのような経時的ピクセル位置と、画像の順序付けられたセットで対応するピクセル値の例を示している。幾つかの実施形態では、システムは第2の画像セットにおける第2のピクセル指紋を決定する前に、第2の画像セットの各画像に弱いガウスフィルタを適用する。幾つかの実施形態では、システムはスキップパラメータに基づいて第2のピクセル位置を選択する。例えばシステムは第2のピクセル位置(i
2,j
2)をスキップパラメータSに基づいて、i
2モジュロS=0及びj
2モジュロS=0となるように選択できる。
【0057】
動作908で、システムは第1のピクセル指紋に基づいて第1のバイナリピクセル指紋を生成することができる。第1のバイナリピクセル指紋は、第1のピクセル値セットの各々を閾値と比較することにより生成された第1のバイナリ値セットを含む。幾つかの実施形態において、第1のバイナリ値セットを生成することは、第1のピクセル値セットの各ピクセル値に対して、ピクセル値が閾値を超える場合はゼロを割り当て、ピクセル値が閾値を超えない場合は1を割り当てることを含む。
図8は、そのようなピクセル指紋の例を示している。
【0058】
幾つかの実施形態では、システムは第1の画像セットの各画像における第1のピクセル位置での第1のピクセル値セットを正規化することによって第1のピクセル指紋を正規化して、第1の正規化ピクセル値セットを包含する第1の正規化ピクセル指紋を作成できる。することを含んでよい。
図4は、例示的なステレオ画像及び対応する正規化画像を示す。そのような実施形態では、システムは第1のピクセル指紋に関して説明したやり方で、第1の正規化ピクセル指紋に基づいて第1のバイナリピクセル指紋を生成することができる。
図7及びこれに関連する説明は、この技術に対応する例示的なプロセスを示しており、
図8及びこれに関連する説明は、この技術によって生成されるそのようなバイナリピクセル指紋の例を示す。
【0059】
動作910で、システムは、第2のピクセル指紋に基づいて第2のバイナリピクセル指紋を生成することができる。第2のバイナリピクセル指紋は、第2のピクセル値セットの各々を閾値と比較することにより生成された第2のバイナリ値セットを含む。幾つかの実施形態では、第2のバイナリ値のセットを生成することは、第2のピクセル値のセットの各ピクセル値について、ピクセル値が閾値を超える場合はゼロを割り当て、ピクセル値が閾値を超えない場合は1を割り当てることを含む。
図8は、そのようなピクセル指紋の例を示している。
【0060】
幾つかの実施形態では、システムは、第2の画像セットの各画像における第2のピクセル位置での第2のピクセル値セットを正規化して、第2の正規化ピクセル値セットを包含する第2の正規化ピクセル指紋を作成することにより、第2のピクセル指紋を正規化できる。
図4は、例示的なステレオ画像及び対応する正規化画像を示している。そのような実施形態では、システムは、第2のピクセル指紋に関して説明したやり方で、第2の正規化ピクセル指紋に基づいて第2のバイナリピクセル指紋を生成することができる。
図7及びこれに関連する説明は、この技術に対応する例示的なプロセスを示しており、
図8及びこれに関連する説明は、この技術に従って生成されるそのようなバイナリピクセル指紋の例を示す。
【0061】
動作912において、システムは、第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間にステレオ対応が存在するかどうかを、少なくとも一部は第1のバイナリピクセル指紋と第2のバイナリピクセル指紋の比較に基づいて判定することができる。幾つかの実施形態では、第1のバイナリピクセル指紋と第2のバイナリピクセル指紋とを比較することは、第1のバイナリピクセル指紋と第2のバイナリピクセル指紋で対応するバイナリ値を比較することを含む。幾つかの実施形態では、第1のバイナリピクセル指紋と第2のバイナリピクセル指紋とを比較することは、第1のバイナリピクセル指紋と第2のバイナリピクセル指紋で対応するバイナリ値がハミング距離閾値内にあるかどうかを判定することを含む。
【0062】
幾つかの実施形態では、システムは、第1の正規化ピクセル値セットの各々の絶対値を信頼閾値と比較することにより、第1の正規化ピクセル指紋に基づいて第3のバイナリピクセル指紋を生成することができる。幾つかの実施形態では、システムは第2の正規化ピクセル値セットの各々の絶対値を信頼閾値と比較することにより、第2の正規化ピクセル指紋に基づいて第4のバイナリピクセル指紋を生成することができる。幾つかの実施形態では、第1のバイナリピクセル指紋と第2のバイナリピクセル指紋とを比較することは、(i)第1、第3及び第4のバイナリピクセル指紋で対応するバイナリ値のOR値と、(ii)第2、第3及び第4のバイナリピクセル指紋で対応するバイナリ値のOR値とを比較することを含む。
【0063】
幾つかの実施形態では、システムは、連続的な経時的相関を実行して、第1のピクセル指紋と第2のピクセル指紋との間の相関値を生み出し、及び相関閾値を超える相関値とピクセル指紋の以前のペアに対する以前の相関値に基づいて、第1のピクセル指紋と第2のピクセル指紋との間に潜在的対応が存在することを決定することによって、第1の画像セットの第1のピクセル指紋と第2の画像セットの第2のピクセル指紋との間にステレオ対応が存在するかどうかを決定することができる。幾つかの実施形態では、システムは、穴埋め操作を実行して、他のピクセル指紋と潜在的対応があるとまだ決定されていないピクセル指紋に対して初期対応を補間することができる。
【0064】
幾つかの実施形態では、説明されたシステム及び方法は、コンピューティングシステムでの実装に適したプロセスを提供する。幾つかの実施形態では、コンピューティングシステム(
図1には図示せず)は、(例えば動作902に関して説明したように)イメージセンサ又はカメラから1対の経時的ステレオ画像シーケンスを受け取る。本明細書で更に説明するように、例えばコンピューティングシステムは、汎用コンピューティングデバイス(CPU)、グラフィック処理ユニット(GPU)、フィールドプログラマブルゲートアレイデバイス(FPGA)、特定用途向け集積回路デバイス(ASIC)、ARMベースのデバイス、又はその他の適当なコンピューティングシステムであってよい。)幾つかの実施形態では、1台以上のカメラは、取得された画像内のピクセル毎にバイナリピクセル指紋を生成してもよい。この場合は、カメラからシステムにデータを送るために必要とされる帯域幅を縮小できる。
【0065】
システムは、(例えば動作904及び/又は906に関して説明したように)各画像シーケンスのピクセル指紋を決定することができる。幾つかの実施形態では、システムは、画像毎に弱いガウスフィルタを使用するなどして、画像シーケンスを平滑化することができる。幾つかの実施形態では、システムは任意選択でピクセル指紋毎に画像シーケンスを正規化することができる。正規化画像シーケンス又は正規化ピクセル指紋に基づいて、各カメラのピクセル毎にバイナリシーケンス又はバイナリピクセル指紋、例えば第1のカメラであるカメラ1に対してはBINARY1_i_j(例えば動作908で説明したように)、及び第2のカメラであるカメラ2に対してはBINARY1_i’_j’(例えば動作910に関して説明したように)が作成される。与えられたピクセルについて、ピクセルの代表的なバイナリ値が決定される。例えばシステムは、経時的正規化ピクセル値に基づいてピクセル値に対して0又は1を割り当てることができる。例えばシステムは正規化化された値が≧0又は<0(又はその他の適当な閾値)であるか判定することにより、0又は1を割り当てることができる。例えばシステムは、0以上の値(例えば平均より明るいことを示す)には1を割り当て、0未満の値(例えば平均より暗いことを示す)には0を割り当てることができる。
【0066】
システムは、(正規化又は非正規化)バイナリピクセル指紋を使用して潜在的対応の検索を開始できる(例えば動作912に関して説明したように)。与えられたカメラ1のピクセルについて、カメラ2における検索スペースは最初に定義された閾値、例えばSAFETY_THRESHOLDを有するエピポーラ線に制限できる。潜在的対応については、例えばシステムは、バイナリシーケンスのペアが潜在的対応と一致している(又は同等である)か、例えばBINARY1_i_j==BINARY1_i’_j’かどうかをチェックできる。
【0067】
代替的又は追加的に、潜在的対応に対して、システムはバイナリシーケンスのペアが特定の距離閾値内にあるかどうかをチェックできる。例えばシステムは、バイナリシーケンスのペアがハミング距離閾値HD_THRESHOLD内にあるかどうかをチェックできる。例えばシステムはHAMMING_DISTANCE(BINARY1_i_j、BINARY1_i’_j’)<HD_THRESHOLDかどうかを判定できる。幾つかの実施形態では、等しい長さの2つのバイナリシーケンス間のハミング距離は、対応する値が異なる位置の数である。例えば1011101と1001001の間のハミング距離は2である。
【0068】
代替的又は追加的に、システムは正規化画像シーケンスに基づいて、各カメラのピクセル毎にバイナリシーケンスの別のペアBINARY2_i_j及びBINARY2_i’_j’を生成できる。このバイナリシーケンスのペアは、バイナリシーケンスの初期ペアに対する信頼フラグを表わすことができる。与えられたピクセルに対して、当該ピクセルの代表的なバイナリ値が決定される。例えばシステムは経時的正規化ピクセル値に基づいて、絶対正規化値が信頼閾値CONFIDENCE_THRESHOLDを下回るかどうかに応じて0又は1を割り当てることができる。潜在的対応について、システムはBINARY1_i_j|BINARY2_i_j|BINARY2_i’_j’==BINARY1_i’_j’|BINARY2_i’_j’|BINARY2_i_jであるかどうかチェックできる。
【0069】
バイナリシーケンスのペアが上述した1以上の判定基準に従って類似している(例えば一致している)場合、システムは連続的な経時的相関を実行できる。例えば相関が初期相関閾値INITIAL_CORRELATION_THRESHOLDを超える値を生み出し、相関が(i,j)に対する以前の潜在的対応より大きい場合、ピクセルのペア(i,j))及び(i’,j’)は、潜在的対応としてマークできる。幾つかの実施形態では、カメラ1における特定のピクセル(i,j)について、システムはそれぞれのバイナリシーケンス又は指紋を判定基準としてとして使用カメラ2における(例えばエピポーラ線に沿って、カメラ2の画像全体で、又はその他の適当な位置で)類似の又は一致するピクセル(i’,j’)を識別できる。判定基準が満たされている場合、システムは結果のペア(i,j)及び(i’,j’)をリスト内に保存でき、後で経時的相関を実行してよい。例えばシステムはリスト内の各ペアを相関させ、最高の相関スコアを持つペアを潜在的対応として選択できる。代替的又は追加的に、システムは経時的相関を実行して、現在のペア(i,j)及び(i’,j’)の相関が初期閾値を超え、(i,j)を含む以前の相関ペアよりも高い相関を有するか反転できる。現在のペアの相関が初期閾値を超え、以前の相関関係のペアより高い相関を有する場合、現在のペアは以前の潜在的対応を置き換えることができる。幾つかの実施形態では、経時的相関は相関されるべきピクセルのペアの経時的グレー値又は正規化値に基づく正規化相互相関を使用することによって実行できる。
【0070】
幾つかの実施形態では、初期検索が完了した後で穴埋めプロセスを実行して、本明細書で説明したプロセスによって割り当てられていないピクセルに対する初期対応を補間することができる。例えば、検索スペースが大きく制限されているために、最初にすべての対応の約85%~95%を見出すことができる。(対応レベルでの)穴埋めプロセスを使用して100%の対応を生み出すことができる(例えば最初に識別された対応を活用する)。幾つかの実施形態において、穴埋めプロセスは対応を持たない特定のポイント及び/又はピクセル(例えば過飽和画像点ポイント)を識別し、識別されたポイントの近傍の関連する対応を補間することにより適当な対応を生成することができる。幾つかの実施形態では、システムは最初の対応割り当ての前に画像シーケンスにフィルタ(例えば弱い平滑化フィルタ)を適用することができ、これにより100%の対応が得られる(例えば穴埋めプロセスを必要としない)。フィルタはノイズを低減でき、ある程度は経時的画像毎に小さい空間的近傍を集約することができる。これにより、異なるカメラ又はイメージセンサの遠近効果とサンプリング効果に起因するピクセル精度の一致強度偏差の数を減らすことができる。
【0071】
幾つかの実施形態では、説明されたシステム及び方法は、GPUでの実装に適したプロセスを提供する。GPUは(例えば動作902に関して説明したように)イメージセンサ又はカメラから1対の経時的ステレオ画像シーケンスを受け取る。GPUは、対応検索中に比較閾値を使用できる。例えばGPUはハミング距離閾値HD_THRESHOLDを使用でき、これは0であるか(例えば差異が許容されない)、0より大きい(例えばいくらかの差異が許与される)。GPUは、HD_THRESHOLDパラメータを保存、決定及び/又は受信できる。幾つかの実施形態では、GPUは画像シーケンスを平滑化することができる(例えば画像毎に弱いガウスフィルタを使用する)。追加又は代替として、GPUは画像シーケンスを修正できる。例えばGPUは、エピポーラ線が修正によって水平線になるように、画像シーケンスを標準ケースに修正できる。
【0072】
幾つかの実施形態では、GPUは任意選択として、ピクセル指紋毎に画像シーケンスを正規化することができる。GPUは正規化画像シーケンス又は正規化ピクセル指紋に基づいて、第1のカメラであるカメラ1のピクセルのサブセットに対して、バイナリシーケンス又はバイナリピクセル指紋BINARY1を作成でき(例えば動作908に関して説明したように)、第2のカメラであるカメラ2に対しては別のバイナリピクセル指紋BINARY1が作成される(例えば動作910に関して説明したように)。GPUは種々の技術を使用してカメラ1に対するピクセルのサブセットを選択できる。例えば幾つかの実施形態では、GPUは、モジュロ演算を使用してピクセルを選択することができる。例えばGPUはスキップグリッドスキップを使用して、選択したピクセル(i,j)が(iモジュロSKIPPING=0、jモジュロSKIPPING=0)を満たすようにすることができる。与えられたピクセルについて、ピクセルの代表的なバイナリ値が決定される。例えばGPUは、経時的正規化ピクセル値に基づいて、ピクセルに0又は1を割り当てることができる。例えばGPUは、正規化値が≧0又は<0(又はその他の適当な閾値)であるかどうかを判定することにより、0又は1を割り当てることができる。例えばシステムは、0以上の値(例えば平均より明るいことを示す)には1を割り当て、0未満の値(例えば平均より暗いことを示す)には0を割り当てることができる。
【0073】
続いてGPUは各カメラからの各画像シーケンスについてピクセル毎にバイナリシーケンスを生成できる。例えばカメラ1とカメラ2のそれぞれが16の画像の画像シーケンスを取得するケースでは、GPUはカメラ2に対してピクセル毎に16ビットのバイナリシーケンスを生成でき、カメラ1に対してスキップグリッド上のピクセル毎に16ビットのバイナリシーケンスを生成できる。システムは(正規化又は非正規化)バイナリシーケンス又はバイナリピクセル指紋を使用して、潜在的対応の検索を初期化できる(例えば動作912に関して説明したように)。GPUは例えばカメラ1におけるスキップグリッド上の各ピクセルについて、カメラ2の対応するエピポーラ線の近傍にあるカメラ2の各ピクセルを、バイナリシーケンス又はバイナリピクセル指紋に関して比較できる。潜在的対応について、GPUはバイナリシーケンスのペアが、特定の距離閾値内にあるかチェックすることによって、バイナリシーケンスのペアが潜在的対応と一致しているかどうかを確認できる。例えばシステムは、バイナリシーケンスのペアがハミング距離閾値内にあるかどうかチェックできる。例えばシステムは、HAMMING_DISTANCE(BINARY1_i_j、BINARY1_i’_j’)≦HD_THRESHOLDかどうか判定できる。バイナリシーケンスのペアが条件を満たしている場合、GPUは当該ペアを潜在的対応のリストに保存できる。カメラ1におけるスキップグリッド上の各ピクセルに対して潜在的対応ステップを実行した後、GPUは潜在的対応のリストを生成できる。カメラ1におけるスキップグリッド上の各ピクセルについて、GPUは潜在的候補のリストで連続的な経時的相関を行うことができる。例えば相関が初期相関閾値INITIAL_CORRELATION_THRESHOLDを超える値を生み出す場合、及び/又は相関がリストの以前の潜在的対応より大きい場合、バイナリシーケンスのペアを現在の初期対応としてマークできる。
【0074】
図7は、幾つかの実施形態により、1対の経時的画像からピクセル指紋に対するバイナリピクセル指紋を生成するための例示的なプロセス700を示す。この例示的なプロセスにおいて、本明細書で説明されるように1台以上のカメラ又はイメージセンサからシーンの第1の画像セットと第2の画像セットが受け取られる。第2の画像セットは、第1の画像セットとは異なる視点から取得されて、ペアでステレオ画像対応を生成できる。例えばシーンの幾つかの画像(例えば12~16の画像)の時間的シーケンス、又はその他の適当な数の画像を、
図1に関して説明した2台のカメラから受け取ることができる。ピクセル(i,j)に対する第1のピクセル指紋702は第1の画像セットから、ピクセル(i’,j’)は第2の画像セットから上述したやり方で決定される。第1のピクセル指紋702は、値v
1~v
Nを含み、これらは第1の画像セットの各画像における各ピクセルの実際のグレースケール及び/又はカラー値を表わしている。第2のピクセル指紋752は値v
1’~v
N’を含み、これらは第2の画像セットの各画像における各ピクセルの実際のグレースケール及び/又はカラー値を表わしている。
バイナリピクセル指紋は、第1のピクセル指紋と第2のピクセル指紋に対応して、値b
1~b
Nを含む第1のバイナリピクセル指紋706と、値b
1’~b
N’を含む第2のバイナリピクセル指紋756の形態で、上述した及び
図9に関して説明したやり方で生成される。
図8は、プロセス700の例示的な例を提供する。
【0075】
図8は、幾つかの実施形態により、1対の画像からピクセル指紋に対して生成されるバイナリピクセル指紋の例800を示す。この例では、19の画像からなる第1の画像セットが第1のカメラであるカメラ1から受け取られ、19の画像からなる第2の画像セットが第2のカメラであるカメラ2から受け取られる(例えばカメラ1とカメラ2からの各画像セットがステレオペアを表わす場合)。第1の画像セットで与えられたピクセル位置(i,j)と、第2の画像セットで対応するピクセル位置(i’,j’)に対して、それぞれ第1のピクセル指紋802と第2のピクセル指紋852が生成される。各ピクセル指紋は、画像セット全体で与えられたピクセル位置のグレーピクセル値を含む。例えば第1のピクセル指紋802は、第1の画像全体のピクセル位置(i,j)に対するグレー値を含み(例えばピクセル802はグレースケール値63、158などを含む)、第2のピクセル指紋852は第2の画像全体のピクセル位置(i’,j’)に対するグレー値を含む(例えばピクセル852はグレースケール値81、186などを含む)。以下の表1は、第1のピクセル指紋802と第2のピクセル指紋852に対するグレー値を示す。任意選択として、第1のピクセル指紋802と第2のピクセル指紋852をそれぞれ正規化することにより、第1の正規化ピクセル指紋804及び第2の正規化ピクセル指紋854が生成される。
ここで、ベクトルvのt番目の成分v
tとベクトルvの成分の平均値v
avgが減算され、それによって得られる値が、ベクトルvの各成分からv
avgを減算して生じるベクトルの長さv-v
avgで除算される。以下の表1は、第1の正規化ピクセル指紋804と第2の正規化ピクセル指紋854に対する正規化値を示す。最後に、第1のバイナリピクセル指紋806と第2のバイナリピクセル指紋856はそれぞれ、各正規化値を閾値、例えばゼロと比較して、正規化値が閾値を超える場合は例えばゼロを割り当て、正規化値が閾値を下回る場合は他のバイナリ値、例えば1を割り当てることによって、第1の正規化ピクセル指紋804と第2の正規化ピクセル指紋854から生成される。以下の表1は、第1のバイナリピクセル指紋806及び第2のバイナリピクセル指紋856に対するバイナリ値を示している。
【0076】
【0077】
代替的に、第1のバイナリピクセル指紋806と第2のバイナリピクセル指紋856は、各値を閾値と比較して、値が閾値を超える場合は例えばバイナリ値、例えばゼロを割り当て、値が閾値を下回る場合は他のバイナリ値、例えば1を割り当てることによって、(正規化を実行することなく)それぞれ第1のピクセル指紋802及び第2のピクセル指紋852から生成できる。表1は、カメラからのピクセルと別のカメラからの任意のピクセルが与えられると、同じバイナリシーケンス又は指紋値になる2台のカメラに対する対応するピクセルのペアの値を示しているが、それぞれの正規化値と結果として生じるバイナリピクセル指紋値は、選択したピクセルが対応しない場合は異なることがある。
【0078】
本明細書で説明した原理に従って動作する技術は、任意の適当なやり方で実装できる。上記のフローチャートの処理及び決定ブロックは、これらの種々のプロセスを実行するアルゴリズムに含まれてよいステップと動作を表している。これらのプロセスから導出されるアルゴリズムは1以上の専用又は多目的プロセッサと統合されてその動作を指示するソフトウェアとして実装でき、デジタル信号処理(DSP)回路又は特定用途向け集積回路装置(ASIC)などの機能的に等価な回路として実装でき、又はその他の適当なやり方で実装できる。本明細書に含まれるフローチャートは、何らかの特定の回路又は何らかの特定のプログラミング言語又はプログラミング言語の種類の構文や動作を示していないことを理解されたい。むしろ、フローチャートは、本明細書に記載するタイプの技術を実行する特定の装置の処理を行うための回路の製造、又はコンピュータソフトウェアアルゴリズムの実装に使用できる機能情報を例示するものである。本明細書で特に明記しない限り、各フローチャートに記載されたステップ及び/又は動作の特定のシーケンスは、実装可能なアルゴリズムの例示にすぎず、本明細書に記載された原理の実装及び実施形態は変化できることも理解されたい。
【0079】
したがって幾つかの実施形態では、本明細書に記載する技術は、アプリケーションソフトウェア、システムソフトウェア、ファームウェア、ミドルウェア、埋め込みコード、又は他の任意の適切なタイプのコンピュータコードを含むソフトウェアとして実装されるコンピュータ実行可能命令において具体化できる。そのようなコンピュータ実行可能命令は、幾つかの適切なプログラミング言語及び/又はプログラミング又はスクリプトツールのいずれかを使用して記述でき、フレームワーク又は仮想マシンで実行される実行可能マシン言語コード又は中間コードとしてコンパイルすることもできる。
【0080】
本明細書に記載された技術がコンピュータ実行可能命令として具体化されると、これらのコンピュータ実行可能命令は、多くの利便機能を含む任意の適当なやり方で実装でき、それぞれがこれらの技術に従って動作するアルゴリズムの実行を完了するための1以上の動作を提供する。しかしながらインスタンス化された「利便機能」はコンピュータシステムの構造的要素であり、それは1以上のコンピュータと統合されて実行されると1以上のコンピュータに特定の操作上の役割を実行させる。利便機能は、ソフトウェア要素の一部又は全体であることができる。例えば利便機能はプロセスの機能として、又は個別のプロセスとして、又は他の適当な処理単位として実装されてよい。本明細書に記載された技術が複数の利便機能として実装される場合、各利便機能は独自の方法で実装されてよく、すべて同じ方法で実装する必要はない。更に、これらの利便機能は必要に応じてパラレル及び/又はシリアルに実行されてよく、及びそれらが実行されているコンピュータの共有メモリを使用して、メッセージ受け渡しプロトコルを用いるか又はその他の適当なやり方で互いの間で情報を渡すことができる。
【0081】
一般に、利便機能は、特定のタスクを実行し、又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。通常、利便機能の機能性は、それらが動作するシステムにおいて所望されるように組み合わせたり配分したりできる。幾つかの実装形態では、本明細書の技術を実行する1以上の利便機能が一緒になって完全なソフトウェアパッケージを形成できる。これらの利便機能は、代替実施形態ではソフトウェアプログラムアプリケーションを実装するために、他の無関係な利便機能及び/又はプロセスと相互作用するように適合されてよい。
【0082】
本明細書では、1以上のタスクを実行するために幾つかの例示的な利便機能が説明された。しかしながら記載された利便機能及びタスクの分割は、本明細書で説明された例示的な技術を実装できる利便機能のタイプを例示するものにすぎず、実施形態は特定の数、分割又はタイプの利便機能に限定されないことを理解されたい。幾つかの実装においてすべての機能性が単一の利便機能で実装される場合がある。また、幾つかの実装では本明細書に記載された利便機能の一部を他の利便機能と一緒に又は別個に(すなわち単一ユニット又は別個のユニットとして)実装でき、或いはこれらの利便機能の一部が実装されないことも可能である。
【0083】
本明細書に記載した技術を実装するコンピュータ実行可能命令(1以上の利便機能として又は他のやり方で実装される場合)は、ある実施形態では1以上のコンピュータ可読媒体に符号化されて媒体に機能性を提供する。コンピュータ可読媒体は、ハードディスクドライブなどの磁気媒体、コンパクトディスク(CD)やデジタル多用途ディスク(DVD)などの光学媒体、永続的又は非永続的なソリッドステートメモリ(フラッシュメモリ、磁気RAMなど)、又はその他の適当な記憶媒体を含む。そのようなコンピュータ可読媒体は任意の適当なやり方で実装できる。本明細書で使用される「コンピュータ可読媒体」(「コンピュータ可読記憶媒体」とも呼ばれる)は、有形の記憶媒体を指す。有形の記憶媒体は非一時的であり、少なくとも1つの物理的構造的要素を有する。本明細書で使用される「コンピュータ可読媒体」では、少なくとも1つの物理的構造的要素は、情報が埋め込まれた媒体を作成するプロセス、その媒体に情報を記録するプロセス、又は情報を含んだ媒体を符号化するプロセスの間に何らかの方法で変更できる少なくとも1つの物理的特性を有する。例えばコンピュータ可読媒体の物理的構造の一部の磁化状態を、記録プロセス中に変更できる。
【0084】
更に、上述した幾つかの技術は、これらの技術で使用するために特定の方法で情報(例えばデータ及び/又は命令)を保存する動作を含む。これらの技術の幾つかの実装(技術がコンピュータ実行可能命令として実現される実装など)では、情報はコンピュータ可読記憶媒体に符号化される。本明細書で特定の構造がこの情報を保存するための有利なフォーマットとして説明されている場合、これらの構造を使用して記憶媒体上で符号化されるときに情報の物理的編成を与えることができる。次にこれらの有利な構造は、情報と相互作用する1以上のプロセッサの動作に影響を与えることにより、例えばプロセッサによって実行されるコンピュータ操作の効率を上げることによって記憶媒体に機能性を付与できる。
【0085】
技術をコンピュータ実行可能命令として具体化できる幾つかの実装(すべての実装ではなく)では、これらの命令は任意の適当なコンピュータシステムで動作する1以上の適当なコンピューティングデバイスで実行でき、又は1以上のコンピューティングデバイス(又は1以上のコンピューティングデバイスの1以上のプロセッサ)はコンピュータ実行可能命令を実行するようにプログラムできる。コンピューティングデバイス又はプロセッサは、命令がデータストアなどのコンピューティングデバイス又はプロセッサにアクセス可能な方法で命令が保存されたときに命令を実行するようにプログラムできる(例えばオンチップキャッシュ又は命令レジスタ、バスを介してアクセス可能なコンピュータ可読ストレージ、1以上のネットワークを介してアクセス可能なコンピュータ可読記憶媒体、及びデバイス/プロセッサなどによってアクセス可能な媒体)。これらのコンピュータ実行可能命令を含む利便機能は、単一の多目的プログラム可能なデジタルコンピューティングデバイス、処理能力を共有して本明細書に記載した技術を共同で実行する2以上の多目的コンピューティングデバイスの協調システム、本明細書に記載された技術を実行するためだけの単一のコンピューティングデバイス又はコンピューティングデバイスの協調システム(コロケーションもしくは地理的に分散)、本明細書に記載した技術を実行するための1以上のフィールドプログラマブルゲートアレイ(FPGA)、又は任意の他の適当なシステムと統合されてその動作を指示することができる。
【0086】
コンピューティングデバイスは、少なくとも1つのプロセッサ、ネットワークアダプタ、及びコンピュータ可読記憶媒体を含むことができる。コンピューティングデバイスは、例えばデスクトップ又はラップトップ・パーソナルコンピュータ、パーソナルデジタルアシスタント(PDA)、スマートフォン、携帯電話、サーバ、又は他の任意の適当なコンピューティングデバイスであってよい。ネットワークアダプタは、任意の適当なコンピューティングネットワークを介して他の任意の適当なコンピューティングデバイスと有線及び/又は無線で通信するために、コンピューティングデバイスを有効にする任意の適当なハードウェア及び/又はソフトウェアであってもよい。コンピューティングネットワークには、ワイヤレスアクセスポイント、スイッチ、ルータ、ゲートウェイ、及び/又はその他のネットワーク機器、及びインターネットを含め2以上のコンピュータ間でデータを交換するための適当な有線及び/又は無線通信媒体を含む。コンピュータ可読媒体は、処理されるデータ及び/又はプロセッサによって実行される命令を保存するように適合できる。プロセッサは、データの処理や命令の実行を可能にする。データ及び命令は、コンピュータ可読記憶媒体に保存できる。
【0087】
コンピューティングデバイスは、更に入出力装置を含め1以上の構成要素及び周辺機器を有してよい。これらのデバイスは、とりわけユーザインタフェースを提供するために使用できる。ユーザインタフェースを提供するために使用できる出力デバイスの例は、出力を視覚的に表示するためのプリンタ又はディスプレイ画面、及び出力を聴覚的に表示するためのスピーカ又はその他の音声生成装置を含む。ユーザインタフェースに使用できる入力デバイスの例は、キーボード、マウスやタッチパッドなどのポインティングデバイス、及びデジタル化タブレットである。別の例として、コンピューティングデバイスは、音声認識又は他の可聴形式で入力情報を受け取ることができる。
【0088】
以上説明された実施形態は、技術が回路及び/又はコンピュータ実行可能命令で実装されたものである。少なくとも1つの例が提供された方法の形態で幾つかの実施形態があってもよいことを理解されたい。方法の一部として実行される動作は、任意の適切なやり方で順序付けることができる。したがって、例示の実施形態では連続した動作として示されているが、実施形態は幾つかの動作を同時に実行することも含めて、例示されたものとは異なる順序で動作が実行されるように構成できる。
【0089】
上述した実施形態の種々の態様は、単独でも、組み合わせて、又は上述した実施形態で具体的に論じられていない様々な構成で使用することができ、それゆえその応用において上記の説明に記された又は図面に示された詳細及び構成要素の配置に限定されるものではない。例えばある実施形態に記載された態様は、他の実施形態に記載される態様と任意のやり方で組み合わせることができる。
【0090】
特許請求の範囲でクレーム要素を修正するために「第1」、「第2」、「第3」などの序数詞を使用することは、それ自体はあるクレーム要素の別のクレーム要素に対する優先、優位又は順位、或いは方法の動作が実行される時間的順序を意味するものではなく、単にクレーム要素を区別するために特定の名前を持つクレーム要素を(序数詞の使用を除いて)同じ名前を持つ別の要素と区別するための表示としてのみ使用される。
【0091】
また、本明細書で使用される語法及び用語は説明を目的とするものであり、制限と見なされるべきではない。本明細書における「含む」、「有する」、「持つ」、「包含する」、「伴う」、及びそれらの変形の使用は、その後に列挙される項目、及びその同等物、並びに追加項目を網羅することを意味する。
【0092】
本明細書では、「例示的」という言葉は、例、事例又は例示としての役割を果たすことを意味するために使用される。それゆえ例示として本明細書に記載される実施形態、実装、プロセス、特徴などは、例示的な例として理解されるべきであり、特に明記しない限り選好される例もしくは有利な例として理解されるべきではない。
【0093】
以上、少なくとも1つの実施形態の幾つかの態様を説明したが、当業者には様々な変更、修正及び改善が容易に想到し得るものであることを理解されたい。そのような変更、修正及び改善は本開示の一部であることが意図されており、本明細書に記載する原理の精神及び範囲内にあることが意図されている。それゆえ上記の説明及び図面は例示にすぎない。
【0094】
特許請求の範囲を以下に記載する。
【外国語明細書】