Question

Dans Matlab j'ai calculé la matrice fondamentale (de deux images) en utilisant la huit points algorithme . A partir de ce que je dois trianguler les points d'image correspondants dans l'espace 3D. D'après ce que je comprends, pour ce faire, je aurais besoin de la rotation et la translation des caméras de l'image. La façon la plus simple serait bien sûr calibrent les caméras prennent d'abord, puis les images, mais cela est trop pour mon application constriction car cela nécessiterait cette étape supplémentaire.

Alors, qui me laisse avec calibration de la caméra automatique (auto) . Je vois mention href="http://en.wikipedia.org/wiki/Bundle_adjustment" , mais dans Une invitation à 3D Vision il semble qu'il nécessite une traduction initiale et rotation, ce qui me fait penser qu'une caméra calibrée est nécessaire ou ma compréhension tombe court.

Alors, ma question est de savoir comment puis-je extraire automatiquement la rotation / translation je peux reprojetées / trianguler les points d'image dans l'espace 3D. Tout code Matlab ou pseudocode serait fantastique.

Était-ce utile?

La solution

Vous pouvez utiliser la matrice fondamentale pour récupérer les matrices de caméra et trianguler les points 3D de leurs images. Cependant, vous devez être conscient que la reconstruction que vous obtiendrez sera une reconstruction projective et non euclidienne. Ceci est utile si votre objectif est de mesurer projectifs invariants dans la scène d'origine, comme le birapport, les intersections de lignes, etc., mais il ne sera pas suffisant pour mesurer les angles et les distances (vous devrez calibrer les caméras pour cela).

Si vous avez accès à Hartley et de manuel de Zisserman, vous pouvez consulter la section 9.5.3 où vous trouverez ce que vous devez aller de la matrice fondamentale à une paire de matrices de caméra qui vous permettra de calculer une reconstruction projective (je crois que le même contenu apparaît dans la section 6.4 du livre de Yi Ma). Étant donné que le code source en ligne, vous pouvez pour vérifier les fonctions vgg_P_from_F, vgg_X_from_xP_lin et vgg_X_from_xP_nonlin.

Autres conseils

Peter code de Matlab serait beaucoup plus utile pour vous que je pense:

http://www.csse.uwa.edu.au/ ~ pk / recherche / matlabfns /

Peter a posté un certain nombre de solutions de matrice fondamentale. Les algorithmes originaux ont été mentionnés dans le livre de Zisserman

http://www.amazon.com/exec/obidos/tg/detail/-/0521540518/qid=1126195435/sr=8-1/ref=pd_bbs_1/ 103-8055115-0657421? v = coup d'oeil et s = Livres & n = 507846

En outre, pendant que vous y êtes ne pas oublier de voir la chanson matrice fondamentale:

http://danielwedge.com/fmatrix/

une composition bien à mon avis honnête!

Si votre 3D espace peut être choisi arbitrairement, vous pouvez définir votre première matrice de la caméra comme

P = [I | 0]

Pas de traduction, pas de rotation. Cela vous laisse avec un système de coordonnées défini de la caméra 1. Ensuite, il ne devrait pas être trop difficile à calibrer la seconde caméra.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top