Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
04508
Acrónimo :
04508
Ciclo :
2.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Português

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
24.0h/sem
Aula Teórico-Prática (TP) :
0.0h/sem
Aula Prática e Laboratorial (PL) :
0.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
25.0h/sem
Trabalho Autónomo :
125.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


Ciência de Dados

Departamento / Department


ISCTE

Ano letivo / Execution Year


2023/2024

Pré-requisitos / Pre-Requisites


Não existem pré-requisitos formais, mas assume-se que os estudantes têm conhecimentos de Álgebra Linear, de Estatística e sobretudo de Programação (a linguagem Python é extensivamente utilizada no âmbito desta UC).

Objetivos Gerais / Objectives


O principal objetivo consiste em dar a conhecer aos estudantes os principais e mais recentes métodos computacionais para manipulação e análise de imagens, com vista à extração automática de conhecimento. Serão aprofundadas na UC técnicas para extração de características de imagem que poderão ser usadas em algoritmos de aprendizagem automática clássicos e técnicas de aprendizagem profunda com aplicação a problemas que envolvam imagens, nomeadamente as baseadas em redes neuronais convolucionais. Para além disso pretende-se também familiarizar os estudantes com as principais ferramentas utilizadas para manipulação de imagens no âmbito da visão por computador e da aprendizagem automática, nomeadamente as bibliotecas OpenCV e Tensorflow, respetivamente, usando a linguagem de programação Python.

Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes


O1: Conhecer o processo básico de formação de uma imagem digital O2: Representar uma imagem em diferentes espaços de cor e no domínio da frequência O3: Realizar operações típicas de processamento de imagens O4: Extrair características de baixo nível de uma imagem O5: Implementar algoritmos clássicos de aprendizagem automática para classificar o conteúdo de imagens O6: Conhecer a arquitetura típica de uma rede neuronal convolucional (CNN) e perceber o seu funcionamento interno O7: Resolver um problema de classificação de imagens com complexidade média recorrendo a CNNs O8: Aplicar metodologias de transferência de conhecimento e fine-tuning usando CNNs pré-treinadas O9: Usar algoritmos de aprendizagem profunda para identificar objetos numa imagem O10: Conhecer algoritmos de aprendizagem profunda para geração automática de conteúdos multimédia O11: Manipular imagens usando a biblioteca OpenCV O12: Utilizar a biblioteca Tensorflow para desenvolver aplicações de aprendizagem automática

Conteúdos Programáticos / Syllabus


CP1 - Aquisição e representação de imagens CP2 - Operações com imagens CP3 - Extração de características de imagem CP4 - Introdução à aprendizagem automática CP5 - Redes neuronais clássicas CP6 - Redes neuronais convolucionais CP7 - Transferência de conhecimento CP8 - Arquiteturas de redes para deteção e identificação de objetos CP9 - Arquiteturas de redes para geração automática de conteúdos

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes


A coerência entre os Conteúdos Programáticos (CP) e os Objetivos de Aprendizagem (O) desta unidade curricular pode ser descrita através das seguintes relações: CP1 -> O1, O2, O11 CP2 -> O2, O3, O11 CP3 -> O4, O11 CP4 -> O5, O11, O12 CP5 -> O5, O11, O12 CP6 -> O6, O7, O12 CP7 -> O7, O8, O12 CP8 -> O8, O9, O12 CP9 -> O8, O10, O12 Nestas relações, há a salientar que cada conteúdo programático está tipicamente associado a 2 ou 3 objetivos de aprendizagem, em que pelo menos um deles tem um cariz prático e experimental. Em particular, os objetivos “O11 - Manipular imagens usando a biblioteca OpenCV” e “O12 - Utilizar a biblioteca Tensorflow para desenvolver aplicações de aprendizagem automática”, estão associados a diversos conteúdos programáticos, sendo que O11 é um objetivo associado aos conteúdos que incidem em técnicas e algoritmos de processamento de imagens, e O12 aos conteúdos que incidem em algoritmos de aprendizagem automática aplicada a imagens.

Avaliação / Assessment


Dado o caráter iminentemente prático da UC, só existem modalidades de avaliação contínua ou periódica, não estando prevista a avaliação por exame. Aval. Contínua (implica presença em pelo menos 2/3 das aulas) - Participação em aula (20%) - individual, avaliada com base nos exercícios realizados durante as aulas; - Desafios (20%) - trabalhos de grupo realizados “em casa”; - Projeto (60%) - realizado em grupo, com relatório e sujeito a uma discussão oral com avaliação individual. Aval. Periódica (destina-se sobretudo a quem não puder comparecer nas aulas) - Prova prática (40%) - individual, realizada no final do período letivo; - Projeto (60%) - individual ou em grupo, com relatório e sujeito a uma discussão oral com avaliação individual. Todas as componentes têm uma nota mínima de 8 valores. Independentemente da modalidade seguida, a nota da componente "Projeto" é limitada pelo desempenho demonstrado individualmente na discussão oral, de acordo com a seguinte regra: - Muito bom desempenho – sem limite; - Bom desempenho – limite de 16 valores; - Desempenho suficiente – limite de 12 valores; - Mau desempenho – reprovado à UC.

Metodologias de Ensino / Teaching methodologies


Aulas teórico-práticas semanais de 3h, que alternam entre momentos de exposição e momentos de aplicação, com exemplos e exercícios que implicam o desenvolvimento de trechos de código usando as bibliotecas OpenCV e Tensorflow.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


Os instrumentos de avaliação são desenhados para cobrirem todos os objetivos da UC. Os problemas realizados ao longo do semestre vão cobrindo os objetivos associados aos conteúdos programáticos que vão sendo lecionados. O projeto pretende cobrir com maior profundidade os objetivos de aprendizagem O6-O12. O planeamento das aulas da UC evidencia a relação entre os métodos pedagógicos usados e os objetivos de aprendizagem definidos anteriormente.

Observações / Observations


Nas épocas de avaliação normais, a entrega do projeto e as discussões podem ser realizadas na 1ª época ou na 2ª época. Não há lugar a melhoria de nota. O processo de avaliação em época especial é idêntico à modalidade de avaliação periódica.

Bibliografia Principal / Main Bibliography


Tomás Brandão, Materiais da UC disponibilizados na plataforma de e-learning, 2023, -, - J. Howse, J. Minichino, Learning OpenCV 4 with Python 3, 3rd Edition, Packt Publishing, 2020, -, - M. Elgendy, Deep Learning for Vision Systems, Manning, 2020, -, -

Bibliografia Secundária / Secondary Bibliography


M. Nixon, A. Aguado, Feature Extraction and Image Processing for Computer Vision, 4th Edition, Academic Press, 2019, -, - I. Goodsfellow, Y. Bengio, A. Courville, Deep Learning, MIT Press, 2016, -, - Vários, Tutoriais e documentação da bibliotecas OpenCV, -, -, https://opencv.org/ Vários, Tutoriais e documentação da biblioteca Tensorflow, -, -, https://www.tensorflow.org/ R. Szeliski, Computer Vision: Algorithms and Applications, 2nd Edition, Springer, 2021, -, https://szeliski.org/Book/ F. Chollet, Deep Learning with Python, 2nd Edition, Manning, 2021, -, -

Data da última atualização / Last Update Date


2024-02-16