本願の態様は、このように、音響信号を記録することに焦点を定める柔軟なオーディオ信号を提供する。
第1の態様にしたがい、少なくとも1つのマッチした特徴を決定するために、少なくとも2つの画像を分析するステップと、前記少なくとも2つの画像の間の少なくとも2つの差異パラメータを決定するステップと、前記少なくとも2つの画像における前記少なくとも1つのマッチした特徴とおよび、推定された差異パラメータ値とに基づいて、エラー基準を使用して、エラー・サーチにおいて、前記少なくとも2つの差異パラメータの値を決定するステップであって、各々の差異パラメータに対する前記値は、連続的に決定される、ステップと、を含む方法が提供される。
エラー・サーチにおいて、前記少なくとも2つの差異パラメータの値を決定するステップは、前記エラー・サーチを最小にするために、前記少なくとも2つのパラメータの値を決定するステップを含むことができる。
少なくとも1つのマッチした特徴を決定するために、少なくとも2つの画像を分析するステップは、前記少なくとも2つの画像の第1の画像から少なくとも1つの特徴を決定するステップと、前記少なくとも2つの画像の第2の画像から少なくとも1つの特徴を決定するステップと、第1の画像からの少なくとも1つの特徴と、第2の画像からの少なくとも1つの特徴とをマッチングするステップであって、該ステップは、前記少なくとも1つのマッチングされた特徴を決定するためである、ステップと、を含むことができる。
少なくとも1つのマッチした特徴を決定するために、少なくとも2つの画像を分析するステップは、前記少なくとも1つのマッチングされた特徴をフィルタ処理するステップを更に含むことができる。
前記少なくとも1つのマッチングされた特徴をフィルタ処理するステップは、画像境界の閾値距離の範囲内で起こっているマッチングされた特徴を除去すること、繰り返しマッチングされた特徴を除去すること、遠隔のマッチングされた特徴を除去すること、交差するマッチングされた特徴を除去すること、整合していないマッチングされた特徴を除去すること、および、決定されたマッチング基準にしたがい、前記マッチの部分集合を選択すること、のうちの少なくとも1つを含むことができる。
少なくとも2つの画像の間の、少なくとも2つの差異パラメータを決定するステップは、前記少なくとも2つの画像から、参照画像を決定するステップと、該参照画像以外の画像に対して、少なくとも2つの差異パラメータを規定するステップであって、該少なくとも2つの差異パラメータは、ステレオ・セットアップ・ミスアライメントである、ステップと、を含むことができる。
少なくとも2つの画像の間の、少なくとも2つの差異パラメータを決定するステップは、値の範囲を規定するステップであって、前記エラー・サーチにおいて該範囲の中で差異パラメータ値を決定することができる、ステップと、前記エラー・サーチにおける、前記差異パラメータ値決定に対する、初期値を規定するステップと、を含むことができる。
前記エラー・サーチにおいて、前記差異パラメータに対する値を決定するステップは、差異パラメータを選択するステップであって、該差異パラメータは、関連する規定された初期値とおよび値の範囲を有する、ステップと、前記差異パラメータの前記初期値に依存してカメラ・レクティフィケーションを生成するステップと、前記カメラ・レクティフィケーション、および、少なくとも1つのマッチした特徴に依存して、前記エラー基準の値を生成するステップと、更なる差異パラメータ値の選択、カメラ・レクティフィケーションの生成、および、前記エラー基準の値の生成を前記差異パラメータに対する前記エラー基準の最少の値が見つかるまで反復するステップと、更なる差異パラメータ値の選択を、前記少なくとも2つの差異パラメータのすべてが、前記エラー・サーチを最小にする差異パラメータに対する決定された値を有するまで反復するステップと、を含むことができる。この方法は、第1のカメラで、前記少なくとも2つの画像のうちの第1の画像を生成するステップと、第2のカメラで、前記少なくとも2つの画像のうちの第2の画像を生成するステップと、を更に備えることができる。
この方法は、第1の位置における第1のカメラで、前記少なくとも2つの画像のうちの第1の画像を生成するステップと、第1の位置から位置がずれている第2の位置における第1のカメラで、前記少なくとも2つの画像のうちの第2の画像を生成するステップと、を更に備えることができる。
装置を、ここに記述されるような方法を実行するように構成することができる。
本願にしたがう、少なくとも1つのプロセッサと、1つ以上のプログラムのためのコンピュータ・コードを含む少なくとも1つのメモリであって、該少なくとも1つのメモリおよびコンピュータ・コードは、前記少なくとも1つのプロセッサにより、前記装置に、少なくとも1つのマッチングされた特徴を決定するために、少なくとも2つの画像を分析するステップと、前記少なくとも2つの画像の間の少なくとも2つの差異パラメータを決定するステップと、前記少なくとも2つの画像における前記少なくとも1つのマッチした特徴と、推定された差異パラメータ値とに基づいて、エラー基準を用いたエラー・サーチにおいて、前記少なくとも2つの差異パラメータに対する値を決定するステップであって、各々の差異パラメータに対する前記値は、連続的に決定される、ステップと、を少なくとも実行させるように構成される、メモリと、を備える装置が提供される。
エラー・サーチにおいて、前記少なくとも2の差異パラメータの値を決定するステップは、この装置に、前記エラー・サーチを最小にするために、前記少なくとも2つの差異パラメータに対する値を決定するステップを実行するようにさせることができる。
少なくとも1つのマッチした特徴を決定するために、少なくとも2つの画像を分析するステップは、この装置に、前記少なくとも2つの画像の第1の画像から少なくとも1つの特徴を決定するステップと、前記少なくとも2つの画像の第2の画像から少なくとも1つの特徴を決定するステップと、第1の画像からの少なくとも1つの特徴と、第2の画像からの少なくとも1つの特徴とをマッチングするステップであって、該ステップは、前記少なくとも1つのマッチングされた特徴を決定するためである、ステップと、を実行するようにさせることができる。
少なくとも1つのマッチングされた特徴を決定するために、前記少なくとも2つの画像を分析するステップは、さらに、前記装置に、前記少なくとも1つのマッチングされた特徴をフィルタ処理するステップを実行させる。
前記少なくとも1つのマッチングされた特徴をフィルタ処理するステップは、この装置に、画像境界の閾値距離の範囲内で起こっているマッチングされた特徴を除去すること、繰り返しマッチングされた特徴を除去すること、遠隔のマッチングされた特徴を除去すること、交差するマッチングされた特徴を除去すること、整合していないマッチングされた特徴を除去すること、および、決定されたマッチング基準にしたがい、前記マッチの部分集合を選択すること、のうちの少なくとも1つを実行するようにさせることができる。
少なくとも2つの画像の間の、少なくとも2つの差異パラメータを決定するステップは、この装置に、前記少なくとも2つの画像から、参照画像を決定するステップと、該参照画像以外の画像に対して、少なくとも2つの差異パラメータを規定するステップであって、該少なくとも2つの差異パラメータは、ステレオ・セットアップ・ミスアライメントである、ステップと、を実行するようにさせることができる。
少なくとも2つの画像の間の、少なくとも2つの差異パラメータを決定するステップは、この装置に、値の範囲を規定するステップであって、前記エラー・サーチにおいて該範囲の中で差異パラメータ値を決定することができる、ステップと、前記エラー・サーチにおける、前記差異パラメータ値の決定に対する、初期値を規定するステップと、を実行するようにさせることができる。前記エラー・サーチにおける、前記差異パラメータに対する値を決定するステップは、この装置に、差異パラメータを選択するステップであって、該差異パラメータは、関連する規定された初期値とおよび値の範囲を有する、ステップと、前記差異パラメータの前記初期値に依存してカメラ・レクティフィケーションを生成するステップと、前記カメラ・レクティフィケーション、および、少なくとも1つのマッチした特徴に依存して、前記エラー基準の値を生成するステップと、更なる差異パラメータ値の選択、カメラ・レクティフィケーションの生成、および、前記エラー基準の値の生成を、前記差異パラメータに対する前記エラー基準の最少の値が見つかるまで反復するステップと、更なる差異パラメータ値の選択を、前記少なくとも2つの差異パラメータのすべてが、前記エラー・サーチを最小にする差異パラメータに対する決定された値を有するまで反復するステップと、を実行するようにさせることができる。この装置は、第1のカメラで、前記少なくとも2つの画像のうちの第1の画像を生成するステップと、第2のカメラで、前記少なくとも2つの画像のうちの第2の画像を生成するステップと、を更に実行するようにすることができる。
この装置は、第1の位置における第1のカメラで、前記少なくとも2つの画像のうちの第1の画像を生成するステップと、第1の位置から位置がずれている第2の位置における第1のカメラで、前記少なくとも2つの画像のうちの第2の画像を生成するステップと、を更に実行するようにすることができる。
本願の第3の態様にしたがい、少なくとも1つのマッチングされた特徴を決定するために、少なくとも2つの画像を分析するように構成された画像アナライザと、前記少なくとも2つの画像の間の少なくとも2つの差異パラメータを決定するように構成されたカメラ規定器と、前記少なくとも2つの画像における前記少なくとも1つのマッチした特徴および、推定された差異パラメータ値に基づいて、エラー基準を用いたエラー・サーチにおいて、前記少なくとも2つの差異パラメータに対する値を決定するように構成されたレクティフィケーション決定器であって、各々の差異パラメータに対する前記値は、連続的に決定される、レクティフィケーション決定器と、を備える装置が提供される。
レクティフィケーション決定器は、前記エラー・サーチを最小にするために、前記少なくとも2つのパラメータに対する値を決定するように構成されたレクティフィケーション最適化器を備えることができる。
画像アナライザは、前記少なくとも2つの画像の第1の画像から少なくとも1つの特徴を決定し、前記少なくとも2つの画像の第2の画像から少なくとも1つの特徴を決定するように構成された特徴決定器と、前記少なくとも1つのマッチングされた特徴を決定するために、第1の画像から少なくとも1つの特徴と、前記第2の画像からの少なくとも1つの特徴とをマッチングするように構成された特徴マッチング器とを備えることができる。
画像アナライザは、前記少なくとも1つのマッチされた特徴をフィルタ処理するように構成されたマッチング・フィルタを更に備えることができる。
マッチング・フィルタは、画像境界の閾値距離の範囲内で生起するマッチされた特徴を取り除くように構成された境界フィルタ、反復するマッチされた特徴を取り除くように構成された反復フィルタ、遠隔のマッチングされた特徴を取り除くように構成された遠隔フィルタ、交差するマッチングされた特徴を取り除くように構成された交差フィルタ、非整合なマッチングされた特徴を取り除くように構成された整合性フィルタ、および、決定されたマッチング基準にしたがい、マッチするものの部分集合を選択するように構成された基準フィルタのうちの少なくとも1つを備えることができる。
この装置は、前記少なくとも2つの画像から、参照画像を決定するように構成されたカメラ参照セレクタと、該参照画像以外の画像に対して、少なくとも2つの差異パラメータを規定するように構成されたパラメータ規定器であって、該少なくとも2つの差異パラメータは、ステレオ・セットアップ・ミスアライメントである、パラメータ規定器と、を更に備えることができる。
カメラ規定器は、値の範囲を規定するように構成されたパラメータ範囲規定器であって、前記エラー・サーチにおいて該範囲の中で差異パラメータ値を決定することができる、パラメータ範囲規定器と、前記エラー・サーチにおいて、前記差異パラメータ値決定に対する、初期値を規定するように構成されたパラメータ・イニシャライザと、を備えることができる。
レクティフィケーション決定器は、差異パラメータを選択するように構成されたパラメータ・セレクタであって、該差異パラメータは、関連する規定された初期値とおよび値の範囲を有する、パラメータ・セレクタと、前記差異パラメータの前記初期値に依存してカメラ・レクティフィケーションを生成するように構成されたカメラ・レクティフィケーション生成器と、前記カメラ・レクティフィケーション、および、少なくとも1つのマッチした特徴に依存して、前記エラー基準の値を生成するように構成された測定基準決定器と、を備えることができる。前記差異パラメータに対する前記エラー基準の最少の値が見つかるまで更なる差異パラメータ値の反復選択、カメラ・レクティフィケーションを生成し、および、前記エラー基準の値を生成することを制御し、前記少なくとも2つの差異パラメータのすべてが、前記エラー・サーチを最小にする差異パラメータに対する決定された値を有するまで更なる差異パラメータの反復選択を制御するように構成された測定基準値比較器と、この装置は、前記少なくとも2つの画像のうちの第1の画像を生成するように構成された第1のカメラ、および、前記少なくとも2つの画像のうちの第2の画像を生成するように構成された第2のカメラを更に備えることができる。
この装置は、第1の位置において、第1のカメラで、前記少なくとも2つの画像のうちの第1の画像を生成し、および、第1の位置から位置がずれている第2の位置において、前記少なくとも2つの画像のうちの第2の画像を生成するように構成された第1のカメラを更に備えることができる。
本願の第4の態様にしたがい、少なくとも1つのマッチングされた特徴を決定するために、少なくとも2つの画像を分析する手段と、前記少なくとも2つの画像の間の少なくとも2つの差異パラメータを決定する手段と、前記少なくとも2つの画像における前記少なくとも1つのマッチした特徴とおよび、推定された差異パラメータ値とに基づいて、エラー基準を用いたエラー・サーチにおいて、前記少なくとも2つの差異パラメータに対する値を決定する手段であって、各々の差異パラメータに対する前記値は、連続的に決定される、手段と、を備える装置が提供される。
エラー・サーチにおいて、前記少なくとも2つの差異パラメータに対する値を決定する前記手段は、前記エラー・サーチを最小にするために、前記少なくとも2つのパラメータに対する値を決定する手段を備えることができる。
少なくとも1つのマッチングされた特徴を決定するために、少なくとも2つの画像を分析する前記手段は、前記少なくとも2つの画像の第1の画像から少なくとも1つの特徴を決定するための手段と、前記少なくとも2つの画像の第2の画像から少なくとも1つの特徴を決定するための手段と、前記少なくとも1つのマッチングされた特徴を決定するために、前記第1の画像からの少なくとも1つの特徴と、前記第2の画像からの少なくとも1つの特徴とをマッチングするための手段と、を含むことができる。
少なくとも1つのマッチングされた特徴を決定するために、前記少なくとも2つの画像を分析するステップは、前記少なくとも1つのマッチされた特徴をフィルタ処理する手段を更に備えることができる。
前記少なくとも1つのマッチされた特徴をフィルタ処理する手段は、画像境界の閾値距離の範囲内で生起するマッチされた特徴を除去する手段、反復するマッチされた特徴を取り除く手段、遠隔のマッチングされた特徴を取り除く手段、交差するマッチングされた特徴を取り除く手段、非整合なマッチングされた特徴を取り除く手段、および、決定されたマッチング基準にしたがい、マッチするものの部分集合を選択する手段のうちの少なくとも1つを備えることができる。
少なくとも2つの画像の間の、少なくとも2つの差異パラメータを決定する前記手段は、前記少なくとも2つの画像から、参照画像を決定する手段と、該参照画像以外の画像に対して、少なくとも2つの差異パラメータを規定する手段であって、該少なくとも2つの差異パラメータは、ステレオ・セットアップ・ミスアライメントである、手段と、を含むことができる。
少なくとも2つの画像の間の、少なくとも2つの差異パラメータを決定する前記手段は、値の範囲を規定する手段であって、前記エラー・サーチにおいて該範囲の中で差異パラメータ値を決定することができる、手段と、前記エラー・サーチにおいて、前記差異パラメータ値の決定に対する、初期値を規定する手段と、を含むことができる。
前記エラー・サーチにおいて、前記差異パラメータに対する値を決定する前記手段は、差異パラメータを選択する手段であって、該差異パラメータは、関連する規定された初期値とおよび値の範囲を有する、手段と、前記差異パラメータの前記初期値に依存してカメラ・レクティフィケーションを生成する手段と、前記カメラ・レクティフィケーション、および、少なくとも1つのマッチした特徴に依存して、前記エラー基準の値を生成する手段と、前記差異パラメータに対する前記エラー基準の最少の値が見つかるまで更なる差異パラメータ値を反復して選択し、カメラ・レクティフィケーションを生成し、および、前記エラー基準の値を生成する手段と、前記少なくとも2つの差異パラメータのすべてが、前記エラー・サーチを最小にする差異パラメータに対する決定された値を有するまで更なる差異パラメータを反復して選択する手段と、を含むことができる。この装置は、第1のカメラで、前記少なくとも2つの画像のうち第1の画像を生成する手段、および、第2のカメラで、前記少なくとも2つの画像のうち第2の画像を生成する手段、を更に備えることができる。
この装置は、第1の位置において、第1のカメラで、前記少なくとも2つの画像のうち第1の画像を生成する手段、および、前記第1のカメラで第1の位置から位置がずれている第2の位置において、前記少なくとも2つの画像のうち第2の画像を生成する手段を更に備えることができる。
エラー基準は、サンプソン距離測定基準、対称エピポーラ距離測定基準、垂直特徴シフト測定基準、左から右一貫性測定基準、相互領域測定基準、および、投影歪み測定基準、のうちの少なくとも1つを備えることができる。
差異パラメータは、回転シフト、回転シフト・ピッチ、回転シフト・ロール、回転シフト・ヨー、並進シフト、垂直軸(Y)上での並進シフト、深度軸(Z)上での並進シフト、水平焦点距離差異、垂直焦点距離差異、前記光学システムにおける光学的歪み、ズーム・ファクタにおける差異、非剛体アフィン歪み、水平軸(X)シア、水平軸(Y)シア、および、深度軸(Z)シアのうちの少なくとも1つを含むことができる。
チップセットは、ここに記述される装置を含むことができる。
本願の実施形態は、当該技術領域における技術の状態と結びついた問題に対処しようとするものである。
以下で、効果的マルチ・フレーム画像キャリブレーション供給のための適切な装置および可能なメカニズム、および、ステレオまたは三次元ビデオ・キャプチャ装置を生成するための処理を記載する。
ここに記述される概念は、ステレオおよびマルチ・フレーム・カメラ・キャプチャ・アプリケーションにおける前処理ステップとして、キャリブレーションとレクティフィケーションとの支援に関連する。以前の研究において、ステレオ推定からの深度の品質ステレオ・カメラ・セットアップの精度に強く依存することが示されてきた。例えば、キャリブレーションを行われたカメラのわずかなミスアライメントさえ、深度推定の品質を低下させる。そのようなミスアライメントは、セットアップにおける機械的変更によるものであることがありえ、そして、追加的なポスト・キャリブレーションとレクティフィケーションを必要とする。最も高い精度を狙っているキャリブレーション・アプローチは、既知の位置における特徴をキャプチャするキャリブレーション・パターンを使用する。しかしながら、これは、ステレオ・カメラの普通のユーザによって実行されるのに適切であるようなタスクではない。
画像アライメントは、また、連続的な画像の間でのカメラの運動のためにマルチ・フレーム・イメージングにおいて、必要ステップでもある。マルチ・フレーム・イメージングにおける、ステレオスコープのイメージングのための、そして、アライメントのためのキャリブレーションとレクティフィケーションで知られている方法は、計算機に対する要求が大きい。そこで、計算能力が比較的圧迫された、電池駆動デバイスのために、複雑さが小さいキャリブレーション、レクティフィケーション、および、アライメントの方法を有することが望まれる。ここに示された概念は、キャリブレーション・パターンを要求することなく、そして、実際のシーンのキャプチャされたデータから入手可能な情報だけを使用して、正確なキャリブレーションとレクティフィケーションを提供する。したがって、それは、特にセットアップ・ミスアライメントのタイプ、またはカメラ・パラメータの変化に狙いを定めているものであり、マルチ・フレーム・イメージングのために問題のステレオ・ペアまたは画像のセットを識別することができ、また、レクティフィケーションやアライメント品質の定量的測定法を提供する。さらにまた、ここに記述されるアプローチは、低い複雑さのインプリメンテーションを可能にすることができる。言い換えると、比較的計算能力が低い電池駆動装置の上でインプリメントすることができる。
ステレオ・キャリブレーションと、非キャリブレーション・セットアップのレクティフィケーションのための現在のアプローチは、主として、いわゆる基本(F)マトリックスによって記述されるカメラ・セットアップのエピポーラ関係の推定に基づいている。このマトリックスは、ステレオ画像ペアにおいて見つかる特徴点の十分な数の対応するペアから推定することができる。Fを推定したとすると、ステレオ・キャリブレーションとレクティフィケーションのために必要とされるパラメータのすべてを得ることが可能である。マトリックスFは、サイズ3x3要素、および、マトリックス要素の間での比率として形成される8自由度を有する。このマトリックスFは、フルランクを持たない。したがって、ユニークさを欠如しており、最小二乗法によって推定される間、数値的不安定性を示す。マトリックス推定の品質と堅固性は、使用した特徴の位置精度、対応関係の数、および、例外点(outliers)のパーセンテージに強く依存する。Fマトリックス推定のための一般解は、ポイント正規化、堅固性最尤法アプローチによる対応関係の広範囲なサーチ、非線形コスト関数の最小化、そして、特異値分解(SVD:Singular Value Decomposition)分析のような、むしろ複雑なステップを要求する。
HartleyおよびZissermannによる、「Multi−view Geometry in Computer Vision, Second Edition」で示されたような一般解は、経時的に改良されてきたが、しかしながら、利用できるレクティフィケーション・アプリケーションに対応するポイントでのテストは、この方法が、依然として、例えば、高い複雑さ、パフォーマンスの低下、または、同一の入力パラメータに対する不安定な結果のような問題を見せていることを示している。
ここに記述されるアプローチは、ステレオ・セットアップにおいて、ラフにアラインしたカメラのキャリブレーションを可能にする。ここで、カメラ位置や他のカメラ・パラメータは、そのようなセットアップに対して予期される範囲内で変化する。このアプローチは、変化する、したがって、パフォーマンスと推定スピードとの間の非常に効果的な妥協を可能にするカメラ・パラメータの任意のサブセットを選択すること可能にする。カメラ・パラメータは、−カメラ位置またはカメラの間の並進シフト、−水平および垂直焦点距離、−光学歪み、−異なる軸に沿ったカメラ回転、例えば、ピッチ(pitch)、ヨー(yaw)および、ロール(roll)を含むことができる。しかし、これらに制限されるものではない。
パラメータの最適値を見つける線形最適化手順を実行することができる。最適化手続きで使われる最小化基準は、いくつかのグローバルなレクティフィケーション・コスト測定基準に基づいたものである。ラフにアラインしたカメラの仮定は、最適化されるパラメータの初期値の良い選択を可能にする。ここに記述されるアプローチは、計算機に対する要求が大きい非線形パラメータ・サーチ、および、最適化コスト機能を効果的に回避する。
図1は、例示的な装置または電子デバイス10の概略ブロック図を示す。これは、画像、および、さらに、音声データの有するあるいは有しない画像の記録、または、キャプチャに使用することができ、また、さらに、本願のいくつかの実施形態をインプリメントすることができる。
電子デバイス10は、たとえば、無線通信システムのモバイル端末またはユーザ機器であることができる。いくつか実施形態において、この装置は、カメラ、または、画像または、ビデオ、または、カムコーダ、または、オーディオまたは、ビデオレコーダーのようなオーディオ/ビデオを記録するのに適切な任意の適切なポータブル・デバイスでありえる。
いくつか実施形態において、装置10は、プロセッサ21を備える。プロセッサ21は、カメラに結合している。プロセッサ21は、種々のプログラム・コードを実行するように構成することができる。インプリメントされたプログラム・コードは、たとえば、画像キャリブレーション、画像レクティフィケーションおよび画像処理ルーチンなどを備えることができる。
いくつか実施形態において、この装置は、メモリ22を更に含む。いくつか実施形態において、プロセッサは、メモリ22に結合している。メモリは、いかなる適切な格納手段であっても良い。いくつか実施形態において、メモリ22は、プロセッサ21上で実行可能なプログラム・コードを格納するプログラム・コード・セクション23を備える。さらにまた、いくつか実施形態において、メモリ22は、たとえば、アプリケーションに従って、コード化されたデータ、または、後述する本願実施形態を介してコード化されるデータなどのデータを格納するための格納データ・セクション24を更に含むことができる。プログラム・コード・セクション23の中に格納されたインプリメントされたプログラム、および、格納データ・セクション24の中に格納されたデータは、必要なときはいつでも、メモリ・プロセッサ結合を介して、プロセッサ21によって読み出されることができる。
いくつかの更なる実施形態において、装置10は、ユーザ・インターフェース15を備えることができる。ユーザ・インターフェース15は、いくつか実施形態においては、プロセッサ21に結合することができる。いくつか実施形態において、プロセッサは、ユーザ・インターフェースの動作をコントロールすることができ、そして、ユーザ・インターフェース15から入力を受信することができる。いくつか実施形態において、ユーザ・インターフェース15は、ユーザが、たとえばキーパッドを介してコマンドを電子回路デバイスまたは装置10に入力すること、および/または、たとえば、ユーザ・インターフェース15の一部であるディスプレイを介して装置10から情報を得ることを可能にすることができる。ユーザ・インターフェース15は、いくつか実施形態において、情報が装置10に入れるのを可能にすること、および、さらに、情報を装置10のユーザに示すことの両方が可能なタッチ・スクリーン、またはタッチ・インタフェースを備えることができる。
いくつか実施形態において、装置は、更に、トランシーバ13を備え、トランシーバは、そのような実施形態においては、プロセッサに結合することができ、そして、たとえば無線通信ネットワークによって、他の装置または電子デバイスとの通信を可能にするように構成されることができる。トランシーバ13、または、任意の適切なトランシーバ、または、送信器やレシーバー手段は、いくつか実施形態において、無線または有線結合を介して他の電子デバイスまたは装置と通信するように構成することができる。
トランシーバ13は、任意の適切な既知の通信プロトコルによって、更なる、デバイスと通信することができる。たとえば、いくつか実施形態において、トランシーバ13またはトランシーバ手段は、適切なUMTS(universal mobile telecommunications system)プロトコル、例えば、たとえばIEEE 802.Xなど、のような、無線LAN(WLAN)プロトコル、例えば、ブルートゥースなどの適切な短距離RF(short−range radio frequency)通信プロトコル、または、赤外線通信経路(IRDA:infrared data communication pathway)を使用することができる。
いくつか実施形態において、この装置は、視覚イメージング・サブシステムを備える。視覚イメージング・サブシステムは、いくつか実施形態において、画像データをキャプチャするように構成された少なくとも、第1のカメラ「カメラ1、11」、および、第2のカメラ「カメラ2、33」を備えることができる。これらのカメラは、適切なイメージセンサの上で画像に焦点を合わせるように構成される適切なレンズまたは画像焦点要素を備えることができる。いくつか実施形態において、各々のカメラのイメージセンサは、デジタル画像データを、プロセッサ21に出力するようにさらに構成することができる。以下の例は、各々のフレームが別々のカメラで記録されるマルチ・フレーム・アプローチを記述するが、いくつか実施形態において、単一のカメラが、マルチ・フレーム・アプローチを記述する以下の例の実施形態のような種々の実施形態で処理することができる連続的な画像のシリーズを記録することは理解されるであろう。
さらにまた、いくつか実施形態において、単一のカメラが使われるが、しかし、そのカメラは、マイクロレンズ、および/または、特定の波長範囲だけを通過させる光学フィルタのような光学的構成を含むことができる。そのような構成においては、例えば、異なるセンサ・アレイ、または、センサ・アレイの異なるパーツを、異なる波長範囲をキャプチャするために使用することができる。別の例において、小型レンズ・アレイが使用され、そして、各々の小型レンズは、わずかに異なる角度でシーンを見る。したがって、その画像は、マイクロ画像のアレイから成ることができ、各々が1つの小型レンズに対応し、わずかに異なる角度でキャプチャされたシーンを表現する。種々の実施形態を、そのようなカメラに使用することができ、そして、センサ構成を、画像レクティフィケーションやアライメントのために使用することができる。
また、電子デバイス10の構造は、様々なやり方で、補うことができ、変化させることができることが良く理解される。
図2について、いくつかの実施例にしたがう、キャリブレーション・レクティフィケーション装置の概要が、記載されている。さらにまた、図3について、キャリブレーション・レクティフィケーション装置の動作は、図2で示されるように、更に詳細に記載されている。
いくつか実施形態において、キャリブレーション・レクティフィケーション装置100は、パラメータ決定器101を備える。このパラメータ決定器101は、いくつか実施形態において、情報入力を受信し、他のコンポーネントを、適切なキャリブレーションとレクティフィケーションの結果を生成するように動作するように制御するように構成されるキャリブレーション・レクティフィケーション装置コントローラであるように構成することができる。
いくつか実施形態において、パラメータ決定器は、入力パラメータを受信するように構成することができる。この入力パラメータは、例えば、要求される結果のタイプ(キャリブレーション、レクティフィケーション、および/または、カメラのアライメント)を制御するオプションなどのいかなる適切なユーザ・インターフェース入力でもありえる。さらにまた、パラメータ決定器101は、カメラから、例えば、ステレオ画像ペア(または、たとえば、単一のカメラが連続した画像をキャプチャするようないくつか実施形態においては、連続した画像)などの、入力を受信するように構成することができる。さらにまた、以下の例において、画像のステレオ・ペアに、キャリブレーションおよびレクティフィケーションを行われるのであるが、これは、カメラのペアのうちの1つのカメラが、参照として選択され、そして、補正、キャリブレーション、レクティフィケーションやアライメントが、カメラのすべてに対するペア、あるいは、少なくともいくつかのカメラに対するペアの各々の間で、実行される、マルチ・フレーム・キャリブレーションおよびレクティフィケーションに拡大することができることが理解される。
いくつか実施形態において、パラメータ決定器101は、さらにカメラ・パラメータ受信するように構成することができる。カメラ・パラメータは、例えば、焦点距離およびズーム・ファクタ、または、既知の光学システム歪みが存在しているかどうか、に関する情報などのいかなる適切なカメラ・パラメータでもありえる。
入力カメラ・パラメータを受信する動作は、図3の中で、ステップ201によって示される。
パラメータ決定器101は、いくつか実施形態においては、次に、画像アナライザ103に画像ペアをパスすることができる。
いくつか実施形態において、キャリブレーション・レクティフィケーション装置は、画像アナライザ103を備える。画像アナライザ103は、画像ペアを受信し、その画像ペアにおける点特徴を推定するために、その画像を分析するように構成することができる。
画像ペアにおける点特徴を推定する動作は、図3の中で、ステップ203によって示される。
さらにまた、画像アナライザ103は、いくつか実施形態においては、推定された点特徴をマッチングし、その画像ペアにおける例外点(outliers)をフィルタ処理するように構成することができる。
その画像ペアにおける点特徴をマッチングする動作は、図3の中で、ステップ205によって示される。
その画像ペアにおける点特徴をフィルタ処理する動作は、図3の中で、ステップ207によって示される。
例外点から、フィルター処理されたマッチングされて推定された特徴は、つぎに、画像アナライザから出力されることができる。
図4について、いくつかの実施例にしたがう、画像アナライザの例は、更に詳細に示される。さらにまた、図5について、いくつかの実施例にしたがう、図4に示される画像アナライザの動作の例のフロー・チャートが、記載されている。
いくつか実施形態において、画像アナライザ103は、カメラ「カメラ1」および「カメラ2」から画像フレームを受信するように構成することができる。
カメラから(いくつかの実施形態において、パラメータ決定器を介して)画像を受信する動作は、図5の中で、ステップ401によって示される。
いくつか実施形態において、画像アナライザは、特徴推定器301を備える。特徴推定器301は、カメラから画像を受信するように構成され、そして、さらに、各々の画像から、特徴の数を決定するように構成される。
特徴検出オプションの初期化は、図5の中で、ステップ403によって示される。
特徴決定器は、いかなる適切な、エッジ、コーナ、または、他の画像特徴推定プロセスを使用することができる。例えば、いくつか実施形態において、画像特徴推定器は、ハリス&ステファン・コーナ検出器 (HARRIS)、または、スケール不変特徴変換(SIFT:Scale Invariant Feature Transform)、または、スピード・アップ堅固特徴変換(SURF:Speeded Up Robust Feature transform)を使用することができる。
カメラ画像に対する決定された画像特徴は、特徴マッチング器303にパスすることができる。
画像ペアに対する特徴を決定する動作は、図5の中で、ステップ405によって示される。
いくつか実施形態において、画像アナライザ103は、その画像に対する決定された画像特徴を「カメラ1」および「カメラ2」から受信し、決定された特徴をマッチングするように構成される特徴マッチング器を備える。特徴マッチング器は、いかなる既知の自動、半自動、または、マニュアル・マッチングをもインプリメントすることができる。例えば、SIFT特徴検出器は、デスクリプタと呼ばれる特徴ベクトル・データの情報をコレクションとして表現する。それらの領域に対して、関心点が考慮される。ここで、ベクトル・データは、異なる画像幾何学変換、または、他の変化(ノイズ、光学システム歪み、照明、局所動作)に対して不変である。いくつか実施形態において、マッチング・プロセスは、それらのデスクリプタのベクトル距離によって特徴をソートするために、いくつかの最近傍サーチ(例えば、K−Dトリー・サーチ・アルゴリズム)によって実行される。特徴点のマッチングされたペアは、それらの対応する点の1つと考えられ、それは、他の全ての可能性があるペアと比較して最小距離スコアを有する。
「カメラ1(画像1)」に対する画像と「カメラ2(画像2)」に対する画像との間で特徴をマッチングする動作は、図5の中で、ステップ407によって示される。
特徴マッチング器は、いくつか実施形態において、規定された数の特徴が、マッチングされたかどうかをチェック、または、決定するように構成される。
規定された数の特徴が、マッチングされたかどうかをチェックする動作は、図5の中で、ステップ411によって示される。
不十分な数の特徴が、マッチングされたとき、画像特徴マッチング器303は、他の特徴マッチング方法、または、マッチング・パラメータ、または、画像ペアによって、更に、カメラ1とカメラ2と(第1の位置のカメラ1と、第2の位置のカメラ2)の画像の間で特徴をマッチングするように構成される。言い換えると、動作は、図5のステップ403へ戻る。
十分な数のマッチングされたペアが、検出されるとき、マッチングされた情報の出力データは、以降で記載されるように、図4のマッチング・フィルタ305にパスすることができる。
マッチングされた特徴データを出力する動作は、図5の中で、ステップ413によって示される。
いくつか実施形態において、画像アナライザ103は、マッチング・フィルタ305を備える。マッチング・フィルタ305は、いくつか実施形態において、特徴点またはマッチングされた特徴点ペアのフィルタ処理によって、特徴マッチング(205、303)をフォローすることができる。そのようなフィルタ処理は、いくつか実施形態において、例外点でありそうな特徴点やマッチングされた特徴点ペアを取り除くことができる。これゆえに、そのようなフィルタ処理は、種々の実施形態において、記述されるレクティフィケーション/アライメントにおいて以降のステップのスピード・アップすることができ、そして、より信頼できるレクティフィケーション/アライメントの結果を得ることができる。
いくつかの実施例にしたがう、マッチング・フィルタ305の動作は、図6について、示すことができる。
いくつか実施形態において、マッチング・フィルタは、マッチングされたペアの間における可能性がある例外点を廃棄するように構成される。例えば、マッチング・フィルタ305は、いくつか実施形態において、図6に示された1つ以上のフィルタ処理ステップを使用することができる。図6の中で、フィルタ処理ステップを実行する順序は、図示されるものとは異なったものであることができることが理解されるべきである。
いくつか実施形態において、マッチング・フィルタ305は、マッチングされた特徴データまたは特徴ポイント・ペアを受信するように構成される。このデータ、または、マッチング・ポイント・ペアは、いくつかの実施形態において、図5について記述される出力プロセスから受信することができる。
マッチングされたデータを受信する動作は、図6の中で、ステップ414によって示される。
いくつか実施形態において、マッチング・フィルタ305は、以降のフィルタ処理ステップ影響を及ぼすゼロ以上のフィルタ・パラメータを初期化するように構成される。
フィルタ・パラメータの初期化は、図6の中で、ステップ415によって示される。
いくつか実施形態において、マッチング・フィルタ305は、画像境界に近いマッチング・ペアを取り除くように構成される。例えば、その、マッチングされた特徴点の少なくとも1つが画像境界までの距離が閾値より小さい距離を有するマッチング・ペアは、取り除かれることができる。いくつか実施形態において、閾値は、ステップ415で初期化されたパラメータの1つであることができる。
画像境界の近くのマッチングされた点の除去は、図6の中で、ステップ417によって示される。
いくつか実施形態において、マッチング・フィルタ305は、同一の対応する点を共有する、いかなるマッチング・ペアをも廃棄するように構成される。
同一の対応する点を共有(マッチングを繰り返す)する、マッチング・ペアを廃棄することが、図6の中で、ステップ419によって示される。
いくつか実施形態において、マッチング・フィルタ305は、互いからあまりに遠くに位置しているときには、いかなる特徴点ペアの例外点をも廃棄するように構成される。いくつか実施形態において、これは、距離閾値により決定することができる。そのような実施形態においては、互いにあまりに遠くに位置している特徴点を考慮する距離閾値は、ステップ415で初期化することができる。
遠隔の、または、遠いペアを廃棄することは、図6の中で、ステップ421によって示される。
いくつか実施形態において、マッチング・フィルタ305は、他のマッチングされたペアに交差するように見えるいかなるマッチングされたペアをも廃棄するように構成される。例えば、マッチングされたペアを接続する直線が、他のマッチングされたペアを接続する多数(例えば、2つ以上)の直線と交差するならば、そのマッチングされたペアは、例外点と考えることができ、取り除かれる。
交差マッチングを廃棄することが、図6の中で、ステップ423によって示される。
いくつか実施形態において、マッチング・フィルタ305は、逆マッチング・プロセス(画像1と画像2との間のマッチング・プロセス)のマッチングされたペアに比較したときに、一貫していない、いかなるマッチングされたペアも廃棄するように構成される。
矛盾している、または、一貫していないマッチング・ペアを廃棄することが、図6の中で、ステップ425によって示される。
さらにまた、いくつか実施形態において、マッチング・フィルタ305は、最初のマッチング・基準にしたがうベスト・マッチングされたペアのサブセットを選択するように構成され、たとえば、SIFTデスクリプタ距離スコアを使用して、マッチングされたペアのサブセットは、通常点として考えることができ、他のマッチングされたペアを取り除くことができる。
「ベスト」マッチ分析を規定しているペアをマッチングするサブセットの選択は、図6の中で、ステップ427によって示される。
いくつか実施形態において、マッチング・フィルタ305は、取り除かれなかったマッチングされたペアの数を分析する、または、調査するように構成することができる。
残りの(フィルタ処理され)マッチングされたペアの数の調査は、図6の中で、ステップ429によって示される。
その数が基準を満たす、例えば、閾値(これは、いくつか実施形態において、ステップ415で初期化されることができた)を越える、ならば、フィルタ処理プロセスは、完了したと考えることができる。いくつか実施形態において、フィルタ処理の完了は、取り除かれなかったマッチングされたペアの出力を引き起こす。
残りのマッチングされたペアを出力する動作は、図6の中で、ステップ431によって示される。
取り除かれなかったマッチングされたペア(残りのマッチングされたペア)の数が、基準に合致しないならば、フィルタリング・プロセスは、いくつか実施形態において、ステップ415において、別のパラメータ値初期化によって、繰り返されることができる。
例えば、不十分な数の特徴が、フィルタ処理されたとき、マッチング・フィルタ305は、フィルタ処理ステップの他のコレクション、または、フィルタ・パラメータ、または、他の画像ペアからマッチングされたデータによってマッチングされた特徴を更にフィルタ処理するように構成することができる。言い換えれば、動作は、図6のステップ415へ戻る。
いくつか実施形態において、前のフィルタリング・プロセスにおいて取り除かれたマッチングされたペアは、再びフィルタ処理される。一方、他の実施形態において、前のフィルタリング・プロセスにおいて取り除かれたマッチングされたペアは、フィルタ処理の対象ではなく、更なるフィルタ処理反復に対して取り除かれたままである。
305において、マッチング・フィルタ・プロセスの後に、十分な数の特徴が、通常点(inlier)と考えられたとき、画像アナライザ103は、マッチングされた特徴データを、レクティフィケーション最適化器109に出力するように構成される。
マッチングされた特徴データを出力する動作は、図6の中で、ステップ431によって示される。
いくつか実施形態において、キャリブレーション・レクティフィケーション装置は、マルチ・カメラ・セットアップ規定器105を備える。このマルチ・カメラ・セットアップ規定器105は、パラメータ決定器101からパラメータを受信し、そして、どのカメラか画像が参照であるか、どのカメラあるいは画像が、キャリブレーションを行われるべき非参照またはミスアラインしたカメラあるいは画像であるかを定めるように構成される。
セットアップにおいて1つのカメラを参照と規定し、他を、ミスアラインしたカメラと規定する動作は、図3の中で、ステップ209によって示される。
さらにまた、図7について、図2で示されるマルチ・カメラ・セットアップ規定器105は、更に詳細に説明される。さらにまた、図8について、フロー・チャートは、いくつかの実施例にしたがう、図7に示されたマルチ・カメラ・セットアップ規定器の動作を示す。
マルチ・カメラ・セットアップ規定器105は、いくつか実施形態において、参照セレクタ501を備える。参照セレクタ501は、どのカメラ(または画像)が、参照カメラ(または画像)であるかを定めるように構成することができる。
いくつか実施形態において、参照セレクタ501は、カメラ(または画像)のうちの1つを、参照として定める、あるいは、選択する。たとえば、参照セレクタ501は、参照として「左」カメラを選択するように構成することができる。他の実施形態において、参照セレクタ501は、例えば、どのカメラまたは画像が参照画像であり、そのカメラ(または、画像)を選択しているのかを規定するユーザ・インターフェース指標のような指標を受信するように構成することができる。
どのカメラが参照カメラであるかを定める動作は、図8の中で、ステップ601によって示される。
さらにまた、いくつか実施形態において、マルチ・カメラ規定器105は、パラメータ(ミスアライメントの程度)規定器を備える。パラメータ規定器 503は、ミスアライメントの程度、または、非参照カメラ(または画像)に対するミスアライメントの程度を規定しているパラメータを定めるように構成される。言い換えると、パラメータ規定器503は、参照カメラ(または画像)から異なる、あるいは、異なると予期されるパラメータを定める。
いくつか実施形態において、参照カメラと異なるミスアライメントのこれらのパラメータまたは程度は、例えば、回転シフト・ピッチ、回転シフト・ロール、および、回転シフト・ヨーなどの回転シフトでありえる。いくつか実施形態において、ミスアライメントのパラメータまたは程度は、例えば、垂直軸(Y)上での並進シフト、または、深度軸(Z)上での並進シフトなどの並進シフトでありえる。いくつか実施形態において、パラメータは、カメラ1とカメラ2との(または、画像1と画像 2との)間の水平および垂直の焦点距離差異でありえる。いくつか実施形態において、ミスアライメントのパラメータまたは程度は、参照カメラと非参照カメラの(または、画像の)間で、光学システムにおける光学的歪みが存在するかどうかでありえる。いくつか実施形態において、パラメータは、カメラの間でのズーム比における差異でありえる。いくつか実施形態において、ミスアライメント定義のパラメータまたは程度は、例えば、水平軸(X)シア、水平軸(Y)シア、深度軸(Z)シアなどの非剛体アフィン歪みでありえる。いくつか実施形態において、規定されたカメラ・セットアップは、第1の参照カメラと非参照カメラが、ピッチ、ヨーおよび、ロールの回転、Y軸とZ軸とにおける並進変位、によってシフトされる場合の1つである(これは、5度のミスアラインメント[5DOM]の定義として知られている)。
パラメータ(ミスアライメントの程度)を規定する動作は、図8の中で、ステップ603によって示される。
マルチ・カメラ・セットアップ規定器105は、次に、シミュレーションされたパラメータを、カメラ・シミュレータ107に出力するように構成することができる。
規定されたパラメータをカメラ・シミュレータに出力する動作は、図8の中で、ステップ605によって示される。
いくつか実施形態において、キャリブレーション・レクティフィケーション装置は、カメラ・シミュレータ107を備える。カメラ・シミュレータは、決定されたパラメータ、またはミスアライメントの程度をマルチ・カメラ・セットアップ規定器105から受信し、そして、各々の規定されたパラメータに対して、パラメータ範囲と初期値を構成するように構成することができる。
パラメータに対して初期値と範囲を割り当てる動作は、図3の中で、ステップ213によって示される。
図9について、カメラ・シミュレータ107の例の概略図が、更に詳細に示される。さらにまた、図10について、いくつかの実施例にしたがう、カメラ・シミュレータ107の動作のフロー・チャートが、示される。
いくつか実施形態において、カメラ・シミュレータ107は、パラメータ範囲規定器701を備える。パラメータ範囲規定器701は、マルチ・カメラ・セットアップ規定器105から前記規定されたパラメータを受信するように構成することができる。
規定されたパラメータを受信する動作は、図10の中で、ステップ801によって示される。
さらにまた、パラメータ範囲規定器701は、どのパラメータが外れることができるのかについてのミスアライメントの範囲を定めることができる。ミスアライメントの予期されるレベルは、たとえば、回転に対してプラス・マイナス45度、そして、YおよびZ軸上での並進運動に対してプラス・マイナス・カメラ・ベースライン値であることができる。
パラメータに対してミスアライメントの範囲を定める動作は、図10の中で、ステップ803によって示される。
いくつか実施形態において、カメラ・シミュレータ107は、パラメータ初期化器703を備える。パラメータ初期化器703は、決定されたパラメータを受信し、パラメータ範囲規定器701によって規定された範囲に入るように、各々のパラメータを初期化するように構成される。いくつか実施形態において、パラメータ初期化器703は、2つのカメラの間で、エラーなしで値を初期化するように構成することができる。言い換えると、パラメータ初期化器703は、回転を0度に初期化し、そして、並進をゼロに初期化するように構成される。しかしながら、いくつかの実施形態において、たとえば、ユーザ・インターフェースまたは以前の決定から指標を提供されるとき、パラメータ初期化器703は、他の初期値を定めることができる。
パラメータに対して初期値を定める動作は、図10の中で、ステップ805によって示される。
パラメータ初期化器703およびパラメータ範囲規定器701は、次に、パラメータの各々に対する初期値と範囲を、レクティフィケーション最適化器109に出力することができる。
初期値と範囲を出力する動作は、図10の中で、ステップ807によって示される。
いくつか実施形態において、キャリブレーション・レクティフィケーション装置100は、レクティフィケーション最適化器109を備える。レクティフィケーション最適化器109は、画像アナライザ103によってマッチングされた画像特徴、および、カメラ・シミュレータ107からのカメラ・シミュレーション値を受信し、画像間のレクティフィケーション・パラメータの最適化されたサーチを実行するように構成される。
初期値からレクティフィケーション・パラメータの最適化セットを決定する動作は、図3の中で、ステップ215によって示される。
さらにまた、図11について、レクティフィケーション最適化器109の例の概略図が示される。さらにまた、図12に関して、図11において示される、レクティフィケーション最適化器109の動作のフロー・チャートは、更に詳細に説明される。
いくつか実施形態において、レクティフィケーション最適化器109は、パラメータ・セレクタ901を備える。パラメータ・セレクタ901は、パラメータ値を選択するように構成される。いくつか実施形態において、パラメータ・セレクタ901は、まず最初に、カメラ・シミュレータ107が決定したパラメータを使用するように構成される。しかしながら、更なる反復サイクルにおいて、パラメータ・セレクタ901は、使用される最適化プロセスに依存して、パラメータ値を選択するように構成される。
初期値と範囲の形でパラメータを受信する動作は、図12の中で、ステップ1001によって示される。
レクティフィケーション最適化器109は、適切な最適化プロセスを適用するように構成することができる。以下の例において、最小化サーチが実行される。
最小化サーチを適用する動作は、図12の中で、ステップ1003によって示される。
さらにまた、いくつかの実施例にしたがう、最小化サーチに関して、実行される動作のステップが、さらに、記述される。
パラメータ・セレクタ901は、このように、最小化サーチの間、使われるパラメータ値を選択することができる。
パラメータ値を選択する動作は、図12の中で、サブ・ステップ1004により示される。
いくつか実施形態において、レクティフィケーション最適化器109は、カメラ・レクティフィケーション推定器903を含む。カメラ・レクティフィケーション推定器903は、選択されたパラメータ値を受信し、マッチングされた特徴に対してのみ、カメラ・レクティフィケーション・プロセスのカメラ補償をシミュレーションするように構成することができる。
マッチングされた特徴のためのカメラ・レクティフィケーション方法のためにカメラ補償をシミュレーションする動作は、図12の中で、サブ・ステップ1005により示される。
いくつか実施形態において、レクティフィケーションされたカメラ・セットアップのための補償の動作は、回転のためのカメラ投影変換マトリックス、および、並進ミスアライメント、により、光学システム歪みの補正のためのラジアル・接線方向変換を適用することにより、および、カメラ・パラメータにおける差異を補償するための追加的な非剛体アフィン変換を適用することにより、実行される。
いくつか実施形態において、レクティフィケーション最適化器109は、図13において示される、測定基準器905を含む。測定基準器905は、適切なエラー測定基準を決定する、言い換えると、レクティフィケーション・エラーを決定するように構成することができる。いくつか実施形態において、測定基準は、左から右一貫性測定基準1107、相互領域測定基準1109、または投影歪み測定基準1111の組合せとサンプソン距離1101、対称エピポーラ距離1103、垂直特徴シフト距離1105のような幾何学的距離測定基準のうちの少なくとも1つであることができる。いくつか実施形態において、例えば、上述の幾何学的距離測定基準のいくつかのような、2つ以上測定基準の組合せを、使用することができる。ここで、その組合せは、たとえば、測定基準を、同一のスケールに正規化することによって、そして、平均または正規化測定基準についての重み付き平均を導出することによって実行されることができる。
サンプソン距離測定基準1101は、サンプソン近似によって、すべてのマッチングされたペアにおいて、投影されたエピポーラ線と特徴点位置との間で1次幾何学的距離エラーを計算するように構成することができる。さらにまた、対称距離測定基準1103は、計算の少し異なるアプローチを使用して、エラー測定基準を生成するように構成することができる。サンプソン距離測定基準1101と対称距離測定基準1103とにおいて、エピポーラ線の投影は、理想的にレクティフィケーションされたカメラ・セットアップの基本マトリックスFに対応するスター識別マトリックスによって実行される。
垂直シフト測定基準1105は、マッチングされたペアの間の特徴点位置の垂直距離シフトを計算するように構成することができる。マッチングされたペアの間での、すべての幾何学的な距離に対して、測定基準の結果は、いくつか実施形態においては、標準偏差(STD)と平均スコア値として与えられることができる。
左から右一貫性測定基準1107水平方向において、レクティフィケーションされた特徴がどのように位置しているかについて示すように構成することができる。例えば、理想的にレクティフィケーションされたステレオ・セットアップにおいて、対応する特徴のマッチングされたペアは、一方向(例えば、左から右への方向)のみに位置していなければならない。言い換えれば、マッチングされたペアは、陽の水平シフトのみを有さなければならない。いくつか実施形態において、左から右一貫性測定基準は、すべてのマッチングされたペアの数にしたがうそれらの数への負のシフトのマッチングされたペアの値を重みづけする。
相互領域測定基準1109は、レクティフィケーションされたカメラの間で利用できる画像データの相互の対応する領域を示すように構成することができる。いくつか実施形態において、相互領域は、オリジナルの画像領域の、カメラ補償プロセスの後クロップされた領域に対するパーセンテージとして計算される。相互領域測定基準1109は、レクティフィケーションの品質を評価しない、しかし、画像リサンプリング・ポスト・プロセス・ステップ(例えば、クロッピング、ワーピング、および、スケーリング)の可能なニーズを示すだけである。
投影歪み測定基準1111は、補償プロセスの後のレクティフィケーションされたカメラにおいて導入された投影歪みの量を測定するように構成することができる。いくつか実施形態において、投影歪み測定基準は、画像エッジの中央をつないでいる線の間の交差角度、または、画像エッジの中央をつないでいるライン・セグメントのアスペクトレシオを計算する。投影歪みは、90度から異なる交差角度、および、非補償カメラと異なるアスペクト比を導入する。投影歪み測定基準が、計算され、ミスアラインされたセットアップにおいてすべての補償されたカメラに対して別々に与えられる。
測定基準決定器905によって生成されるレクティフィケーション・エラー測定基準は、つぎに、測定基準値比較器907にパスされることができる。
誤差測定基準を生成するステップは、図12の中で、サブ・ステップ1006により示される。
いくつかの実施形態において、レクティフィケーション最適化器は、測定基準比較器907を備える。測定基準比較器907は、適切なエラー測定基準が、十分な境界の中にあるかどうかを判断する、または、レクティフィケーション最適化器、その他の動作を制御するように構成することができる。
測定基準値比較器907は、いくつか実施形態において、レクティフィケーション・エラーをチェックし、そして、特に、エラー測定基準が最少であるかどうかをチェックするように構成することができる。
極小値の測定基準をチェックするステップが、図12の中で、サブ・ステップ1007により示される。
最小のエラーが検出されない場合には、パラメータ値の更なるセットが選択される。言い換えると、この動作は、パラメータ・セレクタが、現在測定基準値に基づいて、サブ・ステップ1005における補償のためにパラメータの新しいセットを選択するサブ・ステップ1004へ戻る。
最小のエラーまたは収束が検出されたならば、最小化サーチそして、パラメータ出力を終わることができる。
最小化サーチ動作からのパラメータ値の出力は、サブ・ステップ1009によって示される。
いくつか実施形態において、測定基準値比較器907は、次に、レクティフィケーション・エラー測定基準が、決定された閾値より低いかどうか、最小化サーチ出力チェックを受けることができる。
レクティフィケーション測定基準をチェックする動作は、図12の中で、ステップ1010によって示される。
レクティフィケーションの値が、閾値より低いとき、測定基準値比較器907は、更なる使用のために、レクティフィケーションの値を出力することができる。
ミスアライメントのパラメータおよびレクティフィケーションの使用の値を出力する動作は、図12の中で、ステップ1012によって示される。
レクティフィケーション測定基準スコアが、閾値より高い場合には、その画像のペアは、難しい画像であると判断され、更なる画像のペアが、分析されるために、選択される。言い換えると、画像分析の動作は、繰り返され、更なるレクティフィケーション最適化動作によってフォローされる。
新しい画像ペアを選択し、これらを分析する動作は、図12の中で、ステップ1011によって示される。
エラー測定基準の最小化のためにシリアル最適化器を動作させるいくつかの実施形態の例の動作は、図14の中で、示される。ここで、エラー基準は、一度に、1つの追加的なミスアライメントの程度(DOM)に対して最適化される。追加的なDOMの選択は、現在の最適化エラーを最小にする最良実行のDOMに基づいている。シリアル最適化器は、いくつか実施形態において、初期化動作を実行することができる。この初期化は、ステップ603で具体化され、そして、図8において、示されるように、任意に選ばれたDOMのコレクションの準備を含む。そのコレクションは、最小化プロセスにおいて、レクティフィケーション補償のために、サーチされる。パラメータ入力値と範囲が、図9において示される、パラメータ初期化器703にしたがい、構成される。
最適化のための初期化動作のパフォーマンスが、サブ・ステップ1201によって示される。
さらにまた、シリアル最適化器は、いくつか実施形態においては、DOMコレクションから1つのDOMを選択することができる。
DOMコレクションから1つのDOMを選択する動作は、サブ・ステップ1203によって示され、最小化サーチのためにDOMの選択に追加される。
シリアル最適化器は、いくつか実施形態においては、次に、現在のDOM選択に対して最小化サーチ動作を適用することができる。
電流DOM選択に対して最小化サーチを適用する動作は、図14の中で、サブ・ステップ1205によって示される。シリアル最適化器は、いくつか実施形態においては、コレクションにおいて、現在選択に含まれていないすべての利用できるDOMに対して繰り返す(言い換えると、サブ・ステップ1203へ戻る)ことができる。
エラー測定基準生成動作は、図14の中で、サブ・ステップ1206によって示される。
シリアル最適化器は、いくつか実施形態においては、次に、最良実行のDOMを選択する、言い換えると、最良実行のDOMを、選択リストに追加することができる。
最良実行のDOMを選択に追加する動作は、サブ・ステップ1207において示される。
シリアル最適化器は、いくつか実施形態においては、現在選択されたDOMのすべての入力最適化値を更新することができる。
現在選択されたDOMのすべての入力最適化値の更新処理は、図14の中でサブ・ステップ1209によって示される。
シリアル最適化器は、いくつか実施形態においては、現在選択されたDOMの最適化エラーの極小値が、決定された閾値より低いことのチェックを実行することができる。
極小値の測定基準をチェックする動作は、サブ・ステップ1211である。
最適化のエラーの現在選択されたDOMの極小値が、決定された閾値より低いときには、最小化サーチを終了し、そして、選択のパラメータが出力される。選択されたDOMのパラメータ、および、対応する値を出力する動作は、図14において、サブ・ステップ1213によって示される。
極小値が、決定された閾値より高いときには、更なる選択プロセスが続く。言い換えれば、この動作は、サブ・ステップ1205へ戻る。
本願の実施形態が、低コスト・インプリメンテーションへ導かれることが理解される。基本マトリクスFの完全な推定、または、非線形推定または最適化アプローチに基づくレクティフィケーションのためのエピポーラ幾何の他のどの使用をも避けているからである。本願の実施形態に関して記述されるインプリメンテーションは、基本的な最小化アルゴリズムの典型的には40反復の非常に速い収束、または、200未満の反復、または、非常に速い性能の結果となる基本的な遺伝的アルゴリズムを示す。
例えば、RANSACアプローチ(Random Consensus Search)のような非線形推定との比較は、乗算の数に関して、非線形RANSAC動作の最良シナリオに対する、我々の最適化の最悪シナリオに対して、およそ、5倍のスピード・アップを示す。さらにまた、提案されたインプリメンテーションは、パラメータの数、および、最適化されるべき、ミスアライメントの程度に関しては、はっきりしない。したがって、ミスアライメントの程度の数は、スピードのソリューションに対する一般性のトレードに関して、アプリケーション特有に変化する。このアプローチは、サブ・ピクセル特徴ノイズおよび例外点の高い比率の存在において、堅固性をうまくテストした。「ユーザ機器」という用語は、例えば、自動車電話、携帯用データ処理装置、あるいは、携帯型ウェブ・ブラウザなど、いかなる適切な種類の無線ユーザ機器をカバーすることを意図していることが認識される。
一般に、本願発明の種々の実施形態は、ハードウェアまたは特殊目的回路、ソフトウェア、論理、または、それらの任意組合せで、インプリメントすることができる。例えば、いくつかの態様は、ハードウェアで、インプリメントすることができる。一方、他の態様は、コントローラ、マイクロプロセッサーまたは他のコンピューティング・デバイスにより実行することができるファームウェアまたはソフトウェアでインプリメントすることができる。しかし、本願発明は、それらに制限されるものではない。一方、本願発明の種々の態様を、図示し、そして、ブロック図、フロー・チャートとして、または、いくつかの他の図表現を用いて、記述することができる。これらのブロック、装置、システム、ここに記述される技術または方法は、非限定的な例としてあげると、ハードウェア、ソフトウェア、ファームウェア、特殊目的回路または論理、汎用ハードウェア、または、コントローラ、または他のコンピューティング・デバイス、または、いくつかのそれらの組合せでインプリメントすることができることが良く理解される。
本願発明の実施形態は、プロセッサ・エンティティにおけるようなモバイル・デバイスのデータ・プロセッサにより、実行可能なコンピュータ・ソフトウェアにより、または、ハードウェアにより、または、ソフトウェアとハードウェアの組合せによってインプリメントすることができる。さらに、ここで、図にあるように、論理フローのどんなブロックでも、プログラム・ステップ、または、相互接続した論理回路、ブロックそして、機能、または、プログラム・ステップの組合せおよび、論理回路、ブロックそして、機能を表すことができることに留意する。ソフトウェアは、メモリーチップのような物理メディア、または、プロセッサの中でインプリメントされたメモリブロック、ハード・ディスクまたはフロッピー(登録商標)ディスクなどの磁気メディア、および、例えば、DVDおよびそのデータ変形、CDなど光学式メディアに格納することができる。
メモリは、ローカルな技術的な環境に適切な任意のタイプであってもよく、また、半導体ベース・メモリ素子、磁気記憶デバイスおよびシステム、光学的記憶装置およびシステム、固定メモリ、および、脱着可能メモリなど任意の適切なデータ格納技術を用いてインプリメントすることができる。データ・プロセッサは、ローカルな技術的な環境に適切な任意のタイプであってもよく、そして、非限定的な例としてあげると、汎用コンピュータ、専用コンピュータ、マイクロプロセッサー、デジタル信号プロセッサ(DSP)、アプリケーション特定集積回路(ASIC)、ゲート・レベル回路、および、マルチ・コア・プロセッサ・アーキテクチャに基づくプロセッサのうちの1つ以上を含むことができる。
本願発明の実施形態は、集積回路モジュールのような種々のコンポーネントにおいて実施することができる。集積回路の設計は、概して、非常に自動化されたプロセスである。複雑で強力なソフトウェア・ツールが、論理レベル設計を、エッチングされ、そして、半導体基板の上で形成される準備ができている半導体回路設計に変換するのに利用可能である。
カリフォルニア州マウンテンビューのシノプシス社(Synopsys, Inc.)および、カリフォルニア州サンノゼのケイデンス・デザイン社(Cadence Design)によって提供されるようなプログラムが、事前格納された設計モジュールのライブラリと並んで、設計の確立したルールを用いて、半導体チップ上で自動的に導体を配線し、コンポーネントを配置する。一旦、半導体回路の設計が完了すると、結果として生成された設計を、標準化された電子フォーマット(例えば、Opus、GDSII、または、その他)で、半導体製造施設、または、製造のための「ファブ」に伝送することができる。
前述の記載は、例示的なものとして、そして、非限定的な例として、本願発明の例示的な実施形態の完全で有益な説明を提供した。しかしながら、種々の修正と、適応が、前述の記載を参酌すれば、添付の図面および、添付の特許請求の範囲の請求項を併せて読むときに、当業者にたいして、明らかになることができる。しかしながら、本願発明の教示のすべてのそのような、および、類似した修正は、依然として、添付の請求項において定められるように、本願発明の範囲にある。