Desbalanceamento de classes: o que o SynBalance mostra

Atualizado em Updated

ANÁLISE DE PAPER

O SynBalance (ICCV Workshops 2025) usa imagens geradas para reforçar classes raras. No ImageNet-LT, a acurácia nelas sobe de 12,6% para 21,4%.

Um modelo de visão aprende bem o que vê o tempo todo e mal o que vê raramente. Esse é o problema do desbalanceamento de classes: umas classes têm milhares de exemplos, outras quase nenhum. O SynBalance, apresentado nos workshops do ICCV 2025 por pesquisadores da AWS AI Labs e da Universidade de Washington, tenta corrigir isso adicionando imagens geradas às classes raras. Os números são bons, mas parte do ganho vem do jeito de treinar, não só das imagens.

O que o SynBalance faz

O artigo estuda reconhecimento de cauda longa: poucas classes dominam o dataset. Os autores analisam como quatro propriedades das imagens sintéticas afetam o resultado: quantidade, diversidade, reconhecibilidade e gap de domínio. Com isso, montam um pipeline em três partes:

  • Geração. Imagens do Stable Diffusion v1.5, com prompts no formato “A photo of {a, several, a school of} {classe} in {lugar}”.
  • Composição. Em vez de usar tudo, escolhem um subconjunto. Classes comuns recebem imagens mais diversas; classes raras recebem as mais reconhecíveis.
  • SynFusion. Um treino em duas etapas: primeiro mistura imagens reais e sintéticas (mixup); depois reajusta o classificador só com dado real, usando uma perda que rebalanceia as classes.

O que os resultados mostram

Os números abaixo são do ImageNet-LT com ResNet-50, treinado do zero (acurácia top-1). Aqui "poucos" são as classes com menos de 20 imagens reais, e "muitos", as com mais de 100. Add-n significa adicionar n imagens sintéticas por classe, com treino comum.

ConfiguraçãoTotalMuitosMédiosPoucos
Só real (baseline)42,061,235,112,6
Add-10048,164,942,421,4
Add-30051,868,046,126,7
Add-50052,768,647,526,4
Só sintético, 100 por classe18,919,418,718,3
  • O ganho é maior onde falta dado. Com Add-100, as classes “poucos” vão de 12,6 para 21,4. As “muitas” sobem menos (61,2 para 64,9).
  • Retorno decrescente. De 100 a 500 imagens por classe o total sobe de 48,1 para 52,7, mas as classes “poucos” estabilizam perto de 26.
  • Sintético sozinho não basta. Treinar só com sintético dá 18,9% com 100 por classe e 28,1% com 500, bem abaixo dos 42,0% do baseline.
  • Sintético vence duplicar real. Duplicar imagens reais das classes raras (re-amostragem) deu 41,3%, abaixo do baseline. Adicionar imagens sintéticas deu 48,1%.

De onde vem o resto do ganho. O resultado final do paper (53,6% no total, 36,5% nas classes "poucos") soma duas coisas. Na ablação, escolher o subconjunto com o critério deles acrescenta 1,5 ponto sobre sortear imagens, e o treino SynFusion acrescenta 4,3. Ou seja, o pipeline inteiro importa, não só o volume de imagens.

Contra os concorrentes. Entre os métodos que usam aumento de dados, no ImageNet-LT, o SynBalance fica um pouco acima do OTmix (53,6 contra 53,4), com 5,1 pontos a mais nas classes "poucos", mas com menos nas "muitas" (62,7 contra 67,0). Não é o melhor geral: o RIDE com 4 especialistas chega a 55,4. No iNaturalist, treinando do zero, o SynBalance (69,2) ficou abaixo do OTmix (71,1). Os autores atribuem isso ao fato de o Stable Diffusion 1.5 conhecer mal essas espécies.

O limite: plausível não é o mesmo que especificado

  • Gerador limita a fidelidade. Os próprios autores dizem que depender do Stable Diffusion v1.5 limita a qualidade das imagens e o ganho. Modelos melhores, como DALL-E ou Flux, poderiam render mais, a um custo maior.
  • Você não especifica a imagem. Difusão devolve uma imagem plausível da classe, não a que você pediu em cada detalhe.
  • Risco de viés. O artigo lembra que modelos de geração carregam seus próprios vieses, que podem passar para o modelo treinado.
  • Escopo. Benchmarks públicos de classificação, com um orçamento de treino fixo. Não é um teste em dados de um projeto real.

O que muda com uma cena controlada

Agora imagine o mesmo problema com simulação 3D no lugar da difusão. Em vez de sortear imagens e filtrar depois, você declara a cena: iluminação, materiais, câmera e quantos exemplos de cada classe são entradas explícitas. Veja o contraste com a simulação completa frente à IA generativa. Isso permite:

  • Balanceamento exato, porque o número de exemplos por classe é uma entrada
  • Anotações exatas, geradas junto com a cena
  • Reprodutibilidade: os mesmos parâmetros renderizam o mesmo dataset

A simulação também pode embutir viés, porque a escolha do que simular é nossa, mas ele fica visível e auditável. O ponto principal é o método: que classes reforçar, quanto de realismo, quanto misturar com real e como treinar. O paper mostra isso à sua maneira, já que seleção e treino contaram quase tanto quanto o volume.

O que levar para o seu projeto

  • Reforce o que falta. O maior ganho veio nas classes raras, não nas comuns.
  • Escolha e treine com critério. Selecionar as imagens e ajustar o treino rendeu 5,5 pontos a mais que sortear e treinar de forma comum.
  • Valide com dado real. O sintético complementou o real; sozinho ficou bem abaixo.

Tem um problema de cauda longa no seu caso? Conte para nós em uma conversa de diagnóstico. Se dado sintético não for o caminho, dizemos isso também.

Fontes

Deixe um comentário

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