Maison / Technologie / Entretien avec l'auteur de PyImageSearch et de Computer Vision Practitioner: Dr. Adrian Rosebrock

Entretien avec l'auteur de PyImageSearch et de Computer Vision Practitioner: Dr. Adrian Rosebrock

Suivre
( 0 Abonné(e)s )
X

Suivre

E-mail : *

Partie 13 de Les séries où j'interviewe mes héros.

Au cours des dernières interviews, j’ai eu la chance d’interagir avec Les grands maîtres Kaggle, Leaders techniques, Pratiquants, et Deux distingués Des chercheurs Et un Compagnon OpenAI.

Aujourd'hui, je discute avec l'un de mes gourous et mentors: le Dr Adrian Rosebrock.

Adrian est l'auteur du blog PyImageSearch. Il dirige l'un des meilleurs cours de vision par ordinateur: PyImageSearch Gurus, où j'ai eu la chance d'être parrainé par lui.

Il est également titulaire d'un doctorat dans CS, il est un entrepreneur en série et travaille depuis 8 ans sur des startups.

A propos de la série:

J'ai tout récemment commencé à faire des progrès avec mon Voyage d'apprentissage autodidacte. Mais pour être honnête, cela ne serait pas possible du tout sans l’étonnante communauté en ligne et les personnes formidables qui m’ont aidée.

Dans cette série de billets de blogue, je discute avec des personnes qui m'ont vraiment inspiré et que je considère comme mes modèles.

La motivation derrière ceci est que vous pouvez voir certaines tendances et espérer que vous pourrez apprendre des gens extraordinaires dont j'ai eu la chance d’apprendre.

Sanyam Bhutani:Bonjour Adrian, Merci d'avoir pris le temps de le faire.

Adrian Rosebrock: Merci de m'avoir invité, Sanyam! Vous avez eu tout un groupe d'invités distingués sur votre blog. Merci de m'avoir inclus parmi eux 🙂

Sanyam Bhutani: Aujourd’hui, vous dirigez l’un des meilleurs blogs sur Computer Vision, vous êtes également auteur de Apprendre en profondeur pour la vision par ordinateur avec Python, Pratique Python et OpenCV, et le Cours PyImageSearch Gurus. Vous avez un doctorat en CS.

Pouvez-vous nous dire comment Computer Vision est entré en scène, qu'est-ce qui vous a intéressé au début?

Adrian Rosebrock: La première fois que je me suis intéressé à la vision par ordinateur, c'était en fait au lycée. Je prenais AP Statistics à l'époque et au lieu d'un examen final, notre professeur a assigné un "projet final". Nous étions libres de choisir nous-mêmes le projet, mais celui-ci devait intégrer des statistiques d'une manière ou d'une autre.

J'ai décidé de créer un moteur de recherche d'images simple utilisant des statistiques de base. J'ai rassemblé des photos sur mon disque dur (environ 50 au total) et créé un algorithme qui:

  1. Calculé la moyenne et l'écart type pour chaque canal RVB pour chaque image du jeu de données (six valeurs par image)
  2. Étant donné que chaque image était maintenant quantifiée en six valeurs, j'ai concaténé la moyenne et les écarts types dans une liste pour former mon vecteur de caractéristiques.
  3. J'ai ensuite normalisé les caractéristiques des colonnes en effectuant une normalisation min / max
  4. Et enfin, j'ai comparé les images en calculant les distances euclidiennes entre les entités

J’ai testé mon moteur de recherche d’images de base avec quelques images de requête et j’ai été très heureux des résultats compte tenu de la simplicité du système. Depuis, je savais que je voulais continuer à étudier la vision par ordinateur.

Sanyam Bhutani:Pouvez-vous nous en dire plus à quoi ressemble une journée au siège de PyImageSearch? À quoi ressemble un jour dans ta vie?

Adrian Rosebrock: Eh bien, le siège de PyImageSearch n’est en réalité qu’une deuxième chambre à coucher de ma maison. Je n’ai pas de «bureau» officiel pour PyImageSearch.

Chaque jour, je me lève entre 4 et 5 heures du matin. Sors du lit. Faire une tasse de café. Et dans les dix premières minutes de mon absence, je travaille.

Je suis un auteur et j’écris mieux le matin. Je bloque normalement les heures de 5 à 10 heures exclusivement pour écrire sans distractions. La seule exception est que ma femme et moi prenons le petit-déjeuner ensemble avant de se rendre au travail. Sinon, pendant cette période, j’ai volontairement de la difficulté à me procurer (à moins que je n’écrive pas).

Avant le déjeuner, je prends généralement 20 minutes à pied pour me vider la tête. J'écoute normalement des livres audio à une vitesse de 2 à 3 fois pendant cette période, principalement des non-fiction mais parfois des fictions.

Après le déjeuner, je travaille 2 à 3 heures de plus avant de travailler pendant 45 à 60 minutes. Le fitness est extrêmement important pour moi et quelque chose que je priorise toujours.

À ce moment-là, il est normalement 15h-15h30, donc j’assume ce que j’appelle des tâches plus «procédurales» et «non créatives», telles que répondre à un courrier électronique, répondre à des commentaires sur un blog, etc.

Je termine normalement la journée en pratiquant la guitare pendant 45 minutes. J'aime jouer de la guitare et cela aide à activer et à exercer des parties de mon cerveau potentiellement non utilisées ou utilisées autant qu'elles le devraient pendant la journée.

Je termine la journée avec ma femme, en lisant ou en regardant normalement quelques épisodes de la série télévisée que nous regardons à cette époque.

Sanyam Bhutani: Vous avez eu une carrière intéressante. Après avoir terminé votre doctorat, vous avez créé votre première entreprise et décidé plus tard de passer à l’enseignement de la technologie sur laquelle vous avez travaillé au fil des ans.

Qu'est-ce qui vous a poussé à lancer le blog PyImageSearch? Pourquoi était-ce important pour toi?

Adrian Rosebrock: J'ai en fait démarré PyImageSearch pour deux raisons.

La première est que j'avais construit et lancé deux jeunes entreprises en vision par ordinateur et en apprentissage automatique à l'université. C'était une expérience amusante et j'ai beaucoup appris au cours du processus. Mais j'ai toujours manqué d'écrire aussi.

La seconde est que j'ai été autodidacte une grande partie de mon enseignement de la vision par ordinateur. Dans mon école, il y avait des professeurs incroyables qui travaillaient dans l'apprentissage automatique et le graphisme, mais personne en particulier ne consacrait leur travail au domaine de la vision par ordinateur.

J'ai suivi mon premier (et unique) cours sur la vision informatique au cours de ma dernière année de premier cycle universitaire avec un instructeur à temps partiel. J'ai ensuite suivi trois cours distincts d'apprentissage automatique et de science des données.

Tout le reste, y compris les éléments pratiques permettant de «coller» toutes les pièces et de construire une solution de vision par ordinateur réelle avec OpenCV, était quelque chose que je devais apprendre par moi-même.

C’était beaucoup de travail et à l’époque, la documentation était difficile à trouver, incorrecte ou, au mieux, «acceptable». De plus, les tutoriels pratiques étaient rares.

Durant le dernier semestre de ma carrière universitaire, j'ai décidé de démarrer PyImageSearch. Je sentais que j'avais beaucoup à partager et que je voulais vraiment aider les autres qui (1) étaient autodidactes comme moi ou (2) essayaient de trouver des tutoriels pratiques pour compléter leurs cours / études universitaires.

Je savais aussi que je voulais écrire un livre sur la vision par ordinateur, mais je ne savais pas quel était le sujet. Le lancement du blog m'a aidé à apprendre de mes lecteurs et finalement à mener à mon premier livre, Pratique Python et OpenCV.

Sanyam Bhutani: Vous avez écrit de nombreux articles de blog incroyables au fil des ans. Quel projet / développement a été votre préféré?

Adrian Rosebrock: C’est difficile de choisir un seul favori, mais je pense que mon préféré est celui où j’ai utilisé OpenCV + Keras + un Raspberry Pi pour créer un Détecteur Père Noël / Pas Père Noël:

J'écris beaucoup de contenu technique sur le blog et dans mes livres / cours, il était donc amusant de créer quelque chose de léger et d'amusant tout en enseignant aux lecteurs comment ils pourraient utiliser OpenCV, Keras et Deep Learning à leur manière. projets.

Un autre de mes favoris est mon Keras tutoriel sur la façon de commencer avec l'apprentissage en profondeur et Python. On me demande souvent quelle est la meilleure façon de commencer avec un apprentissage en profondeur. J'ai écrit ce tutoriel sur Keras pour aider les lecteurs à apprendre progressivement, en commençant par un simple réseau de neurones et en formant ensuite leur premier réseau de neurones convolutionnels, le tout dans un seul post de blog. J’adore ce tutoriel, car j’ai constaté qu’il aidait les développeurs et les ingénieurs à se lancer dans la vision par ordinateur et l’apprentissage en profondeur.

Sanyam Bhutani: Je dois dire que, comme beaucoup d’autres, je suis fan de vos articles.

Pourriez-vous partager quelques conseils pour rédiger efficacement des billets de blog techniques?

Adrian Rosebrock: L’un des pires moyens de commencer à écrire, technique ou non, est d’ouvrir un nouveau document et de s’attendre à ce que des mots jaillissent de vous, remplissant comme par magie la page – cela fonctionne rarement ainsi et c’est normalement une recette pour la frustration et l'échec.

Au lieu de cela, je recommande de commencer par décrire. Personnellement, je résume des points.

Commencez par les en-têtes. Que couvrez-vous? Et dans quel ordre?

De là, vous revenez et commencez à remplir les sous-en-têtes. Que devez-vous couvrir dans chaque section?

Enfin, je reviens en arrière et inclut les détails de chaque section. Parfois, j’écris même en phrases complètes, mais c’est un choix personnel.

Je me laisse toujours des notes telles que «Insérer une image ici» ou «Les lignes X-Y de some_script.py vont ici». J'essaie de me concentrer autant que possible sur le processus d'écriture. Les images et le code réels peuvent être insérés ultérieurement lors de la composition.

Sanyam Bhutani: Vous avez toujours utilisé une approche «minimum théorique» pour enseigner un concept. Pourquoi pensez-vous qu'une approche basée sur le code d'abord est utile lorsque vous apprenez à la fois et construisez un projet?

Adrian Rosebrock: Je pense que «certaines» théories peuvent aller très loin lors de la mise en œuvre d’une vision par ordinateur ou d’un algorithme d’apprentissage en profondeur, mais lorsqu’on fréquente un collège ou une université, c’est tout ce que l’on trouve dans les manuels. Beaucoup de mathématiques. Beaucoup d'équations. Ce n’est cependant qu’un côté de la médaille – ces livres manquent le pratique la mise en oeuvre.

Le meilleur moyen d'apprendre ces concepts est de les croiser. Enseignez un peu de théorie, puis montrez comment cela se passe dans le code. De nombreux livres et manuels tentent délibérément de séparer les deux. À mon avis, cette approche est incorrecte.

Le fait que nous vivions dans un monde où les développeurs et les ingénieurs peuvent désormais taper `import sklearn` ou import keras` a changé le paysage de l'apprentissage automatique.

L'idée que les gens ont besoin d'une décennie de mathématiques ou d'un diplôme universitaire en informatique pour effectuer un apprentissage automatique est franchement incorrecte.

Le meilleur moyen de se lancer dans l’apprentissage automatique est de: Commencer. Installez l’un des packages d’apprentissage machine ou d’apprentissage approfondi Python. Suivez les didacticiels et les exemples de base du mieux que vous pouvez. Entraînez votre premier modèle d'apprentissage automatique et regardez le résultat.

Cela t'a-t-il excité? Voulez-vous en savoir plus? Génial, c’est génial! Allez fouiller dans la documentation ou d’autres didacticiels où vous continuerez à apprendre.

Si vous n’avez pas aimé, c’est bien aussi. Il vaut mieux que vous appreniez maintenant que vous n’aimiez pas coder ou écrire du code d’apprentissage automatique avant de passer une année à l’étudier.

Ne vous méprenez pas, la théorie est très importante, surtout si vous souhaitez rédiger des publications scientifiques. Mais si vous êtes un programmeur qui commence tout juste à apprendre l’apprentissage automatique ou approfondi, commencez par les didacticiels existants basés sur du code. Voyez si vous l'aimez et l'appréciez – puis complétez votre formation par la théorie au fur et à mesure.

Sanyam Bhutani: Pour les lecteurs et les débutants intéressés par Computer Vision, quel serait votre meilleur conseil?

Adrian Rosebrock: Je te recommanderais installer OpenCV sur votre système et suite à mon tutoriel gratuit OpenCV sur la façon d'apprendre OpenCV. J'ai créé ce guide pour aider les lecteurs novices en vision par ordinateur à se plonger d'abord dans le traitement d'images.

Dans ce didacticiel, vous apprendrez les bases du traitement d’image et vous guideront dans la gestion de la bibliothèque OpenCV. Vous apprendrez les principes de base grâce au code et je pense que vous aurez du plaisir à le faire aussi.

Sanyam Bhutani: Avant de conclure, des conseils pour les débutants qui ont peur de se lancer à cause de l’idée que Deep Learning ou Computer Vision est un domaine avancé?

Adrian Rosebrock: Je dirais aux débutants de simplement Commencer et ne faites pas d’excuses pour vous-même. Ne craignez pas de ne pas avoir un diplôme en informatique ou en mathématiques. C’est un moment incroyable pour travailler avec la vision par ordinateur et l’apprentissage automatique – il existe une multitude de guides et de tutoriels pour vous aider tout au long du processus.

La meilleure chose à faire que vous puissiez faire dès maintenant est de commencer – pas d’excuses.

Si vous souhaitez vous initier à la vision par ordinateur et à l’apprentissage en profondeur, je vous propose un cours intensif gratuit de 17 jours. Au cours de ce cours, vous apprendrez les bases de la vision par ordinateur, vous construisant éventuellement votre chemin vers la détection de visage, les réseaux de neurones et l’apprentissage en profondeur. Vous pouvez trouver le cours intensif gratuit de 17 jours sur mon site Web, PyImageSearch.com.

Sanyam Bhutani: Merci beaucoup d'avoir fait cette interview.

Si vous avez trouvé cela intéressant et que vous souhaitez faire partie de Mon parcours d'apprentissage, tu peux me trouver sur Twitter ici.

Si vous souhaitez en savoir plus sur les actualités de Deep Learning et de Computer Vision, vous pouvez consulter mon bulletin d'information ici.


Entretien avec l'auteur de PyImageSearch et de Computer Vision Practitioner: Dr. Adrian Rosebrock a été publié à l'origine dans Hacker midi sur Medium, où les gens poursuivent la conversation en soulignant et en répondant à cette histoire.

Source

A propos newstrotteur-fr

Découvrez également

Game Seer Venture Partners investira 11,1 millions de dollars dans des projets de jeu

Suivre ( 1 Abonné(e)s ) X Suivre E-mail : * Suivre Ne plus suivre Partenaires …

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *