Machine Learning: manipulação e processamento de imagens e vídeos


Durante o recesso de fim de ano, o professor Marcelo Chamy nos propôs uma atividade envolvendo processamento de imagens com OpenCV. A tarefa é dividida em três partes: geração de frames, aplicação de filtros e redimensionamento de imagens, culminando em uma simulação de detecção de defeitos. Aqui, compartilho um pouco sobre os objetivos e as etapas da atividade. Vamos nessa?

Parte A: Geração de Frames e Aplicação de Filtros

1. Geração de Frames

O primeiro passo foi gravar dois vídeos, cada um com 1 minuto de duração e sem cortes, onde deveríamos aparecer por pelo menos 10 segundos.

  • Primeiro vídeo: Gravado pelo celular em uma posição fixa. Esse vídeo seria convertido em frames, armazenados em um diretório específico.
  • Segundo vídeo: Capturado pela webcam do notebook. Os frames gerados em tempo real seriam exibidos na tela e processados conforme especificado abaixo.
2. Aplicação de Filtros

Nesta etapa, aplicamos filtros aos frames usando um conjunto de kernels passados em sala. A ideia é criar uma função que:

  1. Receba como parâmetros uma imagem e o kernel desejado.
  2. Aplique o filtro correspondente.
  3. Retorne a imagem processada.

Cada kernel é mapeado para uma tecla, permitindo alternar entre os filtros em tempo de execução. Ao pressionar uma tecla:

  • A imagem processada é exibida na tela.
  • O frame é salvo em disco, em um diretório separado.

Os 6 kernels obrigatórios incluem filtros como:

  • Suavização
  • Realce de bordas
  • Detecção de contornos
    E outros explorados nas aulas.

Parte B: Redimensionamento de Frames

1. Redimensionamento Dinâmico

O foco aqui é ajustar dinamicamente o tamanho dos frames utilizando 5 métodos de interpolação.

  • Inicialmente, o fator de redimensionamento começa em 10% nos eixos x e y.
  • Com as teclas + e -, o tamanho pode ser ajustado, variando entre 10% e 50%.
2. Métodos de Interpolação

Os tipos de interpolação podem ser alternados em tempo de execução, usando as seguintes teclas:

  • N: INTER_NEAREST
  • L: INTER_LINEAR
  • A: INTER_AREA
  • C: INTER_CUBIC
  • Z: INTER_LANCZOS4

Todos os frames gerados com redimensionamento são salvos em um diretório específico.

Parte C: Simulação de Detecção de Defeitos

1. Configuração da Câmera e do Produto
  • Simulamos um produto composto por ao menos 8 peças/materiais.
  • A câmera deve estar fixa em uma base estável, sem qualquer movimento durante a captura das imagens.
2. Captura e Detecção
  1. Fotografamos o produto montado.
  2. Removemos 1 ou 2 peças, garantindo que o restante do produto e a câmera permaneçam inalterados.
  3. Tiramos uma segunda foto para simular a detecção de defeitos.
3. Detecção Automática

A comparação entre as duas imagens permite identificar os itens ausentes, utilizando técnicas aprendidas em sala, como a subtração de imagens e a detecção de contornos.

Essa atividade foi projetada para consolidar conhecimentos em processamento de imagens e estimular a criatividade ao mesmo tempo. Desde a criação de filtros até a detecção de defeitos, passamos por etapas fundamentais que unem teoria e prática, simulando aplicações reais.

Luan Pinheiro

Sou técnico em eletrônica formado pelo IFAM, bacharel em Engenharia de Software pela UFAM e pós-graduado em Desenvolvimento de Sistemas pela UNIBTA. Apaixonado por tecnologia e aprendizado contínuo, estou me aprofundando na área de automação, sempre buscando contribuir e evoluir profissionalmente.

Postar um comentário

Postagem Anterior Próxima Postagem