Nouvelle version de COPOS

Posté par (page perso) . Modéré par rootix.
0
7
nov.
2005
Technologie
L'utilisation d'un scanner 3D peut être envisagée pour faciliter la tâche et faire gagner du temps aux artistes / graphistes. Pour l'utilisateur moyen de logiciel de modélisation 3D, ça peut être vital. Mais les scanner 3D très bon marché n'existent pas à l'heure actuelle.

COPOS est le logiciel qui permet de franchir une première étape : il permet de passer d'une séquence vidéo à un nuage de points. La vidéo est enregistrée au moyen de trois éléments : webcam, barrière laser et plateau rotatif très simple à construire.

Le site du projet propose, d'une part, une approche théorique de la numérisation au moyen d'une barrière laser, ainsi que la reconstruction à partir de nuage de points et d'autre part l'approche pratique avec les plans de construction du scanner ainsi que le logiciel pour exploiter la vidéo. La nouvelle version de COPOS apporte une modification majeure : l'utilisation d'un fichier vidéo en lieu et place de l'utilisation de la webcam. Ce changement fondamental va permettre de porter COPOS sur d'autres systèmes que GNU/Linux et surtout faire disparaître cette désagréable dépendance aux pilotes de webcam.

COPOS fonctionne actuellement avec les bibliothèques suivantes :
  • GTK 2.4
  • GTK-GL
  • FFMPEG

Un logiciel de reconstruction plus complet que Crust est actuellement en développement.

Aller plus loin

  • # A propros ...

    Posté par . Évalué à 6.

    Le lien vers la news précédente : http://linuxfr.org/2004/09/06/17169.html

    J'ai pu voir une démo de Copos et de Crust la semaine dernière par son auteur (Ronan Billon), et c'est vraiment pas mal du tout le résultat de l'affichage des points à partir de la vidéo. D'ailleurs Ronan si tu me lis, ça serait sympa que tu postes quelque part un fichier vidéo d'exemple afin que plus de monde puisse faire des tests.

    Bref, je vais essayer de trouver un peu de temps pour t'aider à avancer Crust pour que ce soit utilisable (genre pour l'export des objets et le passage des nuages de points en paramètres d'entrées :).

    En tout cas, je te félicite encore pour ton boulot, ton site manque juste un peu d'infos par rapport à ce que j'ai pu apprendre le semaine dernière avec toi (utilisation d'une lib 3D d'un labo de recherche de Sophia pour Crust ...).
    • [^] # Re: A propros ...

      Posté par (page perso) . Évalué à 10.

      Je te lis !
      Je vais faire une nouvelle documentation pour l'utilisation de copos que je vais rajouter dans le package contenant les sources. Je vais faire quelques captures de films un peu plus abouti que ceux que je t'ai montré. Il seront aussi dans le package.

      Pour le lib géométrique, il s'agit de CGAL (http://www.cgal.org/). Pour l'instant, Crust n'est pas sortable, c'est pour ça que je n'en parle pas.
      • [^] # Re: A propros ...

        Posté par . Évalué à 3.

        Arf désolé d'avoir cassé ton effet de sortie en parlant de Crust :/. Bon pour te dédommager je vais t'aider en codant sur Crust, en attendant je vais remettre doucement mon cerveau en mode "codage en C" :).
        • [^] # Re: A propros ...

          Posté par (page perso) . Évalué à 7.

          Crust est en C++. Ne te trompe pas de mode.
          C'est pas grave pour l'effet de sortie, surtout que je sais pas quand il aura lieu :-)
  • # Pas mal du tout !

    Posté par . Évalué à 5.

    L'an dernier, un collègue a donné comme sujet de TPE en trem S la réalisation d'un scanner à l'aide de COPOS.
    Cela a vraiment bien fonctionné ! Si en plus on peut maintenant utiliser une source vidéo de meilleur qualité qu'une Webcam (camescope ?, APN ?), on devrait vraiment pouvoir faire des choses bien :

    si on scanne avec un APN en 3 ou 4 millions de pixels, on doit pouvoir faire de sacrés nuages de points ! seul souci, focaliser correctement la ligne laser. Peut-être que le mieux serait d'utiliser un miroir tournant comme dans les imprimantes laser pour faire la ligne plutôt qu'un réseau cylindrique ?

    Maintenant, reste la construction du maillage... mais à ma connaissance, il n'y a pas d'outils libres vraiment aboutis.
    • [^] # Re: Pas mal du tout !

      Posté par . Évalué à 2.

      > Maintenant, reste la construction du maillage... mais à ma connaissance, il n'y a pas d'outils libres vraiment aboutis.

      Ben si justement, Crust permet de faire le maillage de l'objet scanner à partir du nuage de points. Ca marche vraiment pas mal dans la dernière version qu'a réalisée Ronan, par contre, il ne semble pas l'avoir mise à jour sur son site, il voulait semble t'il faire encore quelques modifs avant le proposer au téléchargement.
    • [^] # Re: Pas mal du tout !

      Posté par (page perso) . Évalué à 3.

      J'ai eu qqs demande de lycéens pour un peu d'aide, c'était très sympa. Je remercie le ou les professeurs qui ont proposés ce sujet, ça m'a permis d'avoir quelques retours. En plus, les lycéens m'ont donné l'impression d'avoir apprécié.

      Pour le laser, il en existe qui forme directement une ligne, je ne sais pas où en trouver mais j'en ai déjà vu.

      Pour la reconstruction du maillage, il y a la bibliothèque CGAL (cf commentaire précédent). Elle est plus qu'abouti, mais il faut faire le logiciel qui l'utilise. Un peu de patience sera nécessaire :-)
      • [^] # Re: Pas mal du tout !

        Posté par . Évalué à 3.

        J'en ai deux qui font directement des lignes. Ce que j'ai trouvé de mieux c'est un niveau laser black & decker dispo chez brico, casto, ...
        je l'ai payé moins de 30¤. Oui c'est plus cher mais c'est pas un composant au détail comme chez conrad, c'est un niveau à bulle laser.

        voili.
      • [^] # Re: Pas mal du tout !

        Posté par . Évalué à 3.

        En effet, j'ai hâte de voir une version aboutie libre de crust/CGAL, pour comparer avec PET, surfacer et voir ce que l'on arrive à faire ensuite dans SolidWorks ou Catia. As-tu en projet d'aller jusqu'aux carreaux NURBS ?

        Je vais voir si je ne peux pas relancer le projet au niveau BTS CIM (pour la session 2006 c'est trop tard, en revanche en projet de 1ere année pourquoi pas), pour la réalisation d'une partie mécanique et optique plus propre. Cela serait interessant, car nous disposons d'un scanner Minolta VI700, ce qui permettra de comparer les résultats.

        Donc si tu as des demandes particulières au niveau de la réalisation, on peut voir ensemble, Transmets-moi un cahier des charges pour le hardware, je serai très heureux de faire avancer ce beau projet libre !
        • [^] # Re: Pas mal du tout !

          Posté par (page perso) . Évalué à 3.

          Pour l'instant, non je n'ai pas prévu d'aller jusqu'aux carreaux NURBS. Il y aura peut être prochainement dans CGAL un moyen de le faire, mais ça prendra du temps pour que je le met en place dans crust.

          Merci pour la proposition d'aide au niveau hardware.
      • [^] # Re: Pas mal du tout !

        Posté par . Évalué à 4.

        Les lycéens c'étaient peut être moi. Par contre dans mon cas, ce n'était pas les profs qui avaient donné le sujet mais bien nous qui l'avait choisi. En tout cas, j'ai eu la note maximal grâce à vous. Je me suis vraimment régaller à passez 2h à régler la hauteur du laser ou encore à mettre des engrenages à la suite pour avoir tant de seconde pour faire un tour.
        Dans la version de Crust, il ne fallait pas trop de point, sinon, le PC surchargeait (2200+, 512MO de ram). Ce que j'ai pu apprendre des diiférent testes, c'est que finnalemment, il ne faut pas une rotation du plateau trop lente (trop haute résolution dans ce cas), et il faut une salle bien sombre. Mon TPE est en ligne mais, le site marche pas bien, je vous tiens au courant.
        • [^] # Re: Pas mal du tout !

          Posté par . Évalué à 0.

          Au lycée Diderot Paris ?
        • [^] # Re: Pas mal du tout !

          Posté par . Évalué à 2.

          Pour ce qui est de la surcharge avec Crust, l'utilisation de CGAL (voir au dessus) permet de gagner énormément de temps d'après ce que Ronan m'a montré, surtout quand le nuage de point devient volumineux.
        • [^] # Re: Pas mal du tout !

          Posté par . Évalué à 6.

          Je suis très ignorant de tout ça mais je trouve le projet passionant et interpelant.
          J'étais étonné de voir que copos se sert d'un calcul sur la rotation du plateau pour faire son nuage de point.
          Et si on mettais sur le plateau une led bleu et une led verte (enfin deux couleurs différentes du laser) et que ce soit la position des ces points qui donne l'angle de rotation du plateau, alors on pourrait envisager de tourner le plateau à vitesse non constante (moins vite sur les parties à détailler) voir même de reprendre une partie de la rotation pour ajouter des points au nuage.
          <mode intuitif>
          Encore plus fou, avec une troisième led d'une autre couleur au centre au dessus de l'objet, on pourrait envisager de tourner dans (presque) tous les sens l'objet à la main (tant que la caméra et le laser restent fixe). Le triangle des trois points permetant de calculer la matrice de transformation à appliquer aux points.
          </mode intuitif>
          • [^] # Re: Pas mal du tout !

            Posté par (page perso) . Évalué à 6.

            Il y a beaucoup d'améliorations que l'on peut apporter au système. Que ce soit au niveau hardware ou software. Mais ça prend du temps.

            Juste pour donner une petite idée de travaux effectués dans les labos de recherche : http://graphics.stanford.edu/papers/rt_model/
            Je trouve la vidéo très impressionnante. (Conclusion : aidez la recherche. Donnez des sioux (écrivez à l'arc :P))

            La prochaine amélioration, que j'imagine, serait le support d'un deuxième flux vidéo pour permettre de "voir" les zones d'ombres.
            • [^] # Re: Pas mal du tout !

              Posté par . Évalué à 3.

              La prochaine amélioration, que j'imagine, serait le support d'un deuxième flux vidéo pour permettre de "voir" les zones d'ombres.


              On pourrait en effet faire cela avec une seule caméra, en inversant les positions de la camera et du laser. mais dans ce cas il faut indexer le plateau afin de retrouver ses marques.
            • [^] # Re: Pas mal du tout !

              Posté par (page perso) . Évalué à 8.

              > Je trouve la vidéo très impressionnante. (Conclusion : aidez la
              > recherche. Donnez des sioux (écrivez à l'arc

              Sauf que très peu de logiciels de la recherche publique sont des logiciels libres ! J'ai par exemple tout ce qu'il faut pour reconstruire des NURBS à partir d'un nuage de points sous la main avec des logiciels maison MAIS pas de diffusion de ceux-ci (ne rêvez pas) !

              Ca me scandalise et je ne code pas une ligne de ces logiciels mais c'est un cas très courant, voire de plus en plus courant. Recherche public -> Valorisation -> Licence payante. Par ailleurs, on utilise de plus en plus de logiciel libre fait par des laboratoires étrangers plutôt que par des laboratoires de recherche public francais.

              Bref, on est tombé sur la tête et cela ne s'arrange pas...
              • [^] # Re: Pas mal du tout !

                Posté par (page perso) . Évalué à 1.

                Est-ce que tu pourrais montrer quelques images de nuage points puis de reconstruction ?
                Ca m'intéresse beaucoup ! Et aussi le temps et le travail pour arriver à un résultat probant.

                Tu travailles dans quel labo ?
      • [^] # Re: Pas mal du tout !

        Posté par . Évalué à 2.

        En effet nous avons réellement apprécié ton projet et l'aide apportée. (au départ on nous a proposé un projet plus banal, réaliser le site du lycée, et quand j'ai découvert ton site, ici-même, j'ai tout de suite eu envie de travailler autour de COPOS.)

        Sinon, pour information, nous avons réalisé la barrière laser grâce à la partie tubulaire d'une eprouvette fournie par le laboratoire de chimie, et celà fonctionne très bien, la ligne est homogène sur une assez grande distance. (pour éviter l'achat d'un laser "en ligne" qui pourrait se révéler trop onéreux)

        D'ailleurs c'est une expérience qui se prete bien aux TPE puisque les laboratoires de sciences physiques ont tout ce qu'il faut pour la construction : crémaillère pour réglage en hauteur, lasers, alimentation...
        Nous n'avons eu à commander qu'une webcam et un kit de réduction pour le plateau tournant, comme indiqué sur ton site.
  • # Blender ?

    Posté par . Évalué à 6.

    Je regarde ce projet avec intéret du point de vue d'un artiste qui utilise des logiciels libres, et je me demandais si une intégration avec blender (surtout de crust) ne serait pas une bonne idée ? Ca permettrait d'avoir directement tous les outils pour pouvoir nettoyer le maillage et le modifier ensuite, pour finalement en faire des chouettes rendus !

    En tant qu'artiste je dois dire qu'une génération de maillage a partir de nuage de points est quelque chose que j'ai souvent désirée en tant qu'outil de modélisation, mais que j'ai fait manuellement jusqu'a présent :)

    En tout cas, bravo pour ce projet :)
    • [^] # nuages de points

      Posté par (page perso) . Évalué à 3.

      Peut etre tu peut faire un truc interessant avec http://graphics.ethz.ch/pointshop3d/
      (opensource mais pas libre je crois...)

      J'avais en prj d'en faire un pkg debian .. a suivre

      gpg:0x467094BC

      • [^] # Re: nuages de points

        Posté par (page perso) . Évalué à 2.

        Ce logiciel est orienté point, il n'y a pas de maillage qui les relit. Chaque point renferme tout un tas de donné pour permettre un bon rendu. Cette approche est très intéressante pour faire des modèles déformable/très déformable, au contraire des maillage qui donne une rigidité aux objets. Avec ça on peut facilement faire de la pate à modeler, faire couler puis solidifier des objets (http://www.pointbasedanimation.org/).
        Très intéressante comme approche.

        Pour le maillage, comme je l'ai dit plus haut, crust n'est pas encore sortable.
  • # Logiciel webcam

    Posté par (page perso) . Évalué à 2.

    Je cherche actuellement un logiciel qui permet de paramétrer une webcam philipps (gain+temps d'exposition) puis d'enregistrer une séquence vidéo dans un format supporté par ffmpeg. Actuellement, j'utilise streamer et mencoder ce qui n'est pas l'idéal. Si vous avez des suggestions de logiciel ???
    • [^] # Re: Logiciel webcam

      Posté par (page perso) . Évalué à 9.

      Qastrocam : http://3demi.net/astro/qastrocam/doc/
      Je l'utilise en astronomie, c'est son but premier. Mais TOUS les reglages sont accessibles. (attention, il y a un mode expert si tu veux regler d'autres choses que le gamma, la luminosité, l'expo, le gain)

      Et tu peux choisir la resolution.

      Il est assez intuitif je trouve et tu peux l'utiliser, il sort des AVI (bruts, non encodés). C'est un peu lourd, mais un coup de transcode et c fini.

      De plus, si tu utilises une webcam philips, je ne saurais trop te conseiller de mettre :
      1) le shaprness a 0 (option expert). ceci permet aux fortes zones contrastées de ne pas être electroniquement améliorée. Ca permet d'avoir une image un peu moins piquée mais plus réaliste.
      2) de te renseigner sur le mode "RAW" des toucam pro. http://www.astrosurf.com/astrobond/ebrawf.htm
      Ca te permettra de faire des images dans un noir encore plus total ;)
      3) j'ai une webcam avec un capteur N&B TRES sensible. Il suffit de trouver le bon capteur et de le remplacer... hyper sensible.
      4) superbe proje t !
      • [^] # Re: Logiciel webcam

        Posté par (page perso) . Évalué à 2.

        Merci, je vais me pencher sur ce soft.

        Dans mes recherches, je suis tombé par hasard sur gv4l (http://gv4l.sourceforge.net/). Je ne l'ai pas testé mais il semble aussi intéressant (sauf pour les réglages experts de philips)
        • [^] # Re: Logiciel webcam

          Posté par (page perso) . Évalué à 7.

          effectivement...sauf que siil faut a chaque fois ouvrir la boite settings pour regler ton image en continu... c ch**. Sous windows, c'est le probleme, il faut ouvrir une autre fenetre que ton logiciel pour avoir acces aux reglages des cam... et c'est super lourd (par -10 en Janvier, qd tu fais de lastro, tu evites de trop sortir tes mimines pour jouer avec la souris).
          Qastrocam a pour lui la simplicite d'utilsation et la compatibilité avec TOUTE webcam reconnue par V4L. En plus, Si tu as une philipps toucam (2) pro (ou vista pro) flashe la (voir le site que j'indiquait plushaut) le gain est tres sensible.

          Le top du top : si tu peux programmer ta rotation de l'objet (avec des moeut Pas a pas et un controleur PIC) par exemple, tu peux faire une sequence du style :
          tourne de 5° stop pendant 5s, tourne de 5°, stop de 5 secondes etc.
          Et que te feras Qastrocam ? Non seulement, il te fera un petit film toutes les 5 secondes, mais en plus il pourra "sommer" (addtionner ou encore compositer) les images pour augementer le rapport signal/bruit. le tout de maniere automatique.
          C'est ce que nous faisons (les astronomes) pour obtenir les photos avec des appareils numériques. Le gain en en racine de n, n étant le nb d'images. (5 secondes a 10 img/s -> 50 images -> rapport signal/bruit augmenté par 7 !!)

          Ensuite, yapuka faire un petit mencoder avec lesimages obtnues et hop tu as un zoli film.
          • [^] # Re: Logiciel webcam

            Posté par . Évalué à 4.

            marrant il ne propose pas "l'autre moyenne". Ya la "somme (image)/n" mais pas la "produit (image)^(1/n)", cela devrait donner des images interrecsantes.

            "La première sécurité est la liberté"

            • [^] # Re: Logiciel webcam

              Posté par . Évalué à 3.

              Pour info :

              La moyenne où on somme les valeurs et on divise le résultat par le nombre d'éléments est la moyenne arithmétique.

              La moyenne où on multiplie les valeurs et on réduit à la racine du nombre d'éléments est la moyenne géométrique (le log de la moyenne géométrique est égal à la moyenne arithmétique des log des éléments).

              Voir http://fr.wikipedia.org/wiki/Moyenne pour encore plus de détails.

              Voilà, c'est plus facile de donner un nom aux choses ;-)
            • [^] # Re: Logiciel webcam

              Posté par (page perso) . Évalué à 3.

              Interessant ce que tu dis la... je n'ai jamais vu utilisé la moyenne geometrique pour le traitement de l'image. Serait-ce parce que personne n'y a pensé ou que tout simplement cela n'apporte rien ?
              On fait cela car le bruit est aleatoire contrairement au signal. Change-t-on le rapport signal/bruit via une multiplication ?
              A creuser. y a-t-il des specialistes du traitement d'image dans la salle ?
              • [^] # Re: Logiciel webcam

                Posté par . Évalué à 3.

                une moyenne est une moyenne. Disons que le comportement en cas de grande différence est différent. Je testerais quoi.

                "La première sécurité est la liberté"

                • [^] # Re: Logiciel webcam

                  Posté par (page perso) . Évalué à 2.

                  La différence est grande ici, mais surtout le bruit a un caractère aléatoire, ce qui fait qu'il se dilue sur la surface de ton image contrairement a un signal qui lui est toujours présent. donc non seulement la différence est assez grande mais en plus la répartition compte pour beaucoup. (aleatoire dans le cas du bruit)
                  Bref. A creuser ;)
                  • [^] # Re: Logiciel webcam

                    Posté par . Évalué à 2.

                    Si le but est de virer le bruit numérique, la téchnique de "réduction de bruit" des APN peut être utilisé. En gros, tu prends une photo "noire" sans ouvrir l'objectif de même temps de pose et tu soustrais le résultats à ta photo d'origine et adieu les points chaud.

                    "La première sécurité est la liberté"

                    • [^] # Re: Logiciel webcam

                      Posté par (page perso) . Évalué à 2.

                      ca n'a rien a voir :)
                      le bruit dont tu parles est un bruit dit thermique.
                      Il y a 2 bruits : le thermique et le electronique.
                      la vraie formule c'est signal total = (image-bruit thermique(ce dont tu parles) - bruit electronique (appelé aussi offset) ) / (Plage de lumière uniforme -bruit thermique(ce dont tu parles) - bruit electronique (appelé aussi offset) ).
                      et ce signal total tu le sommes N fois pour augmenter le rapport signal/bruit de racine(N).
                      Voili. http://www.astrosurf.com/aude/ pour plus d'information. (-> menu comprendre )

                      Souvent, l'offset n'est pas enlevé et on ne prend pas la peine de faire une PLU. Donc, la formule devient : signal total = image- bruit thermique.

                      Dans le cas de webcams dans le noir, si la pose ne depasse pas 1/5e de seocndes, il y a rarement plus de 1 pixel chaud. (ou alors il y a un capteur tout pourri ;) ). Par contre... aubout de quelques secondes de poses... la question se pose. A+
  • # Usinage 3D

    Posté par . Évalué à 1.

    Je m'interesse à l'usinage de figurines 3D, et il existe des mini fraiseuses (A4) à commande numérique (CIF, Charly Robot par exemple) capables d'usiner des pièces en 3D ou 2D+ (Bas relief).
    Comment interfacer COPOS / BLENDER avec ce type de machine ?
    L'idée est de scanner une forme, la reconstituer avec COPOS, modifier avec BLENDER et usiner avec la machine.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.