5

2 つの射影行列 P1 と P2 を使用し (たとえば、恐竜データセットを使用しています)、基礎行列 F を計算する必要があります。したがって、2 つの Matlab 関数を使用します。

  • Peter Kovesi の関数: www.csse.uwa.edu.au/~pk/Research/MatlabFns/Projective/fundfromcameras.m
  • ジッサーマン: www.robots.ox.ac.uk/~vgg/hzbook/code/vgg_multiview/vgg_F_from_P.m

これらの関数は同じことを行うはずですが、私は異なる F 値を持っています! それはどのように可能ですか?適切な関数はどれですか?

X1 と X2 の 2 点が 2 つの異なる画像で "同じ" である場合、X2^T*F*X1 = 0 ... そこで、SURF を使用して 2 つの回転した画像 (5 度) から 2 つの対応する点を見つけましたが、X2^T *F*X1 は、この 2 つの関数でゼロになることはありません。何か案は?

代わりに、一致するポイントから F を計算するこの関数を使用すると、次のようになります。

私はそれを持っています X2^T*F*X1 = 0 ....明らかに、Fは他の2つの関数で持っていた2つのFIとは異なります...

4

2 に答える 2

2

基本行列は、スケールまでしか一意ではありません。

したがって、基本行列が異なっていても、どちらも画像に適している可能性があります。

于 2012-07-11T08:04:49.603 に答える
2

1 つには、点が互いに完全に回転していない可能性が圧倒的に高いです。SURF は、多くの近似、双一次補間、および真の回転不変性を破る多くのものを使用します。したがって、そのような基本的な行列は存在しない可能性があります (2 つの点のセット間に線形関係がない場合)。はい、これは、点の照合を行った後でも当てはまります。

そうは言ってX2^T*F*X1も、マッチングが本当に良い場合はおそらく小さいはずですが、実際の画像で正確にゼロになるとは驚きです。

于 2012-04-15T22:00:49.017 に答える