O que é o overfitting em visão computacional e como evitá-lo?
Aprende o que é o overfitting em visão computacional e como evitá-lo através de aumento de dados, regularização e modelos pré-treinados.

Os modelos de visão computacional foram concebidos para reconhecer padrões, detetar objetos e analisar imagens. No entanto, o seu desempenho depende da capacidade de generalizar para dados não vistos. A generalização é a capacidade de um modelo funcionar bem em imagens novas, não apenas naquelas com que foi treinado. Um problema comum no treino destes modelos é o overfitting, em que o modelo aprende demasiado com os dados de treino, incluindo ruído desnecessário, em vez de identificar padrões relevantes.
Quando isto acontece, o modelo tem um bom desempenho nos dados de treino, mas apresenta dificuldades com imagens novas. Por exemplo, um modelo de deteção de objetos treinado apenas com imagens de alta resolução e bem iluminadas pode falhar quando apresentado a imagens desfocadas ou com sombras em condições reais. O overfitting limita a adaptabilidade do modelo, restringindo a sua utilização em aplicações do mundo real, como condução autónoma, imagiologia médica e sistemas de segurança.
Neste artigo, vamos explorar o que é overfitting, porque acontece e como evitá-lo. Também veremos como os modelos de visão computacional, como o Ultralytics YOLO11, ajudam a reduzir o overfitting e a melhorar a generalização.
O que é overfitting?#
O overfitting acontece quando um modelo memoriza os dados de treino em vez de aprender padrões que se aplicam amplamente a novas entradas. O modelo concentra-se demasiado nos dados de treino e, por isso, tem dificuldades com imagens ou situações novas que nunca viu.
Em visão computacional, o overfitting pode afetar diferentes tarefas. Um modelo de classificação treinado apenas com imagens claras e bem iluminadas pode ter dificuldades em condições de pouca luz. Um modelo de deteção de objetos que aprende com imagens perfeitas pode falhar em cenas congestionadas ou desorganizadas. Do mesmo modo, um modelo de segmentação de instâncias pode funcionar bem em ambientes controlados, mas ter dificuldades com sombras ou objetos sobrepostos.
Isto torna-se um problema em aplicações de IA do mundo real, nas quais os modelos têm de conseguir generalizar para além de condições de treino controladas. Por exemplo, os carros autónomos têm de conseguir detetar peões em diferentes condições de iluminação, meteorológicas e ambientes. Um modelo que sofra de overfitting no seu conjunto de treino não terá um desempenho fiável em cenários tão imprevisíveis.
Quando e por que razão acontece o overfitting?#
O overfitting ocorre geralmente devido a conjuntos de dados desequilibrados, complexidade excessiva do modelo e treino prolongado. Eis as principais causas:
- Dados de treino limitados: Conjuntos de dados pequenos fazem com que os modelos memorizem padrões em vez de generalizá-los. Um modelo treinado apenas com 50 imagens de aves pode ter dificuldades em detetar espécies de aves fora desse conjunto de dados.
- Modelos complexos com demasiados parâmetros: As redes profundas com excesso de camadas e neurónios tendem a memorizar detalhes minuciosos em vez de se concentrarem nas características essenciais.
- Falta de aumento de dados: Sem transformações como recorte, inversão ou rotação, um modelo pode aprender apenas com as imagens exatas usadas no treino.
- Treino prolongado: Se um modelo passar pelos dados de treino demasiadas vezes, o que é conhecido como épocas, memoriza detalhes em vez de aprender padrões gerais, tornando-se menos adaptável.
- Rótulos inconsistentes ou ruidosos: Dados rotulados incorretamente fazem com que um modelo aprenda os padrões errados. Isto é comum em conjuntos de dados rotulados manualmente.
Uma abordagem equilibrada à complexidade do modelo, à qualidade do conjunto de dados e às técnicas de treino garante uma melhor generalização.
Overfitting vs. underfitting#
O overfitting e o underfitting são dois problemas completamente opostos no deep learning.

Fig. 1. Comparação entre underfitting, aprendizagem ideal e overfitting em modelos de visão computacional.
O overfitting acontece quando um modelo é demasiado complexo, concentrando-se excessivamente nos dados de treino. Em vez de aprender padrões gerais, memoriza pequenos detalhes, incluindo alguns irrelevantes, como ruído de fundo. Isto faz com que o modelo tenha um bom desempenho nos dados de treino, mas dificuldades com imagens novas, o que significa que não aprendeu realmente a reconhecer padrões aplicáveis a situações diferentes.
O underfitting acontece quando um modelo é demasiado básico e não deteta padrões importantes nos dados. Isto pode ocorrer quando o modelo tem poucas camadas, não dispõe de tempo de treino suficiente ou os dados são limitados. Como resultado, não consegue reconhecer padrões importantes e faz previsões imprecisas. Isto conduz a um desempenho fraco tanto nos dados de treino como nos dados de teste, porque o modelo não aprendeu o suficiente para compreender corretamente a tarefa.
Um modelo bem treinado encontra o equilíbrio entre complexidade e generalização. Deve ser suficientemente complexo para aprender padrões relevantes, mas não tão complexo que memorize os dados em vez de reconhecer as relações subjacentes.
Como identificar o overfitting#
Eis alguns sinais que indicam que um modelo está a sofrer de overfitting:
- Se a precisão no treino for significativamente superior à precisão na validação, é provável que o modelo esteja a sofrer de overfitting.
- Uma diferença crescente entre a perda de treino e a perda de validação é outro indicador importante.
- O modelo demonstra confiança excessiva em respostas erradas, revelando que memorizou detalhes em vez de compreender padrões.
Para garantir que um modelo generaliza bem, é necessário testá-lo em conjuntos de dados diversificados que reflitam as condições do mundo real.
Como evitar o overfitting em visão computacional#
O overfitting não é inevitável e pode ser evitado. Com as técnicas certas, os modelos de visão computacional podem aprender padrões gerais em vez de memorizar os dados de treino, tornando-se mais fiáveis em aplicações do mundo real.
Eis cinco estratégias fundamentais para evitar o overfitting em visão computacional.
Aumentar a diversidade dos dados com aumento de dados e dados sintéticos#
A melhor forma de ajudar um modelo a funcionar bem com dados novos é expandir o conjunto de dados utilizando aumento de dados e dados sintéticos. Os dados sintéticos são gerados por computador, em vez de serem recolhidos a partir de imagens do mundo real. Ajudam a colmatar lacunas quando não existem dados reais suficientes.

Fig. 2. A combinação de dados do mundo real e dados sintéticos reduz o overfitting e melhora a precisão da deteção de objetos.
O aumento de dados altera ligeiramente as imagens existentes através de inversão, rotação, recorte ou ajuste do brilho, para que o modelo não se limite a memorizar detalhes, aprendendo antes a reconhecer objetos em situações diferentes.
Os dados sintéticos são úteis quando é difícil obter imagens reais. Por exemplo, os modelos de carros autónomos podem ser treinados com cenários rodoviários gerados por computador para aprender a detetar objetos em diferentes condições meteorológicas e de iluminação. Isto torna o modelo mais flexível e fiável sem exigir milhares de imagens do mundo real.
Otimizar a complexidade e a arquitetura do modelo#
Uma rede neural profunda, que é um tipo de modelo de machine learning com muitas camadas que processam dados em vez de uma única camada, nem sempre é melhor. Quando um modelo tem demasiadas camadas ou parâmetros, memoriza os dados de treino em vez de reconhecer padrões mais abrangentes. Reduzir a complexidade desnecessária pode ajudar a evitar o overfitting.
Para o conseguir, uma abordagem é a poda, que remove neurónios e ligações redundantes, tornando o modelo mais simples e eficiente.
Outra abordagem consiste em simplificar a arquitetura, reduzindo o número de camadas ou neurónios. Os modelos pré-treinados, como o Ultralytics YOLO11, foram concebidos para generalizar bem entre tarefas com menos parâmetros, tornando-os mais resistentes ao overfitting do que treinar um modelo profundo de raiz.
Encontrar o equilíbrio certo entre a profundidade e a eficiência do modelo ajuda-o a aprender padrões úteis sem se limitar a 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 dos dados de treino. Eis algumas técnicas habitualmente utilizadas:
- 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.
- Decaimento dos pesos (regularização L2) desencoraja valores extremos dos pesos, mantendo a complexidade do modelo sob controlo.
- Normalização por lotes ajuda a estabilizar o treino, garantindo que o modelo é menos sensível a variações no conjunto de dados.
Estas técnicas ajudam a manter a flexibilidade e a adaptabilidade do modelo, reduzindo o risco de overfitting sem comprometer a precisão.
Monitorizar o treino com validação e paragem antecipada#
Para evitar o overfitting, é importante acompanhar a forma como o modelo aprende e garantir que generaliza bem para dados novos. Eis algumas técnicas que podem ajudar:
- Paragem antecipada: termina automaticamente o treino quando o modelo deixa de melhorar, para que não continue a aprender detalhes desnecessários.
- Validação cruzada: 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 o equilíbrio, 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 de raiz, utilizar modelos pré-treinados, como o Ultralytics YOLO11, pode reduzir o overfitting. O YOLO11 é treinado com conjuntos de dados de grande escala, o que lhe permite generalizar bem em diferentes condições.

Fig. 3. Os modelos de visão computacional pré-treinados melhoram a precisão e evitam o overfitting.
O ajuste fino de 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, é essencial garantir uma rotulagem de alta qualidade do conjunto de dados. 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, no qual o modelo é exposto a exemplos ligeiramente alterados ou mais desafiantes, concebidos para testar os seus limites.
Principais conclusões#
O overfitting é um problema comum em visão computacional. Um modelo pode funcionar bem com os dados de treino, mas ter dificuldades com imagens do mundo real. Para evitar isto, técnicas como aumento de dados, regularização e utilização de modelos pré-treinados, como o Ultralytics 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 o deep learning evolui, garantir que os modelos generalizam corretamente será essencial para o sucesso da IA no mundo real.
Junta-te à nossa comunidade, que está a crescer! Explora o nosso repositório no GitHub para saberes mais sobre IA. Pronto para começar os teus próprios projetos de visão computacional? Consulta as nossas opções de licenciamento. Descobre a IA de visão na condução autónoma e a IA na área da saúde visitando as nossas páginas de soluções!









