2016-07-11 3 views
0

Je veux synthétiser une vue virtuelle d'un point de vue arbitraire en utilisant une paire de caméras stéréo que j'ai déjà. J'ai calibré ma chaîne stéréo, donc je connais à la fois les intrinsèques et les extrinsèques des deux caméras les unes par rapport aux autres. Mon approche pour synthétiser la nouvelle vue est basée sur le calcul de matrice de caméra 3x4 basé sur [X, Y, Z] points calculés en utilisant la carte de profondeur obtenue à partir de la paire stéréo. Ensuite, j'utilise des correspondances à plusieurs points de la nouvelle vue (x, y) et utiliser l'équation [x y 1]' = C * [X Y Z 1]' pour trouver la matrice de la caméra C. Mes questions:Comment synthétiser une nouvelle vue de caméra en utilisant une paire stéréo?

  1. Est-ce l'approche correcte pour générer une vue arbitraire?
  2. Combien de correspondances de points sont recommandées et à quels plans pour calculer la matrice de caméra? Comme je n'obtiens pas un bon résultat en utilisant 6-8 points. Je ne peux pas utiliser SIFT/SURF parce que les images sont sans relief et je dois marquer manuellement les points.
  3. Même si j'obtiens la matrice de la caméra, comment fait-on la déformation vers l'avant car la matrice de la caméra est non inversible.

S'il vous plaît commenter si vous avez besoin de plus d'informations.

Merci!

Répondre

0

Réponses courtes:

  1. Non, puisque vous avez déjà une carte de profondeur et votre plate-forme est étalonnée.
  2. Irrelevant
  3. Irrelevant

Tout ce que vous devez faire est de construire un maillage 3D (en fait, une grille) de votre carte de profondeur. Cela n'aura, par définition, aucune occlusion dans les deux caméras de la paire stéréo. Vous pouvez ensuite texturer le maillage avec la vue de l'une ou l'autre des caméras stéréo (ou les deux, en utilisant une sélection de texture plus sophistiquée basée sur l'algo, par exemple, sur laquelle la vue est plus parallèle à chaque facette). Vous pouvez ensuite rendre le maillage dans une autre vue que vous souhaitez.

+0

Le maillage 3D est-il la seule façon de le faire? Que diriez-vous du rendu basé sur l'image et des techniques de gauchissement 3D, c'est-à-dire qui ne nécessitent pas la reconstruction 3D complète. Je veux le faire dans des scénarios en temps réel afin que toute la génération de maillage 3D puisse être assez chère. – alasin

+0

Eh bien, voulez-vous «précis» (en particulier, des occlusions précises compte tenu de votre reconstruction), ou simplement «plausible»? Notez que, strictement parlant, vous n'avez pas besoin d'une topologie de maillage complète, juste une grille d'adjacence locale, car la carte de profondeur est normale à une vue (c'est-à-dire z = f (x, y) dans cette vue). Mais en pratique, certains problèmes de topologie surgissent de toute façon, car généralement vous aurez des trous dans la carte de profondeur même à côté des occlusions. –