問題タブ [pose-estimation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1741 参照

image-processing - pnpまたはpositの2d-3dポイント対応を取得する

衛星をイメージして、衛星の姿勢と位置を推定しようとしています。衛星の3Dモデルがあります。PnPソルバーまたはPOSITのいずれかを使用すると、ポイントの対応を自分で選択するときにうまく機能しますが、ポイントを自動的に一致させる方法を見つける必要があります。コーナー検出器を使用すると(これまでに見つけた最良のものは輪郭に基づいています)、いくつかのスプリアスポイントに加えて、画像内のすべての関連ポイントを見つけることができます。ただし、画像内の特定のポイントを3Dモデル内の正しいポイントに一致させる必要があります。私がこのテーマについて読んだ記事は、その方法の詳細に立ち入ることなく、ポイントペアを見つけたと常に想定しているようです。

いくつかの不変の特徴に基づいてこれらの対応を決定できる、通常採用されているアプローチはありますか?または、コーナーポイントに基づかない別の方法に頼るべきですか?

0 投票する
1 に答える
5342 参照

c++ - solvePnP が間違った結果を返す

関数 solvePnP を使用して、ビジュアル マーカーによってロボットの姿勢を推定しています。2 つの連続したフレームで間違った結果が得られることがあります。ファイル problem.cpp で、これらの結果の 1 つを見ることができます。

ポイント セットは、2 つの連続するフレーム内の同じマーカーに対応します。それらの間の変動は非常に小さく、solvePnP の結果は非常に異なりますが、回転ベクトルのみです。翻訳ベクトルは問題ありません。

これは、30 フレームごとに約 1 回発生します。CV_ITERATIVE と CV_P3P メソッドを同じデータでテストしたところ、同じ結果が返されました。

これは問題の例です:

そして、これは結果です:

ありがとう。

0 投票する
2 に答える
2335 参照

computer-vision - Confusion about methods of pose estimation

I'm trying to do pose estimation (actually [Edit: 3DOF] rotation is all I need) from a planar marker with 4 corners = 4 coplanar points.
Up until today I was under the impression from everything I read that you will always compute a homography (e.g. using DLT) and decompose that matrix using the various methods available (Faugeras, Zhang, the analytic method which is also described in this post here on stackexchange) and refine it using non-linear optimization, if necessary.

First minor question: if this is an analytical method (simply taking two columns from a matrix and creating an orthonormal matrix out of these resulting in the desired rotation matrix), what is there to optimize? I've tried it in Matlab and the result jitters badly so I can clearly see the result is not perfect or even sufficient, but I also don't understand why one would want to use the rather expensive and complex SVDs used by Faugeras and Zhang if this simple method yields results already.

Then there are iterative pose estimation methods like the Ortohogonal Iteration (OI) Algorithm by Lu et al. or the Robust Pose Estimation Algorithm by Schweighofer and Pinz where there's not even a mention of the word 'homography'. All they need is an initial pose estimation which is then optimized (the reference implementation in Matlab done by Schweighofer uses the OI algorithm, for example, which itself uses some method based on SVD).

My problem is: everything I read so far was '4 points? Homography, homography, homography. Decomposition? Well, tricky, in general not unique, several methods.' Now this iterative world opens up and I just cannot connect these two worlds in my head, I don't fully understand their relation. I cannot even articulate properly what my problem is, I just hope someone understands where I am.

I'd be very thankful for a hint or two.

Edit: Is it correct to say: 4 points on a plane and their image are related by a homography, i.e. 8 parameters. Finding the parameters of the marker's pose can be done by calculating and decomposing the homography matrix using Faugeras, Zhang or a direct solution, each with their drawbacks. It can also be done using iterative methods like OI or Schweighofer's algorithm, which at no point calculate the homography matrix, but just use the corresponding points and which require an initial estimation (for which the initial guess from a homography decomposition could be used).

0 投票する
1 に答える
155 参照

machine-learning - 姿勢推定における人工ニューラルネットワークの妥当性

私は、マーカーレスの相対姿勢推定を必要とする uni のプロジェクトに取り組んでいます。これを行うには、2 つの画像を撮影し、画像の特定の場所にある n 個の特徴を照合します。これらのポイントから、これらのポイント間のベクトルを見つけることができます。これを距離に含めると、カメラの新しい位置を推定するために使用できます。

プロジェクトはモバイル デバイスで展開できる必要があるため、アルゴリズムは効率的である必要があります。より効率的にする必要があると考えたのは、これらのベクトルを取り、ベクトルを取り、入力に基づいて xyz 移動ベクトルの推定値を出力できるニューラル ネットワークに入れることです。

私が持っている質問は、十分に訓練された場合、NN がこの状況に適しているかどうかです。もしそうなら、必要な隠しユニットの数と最適なアクティベーション関数はどのように計算すればよいでしょうか?

0 投票する
1 に答える
1573 参照

opencv - ORB 特徴検出器

Open CV を使用して、マーカーの少ない拡張現実プロジェクトに取り組んでいます。現在、ORB を使用して機能を検出し、3D オブジェクトを拡張しています。これまでのところ、モデルはうまく拡張されていますが、拡張は期待どおりにはスムーズではありません。Augmented 3D モデルはぎくしゃくしています。

フレーム間のスムーズなカメラ姿勢推定をもたらす洗練の可能な方法は何ですか。

前もって感謝します。

0 投票する
2 に答える
945 参照

opencv - カメラ姿勢推定

私は現在、マルチビュー ステレオ アプローチで、一連の画像に基づく再構成を扱うプロジェクトに取り組んでいます。そのため、いくつかの画像が空間でポーズをとっていることを知る必要があります。surf を使用して一致する機能を見つけ、その対応関係から本質的な行列を見つけます。

ここで問題が発生します。重要なマトリックスを SVD で分解することは可能ですが、本で読んだように、これにより 4 つの異なる結果が生じる可能性があります。これが可能であると仮定して、どうすれば正しいものを入手できますか?

これには他にどのようなアルゴリズムを使用できますか?

0 投票する
3 に答える
19491 参照

opencv - カメラ姿勢推定 (OpenCV PnP)

ウェブカメラを使用して、既知のグローバル位置を持つ 4 つのフィデューシャルの画像からグローバル ポーズ推定値を取得しようとしています。

多くのstackexchangeの質問といくつかの論文をチェックしましたが、正しい解決策が得られないようです. 私が得た位置番号は再現可能ですが、カメラの動きに直線的に比例するものではありません。参考までに、C++ OpenCV 2.1 を使用しています。

このリンクには、私の座標系と以下で使用されるテスト データが描かれています。

これまでのところ、これらの数値に何か問題があるとわかる人はいますか? たとえば、MatLAB (上記のコードは m ファイルに適しています) などでチェックインしていただければ幸いです。

この時点から、rMat と tvec からグローバル ポーズを取得する方法がわかりません。この質問で読んだことから、rMat と tvec からポーズを取得するには、次のようにします。

しかし、私が読んだ他の情報源から、それはそれほど単純ではないと思われます。

実世界の座標でカメラの位置を取得するには、何をする必要がありますか? これが実装の問題かどうかはわかりませんが (理論上の問題である可能性が最も高い)、OpenCV で solvePnP 関数をうまく使用したことがある人にこの質問に答えてもらいたいと思いますが、アイデアも大歓迎です!

どうぞよろしくお願いいたします。

0 投票する
1 に答える
2260 参照

opencv - 画像点から x,y,z 座標 (3D) を計算する (2)

質問への参照:画像点からの x、y 座標 (3D) の計算

ポイントの座標 Z がピクセル単位 (mm 単位ではない) である場合、上記の質問と同じことをどのように行うことができますか?