Updated: 5/28/2024
Hei der! I denne guiden skal vi dykke inn i den spennende verdenen av ControlNet i ComfyUI. La oss utforske sammen hva det bringer til bordet og hvordan det kan krydre prosjektene dine!
Vi vil dekke:
Hvis du er interessert i å utforske ControlNet workflow, bruk følgende ComfyUI web. Den kommer fullt utstyrt med alle nødvendige kundeknuter og modeller, som muliggjør sømløs kreativitet uten behov for manuelle oppsett. Start med å få praktisk erfaring ved å eksperimentere med ControlNets funksjoner umiddelbart, eller fortsett med denne veiledningen for å lære hvordan du bruker ControlNet effektivt.
ControlNet er en transformativ teknologi som betydelig forbedrer evnene til tekst-til-bilde diffusjonsmodeller, som muliggjør enestående romlig kontroll i bilde generasjon. Som en nevralt nettverksarkitektur integrerer ControlNet sømløst med storskala, forhåndstrente modeller som Stable Diffusion. Den utnytter den omfattende treningen av disse modellene—bygget på milliarder av bilder for å introdusere romlige betingelser i bilde skapelsesprosessen. Disse betingelsene kan variere fra kanter og menneskelige positurer til dybde- og segmenteringskart, som gjør det mulig for brukere å veilede bilde generasjonen på måter som ikke tidligere var mulig med tekstprompt alene.
Genialiteten til ControlNet ligger i dens særegne metodikk. Først sikrer den modellens opprinnelige parametere, og sørger for at den grunnleggende treningen forblir uendret. Deretter introduserer ControlNet en klone av modellens koding lag for trening, som utnytter "zero convolutions." Disse spesialdesignede konvolusjonslagene starter med null vekter, og integrerer forsiktig nye romlige betingelser. Denne tilnærmingen forhindrer at noe forstyrrende støy griper inn, og bevarer modellens opprinnelige dyktighet mens den initierer nye læringsbaner.
Tradisjonelt bruker stabile diffusjonsmodeller tekstprompt som betingelsesmekanisme for å veilede genereringen av bilder, og tilpasse utdataene til spesifikasjonene i tekstprompten. ControlNet introduserer en tillegg form for betingelse til denne prosessen, som forbedrer evnen til å styre den genererte bildene mer presist etter både tekst- og visuelle inndata.
Dette trinnet integrerer ControlNet i din ComfyUI workflow, som muliggjør anvendelsen av ytterligere betingelser til din bilde genereringsprosess. Det legger grunnlaget for å anvende visuell veiledning sammen med tekstprompt.
Positive og Negative Betingelser: Disse inndataene er avgjørende for å definere ønskede utfall og aspektene som skal unngås i det genererte bildet. De bør kobles til "Positive prompt" og "Negative prompt" henholdsvis, i samsvar med den tekstuelle betingelsesdelen av prosessen.
ControlNet Modell: Denne inndataen bør kobles til utdataen fra "Load ControlNet Model" noden. Dette trinnet er essensielt for å velge og inkorporere enten en ControlNet eller en T2IAdaptor modell i din workflow, og dermed sikre at diffusjonsmodellen drar nytte av den spesifikke veiledningen gitt av din valgte modell. Hver modell, enten en ControlNet eller en T2IAdaptor, er grundig trent for å påvirke bilde genereringsprosessen i henhold til visse datatyper eller stilistiske preferanser. Gitt at funksjonaliteten til mange T2IAdaptor modeller tett samsvarer med de til ControlNet modeller, vil vårt fokus hovedsakelig være på ControlNet modeller i vår påfølgende diskusjon. Imidlertid vil vi også fremheve noen av de mer populære T2IAdaptors for fullstendighetens skyld.
Preprosessor: "image" inndataen må kobles til en "ControlNet Preprocessor" node, som er avgjørende for å tilpasse bildet ditt til å møte de spesifikke kravene til ControlNet modellen du bruker. Det er imperativt å bruke den riktige preprosessoren tilpasset til din valgte ControlNet modell. Dette trinnet sikrer at det opprinnelige bildet gjennomgår nødvendige modifikasjoner — som justeringer i format, størrelse, farge, eller anvendelse av spesifikke filtre — for å optimalisere det for ControlNets retningslinjer. Etter denne forhåndsbehandlingsfasen erstattes det opprinnelige bildet med den modifiserte versjonen, som ControlNet deretter benytter. Denne prosessen garanterer at dine inndata bilder er nøyaktig forberedt for ControlNet prosessen.
"Apply ControlNet" noden genererer to avgjørende utdata: Positive og Negative Betingelser. Disse utdataene, gjennomsyret med de nyanserte effektene av ControlNet og visuell veiledning, spiller en sentral rolle i å styre diffusjonsmodellens oppførsel i ComfyUI. Etter dette står du overfor et valg: fortsett til KSampler for samplingsfasen for å videre polere det genererte bildet, eller, for de som forfølger et enda høyere nivå av detaljer og tilpasning i sin skapelse, fortsett med å lag flere ControlNets. Denne avanserte teknikken for å integrere flere ControlNets tillater en mer granulær manipulering av bildets attributter, og tilbyr et forbedret verktøysett for skapere som søker å oppnå enestående presisjon og kontroll i sine visuelle utganger.
strength: Denne parameteren bestemmer intensiteten av ControlNets effekt på det genererte bildet i ComfyUI. En verdi på 1.0 innebærer full styrke, noe som betyr at ControlNets veiledning vil ha maksimal innflytelse på diffusjonsmodellens utdata. Tvert imot indikerer en verdi på 0.0 ingen innflytelse, og deaktiverer i hovedsak effekten av ControlNet på bilde genereringsprosessen.
start_percent: Denne parameteren spesifiserer startpunktet, som en prosentandel av diffusjonsprosessen, hvor ControlNet begynner å påvirke genereringen. For eksempel, å sette en startprosent på 20% betyr at ControlNets veiledning vil begynne å påvirke bilde genereringen fra 20% merket av diffusjonsprosessen og utover.
end_percent: Analogt til "Start Percent," definerer "End Percent" parameteren punktet hvor ControlNets innflytelse opphører. For eksempel vil en end prosent på 80% bety at ControlNets veiledning stopper å påvirke bilde genereringen ved 80% fullføringsmerket av diffusjonsprosessen, og lar de siste fasene være upåvirket.
Timestep Keyframes i ControlNet tilbyr sofistikert kontroll over oppførselen til AI-generert innhold, spesielt når timing og progresjon er avgjørende, som i animasjoner eller utviklende visuelle elementer. Her er en detaljert oversikt over nøkkelparametrene for å hjelpe deg med å bruke dem effektivt og intuitivt:
prev_timestep_kf: Tenk på prev_timestep_kf som å holde hender med keyframe som kommer før i en sekvens. Ved å koble sammen keyframes, skaper du en jevn overgang eller en storyboard som veileder AI gjennom genereringsprosessen, trinn for trinn, og sikrer at hver fase flyter logisk inn i den neste.
cn_weights: cn_weights er nyttige for å finjustere utdataene ved å justere spesifikke funksjoner innen ControlNet under forskjellige faser av genereringsprosessen.
latent_keyframe: latent_keyframe lar deg justere hvor sterkt hver del av AI-modellen påvirker det endelige resultatet under en bestemt fase av genereringsprosessen. For eksempel, hvis du genererer et bilde hvor forgrunnen skal bli mer detaljert etter hvert som prosessen utvikler seg, kan du øke styrken for aspektene (latents) av modellen som er ansvarlige for forgrunnsdetaljer i senere keyframes. Tvert imot, hvis visse funksjoner skal falme i bakgrunnen over tid, kan du redusere deres styrke i påfølgende keyframes. Dette kontrollnivået er spesielt nyttig i å skape dynamiske, utviklende visuelle elementer eller i prosjekter hvor presis timing og progresjon er avgjørende.
mask_optional: Bruk oppmerksomhetsmasker som spotlights, som fokuserer ControlNets innflytelse på spesifikke områder av bildet ditt. Enten det er å fremheve en karakter i en scene eller understreke et bakgrunnselement, kan disse maskene enten anvendes jevnt eller variere i intensitet, og dirigere AI's oppmerksomhet nøyaktig der du vil ha den.
start_percent: start_percent markerer cue for når din keyframe kommer i spill, målt som en prosentandel av den totale genereringsprosessen. Å sette dette er som å planlegge en skuespillers entré på scenen, og sikre at de dukker opp på akkurat riktig øyeblikk i forestillingen.
strength: strength gir en høynivåkontroll over den samlede innflytelsen til ControlNet.
null_latent_kf_strength: For alle aktører (latents) du ikke eksplisitt har rettet i denne scenen (keyframe), fungerer null_latent_kf_strength som en standard instruksjon, og forteller dem hvordan de skal opptre i bakgrunnen. Det sikrer at ingen del av genereringen blir uten veiledning, og opprettholder en sammenhengende utdata selv i områder du ikke har spesifikt adressert.
inherit_missing: Å aktivere inherit_missing lar din nåværende keyframe adoptere eventuelle uspesifiserte innstillinger fra sin forgjenger, som en yngre søsken som arver klær. Det er en nyttig snarvei som sikrer kontinuitet og sammenheng uten å måtte gjenta instruksjoner.
guarantee_usage: guarantee_usage er din garanti for at, uansett hva, vil den nåværende keyframe ha sitt øyeblikk å skinne i prosessen, selv om det bare er for en kort stund. Det sikrer at hver keyframe du har satt opp har en innvirkning, og hedrer din detaljerte planlegging i å veilede AI's kreative prosess.
Timestep Keyframes tilbyr presisjonen som trengs for å nøye veilede AI's kreative prosess, og gjør det mulig for deg å utforme fortellingen eller den visuelle reisen nøyaktig som du forestiller deg det. De fungerer som et kraftig verktøy for å orkestrere utviklingen av visuelle elementer, spesielt i animasjon, fra åpningsscenen helt til avslutningen. Her er en nærmere titt på hvordan Timestep Keyframes kan brukes strategisk for å håndtere progresjonen av en animasjon, og sikre en sømløs overgang fra den første rammen til den siste, og perfekt tilpasse seg dine kunstneriske mål.
Gitt at funksjonaliteten til mange T2IAdaptor modeller tett samsvarer med de til ControlNet modeller, vil vårt fokus hovedsakelig være på ControlNet modeller i vår påfølgende diskusjon. Imidlertid vil vi også fremheve noen av de mer populære T2IAdaptors for fullstendighetens skyld.
Preprosessor: Openpose eller DWpose
Tile Resample modellen brukes for detaljforbedring i bilder. Den er spesielt nyttig i kombinasjon med en oppskalerer for å forbedre bildekvaliteten mens den legger til finere detaljer, ofte brukt for å skjerpe og berike teksturer og elementer i et bilde.
Preprosessor: Tile
Canny modellen bruker Canny kantdeteksjonsalgoritmen, en flertrinnsprosess for å oppdage et bredt spekter av kanter i bilder. Denne modellen er gunstig for å bevare de strukturelle aspektene av et bilde mens den forenkler det visuelle sammensetningen, noe som gjør den nyttig for stilisert kunst eller forhåndsbehandling før videre bilde manipulering.
Preprosessorer: Canny
Depth modeller utleder dybdeinformasjon fra et 2D-bilde, og oversetter oppfattet avstand til et gråtonet dybdekart. Hver variant tilbyr en forskjellig balanse mellom detaljfanging og bakgrunnsvekt:
Preprosessorer: Depth_Midas, Depth_Leres, Depth_Zoe, Depth_Anything, MeshGraphormer_Hand_Refiner. Denne modellen er svært robust og kan arbeide på ekte dybdekart fra rendringsmotorer.
Lineart modeller konverterer bilder til stiliserte linjetegninger, nyttige for kunstneriske gjengivelser eller som en base for videre kreativt arbeid:
Preprosessoren kan generere detaljerte eller grove linjetegninger fra bilder (Lineart og Lineart_Coarse)
Scribble modeller er designet for å transformere bilder til en krusedull-lignende utseende, og simulerer utseendet til håndtegnede skisser. De er spesielt nyttige for kunstnerisk omforming eller som et forberedende trinn i en større design workflow:
Preprosessorer: Scribble, Scribble_HED, Scribble_PIDI, og Scribble_XDOG
Segmenteringsmodeller kategoriserer bilde piksler i distinkte objektklasser, hver representert av en spesifikk farge. Dette er uvurderlig for å identifisere og manipulere individuelle elementer i et bilde, som å skille forgrunn fra bakgrunn eller differensiere objekter for detaljert redigering.
Akseptable Preprosessorer: Sam, Seg_OFADE20K (Oneformer ADE20K), Seg_UFADE20K (Uniformer ADE20K), Seg_OFCOCO (Oneformer COCO), eller manuelt opprettede masker.
Shuffle modellen introduserer en ny tilnærming ved å randomisere input bildets attributter, som fargesammensetninger eller teksturer, uten å endre komposisjonen. Denne modellen er spesielt effektiv for kreative utforskninger og generering av variasjoner av et bilde med bevart strukturell integritet, men endrede visuelle estetikk. Dens randomiserte natur betyr at hver utdata er unik, påvirket av frøverdien brukt i genereringsprosessen.
Preprosessorer: Shuffle
Inpainting modeller innen ControlNet tillater raffinert redigering innenfor spesifikke områder av et bilde, og opprettholder generell sammenheng samtidig som det introduserer betydelige variasjoner eller korrigeringer.
For å bruke ControlNet Inpainting, start med å isolere området du ønsker å regenerere gjennom maskering. Dette kan gjøres ved å høyreklikke på ønsket bilde og velge "Open in MaskEditor" for modifikasjoner.
I motsetning til andre implementeringer innen ControlNet, omgår Inpainting behovet for en preprosessor på grunn av de direkte modifikasjonene som anvendes på bildet. Imidlertid er det viktig å sende det redigerte bildet til latentrommet via KSampler. Dette sikrer at diffusjonsmodellen fokuserer utelukkende på å regenerere det maskerte området, samtidig som integriteten til de umaskerte områdene opprettholdes.
M-LSD (Mobile Line Segment Detection) fokuserer på å oppdage rette linjer, ideell for bilder med sterke arkitektoniske elementer, interiør og geometriske former. Den forenkler scener til deres strukturelle essens, og letter kreative prosjekter som involverer menneskeskapte miljøer.
Preprosessorer: MLSD.
Normalmaps muliggjør simulering av komplekse lys- og tekstureffekter ved å modellere orienteringen av overflater i en visuell scene, i stedet for å stole på fargedata alene. Dette er kritisk for 3D-modellering og simulering oppgaver.
Preprosessorer: Normal BAE, Normal Midas
ControlNet Soft Edge er designet for å generere bilder med mykere kanter, med fokus på detaljkontroll og naturlig utseende. Den bruker avanserte nevrale nettverksteknikker for presis bilde manipulasjon, og tilbyr større kreativ frihet og sømløse blandingsmuligheter
Robusthet: SoftEdge_PIDI_safe > SoftEdge_HED_safe >> SoftEdge_PIDI > SoftEdge_HED
Maksimal resultatkvalitet: SoftEdge_HED > SoftEdge_PIDI > SoftEdge_HED_safe > SoftEdge_PIDI_safe
Med tanke på avveiningen, anbefaler vi å bruke SoftEdge_PIDI som standard. I de fleste tilfeller fungerer det veldig bra.
Preprosessorer: SoftEdge_PIDI, SoftEdge_PIDI_safe, SoftEdge_HED, SoftEdge_HED_safe.
ControlNet IP2P (Instruct Pix2Pix) modellen skiller seg ut som en unik tilpasning innen ControlNet-rammeverket, tilpasset for å utnytte Instruct Pix2Pix datasettet for bilde transformasjoner. Denne ControlNet varianten skiller seg ut ved å balansere mellom instruksjons prompts og beskrivelses prompts under treningsfasen. I motsetning til den konvensjonelle tilnærmingen i offisiell Instruct Pix2Pix, inkorporerer ControlNet IP2P en 50/50 blanding av disse prompt typene, og forbedrer dens allsidighet og effektivitet i å generere ønskede utfall.
t2iadapter color: t2iadapter_color modellen er spesifikt designet for å forbedre farge representasjonen og nøyaktigheten i genererte bilder når du bruker tekst-til-bilde diffusjonsmodeller. Ved å fokusere på farge tilpasning, tillater denne modellen en mer nøyaktig og levende fargepalett, tett tilpasset beskrivelsene gitt i tekstprompts. Den er spesielt nyttig for prosjekter hvor fargefidelitet og spesifisitet er avgjørende, og legger til et nytt lag av realisme og detalj til de genererte bildene.
t2iadapter style: t2iadapter_style modellen retter seg mot de stilistiske aspektene av bilde generering, og muliggjør modifikasjon og kontroll over den kunstneriske stilen til utdata bildene. Denne adapteren tillater brukere å veilede tekst-til-bilde modellen mot å generere bilder som holder seg til spesifikke kunstneriske stiler eller estetikk beskrevet i tekstprompts. Det er et uvurderlig verktøy for kreative prosjekter hvor stilen til bildet spiller en sentral rolle, og tilbyr en sømløs måte å blande tradisjonelle kunststiler med moderne AI-kapasiteter.
For disse segmentene vil vi dedikere separate artikler for å gi en grundig introduksjon til hver, gitt den betydelige mengden informasjon vi ønsker å dele.
Bruk av flere ComfyUI ControlNets i ComfyUI innebærer en prosess med lagdeling eller kjeding av ControlNet modeller for å raffinere bilde genereringen med mer presise kontroller over ulike aspekter som posisjon, form, stil og farge.
Dermed kan du bygge din workflow ved å anvende en ControlNet (f.eks., OpenPose) og deretter mate utdataene inn i en annen ControlNet (f.eks., Canny). Denne lagdelte anvendelsen tillater detaljert tilpasning av bildet, hvor hver ControlNet anvender sine spesifikke transformasjoner eller kontroller. Prosessen tillater en raffinert kontroll over den endelige utdataen, og integrerer flere aspekter veiledet av forskjellige ControlNets.
Hvis du er interessert i å utforske ControlNet workflow, bruk følgende ComfyUI web. Den kommer fullt utstyrt med alle nødvendige kundeknuter og modeller, som muliggjør sømløs kreativitet uten behov for manuelle oppsett. Få praktisk erfaring og bli kjent med ControlNets funksjoner nå!
© Opphavsrett 2024 RunComfy. Alle Rettigheter Forbeholdt.