33 votes

Comment puis-je apprendre les mathématiques nécessaires pour travailler avec la vision par ordinateur?

Je sais que la vision par ordinateur implique beaucoup de maths, mais j'ai besoin de quelques conseils sur la façon de programmeurs acquérir cette connaissance. J'ai commencé à utiliser la bibliothèque OpenCV, mais j'ai quelques problèmes majeurs dans la compréhension de comment les mathématiques œuvres dans les algorithmes.

Au collège, j'ai fait des études de mathématiques et nous avons travaillé avec des matrices et des produits dérivés, mais je n'ai pas payer beaucoup d'attention à l'objet. Il semblait tellement difficile et inutile à partir d'un programmateur de point de vue. Je suppose qu'il doit y avoir un moyen facile de comprendre ce qu'est une dérivée seconde est sans calculer une équation. (Produits dérivés sont juste un exemple)

Avez-vous des conseils pour moi comment puis-je acquérir de telles connaissances? Un forum, un livre, un lien, des conseils, n'importe quoi?

14voto

Steve Haigh Points 6261

Beaucoup d'Universités ont des cours en ligne (par exemple, la MIT Open Courseware). Ce serait un bon endroit pour chercher, vous pouvez probablement trouver un cours de vision par ordinateur qui auront pré-reqs répertoriés. Comme d'autres l'ont mentionné, vous devez comprendre le calcul différentiel et vecteurs/matrices, mais vous aurez aussi besoin de lire sur les statistiques et le Théorème de Bayes pour plus d'avance vision du travail, comme la vision par ordinateur utilise souvent des techniques probabilistes.

L'évêque a écrit un excellent livre sur le sujet, mais il est très cher et vraiment écrit pour un niveau avancé. Je ne voudrais certainement pas commencer par là, mais si vous obtenez vraiment dans le sujet, il est une bonne ressource.

12voto

Dima Points 19888

Les plus pertinents de mathématiques rubriques dont vous avez besoin pour couvrir la vision par ordinateur sont calcul (plus précisément muti-variable aléatoire calcul), analyse de Fourier, l'algèbre linéaire, et des statistiques.

Calcul et analyse de Fourier sont probablement les plus difficiles, mais vous avez besoin d'eux pour le faible niveau de traitement de l'image. Une image est une fonction discrète de x et de y, donc vous parler de ses dérivées partielles, qui vous aideront à détecter les bords et les coins et décrire les textures. Aussi, vous pouvez penser à une image en 2 dimensions signal et de l'utilisation de la transformée de Fourier pour l'analyser. La façon de vraiment se sentir à mettre en œuvre la Transformation de Fourier Rapide vous-même un couple de différentes manières (e. g. de manière récursive et itérative), l'exécuter sur quelques images, et voir ce que les résultats ressemblent.

Pour de plus haut niveau de stuff, tels que la reconnaissance de l'objet, vous avez vraiment besoin d'entrer dans les statistiques et l'apprentissage machine. Vous devez savoir ce qu'est un histogramme est, à comprendre le sens de la moyenne et de la variance d'une distribution de probabilité, et pleins d'autres trucs...

Si vous avez accès à Matlab, il est très facile à mettre en œuvre diverses traitement de l'image et des algorithmes de vision, et de les essayer. À mon humble avis, c'est le meilleur moyen de vraiment comprendre comment ils fonctionnent.

Je vous suggère aussi la lecture des articles publiés dans la vision par ordinateur des conférences et des revues. La plupart d'entre eux sont disponibles sur le web, et vous pouvez les trouver avec google scholar. Rechercher des sujets tels que la reconnaissance de l'objet, de l'image de récupération, de suivi d'objet dans la vidéo, ou la reconstruction 3D à voir ce genre de problèmes de vision par ordinateur traite avec. La lecture de ces documents sera probablement difficile au début, mais ils peuvent vous donner une idée des techniques mathématiques sont utilisées.

11voto

Kyle Simek Points 5075

L'évêque du livre, qui a été recommandé par quelqu'un d'autre, est sur le sujet plus général de l'apprentissage machine, pas de vision, en particulier. Néanmoins, je considère qu'il est nécessaire de lecture, que l'état actuel de l'art dans la CV s'appuie fortement sur les concepts de l'apprentissage machine. L'autre texte est de Forsyth livre sur la vision par ordinateur. Pas le plus lisible, mais assez exhaustives et à jour.

Pour arriver au point où vous pouvez comprendre ces deux livres, vous aurez besoin de polir sur l'algèbre linéaire, probabilités, de l'infographie et de. Une solide base de calcul sera nécessaire de comprendre les algorithmes d'optimisation de l'Évêque. La physique est très pratique, car il existe beaucoup d'algorithmes qui posent le problème en termes d'un tel système physique pour être optimisé.

En d'autres termes, c'est beaucoup de maths, c'est les mathématiques. Tous les cours de mathématiques que j'ai pris au cours de la période de 3 ans à titre de premier cycle a entrent en jeu dans ma vision par ordinateur études, donc si votre calcul est faible, être prêt pour un grand engagement pour devenir plus fort à elle.

10voto

yxk Points 4135

Comme pour l'apprentissage de la mathématique, après une introduction sur l'algèbre linéaire de la classe, je pense avoir une exposition à l'algèbre linéaire dans la vision par ordinateur contexte, devrait être assez bonne. Aussi une bonne base dans les graphiques (OpenGL) devrait être utile aussi.

Notre université a utilisé ce livre:

En tant que débutant, j'ai aimé ces livres:

et bien sûr (le meilleur):

Wikipédia a été une grande ressource, ici, sont quelques-uns de la vision par ordinateur des sujets. Plus de liens ici et ici.

Également IEEE, ACM, et votre université ont accès à beaucoup de documents de recherche. Trouver de vieux de la vision par ordinateur des conférences comme ce cours à l' UNC ont également été utiles.

5voto

z - Points 5610

Découvrez opencourseware . En voici un sur la vision artificielle. Voyez si vous comprenez les mathématiques là-bas, sinon, réduisez-vous en regardant dans les manuels de mathématiques. Vous pouvez également vérifier les conditions préalables requises pour ce cours.

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