Qrust est une interface qui permet de manipuler le nuage de points 3D en proposant les fonctionnalités suivantes :
- Homogénéisation/décimation du nuage
- Suppression manuelle des points parasites
- Reconstruction au moyen de deux méthodes paramétrables
- Exportation du modèle polygonal en OBJ
Pour l'instant, il n'y a pas de connexion entre COPOS (qui permet de créer un nuage de points à partir d'une vidéo) et Qrust (qui effectue le travail de reconstruction)
Il reste beaucoup de travail avant d'arriver à un logiciel complètement utilisable, mais le projet avance. Pour passer d'un objet de la vie réelle à un modèle 3D, trois étapes peuvent être identifiées :
- la capture d'un nuage de points présentant la surface de l'objet
- le nettoyage, l'adaptation, voir la fusion entre plusieurs nuages
- enfin la reconstruction en un modèle polygonal
COPOS s'occupe actuellement de la première étape. Après avoir construit un scanner 3D simple (une webcam et un pointeur laser), ce logiciel permet d'utiliser les séquences vidéo, puis en déduire un nuage de points 3D à partir des paramètres du système.
Qrust permet d'effectuer la seconde et la troisième étape. Ce logiciel offre la possibilité d'homogénéiser le nuage de points, ainsi que la suppression manuelle des points parasites. Deux méthodes sont accessibles pour reconstruire sous forme de modèle polygonal (triangles) le nuage de points. Celui-ci pourra ensuite être exporté sous forme de fichier OBJ.
Pour la nouvelle conception de COPOS, je cherche quelqu'un ou des exemples de codes objet permettant :
- la calibration de la caméra (à partir d'un échiquier par exemple)
- une classe caméra pouvant :
- charger un fichier de calibration
- retourner un rayon 3D (origine, direction) dans le repère de la caméra (centre optique+z dans la direction de l'objectif) lorsque l'on donne les coordonnées d'un pixel (en 2D)
J'ai déjà un peu étudié OpenCV, mais ça me semble faire être un peu trop usine à gaz à mon goût.
Toute suggestion est la bienvenue !
Aller plus loin
- Page web du projet (286 clics)
- Les captures d'écrans (115 clics)
- L'image de l'interface (49 clics)
- DLFP: Fabriquer son scanner 3D (214 clics)
- DLFP: Nouvelle version de COPOS (84 clics)
# \_o<
Posté par Erwan Scouarnec (site web personnel) . Évalué à 1.
[^] # Re: \_o<
Posté par Pierrick C. (site web personnel) . Évalué à 2.
Il y a pas une 4e étape dasn le scan 3D:
- capture et application des textures sur les polygones ? enfin ça doit être l'étape la plus complexe :-/
En tout cas, bonne chance pour la suite ;-)
[^] # Re: \_o<
Posté par Raphaël G. (site web personnel) . Évalué à 1.
[^] # Re: \_o<
Posté par Ronan Billon . Évalué à 2.
Le faire automatiquement, je n'en ai pas la moindre idée car il faudrait modifier le traitement de la video et la façon de scanner. Un peu comme celui-ci http://www.muellerr.ch/engineering/laserscanner/default.htm
[^] # Re: \_o<
Posté par iug . Évalué à 1.
Autant scanner un objet peut se faire avec une caméra basse résolution, autant scanner les textures va nécessiter une suite de gros plans, et de nombreux recalages, certains facteurs d'imprécision s'accroissant au passage.
# Re: OpenCV
Posté par Émilien Kia (site web personnel) . Évalué à 2.
Pour OpenCV, je suis en train de l'utiliser pour un projet à la fac et, bien qu'il semble un peu rebuttant au début, on s'y fait très vite, et finalement, il est pas si usine à gaz que ca, il est même assez convainquant.
Un jour libre ?
[^] # Re: OpenCV
Posté par benoar . Évalué à 2.
Moi je trouve qu'il est très usine à gaz : comme dans toute bonne grosse lib, il réinvente la roue (les listes, ...), il utilise des structures vraiment bizarres des fois (mais ce serait pour mieux optimiser les traitements...).
Il a une doc HORRIBLE : ça c'est le pire des problèmes, même après un an d'utilisation je comprend toujours pas certaines fonctions. On sait jamais si les paramètres de retour doivent être initialisés avant, il nous renvoie des listes sans dire ce qu'il met dedans (et comme en plus il utilise un système de typage dynamique au dessus du des structures C, c'est le cauchemard).
Dernier point, mais la majorité s'en fout : il tourne super mal sur ppc. J'ai jamais eu un prog de taille conséquente qui tourne correctement. Et encore, quand il plante pas, il donne des résultats faux sans qu'on s'en rendre compte ! Comme c'est fabriqué par Intel, cela ne m'étonne pas vraiment ... Mais par contre, oui il tourne assez vite & bien sur x86.
Enfin voila mon avis, j'avais fait une recherche rapide qui m'a donné quelques autres libs sympa pour le traitement d'image, mais j'ai pas testé.
[^] # Re: OpenCV
Posté par Émilien Kia (site web personnel) . Évalué à 1.
Mais les quelques algos (EMD ou kmeans) utilisés sont assez rapides (à coté d'une implémentation mano).
Mais je n'irais pas tout baser sur cette lib, j'en parle juste parce qu'on nous l'imposait à la fac et que pour certains trucs, c'était pas si mal.
Un jour libre ?
[^] # Re: OpenCV
Posté par benoar . Évalué à 2.
Enfin bon, si la rapidité n'est pas le plus important (rapidité d'exécution, pas d'implémentation, hein !) il vaut mieux éviter opencv.
[^] # Re: OpenCV
Posté par Ronan Billon . Évalué à 2.
Ce que je recherche vraiment, c'est un truc simple de calibration, puis une classe simple d'utilisation de la calibration. Je veux juste pouvoir utiliser les paramêtres intrinsèques (et extrinsèque) d'une caméra.
Mais personne ne semble avoir fait cette brique toute seule :-(
[^] # Re: OpenCV
Posté par Frédéric Lopez . Évalué à 2.
http://homes.esat.kuleuven.be/~a3d/
# nuage de points
Posté par chl (site web personnel) . Évalué à 3.
Quelqu'un saurait il s'il existe des algorithmes pour reconstituer une surface a partir d'un nuage de points ? Par exemple j'ai un nuage de points et je voudrais obtenir la surface (Bezier ou Nurbs peu importe) qui minimise la distance entre chacun des points du nuage de points, et cette surface.
[^] # Re: nuage de points
Posté par mat2 . Évalué à 3.
Ca s'apelle la methode des moindres carres en mecanique, je l'ai appliquee pour des surfaces simples (plans ou cylindres) mais ca doit marcher avec n'importe quele surface.
De memoire il existe aussi une methode dite 'des petits deplacements" mais je m'en rapele pas en detail.
[^] # Re: nuage de points
Posté par chl (site web personnel) . Évalué à 2.
[^] # Re: nuage de points
Posté par Ronan Billon . Évalué à 2.
Le principe mathématique n'est pas trop compliqué, mais pour faire une implémentation qui tienne la route...
La reconstruction polygonale à partir de triangulation de Delaunay est simple à comprendre. J'avais d'ailleurs écris moi-même un algo en C++ qui marchait bien et était robuste aux erreurs. Mais, il s'effondrait dès que l'on dépassait les 5000 points (ce qui n'est pas énorme), ça mettait des heures avec le processeur au taquet. Actuellement, j'utilise CGAL qui a été élaboré par l'INRIA qui a demandé qqs années d'études et plusieurs chercheurs. Pour conclure, que passer des maths à l'informatique n'est pas toujours aisé.
Pfff, ils sont trop compliqués dans leurs têtes les matheux.
[^] # Re: nuage de points
Posté par Frédéric COIFFIER . Évalué à 4.
http://nicolas.dumoulin.neuf.fr/Delaunay/
# Question bête.
Posté par Hrundi V. Bakshi . Évalué à 6.
t'as prévu de créer une micro-entreprise, ou une Jeune Enreprise Innovant, ou quoique ce soit qui se rapproche d'une startup ?
Parceque :
- Le projet a l'air solide
- Les débouchés sont nombreux
-Ton projet a l'avantage d'être libre
Tu as une page de dons, et tu as, j'ai lu, récolté une centaine d'euros.
Avec un projet bien monté, tu peux facilement trouver un Buisness Angel qui te débloquerais des fonds, tu peux avoir des aides de tous les cotés.
T'as contacté l'oseo, une cci ou quelque chose ?
T'es complètement dans le profil de http://www.oseo.fr/recherche_technologie/opportunites_et_con(...) , non ?
Ta rien a perdre, tout à y gagner.
Lance toi. Fonce ;)
[^] # Re: Question bête.
Posté par Ronan Billon . Évalué à 3.
En effet, j'avais fait des démarches pour créer une entreprise. J'ai même participé au concours de l'ANVAR de 2003 (je n'ai pas été retenu).
C'était sympa comme expérience. Mais, quoiqu'on en dise, pour commencer, il faut des ressources (cf. http://linuxfr.org/~Vapula/) et j'étais très limité.
Ensuite, je n'ai pas trouvé mon ange. Là, j'ai appris que je n'avais pas les talents suivant : charisme et commercial (et pire que tout, je suis honnête). La remarque qui revenait le plus était ça existe déjà ! (ce qui n'est pas faux, modulo le coût).
Pour pallier mes défauts, il aurait fallut embaucher qqun, mais mes ressources étaient limités.
Je recommencerais sans doute quand j'aurais les moyens de me planter.
J'en profite pour passer une annonce :
Si qqun connait une petite entreprise française (ou européenne) qui pourrait me fabriquer pour pas cher une série de plateau rotatif et de support de barrière laser, ce serait cool :-)
(cf. http://copos.berlios.de/documentations/bricolage/index.htm)
J'avais pensé au fabricant de jouet, mais je n'ai pas vraiment trouvé.
[^] # Re: Question bête.
Posté par tieuma35 . Évalué à 1.
il y a l'entreprise qui s'occupe de faire les sabres laser du nom de "park saber", (c'est une copie des sabrelaser made in lucas) et même si le sabre laser n'a pour toi absolument aucun interet, il se trouve que cet entreprise a l'air de disposer de systeme d'usinage a la fois très précis, et que la firme elle même est a mon avis bien plus abordable que l'énorme machinerie "george lucas". et qui sait,si ca se trouve ton projet pourrais très bien les interesser, etant donner que ca permettrai de mettre sur le marché un scanner 3d avec un prix très abordable et dont le cout de fabrication resterai tres minime...
je ne sais pas si ca peut t'aider mais en tout cas je l'espere
http://www.parksabers.com/ ( voila l'adresse du site principal )
___________________________________________________
j'ai également une ou deux petite question
1) personnellement je suis pas un genie de l'informatique, par contre je travail dans une entreprise de film d'animation, et je m'occupe de la partie 3d de cette entreprise.
je sais modéliser sous les softs de 3d, mais je travail avec des gens dont le talent de modelisation en argile ou en patte a modeler dépasser de loins nos capaité de modélisation 3d.
maisle probleme est qu'aucun de nous ne serait en mesure de faire tout ce que j'ai pu lire sous linux ( installer le soft, gerer les fonctions etc.)
ma question est donc celle ci,
y aurait il moyen d'adapter ce prinipe sur un soft qui tournerai sous window?
l'autre question est celle ci
saurais tu ou je peu trouver des adresse sur les prix fonctionnalité, et entreprise qui développe les scanner 3d,
mais non pas les scanner qui utilise le balayage laser pour scanner, mais le stylo qui permet en cliquant sur le modele volume, de marquer des points dans l'espace...
il me semble que ce principe fonctionne avec une table magnetique qui capte la position du stylo par rapport a la table ( niveau zero) et qui reproduit le point sous un soft en prennant en compte la position en longueur largeure et hauteur par rapport a la tablette et la retranscrit en x, y et z...
merci d'avance
[^] # Re: Question bête.
Posté par 16aR . Évalué à 1.
On vient de recevoir les moins cher des bras a retour d'effort (les Omni phantom de sensable). Ils livrent avec le bras un SDK pour windows, linux et mac os x. Je vais travailler dessus les 2 prochaines semaines (sous windows, malheureusement) pour un projet qui n'a rien a voir avec ta question, mais par contre ils vendent des plugins pour 3DSMax, maya et encore un autre soft 3D pour utiliser le bras pour sculpter un mesh.
Avec la nouvelle version de blender qui intègre une sorte d'outil de ce genre (le bbrush sculpt, je crois), il faudrait créer une sorte de "curseur 3D" dans blender et le mapper au bras. Apres ca devrait permettre pas mal de choses :)
Par contre, je pars de mes cours dans 2 semaines, donc je n'aurai pas le temps de m'y coller, et je ne pense pas avoir la capacité non plus.
Le bras coute environ 3000 ¤ ( c le moins cher il me semble, et j'ai testé les démos, c pas mal au niveau du rendu)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.