Introdução geral
O SHMT (Self-supervised Hierarchical Makeup Transfer) é um projeto de transferência de maquiagem hierárquica autossupervisionada baseado em um modelo de difusão latente, com o objetivo de obter uma transferência de alta qualidade dos efeitos da maquiagem por meio de métodos de aprendizagem não supervisionados. O projeto adota o paradigma de "desacoplamento e reconstrução", que elimina os efeitos enganosos de dados imprecisos de pseudo-pareamento. Para se adaptar a uma variedade de estilos de maquiagem, os detalhes hierárquicos da textura são decompostos pela pirâmide de Laplace e introduzidos seletivamente na representação do conteúdo. Os resultados da pesquisa do projeto SHMT foram publicados na NeurIPS 2024, demonstrando excelentes resultados no tratamento de estilos de maquiagem simples e complexos.
Lista de funções
- Aprendizagem autossupervisionada: migração de maquiagem sem dados emparelhados.
- Detalhes de textura em camadas: decomposição e reconstrução de detalhes de textura usando pirâmides de Laplace.
- Migração eficiente: mantém a eficiência e a alta qualidade ao trabalhar com vários estilos de maquiagem.
- Diversas aplicações: adequado para processamento de imagens, migração de estilos, visão computacional e muitos outros campos.
Usando a Ajuda
Processo de instalação
- Clone o repositório do projeto SHMT:
git clone https://github.com/Snowfallingplum/SHMT.git cd SHMT
2) Crie e ative o ambiente virtual:
```bash
python -m venv venv
source venv/bin/activate # no Windows use `venv\Scripts\activate`
- Instale as dependências do projeto:
pip install -r requirements.txt
- (Opcional) Instale o CUDA para dar suporte à aceleração de GPU.
Tutoriais
1. executar o programa principal
O programa principal está localizado no diretóriomain.py
execute o seguinte comando para iniciá-lo:
python main.py --input your_image_path --style your_desired_style
No comando acima, o-entrada
especifica o caminho da imagem de entrada.--estilo
especifica o estilo de maquiagem de destino.
2. ajustes detalhados
existirconfig.yaml
No arquivo Laplace, os parâmetros do modelo e as configurações de detalhes podem ser ajustados. Por exemplo, o número de camadas da pirâmide de Laplace e a intensidade dos detalhes da reconstrução podem ser ajustados.
3. saída de resultados
Depois de executar o programa principal, os resultados serão salvos na pasta de saída especificada. Você pode abrir e visualizar os resultados da migração de maquiagem com uma ferramenta de visualização de imagens.
exemplo típico
Abaixo está um código de amostra simples:
from shmt import SHMT
# Inicializar o modelo
model = SHMT()
# Carregar a imagem de entrada e o estilo de destino
input_image = 'path/to/input/image.jpg'
style = 'glamorous'
# Realizar uma migração de maquiagem
output_image = model.transfer(input_image, style)
# Salvar os resultados
output_image.save('path/to/output/image.jpg')
problemas comuns
- Como lidar com a má qualidade das imagens de entrada?
Certifique-se de que a imagem de entrada seja nítida e de alta resolução. Imagens de baixa qualidade podem afetar os resultados da migração de maquiagem. - Como faço para ajustar a intensidade do meu estilo de maquiagem?
No arquivo de configuraçãoconfig.yaml
Ajuste os parâmetros relevantes, por exemplo, emstyle_strength
.