Este repositório possui os blocos de notas, os dados para exercícios e os modelos de rede neural para o seguinte conjunto de disciplinas de visão computacional ministradas pelo Departamento de Informática e Estatística na e pela UFSC:
- INE 5443 Reconhecimento de Padrões (graduação em Ciências da Computação UFSC)
- INE 58XX Processamento Digital de Imagens (graduação em Ciências da Computação UFSC - currículo novo)
- INE410121 Visão Computacional (PPGCC pós-graduação stricto sensu oferecida como disciplina remota para toda a UFSC e também alunos especiais de outras universidades)
- EEL110021 Visão Computacional e Inteligência Artificial para Veículos Autônomos (PPGCC pós-graduação lato sensu oferecida em cursos de especialização externos)
Os blocos de notas foram construídos da forma mais didática possível, sempre referenciando o material didático e as fontes e razões para cada exercício.
Na parte de Visão Computacional Clássica nós tentamos, na medida do possível, utilizar as bibliotecas mais comuns de visão computacional como scikit e OpenCV, integrando rotinas de terceiros quando entendemos que o resultado era mais didático ou de melhor qualidade. Todo o material de terceiros foi reproduzido neste repositório, referenciando-se as fontes, tornando o repositório assim independente de fontes externas além das bibliotecas padrão. Algumas rotinas implementadas por OpenCV são notoriamente ruins e infelizmente não foram melhoradas ao longo dos mais de 10 anos em que esta biblioteca tem sido amplamente utilizada. Infelizmente isso se reflete nos resultados e melhorá-los implicaria em reimplementar várias coisas, o que entendemos foge ao escopo de um material didático como este.
Na parte de Visão Computacional com Aprendizado Profundo nós tentamos manter os exemplos o mais didáticos possíveis e por isso nos limitamos à biblioteca PyTorch para a implementação dos nossos notebooks. Alguns exemplos básicos utilizam a API de alto nível fast.ai, que constrói sobre PyTorch. Entendemos que isto contribui para a didática do exemplo, facilita a compreensão do iniciante e não torna o exemplo menos reprodutível. Quando há implementações em PyTorch realizadas por grupos de pesquisa bem estabelecidos de determinados modelos ou enfoques, como as últimas versões de YOLO, DETECTRON ou PADDLE-PADDLE, nós utilizamos código proveniente destas fontes. Todos os conjuntos de dados utilizados para o treinamento das redes neurais são provenientes do nosso grupo de pesquisa ou de outros grupos de pesquisa na UFSC.
Referências:
- Playlist das Aulas de Visão Computacional https://bit.ly/aulasvisao
- Git #:1 https://codigos.ufsc.br/aldo.vw/vision
- Git #2: https://github.com/awangenh/vision
- Página: http://www.lapix.ufsc.br/ensino/visao/
- Tutoriais: https://www.incod.ufsc.br/category/tutorial/
- Datsets: https://lapix.ufsc.br/dataset/
Um material didático desta abrangência e com este volume de código e evidentemente não é produto de uma pessoa só, mas sim o resultado da colaboração de muitas pessoas. Quero agradecer e reconhecer em especial a colaboração dos seguintes alunos e colegas:
- André Victória Matias: [email protected]
- Jônata Tyska Carvalho: [email protected]
- Mateus Grellert: [email protected]
- Nathalie Ferreira: [email protected]
- Luiz Antonio Buschetto Macarini: [email protected]
- Rafael de Souza Toledo: [email protected]
- Rodrigo de Paula e Silva Ribeiro: [email protected]
- Thiago Zimmermann Loureiro Chaves: [email protected]
Aldo von Wangenheim ([email protected])