huggingface / huggingface/diffusers

[Pipeline] AnimateDiff + SparseControl + ControlNet

Offen
#9,329 17 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
community-examples consider-for-modular-diffusers contributions-welcome good first issue
Vorherrschende Sprache
Python
Sterne
34.5k
Forks
7.3k
Ø Merge
3 T. 3 Std.
Gemergte PRs (30 T.)
91

Beschreibung

As the title suggests, we would like a pipeline that supports all three techniques. Currently, we have standalone pipelines for [SparseCtrl](https://github.com/huggingface/diffusers/blob/e417d028115e72b953a73e39d9687aa70ba3e37e/src/diffusers/pipelines/animatediff/pipeline_animatediff_sparsectrl.py) and [ControlNet](https://github.com/huggingface/diffusers/blob/e417d028115e72b953a73e39d9687aa70ba3e37e/src/diffusers/pipelines/animatediff/pipeline_animatediff_controlnet.py). A combination of the two might be interesting to see!

Right now video prediction is hard to control as the new frames are highly dependent on the prompt, if we could use images we would have better/finer control. This pipeline would enable apps like Blender to generate new images based on past reference frames and a depth buffer.

Looking at the code it looks like this is doable but before I try, I would like to get the input and suggestions of more expert people on this possible approach (@a-r-r-o-w or @DN6 :) ):

1. make [pipeline_animatediff_sparsectrl.py](https://github.com/huggingface/diffusers/blob/e417d028115e72b953a73e39d9687aa70ba3e37e/src/diffusers/pipelines/animatediff/pipeline_animatediff_sparsectrl.py) and [pipeline_animatediff_controlnet.py](https://github.com/huggingface/diffusers/blob/e417d028115e72b953a73e39d9687aa70ba3e37e/src/diffusers/pipelines/animatediff/pipeline_animatediff_controlnet.py) as similar as possible so diffing shows as much as common code as possible
2. refactor the blocks of code that are different into functions
3. have these functions work together in a new single pipeline

Does this make sense?

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start by comparing src/diffusers/pipelines/animatediff/pipeline_animatediff_sparsectrl.py with pipeline_animatediff_controlnet.py, focusing on their shared and differing pipeline logic. Review the open discussion for expert guidance before deciding how to combine them; done means a single pipeline supports AnimateDiff, SparseControl, and ControlNet together.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python, pytorch
Bereich
machine-learning
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.