2012-10-22 4 views
3

J'ai des nuages ​​de points (chaque point a une couleur) d'objets et d'images qui montrent ces objets. Je veux trouver des points d'intérêt en 2D/3D et les faire correspondre afin que je sache quelles parties de mon image (au moins celles qui ont des points d'intérêt) se trouvent dans le nuage de points.Correspondance 3D à 2D

Donc, je devrais d'abord trouver des points d'intérêt, obtenir leurs descripteurs et les faire correspondre. Si possible, cela devrait fonctionner avec les algorithmes actuels de conservation rapide et de mémoire tels que BRISK ou ORB (aucun algorithme breveté!) D'OpenCV. Mais je ne sais pas comment les implémenter pour la 3D. Est-ce seulement possible? J'ai trouvé un article (Hough Transform et 3D SURF pour une classification tridimensionnelle robuste) qui parlait d'une extension 3D à SURF qui serait un début mais je ne trouve aucune information sur cette extension 3D. Même alors, la question serait de savoir dans quelle mesure une telle extension serait réalisable pour BRISK ou d'autres algorithmes actuels.

Alors s'il vous plaît, donnez-moi des conseils sur la façon de procéder.

Répondre

1

C'est ce qu'on appelle la géométrie épipolaire et la correspondance stéréo.

1) Vous auriez besoin de deux images (2D) dont vous avez généré le nuage de points 3D. 2) A partir de ces deux images, vous pouvez créer une matrice fondamentale puis générer des points épipolaires. Assez facile à faire si vous le faites dans MATLAB, pas sûr d'OpenCV. 3) Les points épipolaires de deux images distinctes traceront des lignes vers le monde 3D.

Je vous suggère de lire sur la géométrie épipolaire et la correspondance stéréo pour 2D -> 3D