Sintonize na YOLO Vision 2025!
25 de setembro de 2025
10:00 — 18:00 BST
Evento híbrido
Yolo Vision 2024

O que é overfitting em visão computacional e como preveni-lo?

Abdelrahman Elgendy

Leitura de 6 min

13 de março de 2025

Aprenda o que é overfitting em visão computacional e como evitá-lo usando aumento de dados, regularização e modelos pré-treinados.

Os modelos de visão computacional são projetados para reconhecer padrões, detectar objetos e analisar imagens. No entanto, seu desempenho depende de quão bem eles se generalizam para dados não vistos. A generalização é a capacidade do modelo de funcionar bem em novas imagens, não apenas naquelas em que foi treinado. Um problema comum no treinamento desses modelos é o overfitting, no qual um modelo aprende demais com seus dados de treinamento, incluindo ruídos desnecessários, em vez de identificar padrões significativos.

Quando isso acontece, o modelo tem um bom desempenho nos dados de treinamento, mas enfrenta dificuldades com novas imagens. Por exemplo, um modelo de detecção de objetos treinado apenas em imagens de alta resolução e bem iluminadas pode falhar quando apresentado a imagens borradas ou sombreadas em condições do mundo real. O overfitting limita a adaptabilidade de um modelo, limitando seu uso em aplicações do mundo real, como direção autônoma, imagens médicas e sistemas de segurança.

Neste artigo, exploraremos o que é overfitting, por que ele acontece e como evitá-lo. Também veremos como modelos de visão computacional como o Ultralytics YOLO11 ajudam a reduzir o overfitting e melhorar a generalização.

O que é overfitting?

O overfitting acontece quando um modelo memoriza os dados de treinamento em vez de aprender padrões que se aplicam amplamente a novas entradas. O modelo fica muito focado nos dados de treinamento, então ele enfrenta dificuldades com novas imagens ou situações que não viu antes.

Em visão computacional, o overfitting pode afetar diferentes tarefas. Um modelo de classificação treinado apenas em imagens claras e brilhantes pode ter dificuldades em condições de pouca luz. Um modelo de detecção de objetos que aprende com imagens perfeitas pode falhar em cenas lotadas ou confusas. Da mesma forma, um modelo de segmentação de instâncias pode funcionar bem em configurações controladas, mas ter problemas com sombras ou objetos sobrepostos.

Isso se torna um problema em aplicações de IA do mundo real, onde os modelos devem ser capazes de generalizar além das condições de treinamento controladas. Carros autônomos, por exemplo, devem ser capazes de detectar pedestres em diferentes condições de iluminação, clima e ambientes. Um modelo que sofre de overfitting em seu conjunto de treinamento não terá um desempenho confiável em tais cenários imprevisíveis.

Quando e por que o overfitting acontece?

O overfitting geralmente ocorre devido a conjuntos de dados desequilibrados, complexidade excessiva do modelo e sobretreinamento. Aqui estão as principais causas:

  • Dados de treinamento limitados: Conjuntos de dados pequenos fazem com que os modelos memorizem padrões em vez de generalizá-los. Um modelo treinado em apenas 50 imagens de pássaros pode ter dificuldades para detectar espécies de pássaros fora desse conjunto de dados.

  • Modelos complexos com muitos parâmetros: Redes profundas com camadas e neurônios excessivos tendem a memorizar detalhes finos em vez de se concentrarem em características essenciais.

  • Falta de aumento de dados: Sem transformações como recorte, inversão ou rotação, um modelo pode aprender apenas com suas imagens de treinamento exatas.

  • Treinamento prolongado: Se um modelo passa pelos dados de treinamento muitas vezes, conhecido como épocas, ele memoriza detalhes em vez de aprender padrões gerais, tornando-o menos adaptável.

  • Rótulos inconsistentes ou ruidosos: Dados rotulados incorretamente fazem com que um modelo aprenda os padrões errados. Isso é comum em conjuntos de dados rotulados manualmente.

Uma abordagem bem equilibrada à complexidade do modelo, à qualidade do conjunto de dados e às técnicas de treinamento garante uma melhor generalização.

Overfitting vs. underfitting

Overfitting e underfitting são dois problemas completamente opostos em deep learning.

__wf_reserved_inherit
Fig 1. Comparação de underfitting, aprendizado ideal e overfitting em modelos de visão computacional.

O overfitting ocorre quando um modelo é excessivamente complexo, tornando-o excessivamente focado nos dados de treinamento. Em vez de aprender padrões gerais, ele memoriza pequenos detalhes, até mesmo irrelevantes, como ruído de fundo. Isso faz com que o modelo tenha um bom desempenho nos dados de treinamento, mas tenha dificuldades com novas imagens, o que significa que ele não aprendeu verdadeiramente como reconhecer padrões que se aplicam em diferentes situações.

O underfitting ocorre quando um modelo é muito básico, de modo que perde padrões importantes nos dados. Isso pode ocorrer quando o modelo tem poucas camadas, tempo de treinamento insuficiente ou os dados são limitados. Como resultado, ele não consegue reconhecer padrões importantes e faz previsões imprecisas. Isso leva a um desempenho ruim nos dados de treinamento e de teste, porque o modelo não aprendeu o suficiente para entender a tarefa corretamente. 

Um modelo bem treinado encontra o equilíbrio entre complexidade e generalização. Ele deve ser complexo o suficiente para aprender padrões relevantes, mas não tão complexo a ponto de memorizar dados em vez de reconhecer relações subjacentes.

Como identificar overfitting

Aqui estão alguns sinais que indicam que um modelo está sofrendo de overfitting:

  • Se a precisão do treinamento for significativamente maior do que a precisão da validação, é provável que o modelo esteja sofrendo de overfitting.
  • Uma lacuna crescente entre a perda de treinamento e a perda de validação é outro forte indicador.
  • O modelo está excessivamente confiante em respostas erradas, mostrando que memorizou detalhes em vez de entender padrões.

Para garantir que um modelo generalize bem, ele precisa ser testado em diversos conjuntos de dados que reflitam as condições do mundo real.

Como prevenir o overfitting em visão computacional

O overfitting não é inevitável e pode ser prevenido. Com as técnicas certas, os modelos de visão computacional podem aprender padrões gerais em vez de memorizar dados de treinamento, tornando-os mais confiáveis em aplicações do mundo real. 

Aqui estão cinco estratégias-chave para prevenir o overfitting em visão computacional.

Aumente a diversidade de dados com aumento e dados sintéticos

A melhor maneira de ajudar um modelo a funcionar bem em novos dados é expandir o conjunto de dados usando aumento de dados e dados sintéticos. Os dados sintéticos são gerados por computador em vez de coletados de imagens do mundo real. Eles ajudam a preencher lacunas quando não há dados reais suficientes.

__wf_reserved_inherit
Fig 2. A combinação de dados do mundo real e sintéticos reduz o overfitting e melhora a precisão da detecção de objetos.

O aumento de dados altera ligeiramente as imagens existentes, invertendo, girando, recortando ou ajustando o brilho, para que o modelo não apenas memorize detalhes, mas aprenda a reconhecer objetos em diferentes situações.

Os dados sintéticos são úteis quando as imagens reais são difíceis de obter. Por exemplo, os modelos de carros autônomos podem treinar em cenas de estradas geradas por computador para aprender a detectar objetos em diferentes condições climáticas e de iluminação. Isso torna o modelo mais flexível e confiável, sem a necessidade de milhares de imagens do mundo real.

Otimize a complexidade e a arquitetura do modelo

Uma rede neural profunda, que é um tipo de modelo de aprendizado de máquina que possui muitas camadas que processam dados em vez de uma única camada, nem sempre é melhor. Quando um modelo tem muitas camadas ou parâmetros, ele memoriza os dados de treinamento em vez de reconhecer padrões mais amplos. Reduzir a complexidade desnecessária pode ajudar a prevenir o overfitting.

Para conseguir isso, uma abordagem é a poda, que remove neurônios e conexões redundantes, tornando o modelo mais enxuto e eficiente. 

Outra é simplificar a arquitetura, reduzindo o número de camadas ou neurônios. Modelos pré-treinados como o YOLO11 são projetados para generalizar bem em tarefas com menos parâmetros, tornando-os mais resistentes ao overfitting do que treinar um modelo profundo do zero.

Encontrar o equilíbrio certo entre a profundidade e a eficiência do modelo ajuda-o a aprender padrões úteis sem apenas memorizar os dados de treino.

Aplicar técnicas de regularização

As técnicas de regularização impedem que os modelos se tornem demasiado dependentes de características específicas nos dados de treino. Aqui estão algumas técnicas comuns:

  • Dropout desativa partes aleatórias do modelo durante o treino para que este aprenda a reconhecer diferentes padrões em vez de depender demasiado de algumas características.

  • Weight decay (regularização L2) desencoraja valores de peso extremos, mantendo a complexidade do modelo sob controlo.

  • Batch normalization ajuda a estabilizar o treino, garantindo que o modelo é menos sensível às variações no conjunto de dados.

Estas técnicas ajudam a manter a flexibilidade e a adaptabilidade de um modelo, reduzindo o risco de overfitting e preservando a precisão.

Monitorizar o treino com validação e early stopping

Para evitar o overfitting, é importante monitorizar a forma como o modelo aprende e garantir que generaliza bem para novos dados. Aqui estão algumas técnicas para ajudar com isto:

  • Early stopping: Termina automaticamente o treino quando o modelo deixa de melhorar, para que não continue a aprender detalhes desnecessários.

  • Cross-validation: Divide os dados em partes e treina o modelo em cada uma delas. Isto ajuda-o a aprender padrões em vez de memorizar imagens específicas.

Estas técnicas ajudam o modelo a manter-se equilibrado, para que aprenda o suficiente para ser preciso sem se concentrar demasiado apenas nos dados de treino.

Utilizar modelos pré-treinados e melhorar a rotulagem do conjunto de dados

Em vez de treinar do zero, a utilização de modelos pré-treinados como o YOLO11 pode reduzir o overfitting. O YOLO11 é treinado em conjuntos de dados de grande escala, o que lhe permite generalizar bem em diferentes condições.

__wf_reserved_inherit
Fig 3. Os modelos de visão computacional pré-treinados melhoram a precisão e evitam o overfitting.

Ajustar um modelo pré-treinado ajuda-o a manter o que já sabe enquanto aprende novas tarefas, para que não se limite a memorizar os dados de treino.

Além disso, garantir uma rotulagem de alta qualidade do conjunto de dados é essencial. Dados mal rotulados ou desequilibrados podem induzir os modelos a aprender padrões incorretos. Limpar os conjuntos de dados, corrigir imagens mal rotuladas e equilibrar as classes melhora a precisão e reduz o risco de overfitting. Outra abordagem eficaz é o treino adversarial, em que o modelo é exposto a exemplos ligeiramente alterados ou mais desafiantes, concebidos para testar os seus limites.

Principais conclusões

O overfitting é um problema comum na visão computacional. Um modelo pode funcionar bem com dados de treino, mas ter dificuldades com imagens do mundo real. Para evitar isto, técnicas como o aumento de dados, a regularização e a utilização de modelos pré-treinados como o YOLO11 ajudam a melhorar a precisão e a adaptabilidade.

Ao aplicar estes métodos, os modelos de IA podem manter-se fiáveis e ter um bom desempenho em diferentes ambientes. À medida que a aprendizagem profunda melhora, garantir que os modelos generalizam corretamente será fundamental para o sucesso da IA no mundo real.

Junte-se à nossa comunidade em crescimento! Explore o nosso repositório GitHub para saber mais sobre IA. Pronto para começar os seus próprios projetos de visão computacional? Consulte as nossas opções de licenciamento. Descubra a IA Vision na condução autónoma e a IA nos cuidados de saúde visitando as nossas páginas de soluções!

Vamos construir o futuro
da IA juntos!

Comece sua jornada com o futuro do aprendizado de máquina

Comece gratuitamente
Link copiado para a área de transferência