Introdução geral
O MangaNinjia é um projeto de código aberto desenvolvido pelo Alibaba Tongyi Visual Intelligence Lab (Ali-Vilab), com foco no processamento automatizado da coloração de desenhos de linha. Essa ferramenta utiliza técnicas de aprendizagem profunda para obter a imagem de referência da correspondência exata de cores, melhorando consideravelmente a eficiência e a qualidade da criação de histórias em quadrinhos. O MangaNinjia não só pode identificar e aplicar automaticamente a cor, mas também oferece suporte ao usuário por meio do ponto de controle fino, de modo que, mesmo em cenas complexas, é possível obter resultados de cores satisfatórios. O projeto está disponível no GitHub com código e instruções detalhadas, atraindo a atenção de muitos fãs e profissionais de mangá.
Atualmente, o projeto tem três funções: extração de linhas, coloração de linhas e coloração precisa de linhas.
Lista de funções
- Coloração automática de linhasIdentificação e aplicação automática de cores com base em uma imagem de referência
- Seguimento preciso da referênciaAlgoritmos: Algoritmos são usados para garantir a consistência de cores entre o desenho de linha e a imagem de referência.
- colorir com o recurso de apontar e clicarCor: Permite que o usuário especifique a cor de uma área específica clicando em um ponto, melhorando a precisão da coloração.
- Suporte a imagens de várias referênciasCores: As cores podem ser extraídas de várias imagens de referência para uma coloração abrangente.
- Adaptação a diferentes formatos de arte-finalSuporte a vários formatos de entrada de desenho de linha, como desenho de linha binarizado.
Usando a Ajuda
Processo de instalação
- Armazém de Clonagem:
git clone https://github.com/ali-vilab/MangaNinjia.git
cd MangaNinjia
- Instale a dependência:
conda env create -f environment.yaml
conda activate MangaNinjia
- Faça o download do modelo pré-treinado:
- Faça o download do StableDiffusion do HuggingFace, clip-vit-large-patch14, controlev11psd15_lineart e modelo de anotadores.
- Coloque o modelo baixado na pasta
pontos de controle
com a seguinte estrutura:
pontos de controle/
├── Difusão estável/
├── modelos/
├── clip-vit-large-patch14/
├── controle_v11p_sd15_lineart/
└─ Anotadores/
├── sk_model.pth
├── Manga Ninjia/
├── denoising_unet.pth
reference_unet.pth
├── point_net.pth
└── controlnet.pth
Processo de uso
- Execute o script de raciocínio:
cd scripts
bash infer.sh
- Os resultados serão salvos no arquivo
saída/
Catálogo.
- Configuração de raciocínio:
--denoise_steps
Número de etapas de redução de ruído por inferência: recomenda-se usar de 20 a 50 etapas.--is_lineart
Esse parâmetro é incluído se a entrada já for um desenho de linha e não exigir extração adicional.--guidance_scale_ref
Aumentar o valor desse parâmetro torna o modelo mais inclinado a ser guiado pela imagem de referência.
Uso do MangaNinjia
Etapas básicas de uso:
- Prepare o desenho de linha:
- Certifique-se de que sua imagem de arte de linha seja uma imagem em escala de cinza de canal único com um valor de fundo de 0 e um valor de linha próximo a 1. Se a arte de linha for binarizada, envie um feedback à comunidade e consideraremos uma otimização adicional.
- Faça upload de uma imagem de referência:
- Faça upload de imagens de referência nas quais você gostaria que a arte de linha fosse colorida. Essas imagens serão usadas como referências de cores.
- Operação de controle de ponto (opcional)
- Especifique uma correspondência de cores clicando nos pontos correspondentes na imagem de referência e no desenho da linha de destino. Esses pontos ajudarão o sistema a aplicar as cores com mais precisão.
- Gerar uma imagem:
- Clique no botão "Generate" (Gerar) e o sistema iniciará o processo de coloração de acordo com suas configurações e informações de controle de ponto.
Instruções operacionais detalhadas:
- Processamento de imagens: antes de começar, clique em "Process Images" (Processar imagens) para redimensionar a imagem para 512x512 pixels a fim de garantir o melhor desempenho do modelo.
- Coloração de controle de pontos:
- Selecione o botão "Undo" (Desfazer) para desfazer a última operação de toque.
- Se você tiver mais de uma imagem de referência, poderá usar os controles de apontar e clicar para selecionar as cores de diferentes áreas da imagem para obter os melhores resultados.
- Ajuste de parâmetros:
- --denoise_steps: ajuste o número de etapas de redução de ruído, recomendado entre 20 e 50.
- --is_lineart: use esse parâmetro se a entrada já for lineart e não exigir extração adicional.
- --guidance_scale_ref: aumente esse valor para tornar o modelo mais inclinado a seguir a orientação da imagem de referência.
- Gerar resultados:
- Os resultados de coloração gerados serão salvos no diretório output/. Ao verificar os resultados, observe se os detalhes e as cores da imagem estão de acordo com o esperado e ajuste os parâmetros para gerá-la novamente, se necessário.