Modelos de IA de Imagem para Texto: CLIP, BLIP, WD 1.4 (também conhecido como WD14), SigLIP 2 e ChatGPT com Visão

Categorizado como AI/ML, Art, Open Source Etiquetas: , , ,
Save and Share:

A etiquetagem, rotulagem ou descrição automática de imagens é uma tarefa crucial em muitas aplicações, particularmente na preparação de conjuntos de dados para aprendizagem automática. É aqui que os modelos de imagem para texto vêm em socorro. Entre os principais modelos de imagem para texto encontram-se o CLIP, BLIP, WD 1.4 (também conhecido como WD14 ou Waifu Diffusion 1.4 Tagger), SigLIP 2 e ChatGPT com Visão.

CLIP: Um Salto Revolucionário

O modelo Contrastive Language–Image Pretraining (CLIP) da OpenAI tem sido amplamente reconhecido pela sua abordagem revolucionária à compreensão e geração de descrições para imagens. O CLIP utiliza uma grande quantidade de texto da internet e dados de imagem para aprender uma multitude de conceitos visuais, produzindo assim frases descritivas para imagens.

No entanto, de acordo com as avaliações dos utilizadores, as frases descritivas do CLIP podem por vezes ser redundantes ou excessivamente verbosas. Uma crítica comum centra-se na propensão do modelo para repetir descrições semelhantes para o mesmo objeto ou enfatizar demasiado certos atributos, como a cor de um objeto.

BLIP: Simplicidade e Funcionalidade

O modelo BLIP, embora menos detalhado nas suas descrições em comparação com o CLIP, oferece uma abordagem mais simples e direta ao processamento de imagem para texto. Como um revisor observou, o BLIP é “fixe e tal, mas é bastante básico”. A simplicidade deste modelo pode ser uma vantagem para aplicações que requerem etiquetas ou descrições diretas e menos verbosas.

No entanto, alguns utilizadores consideraram que o resultado do BLIP muitas vezes carece da profundidade e granularidade fornecidas por modelos como o WD14. Embora possa gerar resultados satisfatórios, o BLIP pode não ser a melhor escolha para aplicações que exigem etiquetas complexas e detalhadas.

Descobri que o WD14, apesar de ser focado em anime, funciona muito bem também para fotos reais de pessoas. Normalmente combino-o com o BLIP e, na maioria das vezes, ele capta muito mais detalhes do que o BLIP.

Toni Corvera em comentários do YouTube

O Blip é fixe e tal, mas é bastante básico.

A etiquetagem do WD 1.4 (WD14) é muito melhor – mais detalhe, etiquetas mais “sumarentas”.

OrphBean em GitHub

WD 1.4 (também conhecido como WD14): Precisão no Detalhe

O modelo WD 1.4 (também conhecido como WD14 ou Waifu Diffusion 1.4 Tagger), inicialmente concebido para imagens de anime, demonstrou uma versatilidade surpreendente, funcionando bem mesmo com fotografias. Os utilizadores elogiaram as suas opções de configuração avançadas e capacidades de processamento em lote, o que o torna uma ferramenta robusta para a tradução de imagem para texto.

O que distingue o WD14 é a sua capacidade de gerar etiquetas detalhadas e “sumarentas”, fornecendo descrições mais aprofundadas de imagens em comparação com os seus concorrentes. Embora este modelo seja menos propenso a produzir etiquetas espúrias, o seu foco em anime pode ser uma limitação para certos tipos de imagens.

P: O etiquetador WD14 é melhor do que o BLIP ou deepdanbooru integrados no Automatic1111?

R: A extensão oferece melhores opções de configuração e processamento em lote, e descobri que é menos provável que produza etiquetas completamente espúrias do que o deepdanbooru.

O CLIP/BLIP é diferente, uma vez que estes produzem frases descritivas em vez de listas de etiquetas, mas o último é geralmente mais adequado às minhas necessidades. E o interrogador CLIP integrado é propenso a apresentar coisas como “uma imagem de (descrição) e uma imagem de (descrição ligeiramente diferente da mesma coisa)” ou “(descrição quase completa) e cabelo rosa e cabelo rosa e cabelo rosa e (repetir muitas vezes)”

Apesar de ter sido feito para anime, o etiquetador WD14 funciona muito bem em fotografias.

MorganTheDual em Reddit

SigLIP 2: Um Motor Poderoso de Imagem para Texto

O modelo gratuito e aberto SigLIP 2 da Google, não é apenas um modelo de visão-linguagem; é um motor poderoso para transformar imagens em texto significativo. Embora se destaque em tarefas como recuperação de imagem-texto e classificação zero-shot, a sua arquitetura e melhorias de treino tornam-no um forte candidato para geração e compreensão de imagem para texto. Eis uma análise de como o SigLIP 2 funciona neste contexto:

A Base: Vision Transformer (ViT) e Perda Sigmoide

  • Vision Transformer (ViT): Ao contrário das redes neuronais convolucionais (CNNs), o SigLIP 2 utiliza uma arquitetura Vision Transformer (ViT). O ViT trata uma imagem como uma sequência de patches, semelhante à forma como as palavras são tratadas como tokens no processamento de linguagem natural. Cada patch é convertido numa representação vetorial (um embedding). Isto permite que o modelo utilize a poderosa arquitetura Transformer, conhecida pela sua capacidade de capturar dependências de longo alcance, para compreender as relações entre diferentes partes da imagem.
  • Perda Sigmoide (Não Contrastiva): Um diferenciador chave do SigLIP (e SigLIP 2) é a utilização de uma função de perda sigmoide em vez da perda contrastiva mais comum (utilizada em modelos como o CLIP). A aprendizagem contrastiva requer a comparação de uma imagem com múltiplas opções de texto. A perda sigmoide, por outro lado, trata a correspondência imagem-texto como um problema de classificação binária para cada par imagem-texto. Esta mudança aparentemente pequena tem um grande impacto: permite um treino mais estável e um melhor desempenho, especialmente com tamanhos de lote maiores. Concentra-se nas correspondências individuais de pares imagem-texto.

Treino Aprimorado para Geração de Texto

O SigLIP 2 pega na base do SigLIP e adiciona vários melhoramentos cruciais que beneficiam diretamente as suas capacidades de imagem para texto:

  • Pré-treino Baseado em Legendas: Este é um passo enorme. O SigLIP 2 incorpora a legendagem como parte do seu processo de pré-treino. Isto significa que é explicitamente treinado para gerar descrições de texto de imagens. Isto contrasta com modelos como o CLIP original, que foram primariamente treinados em correspondência imagem-texto, não geração.
  • Inspirado na Aprendizagem Auto-Supervisionada: O SigLIP 2 utiliza técnicas poderosas:
    • Auto-Destilação: O modelo aprende com as suas próprias previsões, refinando a sua compreensão ao longo do tempo.
    • Previsão Mascarada: Partes da entrada (patches de imagem ou tokens de texto) são ocultadas, e o modelo aprende a prever as peças em falta. Isto força-o a desenvolver uma compreensão mais profunda de ambas as modalidades.
  • Perda LocCa e Descodificador: O SigLIP 2 integra a perda LocCa, que adiciona um descodificador Transformer com atenção cruzada. Este descodificador é especificamente treinado em tarefas como legendagem de imagens, previsão de expressões referenciais (identificação de regiões com base em texto) e legendagem fundamentada. Isto melhora a localização precisa e a extração detalhada de características.

Como tudo se junta (Imagem -> Texto)

  1. Entrada de Imagem: Uma imagem é alimentada no codificador ViT.
  2. Embedding de Patch: A imagem é dividida em patches, e cada patch é transformado num vetor de embedding.
  3. Codificação Transformer: As camadas Transformer processam estes embeddings de patch, capturando relações entre diferentes partes da imagem. Embeddings posicionais aprendidos fornecem informações sobre a localização de cada patch.
  4. Pooling de Atenção: Um mecanismo de pooling baseado em atenção (cabeça MAP) agrega a informação dos embeddings de patch numa única representação de imagem abrangente.
  5. Descodificador de Texto (Crucial para Imagem para Texto): É aqui que as capacidades de legendagem do SigLIP 2 entram em jogo. A representação da imagem do codificador é alimentada no descodificador Transformer (adicionado pela perda LocCa). O descodificador utiliza atenção cruzada para se concentrar em partes relevantes da representação da imagem enquanto gera texto.
  6. Saída de Texto: O descodificador gera uma sequência de tokens de texto, formando uma legenda ou descrição da imagem.

Poder Multilingue

O SigLIP 2 não se limita ao inglês. É treinado num conjunto de dados multilingue (WebLI), dando-lhe a capacidade de compreender e gerar texto em várias línguas, tornando-o numa ferramenta de imagem para texto verdadeiramente global.

Em Resumo

A combinação do SigLIP 2 de uma arquitetura forte baseada em ViT, perda sigmoide e, crucialmente, pré-treino baseado em descodificador com legendagem e auto-destilação, torna-o um modelo altamente eficaz para tarefas de imagem para texto. Vai além da simples correspondência imagem-texto para gerar ativamente texto descritivo, abrindo possibilidades para aplicações como legendagem automática de imagens, resposta visual a perguntas e análise detalhada de imagens.

Ligações

ChatGPT com Visão

Se precisar de descrever um conjunto de dados de imagens não muito grande, pode utilizar a ferramenta Image Describer no ChatGPT. Não é adequado para grandes lotes de imagens, mas é perfeito para conjuntos de imagens mais pequenos porque fornece absolutamente as melhores descrições em linguagem natural. As descrições desta ferramenta são muito precisas e detalhadas. Não são apenas etiquetas, mas texto coerente e informativo que também tem em conta as relações entre os objetos na imagem.

Exemplo:

Conjunto de imagens de teste:

Resultado do Image Describer para estas 3 imagens:

Carregou três imagens. Aqui está uma descrição de cada uma:

  1. A primeira imagem apresenta um adorável gatinho de desenho animado estilizado com olhos grandes e expressivos. É predominantemente laranja com detalhes brancos no rosto, peito e patas. O gatinho está a segurar uma caneta, que é quase tão grande como ele próprio, e está a desenhar uma cara feliz numa bola amarela brilhante. O estilo de arte é muito polido e tem uma espécie de acabamento brilhante. O fundo sugere um cenário fantasioso com formas abstratas e coloridas e uma sugestão de um céu estrelado.
  2. A segunda imagem parece ser uma captura de ecrã de uma secção de chat ou comentários de uma plataforma de redes sociais. Vários utilizadores deixaram comentários, muitos dos quais incluem risos ou diversão indicados por acrónimos como “LMAO” e emojis. Os nomes de utilizador e as fotos de perfil estão pixelizados para privacidade, com uma variedade de cores exibidas na pixelização.
  3. A terceira imagem é uma ilustração altamente detalhada e realista de uma jovem com uma expressão amigável. Ela tem cabelo comprido e preto, pele clara e veste um hoodie roxo. A mulher também está a usar uns auscultadores, sugerindo que pode ser uma streamer de videojogos ou estar envolvida em alguma forma de comunicação online. O cenário parece ser uma sala iluminada com um tom roxo, possivelmente de luzes LED, indicativo de uma configuração de gaming.

Cada imagem tem um contexto e estilo visual muito diferentes, variando de ilustração fantasiosa a uma captura de ecrã de uma interação digital, a uma pintura digital mais realista.

Concluindo

A escolha entre CLIP, BLIP, WD 1.4, SigLIP 2 e Image Describer depende muito das necessidades específicas de um projeto. Se a precisão e o detalhe são primordiais, o WD 1.4 e o SigLIP 2 oferecem uma opção convincente com a sua configuração avançada e capacidades de etiquetagem detalhada. Para aplicações mais simples, a abordagem direta do BLIP pode ser mais adequada. Entretanto, o CLIP fornece um equilíbrio entre detalhe e simplicidade, embora com uma tendência para a verbosidade.

O Image Describer fornece os melhores resultados, mas não é adequado para descrever ou etiquetar grandes conjuntos de imagens.

À medida que estes modelos continuam a evoluir e a melhorar, eles detêm um potencial promissor para um vasto espetro de aplicações, desde a criação de conteúdo à análise de dados. Apesar das suas diferenças, os modelos CLIP, BLIP, WD 1.4, SigLIP 2 e GPT-Vision são um testemunho dos rápidos avanços na tecnologia de imagem para texto, cada um contribuindo com pontos fortes únicos para este campo emocionante.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *