titre | émoticône | couleurDe | couleurÀ | SDK | épinglé | licence | en-tête | fichier_app | port_app | désactiver_embedding | description_courte |
---|---|---|---|---|---|---|---|---|---|---|---|
VisagePoke | ? | jaune | rouge | docker | vrai | avec | mini | app.py | 8080 | vrai | Importez un portrait, cliquez pour bouger la tête ! |
Une application de transformation de tête en temps réel.
Pour de meilleures performances, veuillez exécuter l'application depuis votre propre ordinateur (local ou dans le cloud).
Dépôt : GitHub - jbilcke-hf/FacePoke
Vous pouvez essayer la démo mais il s'agit d'un espace partagé, la latence peut être élevée s'il y a plusieurs utilisateurs ou si vous habitez loin du datacenter hébergeant le Hugging Face Space.
Démo en direct : FacePoke sur Hugging Face Spaces
Ce projet est basé sur LivePortrait : https://arxiv.org/abs/2407.03168
Il utilise les routines de transformation du visage de https://github.com/PowerHouseMan/ComfyUI-AdvancedLivePortrait
FacePoke a uniquement été testé dans un environnement Linux, en utilisant Python 3.10
et CUDA 12.4
(donc un GPU NVIDIA).
Les contributions sont les bienvenues pour aider à soutenir d’autres plateformes !
Assurez-vous que Git et Git LFS sont installés globalement (https://git-lfs.com) :
git lfs install
Clonez le dépôt :
git clone https://github.com/jbilcke-hf/FacePoke.git
cd FacePoke
Installez les dépendances Python :
L'utilisation d'un environnement virtuel (Python venv) est fortement recommandée.
FacePoke a été testé avec Python 3.10
.
pip3 install --upgrade -r requirements.txt
Installez les dépendances frontales :
cd client
bun install
Construisez le front-end :
bun build ./src/index.tsx --outdir ../public/
Démarrez le serveur backend :
python app.py
Ouvrez http://localhost:8080
dans votre navigateur Web.
Créez l'image Docker :
docker build -t facepoke .
Exécutez le conteneur :
docker run -p 8080:8080 facepoke
Pour déployer sur Hugging Face Spaces :
La structure du projet est organisée comme suit :
app.py
: serveur principal principal gérant les connexions WebSocket.engine.py
: logique de base.loader.py
: initialise et charge les modèles IA.client/
: application Frontend React.src/
: fichiers sources TypeScript.public/
: actifs statiques et fichiers construits.Je teste diverses choses pour augmenter le framerate.
Un projet consiste à transmettre uniquement la tête modifiée, au lieu de l'image entière.
Une autre consiste à s'adapter automatiquement à la vitesse du serveur et du réseau.
Les contributions à FacePoke sont les bienvenues ! Veuillez lire nos directives de contribution pour plus de détails sur la façon de soumettre des demandes d'extraction, de signaler des problèmes ou de demander des fonctionnalités.
FacePoke est publié sous la licence MIT. Voir le fichier LICENSE pour plus de détails.
Veuillez noter que même si le code de LivePortrait et Insightface est open source sans « aucune limitation pour un usage académique et commercial », les poids de modèle formés à partir des données Insightface sont disponibles uniquement à des fins de recherche non commerciales.
Développé avec ❤️ par Julian Bilcke chez Hugging Face