
ãæèšäºãControlNet ã®æ©èœãçšéå¥ã«å šãŠè§£èª¬
- å²åŒãã
ã¯ããã«
ãä»åã¯ãã¡ãâã®èŠªèšäºããã®æèšäºãšããŠäœæãããç©ã§ãã
ãControlNet èªäœã®ç޹ä»ãå°å
¥æ³ã¯èŠªèšäºâã®æ¹ã§ã確èªãã ããã
ä»åã®å 容㯠2023/10/18æç¹ ã® ControlNet v1.1.410 ã«ãããŠã®äœ¿çšæã§æžãããŠããŸãã
ãŸããä»åã¯ç§ãã¡ã€ã³ã§äœ¿çšããŠãã SD1.5 ã¢ãã«ã§æ€èšŒããŠããŸãã
SDXL ã§ãã䜿ããªããã®ã«é¢ããŠã¯Â SDXL ã§äœ¿çšããŠè§£èª¬ããŸãã
ãä»åã¯äž»ã«ãControlNetã®UIã§éžæã§ãããã¡ãã®å 容ãçšéå¥ã«ãŸãšããŠã玹ä»ããŠãããŸãã

ãæåã® ãAllã ã¯èªç±ã«Preprocessor ãš Model ãéžæã§ãããšããç¶æ
ã§ãã
ã芪èšäºã§ã玹ä»ããéããPreprocessor éšåã None ã«ããŠãçšæããdetectmapã«å¯Ÿå¿ããã¢ãã«ã ãåãããããšã§çŽæ¥ç»åãçæã§ãããããŸãã
ãäºåã«Â detectmap ãçšæã§ããŠããå Žåã¯ALLããçŽæ¥éžãã§ãè¯ããããããŸãããã
ããŸããControlNetçšã®ã¢ãã«ã¯ä»åŸãå¢ããŠãããšæããŸãã®ã§ã奜ã¿ã®ãã®ãæ¢ããŠäœ¿ã£ãŠãã ããã
ãåºæ¬çã«ã¯äœç»ã¢ãã«ã«å¯Ÿå¿ãããã®ãã¢ãã«åã§èŠãŠéžã¹ã°è¯ãã§ãããã
ã Stable Diffusion1.5ã¢ãã«ãã䜿ããªã sd15 ãšæžããŠãããã®ããSDXLã¢ãã«ãã䜿ããªã xl ãšæžããŠããã¢ãã«ãéžã¹ã°ãšãããã䜿ããã¯ãã§ãã
ãä»åã¯ãå§ãã¢ãã«ãšãã§ã¯ãªããæ©èœãçšéå¥ã«éžã³ãããããã®ãç®çã®èšäºãšãªããŸãã
ãããããããšãç®æ¬¡ããéžãã§ãžã£ã³ãããŠãã ãããã
â人ç©ã®ããŒãºãæœåºããŠåçŸããã
OpenPoseïŒæ£äººéïŒ
ã芪èšäºã§ã玹ä»ããéããããªãæåãªæ©èœã§ãã
ãç»åããæ£äººéã®ãããªÂ detectmapã§ããŒãºãæœåºããç»åãçæããããšãã§ããŸãã

ãåªããå©ç¹ãšããŠã¯ãããŒãºã«ç¹åããæœåºã§ããããã髪食ããè¡£è£
ãªããã®æç»ã¯èªç±ã«è¡ããç¹ãæããããŸãã
ããããã®å¥³ã®åãããããªããªçãçãã®ãŽã·ãã¯ãã¬ã¹ãããããåããè
ãªãããŸã§äœè£ã§å¯Ÿå¿å¯èœã§ãã
ãOpenPose ã§äœ¿ãã Preprocessor ã«ã¯ä»ã«ããããªçš®é¡ããããŸãã

ã»é¡ã®äœçœ®ãšè¡šæ
ã®ã¿ãæœåºãããopenpose_faceonly
ã»ããŒãºãšé¡ã®è¡šæ
ãæœåºãããopenpose_face
ã»ããŒãºãšæã®åœ¢ãæœåºãããopenpose_hand

ã»äžèšå
šãŠãåæã«ç¶²çŸ
ãããopenpose_full
ããªã©ããããŸãã
ãè€æ°ã® Controlnet ã䜿ãéã«ãããŒãºæ
åœã§äœ¿ããããã®ã§èŠããŠãããŸãããã
âç»åããç·ãæœåºããŠåçŸããã
ããã®å Žåã¯ä»¥äžã®æ©èœã該åœããããšæããŸãã
Cannyãã¶ã¯ã£ãšç·ç»æœåº
Lineartãç¹çްã«ç·ç»æœåº
SoftEdgeããŒãã£ãšç·ç»æœåº
Scribble/Sketchãèœæžãããã§ãäžæãªçµµã«
MLSDãçŽç·ã®ã¿æœåºã»èæ¯ã®æ§é ç©åã
1. Cannyãã¶ã¯ã£ãšç·ç»æœåº
ãCannyã¯ã¶ã¯ã£ãšããç·ã§ç»åã®å
å®¹ãæœåºããé©çšããŸãã
ãããªãåæããããæ©èœã§ã远å promptã§ã®å€åã®èªç±åºŠããããšé«ãã§ãã

ãä»åã¯ã ç¬é¡ãé髪ããã³ã¯ã®ã¡ã€ãæÂ ããšè¿œèšããŸããã
ããŸããCanny ã®äžã«ã¯ãçœèæ¯ã«é»ç·ç»ãã®ç»åããæœåºããã®ã«ç¹åãã invert (from white bg ' black line) ãå ¥ã£ãŠããŸãã

ããšã¯ããããããã£ãå ç»åããã§ãæ®éã«Cannyã§ãåçŸã§ããŠããŸãã®ã§ãããŸã䜿ãé »åºŠã¯é«ããªããããããŸããã
2. Lineartãç¹çްã«ç·ç»æœåº
ãLineart ã«ãæ§ã ãªçš®é¡ããããç¹çްã§åçŸåºŠã®é«ããã®ããããã£ãããšããå¯å€èªç±åºŠã®é«ããã®ãŸã§ååšããŸãã
ããã¹ãŠã®äŸã远ã£ãŠãããŸãããã


ãlineart_realistic ã¯æããæã®ããã©ã«ãã ã£ãããããdetectmapãèªåä¿åã«ããŠããå Žåããlineartããšããååã®ãã©ã«ãã«ä¿åãããŸãã




ãdetectmapãèªåä¿åã«ããŠããå Žåãlineart_standard ãšå ±çšã§ãlineart_standardããšããååã®ãã©ã«ãã«ä¿åãããŸãã

ãdetectmapãèªåä¿åã«ããŠããå ŽåãCanny ã®ç©ãšå ±çšã§ãinvertããšããååã®ãã©ã«ãã«ä¿åãããŸãã
ãããããç»åãã¢ãã¯ãå転ãããã ãã®detectmapãªã®ã§ãåçŸåºŠã¯ããªãé«ããã
3. SoftEdgeããŒãã£ãšç·ç»æœåº

ãsoftedge ã·ãªãŒãºã®ããã©ã«ãèšå®ã
ãæã现ããç·ãæŸãããšãã§ããããã§ãã
ãdetectmap ã®ä¿åãã©ã«ãåã¯Â ãpidinetãã«ãªã£ãŠãŸãã

detectmap ã®ä¿åãã©ã«ãåã¯Â ãhedãã«ãªã£ãŠãŸãã

detectmap ã®ä¿åãã©ã«ãåã¯Â ãhed_safeãã«ãªã£ãŠãŸãã

detectmap ã®ä¿åãã©ã«ãåã¯Â ãpidinet_safeãã«ãªã£ãŠãŸãã
4. Scribble/Sketchãèœæžãããã§ãäžæãªçµµã«
ãScribble/Sketch ã·ãªãŒãºã¯é©ãã® ããã©ãŒã»ã¢ãã¿ãŒã«ãªããèªç±åºŠãšè§£é床ã®ããªãé«ãããªããã»ããµçŸ€ã§ãã

ãdetectmap ã®ä¿åãã©ã«ãåã¯Â ãpidinet_scribbleãã«ãªã£ãŠãŸãã

ãdetectmap ã®ä¿åãã©ã«ãåã¯Â ãscribble_hedãã«ãªã£ãŠãŸãã

ãdetectmap ã®ä¿åãã©ã«ãåã¯Â ãscribble_xdogãã«ãªã£ãŠãŸãã

ãdetectmap ã®ä¿åãã©ã«ãåã¯Â ãpidinet_sketchãã«ãªã£ãŠãŸãã

ãCanny ã Lineart ã®æãšåããã®ã§ããã
ãdetectmapãèªåä¿åã«ããŠããå Žåãå
±çšã§ãinvertããšããååã®ãã©ã«ãã«ä¿åãããŸãã
ãæããã«æã®äœçœ®ã厩å£ããç·ç»ãéžã³ãŸãããããã£ãããšä¿®æ£ãããŠããã®ããããããã§ããã

ã
ãT2I-Adapter å
ã®Â Preprocessor ã® t2ia_sketch_pidi ãäŒŒãæ©èœãªãã§ãããä»åã¯ããŸãããŸã䜿ããŸããã§ããã
5. MLSDãçŽç·ã®ã¿æœåºã»èæ¯ã®æ§é ç©åã


ãMLSD ã¯ç»åããçŽç·ã®ã¿ãæãåºããŠåæ ããããããäººå£æ§é ç©ãªããã«åããŠããŸãã

ãéã«ãçŽç·ãèªããªããããªå ç»åã®å Žåãã»ãŒå¹æãçºããŸããã
âç«äœæãæœåºããŠé©çšããã
ããã®å Žåã¯ä»¥äžã®æ©èœã該åœããããšæããŸãã
Depthãç»åã®å¥¥è¡ããæšå®ããŠæ·±åºŠããããäœæ
NormalMapã衚é¢ã®å¹åžæ€åºã3DåããªãŽã³ãœã
ãé çªã«èŠãŠãããŸãããã
1. Depthãç»åã®å¥¥è¡ããæšå®ããŠæ·±åºŠããããäœæ

ãèŠãŠã®éãã人ç©ãã·ã«ãšããã®ããã«ãªã£ãŠããŸãããè¿ãã®èæ¯ã«å°ã3DãœãããããŸããã
ãé æ¯ã¯çã£é»ãªã®ã§ããã®ãããã¯promptã ãã§å¥œãã«äœç»ã§ããŸãã

ãèæ¯ãŸã§çµæ§èªã¿åãããšããŠããã®ãèŠãŠåããŸãã
ãã©ããã°ã©ã³ããã£ããªã³ã®å°å¹³ç·ãåçŸããããšããŠããããã§ãç»é¢ã®é«ãçã«å»ºé ç©ãåºæ¥äžããé »åºŠãé«ãã£ãã§ãã
ãçœãç æµãæå®ããŠããè¬ã®æŽæ¿¯ç©ãããã£ãŠããããšãdepth ã®äžã§ã¯å¯å€èªç±åºŠã¯äœãã»ãã§ãããã
ãé æ¯ãåºãã«ããå°è±¡ã§ãã

ãååã®éããdepth_leresã®åŒ·åçãšãã£ããšããã
ããã¡ãã£ãšããå±å
ããæã¿ãªãåããŠãããããããŸãããã
ãç»é¢ã®æ å ±éã¯åçŸãããããããããŸããã

ãããã©ã«ãã®Â depth_midas ã«æ¬¡ãã§æ±ããããããªå°è±¡ã§ããã
ãé æ¯ã¯é»ãã®ã§ãã£ããprompotã§å€åãåºããŸããã
2. NormalMapã衚é¢ã®å¹åžæ€åºã3Dæè¡ãœããã€

ãããŒãã«ããããšã¯3DããªãŽã³ã®è¡šé¢ã«ãç䌌çãªå¹åžã衚çŸã§ããæè¡ã§ãã
ããã®ãããªãã®ãç»åããæœåºããé©çšããŸãã
ãæãé ãã§ãããå°å¹³ç·ãšç©ºã®å¢ç®ããããç°æ§ã«æ¿ãæåãããŠããŸãããã®èŸºããã©ãã«ãèéã®å©ããªãæãã«ãªã£ãŠããŸã£ãŠããŸããã
ããããã£ãå Žåã¯é©çšåºŠãäžãããããæ¹ãè¯ãã®ãããããŸãããã
ãæèŠçã«ã¯Â depth_leres ããããè¿ãæèŠã§ãã
ãdetectmap ã®ä¿åãã©ã«ãåã¯Â ãnormal_baeãã«ãªã£ãŠãŸãã

ãèæ¯ã®èªç±åºŠã¯æãé«ãã§ããã
ãdepth_midas ã«ãè¿ãæèŠã§ããã
ãdetectmap ã®ä¿åãã©ã«ãåã¯Â ãnormal_mapãã«ãªã£ãŠãŸãã
âãªããžã§ã¯ãã®äœçœ®ã圢ãåŒãç¶ããã
Segmentationãã»ã°ã¡ã³ãïŒåºåïŒãè§£æãé©çšãã

ãSegmentationã·ãªãŒãºã¯ãç»åããèŠçŽ ãè§£æãããã®ã·ã«ãšãããšå 容ãåŒãç¶ãããšãã§ããŸãã
detectmap ã®ä¿åãã©ã«ãå㯠ãoneformer_ade20kã

detectmap ã®ä¿åãã©ã«ãå㯠ãoneformer_cocoã

ãdetectmap ã®ä¿åãã©ã«ãå㯠ãsegmentationã
ã以åã¯ããã©ã«ãã ã£ããã§ããããã