(58)【調査した分野】(Int.Cl.,DB名)
第1の時間において取得された物体の第1の画像に基づく第1の特徴点と、第2の時間において取得された前記物体の第2の画像に基づく第2の特徴点とを備える一致特徴点対を特定することによって、前記第1の測定を生成するステップを更に含む、請求項1に記載の方法。
前記第1の時間は前記第2の時間とは異なり、前記第1の測定を生成するステップは、前記一致特徴点対内部の前記第1の特徴点と前記第2の特徴点との間の関係に基づいて、前記第1の時間と前記第2の時間との間の前記モバイルプラットフォームの前記運動を測定するステップを含む、請求項2に記載の方法。
前記取得ステップは、2つの撮像デバイスのそれぞれによって同時に取得される2つのサブ画像に基づいて生成される前記両眼視差を含む前記誤差寄与値を取得するステップを含む、請求項8に記載の方法。
前記第1の測定は、第1の時間において取得された物体の第1の画像に基づく第1の特徴点と、第2の時間において取得された前記物体の第2の画像に基づく第2の特徴点とを備える一致特徴点対を特定するステップを含む、請求項20に記載の装置。
前記第1の時間は前記第2の時間とは異なり、前記一致特徴点対内部の前記第1の特徴点と前記第2の特徴点との間の関係は、前記第1の時間と前記第2の時間との間の前記モバイルプラットフォームの前記運動を提供する、請求項21に記載の装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
前述に鑑み、モバイルプラットフォームの運動を測定するための現在利用可能な技術の前記の障害及び不具合を克服する、モバイルプラットフォームの運動を決定するための方法、装置、及びシステムに対する必要が存在する。
【課題を解決するための手段】
【0005】
本開示は、モバイルプラットフォームの運動を決定するための装置及びシステム、及び、それを作成し、用いるための方法に関する。
【0006】
本明細書中に開示される第1の態様によれば、
運動の第1の測定
の誤差寄与値を取得する
取得ステップと、
誤差寄与値に基づいて、第1の測定の誤差を推定する
推定ステップと
を含むモバイルプラットフォームの運動を決定するための方法が述べられている。
【0007】
開示する方法の幾つかの実施形態において、推定ステップは、誤差と誤差寄与値との間の相関関係に従って第1の測定の誤差を推定するステップを含む。
【0008】
開示する方法の幾つかの実施形態において、方法は第1の測定の誤差に基づいて、第1の測定とモバイルプラットフォームの運動の第2の測定とを組み合わせることによって、モバイルプラットフォームの運動を決定するステップを更に含む。
【0009】
開示する方法の幾つかの実施形態において、方法は第1の時間において
取得された物体の第1の画像に基づ
く第1の特徴点と、第2の時間において
取得された物体の第2の画像に基づ
く第2の特徴点とを含む一致特徴点対を特定することによって、第1の測定を生成するステップを更に含む。
【0010】
開示する方法の幾つかの実施形態において、第1の時間は第2の時間とは異なり、第1の測定を生成するステップは、一致特徴点対内部の第1の特徴点と第2の特徴点との間の関係に基づいて、第1の時間と第2の時間との間のモバイルプラットフォームの運動を測定するステップを含む。
【0011】
開示する方法の幾つかの実施形態において、推定ステップは、相関関係に従って第1の測定の誤差を推定するステップを含み、相関関係は、第1の特徴点の座標の誤差分布パラメータとは無関係である。
【0012】
開示する方法の幾つかの実施形態において、推定ステップは、相関関係に従って第1の測定の誤差を推定するステップを含み、相関関係は、第1の特徴点の座標とは無関係である。
【0013】
開示する方法の幾つかの実施形態において、取得ステップは、物体とモバイルプラットフォームとの間の距離
に関連する誤差寄与値を取得するステップを含む。
【0014】
開示する方法の幾つかの実施形態において、取得ステップは、第1の特徴点と関連する両眼視差を含む誤差寄与値を取得するステップを含む。
【0015】
開示する方法の幾つかの実施形態において、取得ステップは、第1の特徴点と関連する2つのサブ画像に基づいて生成される両眼視差を含む誤差寄与値を取得するステップを含む。
【0016】
開示する方法の幾つかの実施形態において、取得ステップは、2つの撮像デバイスのそれぞれによって同時に
取得される2つのサブ画像に基づいて生成される両眼視差を含む誤差寄与値を取得するステップを含む。
【0017】
開示する方法の幾つかの実施形態において、推定ステップは、両眼視差の2乗の逆数と共に線形に増加するように、第1の測定の誤差を推定するステップを含む。
【0018】
開示する方法の幾つかの実施形態において、第1の測定を生成するステップは、
それぞれ選択される第1の特徴点と対応する第2の特徴点とをそれぞれ含む複数の一致特徴点対を特定するステップと、
複数の一致特徴点対か
ら選択されたインライア特徴点
対の第1の特徴点と対応する第2の特徴点との間の関係に基づいて、第1の時間と第2の時間との間のモバイルプラットフォームの運動を測定するステップとを含む。
【0019】
開示する方法の幾つかの実施形態において、第1の測定を生成するステップは、複数の一致特徴点対から1つ又は複数のインライア特徴点対を選択するステップを含む。
【0020】
開示する方法の幾つかの実施形態において、取得ステップは
、1つ又は複数のインライア特徴点対を含む誤差寄与値を取得するステップを含む。
【0021】
開示する方法の幾つかの実施形態において、推定ステップは
、1つ又は複数のインライア特徴点対の逆数と共に線形に増加するように、第1の測定の誤差を推定するステップを含む。
【0022】
開示する方法の幾つかの実施形態において、第1の測定を生成するステップは、
それぞれの各一致特徴点対に基づいて、サンプル運動値を取得するステップと、
複数の一致特徴点対のうちの最も一致する特徴点対によって提供されるサンプル運動値に基づいて、モバイルプラットフォームの運動を測定するステップとを含み、
最も一致する特徴点対が、1つ又は複数のインライア特徴点対である。
【0023】
開示する方法の幾つかの実施形態において、第1の測定を生成するステップは、第1の時間と第2の時間との間のモバイルプラットフォームの変位を測定するステップを含む。
【0024】
開示する方法の幾つかの実施形態において、第1の測定を生成するステップは、第1の時間と第2の時間との間のモバイルプラットフォームの速度を測定するステップを含む。
【0025】
開示する方法の幾つかの実施形態において、推定ステップは、第1の測定に関連する共分散行列を推定するステップを含む。
【0026】
開示する方法の幾つかの実施形態において、方法は慣性測定装置を用いて第2の測定を生成するステップを更に含む。
【0027】
開示する方法の幾つかの実施形態において、推定ステップは、無人航空機(UAV)の運動を決定するために、第1の測定の誤差を推定するステップを含む。
【0028】
本明細書中に開示される別の態様によれば、
運動の第1の測定に対する誤差寄与値を取得し、
取得に基づいて、第1の測定の誤差を推定するよう構成されるプロセッサを含む、
モバイルプラットフォームの運動を決定するための装置が述べられている。
【0029】
開示する装置の幾つかの実施形態において、プロセッサは、誤差と誤差寄与値との間の相関関係に従って第1の測定の誤差を推定す
る。
【0030】
開示する装置の幾つかの実施形態において、プロセッサは、第1の測定の誤差に基づいて、第1の測定とモバイルプラットフォームの運動の第2の測定とを組み合わせることによって、モバイルプラットフォームの運動を決定するために、誤差を提供するよう構成される。
【0031】
開示する装置の幾つかの実施形態において、第1の測定は、第1の時間において
取得された物体の第1の画像に基づ
く第1の特徴点と、第2の時間において
取得された物体の第2の画像に基づ
く第2の特徴点とを含む一致特徴点対を特定するステップを含む。
【0032】
開示する装置の幾つかの実施形態において、第1の時間は第2の時間とは異なり、一致特徴点対内部の第1の特徴点と第2の特徴点との間の関係は、第1の時間と第2の時間との間のモバイルプラットフォームの運動を提供する。
【0033】
開示する装置の幾つかの実施形態において、誤差と誤差寄与値との間の相関関係は、第1の特徴点の座標の誤差分布パラメータとは無関係である。
【0034】
開示する装置の幾つかの実施形態において、誤差と誤差寄与値との間の相関関係は、第1の特徴点の座標とは無関係である。
【0035】
開示する装置の幾つかの実施形態において、プロセッサは、物体とモバイルプラットフォームとの間の距離
に関連する誤差寄与値を取得するよう構成される。
【0036】
開示する装置の幾つかの実施形態において、誤差寄与値は、第1の特徴点と関連する両眼視差を含む。
【0037】
開示する装置の幾つかの実施形態において、両眼視差は、第1の特徴点と関連する2つのサブ画像に基づいて生成される。
【0038】
開示する装置の幾つかの実施形態において、2つのサブ画像は、2つの撮像デバイスのそれぞれによって同時に
取得される。
【0039】
開示する装置の幾つかの実施形態において、プロセッサは、両眼視差の2乗の逆数と共に線形に増加するように、第1の測定の誤差を推定す
る。
【0040】
開示する装置の幾つかの実施形態において、
第1の測定は、
複数の一致特徴点対を特定する
ことであって、各一致特徴点対がそれぞれ選択される第1の特徴点と対応する第2の特徴点とを含
み、
複数の一致特徴点対から選択され
た1つ又は複数のインライア特徴点対
の第1の特徴点と対応する第2の特徴点との間の関係に基づいて、第1の時間と第2の時間との間のモバイルプラットフォームの運動を測定するステップとを含み、
誤差寄与値は
、1つ又は複数のインライア特徴点対を含む。
【0041】
開示する装置の幾つかの実施形態において、プロセッサは
、1つ又は複数のインライア特徴点対の逆数と共に線形に増加するように、第1の測定の誤差を推定す
る。
【0042】
開示する装置の幾つかの実施形態において、第1の測定は、
それぞれの各一致特徴点対に基づいて、サンプル運動値を取得
し、
複数の一致特徴点対のうちの最も一致する特徴点対によって提供されるサンプル運動値に基づいて、モバイルプラットフォームの運動を測定
し、最も一致する特徴点対が、1つ又は複数のインライア特徴点対である。
【0043】
開示する装置の幾つかの実施形態において、第1の測定は、第1の時間と第2の時間との間のモバイルプラットフォームの変位を測定す
る。
【0044】
開示する装置の幾つかの実施形態において、第1の測定は、第1の時間と第2の時間との間のモバイルプラットフォームの速度を測定す
る。
【0045】
開示する装置の幾つかの実施形態において、第1の測定の誤差は、第1の測定に関連する共分散行列を含む。
【0046】
開示する装置の幾つかの実施形態において、第1の測定は第1のセンサによって生成され、第2の測定は第1のセンサとは異なる第2のセンサによって生成される。
【0047】
開示する装置の幾つかの実施形態において、第1のセンサは視覚センサを含む。
【0048】
開示する装置の幾つかの実施形態において、第2のセンサは慣性測定装置を含む。
【0049】
開示する装置の幾つかの実施形態において、モバイルプラットフォームは無人航空機(UAV)を含む。
【0050】
本明細書中に開示される別の態様によれば、モバイルプラットフォームの運動を決定するための装置アセンブリであって、
モバイルプラットフォームの運動の第1の測定を生成するための視覚センサと、
第1の測定の誤差を推定するための、モバイルプラットフォームの運動を決定するための装置とを含む、
装置アセンブリが述べられている。
【0051】
本明細書中に開示される別の態様によれば、モバイルプラットフォームの運動を決定するための装置アセンブリであって、
モバイルプラットフォームの運動の第1の測定を生成するための視覚センサと、
第1の測定の誤差を推定するための、モバイルプラットフォームの運動を決定するための装置と、
モバイルプラットフォームの運動の第2の測定を生成するための慣性測定装置とを含み、
第2の測定は、モバイルプラットフォームの運動を決定するよう、第1の測定の前記誤差に基づいて、第1の測定と組み合わされる、
装置アセンブリが述べられている。
【0052】
本明細書中に開示される別の態様によれば、モバイルプラットフォームの運動を決定するための装置を含む、無人航空機(UAV)が述べられている。
【0053】
本明細書中に開示される別の態様によれば、モバイルプラットフォームの運動を決定するための装置アセンブリを含む、無人航空機(UAV)が述べられている。
【0054】
本明細書中に開示される別の態様によれば、モバイルプラットフォームの運動を決定するための装置を含む、無人航空機(UAV)を組み立てるためのキットが述べられている。
【0055】
本明細書中に開示される別の態様によれば、モバイルプラットフォームの運動を決定するための装置アセンブリを含む、無人航空機(UAV)を組み立てるためのキットが述べられている。
【0056】
本明細書中に開示される別の態様によれば、モバイルプラットフォームの運動を決定するための方法に従って、モバイルプラットフォームの運動を決定するための命令を含むコンピュータプログラム製品が述べられている。
【0057】
本明細書中に開示される第1の態様によれば、モバイルプラットフォームの運動を測定するステップの誤差を推定するための方法であって、
誤差寄与値と運動を測定するステップの誤差との間の相関関係を仮定するステップであって、相関関係は未知のパラメータを含む、ステップと、
それぞれがテスト運動に対応する実験測定値、グラウンドトルース、及び誤差寄与値を収集するステップと、
グラウンドトルース及び実験測定値に基づいてテスト運動を測定するステップの誤差を計算するステップと、
仮定された相関関係をテスト運動の誤差寄与値及びテスト運動を測定するステップの誤差に適合させて、未知のパラメータを解決するステップと
を含む方法が述べられている。
【0058】
方法の幾つかの実施形態において、方法は相関関係により、運動を測定するステップの誤差寄与値に基づいて、モバイルプラットフォームの運動を測定するステップの誤差を推定することを可能とするステップを更に含む。
【0059】
方法の幾つかの実施形態において、方法は第1の時間において
取得された物体の第1の画像に基づく物体の第1の特徴点と、第2の時間において
取得された物体の第2の画像に基づく物体の第2の特徴点とを備える一致特徴点対を特定することによって、実験測定値を収集するステップを更に含む。
【0060】
方法の幾つかの実施形態において、第1の時間は第2の時間とは異なり、実験測定値を収集するステップは、一致特徴点対内部の第1の特徴点と第2の特徴点との間の関係に基づいて、第1の時間と前記第2の時間との間のモバイルプラットフォームのテスト運動を測定するステップを含む。
【0061】
方法の幾つかの実施形態において、仮定ステップは、第1の特徴点の座標の誤差分布パラメータとは無関係である相関関係を仮定するステップを含む。
【0062】
方法の幾つかの実施形態において、仮定ステップは、第1の特徴点の座標とは無関係である相関関係を仮定するステップを含む。
【0063】
方法の幾つかの実施形態において、収集ステップは、物体とモバイルプラットフォームとの間の距離と相関関係がある誤差寄与値を収集するステップを含む。
【0064】
方法の幾つかの実施形態において、収集ステップは、第1の特徴点と関連する両眼視差を含む誤差寄与値を収集するステップを含む。
【0065】
方法の幾つかの実施形態において、仮定ステップは、運動を測定するステップの誤差が両眼視差の2乗の逆数と共に線形に増加する相関関係を仮定するステップを含む。
【0066】
方法の幾つかの実施形態において、実験測定値を収集するステップは、
それぞれ選択される第1の特徴点と対応する第2の特徴点とをそれぞれ含む複数の一致特徴点対を特定するステップと、
複数の一致特徴点対から選択される選択されたインライア特徴点対内部のそれぞれ選択される第1の特徴点と対応する第2の特徴点との間の関係に基づいて、第1の時間と第2の時間との間のモバイルプラットフォームの運動を測定するステップとを含み、
取得ステップは、多数の1つ又は複数のインライア特徴点対を含む誤差寄与値を取得するステップを含む。
【0067】
方法の幾つかの実施形態において、仮定ステップは、運動を測定するステップの誤差が多数のインライア特徴点対の逆数と共に線形に増加する相関関係を仮定するステップを含む。
【0068】
方法の幾つかの実施形態において、実験測定値を収集するステップは、
各一致特徴点対のそれぞれに基づいて、サンプル運動値を取得するステップと、
複数の一致特徴点対のうちの最も一致する特徴点対によって提供されるサンプル運動値に基づいて、モバイルプラットフォームの運動を測定するステップとを含み、
最も一致する特徴点対が、インライア特徴点対である。
【0069】
方法の幾つかの実施形態において、実験測定値を収集するステップは、第1の時間と第2の時間との間のモバイルプラットフォームの変位を測定するステップを含む。
【0070】
本明細書中に開示される別の態様によれば、モバイルプラットフォームの運動を測定するステップの誤差を推定するための命令を含むコンピュータプログラム製品が述べられている。
【発明を実施するための形態】
【0073】
本開示は、先行システム及び方法の欠点を克服するモバイルプラットフォームの運動を決定するための方法、装置、及びシステムを述べている。開示する方法、装置、及びシステムは、正確に、そして効率的に、モバイルプラットフォームの運動(及び/又は動作)の測定誤差を1種類のセンサによって算出できる。正確に算出された誤差は、運動を正確に決定するために、複数の種類のセンサによってセンサフュージョンプロセスに供給することができる。従って、本明細書中で述べる開示は、モバイルプラットフォームの運動を効率的及び正確に測定することの技術的問題に対する解決策を提供し、更に、モバイルプラットフォーム技術並びに自律制御技術の発展に貢献する。
【0074】
モバイルプラットフォームの運動を決定するための現在利用可能な技術は、正確で迅速なモバイルプラットフォームの運動の測定を提供することができないため、測定精度及び速度を向上させるモバイルプラットフォームの運動を決定するための方法、装置、及びシステムが望ましいことを実証し、幅広いモバイルプラットフォーム用途に対する根拠を提供できる。例示的な用途は、航空写真術、農業薬品配送、海洋オイルスピル除去、及び消火作業を含むことができるが、これらに限定されない。この結果は、本明細書中に開示する一実施形態に従って、
図1に示すようなシステム100によって達成できる。
【0075】
図1を参照すると、システム100はモバイルプラットフォーム200を含むことができる。モバイルプラットフォーム200は、移動可能な任意の装置について言及してもよい。例示的なモバイルプラットフォームは、自動車、バス、列車、航空機、船、及び他の種類の自動
移動体を含むことができるが、これらに限定されない。説明のために、モバイルプラットフォームは、乗用車及び/又は無人航空機(UAV)を含むことができ、モバイルプラットフォームの動作は、飛行を含んでもよい。しかし、UAVが本明細書中で説明される場合は必ず、UAVは、別の従来の種類のモバイルプラットフォームで置き換えられてもよく、飛行は、本開示の適用範囲に含まれる概念から逸脱することなく、モバイルプラットフォームに関連する別の動作で置き換えられてもよい。
【0076】
図1に示すように、モバイルプラットフォーム200は運動300を行うことができる。運動300は、モバイルプラットフォーム200の並進運動及び/又は回転運動を含むことができる。並進運動は、1つ又は複数の軸の何れかに沿った並進運動を備えていてもよい。並進運動において、モバイルプラットフォーム200は、軸に関して同じ向きを保持できる。回転運動は、1つ又は複数の軸の何れかを中心とする回転運動を備えていてもよい。例えば、並進運動を含む場合、運動300は、空又は地面に向かった、東又は西への、南又は北への、又はそれらの組み合わせの移動を含むことができる。
【0077】
運動300の測定は、運動300を少なくとも部分的に特徴付けるパラメータの測定を含むことができる。例えば、運動300の測定は、モバイルプラットフォーム200がある時間間隔内
で移動する距離、所定の時間におけるモバイルプラットフォーム200の速度及び/又は加速度、ある時間間隔の間のモバイルプラットフォーム200の平均速度及び/又は平均加速度の測定を含むことができる。運動300を特徴付けるパラメータは、ベクトルを含むことができる。距離、速度、及び/又は加速度の測定は、それぞれ、距離、速度、及び/又は加速度の大きさ及び/又は方向の測定を含むことができる。
【0078】
説明のためだけに幾つかの実施形態において並進運動を測定するように説明するが、開示する方法、装置、及びシステムは、制限することなく、回転運動を含む、どのような従来の種類の運動を測定するために用いられてもよい。
【0079】
モバイルプラットフォーム200は、プロセッサ400を含むものとして示されている。プロセッサ400は、データ取得、データ処理、及び、モバイルプラットフォーム200の動作を制御するために本明細書中で説明する何れかの他の機能及び動作を実行するための処理ハードウェアを含むことができる。限定されることなく、プロセッサ400は、1つ又は複数の汎用マイクロプロセッサ(例えば、シングル又はマルチコアプロセッサ)、特定用途向け集積回路、特定用途向け命令セットプロセッサ、グラフィックス処理ユニット、フィジックス処理ユニット、デジタル信号処理ユニット、コプロセッサ、ネットワーク処理ユニット、音声処理ユニット、暗号化処理ユニット等を含むことができる。様々な実施形態において、プロセッサ400は、プロセッサ400の開示する機能の一部又は全てを実行するための1つのプロセッサを含むことができる。説明のためだけに単一のプロセッサを含むものとして説明するが、プロセッサ400は、何れか適切な数の一様な及び/又は異なるプロセッサを含むことができ、そのそれぞれは、それぞれ、1つ又は複数の一様な及び/又は異なる機能を実行できる。
【0080】
プロセッサ400は、モバイルプラットフォーム200の運動300の第1の測定に対する誤差寄与値410を取得するよう構成されてもよい。第1の測定は、例えば、モバイルプラットフォーム200に結合されるセンサ500、600(
図2に示す)を用いる運動300の測定を指してもよい。第1の測定は、センサ500、600によって取得される検知データ、検知データを処理するための計算、及び/又は、計算によって生じる結果を生成できる。
【0081】
誤差寄与値410は、第1の測定において生成されてもよいパラメータを含むことができる。パラメータの値は、第1の測定の精度及び/又は不正確さに関連してもよい。プロセッサ400は、第1の測定から誤差寄与値410を取得するよう構成されてもよい。
【0082】
更に、プロセッサ400は、誤差寄与値410に基づいて、第1の測定の誤差420を推定するよう構成されてもよい。誤差420は、1つ又は複数の数値及び/又はデータ配列を含むことができる。
【0083】
例示的な誤差420は、共分散行列(及び/又は分散行列及び/又は分散共分散行列)を含むことができる。共分散行列は、位置i、jにおけるその要素がランダムベクトルのi番目及びj番目の要素間の共分散である行列を備えてもよい。共分散は、2つのランダム変数がどの様に一緒に変化するかのインジケータであってもよい。例えば、運動300の第1の測定が、予め設定された座標系におけるモバイルプラットフォーム200の変位を測定する場合、変位Tは、以下の3×1のベクトルとして表される三次元ベクトルを含むことができる:
【数1】
式(1)
ここで、Tx、Ty、及びTzは、それぞれ、予め設定された座標系のx軸、y軸、及びz軸上でのモバイルプラットフォーム200の変位Tの変位成分である。予め設定された座標系は、絶対及び/又は相対座標系を含むことができる。例示的な座標系は、第1の測定を実行するセンサに関して定義される座標系を含むことができる。
【0084】
速度Vは、以下の3×1のベクトルとして表される三次元ベクトルを含むことができる:
【数2】
式(2)
ここで、Vx、Vy、及びVzは、それぞれ、予め設定された座標系のx軸、y軸、及びz軸上でのモバイルプラットフォーム200の速度Vの速度成分である。
【0085】
第1の測定によって得られる変位Tの誤差420は、以下の共分散行列Σcamを含むことができる:
【数3】
式(3)
ここで、対角線要素Var(Vx)、Var(Vy)、及びVar(Vz)は、速度Vの各速度成分Vx、Vy、及びVzの分散である。i、j位置における非対角要素は、速度Vのi番目及びj番目の要素間の共分散であってもよい。例えば、位置(1,2)における要素、即ち、Var(Vx,Vy)は、速度Vの速度成分Vx及び速度成分Vy等の第1及び第2の要素間の共分散であってもよい。
【0086】
誤差寄与値410は、相関関係を介して誤差420に関連してもよい。プロセッサ400は、相関関係を用いて、誤差寄与値410に基づき、誤差420を算出するよう構成されてもよい。誤差420が共分散行列Σcamを含む場合、誤差寄与値410は、共分散行列Σcamの1つ又は複数の要素との相関関係を有することができる。特定の実施形態において、誤差寄与値410は、分散Var(Vx)、Var(Vy)、及びVar(Vz)それぞれとの相関関係を有することができる。
【0087】
例示的な相関関係は、誤差420が誤差寄与値410の関数である関数関係を含むことができる。関数関係は、1つ又は複数の式を用いて表すことができる。一実施形態において、分散Var(Vx)、Var(Vy)、及び/又はVar(Vz)は、それぞれ、誤差寄与値410の関数であってもよく、それぞれの関数の少なくとも1つは、式の1つの形態であってもよい。例示的な関数関係は、線形、対数、多項式、べき、指数関数、又はそれらの組み合わせを含むことができる。
【0088】
図2は、
図1のシステム100の代替の実施形態を示す例示的な図である。
図2に示すように、システム100は、モバイルプラットフォーム200の運動300を測定するための第1のセンサ500及び第2のセンサ600を含むことができる。
【0089】
第1のセンサ500及
び第2のセンサ600
のうち少なくとも1つは、プロセッサ400と結合することができる。第1のセンサ500及
び第2のセンサ600
のうち少なくとも1つは、モバイルプラットフォーム200を特徴付けるデータを収集できる。例示的なデータは、モバイルプラットフォーム200の移動速度、加速度、及び/又は向きを含むことができる。例示的なセンサ500、600は、ロケーションデータユニット、走行距離計、慣性測定装置(IMU)、加速度計、視覚センサ等を含むことができる。第1のセンサ500及び/又は第2のセンサ600は、収集したデータをプロセッサ400に送信できる。プロセッサ400は、第1のセンサ500及
び第2のセンサ600
のうち少なくとも1つを制御して、プロセッサ400によって指定された時間に必要なデータを収集するよう第1のセンサ500及
び第2のセンサ600
のうち少なくとも1つに指示できる。
【0090】
例えば、プロセッサ400は、モバイルプラットフォーム200が選択した動作モードに入った場合にデータを収集するよう、第1のセンサ500及
び第2のセンサ600
のうち少なくとも1つに指示できる。例示的な動作モードは、ホバリング、離陸、着陸、速度変更、方向変更、上昇、及び/又は下降を含むことができる。更に、プロセッサ400は、モバイルプラットフォーム200が予め選択した場所に到着するか、及び/又は、所定の位置に着いた場合にデータを収集するよう、第1のセンサ500及
び第2のセンサ600
のうち少なくとも1つに指示できる。
【0091】
プロセッサ400は、第1のセンサ500及
び第2のセンサ600
のうち少なくとも1つから収集したデータに基づいてモバイルプラットフォーム200を制御する。加えて、及び/又は、代替として、プロセッサ400は、収集したデータを処理し、モバイルプラットフォーム200を制御するために処理の結果をコントローラ(図示せず)に送信する。コントローラは、モバイルプラットフォーム200の近傍、及び/又は、それから遠位にあってもよい。
【0092】
説明のためだけに第1のセンサ500及び/又は第2のセンサ600を含むものとして説明するが、モバイルプラットフォーム200は、何れかの適切な数の一様な及び/又は異なるセンサを含むことができる。説明のためだけに第1のセンサ500及び/又は第2のセンサ600から切り離されているものとして説明するが、プロセッサ400は、第1のセンサ500及び/又は第2のセンサ600と少なくとも部分的に集積されてもよい。
図2には図示しないが、モバイルプラットフォーム200のコントローラは、プロセッサ400から切り離されるか、又は、それと少なくとも部分的に集積されてもよい。
【0093】
第1のセンサ500は、第2のセンサ600の種類と同じか、又は、それとは異なる種類であってもよい。言い換えれば、第1のセンサ500の検知技術は、第2のセンサ600の検知技術と同じか、又は、それとは異なっていてもよい。一実施形態において、第1のセンサ500は視覚センサを含むことができ、第2のセンサ600は、視覚センサ以外のセンサを含むことができる。
【0094】
例示的な視覚センサは、例えば、物体150(
図2に示す)の静止及び/又はビデオ画像を
取得するためのカメラを含むことができる。プロセッサ400及び/又は第1のセンサ500は、取り込んだ画像を解析してモバイルプラットフォーム200及び物体150の関連する運動のデータを提供できる。
【0095】
一実施形態において、第2のセンサ600はIMUを含むことができる。IMUは、1つ又は複数の加速度計、ジャイロスコープ、及
び磁力計の組み合わせを用いることによって、モバイルプラットフォーム200のベロシティ、速度、及
び向き、及
び、モバイルプラットフォーム200に作用する重力等の何れかの力を測定するための電子デバイスを含むことができる。幾つかの実施形態において、IMUは、指の爪程の大きさのチップ上に集積される微小電気機械システム(MEMS)技術を用いて製造される顕微鏡的構造を含むことができる。
【0096】
第1のセンサ500は、モバイルプラットフォーム200の運動300の第1の測定を収集及び/又は生成できる。第1のセンサ500を用いて取得された運動300に関する何れかのデータも、第1の測定データ430と称することができる。
【0097】
第2のセンサ600は、モバイルプラットフォーム200の運動300の第2の測定を収集及び/又は生成できる。第2のセンサ600を用いて取得された運動300に関する何れかのデータも、第2の測定データ440と称することができる。
【0098】
第1のセンサ500によって取得された第1の測定データは、第2のセンサ600によって取得された第2の測定データと組み合わせて、合成検知結果を形成することができる。一般的に、検知結果は、「センサフュージョン」としても公知の多数のセンサによって取得された合成センサデータによって生成することができる。例えば、センサフュージョンは、GPSセンサ、慣性センサ、視覚センサ、ライダ、超音波センサ等を含む異なるセンサ種類によって取得される検知データを組み合わせるよう用いることができる。別の例として、センサフュージョンは、絶対測定データ(例えば、GPSデータ等のグローバル座標系に関して提供されるデータ)及び相対測定データ(例えば、視覚検知データ、ライダデータ、又は超音波検知データ等のローカル座標系に関して提供されるデータ)等の異なる種類の検知データを組み合わせるよう用いることができる。センサフュージョンは、個々のセンサ種類に関連する制限又は不正確さを補うよう用いることができ、それによって、最終的な検知結果の精度及び信頼性を向上させる。
【0099】
プロセッサ400は、第1のセンサ500を用いて取得された結果と第2のセンサ600を用いて取得された結果とを組み合わせて運動300を決定するよう構成されてもよい。言い換えれば、プロセッサ400は、第1の測定と第2の測定とを組み合わせて運動300を決定できる。第1の測定と第2の測定とを組み合わせることは、第1の測定データ430と第2の測定データ440とを組み合わせて運動300の計算結果450を(
図2に示すように)生成することを含むことができる。
【0100】
センサフュージョンは、推定される検知データのうちの少なくとも1種類の誤差を推定することを含んでもよい。例えば、センサフュージョンがカルマンフィルタを要する方法を用いる場合、方法は、検知データの一種に対するカルマンゲインを計算できる。カルマンゲインは、検知データの対応する種類がセンサフュージョンの結果に影響を及ぼす程度を示すことができる。大きいカルマンゲインは、検知データの対応する種類がセンサフュージョンの結果にそれ程影響を及ぼさないことを意味する。カルマンゲインの計算は、検知データの対応する種類の推定誤差を必要とする。
【0101】
従って、様々な実施形態において、プロセッサ400は、第1の測定の誤差420を推定し、誤差420をセンサフュージョンのためのプロセスに供給する必要があってもよい。結果として、プロセッサ400は、推定誤差420に基づいて第1の測定データ430を第2の測定データ440と組み合わせることによって、モバイルプラットフォーム200の運動300を決定できる。誤差420は、
図3に示すような方法3000を用いて推定することができる。
【0102】
図3は、(
図1に集合的に示す)モバイルプラットフォーム200の運動300を決定するための方法の実施形態を示す例示的な最上位レベルのフローチャートである。モバイルプラットフォームの運動300の第1の測定のための誤差寄与値410(
図2に示す)は、3001において取得することができる。第1の測定の誤差420(
図2に示す)は、誤差寄与値410を取得することに基づいて、3002において推定することができる。
【0103】
誤差420は、例えば、誤差420と誤差寄与値410との間の相関関係によって推定することができる。例示的な相関関係において、誤差420は、誤差寄与値410の関数であってもよく、関数は数式として表される。誤差寄与値410及び誤差420は、それぞれ、関数の入力及び出力であってもよい。
【0104】
例示的な実施形態はここで、誤差寄与値410、誤差420、及びそれらの間の相関関係を更に示すよう提供される。
図4は、
図3の方法の代替の実施形態を示す例示的なフローチャートであり、ここで運動300は視覚センサを介して測定される。
図4の方法4000は、(
図1に集合的に示す)モバイルプラットフォーム200の運動300を決定するために用いられてもよい。ここで、運動300は、視覚センサである第1のセンサ500(
図2に示す)に少なくとも部分的に基づいて決定されてもよい。方法4000は、運動300を測定するための第1の測定が第1のセンサ500を介して収集及び/又は生成できる1つの例示的な方法を示している。
【0105】
図4において、一致する特徴点対は、4001において特定することができる。一致特徴点対は、第1の時間t1において
取得された物体150の第1の画像に基づく物体150(
図2に示す)の第1の特徴点と、第2の時間t2において
取得された物体150の第2の画像に基づく物体150の第2の特徴点とを含むことができる。
【0106】
第1の時間t1において
取得された第1の画像は、その中に物体150を含むことができる。第1の特徴点は、第1の画像内の1つのピクセル又は多数の隣接するピクセルを含むことができる。物体150の少なくとも一部は、第1の特徴点に取り込まれてもよい。プロセッサ400は、何れかの従来の方法を用いて第1の画像内の第1の特徴点を特定することができる。
【0107】
第2の時間t2において
取得された第2の画像は、その中に物体150を含むことができる。第2の特徴点は、第2の画像内の1つのピクセル又は多数の隣接するピクセルを含むことができる。プロセッサ400は、何れかの従来の方法を用いて第2の画像内の第2の特徴点を特定することができる。第2の特徴点は、第1の特徴点と関連付けられて一致特徴点対を形成してもよい。言い換えれば、第2の特徴点が第1の特徴点と一致する場合、第1の特徴点及び第2の特徴点は、それぞれ、第1の時間t1及び第2の時間t2において同じ内容を捕らえている。
【0108】
物体150は、視覚センサの視野内の対象の何れかの物体を含むことができる。物体150及び/又は一致特徴点対は、機械視覚及び/又は人工知能方法等に基づいて特定することができる。適切な方法は、Kanade−Lucas−Tomasi(KLT)特徴トラッカ、Harrisアフィン領域検出装置、Features from accelerated segment test(FAST)、Binary Robust Independent Elementary Features(BRIEF)、RANSAC(RANdom SAmple Consensus)、ShiとTomasiのコーナー検出、SURF blob(Speeded Up Robust Features)検出、MSER blob(Maximally Stable Extremal Regions)検出、SURF(Speeded Up Robust Features)記述子、SIFT(Scale−Invariant Feature Transform)記述子、FREAK(Fast REtinA Keypoint)記述子、BRISK(Binary Robust Invariant Scalable Keypoints)記述子、HOG(Histogram of Oriented Gradients)記述子等の、特徴検出、抽出、及び/又は整合技術を含む。同様に、これらの方法は、対象の物体150の画像内の1つ又は複数の特徴点を特定するよう用いることができる。
【0109】
特定の実施形態において、第1の時間t1は、第2の時間t2とは異なってもよい。例えば、第2の時間t2は、第1の時間t1より遅くてもよい。従って、第2の画像は、第1の画像が
取得された後に取り込まれてもよい。例えば、第2の画像及び第1の画像のそれぞれは、ビデオ画像の画像フレームであってもよく、時間間隔(t2−t1)は、第2の画像の取り込みと第1の画像の取り込みとの間に経過する時間を表してもよい。
【0110】
第1の画像における第1の特徴点の位置と第2の画像における第2の特徴点の位置との間の差は、物体150に関する視覚センサの運動に関連してもよい。物体150が建物、木、及び/又は同様のもの等の静止アイテムを含む場合、第1の画像における第1の特徴点の位置と第2の画像における第2の特徴点の位置との間の差は、視覚センサの運動に関連してもよい。
図2に示すように、第1のセンサ500は、モバイルプラットフォーム200上に位置してもよい。従って、第1の画像における第1の特徴点の位置と第2の画像における第2の特徴点の位置との間の差は、モバイルプラットフォーム200の運動300に関連してもよい。
【0111】
第1の特徴点の位置は、予め設定された座標系における第1の特徴点の座標として説明することができる。第2の特徴点の位置は、予め設定された座標系における第2の特徴点の座標として説明することができる。第1の特徴点の座標及び/又は第2の特徴点の座標は、何れかの次元の座標を含むことができる。例示的な座標は、三次元座標、二次元座標、又はそれらの組み合わせを含むことができる。
【0112】
一実施形態において、第1の特徴点の座標P1は、以下の三次元座標を含むことができる:
【数4】
式(4)
ここで、x1、y1、及びz1は、それぞれ、予め設定された座標系のx軸、y軸、及びz軸上の第1の特徴点の座標値である。
【0113】
第2の特徴点の座標P2は、以下の三次元座標を含むことができる:
【数5】
式(5)
ここで、x2、y2、及びz2は、それぞれ、予め設定された座標系のx軸、y軸、及びz軸上の第1の特徴点の座標値である。x2’、y2’は、それぞれ、視覚センサの焦点面上の第1の特徴点の座標値であり、第2の画像における第2の特徴点の位置から取得することができる。fは、視覚センサの焦点距離である。
【0114】
一例において、式(5)のz軸座標z2は、予め設定された定数であってもよい。z軸座標z2は、第2の画像の特定の投影面に対する予め設定された定数であってもよい。例えば、z2の現在の定数は、1つであるよう設定されてもよい。その場合、第2の特徴点の座標は、実質上、二次元であってもよく、予め設定された座標系における平面上での第2の特徴点の投影を表してもよい。運動300の測定は、制限されることなく、第2の特徴点の三次元座標及
び二次元座標
のうち少なくとも1つを用いることができる。
【0115】
図4に示すように、第1の時間t1から第2の時間t2の間のモバイルプラットフォーム200の運動300は、一致特徴点対内の第1の特徴点と第2の特徴点との間の関係に基づいて、4002において測定することができる。
【0116】
第1の特徴点と第2の特徴点との間の関係は、第1の特徴点の座標P1と第2の特徴点の座標P2との間の関係を含むことができる。例示的な関係は、以下を含むことができる:
P2=λK(RP1+T) 式(6)
ここで、λはスケーリングパラメータ、Kは内部参照行列、及び、回転行列Rは、モバイルプラットフォーム200の回転運動を特徴付ける回転行列である。
【0117】
幾つかの実施形態において、λは、第2の画像の特定の投影面に対する予め設定された数値であってもよい。他の実施形態において、λは、未知の変数であってもよく、式(6)を用いることによって変位Tと共に求められてもよい。
【0118】
内部参照行列Kは、視覚センサに特有のものであってもよい。例えば、視覚センサは、カメラ等の撮像デバイスを含むことができる。内部参照行列Kは、対象物体の三次元点から画像内の二次元点へのカメラのマッピングを説明できる。カメラは、特定の内部参照行列Kを有することができる。内部参照行列Kは、何れかの適切な次元の行列を備えることができ、一実施形態において、3×3の行列を備えることができる。
【0119】
代替として、及び/又は、加えて、モバイルプラットフォーム200は、モバイルプラットフォーム200の回転運動を検出するためのセンサを含むことができる。例えば、かかるセンサは、IMUを含むことができる。IMUは、運動300を測定し、回転行列Rをプロセッサ400に提供できる。内部参照行列Kは、何れかの適切な次元の行列を備えることができ、一実施形態において、3×3の行列を備えることができる。
【0120】
式(6)は、式(1)に示すような変位Tの3つの未知の変位成分Tx、Ty、及びTzを求めるよう3つの式を提供できる。λが未知であり、解く必要がある場合、式(6)は、3つを超える未知の変位成分Tx、Ty、及びTz、並びにλを含む3つの式を提供できる。その場合、2つ又は複数の一致特徴点対は、
図4の4001において説明するように取得することができる。各一致特徴点対は、式(6)から導かれる3つの追加式を提供できる。従って、適切なフィッティング技術が、式(6)を解いて変位Tの変位成分Tx、Ty、及びTzを提供するよう用いることができる。例えば、最小2乗法は、式(6)を解くために用いられ、変位Tを取得できる。
【0121】
モバイルプラットフォーム200の速度Vは、式(7)を用いて計算することができる。
V=T/(t2−t1) 式(7)
【0122】
式(7)を用いて計算された速度Vは、第1の時間t1から第2の時間t2の間の平均速度を含むことができる。
【0123】
視覚センサを用いる第1の測定は、必ずしも正確ではなく、誤差となる可能性がある。一般的に、誤差の原因は、視覚センサの撮像デバイスの径方向及び接線方向のレンズ歪み、画像内の特徴点の抽出中のピクセル値における分散、視覚センサの取り付けにおける誤差、画像を
取得するための照度の変化、第1の特徴点と第2の特徴点との不正確なマッチングを含むことができるが、これらに限定されない。加えて、視覚センサが、それぞれの画像において物体を同時に
取得するための多数の撮像デバイスを含む場合、特徴点の座標は、三角測量及び/又は同様のもの等を用いて、多数の各画像内の特徴点のピクセル値を組み合わせることによって生成することができる。その場合、特徴点は、不正確に多数の撮像デバイスから抽出されてもよい。
【0124】
例えば、
図4に示すような方法4000において、第1の測定の誤差は、ピクセル点を抽出し、第1の特徴点と第2の特徴点とをマッチングさせることにおける誤差を含むことができる。ピクセル点を抽出し、第1の特徴点と第2の特徴点とをマッチングさせることにおける誤差は、第1の特徴点及び第2の特徴点の各座標の誤差を招く可能性がある。更に、(式(6)において示すような)内部参照行列K及び回転行列Rの各値も、第1の測定の誤差を生じる可能性がある。
【0125】
第1の測定が多数の一致特徴点対を用いる場合、プロセッサ400は、運動300の正しい測定結果を提供する1つ又は複数の一致特徴点対を特定する可能性が高く、従って、高い精度で運動300を測定できる。
図5は、
図3の方法の別の代替の実施形態を示す例示的なフローチャートである。
図5の方法5000は、(
図1に集合的に示す)モバイルプラットフォーム200の運動300を決定するために用いられてもよい。方法5000は、複数の一致特徴点対を特定することを含むことができる。ここで、運動300は、視覚センサである第1のセンサ500(
図2に示す)に少なくとも部分的に基づいて決定されてもよい。
【0126】
図5において、複数の一致特徴点対は、5001において特定される。各一致特徴点対は、それぞれ選択された第1の特徴点及び対応する第2の特徴点を含むことができる。各一致特徴点対内部で、第1の特徴点は、第1の時間t1において
取得される物体150(
図2に示す)の第1の画像から選択することができ、対応する第2の特徴点は、第2の時間t2において
取得される物体150の第2の画像から選択することができる。
【0127】
説明のためだけに物体を含むものとして説明したが、第1の画像及び/又は第2の画像は、何れかの適切な数の一様な及び/又は異なる物体を含むことができ、そのそれぞれは、第1の測定中に一致特徴点対の幾つか又は全てを特定するために用いられてもよい。言い換えれば、第1の特徴点は、必ずしも第1の画像内の同じ物体から選択されず、従って、対応する第2の特徴点は、必ずしも第2の画像内の同じ物体から選択されない。
【0128】
図5において、第1の時間t1から第2の時間t2の間のモバイルプラットフォーム200の運動300は、複数の一致特徴点対から選択される1つ又は複数のインライア特徴点対のうちの何れかの内部のそれぞれ選択された第1の特徴点と対応する第2の特徴点との間の関係に基づいて、5002において測定することができる。
【0129】
一般的に、インライアは、その分布を、ノイズを受ける場合があるが、モデルパラメータの幾つかのセットによって説明できるデータを含み、アウトライアは、モデルに適合しないデータを含む。従って、インライア特徴点対は、正確だと想定される運動300の計算結果を生じることができる一致特徴点対であってもよい。アウトライア特徴点対は、不正確だと想定される運動300の計算結果を生じることができる一致特徴点対であってもよい。更に、複数の一致特徴点対のうちで最も正しい結果は、第2の測定データ440と組み合わされて運動300の計算結果450を生じることができる。
【0130】
インライア特徴点対は、複数の一致特徴点対のサブセットを含むことができる。幾つかの実施形態において、各一致特徴点対は、サンプル運動値を提供できる。サンプル運動値は、運動を特徴付けるためのサンプル値を含むことができる。例示的なサンプル運動値は、サンプル変位T値を含むことができる。サンプル変位T値は、一致特徴点対によって測定される変位Tの値であってもよい。例えば、式(6)を用いることによって、各一致特徴点対は、それぞれ、サンプル変位T値を提供できる。従って、複数のサンプル変位T値を生成することができる。しかし、幾つかのサンプル変位T値は正確であるかもしれないが、その一方で、他のサンプル変位T値は不正確であるかもしれない。プロセッサ400は、どのサンプル変位T値が適切な方法及び/又は選択基準に基づいて正確であるかを決定するよう構成されてもよい。どのサンプル変位T値が正確であるかを決定するための例示的な方法を、
図6に示す。プロセッサ400が、どのサンプル変位T値が正確であるかを決定した後、プロセッサ400は、従って、インライア特徴点対として正確なサンプル変位T値を提供する各一致特徴点対を特定できる。
【0131】
プロセッサ400が、どのサンプル変位T値が正確であるかを決定し、従って、どの一致特徴点対がインライア特徴点対であるかを決定するために用いる方法及び/又は選択基準は、本開示において制限されない。説明のために、
図6は、
図5の方法の代替の実施形態を示す例示的なフローチャートであり、ここで、方法は1つ又は複数のインライア特徴点対を特定することを含み、方法は1つ又は複数のインライア特徴点対を特定することを含む。
【0132】
図6において、サンプル運動値は、6001において、複数の一致特徴点対の各一致特徴点対にそれぞれ基づいて取得することができる。先に言及したように、各一致特徴点対は、サンプル変位T値を提供できる。モバイルプラットフォーム200の運動300は、6002において、複数の一致特徴点対のうちの最大の一致特徴点対によって提供されるサンプル運動値に基づいて測定することができる。最大の一致特徴点対は従って、1つ又は複数のインライア特徴点対である。
【0133】
例示的な方法6000を実装するため、プロセッサ400(
図1に示す)は、同じサンプル変位T値を生成する一致特徴点対の数をカウントするよう構成されてもよい。従って、各サンプル変位T値は、それぞれ、一致特徴点対の数に対応できる。一致特徴点対の最大数によって生成されるサンプル変位T値、即ち、最大の一致特徴点対によって提供されるサンプル変位T値は、運動300の正確な値としてプロセッサ400によって選択されてもよい。かかるサンプル変位T値に対応する一致特徴点対の数は、従って、インライア特徴点対の数「n」であってもよい。
【0134】
プロセッサ400が、どのサンプル変位T値が正しいかを決定するために用いる選択基準は、方法6000に制限されない。一例において、サンプル変位T値の平均値は、正しい変位T値として選択されてもよく、かかるサンプル変位T値に対応する一致特徴点対の数は、従って、インライア特徴点対の数nであってもよい。別の例において、サンプル変位T値の中央値は、正しい変位T値として選択されてもよく、かかるサンプル変位T値に対応する一致特徴点対の数は、従って、インライア特徴点対の数nであってもよい。
【0135】
一般的に、インライア特徴点対の大きい数nは、現在測定されている特徴点が明らかであり、及び/又は、安定していることを示すことができる。従って、運動300の測定された変位T値は、高い精度と少ない誤差を有することができる。誤差寄与値410(
図1〜2に示す)は、インライア特徴点対の数nを含むことができる。プロセッサ400は、誤差寄与値410と誤差420との間の相関関係を用いて誤差420を推定するよう構成されてもよい。誤差420が共分散行列Σcamを含む場合、誤差寄与値410は、Var(Vx)、Var(Vy)、及びVar(Vz)それぞれとの相関関係を有することができる。
【0136】
例示的な相関関係は、誤差420が数nと共に増加する関数的な相関関係を含むことができる。例えば、関数的な相関関係において、Var(Vx)、Var(Vy)、及びVar(Vz)のそれぞれは、以下のように与えられてもよい:
Var(Vx)=g1(n) 式(8)
Var(Vy)=g2(n) 式(9)
Var(Vz)=g3(n) 式(10)
ここで、各g1(n)、g2(n)、及びg3(n)は、それぞれ、数nの関数である。g1(n)、g2(n)、及びg3(n)の例示的な値は、数nが減少するにつれて増加できる。g1(n)、g2(n)、及びg3(n)の数学的形式は、線形、対数、多項式、べき、指数関数、又はそれらの組み合わせを含むことができるが、これらに限定されない。
【0137】
例えば、誤差420のg1(n)、g2(n)、及びg3(n)のそれぞれは、以下のように与えられる数nの指数の逆数と共に線形に増加できる:
Var(Vx)=k1/na+b1 式(11)
Var(Vy)=k2/na+b2 式(12)
Var(Vz)=k3/na+b3 式(13)
ここで、各パラメータa、k1、b1、k2、b2、k3、及び/又はb3は、定数値、数n以外の誤差寄与値410、又はそれらの組み合わせを含む数式を含むことができる。更に、パラメータa、k1、b1、k2、b2、k3、及び/又はb3は、制限されることなく、異なるもの又は一様なものであってもよい。
【0138】
幾つかの実施形態において、パラメータは1に等しくてもよい。その場合、誤差420のVar(Vx)、Var(Vy)、及びVar(Vz)のそれぞれは、数nの逆数と共に線形に増加できる。更に、k1、b1、k2、b2、k3、及び/又はb3は、異なる又は一様な定数であってもよい。k1、b1、k2、b2、k3、及び/又はb3の値を提供するための例示的な方法は、
図8及び12を参照して本明細書中で検討する方法において述べる。
【0139】
加えて、及び/又は、代替として、誤差寄与値410は、数n以外のパラメータを含むことができる。例えば、一般的に、視覚センサから遠い物体は、近傍の物体よりも大きい誤差で測定される場合がある。従って、誤差寄与値410は、物体150と第1のセンサ500との間の物体距離Zを含むことができる。第1のセンサ500が
図2に示すようにモバイルプラットフォーム200上に位置することができるため、物体150と第1のセンサ500との間の物体距離Zは、物体150とモバイルプラットフォーム200との間の距離に等しくてもよい。例えば、関数的な相関関係において、誤差420のVar(Vx)、Var(Vy)、及びVar(Vz)のそれぞれは、Zと共に増加できる。即ち:
Var(Vx)=g4(Z) 式(14)
Var(Vy)=g5(Z) 式(15)
Var(Vz)=g6(Z) 式(16)
ここで、各g4(Z)、g5(Z)、及びg6(Z)は、それぞれ、物体距離Zの関数である。g4(Z)、g5(Z)、及びg6(Z)の例示的な値は、物体距離Zが増加するにつれて増加できる。g4(Z)、g5(Z)、及びg6(Z)の数学的形式は、線形、対数、多項式、べき、指数関数、又はそれらの組み合わせを含むことができるが、これらに限定されない。
【0140】
しかし、物体距離Zは、必ずしも関数関係において直接的に表される必要はない。物体距離Zとの相関関係を有するパラメータは、式(14)〜(16)に物体距離Zを代入できる。
【0141】
距離を反映できるパラメータを示すために、(
図4〜5を参照して本明細書中で検討したような)第1の特徴点の座標を取得するための例示的なプロセスを、以下で説明する。例示的なプロセスにおいて、第1の特徴点の座標は、式(3)で示したような三次元座標を含むことができる。視覚センサは、物体をそれぞれの画像に
取得するための2つの撮像デバイスを含むことができる。各撮像デバイスは、それぞれ、二次元画像を
取得することができる。プロセッサ400は、三角測量を用いて物体距離Zを計算することによって2つの二次元画像から三次元座標を取得するよう構成されてもよい。
図7は、
図3のモバイルプラットフォーム200の第1のセンサ500を用いることによって特徴点の座標を取得するためのシステムの実施形態を示す例示的な図である。第1の特徴点の三次元座標は、三角測量法を用いて決定することができる。
【0142】
図7において、第1のセンサ500は、2つの撮像デバイス110a、110bを含む視覚センサ110を含むことができる。各撮像デバイス110a、110bは、同じ対象の物体150だが、異なる空間座標において知覚できる。例えば、撮像デバイス110a、110bは、
図7に示すようなそれぞれのx軸130a、130bを有することができる。撮像デバイス110a、110bは、それらの各光軸130a、130bに沿って対象の物体150を知覚し、それによって、対象の物体150の2つの異なる二次元サブ画像120a、120bに到達できる。
図4及び/又は5において説明したような第1の画像は、サブ画像120a、120bを含むことができる。二次元サブ画像120a、120bは、撮像デバイス110a、110bが、それらの光軸130a、130bが一致するように位置決めされない限り、典型的には異なり、異なる位置(又は視点)から撮像される。従って、大抵の状況下では、両眼視差d(例えば、式(20)において表される)は、式(20)に示すように、サブ画像120a、120b間で求めることができる。
【0143】
三角測量法は、サブ画像120a、120b間の両眼視差dを用いて物体距離Zを突き止めるよう用いることができる。二次元サブ画像120a、120bは、対象の物体150の特徴点155に関連する両眼視差dを得るよう比較されてもよい。説明のために、2つの撮像デバイス110a、110bは、第1の撮像デバイス110a及び第2の撮像デバイス110bと呼ばれてもよい。二次元サブ画像120a、120bは、第1のサブ画像120a及び第2のサブ画像120bと呼ばれてもよい。第1の撮像デバイス110aに関して予め設定された座標系においてその三次元座標(Xl,Yl,Zl)によって表される特徴点155の位置は、以下のように与えられてもよい:
【数6】
ここで、cxl及びcylは第1の撮像デバイス110aのそれぞれの中心座標を表し、xl及びylは第1のサブ画像120aにおける特徴点155の座標を表し、bは基線(言い換えれば、撮像デバイス110a、110bの中心座標間の距離)であり、fは各撮像デバイス110a、110bの焦点距離であり、dはサブ画像120a、120b間の両眼視差である。説明のために、
図7は、同じ焦点距離fを有するような撮像デバイスを示している。しかし、撮像デバイス110a、110bが異なる焦点距離を有していたとしても、サブ画像120a、120bは、
図7の三角測量を実施するよう、撮像デバイス110a、110bから同じ距離を有する投影面に変倍されてもよい。例えば、撮像デバイス110a、110bは、それぞれの焦点距離2f及びfを有することができる。その場合、第1のサブ画像120aの座標xl及びylは、0.5を乗じることによってそれぞれ変倍されてもよい。変倍された座標xl及びylは、従って、第1の撮像デバイス110aからの距離fを有する投影面に属してもよく、従って、式(17)〜(20)を介して第2のサブ画像120bとの三角測量のために用いられてもよい。
【0144】
xr及びyrが第1のサブ画像120b内の特徴点155の座標を表す場合、両眼視差dは、ここで、以下のように表されてもよい:
d=x
l−x
r 式(20)
【0145】
上記の原則に基づいて、特徴点の三次元座標は、立体視に基づいて第1の撮像デバイス110a及び第2の撮像デバイス110bを用いて取得することができる。第1及び第2のサブ画像120a、120bは、要望通りに、同時又は連続のどちらかで得ることができる。両眼視差dは、第1及び第2のサブ画像120a、120bから取得することができる。一実施形態において、第1及び第2のサブ画像120a、120bは、経時的な物体150及び/又は第1のセンサ500の移動に起因する誤差を低減するよう、第1の時間t1において同時に、有利に得ることができる。
【0146】
特定の別の実施形態において、1つの撮像デバイスは、第1及び第2のサブ画像120a、120bを
取得することができる。撮像デバイスは、例えば、異なる2つの時間において第1及び第2のサブ画像120a、120bを
取得することができる。異なる2つの時間において、物体150に対する撮像デバイスの位置は、異なっていてもよい。両眼視差dは、第1及び第2のサブ画像120a、120bから取得することができ、略、第1の時間t1における両眼視差dとして用いることができる。
【0147】
一般的に、及び、式(19)に示すように、第1のサブ画像120aと第2のサブ画像120bとの間の差は、物体距離Zが増加するにつれて低減することができる。更に、第1のセンサ500からの特徴点155の物体距離Zは、両眼視差dに対して反比例してもよい。両眼視差dは第1の測定中に取得することができる。従って、誤差寄与値410は、両眼視差dを含むことができる。例えば、関数的な相関関係において、Var(Vx)、Var(Vy)、及びVar(Vz)のそれぞれは、以下のように与えられてもよい:
Var(Vx)=g7(d) 式(21)
Var(Vy)=g8(d) 式(22)
Var(Vz)=g9(d) 式(23)
ここで、各g7(d)、g8(d)、及びg9(d)は、それぞれ、両眼視差dの関数である。g7(d)、g8(d)、及びg9(d)の例示的な値は、両眼視差dが減少するにつれて増加できる。g7(d)、g8(d)、及びg9(d)の数学的形式は、線形、対数、多項式、べき、指数関数、又はそれらの組み合わせを含むことができるが、これらに限定されない。
【0148】
例えば、誤差420のVar(Vx)、Var(Vy)、及びVar(Vz)のそれぞれは、以下のように与えられる両眼視差dの指数の逆数と共に線形に増加できる:
Var(Vx)=k4/d
c+b4 式(24)
Var(Vy)=k5/d
c+b5 式(25)
Var(Vz)=k6/d
c+b6 式(26)
ここで、各パラメータc、k4、b4、k5、b5、k6、及び/又はb6は、定数値、両眼視差d以外の誤差寄与値410、又はそれらの組み合わせを含む数式を含むことができる。一実施形態において、c=2であり、従って、誤差420のVar(Vx)、Var(Vy)、及びVar(Vz)のそれぞれは、dの2乗の逆数と共に線形に増加できる。更に、k4、b4、k5、b5、k6、及び/又はb6は、異なる又は一様な定数であってもよい。k4、b4、k5、b5、k6、及び/又はb6の値を提供するための例示的な方法は、
図8及び12を参照して本明細書中で検討する方法において述べる。
【0149】
各特徴点は、それぞれの両眼視差dと関連付けることができる。誤差420を計算するための関連する両眼視差dは、制限されることなく、何れかの適切な方法を用いて特定することができる。一例において、誤差420を計算するための両眼視差dは、第1の特徴点及び/又は一致する第2の特徴点の各両眼視差dの平均であってもよい。別の例において、誤差420を計算するための関連する両眼視差dは、幾つか又は全てのインライア特徴点対内部の第1の特徴点及び/又は一致する第2の特徴点の各両眼視差dの平均であってもよい。更に別の例において、誤差420を計算するための両眼視差dは、第1の特徴点の全ての両眼視差dの平均であってもよい。別の例において、誤差420を計算するための両眼視差dは、幾つか又は全てのインライア特徴点対内部の第1の特徴点の全ての両眼視差dの平均であってもよい。
【0150】
特定の実施形態において、誤差寄与値410は、インライア特徴点対の数n及び両眼視差dを含むことができる。例えば、式(11)〜(13)及び(24)〜(26)を組み合わせることによって、誤差420は、以下のように、数nの逆数と共に線形に増加し、両眼視差dの2乗の逆数と共に線形に増加するよう推定することができる:
Var(Vx)=k7/nd
2+b7 式(27)
Var(Vy)=k8/nd
2+b8 式(28)
Var(Vz)=k9/nd
2+b9 式(29)
ここで、k7、b7、k8、b8、k9、及び/又はb9は、定数値、数n以外の誤差寄与値410、又はそれらの組み合わせを含む式を含むことができる。更に、k7、b7、k8、b8、k9、及び/又はb9は、制限されることなく、異なるもの又は一様なものであってもよい。幾つかの実施形態において、k7、b7、k8、b8、k9、及び/又はb9のそれぞれは、異なる及び/又は一様な数値定数を含むことができる。k7、b7、k8、b8、k9、及び/又はb9の値を提供するための例示的な方法は、
図8及び12を参照して本明細書中で検討する方法において述べる。
【0151】
誤差420が式(3)に示すような共分散行列Σcamを含む場合、プロセッサ400は、式(27)〜(29)の式を用いて対角線要素Var(Vx)、Var(Vy)、及びVar(Vz)を推定するよう構成されてもよい。幾つかの実施形態において、非対角要素は、制限されることなく、ゼロ、現在の定数値、及び/又は誤差寄与値410の関数に設定できる。
【0152】
Var(Vx)、Var(Vy)、及びVar(Vz)は、説明のためだけに開示する方法で計算されるが、共分散行列Σcamの非対角要素等の誤差420の何れかの要素は、開示する方法に従う方法を用いて誤差寄与値410との相関関係を有することができる。
【0153】
本明細書に開示する方法は、より高速に、そして、より正確に誤差を推定できる。視覚センサによる測定の誤差を推定するための従来の方法において、特徴点抽出誤差の共分散行列Σpixelが最初に仮定される必要がある。平均値ゼロを持つ正規分布を有すると想定される特徴点抽出誤差は、以下のように表すことができる:
【数7】
式(30)
ここで、σ
2x1、σ
2y1、σ
2x2、及びσ
2y2は、x方向における第1の特徴点、y方向における第1の特徴点、x方向における一致する第2の特徴点、及びy方向における一致する第2の特徴点の抽出誤差の分散を指してもよい。Σpixelは次いで、Qマッチング特徴点対を用いる変位Tの線形代数計算に適用される。
【0154】
変位TのM測定のj番目の測定の共分散行列は、以下の行列方程式を用いる必要がある:
【数8】
式(31)
【0155】
速度Vの共分散行列は次いで、ΣtをIMU座標系に変換し、時間間隔(t2−t1)の2乗で除算することによって計算することができる。
【0156】
式(31)は大きな複雑性を有する。例えば、A+、Bi、R、及びJのそれぞれは、以下のように説明されるような多次元行列である。
【数9】
式(32)
ここで、j=1からMであり:
【数10】
式(33)
ここで、Nは、各測定の一致する特徴点の総数を示している。
【数11】
式(34)
ここで、画像の中心座標は、(u
0,v
0)
Tであり、
カメラの焦点距離はf、基線はbであり、ui
*及びvi
*は、t2における第2の特徴点の二次元投影座標である。第1の特徴点及び第2の特徴点は、(
ju
i,
jv
i)
T及び
【数12】
であり、iは、Nマッチング特徴点対のi番目に一致する特徴点対を示している。
【0158】
Rは回転行列である。Jは、第1の特徴点の三次元座標の共分散行列のテイラー展開近似を取得するために用いられる変換行列である。Jは以下のように与えられてもよい:
【数14】
式(36)
【0159】
従って、式(30)〜(36)において見て取れるように、jΣtを計算するには、相当量の行列計算が(式(31)等の)N×N行列で行われる。N×N行列の各要素は、2×2の次元よりも大きい組み込み行列を含んでもよい。各特徴点の座標が用いられ、特徴点抽出のためのσ
2等の誤差分布パラメータが用いられる。かかる計算は時間がかかる。
【0160】
その上、jΣtを計算するには、式(30)における分散σ
2x1、σ
2y1、σ
2x2、及びσ
2y2が、所定の方法で取得される必要がある。例えば、1つ又は複数の試験測定において、jΣtは、視覚センサを用いて、英国のVicon Motion Systems Ltd.によって製造されるViconモーションキャプチャシステム等の基準計器を用いてそれぞれ測定される変位を比較することに基づいて取得される。分散σ
2x1、σ
2y1、σ
2x2、及びσ
2y2は、得られたjΣtに基づいて逆算される。式(30)のΣpixelはこのように解かれる。Σpixelは次いで、式(30)〜(36)を介する将来の測定においてjΣtを計算するために用いられる。
【0161】
しかし、そのような方法で取得された分散σ
2x1、σ
2y1、σ
2x2、及びσ
2y2は、アウトライア特徴点対の何れかの確率的誤差の影響を受け、従って、第1の測定の誤差を推定することにおいて不正確さの原因となるノイズを不必要に生じる恐れがある。
【0162】
対照的に、開示する方法及び装置を用いることによって、第1の測定の誤差は、誤差寄与値410と誤差420との間の相関関係に従って推定することができる。相関関係は、式(30)における分散σ
2x1、σ
2y1、σ
2x2、及びσ
2y2等の第1の特徴点及び/又は第2の特徴点の座標の誤差分布パラメータとは無関係であってもよい。更に、相関関係は、第1の特徴点及び/又は第2の特徴点の座標とは無関係であってもよい。
【0163】
幾つかの実施形態において、第1の測定の共分散行列Σcamの要素は、簡単な式を用いて個々に計算することができる。式は、1つ又は複数の誤差寄与値410を含むことができる。各誤差寄与値410は、第1の測定から取得することができる。特徴点の座標及び特徴点の座標の誤差分布のパラメータは、計算にとって必要であることはない。計算は、従って、大幅に簡素化できる。
【0164】
誤差寄与値410の選択は、第1の測定に対する誤差源の経験的及び/又は直観的理解に基づいてもよく、測定の物理的及び/又は統計的性質に直接関係してもよい。
【0165】
例えば、
図4〜6を参照して上で説明した方法4000〜6000において、ピクセル抽出及び/又はマッチングは、誤差源となり得る。かかるピクセル誤差は、両眼視差dの精度に影響を及ぼす可能性がある。両眼視差dにおける誤差は、三角測量プロセスを介して速度測定の誤差に伝達されるピクセル誤差の原因となる可能性がある。誤差寄与値410の選択は、従って、ピクセル誤差に関するパラメータを含むことができる。
【0166】
先に説明したように、視覚センサから遠い遠位の物体150(
図2及び7に示す)は、近傍の物体よりも大きい誤差で測定される場合があり、視覚センサと物体150との間の距離は、両眼視差dと相関関係がある。加えて、インライア特徴点対の数nが小さい場合、小さい数nは、現在測定されている特徴点が明らかではなく、及び/又は、安定していないことを示すことができる。従って、小さい数nは、大きいピクセル誤差も示すことができる。従って、誤差寄与値410は、数n及び/又はdを含むことができる。
【0167】
更に、幾つかの実施形態において示されていないが、誤差寄与値410は、内部参照行列K及び/又は回転行列Rの誤差を更に含むことができる。内部参照行列K及び/又は回転行列Rの大きい誤差は、結果的に大きい誤差420となる可能性がある。内部参照行列Kにおける誤差は、再投影誤差と相関関係がある可能性がある。従って、再投影誤差は、追加として、及び/又は、代替として、誤差420が再投影誤差と共に増加するよう推定することができるような方法で、式(27)〜(29)におけるk7、b7、k8、b8、k9、及び/又はb9内に含むことができる。
【0168】
従って、誤差420を推定するプロセスは、高速で、プロセッサ400の計算リソースの消費を抑えることができる。加えて、次に説明する
図8〜15における様々な実施形態において示すように、誤差420は、高い精度で推定することができる。従って、誤差420に基づく後続のセンサフュージョンの後、モバイルプラットフォーム200の運動300は、正確に計算することができる。運動300を計算した結果は、安定できる。結果として、モバイルプラットフォーム200は、高い安定性を持ってホバリング状態に留まるために、運動300を補うような方法で、コントローラによって制御することができる。
【0169】
次に説明する様々な実施形態において、誤差寄与値410と誤差420との間の相関関係を特定するための方法が示され、開示する方法を用いて推定される誤差420は、高い精度を有するよう示すことができる。
図8は、
図3の方法の別の代替の実施形態を示す例示的な図であり、ここにおいて、誤差寄与値410と誤差420との間の相関関係が特定される。
【0170】
図8に示すように、誤差寄与値410と誤差420との間の相関関係は、8001において仮定される。相関関係を仮定することは、関数関係の種類、関係内のパラメータの値、及び/又は、含まれるべき誤差寄与値410を仮定することを含むことができる。例えば、相関関係の仮定された形態は、式(27)〜(29)を含む想定を含むことができる。例示的な仮定される相関関係は、未知値を有するパラメータを含むことができる。式(27)〜(29)において、k7、b7、k8、b8、k9、及び/又はb9はそれぞれ、未知の定数値を有するパラメータであってもよい。
【0171】
それぞれテスト運動に対応するグラウンドトルース、実験測定値、及び誤差寄与値410は、8002において収集することができる。8002を実施するため、モバイルプラットフォーム200のテスト運動が測定されてもよい。グラウンドトルースは、テスト運動の絶対トルースを指してもよい。方法8000において、グラウンドトルースは、高い精度、例えば、第1のセンサ500の精度よりも高い精度を有することができる機器を用いて測定されるテスト運動の値を含むことができる。例えば、グラウンドトルースは、Viconモーションキャプチャシステムを用いてテスト運動を測定することによって提供することができる。グラウンドトルースは、
【数15】
と称される、Viconによって測定される速度Vを含むことができる。
【0172】
8002において、視覚センサは、テスト運動を測定し、実験測定値vを取得でき、誤差寄与値410を取得できる。実験測定値は、速度Vの実験によって取得された値を指してもよい。例えば、
図4〜6の方法を用いて、視覚センサは、数n及び対応するdを取得できる。
【0173】
8003において、テスト運動を測定することの誤差420は、グラウンドトルース
【数16】
及び実験測定値vに基づいて計算される。速度Vを測定することのテスト誤差は、
【数17】
であってもよい。特定の場合において、第1の測定の誤差420は、(式(3)に示すような)共分散行列Σcamを含んでもよい。テスト誤差verrorは、必ずしも式(3)に示す分散と同じではないため、分散は、以下の例示的なプロセスを用いて計算されてもよい。
【0174】
例示的なプロセスにおいて、複数のテスト運動は、8002に従って測定される。各測定に対して、verrorと、数n及び/又は両眼視差d等の対応する誤差寄与値410とを取得することができる。1/(nd2)は、大きさに従って分類することができる。分類された複数の1/(nd2)値は、m個のセクタに均一及び/又は不均一に分割されてもよい。各セクタ内部において、1/(nd2)の平均は、セクタの1/(nd2)となるよう計算されてもよく、対応するv2errorの平均は、セクタの近似分散となるよう計算されてもよい。
【0175】
一例において、3107のテスト運動が試験されてもよく、分類された複数の1/(nd2)値は、10個のセクタに均一に分割されてもよい。しかし、テスト運動の数、セクタの数、及び分散を取得するための方法は、本開示において制限されない。
【0176】
8004において、仮定される相関関係は、テスト運動の誤差及びテスト運動の誤差寄与値に適合されてもよい。パラメータの未知値は、このように解くことができる。相関関係は、このように決定することができる。加えて、相関関係がテスト運動の誤差及びテスト運動の誤差寄与値に適合する程度は、仮定される相関関係の正当性を示すことができる。
【0177】
幾つかの実施形態において、8004が、仮定される相関関係の予備的知識を持たずに、テスト運動の誤差及びテスト運動の誤差寄与値に適合させることによって相関関係を特定できるため、8001は任意であってもよい。
【0178】
例えば、
図9〜11は、相関関係が
図8の方法を介して取得される一組のデータ点を示す例示的な散布図である。
図9〜11のデータ点は、8001〜8003において説明したような例示的なプロセスに基づいて取得される。
図9〜11のそれぞれにおいて、分散は1/(nd2)の関数としてプロットされる。何れかの従来の回帰法は、仮定された相関関係を適合させて分散と1/(nd2)との間の関数関係を特定するために用いられてもよい。各
図9〜11のそれぞれにおいて、線801、802、及び803は、データ点を良好に適合できる。線801、802、及び803は、従って、k7、b7、k8、b8、k9、及びb9の値を解き、以下のような相関関係を与えることができる:
【数18】
【0179】
(式(3)の)共分散行列Σcamは、従って、取得することができる。共分散行列Σcamは、別の座標系に変換されてもよい。例示的な座標系は、回転行列Rに基づいていてもよく、ここで、変換は
Σ=RΣ
camR
T
を用いて行われてもよい。
【0180】
線801、802、及び803がデータ点を良好に適合できるので、線801、802、及び803は、方法8000において線801、802、及び803を生じるために用いられたシステムと同様のシステム100に対して、誤差420と誤差寄与値410との間の相関関係を予測するために用いられてもよい。
図9〜11に示す例に示されるように、誤差寄与値410と誤差420との間の相関関係は、線及び/又は曲線としてグラフによって表すことができる数式であってもよい。相関関係により、運動を測定することの誤差寄与値410に基づいて、モバイルプラットフォームの運動を測定することの誤差420を推定することが可能となる。
【0181】
例えば、相関関係は、方法8000に従ってシステム100及び/又はモバイルプラットフォーム200を用いて取得することができる。プロセッサ400は次いで、誤差420を推定することを必要とする測定のために取得した相関関係を用いるよう構成されてもよい。
【0182】
加えて、及び/又は、代替として、相関関係は、それぞれ、複数のシステム100及び/又はモバイルプラットフォーム200から取得することができる。一例において、プロセッサ400は、取得した相関関係の平均を用いるよう構成されてもよい。別の例において、相関関係の間の差が小さい場合、プロセッサ400は、取得した相関関係のうちの1つを用いるよう構成されてもよい。1つを超える取得した相関関係からプロセッサ400のための相関関係を選択する基準は、制限されることなく、何れかの方法を含むことができる。
【0183】
どのような実体も、制限されることなく、方法8000を実行でき、プロセッサ400を構成することができる。例示的な実体は、システム100及び/又はモバイルプラットフォーム200のメーカ、試験者、ユーザ等を含むことができる。
【0184】
特定の場合において、方法8000におけるような相関関係を仮定することは、直接的なプロセスではなくてもよく、反復する試行を必要としてもよい。例えば、多数の変数が、誤差寄与値410の候補であってもよい。実験資源の消費を低減するため、シミュレーションが行われてもよい。シミュレーションは、誤差寄与値410として選択した変数が誤差420と相関関係にあるかどうか、及び/又は、仮定した種類の数学的関数関係が有効かどうかを明らかにしてもよい。
【0185】
図12は、
図3の方法の別の代替の実施形態を示す例示的な図であり、ここにおいて、誤差寄与値410と誤差420との間のシミュレーション相関関係が特定される。
図12の方法1200は、コンピュータを用いるシミュレーションによって実行されてもよく、必ずしも実験ハードウェアを必要としない。
【0186】
1201において、誤差寄与値410と誤差420との間のシミュレーション相関関係が仮定される。一例において、シミュレーション相関関係は、式(27)〜(29)と同じであると仮定することができる。
【0187】
1202において、シミュレーション測定が、誤差寄与値410のシミュレーション値及びシミュレーショングラウンドトルースに基づいて、シミュレーション運動のシミュレーション測定値を取得するよう、シミュレーション運動に関して行われる。シミュレーション誤差源は、シミュレーション測定に導入される可能性がある。
【0188】
例えば、シミュレーショングラウンドトルースTtruthは、シミュレーション運動の変位Tの真値を含むことができる。例示的なシミュレーショングラウンドトルースTtruthは、任意に選択される回転行列R及び/又はt2及びt1間の任意に選択される変位Tを含むことができる。
【0189】
シミュレーション測定を実行するために、誤差寄与値410のシミュレーション値が用いられてもよい。誤差寄与値410の例示的なシミュレーション値は、誤差寄与値410の任意に選択される数値を含むことができる。例示的なシミュレーション測定において、数n=16、32、64、128、256、512である。nの各値に対して、両眼視差dは、2から47までの範囲の整数である。従って、シミュレーション値は複数の(n,d)対を含むことができる。
【0190】
従って、各(n,d)対に対して、一致特徴点対がランダムに生成されてもよい。各一致特徴点対は、t1において
取得された第1の画像のシミュレートされた第1のサブ画像内に第1の特徴点を含むことができる。dに基づいて、第1の特徴点は、t1において
取得された第1の画像のシミュレートされた第2のサブ画像内に生成されてもよい。シミュレートされた第1のサブ画像及びシミュレートされた第2のサブ画像は、第1の撮像デバイス及び/又は第2の撮像デバイスをシミュレートするコンピュータプログラムによって生成されてもよい。
【0191】
(
図7に示すような)三角測量によって、第1の特徴点の三次元座標P1が生成されてもよい。シミュレーション運動は、シミュレートされる第1の撮像デバイスに適用されてもよい。第1の特徴点は、シミュレーション運動後のt2における第2の特徴点に対応できる。第2の特徴点は、従って、第1の撮像デバイスに投影されて第2の特徴点の座標P2を生成することができる。シミュレーション運動のシミュレーション測定値Tsimは、式(6)を用いることによって取得することができる。
【0192】
各(n,d)対に対して、シミュレーション測定は、複数の一致特徴点対を取得できる。複数の一致特徴点対の数は、n以上であってもよい。複数の一致特徴点対のうちで、n個の一致特徴点対が、Tsimを取得するよう、インライア特徴点対としてランダムに選択されてもよい。
【0193】
シミュレーション運動のシミュレーション測定値は、実験誤差が少ないので、シミュレートされたグラウンドトルースに近似してもよい。従って、シミュレーション誤差源は、誤差の量を増加させるために、シミュレーション測定の結果がシミュレーショングラウンドトルースから逸脱する原因となるよう導入されてもよい。
【0194】
シミュレーション誤差源は、制限されることなく、様々な方法で導入されてもよい。例示的な測定において、各(n,d)対内に、各第1の特徴点は、(d−0.5)から(d+0.5)までの間の範囲のランダムな数から選択される両眼視差dを有することができる。従って、両眼視差dの確率的誤差が生成されてもよく、好ましくは、両眼視差dの平均が容易に制御されてもよい。
【0195】
加えて、及び/又は、代替として、第2の特徴点が第1の撮像デバイスに投影されて座標P2を生成した後、P2はより短い表現に丸められてもよい。例示的な丸めプロセスは、P2の有効桁数を低減できる。例えば、P2の少なくとも1つの座標数は、P2の小数点に続くP2の桁を削除することによって整数ピクセル値まで丸められてもよい。このように、丸めプロセスは、シミュレーション誤差源を導入できる。
【0196】
1203において、誤差420のシミュレーション値は、シミュレーショングラウンドトルースTtruth及びシミュレーション運動のシミュレーション測定値Tsimに基づいて計算される。速度Vを測定することの誤差は、従って、Terror=Ttruth−Tsimであってもよい。速度Vを測定することの誤差は、従って、Verror=Terror/(t2−t1)であってもよい。
【0197】
従って、各(n,d)対に対して、速度Vを測定することの分散が計算できる。分散は誤差420のシミュレーション値として用いられてもよい。
【0198】
1204において、仮定されたシミュレーション相関関係は、誤差420のシミュレーション値及び誤差寄与値410のシミュレーション値に適合させることができる。相関関係が誤差420のシミュレーション値及び誤差寄与値410のシミュレーション値に適合する程度は、仮定された相関関係の正当性を示すことができる。
【0199】
幾つかの実施形態において、1204が、相関関係に関する仮定されたシミュレーションの予備的知識を持たずに、誤差420のシミュレーション値及び誤差寄与値410のシミュレーション値に適合させることによってシミュレーション相関関係を特定できるため、1201は任意であってもよい。
【0200】
図13〜15は、
図12の方法を用いることによってシミュレーション相関関係が取得される一組のデータ点を示す例示的な散布図である。データ点は、1201〜1203において説明したような例示的なシミュレーション測定から取得される。分散は1/(nd2)の関数としてプロットされる。何れかの従来の回帰法は、仮定された相関関係を適合させて分散と1/(nd2)との間の関数関係を特定するために用いられてもよい。各
図13〜15のそれぞれにおいて、線121、122、及び123は、データ点を良好に適合して、それぞれ、適合された数式1210、1220、1230に対応できる。従って、式(27)〜(29)の仮定された相関関係は有効であってもよい。
【0201】
従って、方法1200は、仮定された相関関係の正当性を確認するよう実行されてもよい。加えて、及び/又は、代替として、実験的な方法8000が、相関関係を決定するよう用いられてもよい。
図8及び12の方法は、それぞれ、コンピュータシステム上で実施されてもよい。コンピュータシステムは、メモリ及びプロセッサを含むことができる。メモリは、それにコード化された命令を有することができる。コード化された命令は、プロセッサによって実行された場合、コンピュータシステムに
図8及び12に示すようなプロセスを実施させることができる。
【0202】
図13〜15における適合は、様々な理由で、
図9〜11における適合よりも大きくてもよい。例えば、
図9〜11における分散は、(8003において示すような)近似値であってもよく、各(n,d)対に対して統計的に計算されない。更に、
図9〜11における分散は、
図8の例示的な例における仮定された相関関係に必ずしも含まれない内部参照行列K及び回転行列Rの誤差を受けてもよい。内部参照行列Kの誤差は、視覚センサの校正精度によって影響を受けてもよい。回転行列Rの誤差は、IMUの測定精度によって影響を受けてもよい。
【0203】
更に、
図13〜15における分散は、
図13〜15が丸めプロセス等のピクセル抽出における限られた誤差源を有するため、
図9〜11における適合よりも小さくてもよい。対照的に、
図9〜11は、ピクセル抽出におけるランダムな実験ノイズを受ける可能性がある。
【0204】
図13〜15及び
図9〜11において、Var(Vx)はVar(Vy)と類似している。Var(Vz)は、Var(Vx)及び/又はVar(Vy)よりも著しく大きい。かかる観察は、測定誤差が視覚センサの光軸(即ち、z軸)の方向においてより大きくてもよいという理論的基礎と一致している。
【0205】
様々な実施形態は、更に、モバイルプラットフォーム200の運動300を決定するための装置を開示する。装置は、
図1〜2に示すようなプロセッサ400を含むことができる。
【0206】
様々な実施形態は、更に、モバイルプラットフォーム200の運動300を決定するための装置アセンブリを開示する。装置アセンブリは、モバイルプラットフォーム200の運動300の第1の測定を行うための視覚センサと、モバイルプラットフォーム200の運動300を決定するための装置とを含むことができる。装置は、第1の測定の誤差420を推定するよう構成されてもよい。
【0207】
様々な実施形態は、更に、モバイルプラットフォーム200の運動300を決定するための装置アセンブリを開示する。装置アセンブリは、モバイルプラットフォーム200の運動300の第1の測定を行うための視覚センサと、モバイルプラットフォーム200の運動300を決定するための装置とを含むことができる。装置は、第1の測定の誤差420を推定するよう構成されてもよい。装置アセンブリは、更に、モバイルプラットフォームの運動の第2の測定を収集し、及び/又は、生成するためのIMUを含むことができる。装置アセンブリは、第1の測定の誤差420に基づいて第2の測定と第1の測定とを組み合わせて、モバイルプラットフォーム200の運動300を決定するよう構成されてもよい。
【0208】
様々な実施形態は、更に、
図1〜2に示すようなモバイルプラットフォーム200を開示する。モバイルプラットフォーム200は、モバイルプラットフォーム200の運動300を決定するための装置を含むことができる。モバイルプラットフォーム200は、UAVであってもよい。
【0209】
様々な実施形態は、更に、
図1〜2に示すようなモバイルプラットフォーム200を開示する。モバイルプラットフォーム200は、モバイルプラットフォーム200の運動300を決定するための装置アセンブリを含むことができる。モバイルプラットフォーム200は、UAVであってもよい。
【0210】
様々な実施形態は、更に、
図1〜2に示すようなモバイルプラットフォーム200を組み立てるためのキットを開示する。キットは、モバイルプラットフォーム200の運動300を決定するための装置を含むことができる。特定の実施形態において、取扱説明書がキットに含まれてもよい。取扱説明書は、それに指示を有してもよい。指示が従われた場合、モバイルプラットフォーム200の運動300を決定するための装置は、本開示において示すようなモバイルプラットフォーム200に組み立てられてもよい。
【0211】
様々な実施形態は、更に、
図1〜2に示すようなモバイルプラットフォーム200を組み立てるためのキットを開示する。キットは、モバイルプラットフォーム200の運動300を決定するための装置アセンブリを含むことができる。特定の実施形態において、取扱説明書がキットに含まれてもよい。取扱説明書は、それに指示を有してもよい。指示が従われた場合、モバイルプラットフォーム200の運動300を決定するための装置は、本開示において示すようなモバイルプラットフォーム200に組み立てられてもよい。
【0212】
特定の実施形態において、装置アセンブリ及び/又はUAV等のモバイルプラットフォーム200は、第1のセンサ500及び/又は第2のセンサ600を含むことができるが、第1のセンサ500及び/又は第2のセンサ600は、必ずしも装置アセンブリ及び/又はモバイルプラットフォーム200と一体化されない。例えば、
図16は、
図2のシステム100の代替の実施形態を示す例示的な図であり、ここにおいて、第1のセンサ500及びモバイルプラットフォーム200は遠隔で通信している。
図16に示すように、第1のセンサ500は、視覚センサを含むことができる。第1のセンサ500は、ステーショナリーであり、モバイルプラットフォーム200から遠隔に位置してもよい。第1のセンサ500は、対象の物体150としてモバイルプラットフォーム200の画像を
取得することによって第1の測定を行うことができる。
図3〜6、8、及び12の例示的な方法は、モバイルプラットフォーム200の運動300を計算するために用いられてもよい。モバイルプラットフォーム200は、通信モジュール700を含むことができる。第1のセンサ500は、通信モジュール800と結合することができる。通信モジュール700及び/又は800は、トランシーバ及び/又は受信機を含むことができる。通信モジュール700は、通信モジュール800を介して第1のセンサ500から第1の測定データ430を受信するよう構成されてもよい。
【0213】
様々な実施形態において、開示したような方法は、ユニバーサルハードウェアプラットフォーム等の選択されたハードウェアプラットフォームを介して実行可能なソフトウェアによって実施することができる。代替として、及び/又は、加えて、開示の方法は、ハードウェアによって実施することができる。様々な実施形態による方法におけるステップの一部又は全ては、関連するハードウェアに命令するプログラム(又はソフトウェア)を用いて達成することができる。
【0214】
従って、様々な実施形態は、更に、本明細書中に開示した、例えば、
図3〜6、8、及び12に示すような方法によって、モバイルプラットフォームの運動300を決定するための命令を備えるコンピュータプログラム製品を開示する。プログラム/ソフトウェアは、例えば、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、内部メモリ、レジスタ、コンピュータハードディスク、リムーバブルディスク、CD−ROM、光学ディスク、フロッピーディスク、磁気ディスク等を含む(非一時的な)コンピュータ読み取り可能記憶媒体に格納することができる。プログラム/ソフトウェアは、様々な実施形態による方法を実行するようコンピュータデバイス上の1つ又は複数のプロセッサに命令するためのコード化された命令を含むことができる。
【0215】
開示した実施形態は様々な改良及び代替形態の余地があり、それらの特定例を、図面において例として示し、本明細書中で詳細に説明した。しかし、開示した実施形態は、開示した特定の形態又は方法に限定されることなく、それとは反対に、開示した実施形態は、全ての改良、均等物、及び代替を含むものであることは、言うまでもない。
【0216】
本発明の好ましい実施形態を本明細書中で示し、説明してきたが、かかる実施形態が例としてのみ提供されることは、当業者にとっては明らかである。多数の変形、変更、及び代用は、ここで、発明から逸脱することなく当業者に対して見出されるであろう。本明細書中で説明した発明の実施形態に対する様々な代替例が、発明を実施することにおいて採用されてもよいことは、言うまでもない。以下の特許請求の範囲が発明の適用範囲を画成し、これら特許請求の範囲及びそれらの均等物の適用範囲内の方法及び構造がそれによって含まれることを意図している。