Projetos
Academic Group Project·2026·Fev-Mai 2026

ComponentVision - Sistema de Visão Computacional para Inspeção de Montagem de PCs

Sistema de inspeção por visão computacional para linhas de montagem de computadores usando 8 modelos YOLOv8 treinados, validação de layout espacial ATX e app web em Streamlit, desenvolvido para a UC de Inteligência Artificial.

Secção 01

Automatizando o controlo de qualidade industrial com Visão Computacional.

A montagem de computadores desktop em ambiente industrial exige processos de inspeção rigorosos para garantir que todos os componentes essenciais estão presentes e corretamente instalados antes da expedição. O ComponentVision simula um sistema de inspeção industrial real ao analisar imagens do interior do computador, detetar componentes chave e validar o seu posicionamento espacial.

Desenvolvido para a unidade curricular de Inteligência Artificial do Politécnico do Porto, o projeto treinou e comparou 8 modelos YOLOv8 (nano, small, medium) em ambientes cloud (Roboflow) e local multi-GPU (Kaggle 2x Tesla T4), atingindo 93.4% de mAP@0.5 no modelo de topo. Inclui um motor de validação espacial geométrica (core/spatial.py) e uma app web completa em Streamlit.

8Modelos YOLOv8 treinados
93.4%Pontuação máxima mAP@0.5 (Modelo A)
~2 msLatência de inferência CPU (YOLOv8n)
238Imagens originais (926 anotações)
ComponentVision - Sistema de Visão Computacional para Inspeção de Montagem de PCs

App de inspeção em Streamlit mostrando deteção em tempo real, barra de cobertura e checklist espacial

Secção 02

O Problema & Desafios Chave

A inspeção manual em linhas de produção de elevado volume é morosa e suscetível a erro humano. O ComponentVision resolve este problema ao automatizar a verificação de presença para 4 classes críticas: Motherboard, GPU, RAM e CPU Cooler (inferindo a presença da CPU).

A mera deteção de presença é insuficiente: os componentes podem estar mal posicionados ou ocultos. O sistema introduz uma camada de validação espacial geométrica (core/spatial.py) que projeta coordenadas âncora do padrão ATX para identificar componentes em falta (caixa vermelha) ou desalinhados (caixa âmbar).

Desafios Chave de Engenharia
  • Construção de dataset equilibrado com 238 imagens originais (926 anotações) a partir de fotos de 3 PCs reais e do PCPartPicker
  • Treino e comparação de 8 variantes YOLOv8 entre Roboflow (A, B, C) e Kaggle com 2x GPU NVIDIA Tesla T4 (D, E, F, G, H)
  • Superar a elevada variabilidade visual intra-classe e oclusão de módulos RAM por cablagem interna
  • Implementar projeção de coordenadas espaciais 2D (core/spatial.py) a partir de caixas âncora
  • Desenvolver uma app em Streamlit com feed de câmara em direto, comparação lado a lado de modelos e exportação de certificados JSON
Secção 03

Arquitetura & Decisões Técnicas

Pipeline de visão computacional end-to-end combinando treino multi-GPU em PyTorch, augmentation em Roboflow/Kaggle, validação geométrica espacial e interface web em Streamlit.

Diagrama de Topologia & Fluxo de Componentes
Loading architecture topology...
Porquê Esta Arquitetura
  • Benchmark exaustivo de 8 modelos isola o impacto do tamanho da arquitetura (nano vs small vs medium) e a homogeneidade dos dados
  • Módulo espacial dedicado (core/spatial.py) desacoplado do modelo de deteção para validação geométrica de montagem ATX
  • Latência de inferência local em CPU inferior a 3ms permite execução na periferia (edge) sem dependência da nuvem
  • Portal web em Streamlit permite aos operadores realizar comparações de modelos lado a lado e exportar relatórios certificados
Secção 04

Stack Tecnológica & Infraestrutura

PythonPython
PyTorchPyTorch
PythonYOLOv8
StreamlitStreamlit
KaggleKaggle
OpenCVOpenCV