41 votes

Comment faire : reconnaissance des formes

J'aimerais en savoir plus sur la reconnaissance des formes. Je sais que c'est un domaine assez vaste, je vais donc énumérer quelques types de problèmes spécifiques que j'aimerais apprendre à traiter :

  • Trouver des modèles dans un ensemble apparemment aléatoire d'octets.
  • Reconnaître des formes connues (telles que des cercles et des carrés) dans des images.
  • Observation de modèles de mouvement à partir d'un flux de positions (Vector3)

Il s'agit d'un nouveau domaine d'expérimentation pour moi personnellement, et pour être honnête, je ne sais tout simplement pas par où commencer :-) Je ne cherche évidemment pas à obtenir des réponses sur un plateau d'argent, mais des termes de recherche et/ou des ressources en ligne me permettant de commencer à me familiariser avec les concepts des domaines problématiques susmentionnés seraient les bienvenus.

Gracias.

ps : Pour un crédit supplémentaire, si lesdites ressources fournissent des exemples de code/discussion en C#, ce serait formidable :-) mais cela n'est pas nécessaire.

3 votes

Je suis heureux que cette question intéressante n'ait pas été signalée comme étant trop large ou comme étant "hors sujet", comme c'est clairement le cas, car je profite des liens dans les réponses.

2 votes

@Roland en effet ... J'ai posé cette question dans les premiers jours de StackOverflow, quand ils voulaient avoir des questions et des réponses canoniques qui seraient améliorées au fil du temps et indexées en conséquence. J'aimerais que les choses reviennent à cela, j'ai beaucoup appris des réponses ici aussi :)

30voto

Gabe Points 1664

Les modèles de Markov cachés sont un bon point de départ, de même que les modèles de Markov cachés. Réseaux neuronaux artificiels .

Edit : Vous pourriez jeter un coup d'oeil à NeuronDotNet c'est une source ouverte et vous pouvez fouiller dans le code.

Edit 2 : Vous pouvez aussi jeter un coup d'oeil à ITK Il est également open source et met en œuvre un grand nombre de ces types d'algorithmes.

Edit 3 : Voici une assez bonne Introduction aux réseaux neuronaux . Il couvre une grande partie des bases et inclut le code source (bien qu'en C++). Il a implémenté un algorithme d'apprentissage non supervisé, je pense que vous recherchez un algorithme supervisé. algorithme de rétropropagation pour former votre réseau.

Edit 4 : Un autre bonne introduction Il évite les mathématiques lourdes, mais fournit des références à un grand nombre de ces détails en bas de page, si vous voulez les approfondir. Comprend du pseudo-code, de bons diagrammes et une longue description de la rétropropagation.

4voto

Larry Watanabe Points 7305

C'est un peu comme dire "J'aimerais en apprendre plus sur l'électronique... quelqu'un peut me dire par où commencer ?". La reconnaissance des formes est un domaine à part entière - il existe des centaines, voire des milliers de livres sur le sujet, et toute université propose au moins plusieurs (probablement 10 ou plus) cours de niveau supérieur sur le sujet. Il existe également de nombreuses revues consacrées à ce sujet, qui publient depuis des décennies... des conférences...

Vous pourriez commencer par consulter la wikipedia.

http://en.wikipedia.org/wiki/Pattern_recognition

4voto

levesque Points 1328

OpenCV possède quelques fonctions pour la reconnaissance des formes dans les images.

Vous pourriez vouloir regarder ceci : http://opencv.willowgarage.com/documentation/pattern_recognition.html . (lien brisé : la chose la plus proche dans la nouvelle doc est http://opencv.willowgarage.com/documentation/cpp/ml__machine_learning.html (bien que ce ne soit plus ce que j'appellerais une documentation utile pour un débutant - voir les autres réponses)

Cependant, je recommande également de commencer avec Matlab car l'utilisation d'openCV n'est pas intuitive.

4voto

Joel Martinez Points 22924

C'est une vieille question, mais elle est pertinente et je me suis dit que je la posterais ici :-) Stanford a commencé à offrir un cours en ligne sur l'apprentissage automatique ici - http://www.ml-class.org

2voto

Kip9000 Points 4462

De nombreux liens utiles sur cette page sur la reconnaissance des formes liée à la vision par ordinateur. Certains des liens semblent être rompus maintenant, mais vous pouvez y trouver des informations utiles.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X