título | emoticons | corDe | corPara | SDK | fixado | licença | cabeçalho | arquivo_aplicativo | app_port | desativar_incorporação | descrição curta |
---|---|---|---|---|---|---|---|---|---|---|---|
FacePoke | ? | amarelo | vermelho | janela de encaixe | verdadeiro | com | mini | aplicativo.py | 8080 | verdadeiro | Importe um retrato, clique para mover a cabeça! |
Um aplicativo de transformação de cabeça em tempo real.
Para melhor desempenho, execute o aplicativo em sua própria máquina (local ou na nuvem).
Repositório : GitHub - jbilcke-hf/FacePoke
Você pode experimentar a demonstração, mas é um espaço compartilhado. A latência pode ser alta se houver vários usuários ou se você mora longe do datacenter que hospeda o Hugging Face Space.
Demonstração ao vivo : FacePoke em Hugging Face Spaces
Este projeto é baseado no LivePortrait: https://arxiv.org/abs/2407.03168
Ele usa as rotinas de transformação facial de https://github.com/PowerHouseMan/ComfyUI-AdvancedLivePortrait
FacePoke só foi testado em ambiente Linux, usando Python 3.10
e CUDA 12.4
(portanto, uma GPU NVIDIA).
Contribuições são bem-vindas para ajudar a apoiar outras plataformas!
Certifique-se de ter o Git e o Git LFS instalados globalmente (https://git-lfs.com):
git lfs install
Clone o repositório:
git clone https://github.com/jbilcke-hf/FacePoke.git
cd FacePoke
Instale dependências do Python:
É altamente recomendável usar um ambiente virtual (Python venv).
FacePoke foi testado com Python 3.10
.
pip3 install --upgrade -r requirements.txt
Instale dependências de front-end:
cd client
bun install
Construa o front-end:
bun build ./src/index.tsx --outdir ../public/
Inicie o servidor back-end:
python app.py
Abra http://localhost:8080
no seu navegador.
Construa a imagem do Docker:
docker build -t facepoke .
Execute o contêiner:
docker run -p 8080:8080 facepoke
Para implantar no Hugging Face Spaces:
A estrutura do projeto está organizada da seguinte forma:
app.py
: servidor back-end principal que gerencia conexões WebSocket.engine.py
: Lógica central.loader.py
: inicializa e carrega modelos de IA.client/
: aplicativo Frontend React.src/
: arquivos de origem TypeScript.public/
: ativos estáticos e arquivos construídos.Estou testando várias coisas para aumentar a taxa de quadros.
Um projeto é transmitir apenas a cabeça modificada, em vez da imagem inteira.
Outra é adaptar-se automaticamente à velocidade do servidor e da rede.
Contribuições para o FacePoke são bem-vindas! Leia nossas Diretrizes de Contribuição para obter detalhes sobre como enviar solicitações pull, relatar problemas ou solicitar recursos.
FacePoke é lançado sob a licença MIT. Consulte o arquivo LICENSE para obter detalhes.
Observe que, embora o código do LivePortrait e do Insightface seja de código aberto e "sem limitação para uso acadêmico e comercial", os pesos do modelo treinados a partir dos dados do Insightface estão disponíveis apenas para fins de pesquisa não comercial.
Desenvolvido com ❤️ por Julian Bilcke em Hugging Face