Pular para o conteúdo

Design clássico · Pleno

Legendagem de imagens

Projeto de entrevista clássico. Pontos centrais: encoder visual + decoder de texto, cross-attention e CIDEr.

14 min de leitura · Conteúdo revisado em 23 de outubro de 2026

Resposta curta

Projeto de entrevista clássico. Pontos centrais: encoder visual + decoder de texto, cross-attention e CIDEr. Legendar uma imagem é gerar uma frase que descreva o que ela mostra. É um problema de ML system design que junta visão e linguagem.

01 · CONTEXTO

O que é legendar uma imagem

Legendar uma imagem é gerar uma frase que descreva o que ela mostra. É um problema de ML system design que junta visão e linguagem. Segundo o paper Show and Tell, uma boa descrição precisa capturar os objetos da imagem, a relação entre eles, seus atributos e as atividades em que se envolvem, e ainda expressar isso em linguagem natural; por isso é necessário um modelo de linguagem além da compreensão visual.

02 · ARQUITETURA BASE

Codificador visual e decodificador de texto

A abordagem do paper Show and Tell, chamada NIC, é um único modelo: recebe a imagem e é treinado para maximizar a verossimilhança da sequência de palavras que a descreve. Os blocos de visão e de linguagem podem ser pré-treinados em corpora maiores.

  1. O diagrama começa pela imagem de entrada, que segue para o codificador visual.

    Diagrama da arquitetura: Legendagem: codificador e decodificador
    CLImagem de entrada
    CPCodificador visual (CNN)
    CPDecodificador de texto (LSTM)
    CLAplicação que usa a legenda
  2. O codificador é uma CNN pré-treinada em classificação de imagens, e a última camada oculta dela alimenta o decodificador.

    Diagrama da arquitetura: Legendagem: codificador e decodificador
    CLImagem de entrada
    CPCodificador visual (CNN)
    CPDecodificador de texto (LSTM)
    CLAplicação que usa a legenda
  3. A imagem entra uma única vez, para informar o decodificador sobre o conteúdo; nos testes dos autores, alimentá-la a cada passo deu resultado inferior.

    Diagrama da arquitetura: Legendagem: codificador e decodificador
    CLImagem de entrada
    CPCodificador visual (CNN)
    CPDecodificador de texto (LSTM)
    CLAplicação que usa a legenda
  4. O decodificador gera a frase uma palavra por vez, até emitir a palavra de parada, que sinaliza que a frase está completa.

    Diagrama da arquitetura: Legendagem: codificador e decodificador
    CLImagem de entrada
    CPCodificador visual (CNN)
    CPDecodificador de texto (LSTM)
    CLAplicação que usa a legenda
  5. O diagrama termina na aplicação que consome a legenda pronta.

    Diagrama da arquitetura: Legendagem: codificador e decodificador
    CLImagem de entrada
    CPCodificador visual (CNN)
    CPDecodificador de texto (LSTM)
    CLAplicação que usa a legenda

Na inferência, o paper compara amostragem com busca em feixe: esta mantém as k melhores frases parciais como candidatas a cada passo, e usar um feixe de tamanho um (busca gulosa) piorou os resultados em média.

AbordagemO que a fonte diz
Detecções e modelos de fraseDetecções viram um trio de elementos de cena, convertido em texto por modelos fixos (templates); a fonte os descreve como limitados em expressividade.
Ranking de descrições existentesRecupera descrições próximas da imagem em um espaço de embedding conjunto; não descreve composições de objetos nunca vistas.
Modelo único (NIC)Um único modelo treinado para maximizar a verossimilhança da sequência de palavras dada a imagem.

03 · ATENÇÃO VISUAL

Olhar para a região certa a cada palavra

O paper Show, Attend and Tell aponta um limite de usar só a representação da camada de topo da convnet: pode perder informação útil para legendas mais ricas. A saída é extrair características de uma camada convolucional inferior, o que permite ao decodificador focar em partes específicas da imagem.

  1. O diagrama começa pela imagem, que segue para o extrator de características espaciais.

    Diagrama da arquitetura: Legendagem com atenção visual
    CLImagem de entrada
    CPExtrator de características espaciais
    CPMódulo de atenção
    CPDecodificador de texto
    CLAplicação que usa a legenda
  2. O extrator usa uma camada convolucional inferior, e não uma camada totalmente conectada, para que o decodificador possa focar em partes da imagem.

    Diagrama da arquitetura: Legendagem com atenção visual
    CLImagem de entrada
    CPExtrator de características espaciais
    CPMódulo de atenção
    CPDecodificador de texto
    CLAplicação que usa a legenda
  3. O módulo de atenção dá um peso a cada região, lido como a probabilidade de ela ser o lugar certo para focar na próxima palavra, e resume o resultado em um vetor de contexto, uma representação dinâmica da parte relevante da imagem.

    Diagrama da arquitetura: Legendagem com atenção visual
    CLImagem de entrada
    CPExtrator de características espaciais
    CPMódulo de atenção
    CPDecodificador de texto
    CLAplicação que usa a legenda
  4. O decodificador gera uma palavra por passo, condicionada ao vetor de contexto, ao estado oculto anterior e às palavras já geradas.

    Diagrama da arquitetura: Legendagem com atenção visual
    CLImagem de entrada
    CPExtrator de características espaciais
    CPMódulo de atenção
    CPDecodificador de texto
    CLAplicação que usa a legenda
  5. A aresta de volta, do decodificador ao módulo de atenção, representa a atenção que muda conforme cada palavra é gerada.

    Diagrama da arquitetura: Legendagem com atenção visual
    CLImagem de entrada
    CPExtrator de características espaciais
    CPMódulo de atenção
    CPDecodificador de texto
    CLAplicação que usa a legenda
VarianteComo é treinada
Atenção suave (soft)Mecanismo determinístico, treinável por retropropagação padrão.
Atenção rígida (hard)Mecanismo estocástico, treinado maximizando um limite inferior variacional aproximado, ou de forma equivalente por REINFORCE.

04 · AVALIAÇÃO

Como medir se a legenda é boa

A avaliação por avaliadores humanos, que dão uma nota de utilidade a cada descrição, é descrita no paper Show and Tell como a mais confiável, porém demorada. Entre as métricas automáticas, o BLEU é uma forma de precisão de n-gramas de palavras entre a frase gerada e as de referência.

As fontes divergem sobre o BLEU: os autores do NIC relatam que ele se correlaciona bem com avaliações humanas, enquanto os autores do CIDEr afirmam que BLEU e ROUGE têm correlação fraca com o julgamento humano. Daí a proposta do CIDEr, que mede a similaridade de uma frase com o consenso de como a maioria das pessoas descreve a imagem.

  1. O diagrama começa pelas imagens de avaliação, que alimentam o modelo de legendagem.

    Diagrama da arquitetura: Avaliação de legendas
    DBImagens de avaliação
    CPModelo de legendagem
    DBLegendas humanas de referência
    CPAvaliador de métricas
    NWPainel de métricas
  2. O avaliador recebe a legenda gerada e as legendas humanas de referência, porque o CIDEr mede a similaridade de uma frase com o consenso de como a maioria descreve a imagem.

    Diagrama da arquitetura: Avaliação de legendas
    DBImagens de avaliação
    CPModelo de legendagem
    DBLegendas humanas de referência
    CPAvaliador de métricas
    NWPainel de métricas
  3. Cinco frases de referência por imagem não bastam, segundo os autores do CIDEr, para medir como a maioria das pessoas descreveria a imagem; por isso eles coletaram conjuntos de avaliação com muito mais descrições por imagem.

    Diagrama da arquitetura: Avaliação de legendas
    DBImagens de avaliação
    CPModelo de legendagem
    DBLegendas humanas de referência
    CPAvaliador de métricas
    NWPainel de métricas
  4. O CIDEr pondera cada n-grama por TF-IDF: o IDF desconta palavras populares, pouco informativas visualmente.

    Diagrama da arquitetura: Avaliação de legendas
    DBImagens de avaliação
    CPModelo de legendagem
    DBLegendas humanas de referência
    CPAvaliador de métricas
    NWPainel de métricas
  5. O CIDEr-D está disponível no servidor de avaliação do MS COCO e é mais robusto a manipulação do que a versão original.

    Diagrama da arquitetura: Avaliação de legendas
    DBImagens de avaliação
    CPModelo de legendagem
    DBLegendas humanas de referência
    CPAvaliador de métricas
    NWPainel de métricas

05 · PRODUÇÃO

Levando o modelo para um serviço

Esta seção é uma proposta de estudo, não a arquitetura de uma empresa. Três decisões merecem atenção ao levar o modelo para produção: se a legenda volta na hora ou depois, onde as imagens e as legendas ficam guardadas, e como a qualidade é acompanhada ao longo do tempo. Veja também filas de mensagens e monitoramento.

  1. O diagrama começa pelo cliente, que chega ao serviço de legendagem passando pelo gateway de API.

    Diagrama da arquitetura: Legendagem em produção
    CLCliente
    NWGateway de API
    CPServiço de legendagem
    DBArmazenamento de imagens
    CHCache de legendas
    QFila de inferência
    CPWorker de inferência
    NWMonitoramento de qualidade
  2. No diagrama, o serviço de legendagem se liga ao armazenamento de imagens e ao cache de legendas.

    Diagrama da arquitetura: Legendagem em produção
    CLCliente
    NWGateway de API
    CPServiço de legendagem
    DBArmazenamento de imagens
    CHCache de legendas
    QFila de inferência
    CPWorker de inferência
    NWMonitoramento de qualidade
  3. No diagrama, o serviço também se liga à fila de inferência, da qual o worker de inferência consome.

    Diagrama da arquitetura: Legendagem em produção
    CLCliente
    NWGateway de API
    CPServiço de legendagem
    DBArmazenamento de imagens
    CHCache de legendas
    QFila de inferência
    CPWorker de inferência
    NWMonitoramento de qualidade
  4. No diagrama, o worker se liga ao armazenamento, ao cache e ao monitoramento de qualidade.

    Diagrama da arquitetura: Legendagem em produção
    CLCliente
    NWGateway de API
    CPServiço de legendagem
    DBArmazenamento de imagens
    CHCache de legendas
    QFila de inferência
    CPWorker de inferência
    NWMonitoramento de qualidade

Perguntas frequentes

O que é Legendagem de imagens?

Projeto de entrevista clássico. Pontos centrais: encoder visual + decoder de texto, cross-attention e CIDEr.

O que o design de Legendagem de imagens cobre?

Ele está organizado nestas seções: O que é legendar uma imagem, Codificador visual e decodificador de texto, Olhar para a região certa a cada palavra, Como medir se a legenda é boa e Levando o modelo para um serviço.

Quanto tempo leva Legendagem de imagens e qual é o nível?

Leva cerca de 14 minutos para ler e tem nível Pleno.

Agora projete você mesmo

Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.