
Du 3 au 16 juillet sur la base de l'UNN eux. N.I. Lobachevsky a réussi l'école d'été interuniversitaire d'Intel Computer Vision - Computer Vision Summer Camp, qui a réuni plus de 100 étudiants. L'école s'adressait aux étudiants des spécialités techniques des universités de Nijni Novgorod qui s'intéressent à la vision par ordinateur, l'apprentissage profond, les réseaux de neurones, Intel OpenVINO, OpenCV.
Dans cet article, nous partagerons comment la sélection pour l'École a été menée, ce que nous avons étudié, ce que les gars ont fait dans la partie pratique, et aussi parler de certains des projets présentés à la défense.
Processus de sélection et formulaires de participation
Nous avons décidé de donner aux enfants le choix de postuler à deux formes de formation: à temps plein et à temps partiel. Les étudiants n'ont pas réussi la sélection pour la correspondance à temps plein et se sont inscrits immédiatement. Ils n'ont assisté qu'à des conférences, en semaine, le matin. Les gars ont également eu la possibilité d'effectuer des tâches pratiques et de les envoyer à
GitHub pour des tests par les enseignants.
Pour aller à plein temps, les gars devaient se rendre au bureau d'Intel pour un entretien avec la commission. La différence par rapport au formulaire à temps partiel était qu'en plus des conférences, les participants au camp avaient organisé des tâches pratiques avec des conservateurs - des enseignants de l'UNN et des ingénieurs d'Intel. Au cours de la deuxième semaine, les tâches pratiques ont été achevées et des projets ont commencé, sur lesquels les participants ont travaillé en groupes de 3 personnes.
Lors de l'entrevue, on a posé aux élèves des questions en mathématiques et en programmation, ainsi qu'une tâche qui devait être résolue sur place. Il convient de noter que la commission était composée d'ingénieurs en logiciels, d'ingénieurs en algorithmes et de professeurs d'université. N.I. Lobachevsky, donc l'interview s'est avérée multilatérale et exceptionnelle. Du point de vue de la personne interrogée, il était intéressant de découvrir les connaissances techniques de base des étudiants applicables à la vision par ordinateur, donc des sujets tels que C ++ / STL, OOP, les algorithmes de base et les structures de données, l'algèbre linéaire, l'analyse mathématique, les mathématiques discrètes et bien plus ont été demandés. À partir des tâches, il était prioritaire d'apprendre le raisonnement des élèves. La commission souhaitait également savoir où ils étudiaient, quelle expérience ils avaient avant cette école (par exemple, activité scientifique) et comment elle pouvait être appliquée directement au domaine de la vision par ordinateur.
Au total, 78 étudiants ont participé à la sélection à temps plein, alors qu'il y avait 24 places à temps plein.Le concours était de 3 étudiants par place. Vous pouvez voir des statistiques sur les participants et les différences visuelles entre les formes de participation à temps plein et à temps partiel dans le tableau ci-dessous:

Qu'ont fait les gars pendant 2 semaines?
Les étudiants en théorie et en pratique se sont familiarisés avec les principales tâches de la vision par ordinateur: classification des images, détection des objets et leur accompagnement. La composante conférence sur chaque sujet comprenait généralement une excursion historique dans le développement de méthodes classiques pour résoudre les problèmes de vision par ordinateur et de méthodes modernes de résolution en utilisant l'apprentissage automatique et les réseaux de neurones. La théorie a été suivie d'une pratique où les étudiants, après avoir téléchargé des modèles de réseaux de neurones populaires, les ont lancés à l'aide du module DNC de la bibliothèque OpenCV, créant une application utilisateur.
Les présentations de toutes les conférences ont été publiées dans le référentiel public de
Github , afin que les étudiants puissent toujours ouvrir et voir les informations nécessaires, y compris après l'école. Il était possible de discuter avec des conférenciers, des professeurs de pratique et des ingénieurs Intel en direct ou via le chat à Gitter. L'heure de la semaine du projet s'est également avérée fructueuse: elle a commencé mercredi, ce qui nous a permis de passer des week-ends sans cours, améliorant les décisions d'équipe. Les participants les plus responsables ont passé une demi-samedi au bureau d'Intel, ce qui les a encouragés par une excursion imprévue le même jour.
Comment était la protection des projets?
Chaque équipe disposait de 10 minutes pour parler de ce qu'elle avait fait pendant le projet et de ce à quoi elle était parvenue. Après ce temps, 5 minutes ont commencé, au cours desquelles les ingénieurs de l'entreprise ont posé des questions aux gars et ont donné peu de conseils qui les aideraient à améliorer leur projet ou à éviter des erreurs à l'avenir. Chacun des gars s'est essayé en tant que conférencier, montrant sa connaissance de la vision par ordinateur et confirmant sa contribution à la création du projet, ce qui nous a aidés à réfléchir et à tirer une conclusion sur chaque participant de l'école. La défense a eu lieu pendant 3 heures, mais nous avons pris soin des gars et désamorcé la situation avec une petite pause-café, où les gars pouvaient respirer et discuter des problèmes avec les plus grands spécialistes d'Intel.
À la fin de la journée, nous avons attribué une première, deux deuxième et trois troisième places. C'était assez difficile à choisir, car chaque équipe, chaque projet avait sa propre saveur et se distinguait par l'originalité de la présentation.
CV Camp à temps plein, protection de projet, bureau Intel à Nizhny NovgorodProjets présentés
Gant intelligent

Utilisation du détecteur et du tracker à l'aide d'OpenCV pour la navigation visuelle dans l'espace. L'équipe a en outre ajouté la possibilité de déterminer la profondeur à l'aide de deux caméras. L'API Microsoft Speech est utilisée comme interface de gestion.
Récepteur

Détecter les aliments et sélectionner une recette pour un plat fini, y compris les ingrédients trouvés. Les gars n'avaient pas peur de la tâche et pendant une semaine, ils ont marqué eux-mêmes un nombre suffisant d'images, formé le détecteur à l'aide de l'API de détection d'objets TensorFlow et ajouté la logique pour trouver la recette. Simple et de bon goût!
Editor 2.0

Les participants au projet ont utilisé un ensemble de réseaux de neurones (recherche de visage, normalisation des images de visage par points clés, calcul d'un descripteur d'image de visage) pour reconnaître les visages dans le cadre de la recherche de fragments dans de longues vidéos dans lesquelles une certaine personne est présente. Le système développé peut être utilisé comme système d'aide au montage vidéo, évitant à la personne d'avoir à regarder la vidéo lui-même à la recherche des fragments nécessaires. En utilisant les réseaux de neurones de
la bibliothèque de modèles OpenVINO , l'équipe a réussi à atteindre une vitesse d'application élevée: sur un ordinateur portable avec un processeur Intel Core i5, la vitesse de traitement vidéo était de 58 images par seconde.
Anonymizer

Dessiner des lunettes et des masques sur le visage d'une personne. Pour détecter les visages et les points clés, le réseau MTCNN a été utilisé.
Anonyme

Un autre travail intéressant sur le thème de la dissimulation de la personnalité. Cette équipe a introduit plusieurs options de distorsion du visage: flou et pixellisation. En une semaine, les gars ont non seulement compris la tâche, mais ont également fourni un mode d'anonymisation pour une personne spécifique (avec reconnaissance faciale).
Réchauffer
L'équipe du projet «Warm-up» a résolu le problème de la création d'un assistant sportif pour l'exercice des inclinaisons de la tête. Et même si l'application finale de cette application reste controversée, une étude approfondie a été menée comparant différents algorithmes de détection de visages: cascades Haar, réseaux de TensorFlow, OpenCV et OpenVINO. Réchauffez-vous non seulement physiquement, mais aussi mentalement!
Inférieur à 800

Nizhny Novgorod, la ville où l'école a eu lieu, aura 800 ans en 2 ans, ce qui signifie qu'il y a suffisamment de temps pour mettre en œuvre un projet intéressant. Nous avons suggéré que les gars réfléchissent à la tâche de créer un guide, qui peut donner des informations sur ce que l'objet est représenté dans l'image et quels faits à son sujet sont connus à partir de l'image de la façade des bâtiments. À notre avis, cette tâche a été l'une des plus difficiles, en ce qui concerne la vision par ordinateur classique, mais l'équipe a montré un résultat décent.
Pierre, ciseaux, papier
Malgré les limites de temps strictes pour la mise en œuvre des travaux de conception, cette équipe n'avait pas non plus peur de mener une expérience pour former son propre réseau de neurones afin de classer les positions des mains dans un jeu célèbre.
Avis des participants
Nous avons demandé aux étudiants de différents cours de partager leurs impressions sur l'école d'été:
Récemment, j'ai eu la chance de suivre une formation au camp d'été Intel Computer Vision, et ce fut une expérience merveilleuse. Nous avons acquis beaucoup de nouvelles connaissances et compétences dans le domaine du CV, de l'installation de logiciels, du débogage, nous avons également été plongés dans l'environnement de travail, confrontés à de vrais problèmes, discuté de solutions possibles avec des collègues et des enseignants de l'école. Il y a un mythe selon lequel le travail du programmeur consiste exclusivement à communiquer avec l'ordinateur. Cependant, ce n'est pas du tout le cas. Notre travail créatif est indissociable de la communication avec les gens. En communiquant, il a été possible d'obtenir des connaissances uniques. Et cette composante de l'école que j'aimais le plus. Cependant, il y a un inconvénient ... après l'obtention du diplôme, je voulais continuer! En plus des connaissances théoriques en DL et des compétences pratiques en CV, j'ai eu une idée des domaines des mathématiques qui devraient recevoir une attention particulière, des technologies à étudier. Le dévouement, le professionnalisme et l'amour du travail des ingénieurs et chercheurs d'Intel ont influencé mon choix de direction en informatique. Pour cela, je remercie tous les organisateurs de l'école.
Christina, 1 an, HSEEn si peu de temps, l'école a pu fournir un maximum d'informations et de pratiques sur le sujet de la vision par ordinateur. Et bien qu'il ait été conçu pour les connaissances de base, les conférences contenaient beaucoup de matériel technique, que j'aimerais comprendre et passer plus de temps à étudier. Les mentors et les professeurs de l'école ont facilement répondu à toutes les questions et ont parlé avec les élèves. Eh bien, lors de la mise en œuvre du projet final, j'ai dû plonger dans la jungle du développement d'une application toute faite et rencontrer des difficultés qui ne se posent pas toujours lors des études. Notre équipe a finalement fait une demande pour jouer avec un ordinateur le jeu "rock-paper-scissors". Nous avons formé le modèle, reconnaissant la figure sur la webcam, écrit la logique et créé une interface basée sur le cadre opencv. L'école a fourni matière à réflexion et un vecteur d'apprentissage et de développement. Très heureux d'avoir participé.
Sergey, 3 ans, UNNL'école n'a pas tout à fait répondu à mes attentes. Les conférences ont été menées par des personnes assez expérimentées de développeurs Intel. La communication avec les enseignants a toujours été intéressante et utile, les mentors sont réactifs, toujours prêts à aider, les conférences sont agréables à écouter, les sujets sont assez pertinents et instructifs. Mais je savais déjà certaines choses, et celles que je ne connaissais pas n'étaient pas soutenues par la pratique, et donc je ne comprenais pas et n'étudiais pas vraiment le très bon matériel. Oui, la plupart des informations ont été fournies à titre informatif uniquement, afin que plus tard je puisse les essayer déjà à la maison, ou simplement imaginer de quoi il s'agissait, mais je voulais quand même implémenter moi-même certains algorithmes existants sous la supervision d'enseignants expérimentés qui peuvent donner des conseils pratiques ou de l'aide si quelque chose ça ne marche pas. En conséquence, des solutions prêtes à l'emploi ont été utilisées dans la pratique, et le code, pourrait-on dire, a été précédemment écrit pour nous, il n'a été nécessaire que de le modifier légèrement. Les projets étaient les plus simples, et si vous essayez de compliquer la tâche d'une manière ou d'une autre, alors vous n'avez pas assez de temps pour le mettre en œuvre dans un état plus ou moins stable, comme ce fut le cas avec nous.
En général, toute l'école ressemble à une sorte de jeu pas trop sérieux chez les développeurs, et c'est juste la faute de la partie pratique. Je pense qu'il est nécessaire d'augmenter le temps pour diriger une école, de compliquer le matériel des pratiques, afin que vous puissiez et devez écrire quelque chose vous-même, quelque chose de vraiment complexe et nécessaire, et de ne pas utiliser le fini, rendre la pratique plus fluide en augmentant la complexité, sujets sur la compétition donner des projets dès les premiers jours afin que le matériel des cours et des pratiques puisse être utilisé immédiatement dans leurs projets et qu'il y aura plus de temps pour la mise en œuvre. Ensuite, le temps passé à l'école sera une bonne expérience pour les débutants.
Dmitry, Master 1 an, NSTUL'école d'été d'Intel a été une excellente occasion de passer cet été à faire ce qu'ils aiment. Le fait que les enseignants Intel liés à la programmation dans le domaine de la vision par ordinateur ne donnent pas de cours, je voulais tirer le maximum de l'ensemble du processus, même si c'était parfois difficile. Chaque jour s'est passé très rapidement, tranquillement et fructueusement. L'opportunité de mettre en œuvre mon propre projet m'a permis de travailler en équipe avec de merveilleux conservateurs et d'autres participants de l'école. Ces deux semaines peuvent être brièvement décrites comme intéressantes et éphémères.
Elizabeth, 2 ans, UNNÀ l'automne (octobre-novembre), vous trouverez le programme éducatif Delta, informations que vous pouvez découvrir auprès de notre
groupe VKontakte . Restez à l'écoute!