Acampamento de verão da Computer Vision - Escola de verão da Intel Computer Vision



De 3 a 16 de julho, com base na UNN-los. N.I. Lobachevsky passou na Escola de Verão Inter-Universitária da Intel em Computer Vision - Computer Vision Summer Camp, na qual participaram mais de 100 alunos. A escola foi direcionada a estudantes de especialidades técnicas das universidades de Nizhny Novgorod, interessados ​​em visão computacional, aprendizado profundo, redes neurais, Intel OpenVINO, OpenCV.

Neste artigo, compartilharemos como foi realizada a seleção para a Escola, o que estudamos, o que os rapazes fizeram na parte prática e também falaremos sobre alguns dos projetos apresentados na defesa.

Processo de seleção e formas de participação


Decidimos dar às crianças a opção de solicitar duas formas de treinamento: em período integral e em meio período. Os alunos não passaram na seleção para correspondência em período integral e se matricularam imediatamente. Eles freqüentavam apenas palestras, durante a semana, pela manhã. Os caras também tiveram a oportunidade de concluir tarefas práticas e enviá-las ao GitHub para testes pelos professores.

Para trabalhar em período integral, os caras tiveram que ir ao escritório da Intel para uma entrevista com a comissão. A diferença em relação ao formulário de meio período era que, além das palestras, os participantes do acampamento organizavam tarefas práticas com curadores - professores da UNN e engenheiros da Intel. Na segunda semana, as tarefas práticas foram concluídas e os projetos começaram, nos quais os participantes trabalharam em grupos de 3 pessoas.

Na entrevista, foram feitas perguntas aos alunos em matemática e programação, além de uma tarefa que precisava ser resolvida no local. Vale ressaltar que a comissão consistia em engenheiros de software, engenheiros de algoritmos e professores universitários. N.I. Lobachevsky, a entrevista acabou sendo multilateral e marcante. Do ponto de vista do entrevistado, foi interessante descobrir o conhecimento técnico básico dos alunos aplicáveis ​​à visão computacional, para que fossem abordados tópicos como C ++ / STL, OOP, algoritmos básicos e estruturas de dados, álgebra linear, análise matemática, matemática discreta e muito mais. A partir das tarefas, foi prioritário aprender o raciocínio dos alunos. A comissão também estava interessada em onde estudavam, que experiência tinham antes desta escola (por exemplo, atividade científica) e como ela poderia ser aplicada diretamente no campo da visão computacional.

No total, 78 alunos participaram da seleção em período integral, enquanto havia 24 vagas em período integral, e a competição foi de 3 alunos por vaga. Você pode ver estatísticas sobre os participantes e diferenças visuais entre as formas de participação em período integral e em período parcial na tabela abaixo:



O que os caras fizeram por 2 semanas?


Os estudantes de teoria e prática se familiarizaram com as principais tarefas da visão computacional: classificação de imagens, detecção de objetos e acompanhamento. Como regra geral, o componente da palestra sobre cada tópico incluía uma excursão histórica ao desenvolvimento de métodos clássicos para resolver problemas de visão computacional e métodos modernos de resolução usando aprendizado de máquina e redes neurais. A teoria foi seguida por uma prática em que os alunos, depois de baixar modelos populares de redes neurais, os lançaram usando o módulo DNC da biblioteca OpenCV, criando um aplicativo para o usuário.

As apresentações de todas as palestras foram publicadas no repositório público do Github , para que os alunos sempre pudessem abrir e ver as informações necessárias, inclusive depois da escola. Foi possível conversar com palestrantes, professores de prática e engenheiros da Intel ao vivo ou por meio de bate-papo em Gitter. O tempo da semana do projeto também foi bem-sucedido: começou na quarta-feira, o que nos permitiu passar fins de semana livres de palestras, melhorando as decisões da equipe. Os participantes mais responsáveis ​​passaram metade do sábado no escritório da Intel, pelo qual foram encorajados por uma excursão não programada no mesmo dia.

Como foi a proteção dos projetos?


Cada equipe teve 10 minutos para conversar sobre o que eles fizeram durante o projeto e o que vieram. Depois que esse tempo começou, 5 minutos começaram, em que os engenheiros da empresa fizeram perguntas aos rapazes e deram poucos conselhos que os ajudariam a melhorar seu projeto ou evitar erros no futuro. Cada um dos rapazes tentou a si mesmo como palestrante, mostrando seu conhecimento em visão computacional e confirmando sua contribuição para a criação do projeto, o que nos ajudou a considerar e tirar uma conclusão sobre cada participante da escola. A defesa ocorreu por 3 horas, mas cuidamos dos caras e resolvemos a situação com uma pequena pausa para o café, onde eles podiam respirar e discutir problemas com os principais especialistas da Intel.

No final do dia, atribuímos um primeiro, dois segundos e três terceiros lugares. Foi muito difícil escolher, porque cada equipe, cada projeto tinha seu próprio sabor e se distinguia pela originalidade da apresentação.


Acampamento CV em tempo integral, proteção de projeto, escritório da Intel em Níjni Novgorod

Projetos apresentados


Luva inteligente




Usando o detector e rastreador usando OpenCV para navegação visual no espaço. A equipe acrescentou ainda a capacidade de determinar a profundidade usando duas câmeras. A API do Microsoft Speech é usada como interface de gerenciamento.

Receptor




Detectando alimentos e selecionando uma receita para um prato pronto, incluindo os ingredientes encontrados. Os caras não tiveram medo da tarefa e, por uma semana, marcaram um número suficiente de imagens por conta própria, treinaram o detector usando a API de detecção de objetos TensorFlow e adicionaram a lógica para encontrar a receita. Simples e de bom gosto!

Editor 2.0




Os participantes do projeto usaram um conjunto de redes neurais (busca de rosto, normalização de imagens de rosto por pontos-chave, cálculo de um descritor de imagem de rosto) para reconhecer rostos como parte da tarefa de procurar fragmentos em vídeos longos nos quais uma determinada pessoa está presente. O sistema desenvolvido pode ser usado como um sistema de ajuda para edição de vídeo, liberando a pessoa de ter que assistir ao vídeo em busca dos fragmentos necessários. Usando redes neurais da biblioteca de modelos OpenVINO , a equipe conseguiu alcançar uma alta velocidade de aplicação: em um laptop com um processador Intel Core i5, a velocidade de processamento de vídeo era de 58 quadros por segundo.

Anonimizador




Desenho de óculos e máscaras no rosto de uma pessoa. Para detectar rostos e pontos principais, foi utilizada a rede MTCNN.

Anônimo




Outro trabalho interessante sobre o tema da ocultação de personalidade. Essa equipe introduziu várias opções de distorção de face: desfoque e pixelização. Em uma semana, os caras não apenas descobriram a tarefa, mas também forneceram um modo de anonimato para uma pessoa específica (com reconhecimento facial).

Aquecer


A equipe do projeto “Warm-up” resolveu o problema de criar um assistente de esportes para o exercício de inclinar a cabeça. E mesmo que a aplicação final dessa aplicação ainda seja controversa, foi realizado um extenso estudo comparando vários algoritmos de detecção de face: cascatas Haar, redes de TensorFlow, OpenCV e OpenVINO. Aquecer não apenas fisicamente, mas também mentalmente!

Inferior 800




Nizhny Novgorod, a cidade onde a escola era realizada, completará 800 anos em dois anos, o que significa que há tempo suficiente para implementar um projeto interessante. Sugerimos que os rapazes pensem na tarefa de criar um guia, que pode fornecer informações sobre o que o objeto é representado na imagem e quais fatos são conhecidos a partir da imagem da fachada dos edifícios. Em nossa opinião, essa tarefa foi uma das mais difíceis, no que se refere à visão computacional clássica, mas a equipe mostrou um resultado decente.

Pedra, tesoura, papel


Apesar dos prazos rígidos para a implementação do trabalho de design, essa equipe também não teve medo de realizar um experimento para treinar sua própria rede neural para classificar as posições das mãos em um jogo famoso.

Revisões dos participantes


Pedimos aos alunos de diferentes cursos que compartilhassem suas impressões da Escola de Verão:

Recentemente, tive a sorte de receber treinamento no acampamento de verão da Intel Computer Vision, e foi uma experiência maravilhosa. Temos um monte de novos conhecimentos e habilidades no campo do CV, instalação de software, depuração, também foram imersos no ambiente de trabalho, confrontados com problemas reais, discutimos possíveis soluções com colegas e professores da escola. Existe um mito de que o trabalho do programador é o de se comunicar exclusivamente com o computador. No entanto, isso não é verdade. Nosso trabalho criativo é inseparável da comunicação com as pessoas. Com a comunicação, foi possível obter conhecimento único. E esse componente da escola que eu mais gostei. No entanto, há um menos ... após a formatura, eu queria continuar! Além do conhecimento teórico em DL e habilidades práticas em CV, tive uma idéia de quais áreas da matemática deveriam receber atenção especial, quais tecnologias deveriam ser estudadas. A dedicação, profissionalismo e amor ao trabalho dos engenheiros e pesquisadores da Intel influenciaram minha escolha de direção em TI. Por isso, gostaria de agradecer a todos os organizadores da escola.
Christina, 1 ano, HSE

Em tão pouco tempo, a escola foi capaz de fornecer o máximo de informações e práticas sobre o assunto da visão computacional. E, embora tenha sido projetada para o conhecimento básico, as palestras continham muito material técnico, que eu gostaria de entender e passar mais tempo estudando. Mentores e professores da escola responderam prontamente a todas as perguntas e conversaram com os alunos. Bem, durante a implementação do projeto final, tive que mergulhar na selva para desenvolver um aplicativo pronto e encontrar dificuldades que nem sempre surgem ao estudar. Nossa equipe fez um pedido para jogar com um computador o jogo "pedra-papel-tesoura". Nós treinamos o modelo, reconhecendo a figura na webcam, escrevemos a lógica e fizemos uma interface baseada na estrutura opencv. A escola forneceu alimento para o pensamento e um vetor para mais aprendizado e desenvolvimento. Muito satisfeito por ter participado.
Sergey, 3 anos, UNN

A escola não atendeu às minhas expectativas. As palestras foram conduzidas por pessoas bastante experientes de desenvolvedores da Intel. A comunicação com os professores sempre foi interessante e útil, os mentores são receptivos, sempre prontos para ajudar, as palestras são agradáveis ​​de ouvir, os tópicos são bastante relevantes e informativos. Mas algumas coisas que eu já sabia e aquelas que eu não conhecia não eram apoiadas pela prática e, portanto, um material realmente bom não foi completamente entendido e estudado por mim. Sim, a maioria das informações era fornecida apenas para fins informativos, para que eu pudesse experimentá-las em casa mais tarde, ou apenas imaginar o que era, mas ainda queria implementar alguns algoritmos existentes por conta própria, sob a supervisão de professores experientes, que podem dar conselhos práticos ou ajudar se algo não funciona Como resultado, soluções prontas foram usadas na prática, e o código, poder-se-ia dizer, foi previamente escrito para nós, era apenas necessário modificá-lo levemente. Os projetos eram os mais simples e, se você tentar complicar a tarefa de alguma forma, não terá tempo suficiente para implementá-la em um estado mais ou menos estável, como aconteceu conosco.
Em geral, toda a escola parece um tipo de jogo não muito sério para os desenvolvedores, e isso é apenas culpa da parte prática. Penso que é necessário aumentar o tempo de condução de uma escola, complicar o material da prática, para que você possa e deva escrever algo você mesmo, algo realmente complexo e necessário, e não usar o final, para tornar a prática mais suave no aumento da complexidade, tópicos sobre competitividade distribuir projetos nos primeiros dias, para que o material das palestras e práticas possa ser usado imediatamente em seus projetos e haja mais tempo para a implementação. Então, o tempo gasto na escola servirá como uma boa experiência para iniciantes.
Dmitry, curso de mestrado de 1 ano, NSTU

A escola de verão da Intel foi uma ótima chance de passar o verão fazendo o que ama. Como os palestrantes da Intel relacionados à programação no campo da visão computacional não davam palestras, eu queria aproveitar ao máximo todo o processo, embora às vezes fosse difícil. Todos os dias passavam muito rapidamente, silenciosamente e frutuosamente. A oportunidade de implementar meu próprio projeto me permitiu trabalhar em equipe com curadores maravilhosos e outros participantes da escola. Essas duas semanas podem ser descritas brevemente como interessantes e fugazes.
Elizabeth, 2 anos, UNN

No outono (outubro a novembro), você encontrará o programa educacional Delta, informações sobre as quais você pode descobrir em nosso grupo VKontakte . Fique atento!

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


All Articles