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

C# Discussion :

[C#] Reconnaissance de formes


Sujet :

C#

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut [C#] Reconnaissance de formes
    Bonsoir à tous,
    dans un projet que je souhaites faire avec un camarade, nous avons une série de photos. Dans le répertoire IN, nous mettons toutes les photos où le chat peut entrer dans la maison. Dans le répertoire OUT nous mettons toutes les photos où le chat sort. Dans le répertoire XX nous avons des photos diverses.

    Le but du jeu est que si on pioche une photo quelquonque dans le répertoire XX il faut reconnaitre sur la photo :
    + Si le chat n'a pas de souris dans la gueule, alors il peut rentrer à la maison, sinon non
    + Si le chat sort

    On pensait utiliser la corrélation entre 2 images, mais je suis perdu, car dans certains sites, il est dit que la corrélation entre 2 images ne peut se fait que sur des images en noir & blanc (et non en effet de gris) alors que d'autres sites prétendent que l'on peut faire de la corrélation d'images en couleurs...

    Pour comprendre un peu le truc, les photos sont dispos ici.

    Et vous que me conseilleriez-vous comme système ?

    Si je dois utiliser la corrélation entre 2 images, où puis-je trouver l'algorithme, parce que jusqu'a présent pas moyen de trouver de la doc dessus...

    En vous remerciant...

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Bonjour,

    Vu le type de photos que vous devez traiter, il faut effectivement les transformer en noir et blanc avant tout traitement.

    Ensuite, pour distinguer si le chat entre ou sort, c'est tout simple : il suffit de comparer la quantité de blanc de la demi-image de gauche par rapport à la demi-image de droite.

    Pour identifier si il y a une souris, une solution serait de calculer le nombre de pixels "de transition", c'est-à-dire les pixels blancs ayant un pixel noir dans leur voisinage.
    Au-delà d'un certain seuil, le contour sera considéré comme "complexe" : il y a donc une souris. Pour aider à définir ce seuil, on pourra regarder les nombres de pixels de transition obtenus à partir des images out (sans souris).

    Pour savoir si l'image peut être considérée comme significative, on vérifiera que la quantité de blanc représente entre un minimum de x% de l'image et maximum de y% de l'image. Les seuils x et y peuvent s'évaluer en calculant les proportions de blanc dans les images existantes (IN et OUt).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut
    merci

  4. #4
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Bonjour Grafito

    Au-delà d'un certain seuil, le contour sera considéré comme "complexe" : il y a donc une souris. Pour aider à définir ce seuil, on pourra regarder les nombres de pixels de transition obtenus à partir des images out (sans souris).
    Vu les images il me semble impossible de définir ce seuil de maniere sufisement fiable

    Pour savoir si l'image peut être considérée comme significative, on vérifiera que la quantité de blanc représente entre un minimum de x% de l'image et maximum de y% de l'image. Les seuils x et y peuvent s'évaluer en calculant les proportions de blanc dans les images existantes (IN et OUt).
    Meme reponse !!..



    Pour faire simple et rapide j'utiliserais plutot un vecteur de pixel en balayant l'image horizontallement

    La aussi j'utiliserais les transition mais plutot la transition clair / foncé le long
    du vecteur

    On peut garder le pixel en RGB et travailler sur la luminosité apres conversion HSL

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut
    Bonjour,
    en fait, j'ai binarisé mes images en utilisant l'algorithme d'otsu (après bien sûr avoir convertit mes images en effet de gris) ce qui me permet dans les images données d'avoir la lune blanche et le reste noir...

    D'après ce que j'en connais dans le domaine (très mais alors très peu il faut le dire) on pourrait la corrélation d'images parce qu'il me semble que cette façon de faire permet de mesurer la déformation d'une image ansi ça me permettrait de savoir si le chat a une souris dans la gueule.

    Par contre comme graphito l'a dit peut être qu'en prenant la moitié gauche de l'image X avec la moitié droite de l'image Y et en les comparant avec la corrélation j'arriverais à savoir si le chat est à droite ou à gauche...

    Par contre pas moyen de trouver de doc/algo expliquant bien comment arrivé à faire une corrélation...

    J'essaierai aussi en passant par le HSL, c'est toujours utile de connaitre plusieurs manières de résoudre un problème...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut Reconnaissance de formes
    La première phase du projet fonctionne. Maintenant je suis en train d'essayer la solution d' olibara.

    J'ai donc bien "convertit" l'image en transformant les valeurs RGB de chaque pixel en HSL et stocké chacun d'eux dans un tableau.

    Mais je bloque sur l'idée de transition clair / foncé. Qu'est-ce que l'on entend par transition ? Suffit-il de prendre un seuil de luminosité (par exemple 0.5) et en balayant le tableau compter le nombre de pixel clair / foncé et voir ainsi la réponse ?

    Auriez-vous l'amabilité de me donner plus de détail quant à la façon de faire cette transition ?

  7. #7
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Qu'est-ce que l'on entend par transition ? Suffit-il de prendre un seuil de luminosité (par exemple 0.5) et en balayant le tableau compter le nombre de pixel clair / foncé
    C'est effectivement l'idée

    et voir ainsi la réponse ?
    Je n'ai pas dis que la reponse surgira ainsi du chapeau

    Mais a l'aide d'une matrice des transition clair foncé l'analyse me semble déja beaucoup plus facile et pertinente qu'en traitant des simples pourcentage de repartition de couleur ou a tenter de faire e la reconnaissance de forme !

    Mais ce n'est une piste, a toi de voir

Discussions similaires

  1. Reconnaissance de forme par réseau neuronal
    Par Rémiz dans le forum Méthodes prédictives
    Réponses: 34
    Dernier message: 28/05/2007, 16h41
  2. Reconnaissance de "forme" sur une fonction
    Par Nemerle dans le forum Traitement du signal
    Réponses: 13
    Dernier message: 20/10/2006, 11h23
  3. reconnaissance de formes dans un Fichier Avi
    Par renovator dans le forum C++Builder
    Réponses: 1
    Dernier message: 05/07/2006, 09h40
  4. [MasterPage] Reconnaissance de Form
    Par Kylen dans le forum ASP.NET
    Réponses: 8
    Dernier message: 04/07/2006, 15h33
  5. Algos pour reconnaissance de formes
    Par Laurent Gomila dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 09/12/2005, 10h34

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