Sigmoidal
  • Home
  • Cursos
  • Blog
  • Sobre Mim
  • Contato
Sem Resultado
Ver Todos Resultados
  • English
  • Home
  • Cursos
  • Blog
  • Sobre Mim
  • Contato
Sem Resultado
Ver Todos Resultados
Sigmoidal
Sem Resultado
Ver Todos Resultados

7 Projetos de Visão Computacional para Portfólio

Carlos Melo por Carlos Melo
agosto 18, 2026
em Carreira, Tutoriais, Visão Computacional
0
22
VIEWS
Publicar no LinkedInCompartilhar no FacebookCompartilhar no Whatsapp

O que diferencia bons projetos de Visão Computacional para portfólio de notebooks que apenas executam código? A resposta raramente está no tamanho do modelo. Ela aparece na clareza do problema, nas decisões registradas, na qualidade da avaliação e na possibilidade de outra pessoa reproduzir o resultado.

Um portfólio consistente também não precisa começar por redes neurais profundas. Processamento de imagens, geometria projetiva, classificação, detecção, representação vetorial e reconstrução 3D formam uma progressão mais instrutiva. Cada etapa acrescenta uma nova classe de problema sem ocultar os fundamentos da anterior.

Os sete projetos deste artigo foram organizados com essa lógica. Você pode começar com uma métrica de nitidez, avançar para sistemas que reconhecem pessoas e movimentos e terminar reconstruindo uma cena em três dimensões. O objetivo não é acumular sete notebooks. É produzir evidências verificáveis de que você sabe formular, implementar, medir e comunicar uma solução.

✉

Inscreva-se na Newsletter

Receba artigos sobre Data Science e IA direto no seu email.

✓ Inscrito com sucesso!

O que bons projetos de Visão Computacional precisam demonstrar?

Um repositório técnico deve permitir que um avaliador responda a cinco perguntas sem depender de uma apresentação oral:

  • Qual problema está sendo resolvido? A entrada, a saída e o usuário da solução precisam ser inequívocos.
  • Por que essa abordagem foi escolhida? Bibliotecas e modelos devem aparecer como decisões justificadas, não como uma coleção de ferramentas.
  • Como a qualidade foi medida? Toda solução precisa de um critério que possa revelar tanto acertos quanto falhas.
  • Quais são os limites? Casos difíceis, mudança de domínio, custo computacional e hipóteses de captura fazem parte do projeto.
  • Outra pessoa consegue reproduzir o resultado? Ambiente, dados, parâmetros, versões e instruções de execução devem estar registrados.

O vídeo incorporado nesta página mostra um primeiro projeto com OpenCV e PyTorch e ajuda a visualizar essa transição entre conceito, implementação e resultado. Os projetos abaixo ampliam o percurso para diferentes famílias de problemas.

1. Detector de desfoque e qualidade de imagens

Um sistema de controle de qualidade visual é um bom primeiro projeto porque transforma um conceito matemático simples em uma decisão operacional. A entrada pode ser uma pasta de fotografias, frames de vídeo ou imagens recebidas por uma API. A saída não deve ser apenas “nítida” ou “desfocada”: o projeto pode produzir um escore, um limiar calibrado e um relatório com os casos rejeitados.

Uma implementação inicial usa a variância do Laplaciano. O operador Laplaciano documentado pelo OpenCV responde a variações rápidas de intensidade, associadas a bordas e detalhes finos. Quando o desfoque reduz essas variações, a dispersão da resposta tende a cair. Outra abordagem mede a energia de altas frequências no espectro de Fourier.

O ponto mais importante do projeto não é calcular uma dessas métricas. É demonstrar que não existe um limiar universal de nitidez. Uma parede lisa, uma imagem subexposta e uma fotografia com muito ruído podem confundir a heurística por motivos distintos. Por isso, o conjunto de avaliação deve combinar imagens nítidas, desfoque gaussiano, desfoque de movimento, baixo contraste e ruído.

  • Competências demonstradas: escala de cinza, filtragem, derivadas, frequência espacial, calibração de limiar e análise de erros.
  • Dados e ferramentas: fotografias próprias, versões degradadas de forma controlada, NumPy, OpenCV, pandas e matplotlib.
  • Entregável verificável: relatório com distribuição dos escores, matriz de confusão para um limiar escolhido e uma galeria de falsos positivos e falsos negativos.
  • Erro comum: selecionar o limiar nas mesmas imagens usadas para apresentar o resultado.
  • Evolução possível: aplicar a métrica por regiões e produzir um mapa de nitidez, em vez de atribuir um único valor à imagem inteira.

No repositório, separe a geração das degradações, o cálculo das métricas e a avaliação. Essa divisão permite repetir o experimento com outra câmera ou outro tipo de cena sem reescrever o pipeline.

2. Scanner de documentos com transformação de perspectiva

O scanner inteligente acrescenta geometria ao processamento de imagens. A aplicação recebe uma fotografia inclinada, identifica o contorno do documento, ordena seus quatro vértices e aplica uma transformação de perspectiva para produzir uma vista retificada. Depois, contraste local, remoção de sombras e binarização podem aproximar a saída de um documento digitalizado.

Esse projeto demonstra uma ideia importante: uma imagem não é apenas uma matriz de intensidades. Ela também é resultado de uma projeção. As funções getPerspectiveTransform e warpPerspective do módulo de transformações geométricas do OpenCV permitem mapear o quadrilátero observado para um retângulo de destino.

Uma demonstração convincente precisa ir além de uma folha branca fotografada sobre uma mesa escura. Inclua fundos com textura, iluminação desigual, sombras, dobras, documentos parcialmente fora do quadro e cenas em que mais de um contorno compete com a página.

  • Competências demonstradas: detecção de bordas, morfologia matemática, contornos, homografia, ordenação de pontos e melhoria de contraste.
  • Dados e ferramentas: fotografias próprias capturadas por celular, OpenCV e uma pequena interface em Streamlit ou Gradio.
  • Entregável verificável: comparação lado a lado entre entrada, contorno detectado, imagem retificada e versão final binarizada.
  • Critério de qualidade: erro dos quatro cantos em relação a anotações manuais, proporção de documentos detectados e legibilidade da saída.
  • Erro comum: escolher sempre o maior contorno e presumir que ele corresponde ao documento.

Para torná-lo reprodutível, inclua um diretório de exemplos, um arquivo com os vértices de referência e testes para a ordenação dos pontos. Uma função que troca canto superior esquerdo e inferior esquerdo pode produzir uma saída plausível em algumas imagens e completamente invertida em outras.

3. Classificador de imagens com transfer learning

O terceiro projeto introduz aprendizado supervisionado sem exigir o custo de treinar uma rede profunda do zero. Você escolhe um problema de classificação com poucas categorias, parte de um backbone pré-treinado e compara dois regimes: usar o backbone como extrator fixo, treinando apenas a nova cabeça, e fazer fine-tuning de parte ou de todos os pesos.

O tutorial oficial de transfer learning do PyTorch apresenta precisamente esses dois cenários. A estrutura é conhecida; o valor do portfólio virá da sua formulação experimental. Escolha classes com uma justificativa real, registre como os dados foram divididos e investigue quais imagens confundem o modelo.

Evite um conjunto em que fotografias quase idênticas aparecem no treino e no teste. Quando várias imagens vêm do mesmo vídeo, produto ou indivíduo, a divisão deve ser feita por grupo. Caso contrário, a métrica pode refletir memorização de fundo, iluminação ou identidade.

  • Competências demonstradas: preparação de dados, data augmentation, transfer learning, função de perda, regularização e avaliação por classe.
  • Dados e ferramentas: um conjunto próprio ou uma base pública pequena, PyTorch, torchvision e TensorBoard.
  • Entregável verificável: curvas de treino e validação, matriz de confusão, exemplos de maior incerteza e comparação entre backbone congelado e fine-tuning.
  • Critério de qualidade: desempenho em um teste realmente separado e análise de precisão e recall por classe.
  • Erro comum: publicar apenas a acurácia final, sem mostrar desbalanceamento, vazamento de dados ou distribuição dos erros.

O repositório deve guardar a configuração do experimento, a semente aleatória, a versão dos pesos e o melhor checkpoint. Um script de inferência sobre uma imagem externa demonstra que o projeto não depende do estado interno do notebook.

4. Detecção de pessoas em imagens térmicas

Até este ponto, a entrada ainda se aproxima das fotografias usadas no pré-treinamento de muitos modelos. A detecção térmica introduz uma mudança de domínio: o sensor registra radiação infravermelha, a distribuição de intensidades muda e a aparência de uma pessoa pode ser muito diferente daquela encontrada em bases RGB convencionais.

O conjunto Teledyne FLIR ADAS oferece frames térmicos e visíveis anotados para detecção de objetos. Você pode restringir o experimento à classe person, estabelecer um detector generalista como baseline e medir o efeito da adaptação ao domínio térmico.

O valor técnico está na comparação controlada. Mantenha a arquitetura e altere os pesos; ou mantenha os pesos e compare resoluções de entrada. Inspecione separadamente pessoas pequenas, oclusões, baixo contraste térmico e cenas noturnas. O artigo sobre YOLO em imagens térmicas mostra como dados representativos alteram a capacidade do detector de reconhecer a mesma classe em outro sensor e outra perspectiva.

  • Competências demonstradas: detecção de objetos, formato COCO ou YOLO, fine-tuning, mudança de domínio e avaliação por IoU.
  • Dados e ferramentas: FLIR ADAS, Ultralytics YOLO ou torchvision detection, OpenCV e FiftyOne para inspeção.
  • Entregável verificável: comparação entre modelo generalista e adaptado, curvas de precisão–recall e uma galeria de erros por condição.
  • Critério de qualidade: mAP em teste separado, recall de pessoas pequenas e latência no hardware escolhido.
  • Erro comum: atribuir todo ganho ao modelo sem verificar se as divisões contêm frames vizinhos da mesma sequência.

Inclua um arquivo de configuração dos dados, o procedimento de conversão das anotações e um comando único de avaliação. Pesos grandes podem ficar em uma página de release, acompanhados de checksum, em vez de serem adicionados diretamente ao histórico do Git.

5. Análise de movimento com pose estimation

Detectar uma pessoa informa onde ela está. Estimar pose descreve como partes do corpo se organizam ao longo do tempo. O projeto pode analisar um exercício, um gesto esportivo ou uma sequência de reabilitação, desde que o objetivo seja delimitado e não apresentado como diagnóstico médico.

O MediaPipe Pose Landmarker oferece landmarks corporais para imagens, vídeos e fluxo ao vivo. A ferramenta retorna pontos em coordenadas normalizadas da imagem e em coordenadas tridimensionais de mundo. Para analisar movimento, é preciso escolher o referencial adequado, filtrar as trajetórias, calcular ângulos e definir eventos temporais.

Um contador de repetições, por exemplo, não deve incrementar a cada frame em que um ângulo atravessa um limiar. Ele precisa de uma máquina de estados que reconheça uma transição completa e resista a oscilações próximas da fronteira. Vídeos em diferentes distâncias, velocidades e pontos de vista ajudam a revelar se a regra aprendeu o movimento ou apenas uma gravação.

  • Competências demonstradas: landmarks, geometria vetorial, processamento temporal, suavização de sinais e máquinas de estados.
  • Dados e ferramentas: vídeos próprios com consentimento, MediaPipe, OpenCV, NumPy e SciPy.
  • Entregável verificável: vídeo anotado, série temporal dos ângulos e relatório de contagem ou fases do movimento.
  • Critério de qualidade: erro de contagem por sequência, estabilidade dos ângulos e robustez a oclusões breves.
  • Erro comum: usar coordenadas de imagem sem compensar enquadramento, referencial corporal ou movimento da câmera.

Separe a extração dos landmarks da lógica da aplicação. Salvar as coordenadas em um formato intermediário permite testar novas regras sem executar novamente o modelo de pose em todos os vídeos.

6. Sistema de busca visual por similaridade

Um classificador responde a uma lista fechada de categorias. Uma busca visual responde a outra pergunta: quais itens do catálogo se parecem mais com esta imagem? O projeto combina um encoder visual, um índice vetorial e uma interface que exibe os vizinhos recuperados.

Modelos como o CLIP aprendem representações visuais alinhadas à linguagem. Para uma primeira versão, você pode usar apenas o encoder de imagem, normalizar os embeddings e comparar os vetores por similaridade cosseno. O Faiss fornece índices para busca por distância L2 ou produto interno, com diferentes compromissos entre velocidade, memória e aproximação.

Comece com um catálogo pequeno de produtos, obras, espécies ou componentes industriais. Defina o que significa “similar” nesse domínio. Cor, forma, função e identidade são critérios diferentes; o encoder pode privilegiar um deles sem que isso esteja explícito na interface.

  • Competências demonstradas: embeddings, normalização vetorial, similaridade cosseno, indexação e avaliação de recuperação.
  • Dados e ferramentas: catálogo próprio ou público, CLIP ou DINOv2, Faiss e uma interface web simples.
  • Entregável verificável: busca por upload, grade dos resultados, tempo de consulta e comparação com um baseline de histograma de cores.
  • Critério de qualidade: precision@k, recall@k ou avaliação humana com consultas e relevâncias registradas.
  • Erro comum: mostrar apenas consultas favoráveis e não definir previamente o que conta como resultado relevante.

Versione o encoder e o índice. Registre a associação entre cada vetor e seu item original. Um índice sem metadados, construído em uma ordem que não pode ser repetida, deixa de ser um sistema reproduzível mesmo que a demonstração visual pareça correta.

7. Reconstrução 3D de objetos a partir de fotografias

O projeto final integra detecção de features, correspondências entre imagens, geometria multiview, estimação de pose e geração de uma nuvem de pontos. A captura pode ser feita com um celular ao redor de um objeto ou de uma pequena estrutura, desde que haja sobreposição suficiente, textura e variação de ponto de vista.

No fluxo documentado pelo COLMAP, o Structure from Motion recupera poses de câmera e uma reconstrução esparsa; o Multi-View Stereo usa essa base para produzir uma representação densa. Isso torna o projeto particularmente valioso para o portfólio: a saída final é visual, mas depende de uma cadeia extensa de hipóteses geométricas.

Um vídeo orbitando um modelo 3D é apenas uma parte da entrega. Mostre quantas imagens foram registradas, como as câmeras ficaram distribuídas, onde as correspondências falharam e qual erro de reprojeção foi obtido. O artigo sobre feature detection em reconstrução 3D aprofunda a etapa que conecta observações 2D antes da triangulação.

  • Competências demonstradas: calibração, features locais, matching, geometria epipolar, SfM, MVS e análise de reconstrução.
  • Dados e ferramentas: fotografias próprias, COLMAP, OpenCV, Open3D ou MeshLab.
  • Entregável verificável: poses estimadas, nuvem de pontos, modelo denso e vídeo de inspeção do resultado.
  • Critério de qualidade: proporção de imagens registradas, erro de reprojeção, cobertura da superfície e inspeção de regiões duplicadas ou ausentes.
  • Erro comum: capturar superfícies lisas, reflexivas ou repetitivas e concluir que aumentar o número de fotografias resolverá a ausência de correspondências confiáveis.

Preserve as imagens originais, os parâmetros da câmera, os comandos do COLMAP e um arquivo que descreva a sequência de execução. O resultado final deve poder ser reconstruído a partir dos dados brutos, não apenas baixado como um arquivo pronto.

Como transformar qualquer notebook em um projeto reprodutível?

Um notebook é útil para investigar hipóteses. Um projeto de portfólio precisa acrescentar estrutura ao experimento. A transição pode ser feita com um conjunto pequeno de decisões:

  1. Escreva um README orientado ao problema. Comece pela aplicação, pelos dados e pelo resultado, não pela lista de bibliotecas.
  2. Separe ambiente, dados e código. Registre dependências e mantenha caminhos configuráveis.
  3. Crie uma avaliação repetível. Um comando deve recalcular as métricas a partir do conjunto de teste.
  4. Preserve exemplos de falha. Eles demonstram capacidade de diagnóstico e delimitam o uso responsável da solução.
  5. Inclua uma forma simples de inferência. Pode ser um script, uma API ou uma interface mínima.
  6. Documente decisões. Resolução, limiar, modelo, divisão dos dados e custo computacional precisam de justificativa.
  7. Declare licença e origem dos dados. Portfólio público não elimina obrigações de uso, atribuição e privacidade.

Uma estrutura possível é:

projeto/
├── README.md
├── pyproject.toml
├── configs/
├── data/README.md
├── notebooks/
├── src/
├── tests/
├── reports/
└── scripts/

O notebook continua no repositório, mas deixa de ser o único ponto de entrada. Código reutilizável vai para src/; configurações saem das células; métricas e figuras são geradas por scripts; e o README explica como verificar o resultado.

Qual projeto deve vir primeiro?

Escolha o projeto cuja dificuldade técnica esteja um passo acima do que você já domina, não aquele com a arquitetura mais recente. Se você ainda não trabalhou com OpenCV, comece pelo detector de desfoque ou pelo scanner. Se já treinou classificadores, use detecção térmica para enfrentar mudança de domínio. Se domina modelos 2D, a reconstrução 3D oferece uma progressão natural para geometria multiview.

O conjunto também deve contar uma história. Três projetos bem documentados podem demonstrar mais maturidade do que sete repositórios incompletos. Uma sequência particularmente equilibrada seria:

  • scanner de documentos, para demonstrar processamento e geometria de imagens;
  • detecção de pessoas em imagens térmicas, para demonstrar Deep Learning e adaptação de domínio;
  • reconstrução 3D, para demonstrar integração entre features, câmeras e estrutura espacial.
Composição isométrica em fundo branco com um scanner de documentos, a detecção térmica de uma pessoa e uma reconstrução 3D por fotogrametria

Três níveis de complexidade em um mesmo portfólio: geometria de imagens, detecção em dados térmicos e reconstrução 3D.

Esses são os três níveis representados no infográfico deste artigo. Eles não esgotam a área; funcionam como marcos de uma progressão técnica legível.

Takeaways

  • Portfólio é evidência, não inventário. Problema, decisão, avaliação e reprodutibilidade importam mais do que o número de notebooks.
  • Projetos clássicos continuam relevantes. Nitidez, contornos e homografias revelam fundamentos que modelos prontos podem ocultar.
  • A dificuldade deve crescer por competências. Processamento 2D, geometria, aprendizado supervisionado, detecção, representação e 3D formam uma progressão coerente.
  • Métricas sem análise de erros são incompletas. Todo projeto deve mostrar onde funciona e onde falha.
  • Dados fazem parte da solução. Divisão correta, mudança de domínio, licença e qualidade da captura são decisões técnicas.
  • O notebook é um laboratório, não o produto final. Scripts, configurações, testes e documentação transformam o experimento em projeto.

Se você quer organizar essa progressão dentro de uma formação estruturada, entre na lista de espera da Pós-Graduação em Visão Computacional e Deep Learning da Star Research Institute.

CompartilharCompartilharEnviar
Post Anterior

YOLO para detecção de objetos em imagens térmicas

Carlos Melo

Carlos Melo

Engenheiro de Visão Computacional graduado em Ciências Aeronáuticas pela Academia da Força Aérea (AFA) e Mestre em Engenharia Aeroespacial pelo Instituto Tecnológico de Aeronáutica (ITA).

Relacionado Artigos

Deep Learning

YOLO para detecção de objetos em imagens térmicas

por Carlos Melo
agosto 17, 2026
Tutoriais

Aplicação do SLAM para criação de mapas 3D: do conceito ao ORB-SLAM3

por Carlos Melo
agosto 13, 2026
Data Science

Data Science para Drones

por Carlos Melo
agosto 13, 2026
Machine Learning

Modelos de Árvore em Machine Learning: Guia Completo

por Carlos Melo
julho 16, 2026
Data Science

Imputação de Dados Ausentes com Scikit-Learn

por Carlos Melo
julho 9, 2026

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Últimos dias para o Curso de Inteligência Artificial para Drones Últimos dias para o Curso de Inteligência Artificial para Drones Últimos dias para o Curso de Inteligência Artificial para Drones

Mais Populares

  • Cientista de Dados: Salário em 2026 (Júnior, Pleno e Sênior)

    101 compartilhamentos
    Compartilhar 40 Tweet 25
  • Geometria da Formação de Imagens: Matrizes, Transformações e Sistemas de Coordenadas

    446 compartilhamentos
    Compartilhar 178 Tweet 112
  • Fundamentos da Formação da Imagem

    214 compartilhamentos
    Compartilhar 86 Tweet 54
  • Introdução ao MediaPipe e Pose Estimation

    575 compartilhamentos
    Compartilhar 230 Tweet 144
  • O Que é Amostragem e Quantização no Processamento de Imagens

    70 compartilhamentos
    Compartilhar 28 Tweet 18
  • Em Alta
  • Comentários
  • Mais Recente
Como Tratar Dados Ausentes com Pandas

Como Tratar Dados Ausentes com Pandas

agosto 13, 2019
Introdução ao MediaPipe e Pose Estimation

Introdução ao MediaPipe e Pose Estimation

julho 15, 2023
Como usar o DALL-E 2 para gerar imagens a partir de textos

Como usar o DALL-E 2 para gerar imagens a partir de textos

dezembro 25, 2022

ORB-SLAM 3: Tutorial Completo para Mapeamento 3D e Localização em Tempo Real

abril 10, 2023
Como Analisar Ações da Bolsa com Python

Como Analisar Ações da Bolsa com Python

15
Setembro Amarelo: Análise do Suicídio no Brasil, com Data Science

Setembro Amarelo: Análise do Suicídio no Brasil, com Data Science

13
Como Aprender Data Science?

Como Aprender Data Science?

9
Qual o Cenário de Data Science no Brasil hoje?

Qual o Cenário de Data Science no Brasil hoje?

8
Carlos Melo diante de um projeto de detecção e segmentação em uma cena urbana

7 Projetos de Visão Computacional para Portfólio

agosto 18, 2026

YOLO para detecção de objetos em imagens térmicas

agosto 17, 2026

Aplicação do SLAM para criação de mapas 3D: do conceito ao ORB-SLAM3

agosto 13, 2026

Data Science para Drones

agosto 13, 2026
Instagram Youtube LinkedIn Twitter
Sigmoidal

O melhor conteúdo técnico de Data Science, com projetos práticos e exemplos do mundo real.

Seguir no Instagram

Categorias

  • Aeroespacial
  • Artigos
  • Blog
  • Carreira
  • Cursos
  • Data Science
  • Deep Learning
  • Destaques
  • Entrevistas
  • IA Generativa
  • Livros
  • Machine Learning
  • Notícias
  • Python
  • Sinais Biomédicos
  • Teoria
  • Tutoriais
  • Visão Computacional
  • Youtube

Navegar por Tags

algebra-linear camera calibration carreira chatgpt cientista de dados cnn computer vision Cursos dados desbalanceados data science data science na prática decision tree deep learning deploy detecção de objetos gradient descent IA generativa inteligência artificial jupyter kaggle keras livros machine learning matplotlib openai opencv pandas portfólio profissão python pytorch random forest reconstrução 3d redes neurais redes neurais convolucionais regressão linear regressão logística scikit-learn sklearn tensorflow tutorial visão computacional vídeo youtube árvore de decisão

© 2024 Sigmoidal - Aprenda Data Science, Visão Computacional e Python na prática.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist

Sem Resultado
Ver Todos Resultados
  • Home
  • Cursos
  • Blog
  • Sobre Mim
  • Contato
  • English

© 2024 Sigmoidal - Aprenda Data Science, Visão Computacional e Python na prática.