Planeamento
Aulas
Apresentação da UC
- Apresentação da UC
Introdução à visão por computador e análise de imagens
- Introdução à visão por computador
- Perspetiva histórica
- Exemplos de aplicações e áreas de aplicação
- Exemplos de trabalhos realizados no âmbito do ISCTE e da UC
Representação e manipulação de imagens
- Introdução à biblioteca OpenCV em Python
- Representação de imagens em diferentes espaços de cor
- Leitura e escrita de ficheiros de imagem
- Acesso aos atributos de imagem e aos valores de pixel
- Conversão entre espaços de cor
- Binarização com operações de thresholding
Representação e manipulação de imagens
Exercícios sobre representação e manipulação de imagens
Operações morfológicas e convolução
- Binarização de Otsu
- Operações morfológicas
- Erosão e dilatação
- Abertura e fecho
- Convolução e filtragem
- A convolução passo-a-passo
- Exemplos de aplicação
- Fitros gaussianos e redução de ruído
- Máscaras de Sobel e deteção de contornos
- Filtros laplacianos e melhoria da nitidez
Operações morfológicas e convolução
Exercícios sobre operações morfológicas e convolução
Redes neuronais clássicas (revisão)
- Conceito de aprendizagem supervisionada
- Noção de características (features) e classes
- Arquitetura clássica de uma rede neuronal (ANN): unidades elementares (neurónios); Camada de entrada, camada(s) escondida(s) e camada de saída
- Conjuntos de treino, validação e teste
- Processo de treino - noção de "batch" e época
- Funções de otimização: algoritmo "gradient descent"
- Funções de perda: MSE; entropia cruzada
- Avaliação de resultados: taxa de acertos e perda; falsos positivos e falsos negativos; precisão (precision) e sensibilidade (recall); matriz de confusão
Redes neuronais clássicas (revisão)
Exercícios sobre redes neuronais clássicas
Redes neuronais convolucionais
- Introdução às redes neuronais convolucionais (CNN)
- Arquitetura de uma CNN
- Camadas convolucionais e filtros
- Camadas de subamostragem (pooling)
- Ativação ReLU
- Camadas totalmente ligadas (fully connected)
- Construção e treino de uma CNN no TensorFlow
- Overfitting e formas de o reduzir
- Data augmentation
- Dropout
- Visualização de resultados
Redes neuronais convolucionais
Exercícios sobre redes neronais convolucionais
Redes pré-treinadas e transferência de conhecimento
- Redes pré-treinadas e principais arquiteturas
- AlexNet e família VGG
- Família ResNet e "skip connections"
- Família MobileNet e "convoluções separáveis"
- Família Inception e "módulos" de convolução
- Família EfficientNet e "escalabilidade" de modelos
- Transferência de conhecimento - conceitos introdutórios
- Treino de uma rede com transferência de conhecimento
- Exemplos
Redes pré-treinadas e transferência de conhecimento
Exercícios sobre redes pré-treinadas e transferência de conhecimento
Deteção de objetos
- Conceitos introdutórios
- Principais arquiteturas baseadas em redes neuronais
- R-CNN, Fast R-CNN e Faster R-CNN
- Yolo (You Only Look Once)
- SSD (Single Shot Detector)
- Medidas de desempenho:
- IoU (Intersection of Union)
- AP (Average Precision) e mAP (mean Average Precision)
- Implementação de um detetor de objetos pré-treinado no OpenCV
- SSD MobileNet V2
- YoloV3
Deteção de objetos
Exercícios sobre deteção de objetos
Outras aplicações de aprendizagem profunda a imagens
- Segmentação semântica de imagens - arquitetura "Compressor-Descompressor"
- Geração de conteúdos - Generative Adversarial Networks (GANs) - arquitetura "Gerador-Discriminador"
- Comparação de imagens - Redes Siamesas
- Super-resolução
- Inpainting
Introdução ao projeto
- Objetivo
- Componente técnica
- Relatório
- Apresentação
- Discussão
- Critérios de avaliação
- Exemplos de projetos
Arranque do projeto
- Definição dos grupos
- Definição dos temas
- Sugestão de passos iniciais
Acompanhamento do projeto
Acompanhamento e apoio à realização dos projetos
Acompanhamento do projeto
Reuniões com os grupos de trabalho com vista a definir:
- abordagem a seguir
- datasets para treino e teste
- artigos e referências bibliográficas para suporte
Acompanhamento do projeto
Reuniões com os grupos de trabalho com vista a definir:
- abordagem a seguir
- datasets para treino e teste
- artigos e referências bibliográficas para suporte
Acompanhamento do projeto
Reuniões com os grupos de trabalho com vista a:
- aferir a evolução do projeto
- esclarecer dúvidas
Acompanhamento do projeto
Reuniões com os grupos de trabalho com vista a:
- aferir a evolução do projeto
- esclarecer dúvidas
Acompanhamento do projeto
Reuniões com os grupos de trabalho com vista a:
- aferir a evolução do projeto
- acertar os conteúdos finais do projeto
- definir conteúdos da apresentação e relatório
- esclarecer dúvidas
Acompanhamento do projeto
Reuniões com os grupos de trabalho com vista a:
- aferir a evolução do projeto
- acertar os conteúdos finais do projeto
- definir conteúdos da apresentação e relatório
- esclarecer dúvidas