Aprendizagem pessoal com IA
e orientação prática

AnyText: gere e edite texto de imagem em vários idiomas, altamente controlável para gerar várias linhas de chinês na imagem

Introdução geral

O AnyText é uma ferramenta revolucionária de geração e edição de texto visual multilíngue desenvolvida com base no modelo de difusão. Ele gera texto multilíngue natural e de alta qualidade em imagens e oferece suporte a recursos flexíveis de edição de texto. Desenvolvido por uma equipe de pesquisadores e premiado com honras Spotlight no ICLR 2024, o ponto forte do AnyText está em sua arquitetura exclusiva de dois módulos: o módulo de potencial auxiliar codifica o glifo do texto, a posição e as informações da imagem mascarada, enquanto o módulo de incorporação de texto processa os dados do traço usando um modelo de OCR. O projeto também fornece o conjunto de dados AnyWord-3M, o primeiro conjunto de dados de imagens de texto multilíngue que contém 3 milhões de pares com anotações de OCR, o que constitui uma importante referência de avaliação para o campo da geração de texto visual.

AnyText: Gerar e editar texto de imagem em vários idiomas, geração controlada de chinês na imagem-1


 

AnyText: Gerar e editar texto de imagem em vários idiomas, geração controlada de chinês na imagem-1

Experiência: https://modelscope.cn/studios/damo/studio_anytext/summary

Endereço alternativo: https://huggingface.co/spaces/modelscope/AnyText

 

 

Lista de funções

  • Geração de texto em vários idiomas: suporte para geração de texto em vários idiomas em imagens
  • Editor de texto: você pode editar e modificar o conteúdo do texto das imagens existentes.
  • Controle de estilo: suporte para alterar o estilo do texto gerado por meio do modelo básico ou do modelo LoRA
  • Aceleração de inferência FP16: suporta inferência rápida e é executado em GPUs com mais de 8 GB de memória de vídeo
  • Tradução em chinês e inglês: modelo de tradução em chinês e inglês incorporado, suporte para entrada direta de palavras chinesas
  • Fontes personalizadas: permite que os usuários usem seus próprios arquivos de fontes
  • Processamento em lote: suporta a geração e a edição em lote de texto de imagem
  • Mesclagem de modelos: suporte à mesclagem de modelos comunitários e pesos de modelos LoRA

 

Usando a Ajuda

1. instalação ambiental

  1. Primeiro, verifique se o Git está instalado em seu sistema:
conda install -c anaconda git
  1. Clone o código do projeto:
git clone https://github.com/tyxsspa/AnyText.git
cd AnyText
  1. Prepare o arquivo da fonte (recomenda-se Arial Unicode MS):
mv your/path/to/arialuni.ttf . /font/Arial_Unicode.ttf
  1. Crie e ative o ambiente:
conda env create -f environment.yaml
conda activate anytext

2 Métodos de uso

2.1 Início rápido

A maneira mais fácil de verificar isso é executar o seguinte comando:

python inference.py

2.2 Lançamento de uma apresentação interativa

A interface de demonstração é recomendada para GPUs mais bem configuradas (8 GB ou mais de memória de vídeo):

export CUDA_VISIBLE_DEVICES=0 && python demo.py

2.3 Configuração avançada

  • Use a precisão FP32 e desative o tradutor:
export CUDA_VISIBLE_DEVICES=0 && python demo.py --use_fp32 --no_translator
  • Use fontes personalizadas:
export CUDA_VISIBLE_DEVICES=0 && python demo.py --font_path your/path/to/font/file.ttf
  • Carregar pontos de controle específicos:
export CUDA_VISIBLE_DEVICES=0 && python demo.py --model_path your/path/to/your/own/anytext.ckpt

3. ajustes estilísticos

Na interface de demonstração, o estilo do texto gerado pode ser ajustado de duas maneiras:

  1. Alterar modelo básico: preencha o caminho do modelo básico local em [Base Model Path].
  2. Carregar modelo LoRA: insira o caminho do modelo LoRA e a proporção de peso em [LoRA Path and Ratio], por exemplo:
/caminho/da/lora1.pth 0.3 /caminho/da/lora2.safetensors 0.6

4. otimização do desempenho

  • A inferência FP16 padrão é usada, com modelos de tradução em chinês e inglês carregados (ocupando cerca de 4 GB de memória de vídeo)
  • Se o FP16 for usado e nenhum modelo de tradução for usado, uma única imagem de 512x512 requer apenas cerca de 7,5 GB de memória de vídeo.
  • Na primeira vez em que é executado, os arquivos do modelo são baixados para o~/.cache/modelscope/hubdiretório (no disco rígido do computador)
  • Isso pode ser feito definindo a variável de ambienteMODELSCOPE_CACHEModificar o diretório de download

5 Cuidados

  1. Certifique-se de que a versão correta do pacote de dependência esteja instalada
  2. O uso de fontes personalizadas pode afetar a geração
  3. A primeira execução do modelo requer o download dos arquivos relevantes
  4. Recomendado para ser executado com uma GPU com 8 GB de memória de vídeo ou mais

 

AnyText gera instruções de operação de imagens

exemplo de execução

O AnyText tem dois modos de operação: geração de texto e edição de texto. Cada modo oferece uma grande variedade de exemplos, escolha um deles e clique em [Run!

Observe que, antes de executar o exemplo, certifique-se de que a área de localização desenhada à mão esteja vazia para não afetar os resultados do exemplo. Além disso, exemplos diferentes usam parâmetros diferentes (como resolução, número de sementes etc.); se quiser gerar o seu próprio exemplo, preste atenção às alterações dos parâmetros ou atualize a página para reverter para os parâmetros padrão.

Geração de texto

No Prompt, para inserir a descrição da palavra do prompt (suporte para chinês e inglês), é necessário gerar cada linha de texto entre aspas duplas e, em seguida, desenhar sequencialmente à mão para especificar o local de cada linha de texto para gerar imagens. O desenho da posição do texto é muito importante para a qualidade da imagem. Não desenhe de forma muito aleatória ou muito pequena, o número de posições deve ser igual ao número de linhas de texto e o tamanho de cada posição deve corresponder ao comprimento ou à largura da linha de texto correspondente, na medida do possível. Se não for possível desenhar à mão (desenho manual), tente arrastar o retângulo da caixa (manual-rect) ou gerar aleatoriamente (Auto-rand).

Ao gerar várias linhas, cada posição é classificada de acordo com determinadas regras para corresponder à linha de texto, e a opção Sort Position é usada para determinar se a prioridade de classificação é de cima para baixo ou da esquerda para a direita. Você pode ativar a opção Show Debug (Mostrar depuração) nas configurações de parâmetros para observar a posição do texto e os glifos na imagem resultante. A opção Revise Position (Revisar posição) também pode ser marcada, o que usará o retângulo externo do texto renderizado como a posição corrigida, embora ocasionalmente tenha sido constatado que o texto gerado dessa forma é um pouco menos criativo.

editor de texto

Carregue uma imagem a ser editada como imagem de referência (Ref) e, depois de ajustar o tamanho do traço, pinte a posição a ser editada na imagem de referência, digite as palavras do prompt de descrição e o conteúdo do texto a ser modificado no Prompt para gerar a imagem.

A imagem de referência pode ter qualquer resolução, mas o processamento interno restringe o lado longo a não mais que 768, e a largura e a altura são dimensionadas para um múltiplo inteiro de 64.

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " AnyText: gere e edite texto de imagem em vários idiomas, altamente controlável para gerar várias linhas de chinês na imagem

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil