Introdução geral
O PhotoDoodle é uma ferramenta de edição de imagens de código aberto, desenvolvida pela ShowLab, que se concentra na edição artística de fotos por meio da tecnologia de inteligência artificial. Os usuários podem adicionar estilo de desenho animado, efeito 3D, halo, asas e outros elementos decorativos a fotos reais simplesmente inserindo instruções de texto simples, gerando uma combinação de obras de arte reais e virtuais. Ele se baseia em um modelo avançado de aprendizagem profunda, suporta menos aprendizagem de amostras e pode se adaptar rapidamente ao estilo personalizado do usuário, tornando-o adequado para artistas, designers ou usuários comuns criarem trabalhos criativos. O projeto está hospedado no GitHub, que fornece código, conjuntos de dados e modelos pré-treinados para os desenvolvedores reproduzirem ou desenvolverem duas vezes. Sua função exclusiva de "grafite de foto" preenche a lacuna do software de edição tradicional, preservando a integridade do plano de fundo da foto e integrando perfeitamente elementos artísticos, o que atraiu a atenção de todos.
Lista de funções
- Edição de arte orientada por textoGeração automática de elementos de grafite por descrição de texto (por exemplo, "adicionar monstro de desenho animado" ou "adicionar efeito de halo").
- Amostra menos suporte de aprendizadoAprendizado e geração de um estilo de edição personalizado com apenas uma pequena quantidade de dados de emparelhamento fornecidos pelo usuário.
- Fusão de alta qualidade entre realidade e ficçãoObservação: Certifique-se de que os elementos recém-adicionados se misturem naturalmente com o plano de fundo da foto em termos de perspectiva, luz e sombra.
- Conjuntos de dados e modelos abertosFornece modelos pré-treinados e conjuntos de dados de diversos estilos para apoiar o download e o uso direto pelo usuário.
- Suporte a código abertoPermite que os desenvolvedores modifiquem o código ou o integrem a outros projetos com alta flexibilidade.
- Capacidade de processamento em loteSuporte à edição de várias imagens de uma só vez para maior eficiência.
Usando a Ajuda
O PhotoDoodle é um projeto de código aberto baseado no GitHub, e os usuários precisam de uma certa base técnica para instalá-lo e usá-lo. A seguir, um guia detalhado de instalação e uso para ajudá-lo a começar rapidamente.
Processo de instalação
- Preparação ambiental
- Certifique-se de ter o Git, o Python 3.11.10 e o Conda instalados em seu computador.
- Abra um terminal e digite o seguinte comando para clonar o projeto localmente:
git clone git@github.com:showlab/PhotoDoodle.git cd PhotoDoodle
- Criar e ativar um ambiente virtual:
conda create -n doodle python=3.11.10 conda activate doodle
- Instalação de dependências
- Instale o PyTorch (recomenda-se a versão acelerada por CUDA, se você tiver uma GPU):
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu124
- Instalar outras dependências:
pip install --upgrade -r requirements.txt
- Aguarde a conclusão da instalação e verifique se a rede está livre.
- Instale o PyTorch (recomenda-se a versão acelerada por CUDA, se você tiver uma GPU):
- Download do modelo pré-treinado
- O projeto fornece vários modelos pré-treinados que precisam ser baixados manualmente. Visite as páginas GitHub Releases ou Hugging Face dataset do PhotoDoodle para baixar os arquivos do modelo (por exemplo
OmniEditor
responder cantandoEditarLoRA
). - Coloque os arquivos de modelo baixados na pasta especificada no diretório do projeto (consulte o LEIAME para obter a descrição do caminho, que geralmente é
pontos de controle/
).
- O projeto fornece vários modelos pré-treinados que precisam ser baixados manualmente. Visite as páginas GitHub Releases ou Hugging Face dataset do PhotoDoodle para baixar os arquivos do modelo (por exemplo
- Verificar a instalação
- Execute um comando de teste (como o script de amostra fornecido no LEIAME) no terminal e verifique se há erros. Se não houver erros, a instalação foi bem-sucedida.
Uso
A principal funcionalidade do PhotoDoodle é a edição de fotos por meio de comandos de texto, operando em dois cenários: uso direto de modelos pré-treinados e treinamento personalizado.
Edição de fotos usando modelos pré-treinados
- Preparar a imagem
- Coloque a foto a ser editada (por exemplo
source.jpg
) no diretório do projeto no diretórioentrada/
(se essa pasta não existir, crie-a você mesmo).
- Coloque a foto a ser editada (por exemplo
- Execute o comando edit
- Digite o seguinte comando no terminal (supondo que ele esteja ativado)
rabisco
(Meio ambiente):python inference.py --source input/source.jpg --prompt "Add cartoon-style wings to a photo" --output output/result.jpg
- Descrição do parâmetro:
---fonte
Fonte: Caminho da foto.--prompt
Diretiva de texto: Uma diretiva de texto que descreve o elemento que você deseja adicionar.--output
Output: Emite o caminho do resultado.
- Após a execução, os resultados gerados são salvos no arquivo
output/result.jpg
.
- Digite o seguinte comando no terminal (supondo que ele esteja ativado)
- Exibir resultados
- show (um ingresso)
saída/
para verificar as imagens geradas. Os comandos de ajuste (por exemplo, "Adicionar efeito de luz e sombra") podem gerar estilos diferentes.
- show (um ingresso)
Estilo de personalização de treinamento personalizado
- Preparação de conjuntos de dados emparelhados
- Criar um
.jsonl
Arquivos (por exemplo.dataset.jsonl
), registrando um par de imagens e descrições por linha:{"source": "path/to/source.jpg", "target": "path/to/modified.jpg", "caption": "Adding blue halo"} {"source": "path/to/source2.jpg", "target": "path/to/modified2.jpg", "caption": "Add cartoon monster"}
- Prepare pelo menos 5 a 10 pares de imagens que reflitam suas necessidades de estilo.
- Criar um
- Executar o script de treinamento
- comandante-em-chefe (militar)
.jsonl
no diretório do projeto e executá-lo:python train.py --data dataset.jsonl --model OmniEditor --output_dir trained_model/
- O tempo de treinamento depende da quantidade de dados e do desempenho do hardware (recomenda-se GPU) e, após a conclusão, o modelo é salvo no
trained_model/
.
- comandante-em-chefe (militar)
- Edição com modelos personalizados
- Inferência usando modelos treinados:
python inference.py --source input/source.jpg --prompt "Add my style elements" --model trained_model/checkpoint.pth --output output/custom_result.jpg
- Verifique a saída para confirmar se ela atende às expectativas.
- Inferência usando modelos treinados:
Detalhes do processo de operação
- edição em loteColocar várias imagens no arquivo
entrada/
o script de modificação é compatível com o processamento de loop (por exemplo, adicionar o---lote
consulte os comentários do código para obter detalhes de implementação). - Efeito de ajusteSe a combinação não for natural, adicione detalhes à dica (por exemplo, "consistente com a iluminação de fundo") ou ajuste os parâmetros do modelo (consulte
config/
(Documentação). - Problemas de depuraçãoSe algo der errado, verifique a versão do Python, as dependências ou consulte os problemas do GitHub para obter ajuda da comunidade.
advertência
- Requisitos de hardware: GPUs (por exemplo, suporte a NVIDIA CUDA) são recomendadas para velocidade; CPUs podem ser executadas, mas são mais lentas.
- Qualidade dos dados: quanto maior for a resolução da imagem de entrada, melhor será o resultado; o conjunto de dados personalizado precisa ser consistente.
- Experiência on-line: alguns recursos podem ser testados on-line por meio do Hugging Face Spaces sem instalação local.
Com essas etapas, você pode adicionar facilmente um apelo artístico às suas fotos com o PhotoDoodle, seja em um teste rápido ou em uma personalização profunda.