Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
Ciência de Dados
Departamento / Department
ISCTE
Ano letivo / Execution Year
2024/2025
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 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
C1 - Aquisição e representação de imagens C2 - Operações com imagens C3 - Extração de características de imagem C4 - Introdução à aprendizagem automática C5 - Redes neuronais clássicas C6 - Redes neuronais convolucionais C7 - Transferência de conhecimento C8 - Arquiteturas de redes para deteção e identificação de objetos C9 - 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
C1 e C2 cobrem técnicas de processamento de imagens, estando associados a O1 a O3, que incidem na manipulação e processamento de imagens. C3 a C5 cobrem técnicas clássicas de extração de características de imagens e posterior utilização das mesmas num sistema de aprendizagem automática clássico. Estão associados aos objetivos O4 e O5. C6 e C7 incidem nas redes neuronais convolucionais e seu treino, para resolver problemas de classificação de imagens. Estão associados aos objetivos O6 a O8. C8 e C9 referem-se a arquiteturas de redes neuronais profundas para realizar tarefas mais complexas do que a classificação de imagens. Encontram-se associados aos objetivos O9 e O10. Há ainda a salientar que os diversos conteúdos programáticos estão também associados a objetivos de aprendizagem de cariz prático: O11, associado à implementação de técnicas de processamento de imagens (C1 a C5); e O12, associado à implementação e uso de algoritmos de aprendizagem automática (C4 a C9).
Avaliação / Assessment
Dado o caráter iminentemente prático da UC, só existem modalidades de avaliação ao longo do semestre, não estando prevista a avaliação por exame. Modalidade A (requer presença em pelo menos 60% das aulas): - Exercícios (30%) – em grupo, inclui atividades realizadas nas aulas (10%) e dois trabalhos (desafios) com entrega online (10% cada um); - Teste (30%) - individual; - Projeto (40%) – em grupo, mas com avaliação individual; inclui relatório e discussão oral. Modalidade B - Teste (45%) – individual; - Projeto (55%) – individual ou em grupo, mas com avaliação individual; inclui relatório e discussão oral. A componente "Projeto" tem uma nota mínima de 10 valores, independentemente da modalidade seguida. O "Teste" é realizado no final do período letivo, após concluídas as aulas; caso o/a estudante falte ao teste mas apresente uma justificação válida para a falta, poderá realizar um novo teste em data a combinar durante a época de exames. A nota da componente "Projeto" está sujeita a uma discussão oral. A discussão oral poderá impor um limite à nota do projeto caso o desempenho demonstrado pelo(a) estudante esteja abaixo da qualidade do projeto entregue, podendo inclusivamente reprovar caso o desempenho demonstrado não seja considerado suficiente. Não existe processo de melhoria de nota. O processo de avaliação em época especial é idêntico ao da modalidade B, mas neste caso o projeto terá obrigatoriamente de ser realizado individualmente.
Metodologias de Ensino / Teaching methodologies
Aulas teórico-práticas semanais de 3h. A primeira metade da aula é expositiva e demonstrativa, sendo introduzidos os principais conceitos associados aos conteúdos da aula, e apresentando exemplos de aplicação dos mesmos. Na segunda parte da aula os estudantes resolvem os exercícios propostos, a fim de aplicarem de imediato a matéria que foi lecionada durante a primeira parte da aula. Os exercícios implicam o desenvolvimento de pequenos scripts ou 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 exercícios realizados em aula e os trabalhos de grupo entregues ao longo do semestre vão cobrindo os objetivos associados aos conteúdos programáticos à medida que estes vão sendo lecionados. O projeto final pretende cobrir com maior profundidade os objetivos de aprendizagem O6-O12. O teste serve essencialmente para introduzir maior peso nas componentes individuais da avaliação, aferindo de uma forma mais objetiva os conhecimentos e competências adquiridos pelos estudantes ao longo do semestre. 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
O método de avaliação da UC, sem modalidade de avaliação por exame, foi autorizado pela Comissão Pedagógica da ISTA a 22/fev/2024, em acordo com a alínea 3-a) do Art. 7º do regulamento geral de avaliação de conhecimentos e competências.
Bibliografia Principal / Main Bibliography
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
Tomás Brandão, Materiais da UC disponibilizados na plataforma de e-learning, 2024, -, - 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
2025-01-31