begin process at 2012 05 27 20:03:47
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > INTELLIGENCE ARTIFICIELLE (RECONNAISSANCE DES FORMES EN TEMPS RÉEL)

INTELLIGENCE ARTIFICIELLE (RECONNAISSANCE DES FORMES EN TEMPS RÉEL)


 Information sur la source

Note :
9,8 / 10 - par 5 personnes
9,80 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths & Algorithmes Classé sous :intelligence, artificielle, neurone, reseau, IA Niveau :Initié Date de création :21/04/2005 Date de mise à jour :07/02/2011 04:17:45 Vu / téléchargé :38 998 / 5 642

Auteur : ciddu42

Ecrire un message privé
Commentaire sur cette source (28)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
programme d'intelligence artificielle utilisant les reseaux de neurones, il apprend les formes dessiné, j'ai limité l'apprentissage a 256 formes,  pour donner des statistiques, en moyenne : pour apprendre les 26 lettres de l'alphabet + les 10 chiffres tel quel, il faut au reseau 40 millisecondes, et pour reconnaitre leurs formes il faut environ 10 secondes d'apprentissage. le temps d'apprentissage est donné en millisecondes.


 Conclusion

10/07/2005 : mise à jour, c'est l'avant dernière avant la version en C++.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

21 avril 2005 19:33:13 :
.
21 avril 2005 20:17:08 :
Bug de décuplication des formes corrigé
23 avril 2005 15:16:10 :
rajout du fichier exe , j'ai aussi reorganisé, et espacé le code pour une meilleur lisibilité.
28 avril 2005 15:31:57 :
j'ai inclut l'algorithme de reconnaissance en temps réel !
28 avril 2005 19:09:48 :
.
04 mai 2005 18:54:57 :
j'ai mis des commentaires concernant les fonctions sur les neurones, j'ai créé des nouvelles fonctions pour eviter la redondance du code, et j'ai aussi légèrement modifié le code...
10 juillet 2005 18:26:40 :
ajout des fichiers manquants
01 février 2011 22:22:05 :
description mis a jour
07 février 2011 04:17:46 :
..

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture MORPIONMAX: UN MORPION 10X10 par ndubien
Source avec Zip Source avec une capture BIEN EXPLIQUE: EXEMPLE DE RESEAU DE NEURONE par acx01b
Source avec Zip MORPION AVEC IA MINIMAX OU GÉNÉTIQUE par coucou747
Source avec Zip INTELLIGENCE ARTIFICIELLE AUX ÉCHECS. par manta7
Source avec Zip MASTERMIND CONSOLE AVEC INTELLIGENCE ARTIFICIELLE -- C (DEVC... par pyronet

Commentaires et avis

Commentaire de Thaeron le 23/04/2005 13:03:27

J'ai maté le source vite fait, ça fait tres "pavé" ... si tu pouvais séparer plus distinctement les différentes parties du code dans plusieurs sources ça serait pas mal.
Si tu pouvais mettre l'executable aussi ça serait bien (je suis linuxien et donc j'ai pas vc++ mais je peux executer les programmes win32 par wine).
Sinon ça semble être du très bon boulot qui mérite qu'on se penche dessus.
Merci à toi =)

Commentaire de SpEeDy_Fire le 23/04/2005 15:16:11

Pas regardé le code mais un .exe passerait bien étant donnée que je n'ai pas vcpp et que je veux pas m'amuser à modifier pour devcpp ou une compile sous linux juste pour tester.
Merci d'avance ;)

Commentaire de ciddu42 le 23/04/2005 15:25:09

Thaeron, merci pour ton commentaire ca fait plaisir de voir que son code est apprécié et qu'il ne servira pas rien !
J'ai mis à jour la source, j'ai rajouté l'exe et j'ai un peu  réorganisé mon code.

Commentaire de Thaeron le 23/04/2005 15:57:49

Merci d'avoir pris en considération mes remarques, j'ai pu tester, l'interface est très pratique. J'ai enregistré une dizaine de formes, mais il semble retrouver le A dans beaucoup de cas alors que la forme est plus proche des autres formes apprises.
Ton code, quant à lui, est très clair. Je me pencherai dessus après avoir lu de la doc sur le modèle de Hopfield, d'ailleurs si tu as de bonne docs ça serait sympas de donner les urls.
Enjoy ;)

Commentaire de yAAm le 23/04/2005 17:37:10

J'ai quelques doc, dont un livre thaeron qui pourrait peut etre t'interesser, pas forcement de toute derniere jeunesse, mais tres facil d'acces, je pense une bonne introduction au conexionisme
www.parismove.net/livre_touzet.pdf

Commentaire de ciddu42 le 23/04/2005 18:11:06

as-tu essayé de le corrigé : le bouton corrigé sert a apprendre une forme légèrement dérivé de la forme apprise ( ex: tu fait un 'A' ou il y a seulement 3 pixel de différence avec la lettre 'A' enregistré lors de sa création et le reseau reconnait par exemple un 'B' alors dans ce cas tu tapes le nom de la lettre a corrigé dans la combo box corrigé et tu cliques sur corrigé, ensuite tu cliques sur reconnaitre et tu veras il reconnait alors la bonne lettre), quant au bouton apprentissage automatique lui il apprend les formes jusqu'a qu'il les reconnaisse toutes tel que tu les as enregistré. donc le bouton apprentissage automatique est a utilisé des le debut de la creation des formes, si tu veux que le reseau puisse apprendre en gros la forme d'une lettre ou d'un chiffre alors il faudra que tu utilises le bouton corrigé.

Quelques fois après pas mal de correction il oublie certaine formes donc dans ces cas la tu cliques sur apprentissage automatique et les réapprend, tu veras au bout de quelques milliers d'itération ton reseau reconnaitra a presque 100% (voir meme 100% ) toutes les formes que tu entreras.

Commentaire de ciddu42 le 23/04/2005 18:14:44

www.parismove.net/livre_touzet.pdf, c'est de ce site la que j'ai appris a utiliser le modèle de hopfield, c'est une très bonne documentation en francais en plus, il y a des cours, des exercices avec leurs corrigés, tous ce qu'il faut pour apprendre a programmer les réseaux de neurones

Commentaire de yAAm le 24/04/2005 16:01:06

Si tu veux je te met tout ce que j'ai sur le sujet dans un rep. genre www.parismove.net/neurones/ Par contre en version papier, je te conseille Reseaux de neurones => methodologie et applications au edition eyrolles, bien plus poussé mathématiquement, car cette fois ci la theorie sur le reseau de neurone est finie, on peut même calculer les points de convergences etc ..  ou reseau de neurones d'hervé abdi, plus doux mathématiquement, pas mal pour travailler les reconaissance de forme (visage etc .. )

.. les reseaux de neurones ....c canon ^^

Commentaire de ciddu42 le 24/04/2005 17:42:28

je suis a la recherche de bonne documentation sur les reseaux perceptrons multicouches de préférences en francais et si possible avec exercices d'application et corrigés.

Reseaux de neurones => methodologie et applications, tu me dis qu'il y a des mathématiques, mais c'est de quel niveau, parce que je suis qu'en terminale STI E, donc j'aurai peut etre pas le niveau......

Commentaire de yAAm le 24/04/2005 19:28:46

bah, ca devrai le faire, au pire, tu apprendras ce qui te manque :p, c'est niveau fac je pense.

Commentaire de ciddu42 le 24/04/2005 20:32:27

OK, merci bien pour les infos :)

Commentaire de magic_Nono le 28/04/2005 16:44:27

Bien

ça faisait lgt qu'on a pas vu par ici de RNA ...

TB,
sinon; commente, aère et décompose

Bonne prog
B

Commentaire de yAAm le 29/04/2005 12:45:19

j'ai deplacé le livre la www.parismove.net/olympe/ => repertoir yAAm/cpp_france. Si jamais tu trouve des doc de ton coté, des trucs un peu originaux, n'hesite pas à les deposer :p j'y metrai des bout de code

Commentaire de yAAm le 30/04/2005 15:38:43

Voila je t'ai mis quelques documents dont la plupart sont en francais, par contre il y a 2-3 ebook en anglais auquel il faudrait que tu t'interesses :p
j'ai rajouté un vieux morceau de code pas finis qui peut toujours etre interessant .

tout est sur [url]http://www.parismove.net/olympe[/url] repertoir yAAm, => cpp_france ou plus smplement l'url direct
http://www.parismove.net/olympe/dir.php?l=fr&m=ico&d=yAAm/cpp_france

n'hesite pas à deposer ce que tu trouve, ou fait la bas, c pas limité  ^^

Commentaire de LordBob le 02/05/2005 22:08:28

ton programme est vraiment bien !
par contre il est vrai que le code donne l'impression d'un gros pavé. ton code serait plus compréhenseible si tu arranger donc code en rajoutant des fonctions ! en décomposant le probleme !

Commentaire de anhosa2002 le 28/06/2005 14:33:21

il manque les fichiers Neuron Functions.h et Other Functions.h
sans ces deux fichiers ,on ne peut pas compiler

Commentaire de ciddu42 le 16/07/2005 13:58:11

ca y est la source a été mise a jour, meme si cette page n'a pas été actualisée le fichier zip contient cette fois tous les fichiers nécessaires au bon fonctionnement du programme

Commentaire de cinqz le 05/06/2006 18:12:33

Moi je suis plutôt un plus jeune en matiére.
Je souhaite developper un logicile de reconnaissance de formes notamment des empreintes digitales, de visages humains.
Je voudrais le faire en cpp, je cherche un guide qui me tiendra jusqu'au bout.
Entre temps, filez moi les cours au max sur les methodes et prérequis.Sinon je pense que le projet présenté ici est bon

Commentaire de mohamec1023 le 18/09/2006 12:38:12

T'aurais pu mettre l'executable dans le fichier zippé...

Commentaire de noaie le 10/11/2006 21:19:40

j'ai pas lu mais tu sembles motivé par les reseaux de neurones voici un site (ou plutot equipe) http://www.loria.fr/researchers/perso/ notament celle de nicola rougier et fréderic alexandre, je recommande la derniere these sur le sujet http://tel.archives-ouvertes.fr/docs/00/09/68/18/PDF/manuscrit.pdf, bonne lecture

Commentaire de anisgabes le 18/01/2007 17:58:27

salut à tous;
je veux developper une application qui permet de connaitre une personne par son visage,en utilisant le langage java,mais je n'ai pas peux trouver des documentations necessaire.
pouvez vous m'aider de trouver quelques unes .
et merci d'avance.

Commentaire de NeOZooN le 01/02/2008 12:16:55 10/10

Joli travail ^^

Commentaire de F0ra le 23/04/2008 20:32:47

salut,
J'ai aussi un projet sur les reseaux de neurones.
http://www.forum.moteurprog.com/neurones-artificiels/forum-msg-31991-1.htm
sinon, bravo

Commentaire de abrtoz le 13/05/2009 11:44:37

bjr
j'ai télécharger ce zip a fin, et j'ai essayer de la compilé mais j'ai trouver des problémes (des erreurs sur les biblio ) est ce que vous pouvez me aider .?
parce j'en ai besoin en faite d'une application qui me permet de détécter des objets contenus dans les images à l'aide des réseau de neurones.
et merci

Commentaire de imeneeniso le 16/01/2010 11:00:33

bonjour abrtoz: )

J'ai presque le même sujet SVP si vous avez une solution ou une documentation aidez moi.

et merci

Commentaire de noaie le 14/11/2010 14:06:27

Bonjour,

Si vous recherchez des informations sur la reconnaissance d'objets, les réseaux de neurones ne sont pas les seules méthodes, je vous conseil de consulter des infos sur les ondelettes de Gabor avec les EBGM (ELASTIC BUNCH GRAPH MATCHING), l'algorithme du boosting, (ou plutôt adaboost), et ensuite voir la méthode de "Viola & Jones" (="V & J"), un algorithme qui utilise les ondelettes de HAAR.

"V & J" permet de faire de la reconnaissance de visages, de pétions, de voitures (n'y a t-il pas les nouveaux radar l'a dessous ?) ou autres.

Sinon l'algorithme de "V & J" est plutôt pour une reconnaissance grossiere et rapide des objets. L'EBGM est utilisé pour identifier un visage (biométrie), mais ces 2 algorithmes utilisent un apprentissage statistique.

pour les réseaux de neurones je pense qu'un algorithme de Kohonen, combiné avec les ondelettes de Gabor, en s'inspirant de "V & J" ainsi que la méthode de Itti et kosch (voir rapport de stage d'Aurélie Bugeau sur google) pourrait permettre de faire de la reconnaissance de forme.

Quelques explications:

- la méthode d'Itti et Kosch utilisent plusieurs fois la même avec des tailles différentes (style 1/1, 1/2, 1/3 ...), ensuite il utilise des filtres sur les couleurs, les orientations, le mouvement, et fournit au final une couche de sortie où il  élit des gagnants pour trouver les points de saillances.

- "V & J" utile une fenêtre qui se déplace sur toute l'image pour la filtrer (filtre = ondelette de HAAR = en gros ici une zone positif et une négative sur des pixel en niveau de gris dans la fenêtre), un filtre est un classicateur "faible", en gros il peut dire dans 50% (voir moins) des cas que le filtre est soit  inhibiteur soit positif. Comme Itti et Hosch, on passe cette fenêtre sur plusieurs taille de la même image (un visage peut être en premier plan, a 80% ou au loin 10% de l'image). On utilise ensuite le boosting pour créer des classificateur fort à partir de plusieurs classificateur faible.

- Je suis tombé il y a quelques années sur un article utilisant kohonen pour faire de la reconnaissance de chiffres manuscrit, l'idée était de créer des clusters (i.e une  fenêtre dans l'image d'entrée) pour identifier les mêmes motifs sur toute l'image, ce procédé étant répété sur les 3 couches suivantes (on reconnaissait l'idée de départ du néogognitron de Fukushima pour reconnaitre des lignes avec toutes les orientations par cluster sur la couche d'entree puis des motifs plus complexe style courbe, ou croisement sur les couches supérieures), le cluster de l'a couche d'entrée devait être entraîner à reconnaître des lignes orientées. Sur la couche de sortie on voie que le classificateur créer des zone spécifique à chaque chiffre mais certaine zone sont commune pour pour des chiffres "similaire" exemple le 1 et le 7. Dans la suite de l'article l'auteur utilisait un apprentissage supervisé pour finir l'apprentissage et bien définir les zones de classification. A mon avis le problème venait plutot de la méthode pour calculer la distance entre les poids synaptiques et l'entrée, en effet un motif proche, mais decalé, ou déformé avait la même distance qu'un motif totalement différent.

- Ce que je rechercher c'est de pouvoir classifier les images automatiquements. J'ai parfois la "même image" suivant paramètres différents, taille, découpe des bords, changement des couleurs/luminosité déformation, et donc dans le cas d'une recherche par MD5 ou SHA-1, cela ne marche pas, l'idée suivante me plaisait bien mais je ne suis pas sur quelle me pleinement
http://www.delphifr.com/codes/RECHERCHE-SUPPRESSION-IMAGES-DOUBLE-BASEE-SUR-COMPARAISON-INTELLIGENTE_38711.aspx

- l'idée non encore finalisé, je pense que c'est d'utiliser comme Itti et Kosch des points des saillances (mais je pense qu'il faut les apprendre pour les reconnaitre) donc mettre en entrée l'image sous plusieurs tailles dans un réseau de neurones non supervisé chaque taille d'image utilise un "sous réseau de neurone", chaque couche d'entrée (1 par taille d'image) reconnait le même cluster (la fentere coulisante), cette fois ci les motifs a reconnaitre ne sont pas des lignes, mais des ondelettes de gabor, comme les (fonction similaire au jet utilisé dans le EBGM), ensuite chaque niveau de couche, utilise le meme cluster par sous réseau et par couche. Sur la dernière couche de chaque sous réseau il faudrait faire apprendre a reconnaitre par un apprentissage superviser l'objet désiré, un visage un chat, un vélo, un vase ...

il reste encore des points de détaille a mettre au point comme la formule de distance, la méthode euclidienne qui n'est  pas assez performante. La taille des images pour ne pas rater des objets de taille intermédiaire, l'utilisation couleurs, comment reconnaître dans les sous réseaux l'objet recherche (i.e d'une image, sélectionner le point ou se situe l'objet, sa taille, et surtout sous dansquel sous réseau on active la sortie), comment faire si 2 objets sont présents dans la même image (l'inhibition latérale) .....

noaie

Commentaire de foufitta le 04/03/2011 14:20:08

bonjour,
je suis une élève ingénieur et mon projet de fin d'étude est intitulé simulateur universel des réseaux de neurones et je dois le réaliser en c++,je suis en train de collecter des exemples d'applications effectuées avec les réseaux de neurones,je me demande si vous pouvez m'aider.
merci d'avance

Commentaire de noaie le 04/03/2011 15:01:00

Bonjour,

Ton étude est un peu vague, il existe différent algorithme sur les réseaux de neurones, on parle maintenant de la 3 eme génération (neurone a spike) as tu plus de précision sur ton sujet ?

pour info :
1 er génération: du perceptron, modele multicouche, règle de widrow hoff, Hopfield, machine de Boltzmann, contre propagation, ART, kohonen, neogonitron (fukishima)...
2 eme generation : CNFT en gros les champs neural
3 eme : Modele integre et tire (Integrate and fire), SRM (SRM0)

bien sur on peu parler aussi des méthodes d'apprentissage : méthode supervisé, non supervisé, par contrainte (i.e par regle pour faire un apprentissage intelligent du style bien, pas bien)

il y a aussi l'architecture des modèles (généralement des modèles pour gérer des séries temporelles): SNTD, le modèle Emma et de Jordan


voila j'espère que cela pourra te guider dans tes recherches.

noaie

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Concours IA (Intelligence Artificielle) [ par ynizon ] Je suis a la recherche de participants pour un ptit jeu sympa qui ressemble aux dames chinoises. Le but etant que chacun developpe sa propre IA, et l' Intelligence Artificielle [ par JCpp ] Intelligence Artificielle... [ par kojiro2 ] Coucou tout le monde,J'aurai bien aimé connaitre de bons sites sur l'IA. En effet je ne trouve rien d'exeptionnel sur le net. Ya pas des sites sympas Projet : Réalisation d'une intelligence artificielle aux échecs. [ par manta7 ] Bonjour à tous, je souhaite réaliser une IA aux échecs, pour le moment, le projet est assez floue mais si cela vous tente : manta7 arob intelligence artificielle pour jeu 2d à la mario bros [ par StrikerFred ] bonjour, je fais un jeu 2d mais avec une vue style mario (profil)donc y'aura des ennemis, et j'aimerais qu'ils se dirigent vers le héros, cad qu' Intelligence artificielle [ par Alice89 ] Bonjour Nous sommes deux étudiantes en informatique et cherc Esce que je peux utiliser le c++ pour programmer l'intelligence artificielle d'un robot? [ par Uims ] tout est dans la question...merciUims Projet en Intelligence Artificielle [ par manta7 ] Salut à tous, Développeur en C (et finaliste de Prologin ),  je recherche des personnes qui veulent participer à un projet de programmation sur le thè Ecole d'intelligence artificielle [ par eldiablomortal ] Bonjour voila je suis actuellement en BTS informatique de gestion option developpeur. J'envisage de poursuivre mes etudes. Et je voudrais essayer l'in apprentissage avec reseau de neurone [ par resau ] bonsoir, j'ai un problème dans le vecteur caractéristique de réseau de neurone comment l'adapter a mes donnés ,qui sont une matrice qui contient le va


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales