2011-01-01 3 views
2

Comment former Neural Network pour la reconnaissance de formes? Par exemple, une reconnaissance de visage dans une image comment définiriez-vous les neurones de sortie? (par exemple, comment détecter exactement le visage, plutôt que de simplement dire qu'il y a un visage à huis clos). Aussi, que diriez-vous de détecter plusieurs visages et différentes tailles de visages?Formation pour la reconnaissance de formes (réseau de neurones)

Si quelqu'un pouvait me donner un pointeur que ce serait vraiment super

Cheers!

Répondre

4

En règle générale, je diviser le problème en plusieurs étapes, par ex.

1 - Y a-t-il un visage dans l'image?

2 - Où est le visage dans l'image?

3 - Le visage de l'image est-il reconnu par le NN (réseau de neurones)?

Dans chaque cas, je vous suggère de construire un NN séparé et de le former pour répondre aux questions posées. En ce qui concerne la structure du NN, il est un peu plus délicat de répondre car cela dépend de vos données d'entrée et de la sortie désirée. Par exemple si vous aviez une image 100x100 px alors je suppose qu'il est possible d'avoir 10 000 entrées. Vous pourriez envisager de faire un prétraitement avant la main pour dire détecter des ovales de cette façon que vous pourriez regarder et voir s'il y a un certain nombre d'ovales dans un contour prévisible (1 pour le visage, 2 pour les yeux et un pour la bouche) . Si vous prétraitez les données, vous pouvez avoir des entrées pour chaque ovale. Maintenant, pour la sortie ... pour la première question, vous pourriez avoir une sortie pour dire comment le NN est qu'il y a un visage dans les données d'entrée, c'est-à-dire une valeur de 0.0 (sans défi) -> 1.0 (avec défi un visage). De cette façon, vous pouvez passer aux étapes 2 et 3.

Je pourrais dire à ce stade que c'est un problème non trivial et vous pourriez être mieux de jeter un oeil à certains des cadres disponibles par ex. Maintenant, pour la partie d'entraînement, vous avez besoin d'un stock d'images disponibles pour former le NN. Il y a un certain nombre de façons dont former le NN. Une solution potentielle est d'utiliser une technique appelée propagation de retour 1, 2. En termes généraux, vous utilisez le NN sur une image et le comparez à une sortie prédéterminée. Si son tort tweak le NN pour produire la sortie désirée et répéter.

Si vous voulez un bon livre sur l'IA, alors je recommande fortement Artificial Intelligence: A Modern Approach par Russell et Norvig. Je suis sûr qu'il y a des manuels de Computer Vision plus appropriés, mais le livre de Russell & Norvig est un excellent débutant.

+0

TK, Merci pour la réponse détaillée! Je n'ai jamais pensé à le diviser en 3 problèmes distincts. Je pourrais acheter le livre que vous mentionnez depuis que j'ai remarqué que beaucoup de gens dans Stackoverflow recommandent le livre pour les questions relatives à ai – GantengX

0

Cher GantengX, vous devriez vous préparer au fait que la réponse est si grande, complexe et difficile à comprendre. Il y a tellement d'approches pour la reconnaissance des formes et des visages. Et la mise en œuvre du système de reconnaissance de visage réel est une vaste gamme de travail qu'une personne ne peut jamais gérer. Préparez-vous pour au moins 10 ans de vie derrière des livres sur l'intelligence mathématique et artificielle, je ne parle pas d'embaucher 5 développeurs très bien payés à la fin qui comprendront ce que vous voulez qu'ils fassent. Et peut-être que vous finirez par avoir votre propre système de reconnaissance faciale. Il y a aussi une douzaine d'autres questions qui vont sauter au cours du processus. Alors soyez prêts pour une vie pleine de stress et de problèmes.

+0

Je suis en train de faire des recherches à ce sujet, et votre réponse n'aide pas du tout. Merci d'indiquer l'évidence – GantengX

0

Je suis désolé de dire des choses évidentes, mais votre question n'était pas spécifique, une réponse complète toucherait de nombreuses sphères scientifiques différentes et se traduira par un livre avec plus de 1k pages. Concernant votre question (la réponse courte).

Il y a plusieurs parties principales que chaque application de reconnaissance faciale se compose de:

  1. algorithme d'intelligence artificielle
  2. algorithme d'optimisation (pour l'optimisation AI)
  3. Différents algorithmes de filtration
  4. développement du jeu de données efficace

Les articles 1. et 2. sont la partie centrale de chaque s ystem, ils font le travail réel. Tout autre prétraitement rend les données d'entrée moins complexes, ce qui facilite la prise de décision pour votre IA. Ne commencez pas 3. et 4. jusqu'à ce que vous ayez vos premiers résultats.

P.S. Utiliser des solutions existantes est plus rentable, mais si vous étudiez des choses, alors ne perdez pas de temps comme je l'ai fait, et commencez votre dissertation tout de suite.

+0

Pas de problème, merci pour votre réponse. Je suis encore novice dans les réseaux de neurones (auparavant, je ne travaillais qu'avec des algorithmes évolutifs), je ne suis pas encore sûr de beaucoup de choses – GantengX

Questions connexes