Projeto de re-identificação Gen 1 (151) usando stacks de CLIP + priors + heurísticas estruturais. Foco: empurrar Top-1 e permitir modo “acerto garantido ou silencio” via abstain.
- Arte:
assets/official-artwork/(Gen 1) + outlines e vetores emexperiments/silhouette-outline/. - Metadados:
assets/pokeapi/(cores, shapes, tipos, estágios). - Ambiente: Python 3.14 (torch + open_clip_torch).
- CLIP baseline / clip-css: prompts de cor/shape/type/stage; melhor global rerank (ViT-B/32) ~75% Top-1.
- type-evo-stage (TES): reforço de tipos/estágio; base para clip-css-tes.
- clip-css-tes (Top-K rerank): prior leve + reordenação interna; ViT-B/32 Top-1 73.5%, Top-5 91.4%.
- trait: adiciona vetor estrutural (aspect/fill/centroid/thirds/halves/elongation + wings/tail + contorno-cosseno).
- ViT-L/14: Top-1 91.4%, Top-5 96.0% (experiments/trait/results_vitl14_traits_mix060_stage008.csv).
- ViT-B/32: Top-1 86.8%, Top-5 91.4% (experiments/trait/results_vitb32_traits_eta034_mix055.csv).
- trait-abstain: usa o stack clip-css-tes + trait e aplica portão de margem + coerência estrutural.
- ViT-L/14 (ε=0.01, struct=0.99): 100% de acerto nos classificados com 84.1% de cobertura (experiments/trait-abstain/results_abstain_vitl14_eps010_struct099.csv).
- Modo mais conservador: 100% acerto com 73.5% de cobertura (experiments/trait-abstain/results_abstain_vitl14.csv).
- Priors weights (exemplo usado):
α=0.04(color),β=0.08(shape),τ=0.18(type1),δ=0.10(type2),γ=0.22(stage),η=0.34(struct). - Structural mixing / penalties:
struct_logical_mix≈ 0.55,wings_penalty≈ 0.16,tail_penalty≈ 0.10. - Re‑rank Top‑K:
topk=5padrão.
- Dataset: 151 official artworks; ground truth extraído dos metadados em
assets/pokeapi. - Protocolos: Top‑1/Top‑5 para rerank sem abstenção; para
trait‑abstainreportamos Coverage + Accuracy on classified subset (precisão condicionada). - Tradeoff: reduzir
struct_threshouepsilonaumenta cobertura mas pode reduzir a precisão condicionada. Em nossos testes, combinarstruct_thresh≈0.99comε≈0.01atingiu 100% precision conditioned e ≈84% coverage em ViT‑L/14.
- Preset sugerido para produção (precisão condicionada=100%):
--model ViT-L-14 --epsilon 0.01 --struct-thresh 0.99com pipeline clip‑css‑tes + trait. - Para tentar aumentar cobertura mantendo 100%: explorar
struct_thresh∈ [0.97, 0.99] e adicionar uma condição de gap estruturals_struct_top1 − s_struct_top2 ≥ 0.03–0.05. - Curadoria: exportar CSV de imagens abstidas (salvo por
trait_abstain.py) e revisar manualmente para aumentar safe coverage.
experiments/trait/— código do re‑rank trait, vetores e CSVs de runs.experiments/trait-abstain/— implementação da abstenção e CSVs de resultados por preset.experiments/clip-css-tes/— código e notas sobre os priors.
-
CLIP (baseline) — Prompts simples imagem→nome. Melhor resultado: ViT‑B/32 Top‑1 69.54% (105/151), Top‑5 84.11% (127/151) —
experiments/clip/clip_results_vitb32.csv. (ViT‑L/14 alcança Top‑5 90.73% mas Top‑1 é menor.) -
CLIP‑CSS — CLIP + priors de cor/forma. Melhor resultado: ViT‑B/32 Top‑1 69.54%, Top‑5 88.08% —
experiments/clip-css/results_base.csv(veja scripts emexperiments/clip-css/scripts). -
Colors‑Shapes‑Species — Classificadores por cor/forma/especie (PokéAPI priors). Melhor: ViT‑L/14 Top‑1 68.87%, Top‑5 96.69% —
experiments/colors-shapes-species/results_vitl14_openai.csv. -
CLIP‑CSS‑TES — Priors de cor/forma + tipo/estágio (re‑ranking cuidadoso). Melhor: ViT‑B/32 (GPU) Top‑1 75.50% (114/151), Top‑5 91.39% —
experiments/clip-css-tes/results_vitb32_gpu.csv. -
Type‑Evo‑Stage (TES) — Priors only: tipo + estágio. Melhor: ViT‑L/14 (openai) Top‑1 52.32%, Top‑5 87.42% —
experiments/type-evo-stage/results_vitl14_openai.csv. -
Trait (structural re‑rank) — Silhueta/outlines → traits + contour cosine; re‑rank Top‑K. Melhor: ViT‑L/14 (mix lógico 0.60, stage tuning) Top‑1 91.39%, Top‑5 96.03% —
experiments/trait/results_vitl14_traits_mix060_stage008.csv. -
Trait‑Abstain — Clip‑CSS‑TES + Trait + porta de abstenção (ε, struct_thresh). Preset recomendado: ε=0.01, struct=0.99 → Coverage 84.11% (127/151), Accuracy condicionada 100% (127/127) —
experiments/trait-abstain/results_abstain_vitl14_eps010_struct099.csv. (Versão mais conservadora: ε=0.02, struct=0.99 → Coverage 73.51%, Accuracy 100% —experiments/trait-abstain/results_abstain_vitl14.csv.) -
Silhouette / Outline — Produz vetores de contorno e silhueta e matrizes de distâncias (cosseno/euclidiana). Artefatos:
experiments/silhouette-outline/official-artwork-vector/*(vetors.npz, distances.csv).