PSI3471 (2025): Fundamentos de Sistemas Eletrônicos Inteligentes

Informações sobre o curso:


Este curso será dado pelo prof. Magno e por mim (Hae). Ele está dividido em 2 partes:
Parte 1 – Magno: Redes neurais artificiais.
Parte 2 – Hae: Aprendizado de máquina em visão computacional.

A continuação desta disciplina é “PSI-3472 Concepção e Implemementação de Sistemas Eletrônicos Inteligentes” do 2º semestre. 

Materiais do prof. Hae:



Planejamento das aulas:

Teremos alternadamente aulas teóricas e práticas. Usarei o início da aula prática para terminar a exposição teórica.




Aulas planejadas (pode mudar ao longo do semestre)
Aula prática?
Linguagem
Data de entrega da lição de casa (sem desconto - com desconto)
12/05 aula 01

Conceitos básicos para processamento de imagens. 
C++/OpenCV

14/05 aula 02
Componentes conexos e crescimento de semente. Sim
C++/OpenCV aulas 1/2: 18/05 - 25/05
19/05 aula 03
Filtros e convolução 1.

C++/OpenCV
21/05 aula 04 Filtros e convolução 2.
Sim C++/OpenCV aulas 3/4: 25/05 - 01/06
26/05 aula 05 Casamento de modelos.

C++/OpenCV
28/05 aula 06
Transformações geométricas. Sim C++/OpenCV aulas 5/6: 01/06 - 08/06
02/06 aula 07
Introdução ao aprendizado de máquina.

C++/Python

04/06 aula 08
Aprendizado de máquina para projetar filtros. Sim C++/Python aulas 7/8: 08/06 -15/06
09/06 aula 09 Classificação de MNIST pelo aprendizado clássico. Extração de características.

C++/Python
11/06 aula 10
Tensorflow/Keras/PyTorch, Colab. Classificação de MNIST pela rede densa. Sim Python/Keras
aulas 9/10: 15/06 - 22/06
16/06 aula 11 Rede neural convolucional "tipo LeNet" em Tensorflow Keras.

Python/Keras
18/06 aula 12 Modelos pré-treinados para ImageNet. Sim Python/Keras aulas 11/12: 22/06 - 29/06
23/06 aula 13 Redes avançadas.

Python/Keras

Avaliações:

A avaliação será baseada em “lições de casa” (LC) e num “exercício programa” (EP). Na minha parte da disciplina, não haverá prova.

1) “Lições de casa”:

Cada conjunto de duas aulas (aula teórica 2ª-feira + aula prática 4ª-feira) pode ter um exercício computacional “lição de casa”.
Além disso, pode ter um exercício extra que vale até +2 pontos.
Essas lições deverão ser resolvidas em grupos de dois alunos ou, excepcionalmente, sozinho.
Os alunos podem mudar de grupo ao longo do semestre. 
Essas “lições de casa” podem ser resolvidas durante a aula prática e mostradas ao professor/especialista. Neste caso, só precisa colocar o código-fonte em edisciplinas (não precisa postar o vídeo).
Neste caso, escreva nas observações de edisciplinas algo como “o exercício já foi corrigido na aula por Fulano.”
Se não conseguir terminar essas “lições de casa” durante a aula prática, o grupo poderá terminar em casa até o próximo domingo. Neste caso, precisa postar o vídeo. Neste caso, escreva nas observações algo como
“o exercício não foi corrigido na aula”.
 
Após resolverem as “lições de casa”, vocês devem gravar um vídeo de no máximo 40s, mostrando que fizeram os exercícios.
Não pode enviar vídeo com mais de 40s, pois a quantidade de alunos do curso não nos permite corrigi-los: pode haver desconto na nota.
Vocês devem convencer o espectador do vídeo (o professor/especialista vai corrigir a sua lição) que fizeram os exercícios computacionais solicitados e que eles estão funcionando
corretamente.
Não precisam explicar teorias que o professor/especialista já conhece.

Cada dupla deve enviar um único vídeo (não postem o mesmo vídeo duas vezes).
A dupla deve se alternar na gravação de vídeo, isto é, se Fulano gravou vídeo 1, Ciclano deve gravar vídeo 2, etc.

É necessário que o vídeo contenha áudio, pois é muito difícil entender um vídeo sem a explicação falada.
O vídeo não pode ter sido acelerado para diminuir a duração, pois dificulta entender a fala.

Podem gravar a tela do computador usando celular ou usando algum programa de captura de tela (por exemplo Zoom, Google Meet, ou OBS Studio).
Em algum momento, deve aparecer no vídeo o rosto e algum documento do aluno que gravou o vídeo (como a carteira USP, RG, CNH, etc).
Vocês podem enviar o vídeo em si (.mkv, .mp4, .avi, etc.) ou um link para o vídeo (youtube, google drive, etc).
No segundo caso, deve assegurar que todos os professores/especialistas (magno.silva@usp.br, hae.kim@usp.br, renatocan@lps.usp.br, wesleybeccaro@usp.br) tenham acesso ao seu vídeo.

Não esqueçam de escrever/falar os nomes da dupla (ou do único aluno, escrevendo: "exercício feito individualmente") em três lugares diferentes: no campo “comentários sobre o envio”, no início do vídeo e no início dos programas-fontes. Caso contrário, um dos alunos da dupla pode ficar sem a nota.
Após a correção, não serão aceitas novas entregas.

A correção será feita em princípio baseado somente nesse vídeo.
Quando o professor/pesquisador ficar com alguma dúvida, poderá olhar também os códigos-fontes. Assim, entreguem também os códigos-fontes (.cpp ou .py ou .ipynb) das lições. Nos códigos-fontes, coloquem os nomes da dupla na primeira linha.
Os exercícios entregues com atraso terão desconto de 1 ponto por dia de atraso.
As lições não podem ser entregues com atraso de mais de uma semana.

2) Além das lições de casa, haverá um exercício-programa para fazer. As instruções do EP estarão no seu enunciado.

3) Cálculo da média final:

MHae = (MLC + EP) / 2

onde MHae é média final da minha parte da disciplina, MLC é a média das lições de casa e EP é a nota do exercício-programa.

Importante: Para ser aprovado na disciplina, o aluno deve tirar nota >= 3 nas duas partes da disciplina (do Magno e do Hae).

Importante: Como qualquer disciplina de graduação da USP, é necessária a presença em 70% das aulas. Controlaremos a presença com lista de presença.
 
Exercício-programa:



Exercícios-programas de outros anos: