Deteccao de Objetos do Zero: Parte 5 - Da Deteccao à Identificacao

15 de julho de 202621 min de leituraNew

Parte 5 acompanha o pipeline completo de identificacao: deteccao, OCR, lookup no Scryfall, matching visual com DINOv2 e propagacao de erros entre etapas.

Deteccao de Objetos do Zero: Parte 5 - Da Deteccao à Identificacao
React to this article

Esta e a parte em que o projeto deixa de parecer apenas um detector e passa a parecer um produto completo.

O Pipeline

Visao geral do pipeline de identificacao
O fluxo completo de identificacao depende de dois ramos ao mesmo tempo: o titulo resolve a carta via OCR e Scryfall, enquanto a arte resolve a impressao exata via similaridade com DINOv2.

Deteccao Cria Estrutura

O detector nao resolve identidade sozinho. Ele organiza a imagem em regioes semanticamente uteis. Esse recorte importa. Com isso, OCR e matching visual recebem inputs muito melhores.

Exemplo de deteccao real
Um visual localizado de predicao mostra o trabalho essencial do detector: cortar a imagem em regioes nas quais o resto do pipeline pode confiar.

OCR Resolve Texto

Ao trabalhar sobre o crop do titulo, o OCR enfrenta um problema muito mais limpo do que se tivesse que interpretar a carta inteira. Isso reduz ruido. Essa composicao entre modelos e uma das melhores decisoes do projeto.

Scryfall Resolve Conhecimento de Dominio

Em vez de replicar toda a base de conhecimento de cartas, o sistema usa a API do Scryfall para obter nome canonico, oracle text, preco e printings.

DINOv2 Resolve Impressao

Quando texto nao basta para diferenciar printings, o crop de art vira embedding e e comparado com as artes das impressoes candidatas. Esse passo muda o pipeline de "nome da carta" para "qual impressao e essa?". E ai que a identificacao realmente aparece.

Fluxo de desambiguacao da impressao
O OCR reduz o conjunto de candidatos, mas o DINOv2 ainda precisa comparar o crop da arte com varias impressoes possiveis antes de fechar a resposta final.

Propagacao de Erros

Esse e o risco central de pipelines compostos. Ganhos pequenos no começo podem render muito no fim. Essa alavanca e real. Por isso, mexer cedo na cadeia costuma pagar mais.

Demo da aplicacao web
O fluxo real da aplicacao mostra a cadeia inteira funcionando junto: upload, deteccao, leitura, resolucao e resposta util em vez de saida crua do modelo.

Conclusao

O projeto acerta ao tratar identificacao como orquestracao entre especialistas: detector, OCR, API de dominio e modelo de similaridade visual. Nao e excesso de etapas. Essa e a diferenca entre demo e sistema util.

Screenshot final de identificacao
A interface final concretiza o argumento: multiplas saidas de modelo e servicos externos sao fundidos em uma unica resposta para o usuario.

Na ultima parte, vamos olhar para a aplicacao web, operacao e evolucao do sistema em producao.

Further Reading

Arthur CostaA

Arthur Costa

Senior Full-Stack Engineer & Tech Lead

Senior Full-Stack Engineer with 8+ years in React, TypeScript, and Node.js. Expert in performance optimization and leading engineering teams.

View all articles →