Compreenda as principais abordagens e princípios da Visão Computacional e Stable Diffusion, explorando aplicações práticas.
Este curso é essencial para compreender os desafios complexos na interseção destas disciplinas na Inteligência Artificial e de como os sistemas computacionais interpretam, analisam e tomam decisões em modelos generativos.
Objetivos
- Compreender os princípios e as principais abordagens da Visão de Computador, oferecendo uma visão detalhada das técnicas, história e aplicações práticas.
- Instalação e utilização do OpenCV, NumPy e Matplotlib.
- Manipulação de imagens, thresholding e filtragem.
- Implementação de técnicas de deteção de objetos, incluindo Deep Learning.
- Exploração de técnicas de rastreamento de objetos em tempo real.
Destinatários
Estudantes universitários, profissionais da área de tecnologia, programadores, empresários e entusiastas da área de Inteligência Artificial.
Pré-Requisitos
Conhecimentos básicos em programação Python.
Programa
- Instalar OpenCV e introdução ao NumPy e Matplotlib
- Carregar, exibir e modificar imagens
- Thresholding e filtragem de imagens
- Captura e processamento de vídeo
- Implementação de uma técnica simples de deteção de objetos
- Técnicas de deteção de objetos baseadas em Deep Learning
- Rastreamento de objetos em tempo real
- Compreensão do YOLO para deteção de objetos em tempo real e suas variantes
- Deteção de objetos com YOLO
- Introdução a Stable Diffusion
- Gerar e manipular imagens com Stable Diffusion e Python Scripts
Instalar OpenCV e introdução ao NumPy e Matplotlib
- Instalar OpenCV usando pip e validar a instalação
- Introdução ao OpenCV como uma biblioteca para tarefas de visão computacional
- Visão geral do NumPy: criação e manipulação de arrays, operações com arrays e indexação
- Introdução ao Matplotlib para visualização: criação de gráficos, personalização de gráficos e exibição de imagens
Carregar, exibir e modificar imagens
- Ler e exibir imagens usando OpenCV (imread e imshow)
- Compreender a representação de imagens (valores de pixéis, dimensões e canais)
- Conversão de espaços de cores das imagens (BGR, RGB, Grayscale)
- Redimensionamento, rotação e inversão de imagens
- Guardar imagens modificadas (imwrite)
Thresholding e filtragem de imagens
- Compreensão do thresholding de imagens e suas aplicações
- Aplicação de métodos de thresholding global e adaptativo no OpenCV (threshold, adaptiveThreshold)
- Introdução à filtragem de imagens para redução de ruído e realce de características
- Filtros comuns no OpenCV: Gaussian, median e bilateral
- Técnicas de detecção de bordas: Sobel, Scharr e Canny
Captura e processamento de vídeo
- Captura de vídeo de uma câmera ou arquivo usando OpenCV (VideoCapture)
- Exibição de frames de vídeo em tempo real (imshow)
- Compreensão das propriedades do vídeo (largura do frame, altura e taxa de frames)
- Processamento de frames de vídeo (transformações de imagem, conversões de espaço de cores)
- Salvamento de vídeo processado (VideoWriter)
Implementação de uma técnica simples de deteção de objetos
- Visão geral das técnicas básicas de deteção de objetos (por exemplo, baseada em cores, template matching, Haar)
- Selecionar e implementar uma técnica simples de deteção de objetos usando OpenCV
- Integrar a deteção de objetos no pipeline de processamento de vídeo
- Desenhar caixas delimitadoras e rótulos nos objetos detetados
Técnicas de deteção de objetos baseadas em Deep Learning
- Visão geral das técnicas de deteção de objetos baseadas em Deep Learning
- Arquiteturas populares de deteção de objetos (R-CNN, Fast R-CNN, Faster R-CNN, YOLO, SSD)
- Comparação de desempenho e precisão das arquiteturas de deteção de objetos
- Implementação de um modelo de deteção de objetos pré-treinado com frameworks populares de Deep Learning (TensorFlow, PyTorch)
Rastreamento de objetos em tempo real
- Visão geral das técnicas de rastreamento de objetos
- Diferença entre detecção e rastreamento de objetos
- Algoritmos de rastreamento de objetos baseados em Deep Learning
- Implementação de rastreamento de objetos em tempo real com OpenCV e Deep Learning
Compreensão do YOLO para deteção de objetos em tempo real e suas variantes
- História e motivação por de trás do YOLO
- Arquitetura e componentes do YOLO
- Como o YOLO realiza a deteção de objetos
- Diferenças entre o YOLO e outros métodos de deteção de objetos (por exemplo, Faster R-CNN, SSD)
- YOLOv1, YOLOv2 (YOLO9000) e YOLOv3
- YOLOv4, YOLOv5,… YOLOV8 and YOLO NAS: arquitetura, características e melhorias de desempenho
Deteção de objetos com YOLO
- Configuração do ambiente e dependências
- Utilização de modelos YOLO pré-treinados
- Personalização do YOLO para casos de uso específicos
- Treino de modelos
- Deteção de objetos em imagens
- Deteção de objetos em tempo real em fluxos de vídeo
- Avaliação e ajuste fino do desempenho do YOLO
Introdução a Stable Diffusion
- O que é Stable Diffusion?
- Como funciona?
- Diferentes tipos de Stable Diffusion
- As aplicações de Stable Diffusion
Gerar e manipular imagens com Stable Diffusion e Python Scripts
- Geração de imagens
- Reconstrução de imagens
- Separação de componentes
- Denoising