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