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 です。