Krea 2 Anygles : LoRA de contrôle de point de vue caméra pour ComfyUI
Krea 2 Anygles transforme une photo de personne en une nouvelle vue caméra via un LoRA de normales humaines 3D, avec des nœuds ComfyUI et un flux de travail.
Pointez une caméra vers une personne, puis déplacez-la : l'orbite horizontale, l'élévation et la distance sont tous contrôlés depuis un seul adaptateur. Anygles reconstruit un maillage humain 3D et une normal map alignée à partir de l'image source, fait pivoter ce maillage vers la pose demandée, puis injecte la normale rendue dans Krea 2 comme contrôle spatial. L'image originale reste la référence d'identité et de style, le modèle génère donc une nouvelle vue au lieu de modifier l'ancienne.
![]() | ![]() |
|---|---|
| Image source, un seul sujet humain | Le même sujet depuis une position de caméra tournée |
Une orbite horizontale. Chaque image est générée indépendamment depuis la source originale, les vues ne s'enchaînent donc pas les unes aux autres.
Ce qu'il contrôle
- Orbite horizontale complète : lacet continu sur un tour complet de 360 degrés.
- Élévation : déplacez le point de vue au-dessus ou en dessous du sujet tout en conservant des proportions corporelles naturelles.
- Distance : passez d'un cadrage rapproché à des vues plus larges.
- Mouvement combiné : faites varier le lacet, l'élévation et la distance ensemble le long d'un trajet lisse.
- Génération indépendante : chaque vue part de l'image source originale, ce qui évite la dérive qui s'accumule lorsque les images générées sont réinjectées dans le modèle.
- Cadrage respectueux de la source : la sortie conserve le ratio d'aspect de la source avec des dimensions alignées sur 16 pixels.
Les plages de contrôle exposées vont de -60 à +60 degrés pour l'élévation et de 0,6x à 1,8x pour la distance, décrites par l'auteur comme des garde-fous d'interface plutôt que des limites strictes. Les balayages de cette version couvrent une élévation de -45 à +45 degrés et une distance de 1,35x à 0,78x.
Azimut, élévation et distance évoluant ensemble le long d'un unique trajet de caméra fermé.
La version en cours cible un sujet humain clairement identifiable. Elle n'est pas conçue pour les animaux, les objets généraux, les foules, ni pour la reconstruction exacte d'une scène 3D complète.
Comparaison avec une base de référence Qwen multi-angles
Le référentiel source inclut une comparaison directe et pratique face à un LoRA multi-angles Qwen-Image-Edit 2511 exécuté avec un schedule Lightning en 4 étapes. Les deux approches reçoivent l'image source originale de manière indépendante pour chaque image générée, et toutes les sorties correspondent au premier résultat obtenu avec un prompt et une graine figés.
Comparaison d'une orbite horizontale de 360 degrés entre la base de référence Qwen multi-angles et Anygles.
L'auteur précise qu'il s'agit d'une comparaison de fonctionnalités plutôt que d'une ablation à conditionnement identique, car la base de référence Qwen ne reçoit pas la normale cible utilisée par Anygles.
Comment ça fonctionne
- Un maillage humain est récupéré une seule fois depuis l'image source avec SAM 3D Body.
- Le maillage est pivoté autour du bassin et rendu sous forme de normale cible alignée dans une toile correspondant au ratio d'aspect de la source.
- L'image originale reste la référence sémantique et d'identité pour Krea 2.
- La normale cible est encodée par le VAE et injectée via la projection du Control-LoRA spatial au niveau de l'entrée d'image bruitée.
- Une courte phrase relative de caméra porte la sémantique de vue souhaitée. Les angles internes sont normalisés selon la convention d'entraînement : par exemple, une demande de 50 degrés vers la droite est envoyée comme 310 degrés vers la gauche, tandis que l'interface conserve des contrôles signés.
L'exécuter dans ComfyUI
Installez les nœuds :
cd ComfyUI/custom_nodes
git clone https://github.com/alexw5702-afk/krea2-anygles
cd krea2-anygles
pip install -r requirements.txtAcceptez la licence SAM 3D Body et téléchargez le checkpoint du maillage humain, puis placez le LoRA dans le dossier habituel :
hf download facebook/sam-3d-body-dinov3 --local-dir ComfyUI/models/sam3d_body| Fichier | Destination |
|---|---|
krea2_anygles_rank32.safetensors | ComfyUI/models/loras |
krea2_turbo_int8_convrot.safetensors | ComfyUI/models/diffusion_models |
qwen3vl_4b_fp8_scaled.safetensors | ComfyUI/models/text_encoders |
qwen_image_vae.safetensors | ComfyUI/models/vae |
sam-3d-body-dinov3 | ComfyUI/models/sam3d_body |
Le pack de nœuds ajoute quatre nœuds :
- Krea2 Anygles Camera redimensionne la source vers une toile alignée, récupère le maillage humain, le fait pivoter selon le lacet, l'élévation et la distance, rend la normale cible et assemble le prompt de caméra.
- Krea2 Anygles Encode envoie la source à Qwen3-VL et au chemin de référence propre de Krea 2, et encode la normale cible de la toile complète.
- Krea2 Anygles Load LoRA applique l'adaptateur et conserve sa projection spatiale au lieu d'écarter ce tenseur non standard.
- Krea2 Anygles Model Patch injecte les tokens de normale alignés au niveau de l'entrée d'image bruitée et met en cache le K/V de référence visuelle propre.
Paramètres recommandés issus de la fiche du modèle : 8 étapes, Euler, scheduler simple, CFG 1.0, force de l'adaptateur 1.0, référence VLM et cache K/V de référence activés. SAM 3D Body et Krea 2 s'exécutent séquentiellement, les deux modèles complets n'ont donc jamais besoin d'occuper le GPU en même temps.
Disponibilité
- Poids du LoRA : yijunwang2/krea2-anygles sur Hugging Face, un seul fichier rank 32.
- Nœuds et flux de travail ComfyUI : alexw5702-afk/krea2-anygles sur GitHub.
- Space de démonstration : yijunwang2/krea2-anygles pour essayer l'adaptateur sans installation locale.
- Chemin Python portable : le référentiel inclut
prepare_normal.pyetexample.pypour une exécution hors ComfyUI avec le pipeline Diffusers.
Il s'agit d'une version communautaire non officielle. Les faces cachées et le contenu d'arrière-plan sont générés plutôt que récupérés à partir d'une géométrie mesurée : les accessoires, le texte, les doigts et les détails occultés peuvent donc changer, et les mouvements de caméra importants peuvent altérer l'éclairage ou les proportions corporelles. Une mauvaise reconstruction du corps, une occlusion sévère, des sujets minuscules ou plusieurs personnes peuvent produire un contrôle de normale incorrect.


Commentaires
Connectez-vous avec GitHub pour rejoindre la discussion.