6

5つのマーカーのセットがあるとしましょう。ARToolkitなどの拡張現実フレームワークを使用して、各マーカー間の相対距離を見つけようとしています。私のカメラ フィードでは、最初の 20 フレームで最初の 2 つのマーカーのみが表示されるので、2 つのマーカー間の変換を行うことができます。2 番目の 20 フレームには、2 番目と 3 番目のマーカーのみが表示されます。最後の 20 フレームには、5 番目と 1 番目のマーカーが表示されます。5 つのマーカーすべてのマーカー位置の 3D マップを作成したいと考えています。

私の質問は、ビデオフィードの品質が低いために距離に不正確さが生じることを知っているので、収集したすべての情報を考慮して不正確さを最小限に抑えるにはどうすればよいですか?

私の素朴なアプローチは、最初のマーカーを基点として使用することです。最初の 20 フレームから変換の平均を取り、2 番目のマーカーを 3 番目と 4 番目に配置します。5 番目のマーカーについては、5 番目と 1 番目、および 4 番目と 5 番目の間の変換の中間に配置することにより、4 番目と 1 番目の間に配置します。ただし、このアプローチは最初のマーカーの配置に偏りがあり、カメラがフレームごとに2つ以上のマーカーを見ることを考慮していません。

最終的には、システムが x 個のマーカーのマップを作成できるようにしたいと考えています。任意のフレームで、最大 x 個のマーカーが表示される可能性があり、画質による非体系的なエラーが発生します。

この問題への正しいアプローチに関するヘルプは大歓迎です。

編集:問題に関する詳細情報:

実際の地図が次のようになっているとしましょう。

ここに画像の説明を入力

画像の矢印で表されているように、ポイント間の変換ごとに 100 の読み取り値が得られたとします。実際の値は矢印の上に書かれています。

私が取得した値にはいくつかのエラーがあります (実際の値についてガウス分布に従うと想定されています)。たとえば、マーカー 1 ~ 2 で得られた読み取り値の 1 つは、x:9.8 y:0.09 である可能性があります。これらすべての測定値があるとすれば、どのようにマップを推定すればよいでしょうか。結果は、可能な限り実際の値に近いことが理想的です。

私の素朴なアプローチには次の問題があります。1 から 2 への変換の平均がわずかにずれている場合、2 から 3 の読み取り値が非常に正確であっても、3 の配置がずれている可能性があります。この問題を以下に示します。

ここに画像の説明を入力

緑が実際の値、黒が計算値です。1 から 2 への平均変換は、x:10 y:2 です。

4

1 に答える 1

0

最小二乗法を使用して、すべてのデータに最適な変換を見つけることができます。マーカー間の距離だけが必要な場合、これは測定された距離の平均にすぎません。

マーカーの位置が固定されていると仮定すると (固定された剛体など)、それらの相対的な位置が必要な場合は、単純に位置を記録して平均化できます。あるマーカーを別のマーカーと混同する可能性がある場合は、フレームからフレームへマーカーを追跡し、2 つの期間の間の各マーカー位置の連続性を使用して、その同一性を確認できます。

剛体が動いていると予想される場合 (または剛体でない場合など)、問題はかなり難しくなります。一度に 2 つのマーカーでは、剛体の位置を固定するには不十分です (3 つ必要です)。ただし、遷移ごとに、古いマーカー、新しいマーカー、連続マーカーの位置がほぼ同時に表示されることに注意してください。各マーカーの身体上の予想される位置が既にある場合、これにより、20 フレームごとに固定ポーズの適切な推定値が得られるはずです。

一般に、体が動いている場合、最高のパフォーマンスを得るには、そのダイナミクスに何らかのモデルが必要です。これを使用して、時間の経過とともにポーズを追跡する必要があります。動的モデルが与えられた場合、カルマン フィルターを使用して追跡を行うことができます。カルマン フィルターは、記述した種類のデータの統合に適しています。

カルマン状態ベクトルの一部としてマーカーの位置を含めることにより、この情報をアプリオリに要求するのではなく、純粋にセンサー データ (これが目標のようです) からそれらの相対的な位置を推測できる場合があります。任意の数のマーカーを効率的に処理できるようにしたい場合は、通常の方法を巧妙に変更する必要があるかもしれません。あなたの問題は、シーケンシャル カルマン フィルター処理などの従来の分解方法による解決を避けるように設計されているようです。


以下のコメントに従って編集します。

マーカーが (単なる 3D 位置ではなく) 完全な 3D ポーズを生成する場合、追加データにより、追跡しているオブジェクトに関する正確な情報を維持しやすくなります。ただし、上記の推奨事項は引き続き適用されます。

  • ラベル付けされたボディが固定されている場合は、関連するすべてのフレーム データの最小二乗法を使用します。
  • ラベル付けされたボディが動いている場合、そのダイナミクスをモデル化し、カルマン フィルターを使用します。

気になる新しいポイント:

  • 一連の相対的な変換を管理しようとすることは、問題に取り組む最良の方法ではない場合があります。お気づきのように、累積エラーが発生しやすいです。ただし、そのフレームワークに必要な数学を実装できる限り、必ずしも悪い方法ではありません。
  • 特に、最小二乗フィットは、相対ポーズのチェーンまたはリングで完全にうまく機能するはずです。
  • いずれにせよ、最小二乗近似またはカルマン フィルター トラッキングのいずれにおいても、測定値の不確実性を適切に推定すると、パフォーマンスが向上します。
于 2011-12-06T01:15:25.180 に答える