IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Traitement d'images Discussion :

Méthodologie de traitement d'images?


Sujet :

Traitement d'images

  1. #1
    Membre confirmé Avatar de airballman
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 256
    Par défaut Méthodologie de traitement d'images?
    Bonjour,


    Ca fait un moment que je ne me suis pas connecté ici, mais je pense trouver les ressources qui vont pouvoir répondre à mes interrogations sur ce site .

    Je travaille presque tous les jours au développement d'applications à composante traitement d'images. Je m'occupe non seulement de la partie algorithmique, mais également de tout le déploiement autour (encapsulation, sortie des flux, gestion des alarmes, . . .. ).
    Mes applications sont souvent embarquées, et j'obtiens mes résultats en temps réèl, ou presque.


    Plus le temps passe, et plus je m'occupe de partie "R&D", pour lesquelles la bibliographie est relativement faible, ou inexistante. Etant en entreprise, j'ai de plus des délais souvent courts.

    Je voudrais savoir si vous connaissiez, comme pour le développement software plus classique, des méthodologies qui permettent de créer des applis de traitement d'images.
    Il n'est pas toujours facile de savoir quelle méthode utiliser plustôt qu'une autre, ou à quel moment, . . . Et ça se joue beaucoup au tatonnement et à l'expérience pour ma part.


    Comment faites-vous?


    Merci d'avance, je suis très curieux de vos réponses !

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Citation Envoyé par airballman Voir le message
    Ca fait un moment que je ne me suis pas connecté ici, mais je pense trouver les ressources qui vont pouvoir répondre à mes interrogations sur ce site .

    Je travaille presque tous les jours au développement d'applications à composante traitement d'images. Je m'occupe non seulement de la partie algorithmique, mais également de tout le déploiement autour (encapsulation, sortie des flux, gestion des alarmes, . . .. ).
    Mes applications sont souvent embarquées, et j'obtiens mes résultats en temps réèl, ou presque.


    Plus le temps passe, et plus je m'occupe de partie "R&D", pour lesquelles la bibliographie est relativement faible, ou inexistante. Etant en entreprise, j'ai de plus des délais souvent courts.

    Je voudrais savoir si vous connaissiez, comme pour le développement software plus classique, des méthodologies qui permettent de créer des applis de traitement d'images.
    Il n'est pas toujours facile de savoir quelle méthode utiliser plustôt qu'une autre, ou à quel moment, . . . Et ça se joue beaucoup au tatonnement et à l'expérience pour ma part.
    C'est normalement ta connaissance du domaine après avoir fait de nombreux état de l'art qui te permet de "sentir" quels algorithmes seront pertinents pour ton problème. Je ne pense pas qu'il y ait de recette miracle.

    Par contre le traitement d'images est maintenant une discipline qui a de l'ancienneté, donc l'état de l'art pour la plupart des sujets est très bien fournie.

    Si tu veux gagner du temps, il est souvent conseillé d'utiliser des plateformes/environnements qui te permettent de prototyper. Mais il semble que tu utilises déjà MatLab.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 618
    Par défaut
    D'accord avec ToTo13. Proof of concept et prototypage rapide sous matlab ou python (SciPy, NumPy, PIL). Mais, on peut aussi utiliser Photoshop (ou autre) pour voir rapidement le résultat d'un filtre.

    Après, j'essaye de faire dans l'ordre (valable pour n'importe quel développement) :

    1. Quelque chose qui marche :
      Permet de valider que l'utilisateur aura bien ce qu'il veut.
    2. Quelque chose qui marche bien :
      Permet de voir si le bouzin est robuste ou pas. Ca permet aussi de détecter des problèmes de conception : si le programme est un nid à bug, c'est souvent parce que l'architecture est trop compliquée et mal pensé.
    3. Quelque chose qui marche vite :
      C'est toujours risqué de se dire "c'est lent mais on optimisera à la fin", car l'ago utilisé peut être tout simplement trop lent et les optims n'y changeront rien, mais c'est encore plus dangereux d'optimiser au début car on perd souvent du temps à optimiser des choses qui finalement n'en ont pas besoin. De plus, le point 2 permet de voir vraiment qu'est-ce qui a besoin d'être optimisé.

  4. #4
    Membre confirmé Avatar de airballman
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 256
    Par défaut
    Merci pour vos réponses

    Je ne suis plus sur Matlab depuis un moment, mais Python est un équivalent tout à fait acceptable pour ce qui est du prototypage.

    J'ai en effet quelques notions deans le domaine, et j'ai déjà pas mal écumé la littérature concernant certaines techniques.

    Mais il arrive bien souvent que je tombe sur des sujets très "réèls" qui n'ont pas été traités dans la recherche.
    Il m'est donc dificile de trouver des sources sur le sujet.
    Par contre, au vu du nombre toujours croissant de personne travaillant dans le domaine, il y a toujours des applications qui se raprochent fortement de par leur nature.

    Un exemple concret : la détection/extraction de cellules au microscope, et l'extraction de pièces mécaniques en vrac.
    J'ai déjà vu une expérience sur des calculs de nombre et tailles de vis, qui ressemblaient très fortement à des cellules.
    Aucune ressource n'était disponible sur le sujet des "vis". par contre le sujet a largement été traité pour des cellules.

    Et bien rechercher dans les articles de biologie n'est pas immédiat quand on fait de la mécanique.

    Il m'est déjà arrivé plusieurs fois de planher longtemps sur un aglo pour me rendre compte que des domaines connexes pour lesquels je n'avais aucune notion pouvaient m'aider.

    Je trouve dommage de devoir tatônner comme ça, la masse d'informations est souvent un frein pour ce qui est de la conception d'algorithme :s .


    Je suis tout àa fait d'accord avec toi Pyros, et c'est également le genre de méthode que j'utilise.
    Mais ma question se situe à l'intérieur de ton étape 1. Comment savoir vers ou chercher pour avoir des chances de trouver une solution viable. Je trouve que le tatônnement est une méthode bien rustre en 2011 !

  5. #5
    Membre confirmé Avatar de airballman
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 256
    Par défaut
    Et pour en ajouter un peu :

    J'a acheté plusieurs livres de référence en matière de traitement d'images ces dernières semaines.
    Tous possèdent quasiment la même sutrcutre:
    Méthode d'extraction, de segmentation, de détection, morphologie . . ..

    Aucun ne prend le temps d'expliquer l'enchaînement logique d'élements qui vont permettre d'aboutir à un résultat final, ni dans quel cas l'un des méthodes est plus indiquée qu'une autre par exemple. . .

  6. #6
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 618
    Par défaut
    Je ne peux que te renvoyer vers les 4 préceptes de Descartes (surtout le 1er et le 2ème). Un peu pompeux comme présentation, mais grossièrement ça correspond à:

    - Ne pas prendre pour vrai quelque chose qui ne te parait pas évident ou qui n'a pas été démontré comme vrai (ne pas se fier à "ce qui à l'air d'être").
    - Découper un gros problème en sous-problèmes, et ce récursivement jusqu'à n'avoir que des problèmes élémentaires.
    - Régler les problèmes en partant du bas pour remonter vers le problème global.
    - Vérifier qu'une solution couvre bien le problème énoncé et pas seulement les 3 tests unitaires qui servent à sa validation.

    Un problème rigoureusement formalisé et bien découpé, c'est déjà 80% du boulot de fait. Après seulement on peut aller chercher ce qui existe dans la littérature pour résoudre chaque sous-problèmes.

    C'est un fléau que l'ont rencontre souvent dans le forums. Une personne arrive et dit "je veux trier des personnes par ordre du plus vieux au plus jeune. J'ai une class Personne avec un attribut age mais Martin n'est jamais à la bonne place"...
    Qu'est-ce qu'on en a un f*** qu'il ait une classe Personne et un type qui s'appel Martin. Ce qu'il cherche c'est à implémenter un algorithme de trie. Et s'il avait cherché "algorithme de trie" plutôt que "classer des personnes par age", il aurait eu plus de réponse

    C'est très caricaturé, mais grossièrement c'est ça. Il faut s'abstraire du domaine dans lequel on bosse formaliser réellement le problème qu'on essaye de résoudre.

  7. #7
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Citation Envoyé par airballman Voir le message
    Je ne suis plus sur Matlab depuis un moment, mais Python est un équivalent tout à fait acceptable pour ce qui est du prototypage.
    Euh.... NON !
    Les outils pythons ne représentent pas 10% de ce que MatLab propose, sans compter tout ce que les utilisateurs laissent à disposition.



    Citation Envoyé par airballman Voir le message
    Mais il arrive bien souvent que je tombe sur des sujets très "réèls" qui n'ont pas été traités dans la recherche.
    ...
    Un exemple concret : la détection/extraction de cellules au microscope, et l'extraction de pièces mécaniques en vrac.
    Ou pas... :s
    Je travaille moi même depuis plus de 5 ans en biologie cellulaire (plutôt caractérisation/classement) et l'extraction/segmentation des cellules a été largement traité. Mais le sujet reste ouvert car les technologies d'acquisition évoluent.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  8. #8
    Membre très actif
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Par défaut
    Il y a beaucoup de "méthodologies" en informatique.
    parce qu'aucune n'est vraiment convaincante.
    ( à part les + générales , Descartes ou Kiss, qui ne semblent pas les + employées )
    S'il y a des développeurs, c'est que le tâtonnement et l'expérience sont indispensables, sinon des machines feraient le boulot.

    C'est quelque chose de difficile à transcrire dans un livre. Les livres traitent des points les plus précis et les moins discutables. Et puis quand un bouquin est sorti, les suivants lui ressemblent.
    Avec ton expérience, tu serais le mieux placé pour écrire ce livre que tu souhaites
    Sinon il y a ce vaste trésor d'intelligence qu'est le forum de développez.com

  9. #9
    Membre confirmé Avatar de airballman
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 256
    Par défaut
    Citation Envoyé par ToTo13 Voir le message
    Euh.... NON !
    Les outils pythons ne représentent pas 10% de ce que MatLab propose, sans compter tout ce que les utilisateurs laissent à disposition.




    Ou pas... :s
    Je travaille moi même depuis plus de 5 ans en biologie cellulaire (plutôt caractérisation/classement) et l'extraction/segmentation des cellules a été largement traité. Mais le sujet reste ouvert car les technologies d'acquisition évoluent.
    Tu cites mal :p.
    Je disais justement que la classif de cellules avait largement été traitée. Le tri de pièces mécaniques également, mais étant à composante industrielle on a plus de mal à trouver son bonheure dans les publis à disposition.

    Je me suis largement servi de méthodes de biologie lorsque je travaillais en classification sonar , et ça m'a d'ailleurs permis de publier !

    Concernant Matlab, je suis relativement d'accord avec toi. . . Sauf que je ne suis plus dans la recherche mais dans une TPE de 7 personnes. Et on aurait bien du mal à se payer une licence, sans parler des achats de Toolbox.
    En plus, il faudrait que l'on redéveloppe tout une fois terminé, parce que le code Matlab ne rentrerait pas dans nos cibles ARM optimisées.

    Python a donc également ses avantages, et le nombre de packages dispo lui permet de ne pas rougir . (Mais ceci est un autre sujet ).

  10. #10
    Membre confirmé Avatar de airballman
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 256
    Par défaut
    Citation Envoyé par Nebulix Voir le message
    Sinon il y a ce vaste trésor d'intelligence qu'est le forum de développez.com
    . . . et que j'essaie d'utiliser au mieux : )

  11. #11
    Membre averti
    Homme Profil pro
    Université de Technologie de Compiègne
    Inscrit en
    Mai 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Université de Technologie de Compiègne

    Informations forums :
    Inscription : Mai 2011
    Messages : 15
    Par défaut
    Les outils pythons ne représentent pas 10% de ce que MatLab propose, sans compter tout ce que les utilisateurs laissent à disposition.
    À ce propos, étant étudiant je ne peux, par exemple, pas me payer de licence Matlab.
    Est-ce que tu trouves que la puissance offerte par Scilab/Octave est suffisante et égale à Matlab, ou pas du tout ? Car j'entend souvent parler de Matlab et pas de Scilab, donc je me demande si vraiment la puissance de Scilab égale celle de Matlab comme le laisse penser mes professeurs.

  12. #12
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 618
    Par défaut
    Ayant utilisé Scilab et Matlab, je peux t'assurer que Scilab est à des années lumières de Matlab, en terme de performance, fiabilité et fonctionnalité. Mais bon, pour un logiciel gratuit, il s'en sort quand même très bien

  13. #13
    Membre confirmé Avatar de airballman
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 256
    Par défaut
    Citation Envoyé par pyros Voir le message
    Ayant utilisé Scilab et Matlab, je peux t'assurer que Scilab est à des années lumières de Matlab, en terme de performance, fiabilité et fonctionnalité. Mais bon, pour un logiciel gratuit, il s'en sort quand même très bien
    Je ne peux que confirmer. Sans compter que les versions de Scilab ne sont pas forcément compatibles entre elles.

    Encore une fois, je ne peux que te conseiller Python comme équivalent. Avec un peu d'entraînement et de recherche dans les modules déjà développés, on trouve quand même un grand nombre de choses intéressantes.

    L'idée n'est pas de troller on est d'accord, mais Python associé à ipython, pylab et numpy me semble un équivalent gratuit à MAtlab plus que correct.
    Tu trouveras plein de tutos sur internet permettant de s'interfacer avec matplotlib notamment.

    Voila pur moi

Discussions similaires

  1. Traitement d'images : quel langage?
    Par belasri dans le forum Langages de programmation
    Réponses: 19
    Dernier message: 07/10/2005, 10h59
  2. Réponses: 5
    Dernier message: 15/01/2005, 19h29
  3. commande c++ pour le traitement d'images
    Par mateo.14 dans le forum MFC
    Réponses: 2
    Dernier message: 12/01/2005, 11h46
  4. [lib] Traitement d'images
    Par Gogoye dans le forum Multimédia
    Réponses: 4
    Dernier message: 19/11/2004, 17h15
  5. Traitements d'image sur PNG avec transparence
    Par Ingham dans le forum Langage
    Réponses: 16
    Dernier message: 02/08/2004, 17h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo