問題タブ [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.
python - Python: solvePnP( ) アンパックするのに十分な値がありませんか?
cv2.solvePnP
OpenCV から呼び出される関数に問題があります。この関数は、チェス盤の姿勢推定を取得するために使用されます。次のコードの後、エラーが発生します。
エラーは言う:
ret、rotationVectors、translationVectors、inliers = cv2.solvePnP(objp、corners2、matrix、distortion) ValueError: アンパックするのに十分な値がありません (期待される 4、取得した 3)
c++ - 2 つの画像を使用した 3D 再構成のためのエッセンシャル マトリックスの SVD からの不適切な変換マトリックス
C++ で OpenCV を使用して、同じカメラから撮影した 2 つの画像から 3D モデルを見つけようとしています。私はこの方法に従いました。R と T の計算の間違いをまだ修正できていません。
画像 1: 不一致をなくすために背景を削除
画像 2: 画像 1 に対して X 方向にのみ変換され、不一致をなくすために背景が削除されています
MATLAB Toolbox を使用して Intrinsic Camera Matrix (K) を見つけました。私はそれが次のようであることがわかりました:
K=
すべての画像マッチング キーポイント (SIFT および BruteForce マッチング、Mismatches Eliminated を使用) は、次のように画像の中心に合わせて配置されました。
Point Correspondeces から、OpenCV で RANSAC を使用する Fundamental Matrix を見つけました
基本マトリックス:
以下を使用して得られたエッセンシャル マトリックス:
E が得られました:
EのSVD:
エピポーラ制約の新しい必須マトリックス:
SVD からの回転:
SVD からの翻訳:
私はR行列を次のように取得していました:
R1:
R2:
翻訳マトリックス:
T1:
[0.543
-0.030
0.838]
T2:
[-0.543
0.03
-0.83]
どこが間違っているのか明確にしてください。
この P1=[I] の P2 行列 R|T の 4 つのセットは、正しくない三角測量モデルを提供しています。
また、得られた T 行列は、x シフトのみで z シフトはないと想定されていたため、正しくないと思います。
同じ image1=image2 で試してみると、T=[0,0,1] が得られました。Tz=1 とはどういう意味ですか? (両方の画像が同じであるため、z シフトはありません)
また、キーポイントの座標を画像の中心に合わせる必要がありますか、それともキャリブレーションから得られた主な焦点に合わせる必要がありますか?
matlab - 姿勢推定で平行移動ベクトルからの角度よりも距離の方が正確な理由
正方形 (サイズがわかっている) を使用して、カメラとの間の平行移動ベクトルを推定しています。最初に、固有のカメラ パラメータが計算され、次に、正方形から検出された 4 つの点を使用して並進ベクトル (x、y、z) が推定されます。
非常に遠い位置でも推定距離は正確ですが、距離が少し離れていると推定角度が不安定になることがわかりました。どういう理由ですか?
ありがとう。
opencv - How can I compute the covariance of a camera-based relative pose measurement?
I am trying to compute the relative pose between two cameras using their captured images through the usual way of feature correspondences. I use these feature matches to compute the essential matrix, decomposing which results in the rotation and translation between both the views. I am currently using findEssentialMat
and recoverPose
functions in OpenCV to achieve this. Once I compute this relative pose:
How can I find the uncertainty of this measurement? Should I try to refine the essential matrix itself (using the epipolar error), which results in the essential matrix's covariance and is it possible to find the pose covariance from this? Or is there another way to find the uncertainty in this pose directly?
There is also another issue in play here: While I am computing the relative pose of camera C2 (call it P2) from camera C1, the pose of camera C1 (say P1) would have its own covariance. How does this affect P2?