Annonce

Réduire
Aucune annonce.

Reconnaissance de forme via Réseau de Neurones en Python

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Reconnaissance de forme via Réseau de Neurones en Python

    Salut,
    l'année prochaine je suis en Terminal S SI notre prof nous a conseillé de commencé à faire les groupes et à réfléchir. Mais bon nous avons une idée mais pour le réalisé faudrait réalisé un algorithme de reconnaissance de forme ... et la par contre je sèche j'ai entendu parlé de l'algorithme de freeman mais quand je cherche sur le net les informations sur cet algo sont assez bof . Vous le connaissez ? vous connaissez d'autre algorithme pour le faire ?
    Merci

  • #2
    Salut,
    Regardes du côté des "réseaux de neurones", tu vas trouver ton bonheur.
    Après je ne pense pas être en mesure de t'aider. J'ai étudié ça très rapidement y a deux ans.
    @++

    http://www.esiee.fr/infoweb/projets/...viad/zisc.html
    http://fr.wikipedia.org/wiki/Reconna...aract%C3%A8res
    Dernière modification par Yarflam, 01 juin 2013, 22h38.
    ~ Yarflam ~

    ❉ L'Univers se dirige vers son ultime perfection ❉

    Commentaire


    • #3
      Salut merci
      tu te rappellerais le type d'algorithme qu'il faut ? car je pense que coder un réseau de neurones ça doit pas être si simple ... ^^'

      Commentaire


      • #4
        Salut,
        Pour créer des réseaux de neurones, il faut programmer une architecture orienté objet.
        Lis ça !
        ~ Yarflam ~

        ❉ L'Univers se dirige vers son ultime perfection ❉

        Commentaire


        • #5
          Voici un exemple de réseau de neurones :
          Code:
          #!/usr/bin/python
          
          class NeuralNetwork:
            def __init__(self):
                self.List=[]
                self.Connection=[]
                self.Bool=['AND','OR','NOT']
            def new_neuron(self):
                self.List.append(self.Neuron(len(self.List)))
            def new_connection(self,input_a,input_b,out_n,n_bool):
                self.Connection.append([out_n,input_a,input_b,n_bool])
            def activate(self,ListNeuron):
                for NeuronSelect in ListNeuron:
                    self.List[NeuronSelect].Light=1
            def disable(self,n_a):
                if n_a == -1:
                    for NeuronSelect in self.List: NeuronSelect.Light=0
                else: self.List[n_a].Light=0
            def view(self,ListNeuron):
                out_r=''
                for NeuronSelect in ListNeuron:
                    out_r+=str(self.List[NeuronSelect].Light)
                print(out_r)
            def start(self):
                for NeuronSelect in self.List:
                    for ConnectionSelect in self.Connection:
                        if ConnectionSelect[0] == NeuronSelect.id:
                            NeuronSelect.Light=self.test(ConnectionSelect,NeuronSelect)
                return 1
            def test(self,in_c,in_n):
                in_cn=[self.List[in_c[1]].Light,self.List[in_c[2]].Light]
                if in_c[3] == self.Bool[0]:
                    out_r=1 if in_cn == [1,1] else 0
                if in_c[3] == self.Bool[1]:
                    out_r=1 if in_cn == [0,1] else 0
                    out_r=1 if in_cn == [1,0] else out_r
                if in_c[3] == self.Bool[2]:
                    out_r=1 if in_cn[0] == 0 else 0
                return out_r
            class Neuron:
                def __init__(self,id):
                    self.id=id
                    self.Light=0
          
          def main():
            apps=NeuralNetwork()
            for i in range(11): apps.new_neuron()
            apps.new_connection(0,2,4,'OR')
            apps.new_connection(0,2,5,'AND')
            apps.new_connection(1,3,6,'AND')
            apps.new_connection(1,3,7,'OR')
            apps.new_connection(4,6,8,'AND')
            apps.new_connection(4,6,9,'OR')
            apps.new_connection(5,8,10,'OR')
            apps.activate([0,1,2])
            apps.start()
            apps.view([10,9,7])
            input()
          main()
          L'algorithme permet de calculer deux nombres binaires.
          apps.activate([0,1,2]) correspond à l'opération 11+10 = 101.

          RNaddition.jpg

          Après je sais qu'il existe des structures beaucoup plus avancé.
          Pour l'intelligence artificielle, la reconnaissance graphique etc ...
          Il faut lire beaucoup de tutoriels sur internet. Je ne m'y connais pas plus que ça.
          Dernière modification par Yarflam, 02 juin 2013, 15h41.
          ~ Yarflam ~

          ❉ L'Univers se dirige vers son ultime perfection ❉

          Commentaire


          • #6
            Ok merci pour ton exemple ça m'a permis un peu de voir le concept au niveau programmation, j'ai découvert des PDF qui justement explique pas mal, le concept ... et on des partie sur la reconnaissance de caractère

            Merci je vais voir un peu et je vous tiendrais au courant si je trouve des informations utiles

            Commentaire

            Chargement...
            X