Object.sys

Detecção de Objetos no Navegador · Introdução à Ciência de Dados · IFSC São José

TF.js MobileNet Modelo não treinado
1 · DATASET imagens brutas 2 · ANOTAÇÃO bounding boxes 3 · MODELO backbone + cabeça 4 · TREINO perda + IoU 5 · AVALIAÇÃO mIoU · matriz 6 · DETECÇÃO novas imagens iterar: ajustar hiperparâmetros e re-treinar
Pipeline de localização de objetos: clique em uma etapa para navegar
Etapa 1 de 6
📦 Dataset de imagens

Diferente do Image.sys (classificação), aqui a imagem bruta não basta: o modelo precisa saber onde o objeto está. Por isso o pipeline ganha uma etapa nova, a anotação. Comece criando as classes na barra lateral e enviando as imagens. Dica: fotografe o objeto em posições, tamanhos e fundos variados, senão o modelo aprende a posição e não o objeto.

Nenhuma imagem ainda. Use o cartão Dataset na barra lateral.
Etapa 2 de 6
🎯 Anotação de bounding boxes

Selecione a classe, depois clique e arraste sobre a imagem para desenhar a caixa ao redor do objeto. A caixa é salva normalizada como (cx, cy, w, h) em relação ao tamanho da imagem, o mesmo princípio do formato YOLO. Desenhar de novo substitui a caixa. Use ← e → do teclado para navegar entre imagens.

Envie imagens na Etapa 1 para começar a anotar.
-

🏷️ Classe da caixa

A classe selecionada é atribuída à próxima caixa desenhada.

🎞️ Imagens

Etapa 3 de 6
🧠 Arquitetura do detector

Usamos transfer learning: o backbone MobileNet (treinado no ImageNet) fica congelado e extrai um mapa de características 7×7×256. Só a cabeça é treinada, e ela tem duas saídas simultâneas: uma softmax para a classe e quatro neurônios sigmoid para a caixa (cx, cy, w, h). A perda total combina as duas tarefas: L = CE(classe) + λ · MSE(caixa). O λ controla quanto o erro de posição pesa frente ao erro de classe.

Fluxo do modelo

Imagem 224×224×3 MobileNet (congelado) características 7×7×256 Flatten + Dropout Dense 128 · ReLU Classe · softmax CE(classe) Caixa · 4 × sigmoid λ · MSE(cx, cy, w, h)

Resumo da configuração

BackboneMobileNet v1 (α 0.25, 224)
Parâmetros do backbonecongelados
CabeçaFlatten → Dropout 0.3 → Dense 128
Saída de classe-
Saída de caixa4 (cx, cy, w, h)
PerdaCE + λ·MSE
OtimizadorAdam
Imagens anotadas0
Pergunta para a turma: por que usar sigmoid na saída da caixa? Porque as coordenadas normalizadas vivem em [0, 1], então a ativação já restringe a previsão ao espaço válido.
Etapa 4 de 6
📈 Treinamento

Acompanhe as duas perdas separadamente: se a perda de classe cai mas a de caixa estagna, aumente o λ. O gráfico da direita mostra o IoU médio na validação por época: IoU (Intersection over Union) mede a sobreposição entre a caixa prevista e a anotada, de 0 a 1. Acima de 0.5 já se considera uma detecção aceitável.

Época
-
Perda classe
-
Perda caixa
-
IoU médio (val)
-

Perdas por época

Validação: IoU médio e acurácia de classe

Etapa 5 de 6
🧪 Avaliação no conjunto de validação

Uma detecção correta exige duas coisas ao mesmo tempo: classe certa e IoU ≥ 0.5. É por isso que detectores reportam métricas como AP@0.5. Abaixo, a caixa tracejada branca é a anotação (ground truth) e a caixa colorida é a previsão.

Detecção @ IoU 0.5
-
classe certa + IoU ≥ 0.5
Acurácia de classe
-
IoU médio
-
Amostras (val)
-

Matriz de confusão (classe)

Relatório por classe

ClasseNAcerto classeIoU médioDet @0.5

Inspeção visual: anotação × previsão

anotação (ground truth) previsão (cor da classe prevista)
Etapa 6 de 6
🔍 Detecção em novas imagens

Envie imagens que o modelo nunca viu. Repare nos casos de erro: objeto muito menor do que nos exemplos de treino, fundo diferente, mais de um objeto na cena (o localizador só prevê uma caixa, e tende a apontar para um meio termo). Esses erros motivam exatamente as ideias de grade e âncoras do YOLO.

Arraste imagens de teste aqui
ou clique para selecionar
🗂️ Registro de experimentos

Cada treino vira uma linha. Compare execuções: o que acontece com o IoU quando você dobra o λ? E quando desliga o espelhamento? Método experimental é metade da disciplina.

RunHoraClassesImgs ÉpocasLRBatchλ FlipPerda clsPerda box IoU valAcc valDet@0.5
Nenhum experimento registrado ainda.