Computer Vision Summer Camp - Escuela de verano Intel Computer Vision



Del 3 al 16 de julio sobre la base de la UNN ellos. N.I. Lobachevsky pasó la Escuela de Verano Interuniversitaria de Intel Computer Vision - Campamento de Verano de Computer Vision, al que asistieron más de 100 estudiantes. La escuela estaba dirigida a estudiantes de especialidades técnicas de las universidades de Nizhny Novgorod que estén interesadas en visión por computadora, aprendizaje profundo, redes neuronales, Intel OpenVINO, OpenCV.

En este artículo, compartiremos cómo fue la selección de la escuela, qué estudiamos, qué hicieron los chicos en la parte práctica, y también hablaremos sobre algunos de los proyectos presentados en la defensa.

Proceso de selección y formas de participación.


Decidimos darles a los niños la opción de solicitar dos formas de capacitación: a tiempo completo y a tiempo parcial. Los estudiantes no aprobaron la selección de correspondencia a tiempo completo y se matricularon de inmediato. Solo asistían a conferencias, de lunes a viernes, por la mañana. Los muchachos también tuvieron la oportunidad de completar tareas prácticas y enviarlas a GitHub para que las evaluaran los maestros.

Para ir a tiempo completo, los muchachos tuvieron que ir a la oficina de Intel para una entrevista con la comisión. La diferencia con el formulario a tiempo parcial fue que, además de las conferencias, los participantes del campamento resolvieron tareas prácticas con los curadores, maestros de la UNN e ingenieros de Intel. En la segunda semana, se completaron las tareas prácticas y comenzaron los proyectos, en los que los participantes trabajaron en grupos de 3 personas.

En la entrevista, a los estudiantes se les hicieron preguntas en matemáticas y programación, y se les dio una tarea que debía resolverse en el acto. Vale la pena señalar que la comisión estaba compuesta por ingenieros de software, ingenieros de algoritmos y profesores universitarios. N.I. Lobachevsky, por lo que la entrevista resultó ser multilateral y sobresaliente. Desde el punto de vista del entrevistado, fue interesante conocer los conocimientos técnicos básicos de los estudiantes aplicables a la visión por computadora, por lo que se le preguntaron temas como C ++ / STL, OOP, algoritmos básicos y estructuras de datos, álgebra lineal, análisis matemático, matemáticas discretas y mucho más. De las tareas era prioritario aprender el razonamiento de los alumnos. La comisión también estaba interesada en dónde estudiaron, qué experiencia tenían antes de esta escuela (por ejemplo, actividad científica) y cómo podría aplicarse directamente al campo de la visión por computadora.

En total, 78 estudiantes participaron en la selección de tiempo completo, mientras que hubo 24 lugares de tiempo completo, la competencia fue de 3 estudiantes por lugar. Puede ver estadísticas sobre los participantes y las diferencias visuales entre las formas de participación a tiempo completo y a tiempo parcial en la tabla a continuación:



¿Qué hicieron los chicos durante 2 semanas?


Los estudiantes de teoría y práctica se familiarizaron con las principales tareas de la visión por computadora: clasificación de imágenes, detección de objetos y su acompañamiento. El componente de la conferencia sobre cada tema, por regla general, incluyó una excursión histórica al desarrollo de métodos clásicos para resolver problemas de visión por computadora y métodos modernos para resolver usando aprendizaje automático y redes neuronales. La teoría fue seguida por una práctica en la que los estudiantes, después de descargar modelos populares de redes neuronales, los lanzaron utilizando el módulo DNC de la biblioteca OpenCV, creando una aplicación de usuario.

Las presentaciones de todas las conferencias se publicaron en el repositorio público de Github , para que los estudiantes siempre puedan abrir y ver la información necesaria, incluso después de la escuela. Fue posible chatear con profesores, profesores de práctica e ingenieros de Intel en vivo o por chat en Gitter. El tiempo de la semana del proyecto también resultó ser exitoso: comenzó el miércoles, lo que nos permitió pasar los fines de semana libres de conferencias, mejorando las decisiones del equipo. Los participantes más responsables pasaron la mitad del sábado en la oficina de Intel, para lo cual fueron alentados por una excursión no programada el mismo día.

¿Cómo fue la protección de los proyectos?


A cada equipo se le dieron 10 minutos para hablar sobre lo que hicieron durante el proyecto y a qué llegaron. Después de este tiempo, comenzaron 5 minutos, en los cuales los ingenieros de la compañía hicieron preguntas a los chicos y les dieron pequeños consejos que los ayudarían a mejorar su proyecto o evitar errores en el futuro. Cada uno de los chicos se probó a sí mismo como orador, mostrando su conocimiento de la visión por computadora y confirmando su contribución a la creación del proyecto, lo que nos ayudó a considerar y sacar una conclusión sobre cada participante en la escuela. La defensa se llevó a cabo durante 3 horas, pero nos ocupamos de los chicos y desactivamos la situación con un pequeño descanso para tomar café, donde los chicos pudieron tomar un respiro y discutir problemas con los principales especialistas de Intel.

Al final del día, asignamos un primer, dos segundos y tres terceros lugares. Fue bastante difícil elegir, porque cada equipo, cada proyecto tenía su propio sabor y se distinguía por la originalidad de la presentación.


CV Camp a tiempo completo, protección de proyectos, oficina de Intel en Nizhny Novgorod

Proyectos presentados


Guante inteligente




Usando el detector y el rastreador usando OpenCV para la navegación visual en el espacio. El equipo también agregó la capacidad de determinar la profundidad usando dos cámaras. La API de Microsoft Speech se utiliza como interfaz de administración.

Receptor




Detectar alimentos y seleccionar una receta para un plato terminado, incluidos los ingredientes encontrados. Los chicos no tenían miedo de la tarea y durante una semana marcaron una cantidad suficiente de imágenes por su cuenta, entrenaron al detector utilizando la API de detección de objetos TensorFlow y agregaron la lógica para encontrar la receta. Simple y de buen gusto!

Editor 2.0




Los participantes del proyecto utilizaron un conjunto de redes neuronales (búsqueda de rostros, normalización de imágenes de rostros por puntos clave, cálculo de un descriptor de imágenes de rostros) para reconocer rostros como parte de la tarea de buscar fragmentos en videos largos en los que cierta persona está presente. El sistema desarrollado se puede usar como un sistema de ayuda para la edición de video, liberando a la persona de tener que mirar el video por sí mismo en busca de los fragmentos necesarios. Utilizando redes neuronales de la biblioteca de modelos OpenVINO , el equipo logró alcanzar una alta velocidad de aplicación: en una computadora portátil con un procesador Intel Core i5, la velocidad de procesamiento de video fue de 58 cuadros por segundo.

Anonimizador




Dibujar gafas y máscaras en la cara de una persona. Para detectar caras y puntos clave, se utilizó la red MTCNN.

Anónimo




Otro trabajo interesante sobre el tema del ocultamiento de la personalidad. Este equipo introdujo varias opciones de distorsión facial: desenfoque y pixelación. En una semana, los chicos no solo descubrieron la tarea, sino que también proporcionaron un modo de anonimato para una persona específica (con reconocimiento facial).

Calentar


El equipo del proyecto "Calentamiento" resolvió el problema de crear un asistente deportivo para el ejercicio de la inclinación de la cabeza. E incluso si la aplicación final de esta aplicación sigue siendo controvertida, se realizó un extenso estudio comparando varios algoritmos de detección de rostros: cascadas Haar, redes de TensorFlow, OpenCV y OpenVINO. ¡Calienta no solo físicamente, sino también mentalmente!

Baja 800




Nizhny Novgorod, la ciudad donde se llevó a cabo la escuela, cumplirá 800 años en 2 años, lo que significa que hay tiempo suficiente para implementar un proyecto interesante. Sugerimos que los chicos piensen en la tarea de crear una guía, que puede dar información sobre lo que el objeto está representado en la imagen y qué hechos se conocen a partir de la imagen de la fachada de los edificios. En nuestra opinión, esta tarea fue una de las más difíciles, ya que se relaciona con la visión por computadora clásica, pero el equipo mostró un resultado decente.

Piedra, tijeras, papel


A pesar de los estrictos límites de tiempo para la implementación del trabajo de diseño, este equipo tampoco tuvo miedo de realizar un experimento para entrenar su propia red neuronal para clasificar las posiciones de las manos en un juego famoso.

Comentarios de los participantes


Les pedimos a los estudiantes de diferentes cursos que compartieran sus impresiones sobre la Escuela de Verano:

Recientemente, tuve la suerte de recibir capacitación en el campamento de verano Intel Computer Vision, y fue una experiencia maravillosa. Obtuvimos muchos nuevos conocimientos y habilidades en el campo de CV, instalación de software, depuración, también nos sumergimos en el entorno de trabajo, enfrentamos problemas reales, discutimos posibles soluciones con colegas y maestros de la escuela. Existe el mito de que el trabajo del programador es exclusivamente comunicarse con la computadora. Sin embargo, esto no es así de la palabra en absoluto. Nuestro trabajo creativo es inseparable de la comunicación con las personas. Al comunicarse, fue posible obtener un conocimiento único. Y este componente de la escuela que más me gustó. Sin embargo, hay un punto negativo ... ¡después de graduarme quería continuar! Además del conocimiento teórico en DL y las habilidades prácticas en CV, tuve una idea de qué áreas de las matemáticas deberían recibir atención especial, qué tecnologías deberían estudiarse. La dedicación, profesionalismo y amor por el trabajo de los ingenieros e investigadores de Intel influyeron en mi elección de dirección en TI. Por esto me gustaría agradecer a todos los organizadores de la escuela.
Christina, 1 año, HSE

En tan poco tiempo, la escuela pudo proporcionar la máxima información y práctica sobre el tema de la visión por computadora. Y aunque fue diseñado para el conocimiento básico, las conferencias contenían mucho material técnico, que me gustaría entender y dedicar más tiempo a estudiar. Los mentores y profesores de la escuela respondieron fácilmente todas las preguntas y hablaron con los estudiantes. Bueno, durante la implementación del proyecto final, tuve que sumergirme en la jungla de desarrollar una aplicación preparada y encontrar dificultades que no siempre surgen al estudiar. Nuestro equipo finalmente hizo una aplicación para jugar con una computadora el juego "piedra-papel-tijera". Entrenamos el modelo, reconociendo la figura en la cámara web, escribimos la lógica e hicimos una interfaz basada en el marco opencv. La escuela proporcionó alimento para el pensamiento y un vector para un mayor aprendizaje y desarrollo. Muy contento de haber participado.
Sergey, 3 años, UNN

La escuela no estuvo a la altura de mis expectativas. Las conferencias fueron realizadas por personas bastante experimentadas de los desarrolladores de Intel. La comunicación con los profesores siempre ha sido interesante y útil, los mentores son receptivos, siempre dispuestos a ayudar. Las conferencias son agradables de escuchar, los temas son bastante relevantes e informativos. Pero algunas cosas que ya sabía, y las que no sabía, no estaban respaldadas por la práctica y, por lo tanto, el material realmente bueno no fue completamente comprendido y estudiado por mí. Sí, la mayor parte de la información se proporcionó solo con fines informativos, para que luego pudiera probarla en casa o simplemente imaginar de qué se trataba, pero aún así quería implementar algunos algoritmos existentes bajo la supervisión de maestros experimentados que pueden dar consejos prácticos o ayuda si algo no funciona Como resultado, en la práctica se usaron soluciones listas para usar, y el código, se podría decir, fue escrito previamente para nosotros, solo fue necesario modificarlo ligeramente. Los proyectos fueron los más simples, y si intentas complicar la tarea de alguna manera, entonces no tienes tiempo suficiente para implementarla en un estado más o menos estable, como sucedió con nosotros.
En general, toda la escuela parece un tipo de juego no demasiado serio para los desarrolladores, y esto es solo culpa de la parte práctica. Creo que es necesario aumentar el tiempo para dirigir una escuela, complicar el material de las prácticas, para que pueda y deba escribir algo usted mismo, algo realmente complejo y necesario, y no usar el terminado, hacer que la práctica sea más fluida en complejidad creciente, temas sobre competencia entregar proyectos en los primeros días para que el material de las conferencias y prácticas pueda usarse inmediatamente en sus proyectos y haya más tiempo para la implementación. Luego, el tiempo dedicado a la escuela servirá como una buena experiencia para los principiantes.
Dmitry, curso de maestría de 1 año, NSTU

La escuela de verano de Intel fue una gran oportunidad para pasar este verano haciendo lo que aman. El hecho de que los profesores de Intel relacionados con la programación en el campo de la visión por computadora no dieran conferencias, quería aprovechar al máximo todo el proceso, aunque a veces era difícil. Todos los días pasaron muy rápido, silencioso y fructífero. La oportunidad de implementar mi propio proyecto me permitió trabajar en un equipo con curadores maravillosos y otros participantes de la escuela. Estas dos semanas pueden describirse brevemente como interesantes y fugaces.
Elizabeth, 2 años, UNN

En el otoño (octubre-noviembre) encontrará el programa educativo Delta, información sobre la cual puede encontrar en nuestro grupo VKontakte . Estén atentos!

Source: https://habr.com/ru/post/464579/


All Articles