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

Méthodes prédictives Discussion :

[Réseaux de neurones] Utilité pour de la reconnaissance de caractères


Sujet :

Méthodes prédictives

  1. #1
    Membre du Club Avatar de gaetan13
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 90
    Points : 56
    Points
    56
    Par défaut [Réseaux de neurones] Utilité pour de la reconnaissance de caractères
    Bonjour,
    J'ai une petite question a propos des neural network. J'ai mis beaucoup de temps à comprendre et encore tout n'est pas très clair.

    Mais je me demande l’utilité pour l'ocr, ce que je pensais faire au départ c'était comparer les matrix de bits de l'image a analyser avec celle d'une base de données...

    Je ne vois pas en quoi un neural network est plus performant. Merci

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Les ordinateurs, en général, utilisent en effet la méthode des matrix à comparer à une base de données.
    Et ils font beaucoup plus d'erreurs que mon neveu de 6 ans.

    Les humains ne se trompent pas, parce qu'ils déduisent les mots en fonction du contexte de la phrase, et de l'ensemble des lettres qui le composent, pas une lettre à la fois.
    C'est donc une sorte d'heuristique complexe à calculer, quel est le mot rencontré, voire quels sont les groupes de mots rencontrés, en fonction de "ce qui a été dit avant" et de quels mots sont en général représentés par les bouts de formes qui sont censés être ses lettres.
    Le domaine typique d'un réseau de neurones.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club Avatar de gaetan13
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    Merci pour la réponse,
    Ici le logiciel ne va pas lire des mots mais des séries de chiffres et de lettres donc ici pas de déductions complexes avec des dictionnaires, etc...

    Je vois toujours pas pourquoi il ferait plus d'erreurs, au lieu d'entrainer le network ici on constitue notre base. Et si on a une base bien complète je vois pas quelles sont les raisons qui font que le network s'en sortirait mieux.

    Dans les deux cas l’entrée est un matrix de bits que ce soit pour chercher dans la base de donnée ou pour les entrées du network, non ?

  4. #4
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut
    Citation Envoyé par gaetan13 Voir le message
    Je vois toujours pas pourquoi il ferait plus d'erreurs, au lieu d'entrainer le network ici on constitue notre base. Et si on a une base bien complète je vois pas quelles sont les raisons qui font que le network s'en sortirait mieux.?
    Si tes caractères son représentés par une image de 16*16pixels et 256niveaux de gris : il existe 16*16*256 = 65536 images possibles et donc 16*16*258/8 = 8ko par images. Ce qui représente 65536*8 = 512Mo de données à stocker.

    Tu peux voir que pour cet exemple simple il te faut ( avec la méthode brutale ) gérer 65536 objet dans 512Mo d'espace de stockage. Tu peux en suite comparer cela à la taille d'un réseau de neurones bien entrainé et en tirer les conclusions...

    Je ne pense pas que l'activation du réseau de neurones soit plus couteuse en calculs que la comparaison de ton image d'entrée avec les 65536 images de ta base! En générale elle l'est beaucoup moins, de plus les coefs de ton réseau de neurones n'occuperont jamais 512Mo pour la reconnaissance de caractères 16*16px*256gris

  5. #5
    Membre du Club Avatar de gaetan13
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    Je comptais faire la reconnaissance sur du noir et du blanc donc pas de niveau de gris. Et si non tu es vraiment sur de tes calculs :

    16*16*256 = 65536
    Moi je dirais plutôt pour des niveaux 256^(16*16).

    Et pour le N/B on a 2^(2*2) (avec une image de 2 par 2) ça donne 16, j'ai vérifie avec un arbre.

    Et sinon on stock pas toute les combinaisons d'images mais une base de données de caractères...

  6. #6
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut
    Citation Envoyé par gaetan13 Voir le message
    Et si non tu es vraiment sur de tes calculs :

    Moi je dirais plutôt pour des niveaux 256^(16*16).
    Oups en effet!! tu as raison, c'est encore bien pire : (16*16)^256 = 3.23*10^616 : là c'est vraiment beaucoup!!!
    Je trouvais bien que les valeurs étaient faibles, mais bon...

  7. #7
    Membre du Club Avatar de gaetan13
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    (16*16)^256
    C'est l'inverse 256 possibilités pour chaque pixels :

    256*256*256..... donc 256^(16*16) même si ça revient au même ici

Discussions similaires

  1. [Réseaux de neurones] Utilité du biais ?
    Par firepolo dans le forum Méthodes prédictives
    Réponses: 4
    Dernier message: 24/08/2012, 14h01
  2. L'outils-types en Matlab pour les réseaux de neurones
    Par MEKKI-AHMED dans le forum Méthodes prédictives
    Réponses: 4
    Dernier message: 02/03/2010, 14h48
  3. Réponses: 1
    Dernier message: 12/12/2008, 13h42
  4. API pour réseaux de neurones
    Par Mucho dans le forum Méthodes prédictives
    Réponses: 4
    Dernier message: 21/07/2008, 14h59

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