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

O que é EfficientNet? Uma visão geral rápida.

Abirami Vina

Leitura de 6 min

29 de agosto de 2025

Entenda a arquitetura EfficientNet e sua mágica de escalonamento composto! Explore EfficientNet B0-B7 para classificação de imagem de alto nível e eficiência de segmentação.

Em 2019, pesquisadores do Google AI introduziram o EfficientNet, um modelo de visão computacional de última geração construído para reconhecer objetos e padrões em imagens. Ele foi projetado principalmente para classificação de imagens, que envolve atribuir uma imagem a uma de várias categorias predefinidas. No entanto, hoje, o EfficientNet também serve como base para tarefas mais complexas, como detecção de objetos, segmentação e transferência de aprendizado.

Antes do EfficientNet, esses modelos de aprendizado de máquina e Visão de IA tentavam melhorar a precisão adicionando mais camadas ou aumentando o tamanho dessas camadas. As camadas são as etapas em um modelo de rede neural (um tipo de modelo de aprendizado profundo inspirado no cérebro humano) que processam dados para aprender padrões e melhorar a precisão. 

Essas mudanças criaram um trade-off, tornando os modelos de IA tradicionais maiores e mais lentos, enquanto a precisão extra era frequentemente mínima em comparação com o aumento significativo na capacidade de computação necessária.

O EfficientNet adotou uma abordagem diferente. Aumentou a profundidade (número de camadas), a largura (número de unidades em cada camada) e a resolução da imagem (o nível de detalhe das imagens de entrada) juntos de forma equilibrada. Este método, chamado escalonamento composto, usa de forma confiável toda a capacidade de processamento disponível. O resultado final é um modelo menor e mais rápido que pode ter um desempenho melhor do que modelos mais antigos como ResNet ou DenseNet.

Hoje, modelos de visão computacional mais recentes, como o Ultralytics YOLO11, oferecem maior precisão, velocidade e eficiência. Mesmo assim, o EfficientNet continua sendo um marco importante que influenciou o design de muitas arquiteturas avançadas. 

Neste artigo, vamos detalhar o EfficientNet em cinco minutos, abordando como ele funciona, o que o torna único e por que ele ainda é importante na visão computacional. Vamos começar!

O que é EfficientNet?

Antes do EfficientNet ser projetado, a maioria dos modelos de reconhecimento de imagem melhorava a precisão ajustando suas camadas ou aumentando o tamanho da imagem de entrada para capturar mais detalhes. Embora essas estratégias tenham melhorado os resultados, também tornaram os modelos mais pesados e exigentes. Isso significava que eles precisavam de mais memória e melhor hardware. 

Em vez de alterar camadas individuais, o EfficientNet dimensiona a profundidade, a largura e a resolução da imagem em conjunto, usando um método chamado dimensionamento composto. Esta abordagem permite que o modelo cresça de forma eficiente, sem sobrecarregar nenhum aspeto individual.

A arquitetura EfficientNet processa imagens através de uma série de blocos, cada um construído a partir de módulos menores. O número de módulos em cada bloco depende do tamanho do modelo. 

Fig 1. Os blocos de construção do EfficientNet. (Fonte)

Versões menores usam menos módulos, enquanto versões maiores repetem os módulos com mais frequência. Este design flexível permite que o EfficientNet ofereça alta precisão e eficiência em uma ampla gama de aplicações, desde dispositivos móveis até sistemas de grande escala.

Como funciona o dimensionamento composto

O método de dimensionamento composto expande a profundidade, a largura e a resolução da imagem de um modelo, mas os mantém em equilíbrio. Isso torna possível usar o poder de computação de forma eficiente. A série começa com um modelo de linha de base menor chamado EfficientNet-B0, que serve de base para todas as outras versões.

A partir do B0, os modelos são ampliados em variantes maiores chamadas EfficientNet-B1 até EfficientNet-B7. A cada passo, a rede ganha camadas adicionais, aumenta o número de canais (unidades usadas para processamento) e lida com imagens de entrada de maior resolução. A quantidade de crescimento em cada etapa é determinada por um parâmetro chamado coeficiente composto, que garante que profundidade, largura e resolução aumentem em proporções fixas, em vez de independentemente.

Fig 2. O dimensionamento composto aumenta a largura, a profundidade e a resolução da imagem de um modelo. (Fonte)

Arquitetura EfficientNet

Em seguida, vamos dar uma olhada na arquitetura do EfficientNet. 

Ele se baseia no MobileNetV2, um modelo de visão computacional leve otimizado para dispositivos móveis e embarcados. No seu núcleo está o bloco Mobile Inverted Bottleneck Convolution (MBConv), uma camada especial que processa dados de imagem como uma convolução padrão, mas com menos cálculos. Este bloco torna o modelo rápido e mais eficiente em termos de memória.

Dentro de cada bloco MBConv, há um módulo squeeze-and-excitation (SE). Este módulo ajusta a intensidade de diferentes canais na rede, aumentando a intensidade dos canais essenciais e reduzindo a intensidade dos outros. O módulo ajuda a rede a se concentrar nos recursos mais importantes de uma imagem, ignorando o resto. O modelo EfficientNet também usa uma função de ativação Swish (uma função matemática que ajuda a rede a aprender padrões), o que a ajuda a identificar padrões em imagens melhor do que os métodos mais antigos. 

Além disso, ele usa o DropConnect, onde algumas conexões dentro da rede são desativadas aleatoriamente durante o treinamento. Este método de regularização estocástica (uma técnica de randomização para evitar que o modelo memorize os dados de treinamento em vez de generalizar) reduz o overfitting, forçando a rede a aprender representações de características mais robustas (padrões mais fortes e gerais nos dados) que são transferidas melhor para dados não vistos.

Fig. 3. Arquitetura do EfficientNet-B0 (Fonte)

Uma breve visão geral das variantes do modelo EfficientNet

Agora que temos uma melhor compreensão de como os modelos EfficientNet funcionam, vamos discutir as diferentes variantes do modelo. 

Os modelos EfficientNet escalam de B0 para B7, começando com B0 como a linha de base que equilibra velocidade e precisão. Cada versão aumenta a profundidade, a largura e a resolução da imagem, melhorando a precisão. No entanto, eles também exigem mais poder computacional, do B1 e B2 ao B6 e B7 de alto desempenho. 

Enquanto os modelos EfficientNet-B3 e EfficientNet-B4 encontram um equilíbrio para imagens maiores, o B5 é frequentemente escolhido para conjuntos de dados complexos que exigem precisão. Além destes modelos, o modelo mais recente, EfficientNet V2, pode melhorar a velocidade de treino, lidar melhor com conjuntos de dados pequenos e é otimizado para hardware moderno.

Aplicações do EfficientNet

O EfficientNet pode produzir resultados precisos enquanto usa menos memória e poder de processamento do que muitos outros modelos. Isso o torna útil em muitos campos, desde pesquisa científica até produtos que as pessoas usam diariamente.

Análise de imagem médica

Imagens médicas, como tomografias computadorizadas dos pulmões, geralmente contêm detalhes sutis que são críticos para um diagnóstico preciso. Os modelos de IA podem auxiliar na análise dessas imagens para descobrir padrões que podem ser difíceis para os humanos detectarem. Uma adaptação do EfficientNet para este propósito é o MONAI (Medical Open Network for AI) EfficientNet, que é especificamente projetado para análise de imagem médica.

Com base na arquitetura do EfficientNet, os pesquisadores também desenvolveram o Lung-EffNet, um modelo que classifica tomografias computadorizadas do pulmão para detetar tumores. Ele pode categorizar tumores como benignos, malignos ou normais, alcançando uma precisão relatada de mais de 99% em ambientes experimentais.

Fig 4. Classificação de imagens de tumores usando Lung-EffNet. (Fonte)

Detecção de objetos em tempo real

A detecção de objetos é o processo de encontrar objetos em uma imagem e determinar suas localizações. É uma parte fundamental de aplicações como sistemas de segurança, carros autônomos e drones.

O EfficientNet se tornou importante nesta área porque ofereceu uma maneira muito eficiente de extrair recursos de imagens. Seu método de escalonamento de profundidade, largura e resolução mostrou como os modelos podem ser precisos sem serem muito pesados ou lentos. É por isso que muitos sistemas de detecção, como o EfficientDet, usam o EfficientNet como sua base.

Modelos mais recentes, como o Ultralytics YOLO11, compartilham o mesmo objetivo de combinar velocidade com precisão. Essa tendência em direção a modelos eficientes foi fortemente influenciada por ideias de arquiteturas como o EfficientNet.

Prós e contras do EfficientNet

Aqui estão alguns benefícios de usar o EfficientNet em projetos de visão computacional:

  • Alta precisão com menos parâmetros: O EfficientNet pode fornecer precisão semelhante ou melhor do que modelos mais antigos, como ResNet ou DenseNet. No entanto, ele usa menos parâmetros, tornando-o mais rápido para treinar e mais fácil de implantar.
  • Família de modelos escaláveis: Variando de B0 a B7, você pode escolher uma versão que corresponda aos seus requisitos de hardware e precisão sem alterar a rede de base.
  • Bom para transfer learning: O EfficientNet pode fornecer um desempenho de modelo confiável para transfer learning, que é um processo de retreinar um modelo pré-treinado para uma tarefa personalizada. Ele pode funcionar como uma base para uma variedade de tarefas de visão computacional. Também mostrou resultados fortes quando ajustado. Por exemplo, alcançou precisão de última geração no CIFAR-100, um conjunto de dados de classificação de imagem amplamente utilizado, com significativamente menos parâmetros do que os modelos anteriores.

Embora existam muitos benefícios relacionados ao uso do EfficientNet, aqui estão algumas das limitações do EfficientNet a serem lembradas:

  • Requer mais memória: Versões como EfficientNet-B6 e EfficientNet-B7 exigem muita memória da GPU.
  • Escalonamento ajustado para ImageNet: As configurações de escalonamento foram projetadas para o conjunto de dados ImageNet, portanto, o desempenho pode cair em conjuntos de dados muito diferentes sem ajuste fino. Isso é especialmente verdadeiro para conjuntos de dados pequenos, já que a arquitetura e o escalonamento do EfficientNet foram projetados para um conjunto de dados grande e diversificado como o ImageNet, que fornece dados suficientes para justificar sua profundidade e largura.
  • Mais lento em alguns hardwares: O EfficientNet usa camadas chamadas MBConv que são projetadas para eficiência em hardware moderno. Em GPUs ou CPUs mais antigas, essas camadas podem ser executadas mais lentamente.

Principais conclusões

O EfficientNet mudou a forma como os modelos de visão computacional crescem, mantendo a profundidade, a largura e a resolução da imagem em equilíbrio. Ainda é um modelo importante e influenciou arquiteturas mais recentes também. Em particular, ocupa um lugar significativo na história da visão computacional.

Junte-se à nossa comunidade e ao nosso repositório GitHub para explorar mais sobre IA. Confira nossas páginas de soluções para ler sobre IA na área da saúde e visão computacional na indústria automotiva. Descubra nossas opções de licenciamento e comece a construir com visão computacional hoje mesmo!

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