notizia

Spider-Man balla in modo incantevole e la prossima generazione di ControlNet è qui! Lanciato dal team Jiajiaya, plug and play

2024-08-17

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  • Crecy proviene dal Tempio Aofei
    Qubit |. Account ufficiale QbitAI

Con meno del 10% dei parametri di addestramento è possibile ottenere una generazione controllabile come ControlNet!

Inoltre, i modelli comuni della famiglia Stable Diffusion come SDXL e SD1.5 possono essere adattati e sono ancora plug-and-play.



Allo stesso tempo, può essere utilizzato con SVD per controllare la generazione di video e i dettagli dei movimenti possono essere controllati con precisione fino alle dita.



Dietro queste immagini e video c'è lo strumento di guida open source per la generazione di immagini/video lanciato dal team cinese Jiajiaya di Hong Kong——ControlloNeXt

Dal nome si evince che il team di ricerca e sviluppo lo ha posizionato come ControlNet di prossima generazione.

Ad esempio, anche il classico lavoro ResNeXt (un'estensione di ResNet) dei grandi dei He Kaiming e Xie Saining ha utilizzato questo metodo per dargli un nome.

Alcuni netizen credono che questo nome sia ben meritato, e si tratta infatti del prodotto di prossima generazione, che eleva ControlNet a un livello superiore.



Altri hanno affermato senza mezzi termini che ControlNeXt è un punto di svolta, che migliora notevolmente l'efficienza della generazione controllabile. Non vedono l'ora di vedere i lavori creati dalle persone che lo utilizzano.



Spiderman balla la danza della bellezza

ControlNeXt supporta più modelli della serie SD ed è plug-and-play.

Questi includono i modelli di generazione di immagini SD1.5, SDXL, SD3 (che supportano la Super Risoluzione) e il modello di generazione di video SVD.

Senza ulteriori indugi, diamo solo un’occhiata ai risultati.

Si può vedere che aggiungendo la guida del bordo (Canny) in SDXL, la ragazza bidimensionale disegnata e le linee di controllo si adattano quasi perfettamente.



Anche se i contorni di controllo sono numerosi e frammentati, il modello può comunque disegnare immagini che soddisfano i requisiti.



E può essere perfettamente integrato con altri pesi LoRA senza ulteriore formazione.

Ad esempio, in SD1.5, puoi utilizzare le condizioni di controllo della postura (Pose) con vari LoRA per formare personaggi con stili diversi o anche attraverso le dimensioni, ma con gli stessi movimenti.



Inoltre, ControlNeXt supporta anche le modalità di controllo maschera e profondità.



SD3 supporta anche la Super Risoluzione, che può generare immagini ad altissima definizione.



Durante la generazione del video, ControlNeXt può controllare i movimenti dei personaggi.

Ad esempio, Spider-Man può anche ballare la danza della bellezza su TikTok e anche i movimenti delle dita vengono imitati in modo abbastanza accurato.



Fa persino crescere le mani su una sedia ed eseguire la stessa danza. Anche se è un po' astratto, la riproduzione dell'azione è piuttosto buona.



E rispetto al ControlNet originale, ControlNeXt richiede meno parametri di addestramento e converge più velocemente.

Ad esempio, in SD1.5 e SDXL, ControlNet richiede rispettivamente 361 milioni e 1,251 miliardi di parametri apprendibili, ma ControlNeXt ne richiede rispettivamente solo 30 milioni e 108 milioni.Meno del 10% di ControlNet



Durante il processo di addestramento, ControlNeXt è vicino alla convergenza in circa 400 passaggi, ma ControlNet richiede dieci o addirittura decine di volte il numero di passaggi.



Anche la velocità di generazione è più veloce di ControlNet. In media, ControlNet apporta un ritardo del 41,9% al modello base, ma ControlNeXt apporta solo il 10,4%.



Quindi, come viene implementato ControlNeXt e quali miglioramenti sono stati apportati a ControlNet?

Modulo di controllo delle condizioni più leggero

Innanzitutto, utilizza un'immagine per comprendere l'intero flusso di lavoro di ControlNeXt.



La chiave per alleggerire è ControlNeXtRimuove l'enorme ramo di controllo in ControlNet e introduce invece un modulo di convoluzione leggero composto da un numero limitato di blocchi ResNet

Questo modulo è responsabile dell'estrazione delle rappresentazioni delle caratteristiche delle condizioni di controllo (come maschere di segmentazione semantica, punti chiave a priori, ecc.).

La quantità di parametri di addestramento è in genere inferiore al 10% rispetto al modello preaddestrato in ControlNet, ma può comunque apprendere bene le informazioni di controllo condizionale di input. Questo design riduce notevolmente il sovraccarico di elaborazione e l'utilizzo della memoria.

Nello specifico, campiona a intervalli uguali da diversi livelli di rete di un modello pre-addestrato per formare un sottoinsieme di parametri utilizzati per l'addestramento, mentre i restanti parametri vengono congelati.



Inoltre, durante la progettazione dell'architettura di ControlNeXt, il team di ricerca ha anche mantenuto la coerenza della struttura del modello con l'architettura originale, ottenendo così il plug-and-play.

Che si tratti di ControlNet o ControlNeXt, l'inserimento di informazioni di controllo condizionale è un collegamento importante.

Durante questo processo, il team di ricerca ControlNeXt ha condotto una ricerca approfondita su due questioni chiave: selezione del luogo di iniezione e progettazione del metodo di iniezione.

Il gruppo di ricerca ha osservato che nella maggior parte delle attività di generazione controllabili, la forma delle informazioni condizionali che guidano la generazione è relativamente semplice e altamente correlata alle caratteristiche del processo di denoising.

Quindi la squadra pensa,Non è necessario inserire informazioni di controllo in ogni livello della rete di denoising, quindi ho sceltoAggregare le funzionalità condizionali e le funzionalità di denoising solo nello strato intermedio della rete

Il metodo di aggregazione è il più semplice possibile: in usonormalizzazione incrociataDopo aver allineato le distribuzioni dei due set di funzionalità, aggiungili direttamente.

Ciò non solo garantisce che il segnale di controllo influenzi il processo di denoising, ma evita anche l'introduzione di ulteriori parametri di apprendimento e instabilità da parte di operazioni complesse come il meccanismo di attenzione.

La normalizzazione incrociata è un'altra tecnologia fondamentale di ControlNeXt, che sostituisce le strategie di inizializzazione progressiva comunemente utilizzate in precedenza, come la convoluzione zero.

I metodi tradizionali alleviano il problema del collasso rilasciando gradualmente da zero l’influenza dei nuovi moduli, ma ciò spesso si traduce in una convergenza lenta.

La normalizzazione incrociata utilizza direttamente la media μ e la varianza σ delle funzionalità di denoising della rete dorsale per normalizzare le funzionalità emesse dal modulo di controllo, in modo che la distribuzione dei dati dei due sia quanto più allineata possibile.



(Nota: ϵ è una piccola costante aggiunta per la stabilità numerica e γ è un parametro di scala.)

Le funzionalità di controllo normalizzato regolano quindi l'ampiezza e la linea di base attraverso i parametri di scala e offset, quindi li aggiungono alle funzionalità di denoising, il che non solo evita la sensibilità dell'inizializzazione dei parametri, ma consente anche alle condizioni di controllo di avere effetto nelle prime fasi di formazione e accelera il processo di convergenza.

Inoltre, ControlNeXt utilizza anche il modulo di controllo per apprendere la mappatura delle informazioni sulle condizioni rispetto alle caratteristiche dello spazio latente, rendendolo più astratto e semantico e più favorevole alla generalizzazione a condizioni di controllo invisibili.

Home page del progetto:
https://pbihao.github.io/projects/controlnext/index.html
Indirizzo cartaceo:
https://arxiv.org/abs/2408.06070
Da GitHub:
https://github.com/dvlab-research/ControlNeXt