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ção | Total | Muitos | Médios | Poucos |
|---|---|---|---|---|
| Só real (baseline) | 42,0 | 61,2 | 35,1 | 12,6 |
| Add-100 | 48,1 | 64,9 | 42,4 | 21,4 |
| Add-300 | 51,8 | 68,0 | 46,1 | 26,7 |
| Add-500 | 52,7 | 68,6 | 47,5 | 26,4 |
| Só sintético, 100 por classe | 18,9 | 19,4 | 18,7 | 18,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
- Jiang, Z., Cai, J., Liu, C., An, D., Wu, J. SynBalance: Harnessing Synthetic Data in Long-tailed Recognition. ICCV Workshops 2025, pp. 6335–6344.
Deixe um comentário