Partage
  • Partager sur Facebook
  • Partager sur Twitter

Pattern recognition c#

    22 avril 2019 à 13:47:48

    Bonjour, je cherche à créer un algorithme qui reconnait une pattern (simple) comme dans cet exemple

    Le problème c'est que je ne sais pas par où commencer et d'après les paroles de certaines personnes ce n'est pas difficile xD, bref j'ai capté seulement que le PCA est un outil simple et il est largement capable de m'aider dans ce problème.

    J'ai vu quelques vidéos parlant du PCA et personnellement c'est très facile de créer un algorithme basé sur les mathématiques mais il y a toujours une question dans ma tête, "Qu'est ce que je fais avec les valeurs trouvées ?"

    J'ai transformée des valeurs en d'autres valeurs et après ? Elle est où la reconnaissance xD ?

    • Partager sur Facebook
    • Partager sur Twitter
    "C'est un coup du sort étrange : tout les hommes dont on a ouvert le crâne avaient un cerveau" . Wittgenstein.
      23 avril 2019 à 14:43:50

      Je comprend pas pourquoi tu parle de PCA pour un dessin en 2D.

      PCA c'est juste une fonction qui permet de réduire la dimension dans laquelle tu analyse une variable.

      Par exemple : Taille / poids / Age c'est une analyse sur 3 dimensions, PCA te permet de la réduire à 2 (plus simple à analyser, comparer, etc etc).

      Dans ton cas c'est pas vraiment approprié. 

      -------

      Sinon, pour reconnaître ce genre de pattern, le plus simple c'est du machine learning.

      Tu prend tes images, tu les convertis en tableaux, soit de 0/1 soit en niveau de gris 0/255 (tableau de la taille de ton image, exemple image 10*10 = un tableau de 100 pixel, avec 0 = blanc 1 = noir), et tu donne ces tableaux à ton modèle de ML. 

      Le modèle sera donc X = tableau de pixel, Y = le pattern reconnu

      Si tu connais le machine learning, alors ça sera simple, sinon vas falloir trouver une librairie de ML et te documenter dessus. Avec une bonne librairie ça se fait en une dizaine de ligne de code, mais C# n'est pas vraiment bien fourni de ce coté là :(

      -
      Edité par WorstDevEver 23 avril 2019 à 14:45:25

      • Partager sur Facebook
      • Partager sur Twitter

      Try->Fail->Learn->Converge to success :{\displaystyle Q[s,a]:=(1-\alpha )Q[s,a]+\alpha (r+\gamma ~max_{a'}Q[s',a'])}

        25 avril 2019 à 11:32:05

        Comme mon VDD, je comprends pas trop où vous voulez en venir.

        Si c'est pour faire de la simple reconnaissance de forme, un perceptron "de base" avec un jeu de données étiquetées feront le job.

        • Partager sur Facebook
        • Partager sur Twitter
        Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
          26 avril 2019 à 22:39:39

          Merci pour vos réponses, j'ai cru que le PCA est une approche plus simple du ML mais apparemment je me trompe, bon j'ai bien compris le truc du ML mais je ne sais pas comment faire le modèle xD, est-ce que vous avez un tuto orienté vers la reconnaissance de pattern svp ?
          • Partager sur Facebook
          • Partager sur Twitter
          "C'est un coup du sort étrange : tout les hommes dont on a ouvert le crâne avaient un cerveau" . Wittgenstein.
            29 avril 2019 à 8:55:12

            https://pythonprogramming.net/image-recognition-python/

            Je sais que c'est du Python (et en anglais), mais il explique les bases, comment transformer tes données etc. T'as juste à trouver les librairie équivalentes en C#, ou utiliser du python et renvoyer tes résultats par web-services ou whatever.

            -
            Edité par WorstDevEver 29 avril 2019 à 8:57:03

            • Partager sur Facebook
            • Partager sur Twitter

            Try->Fail->Learn->Converge to success :{\displaystyle Q[s,a]:=(1-\alpha )Q[s,a]+\alpha (r+\gamma ~max_{a'}Q[s',a'])}

              30 avril 2019 à 18:45:09

              WorstDevEver a écrit:

              https://pythonprogramming.net/image-recognition-python/

              Je sais que c'est du Python (et en anglais), mais il explique les bases, comment transformer tes données etc. T'as juste à trouver les librairie équivalentes en C#, ou utiliser du python et renvoyer tes résultats par web-services ou whatever.

              -
              Edité par WorstDevEver hier à 8:57

              Merci pour votre réponse, anglais ou français ce n'est pas un problème (tant que la personne qui parle possède un accent compréhensible :p ), j'ai cru que le domaine du deep learning était disponible sur plusieurs langues mais d'après quelques recherches il parait qu'il est avancé seulement sur le Python.

              Bon je suis chanceux car j'ai pu intégrer récemment une formation sur le deep learning avec une personne qui travail chez NVIDIA, et qu'on je lui ai montré cet exemple, il ma répondu que c'est facilement réalisable xD, j'espère que j'arriverai à le faire et je vous tiens au courant sur l'avancement si vous voulez.

              • Partager sur Facebook
              • Partager sur Twitter
              "C'est un coup du sort étrange : tout les hommes dont on a ouvert le crâne avaient un cerveau" . Wittgenstein.
                2 mai 2019 à 8:57:47

                Oui c'est très facile à faire, faut juste suivre les tutos adéquats.

                Et si tu n'es pas obligé de coder en C# alors oui je te recommande fortement python pour ce genre de tache, ce sera bien plus simple.

                J'ai pas cherché des heure, mais je sais qu'en C# il y a la librairie http://accord-framework.net/  qui reprend les modèles de bases de machine learning.

                Si t'as des soucis tu pourra toujours poster tes questions ici on t'aidera ;).

                -
                Edité par WorstDevEver 2 mai 2019 à 8:59:33

                • Partager sur Facebook
                • Partager sur Twitter

                Try->Fail->Learn->Converge to success :{\displaystyle Q[s,a]:=(1-\alpha )Q[s,a]+\alpha (r+\gamma ~max_{a'}Q[s',a'])}

                Pattern recognition c#

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown