2009-01-09 6 views
5

Comme il serait difficile de prendre une image d'un objet (dans le cas d'un objet prédéfini), et de développer un algorithme pour découper cet objet d'une photo avec un arrière-plan de complexité variable. En outre, l'objet d'une photo (par exemple, une maison, une voiture, un chien - mais toujours d'un type) doit être transformé en rendu 3D. Je sais qu'il existe des moteurs de rendu 3D disponibles (à un coût, gratuit, ou avec une certaine clause), mais pour que cela fonctionne l'objet (sujet) devrait être mesuré de toutes sortes de façons - par exemple. si c'est une personne, nous devons mesurer la hauteur, la courbure de l'épaule, le rayon du visage, la longueur de chaque doigt, etc.Reconnaissance d'image et rendu 3D

Quelle serait la faisabilité de résoudre ce problème? Quelqu'un connaît-il de bons liens spécialisés dans ce domaine de recherche? J'ai vu des solutions open source à ce problème qui me laisse avec la question de la facilité de mesurer l'objet tout en le traçant pour le recadrer.

Merci


Essentiellement, je veux prendre une image 2D (image typique: ce qui est plus facile qu'une photo complexe contenant plusieurs objets, etc.)

http://benmartin3d.com/WIP/Project1/image1small.jpg,

Mais efficacement Je veux transformer cela en une image 3D, donc ce que je veux faire n'est pas de construire un moteur de rendu/modélisation 3D?

En outre, ce lien que j'ai fourni va dans 3ds max, avec quelques propriétés définies, et un rendu est fait.

+0

Il semble que vous ayez des informations/contraintes supplémentaires que vous ne partagez pas. Tout d'abord, pour faire la reconstruction, vous avez besoin d'au moins deux images. Deuxièmement, la reconstruction elle-même ne dit rien sur l'échelle. Pour déterminer la taille de quelque chose dans une image, vous devez avoir une référence. –

+0

Pas du tout. Je ne connais tout simplement pas ce domaine (être un développeur web général avant tout). C'est pourquoi je reçois des opinions ici et recherche le problème avant d'écrire une seule ligne de code pour résoudre ce problème. – dotnetdev

Répondre

4

Il semble que vous vouliez faire plusieurs choses, toutes dans le domaine de la vision par ordinateur.

  1. reconnaissance d'objet (par exemple trouver l'objet prédéfini)
  2. reconstruction 3D (rendre le modèle 3D de l'image)
  3. Image Segmentation (découper simplement l'objet que vous êtes inquiet au sujet de l'arrière-plan)

Je les ai classés par ordre de plus facile à plus difficile (selon ma compréhension limitée). Tous ensemble, je dirais que c'est un problème très compliqué. Je regarde les liens Wikipédia suivants pour plus d'informations:

Computer Vision Overview (Wikipedia)

The Eight Point Algorithm (for 3d reconstruction)

Image Segmentation

+1

La segmentation d'image n'est pas difficile, si vous pouvez supposer ce que vous êtes en train de segmenter obéit à certaines règles. L'exemple dont je me souviens de l'école consistait à photographier des grains de riz en suivant un convoyeur. Grâce à la segmentation, leur taille et leur qualité pourraient être mesurées. –

+1

Je suis d'accord que la segmentation peut être simple dans un environnement fortement contraint comme une usine avec des objets très homogènes. Mais en général, le problème de la segmentation des objets est difficile. –

0

En supposant qu'il est possible, ce serait extrêmement difficile, en particulier avec une seule image de l'objet. Le rasterizer doit deviner la profondeur et la distance des objets.

Ce que vous décrivez ressemble beaucoup à Microsoft PhotoSynth.

1

Vous avez raison, c'est un ensemble extrêmement difficile de problèmes, en particulier celui d'inférer des informations 3D à partir d'une image 2D. Il n'y a qu'une compréhension très limitée de la façon dont notre système visuel extrapole les informations 3D à partir d'images 2D, une telle approche est connue sous le nom "Shape from Shading" et la recherche google liée montre combien (et par conséquent peu) nous connaissons.

Rob

1

Ceci est une tâche très difficile. La partie la plus difficile n'est pas de reconnaître ou de segmenter l'objet de l'image, mais plutôt d'inférer la géométrie 3D de l'objet à partir de l'image 2D. Vous aurez plus de succès si vous pouvez utiliser une caméra stéréoscopique (ou un scanner laser, si vous en avez un);

Dans le cas d'images 2D, essayez de rechercher avec Google "Shape-From-Shading". Ceci est une méthode pour inférer la forme en 3D à partir d'une image en 2D. Il fait des suppositions sur les conditions d'illumination et les propriétés de surface (BRDF et géométrie) qui peuvent échouer dans de nombreux cas, mais si vous l'utilisez uniquement pour une classe prédéfinie d'objets (par exemple des visages humains), il peut raisonnablement fonctionner.