๐Ÿ‘” ๅŸบไบŽ Qwen-Image-Edit ็š„่™šๆ‹Ÿ่ฏ•่กฃ LoRA ่ฎญ็ปƒ๏ผšไปŽ้›ถๅˆฐไธ€็š„ๅฎŒๆ•ด่ง„ๅˆ’

๐Ÿ‘” ๅŸบไบŽ Qwen-Image-Edit ็š„่™šๆ‹Ÿ่ฏ•่กฃ LoRA ่ฎญ็ปƒ๏ผšไปŽ้›ถๅˆฐไธ€็š„ๅฎŒๆ•ด่ง„ๅˆ’

ๆœ€่ฟ‘ๅœจๅš่™šๆ‹Ÿ่ฏ•่กฃ๏ผˆVirtual Try-On๏ผ‰้กน็›ฎ่ฟ็งปๆ—ถ๏ผŒๅšไบ†ไธ€ไธช้‡่ฆๅ†ณ็ญ–๏ผšๅบ•ๅบงไปŽ FLUX-dev.1 ๅˆ‡ๅˆฐ Qwen-Image-Editใ€‚ๅŽŸๅ› ๅพˆ็ฎ€ๅ•โ€”โ€”FLUX-dev.1 ๆ˜ฏ้žๅ•†็”จๅ่ฎฎ๏ผŒ่ฎบๆ–‡่ƒฝๅ‘ไฝ†ไบงๅ“ไธŠไธไบ†็บฟใ€‚่€Œ Qwen-Image-Edit ๅ…จ็ณปๅˆ—้ƒฝๆ˜ฏ Apache-2.0๏ผŒไธ€ๆก่ทฏ่ตฐๅˆฐๅบ•๏ผšๅญฆๆœฏไบงๅ‡บๅ’Œๅ•†ไธšไบคไป˜ๅฏไปฅๅ…ฑๆŒฏใ€‚

ไบŽๆ˜ฏๆˆ‘่Šฑไบ†ไธคๅ‘จๆ—ถ้—ด็ ”็ฉถๆ€Žไนˆๅœจ Qwen-Image-Edit ไธŠ่ฎญ็ปƒ VTON LoRAใ€‚่ธฉไบ†ไธๅฐ‘ๅ‘๏ผŒไนŸๅ‚่€ƒไบ†็คพๅŒบ้‡Œๅทฒ็ป่ท‘้€š็š„ๆกˆไพ‹ใ€‚่ฟ™็ฏ‡ๆ–‡็ซ ๆŠŠๆ•ดไธช่ง„ๅˆ’่ฟ‡็จ‹็ณป็ปŸๅœฐ่ฎฐๅฝ•ไธ‹ๆฅ๏ผŒไฝœไธบๅŽ็ปญๅฎž้™…ๅŠจๆ‰‹็š„่ทฏ็บฟๅ›พใ€‚

๐Ÿ’ก ๅฆ‚ๆžœไฝ ่ฟ˜ไธไบ†่งฃ Qwen-Image-Edit ๆ˜ฏไป€ไนˆ๏ผŒๅปบ่ฎฎๅ…ˆ่ฏปๆˆ‘็š„ๅฆไธ€็ฏ‡ๆ–‡็ซ ๏ผšQwen-Image-Edit ๅฎŒๅ…จๆŒ‡ๅ—ใ€‚ๅฆ‚ๆžœไฝ ๅฏนไผ ็ปŸ VTON ๆžถๆž„ๆ„Ÿๅ…ด่ถฃ๏ผŒๅฏไปฅ็œ‹ JCo-MVTON ๅฎŒๅ…จๆŒ‡ๅ—ใ€‚


็›ฎๅฝ•

  1. ไธบไป€ไนˆ้€‰ Qwen-Image-Edit ๅš VTON๏ผŸ
  2. ๆŠ€ๆœฏ้€‰ๅž‹๏ผš2511 vs 2.0 vs ๅ…ถไป–
  3. ๆ•ดไฝ“ๆžถๆž„๏ผšไธค้˜ถๆฎต Pipeline
  4. ๆ•ฐๆฎ้›†ๅ‡†ๅค‡๏ผˆๆœ€ๅ…ณ้”ฎ็š„ไธ€ๆญฅ๏ผ‰
  5. ่ฎญ็ปƒ็Žฏๅขƒๆญๅปบ
  6. LoRA ่ฎญ็ปƒๅฎžๆˆ˜
  7. ๆŽจ็†ไธŽ้ƒจ็ฝฒ
  8. ่ฏ„ไผฐไธŽไผ˜ๅŒ–็ญ–็•ฅ
  9. ๅทฒ้ชŒ่ฏ็š„ๅ‚่€ƒๆกˆไพ‹
  10. ๅฎŒๆ•ด Roadmap ไธŽ Checklist

ไธบไป€ไนˆ้€‰ Qwen-Image-Edit ๅš VTON๏ผŸ

ๅ…ˆ่ฏด็ป“่ฎบโ€”โ€”ไผ ็ปŸ VTON ๆ–นๆกˆ๏ผˆIDM-VTONใ€CatVTON ็ญ‰๏ผ‰ๅ’ŒๅŸบไบŽ Qwen-Image-Edit ็š„ LoRA ๆ–นๆกˆ๏ผŒ่งฃๅ†ณ้—ฎ้ข˜็š„ๆ€่ทฏๅฎŒๅ…จไธๅŒ๏ผš

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚             ไผ ็ปŸ VTON vs LoRA-based VTON                        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                 โ”‚
โ”‚  ไผ ็ปŸๆ–นๆกˆ (IDM-VTON / CatVTON / JCo-MVTON):                    โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚ ่กฃๆœๅ›พ็‰‡ โ”‚ โ†’ โ”‚ ๅ‡ ไฝ•ๅ˜ๅฝขๆจกๅ— โ”‚ โ†’ โ”‚ ่ฏญไน‰ๅˆ†ๅ‰ฒ  โ”‚ โ†’ โ”‚ ๅˆๆˆ่พ“ๅ‡บ โ”‚  โ”‚
โ”‚  โ”‚ ไบบไฝ“ๅ›พ็‰‡ โ”‚ โ†’ โ”‚ (TPS/Flow)  โ”‚ โ†’ โ”‚ (Parsing) โ”‚ โ†’ โ”‚         โ”‚  โ”‚
โ”‚  โ”‚ ๅงฟๆ€ไผฐ่ฎก โ”‚ โ†’ โ”‚             โ”‚ โ†’ โ”‚           โ”‚ โ†’ โ”‚         โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚  ็‰น็‚น๏ผš้œ€่ฆๅฎŒๆ•ด pipeline๏ผŒๆฏๆญฅๅ•็‹ฌ่ฎญ็ปƒ๏ผŒ็ป“ๆž„ๅคๆ‚                   โ”‚
โ”‚                                                                 โ”‚
โ”‚  LoRA ๆ–นๆกˆ (Qwen-Image-Edit + LoRA):                           โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚ ่กฃๆœๅ›พ็‰‡ โ”‚ โ†’ โ”‚                              โ”‚ โ†’ โ”‚ ๅˆๆˆ่พ“ๅ‡บ โ”‚  โ”‚
โ”‚  โ”‚ ไบบไฝ“ๅ›พ็‰‡ โ”‚ โ†’ โ”‚   ้ข„่ฎญ็ปƒ Edit ๆจกๅž‹ + LoRA    โ”‚ โ†’ โ”‚         โ”‚  โ”‚
โ”‚  โ”‚ ๆ–‡ๅญ—ๆŒ‡ไปค โ”‚ โ†’ โ”‚   (็ซฏๅˆฐ็ซฏ๏ผŒไธ€ๆญฅๅˆฐไฝ)         โ”‚ โ†’ โ”‚         โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚  ็‰น็‚น๏ผšๅˆฉ็”จๅŸบๅบงๆจกๅž‹็š„ๅผบๅคง็†่งฃๅŠ›๏ผŒ็”จ LoRA ๆ•™ๅฎƒ"ๆข่ฃ…"่ฟ™ไธชๆŠ€่ƒฝ       โ”‚
โ”‚                                                                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Qwen-Image-Edit ๅš VTON ็š„ไบ”ๅคงไผ˜ๅŠฟ

ไผ˜ๅŠฟ่ฏดๆ˜Ž
๐Ÿง  ่ฏญไน‰็†่งฃๅŠ›ๅผบ20B ๅ‚ๆ•ฐ + Qwen2.5-VL ็ผ–็ ๅ™จ๏ผŒๅคฉ็„ถ็†่งฃ"ๆŠŠ่ฟ™ไปถ่กฃๆœ็ฉฟๅˆฐ่ฟ™ไธชไบบ่บซไธŠ"็š„ๆŒ‡ไปค
๐Ÿ–ผ๏ธ ๅคšๅ›พ่พ“ๅ…ฅ2509/2511 ็‰ˆๆœฌๆ”ฏๆŒ 1-3 ๅผ ๆŽงๅˆถๅ›พ๏ผŒๅฎŒ็พŽๅŒน้… VTON ้œ€่ฆ็š„"ไบบ+่กฃๆœ"ๅŒๅ›พ่พ“ๅ…ฅ
๐Ÿ“ ๆŒ‡ไปค้ฉฑๅŠจไธ้œ€่ฆ็กฌ็ผ–็  pipeline๏ผŒ็”จ่‡ช็„ถ่ฏญ่จ€ๆ่ฟฐๆข่ฃ…ๆ„ๅ›พๅณๅฏ
โš–๏ธ Apache-2.0ๅ…จ็ณปๅˆ—ๅผ€ๆบๅ•†็”จ๏ผŒไบงๅ“ๅŒ–ๆ— ่ฎธๅฏ้šœ็ข
๐Ÿ”Œ ็”Ÿๆ€ๅฎŒๅ–„Diffusers/ComfyUI/Musubi Tuner ๅ…จ้“พ่ทฏๆ”ฏๆŒ

ๅ’Œ JCo-MVTON ็š„ๆ ธๅฟƒๅŒบๅˆซ

ๆˆ‘ไน‹ๅ‰็”จ JCo-MVTON๏ผˆๅŸบไบŽ FLUX๏ผ‰ๅš่ฟ‡ VTON ็ ”็ฉถ๏ผŒไธค่€…็š„ๆ นๆœฌๅทฎๅผ‚ๅœจไบŽ๏ผš

JCo-MVTON ็š„ๆ€่ทฏ๏ผš
  "ๆˆ‘ไธ“้—จ่ฎพ่ฎกไธ€ไธช่ฏ•่กฃๆžถๆž„๏ผŒ้‡Œ้ขๆœ‰ Reference-Netใ€Garment Encoderใ€
   DensePose ๆกไปถ็ญ‰๏ผŒไธ“้—จ่งฃๅ†ณ่ฏ•่กฃ้—ฎ้ข˜"
  โ†’ ไธ“ๅฎถ็ณป็ปŸ๏ผŒ่ฏ•่กฃๆ•ˆๆžœๅฅฝไฝ†ๅช่ƒฝๅš่ฏ•่กฃ

Qwen-Image-Edit + LoRA ็š„ๆ€่ทฏ๏ผš
  "ๆˆ‘ๆœ‰ไธ€ไธช่ถ…ๅผบ็š„้€š็”จ็ผ–่พ‘ๆจกๅž‹๏ผŒๆˆ‘็”จ 20 ๅผ ๆ•ฐๆฎๆ•™ๅฎƒๅญฆไผš่ฏ•่กฃ่ฟ™ไธชๆŠ€่ƒฝ"
  โ†’ ้€šๆ‰ + ๆŠ€่ƒฝๅŒ…๏ผŒ็ตๆดปไฝ†้œ€่ฆ็ฒพๅฟƒ่ฐƒๆ•™

ๆˆ‘็š„ๅˆคๆ–ญ๏ผšๅฏนไบŽๅ•†ไธš้กน็›ฎ๏ผŒLoRA ๆ–นๆกˆ็š„ๅฏ็ปดๆŠคๆ€ง่ฟœ้ซ˜ไบŽไธ“็”จๆžถๆž„ใ€‚ๆจกๅž‹ๅ‡็บงๆ—ถๅช้œ€้‡่ฎญ LoRA๏ผŒไธ้œ€่ฆ้‡ๅ†™ๆ•ดไธช pipelineใ€‚่€Œไธ” Qwen-Image-Edit ๅœจๆŒ็ปญๆ›ดๆ–ฐ๏ผŒๅบ•ๅบง่ƒฝๅŠ›็š„ๆๅ‡ๆ˜ฏ"ๅ…่ดน"็š„ใ€‚


ๆŠ€ๆœฏ้€‰ๅž‹๏ผš2511 vs 2.0 vs ๅ…ถไป–

ๆˆช่‡ณ 2026 ๅนด 2 ๆœˆ๏ผŒQwen-Image ๅฎถๆ—ๅฏ็”จไบŽ VTON LoRA ่ฎญ็ปƒ็š„็‰ˆๆœฌๆœ‰๏ผš

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                Qwen-Image ๅฎถๆ—็‰ˆๆœฌๅฏนๆฏ” (VTON ่ง†่ง’)              โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ ็‰ˆๆœฌ        โ”‚ ๅ‚ๆ•ฐ้‡ โ”‚ ๅคšๅ›พ่พ“ๅ…ฅ  โ”‚ LoRA ๅทฅๅ…ท้“พ โ”‚ VTON ้€‚ๅˆๅบฆ     โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Edit       โ”‚ 20B    โ”‚ โŒ ๅ•ๅ›พ   โ”‚ โœ… ๅฎŒๅ–„     โ”‚ โญโญ ๅ—้™        โ”‚
โ”‚ Edit-2509  โ”‚ 20B    โ”‚ โœ… 1-3 ๅ›พ โ”‚ โœ… ๅฎŒๅ–„     โ”‚ โญโญโญโญ ๆŽจ่     โ”‚
โ”‚ Edit-2511  โ”‚ 20B    โ”‚ โœ… 1-3 ๅ›พ โ”‚ โœ… ๅฎŒๅ–„     โ”‚ โญโญโญโญโญ ้ฆ–้€‰   โ”‚
โ”‚ Layered    โ”‚ 20B    โ”‚ โœ… ๅˆ†ๅฑ‚   โ”‚ โœ… ๅฎŒๅ–„     โ”‚ โญโญโญ ๅฏ้€‰      โ”‚
โ”‚ 2.0 (7B)   โ”‚ 7B     โ”‚ โœ… ็ปŸไธ€   โ”‚ โš ๏ธ ๅ‘ๅฑ•ไธญ   โ”‚ โญโญโญ ๆฝœๅŠ›ๅคง    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆˆ‘็š„้€‰ๆ‹ฉ๏ผšEdit-2511

็†็”ฑๅฆ‚ไธ‹๏ผš

  1. ๅคšๅ›พ่พ“ๅ…ฅๆ˜ฏๅˆš้œ€๏ผšVTON ่‡ณๅฐ‘้œ€่ฆไธคๅผ ่พ“ๅ…ฅๅ›พ๏ผˆไบบ + ่กฃๆœ๏ผ‰๏ผŒEdit ๅŽŸ็‰ˆๅชๆ”ฏๆŒๅ•ๅ›พ๏ผŒๅฟ…้กปๆ”พๅผƒ
  2. 2511 ๆฏ” 2509 ่ดจ้‡ๆ›ดๅฅฝ๏ผšไธ€่‡ดๆ€งๆ›ดๅผบใ€ไผชๅฝฑๆ›ดๅฐ‘๏ผŒ่ฟ™ๅฏน่ฏ•่กฃๆ•ˆๆžœ่‡ณๅ…ณ้‡่ฆ
  3. ๅทฅๅ…ท้“พๆœ€ๆˆ็†Ÿ๏ผšMusubi Tuner ๅ’Œ AI-Toolkit ้ƒฝๆœ‰ edit-2511 ็š„ไธ“ๅฑžๆ”ฏๆŒ
  4. 2.0 ่™ฝ็„ถๅ‚ๆ•ฐๅฐ‘ไฝ†ๅทฅๅ…ท้“พๅฐšๆœช็จณๅฎš๏ผšQwen-Image 2.0 ๅชๆœ‰ 7B ๅ‚ๆ•ฐ๏ผŒๆ•ˆ็އ่ฏฑไบบ๏ผŒไฝ†ๆˆช่‡ณ 2026 ๅนดๅˆ LoRA ่ฎญ็ปƒๆ”ฏๆŒไปๅœจๅฎŒๅ–„ไธญ

โš ๏ธ ๅ…ณไบŽ Qwen-Image 2.0๏ผš7B ๅ‚ๆ•ฐ + Qwen3-VL ็ผ–็ ๅ™จ + ๅŽŸ็”Ÿ 2K ๅˆ†่พจ็އ๏ผŒ็†่ฎบไธŠๆ˜ฏๆ›ดๅฅฝ็š„ๅบ•ๅบงใ€‚ไฝ† Musubi Tuner ๅฏน 2.0 ็š„ model_version ๆ”ฏๆŒ่ฟ˜ๅœจ PR ้˜ถๆฎต๏ผˆๆˆช่‡ณๆœฌๆ–‡ๆ’ฐๅ†™ๆ—ถ๏ผ‰ใ€‚็ญ‰ๅทฅๅ…ท้“พ็จณๅฎšๅŽ๏ผŒ2.0 ๅพˆๅฏ่ƒฝๆˆไธบๆ›ดไผ˜้€‰ๆ‹ฉโ€”โ€”ๅ‚ๆ•ฐๅฐ‘ๆ„ๅ‘ณ็€่ฎญ็ปƒๆ›ดๅฟซใ€ๆŽจ็†ๆ›ดไพฟๅฎœใ€‚


ๆ•ดไฝ“ๆžถๆž„๏ผšไธค้˜ถๆฎต Pipeline

่ฟ™ๆ˜ฏๆ•ดไธช VTON ็ณป็ปŸ็š„ๆ ธๅฟƒ่ฎพ่ฎกๅ†ณ็ญ–ใ€‚ๅ‚่€ƒ DigitalOcean ๆŠ€ๆœฏๅธƒ้“ๅธˆ James Skelton ๅทฒ้ชŒ่ฏ็š„ๆ–นๆกˆ๏ผŒๆˆ‘้‡‡็”จไธค้˜ถๆฎต Pipeline๏ผš

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   VTON ไธค้˜ถๆฎต Pipeline ๆžถๆž„                          โ”‚
โ”‚                                                                      โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚                     ็ฌฌไธ€้˜ถๆฎต๏ผš่กฃๆœๆๅ–                            โ”‚ โ”‚
โ”‚  โ”‚                                                                  โ”‚ โ”‚
โ”‚  โ”‚  ่พ“ๅ…ฅ                      LoRA #1                    ่พ“ๅ‡บ       โ”‚ โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚ โ”‚
โ”‚  โ”‚  โ”‚           โ”‚   โ”‚                          โ”‚   โ”‚            โ”‚  โ”‚ โ”‚
โ”‚  โ”‚  โ”‚ ๐Ÿ‘ฉ ็ฉฟ็€   โ”‚โ”€โ”€โ–ถโ”‚  Qwen-Image-Edit-2511   โ”‚โ”€โ”€โ–ถโ”‚  ๐Ÿ‘” ่กฃๆœ   โ”‚  โ”‚ โ”‚
โ”‚  โ”‚  โ”‚    ่กฃๆœ็š„  โ”‚   โ”‚  + Extract LoRA         โ”‚   โ”‚  ็™ฝๅบ•็บฏๅ‡€  โ”‚  โ”‚ โ”‚
โ”‚  โ”‚  โ”‚    ๆจก็‰น   โ”‚   โ”‚                          โ”‚   โ”‚  ๅนณ้“บๅ›พ    โ”‚  โ”‚ โ”‚
โ”‚  โ”‚  โ”‚           โ”‚   โ”‚  Prompt: "็งป้™คไบบไฝ“๏ผŒ     โ”‚   โ”‚            โ”‚  โ”‚ โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚  ๅช็•™่กฃๆœๅœจ็™ฝ่‰ฒ่ƒŒๆ™ฏไธŠ"   โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚ โ”‚
โ”‚  โ”‚                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                    โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚                              โ”‚                                       โ”‚
โ”‚                              โ–ผ                                       โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚                     ็ฌฌไบŒ้˜ถๆฎต๏ผš่™šๆ‹Ÿ่ฏ•็ฉฟ                            โ”‚ โ”‚
โ”‚  โ”‚                                                                  โ”‚ โ”‚
โ”‚  โ”‚  ่พ“ๅ…ฅ (ๅŒๅ›พ)                LoRA #2                    ่พ“ๅ‡บ      โ”‚ โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚ โ”‚
โ”‚  โ”‚  โ”‚ ๐Ÿง ็›ฎๆ ‡   โ”‚   โ”‚                          โ”‚   โ”‚            โ”‚  โ”‚ โ”‚
โ”‚  โ”‚  โ”‚    ไบบ็‰ฉ   โ”‚โ”€โ”€โ–ถโ”‚  Qwen-Image-Edit-2511   โ”‚โ”€โ”€โ–ถโ”‚ ๐Ÿงโ€โ™€๏ธ ็›ฎๆ ‡   โ”‚  โ”‚ โ”‚
โ”‚  โ”‚  โ”‚           โ”‚   โ”‚  + TryOn LoRA            โ”‚   โ”‚   ็ฉฟไธŠไบ†   โ”‚  โ”‚ โ”‚
โ”‚  โ”‚  โ”‚ ๐Ÿ‘” ่กฃๆœ   โ”‚โ”€โ”€โ–ถโ”‚                          โ”‚โ”€โ”€โ–ถโ”‚   ๆ–ฐ่กฃๆœ   โ”‚  โ”‚ โ”‚
โ”‚  โ”‚  โ”‚    ๅนณ้“บๅ›พ โ”‚   โ”‚  Prompt: "ๆŠŠ่ฟ™ไปถ่กฃๆœ     โ”‚   โ”‚            โ”‚  โ”‚ โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚  ็ฉฟๅˆฐ่ฟ™ไธชไบบ่บซไธŠ"         โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚ โ”‚
โ”‚  โ”‚                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                    โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ไธบไป€ไนˆๆ˜ฏไธค้˜ถๆฎต่€Œไธๆ˜ฏไธ€้˜ถๆฎต๏ผŸ

ไฝ ๅฏ่ƒฝไผš้—ฎ๏ผšไธบไป€ไนˆไธ็›ดๆŽฅ่ฎญไธ€ไธช LoRA ๅฎŒๆˆ"ๆจก็‰น A ็š„่กฃๆœ โ†’ ็ฉฟๅˆฐๆจก็‰น B ่บซไธŠ"๏ผŸ

ไธ€้˜ถๆฎตๆ–นๆกˆ็š„้—ฎ้ข˜๏ผš
  ่พ“ๅ…ฅ๏ผšๆจก็‰นA๏ผˆ็ฉฟ็€่กฃๆœA๏ผ‰+ ๆจก็‰นB
  ๆœŸๆœ›๏ผšๆจก็‰นB ็ฉฟ็€่กฃๆœA
  
  ้—ฎ้ข˜๏ผšๆจกๅž‹้œ€่ฆๅŒๆ—ถ็†่งฃ โ€”
  1. ไปŽๆจก็‰นA่บซไธŠ"่„ฑไธ‹"่กฃๆœ๏ผˆๅˆ†็ฆปไบบไฝ“ๅ’Œ่กฃ็‰ฉ๏ผ‰
  2. ็†่งฃ่กฃๆœ็š„็‰ˆๅž‹ใ€้ขœ่‰ฒใ€็ป†่Š‚
  3. ๅฐ†่กฃๆœ"ๅ˜ๅฝข"้€‚้…ๆจก็‰นB็š„ไฝ“ๅž‹
  4. ไฟๆŒๆจก็‰นB็š„่บซไปฝ็‰นๅพไธๅ˜
  
  โ†’ ไธ€ไธช LoRA ๆ‰ฟ่ฝฝๅคชๅคšไปปๅŠก๏ผŒๆ•ˆๆžœไธ็จณๅฎš

ไธค้˜ถๆฎตๆ–นๆกˆ็š„ๅฅฝๅค„๏ผš
  Stage 1๏ผšๅช่ดŸ่ดฃ"่„ฑ่กฃๆœ"๏ผˆ้™ไฝŽๅคๆ‚ๅบฆ๏ผŒไปปๅŠกๅ•ไธ€๏ผ‰
  Stage 2๏ผšๅช่ดŸ่ดฃ"็ฉฟ่กฃๆœ"๏ผˆ่พ“ๅ…ฅๅทฒ็ปๆ˜ฏๅนฒๅ‡€็š„่กฃๆœๅ›พ๏ผ‰
  
  โ†’ ๆฏไธช LoRA ๅชๅšไธ€ไปถไบ‹๏ผŒๆ•ˆๆžœๆ›ดๅฅฝ๏ผŒไนŸๆ›ดๅฎนๆ˜“่ฐƒ่ฏ•

ๅ…ณ้”ฎ่ฎพ่ฎกๅ†ณ็ญ–

ๅ†ณ็ญ–็‚น้€‰ๆ‹ฉๅŽŸๅ› 
Pipeline ้˜ถๆฎตๆ•ฐ2 ้˜ถๆฎตๅ•ไปปๅŠก LoRA ๆ›ด็จณๅฎš
ๅŸบๅบงๆจกๅž‹Edit-2511ไธ€่‡ดๆ€งๆœ€ๅผบ๏ผŒๅคšๅ›พ่พ“ๅ…ฅ
LoRA ่ฎญ็ปƒๅ™จMusubi Tuner๏ผˆไธป๏ผ‰+ AI-Toolkit๏ผˆๅค‡๏ผ‰็คพๅŒบ้ชŒ่ฏๆœ€ๅคš
่กฃๆœๆๅ–ๆ–นๅผLoRA ่€Œ้žไผ ็ปŸๅˆ†ๅ‰ฒ็ซฏๅˆฐ็ซฏ๏ผŒไธไพ่ต–้ขๅค–ๆจกๅž‹
ๆŽจ็†ๆก†ๆžถDiffusersๅฎ˜ๆ–นๆ”ฏๆŒ๏ผŒload_lora_weights() ๅˆ‡ๆขๆ–นไพฟ

ๆ•ฐๆฎ้›†ๅ‡†ๅค‡๏ผˆๆœ€ๅ…ณ้”ฎ็š„ไธ€ๆญฅ๏ผ‰

โšก ่ฟ™ๆ˜ฏๆ•ดไธช้กน็›ฎๆˆ่ดฅ็š„ๅ…ณ้”ฎใ€‚ ็คพๅŒบ้‡Œๅคง้‡"่ฎญไธๅ‡บๅฅฝ LoRA"็š„ๅธ–ๅญ๏ผŒ99% ็š„ๅŽŸๅ› ้ƒฝๅœจๆ•ฐๆฎ้›†ไธŠใ€‚

็†่งฃ Edit ๆจกๅž‹็š„ๆ•ฐๆฎไธ‰ๅ…ƒ็ป„

Qwen-Image-Edit ็š„ LoRA ่ฎญ็ปƒ้œ€่ฆไธ‰ๅ…ƒ็ป„โ€”โ€”่ฟ™ไธ€็‚นๅ’Œๆ™ฎ้€š็š„ text-to-image LoRA ่ฎญ็ปƒๅฎŒๅ…จไธๅŒ๏ผš

ๆ™ฎ้€š LoRA ่ฎญ็ปƒ๏ผˆๅฆ‚ FLUXใ€SD๏ผ‰๏ผš
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚ ๅ›พ็‰‡     โ”‚ + โ”‚ ๆ–‡ๅญ—ๆ่ฟฐ   โ”‚  = ไธ€ไธช่ฎญ็ปƒๆ ทๆœฌ
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Edit ๆจกๅž‹ LoRA ่ฎญ็ปƒ๏ผš
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚ ๆŽงๅˆถๅ›พ็‰‡ โ”‚ + โ”‚ ็ผ–่พ‘ๆŒ‡ไปค   โ”‚ + โ”‚ ็›ฎๆ ‡ๅ›พ็‰‡ โ”‚  = ไธ€ไธช่ฎญ็ปƒๆ ทๆœฌ
  โ”‚ (่พ“ๅ…ฅ)   โ”‚   โ”‚ (ๆ–‡ๅญ—)     โ”‚   โ”‚ (่พ“ๅ‡บ)   โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
  
  ๆจกๅž‹ๅญฆ็š„ๆ˜ฏ๏ผš็ป™ๅฎš [ๆŽงๅˆถๅ›พ็‰‡] + [็ผ–่พ‘ๆŒ‡ไปค] โ†’ ็”Ÿๆˆ [็›ฎๆ ‡ๅ›พ็‰‡]

Stage 1 ๆ•ฐๆฎ้›†๏ผš่กฃๆœๆๅ–ๅ™จ

็›ฎๆ ‡๏ผšๆ•™ๆจกๅž‹"ๆŠŠ่กฃๆœไปŽไบบ่บซไธŠ่„ฑไธ‹ๆฅ"

โ”Œโ”€ ่ฎญ็ปƒๆ ทๆœฌ็คบไพ‹ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                                                             โ”‚
โ”‚  ๆŽงๅˆถๅ›พ็‰‡          ็ผ–่พ‘ๆŒ‡ไปค              ็›ฎๆ ‡ๅ›พ็‰‡            โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”        โ”‚
โ”‚  โ”‚          โ”‚    "็งป้™คไบบไฝ“๏ผŒๅชไฟ็•™      โ”‚          โ”‚        โ”‚
โ”‚  โ”‚ ๐Ÿ‘ฉ ๆจก็‰น  โ”‚     ่กฃ็‰ฉใ€‚ๅฐ†่กฃๆœๆ”พๅœจ     โ”‚ ๐Ÿ‘” ่กฃๆœ  โ”‚        โ”‚
โ”‚  โ”‚ ็ฉฟ็€็บข่ฃ™ โ”‚     ็™ฝ่‰ฒ่ƒŒๆ™ฏไธŠใ€‚"        โ”‚  ็™ฝๅบ•ๅนณ้“บ โ”‚        โ”‚
โ”‚  โ”‚          โ”‚                          โ”‚          โ”‚        โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ”‚
โ”‚                                                             โ”‚
โ”‚  ๆ•ฐๆฎๅฏน่ฆๆฑ‚๏ผš                                                โ”‚
โ”‚  โ€ข ๆŽงๅˆถๅ›พ๏ผš็œŸไบบ็ฉฟ็€่กฃๆœ็š„็…ง็‰‡                                 โ”‚
โ”‚  โ€ข ็›ฎๆ ‡ๅ›พ๏ผšๅŒไธ€ไปถ่กฃๆœ็š„็™ฝๅบ•ๅนณ้“บ/ๆจกๅž‹็…ง                        โ”‚
โ”‚  โ€ข ๆŒ‡ไปค๏ผšๆ่ฟฐ"็งป้™คไบบไฝ“ใ€ไฟ็•™่กฃ็‰ฉ"็š„ๆ–‡ๆœฌ                       โ”‚
โ”‚                                                             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆ•ฐๆฎๆฅๆบๆ–นๆกˆ๏ผš

ๆ–นๆกˆๆ•ฐๆฎ้‡้šพๅบฆ่ดจ้‡
๐Ÿ›’ ็”ตๅ•†ๅนณๅฐ้‡‡้›†ๅคงไธญ้ซ˜
๐Ÿ“ธ ่‡ช่กŒๆ‹ๆ‘„ๅฐ้ซ˜ๆœ€้ซ˜
๐Ÿค– AI ็”ŸๆˆๅฏๆŽงไฝŽไธญ
๐Ÿ“ฆ ๅ…ฌๅผ€ๆ•ฐๆฎ้›†ๆ”น้€ ๅคงไฝŽไธญ

ๆŽจ่ๆ–นๆกˆ๏ผš็”ตๅ•†ๅนณๅฐ้‡‡้›†

ๅคง้ƒจๅˆ†็”ตๅ•†็ฝ‘็ซ™็š„ๅ•†ๅ“้กต้ขๅคฉ็„ถๅŒ…ๅซ๏ผš

  1. ๆจก็‰นไธŠ่บซๅ›พ๏ผˆๆŽงๅˆถๅ›พ๏ผ‰
  2. ๅ•†ๅ“ๅนณ้“บๅ›พ๏ผˆ็›ฎๆ ‡ๅ›พ๏ผ‰

่ฟ™ๆ˜ฏๆœ€้ซ˜ๆ•ˆ็š„ๆ•ฐๆฎๆฅๆบใ€‚

# ๆ•ฐๆฎ้›†็›ฎๅฝ•็ป“ๆž„็คบไพ‹
dataset_extract/
โ”œโ”€โ”€ sample_001/
โ”‚   โ”œโ”€โ”€ control.jpg       # ๆจก็‰น็ฉฟ็€่กฃๆœ็š„็…ง็‰‡
โ”‚   โ”œโ”€โ”€ target.jpg        # ่กฃๆœ็™ฝๅบ•ๅนณ้“บๅ›พ
โ”‚   โ””โ”€โ”€ caption.txt       # "remove the person from this image, but leave 
โ”‚                         #  the outfit. the clothes should remain after 
โ”‚                         #  deleting the person's body, skin, and hair. 
โ”‚                         #  leave the clothes in front of a white background"
โ”œโ”€โ”€ sample_002/
โ”‚   โ”œโ”€โ”€ control.jpg
โ”‚   โ”œโ”€โ”€ target.jpg
โ”‚   โ””โ”€โ”€ caption.txt
โ””โ”€โ”€ ...๏ผˆๅ…ฑ 20-50 ็ป„๏ผ‰

Stage 2 ๆ•ฐๆฎ้›†๏ผš่ฏ•็ฉฟๅ™จ

็›ฎๆ ‡๏ผšๆ•™ๆจกๅž‹"ๆŠŠ่กฃๆœ็ฉฟๅˆฐไบบ่บซไธŠ"

โ”Œโ”€ ่ฎญ็ปƒๆ ทๆœฌ็คบไพ‹ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                                                             โ”‚
โ”‚  ๆŽงๅˆถๅ›พ็‰‡ (2ๅผ )         ็ผ–่พ‘ๆŒ‡ไปค          ็›ฎๆ ‡ๅ›พ็‰‡           โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”        โ”‚
โ”‚  โ”‚ ๐Ÿง ๆจก็‰น  โ”‚                          โ”‚          โ”‚        โ”‚
โ”‚  โ”‚  (็ฉฟA่กฃ) โ”‚         "ๆŠŠ่ฟ™ไปถ่กฃๆœ      โ”‚ ๐Ÿง ๆจก็‰น  โ”‚        โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜          ็ฉฟๅˆฐ่ฟ™ไธช         โ”‚  ็ฉฟไธŠไบ†  โ”‚        โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”          ไบบ่บซไธŠ"          โ”‚  B่กฃๆœ๏ผ โ”‚        โ”‚
โ”‚  โ”‚ ๐Ÿ‘” B่กฃๆœ โ”‚                          โ”‚          โ”‚        โ”‚
โ”‚  โ”‚  ็™ฝๅบ•ๅ›พ  โ”‚                          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                                               โ”‚
โ”‚                                                             โ”‚
โ”‚  ๆ•ฐๆฎๅฏน่ฆๆฑ‚๏ผš                                                โ”‚
โ”‚  โ€ข ๆŽงๅˆถๅ›พ1๏ผš็›ฎๆ ‡ไบบ็‰ฉ็š„็…ง็‰‡                                    โ”‚
โ”‚  โ€ข ๆŽงๅˆถๅ›พ2๏ผš่ฆ่ฏ•็ฉฟ็š„่กฃๆœๅนณ้“บๅ›พ                                โ”‚
โ”‚  โ€ข ็›ฎๆ ‡ๅ›พ๏ผšๅŒไธ€ไบบ็‰ฉ็ฉฟ็€่ฏฅ่กฃๆœ็š„็…ง็‰‡                           โ”‚
โ”‚  โ€ข ๆŒ‡ไปค๏ผšๆ่ฟฐ"่ฏ•็ฉฟ"็š„ๆ–‡ๆœฌ                                    โ”‚
โ”‚                                                             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆ•ฐๆฎ้›†่ดจ้‡ๆฃ€ๆŸฅๆธ…ๅ•

โœ… ๆ•ฐๆฎ่ดจ้‡ Checklist
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
โ˜ ๅ›พ็‰‡ๅˆ†่พจ็އ็ปŸไธ€๏ผˆๅปบ่ฎฎ 1024ร—1024 ๆˆ– 768ร—1024๏ผ‰
โ˜ ๆŽงๅˆถๅ›พๅ’Œ็›ฎๆ ‡ๅ›พ็š„่กฃๆœ็กฎๅฎžๆ˜ฏๅŒไธ€ไปถ
โ˜ ่กฃๆœ็ง็ฑปๆœ‰ๅคšๆ ทๆ€ง๏ผˆไธŠ่กฃใ€่ฃ™ๅญใ€ๅค–ๅฅ—็ญ‰๏ผ‰
โ˜ ไบบ็‰ฉไฝ“ๅž‹ๆœ‰ๅคšๆ ทๆ€ง๏ผˆ้ฟๅ…ๆจกๅž‹ๅชๅญฆไผšๅ•ไธ€ไฝ“ๅž‹๏ผ‰
โ˜ ่ƒŒๆ™ฏๅนฒๅ‡€๏ผŒๆฒกๆœ‰ๆ‚ไนฑๅ…ƒ็ด 
โ˜ ่กฃๆœๅนณ้“บๅ›พๆ˜ฏ็™ฝๅบ•๏ผŒๆฒกๆœ‰ๆจก็‰น่บซไฝ“ๆฎ‹็•™
โ˜ ๆ–‡ๅญ—ๆŒ‡ไปค็ฎ€ๆดๆ˜Ž็กฎ๏ผŒๆ ผๅผไธ€่‡ด
โ˜ ๆฒกๆœ‰ๆฐดๅฐใ€LOGO ็ญ‰ๅนฒๆ‰ฐไฟกๆฏ
โ˜ ๅ›พ็‰‡ๆ ผๅผ็ปŸไธ€๏ผˆๅปบ่ฎฎ JPG ๆˆ– PNG๏ผ‰
โ˜ ๆ•ฐ้‡ๅคŸ็”จ๏ผˆๆฏไธช LoRA ่‡ณๅฐ‘ 20 ็ป„๏ผŒ50+ ๆ›ดไฝณ๏ผ‰

Musubi Tuner ็š„ dataset.toml ้…็ฝฎ

Musubi Tuner ไฝฟ็”จ TOML ๆ–‡ไปถๅฎšไน‰ๆ•ฐๆฎ้›†ใ€‚ๅฏนไบŽ Edit ๆจกๅž‹็š„่ฎญ็ปƒ๏ผŒๅ…ณ้”ฎๆ˜ฏ่ฆๆญฃ็กฎๆŒ‡ๅฎš control_content๏ผš

# dataset_extract.toml โ€” ่กฃๆœๆๅ–ๅ™จ LoRA ๆ•ฐๆฎ้›†้…็ฝฎ

[general]
resolution = [1024, 1024]
batch_size = 1
enable_bucket = true

[[datasets]]
image_directory = "path/to/dataset_extract/targets"
control_directory = "path/to/dataset_extract/controls"
caption_extension = ".txt"
# dataset_tryon.toml โ€” ่ฏ•็ฉฟๅ™จ LoRA ๆ•ฐๆฎ้›†้…็ฝฎ
# ๆณจๆ„๏ผš2509/2511 ๆ”ฏๆŒๅคšๆŽงๅˆถๅ›พ

[general]
resolution = [1024, 1024]
batch_size = 1
enable_bucket = true

[[datasets]]
image_directory = "path/to/dataset_tryon/targets"
control_directory = "path/to/dataset_tryon/controls"
caption_extension = ".txt"
# ๅฏนไบŽๅคšๆŽงๅˆถๅ›พ๏ผˆไบบ+่กฃๆœ๏ผ‰๏ผŒ้œ€่ฆๅœจๆŽงๅˆถ็›ฎๅฝ•ไธญๆญฃ็กฎ็ป„็ป‡

โš ๏ธ ้‡่ฆๆ็คบ๏ผšMusubi Tuner ็š„ Edit ๆ•ฐๆฎ้›†้…็ฝฎ่ฆๆฑ‚ๆŽงๅˆถๅ›พๅ’Œ็›ฎๆ ‡ๅ›พ้€š่ฟ‡ๆ–‡ไปถๅ้…ๅฏนใ€‚็กฎไฟ control/001.jpg ๅฏนๅบ” target/001.jpg๏ผŒcaption ๆ–‡ไปถไธบ 001.txtใ€‚

ๅ…ฌๅผ€ๆ•ฐๆฎ้›†่ต„ๆบ

ๅฆ‚ๆžœไธๆƒณไปŽ้›ถ้‡‡้›†๏ผŒๅฏไปฅๅˆฉ็”จ่ฟ™ไบ›ๅ…ฌๅผ€ๆ•ฐๆฎ้›†ไฝœไธบ่ตท็‚น๏ผš

ๆ•ฐๆฎ้›†่ง„ๆจกๅˆ†่พจ็އ็‰น็‚น
VITON-HD13,679 ๅฏน1024ร—768ๆœ€ไธปๆต๏ผŒไธŠ่บซ่กฃ็‰ฉ๏ผŒๅซ DensePose
Dress Code53,795 ๅฏน1024ร—768ๅคšๅ“็ฑป๏ผˆไธŠ่กฃ+ไธ‹่ฃ…+่ฃ™ๅญ๏ผ‰
SAMP-VTONS21,104 ่ฎญ็ปƒ786ร—1024ๅคšๅงฟๆ€๏ผŒๅซๆ–‡ๆœฌๆ่ฟฐ
DeepFashion52,712+ๅคš็งไธฐๅฏŒ็š„ๆœ่ฃ…ๅฑžๆ€งๆ ‡ๆณจ

ไฝ†ๅ…ฌๅผ€ๆ•ฐๆฎ้›†้œ€่ฆๆ”น้€ ๆ‰่ƒฝ็”จไบŽ Edit ๆจกๅž‹่ฎญ็ปƒโ€”โ€”้œ€่ฆๆŠŠไผ ็ปŸ VTON ๆ•ฐๆฎ้›†็š„ (person, garment, result) ไธ‰ๅ…ƒ็ป„่ฝฌๆขไธบ (control_image, caption, target_image) ๆ ผๅผใ€‚


่ฎญ็ปƒ็Žฏๅขƒๆญๅปบ

ๅทฅๅ…ท้€‰ๆ‹ฉ๏ผšMusubi Tuner vs AI-Toolkit

็ปดๅบฆMusubi Tuner (kohya-ss)AI-Toolkit (Ostris)
Edit-2511 ๆ”ฏๆŒโœ… ๅŽŸ็”Ÿ --model_version edit-2511โœ… ๆœ‰้…็ฝฎๆจกๆฟ
็คพๅŒบๆดป่ทƒๅบฆ้ซ˜๏ผŒ1.7k+ stars้ซ˜๏ผŒJames Skelton (DigitalOcean) ้ชŒ่ฏ
VRAM ไผ˜ๅŒ–Block swap๏ผŒๆœ€ไฝŽ 6GB VRAMๆ ‡ๅ‡† gradient checkpointing
้ข„็ผ“ๅญ˜โœ… Latent + Text Encoderโœ… ๆ”ฏๆŒ
Torch Compileโœ… ๅŠ ้€Ÿ่ฎญ็ปƒโš ๏ธ ้ƒจๅˆ†ๆ”ฏๆŒ
GUISECourses ๆไพ› 1-click ๅฎ‰่ฃ…RunComfy ๆไพ› Web ็•Œ้ข
ๆˆ‘็š„้€‰ๆ‹ฉโœ… ไธปๅŠ›ๅค‡้€‰

Musubi Tuner ๅฎ‰่ฃ…

# 1. ๅ…‹้š†ไป“ๅบ“
git clone https://github.com/kohya-ss/musubi-tuner.git
cd musubi-tuner

# 2. ๅˆ›ๅปบ่™šๆ‹Ÿ็Žฏๅขƒ
python -m venv venv
source venv/bin/activate  # Linux/Mac
# venv\Scripts\activate   # Windows

# 3. ๅฎ‰่ฃ…ไพ่ต–
pip install -r requirements.txt
pip install accelerate

# 4. ไธ‹่ฝฝๆจกๅž‹๏ผˆ็บฆ 60GB ๆ€ป่ฎก๏ผ‰
# DiT ๆจกๅž‹
huggingface-cli download Qwen/Qwen-Image-Edit-2511 --local-dir models/dit

# VAE ๆจกๅž‹
huggingface-cli download Qwen/Qwen-Image-Edit-2511 --include "vae/*" --local-dir models/vae

# Text Encoder (Qwen2.5-VL)
huggingface-cli download Qwen/Qwen2.5-VL-7B-Instruct --local-dir models/text_encoder

็กฌไปถ่ฆๆฑ‚

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ็กฌไปถ้œ€ๆฑ‚้€ŸๆŸฅ่กจ                             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚              โ”‚  ่ฎญ็ปƒ                     ๆŽจ็†               โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ VRAM (ๆœ€ไฝŽ)  โ”‚  6 GB (ๆž้™ไผ˜ๅŒ–)          6 GB (GGUF/NF4)   โ”‚
โ”‚ VRAM (ๆŽจ่)  โ”‚  24 GB (RTX 4090/5090)   12 GB (FP8)       โ”‚
โ”‚ VRAM (่ˆ’้€‚)  โ”‚  48 GB+ (A6000)          24 GB (BF16)      โ”‚
โ”‚ ็ณป็ปŸๅ†…ๅญ˜     โ”‚  64 GB+                  32 GB+             โ”‚
โ”‚ ๅญ˜ๅ‚จ็ฉบ้—ด     โ”‚  100 GB+ (ๆจกๅž‹+็ผ“ๅญ˜)     60 GB (ๆจกๅž‹)       โ”‚
โ”‚ GPU ๅž‹ๅท     โ”‚  RTX 4090 / H100 / A6000  RTX 3060+         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ ไบ‘ๆœๅŠกไปทๆ ผๅ‚่€ƒโ”‚                                              โ”‚
โ”‚ RunPod       โ”‚  RTX 4090: ~$0.44/hr                        โ”‚
โ”‚ Lambda Labs  โ”‚  H100: ~$2.49/hr                            โ”‚
โ”‚ Vast.ai      โ”‚  RTX 4090: ~$0.35/hr                        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

VRAM ไผ˜ๅŒ–ๆŠ€ๅทง

ๅฆ‚ๆžœไฝ ๆ‰‹ๅคดๅชๆœ‰ 24GB ๆ˜พๅก๏ผˆๆฏ”ๅฆ‚ RTX 4090๏ผ‰๏ผŒไปฅไธ‹ไผ˜ๅŒ–ๅฏไปฅๅธฎไฝ ่ท‘้€š่ฎญ็ปƒ๏ผš

# Block swap๏ผšๅฐ†้ƒจๅˆ† Transformer ๅ—ไบคๆขๅˆฐ CPU ๅ†…ๅญ˜
--blocks_to_swap 20

# FP8 ้‡ๅŒ– Text Encoder
--fp8_vl

# ้™ไฝŽๅˆ†่พจ็އ๏ผˆไปŽ 1024 ้™ๅˆฐ 512/768๏ผ‰
# ๅœจ dataset.toml ไธญ่ฎพ็ฝฎ resolution = [768, 768]

# ๅ‡ๅฐ LoRA rank
--network_dim 16  # ่€Œไธๆ˜ฏ้ป˜่ฎค็š„ 64 ๆˆ– 128

# Gradient checkpointing
--gradient_checkpointing

LoRA ่ฎญ็ปƒๅฎžๆˆ˜

Stage 1๏ผš่ฎญ็ปƒ่กฃๆœๆๅ–ๅ™จ LoRA

# Step 1: ้ข„็ผ“ๅญ˜ Latents๏ผˆไป…้œ€่ฟ่กŒไธ€ๆฌก๏ผ‰
python src/musubi_tuner/qwen_image_cache_latents.py \
    --dataset_config dataset_extract.toml \
    --vae models/vae \
    --model_version edit-2511

# Step 2: ้ข„็ผ“ๅญ˜ Text Encoder ่พ“ๅ‡บ๏ผˆไป…้œ€่ฟ่กŒไธ€ๆฌก๏ผ‰
python src/musubi_tuner/qwen_image_cache_text_encoder_outputs.py \
    --dataset_config dataset_extract.toml \
    --text_encoder models/text_encoder \
    --model_version edit-2511 \
    --fp8_vl  # ็”จ FP8 ่Š‚็œ VRAM

# Step 3: ๅผ€ๅง‹่ฎญ็ปƒ
accelerate launch --num_cpu_threads_per_process 1 --mixed_precision bf16 \
    src/musubi_tuner/qwen_image_train_network.py \
    --dit models/dit \
    --vae models/vae \
    --text_encoder models/text_encoder \
    --dataset_config dataset_extract.toml \
    --model_version edit-2511 \
    --output_dir output/extract_lora \
    --output_name qwen_edit_extract_clothing \
    --network_module networks.lora \
    --network_dim 32 \
    --network_alpha 16 \
    --learning_rate 1e-4 \
    --lr_scheduler cosine_with_restarts \
    --max_train_steps 3000 \
    --save_every_n_steps 500 \
    --optimizer_type adamw8bit \
    --mixed_precision bf16 \
    --gradient_checkpointing \
    --blocks_to_swap 20 \
    --fp8_vl \
    --seed 42

Stage 2๏ผš่ฎญ็ปƒ่ฏ•็ฉฟๅ™จ LoRA

# ้ข„็ผ“ๅญ˜ๆญฅ้ชคๅŒไธŠ๏ผŒๅช้œ€ๆข dataset config

# ่ฎญ็ปƒ่ฏ•็ฉฟๅ™จ
accelerate launch --num_cpu_threads_per_process 1 --mixed_precision bf16 \
    src/musubi_tuner/qwen_image_train_network.py \
    --dit models/dit \
    --vae models/vae \
    --text_encoder models/text_encoder \
    --dataset_config dataset_tryon.toml \
    --model_version edit-2511 \
    --output_dir output/tryon_lora \
    --output_name qwen_edit_tryon_clothes \
    --network_module networks.lora \
    --network_dim 32 \
    --network_alpha 16 \
    --learning_rate 1e-4 \
    --lr_scheduler cosine_with_restarts \
    --max_train_steps 3000 \
    --save_every_n_steps 500 \
    --optimizer_type adamw8bit \
    --mixed_precision bf16 \
    --gradient_checkpointing \
    --blocks_to_swap 20 \
    --fp8_vl \
    --seed 42

ๅ…ณ้”ฎ่ฎญ็ปƒๅ‚ๆ•ฐ่งฃ่ฏป

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                 LoRA ่ฎญ็ปƒๅ‚ๆ•ฐ้€ŸๆŸฅ                               โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ ๅ‚ๆ•ฐ              โ”‚ ๆŽจ่ๅ€ผ  โ”‚ ่ฏดๆ˜Ž                            โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ network_dim      โ”‚ 32     โ”‚ LoRA ็งฉ๏ผŒ่ถŠๅคงๅฎน้‡่ถŠๅคงไฝ†ๆ˜“่ฟ‡ๆ‹Ÿๅˆ   โ”‚
โ”‚ network_alpha    โ”‚ 16     โ”‚ ็ผฉๆ”พๅ› ๅญ๏ผŒ้€šๅธธ่ฎพไธบ dim ็š„ไธ€ๅŠ     โ”‚
โ”‚ learning_rate    โ”‚ 1e-4   โ”‚ ๅคช้ซ˜้œ‡่ก๏ผŒๅคชไฝŽๅญฆไธๅŠจ              โ”‚
โ”‚ max_train_steps  โ”‚ 3000   โ”‚ 20 ๅผ ๆ•ฐๆฎ็บฆ่ฎญ 3000 ๆญฅ            โ”‚
โ”‚ optimizer        โ”‚ adamw  โ”‚ AdamW 8bit ็œ VRAM              โ”‚
โ”‚ blocks_to_swap   โ”‚ 20     โ”‚ 24GB VRAM ๅปบ่ฎฎ 20               โ”‚
โ”‚ fp8_vl           โ”‚ ๅผ€ๅฏ   โ”‚ Text Encoder FP8 ้‡ๅŒ–            โ”‚
โ”‚ seed             โ”‚ 42     โ”‚ ๅ›บๅฎš็งๅญไพฟไบŽๅค็Žฐ                  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ ๆ•ฐๆฎ้›†้…็ฝฎ        โ”‚        โ”‚                                  โ”‚
โ”‚ resolution       โ”‚ 1024   โ”‚ 768 ๅฏ็œ VRAM๏ผŒ1024 ๆ•ˆๆžœๆ›ดๅฅฝ     โ”‚
โ”‚ batch_size       โ”‚ 1-4    โ”‚ VRAM ๅ…่ฎธๆ—ถๅขžๅคงๅŠ ้€Ÿๆ”ถๆ•›           โ”‚
โ”‚ enable_bucket    โ”‚ true   โ”‚ ๆ”ฏๆŒไธๅŒๅˆ†่พจ็އๅ›พ็‰‡                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

่ฎญ็ปƒ่ฟ‡็จ‹็›‘ๆŽง

# ไฝฟ็”จ TensorBoard ็›‘ๆŽง
tensorboard --logdir output/extract_lora/logs

# ๅ…ณๆณจ่ฟ™ไบ›ๆŒ‡ๆ ‡๏ผš
# 1. loss ๆ›ฒ็บฟ๏ผšๅบ”่ฏฅ็จณๆญฅไธ‹้™
# 2. ๅญฆไน ็އๅ˜ๅŒ–๏ผšcosine scheduler ๅบ”่ฏฅๅนณๆป‘่กฐๅ‡
# 3. ๆฏ 500 ๆญฅ็š„ checkpoint๏ผš็”จๆฅๅšไธญ้—ดๆ•ˆๆžœๆต‹่ฏ•

ๅธธ่ง่ฎญ็ปƒ้—ฎ้ข˜ไธŽ่งฃๅ†ณ

้—ฎ้ข˜ๅฏ่ƒฝๅŽŸๅ› ่งฃๅ†ณๆ–นๆกˆ
Loss ไธไธ‹้™ๅญฆไน ็އๅคชๅฐ / ๆ•ฐๆฎๆ ผๅผ้”™่ฏฏๆฃ€ๆŸฅๆ•ฐๆฎไธ‰ๅ…ƒ็ป„ๆ˜ฏๅฆๆญฃ็กฎ้…ๅฏน
่ฟ‡ๆ‹Ÿๅˆ๏ผˆ่ฎญ็ปƒๅฅฝๆต‹่ฏ•ๅทฎ๏ผ‰ๆ•ฐๆฎๅคชๅฐ‘ / rank ๅคช้ซ˜้™ไฝŽ network_dim๏ผŒๅขžๅŠ ๆ•ฐๆฎ้‡
OOM (ๆ˜พๅญ˜ไธ่ถณ)ๅˆ†่พจ็އๅคช้ซ˜ / batch ๅคชๅคงๅขžๅŠ  blocks_to_swap๏ผŒ้™ๅˆ†่พจ็އ
่พ“ๅ‡บๆœ‰ไผชๅฝฑ่ฎญ็ปƒๆญฅๆ•ฐไธๅคŸ / ๆ•ฐๆฎ่ดจ้‡ๅทฎๆฃ€ๆŸฅๆ•ฐๆฎ่ดจ้‡๏ผŒ้€‚ๅฝ“ๅขžๅŠ ๆญฅๆ•ฐ
่กฃๆœ็ป†่Š‚ไธขๅคฑLoRA ๅฎน้‡ไธ่ถณๅขžๅŠ  network_dim ๅˆฐ 64
ไบบไฝ“ๅ˜ๅฝขๆ•ฐๆฎๅคšๆ ทๆ€งไธ่ถณๅขžๅŠ ไธๅŒไฝ“ๅž‹็š„่ฎญ็ปƒๆ ทๆœฌ

ๆŽจ็†ไธŽ้ƒจ็ฝฒ

ๅฎŒๆ•ดๆŽจ็†ไปฃ็ 

import torch
from PIL import Image
from diffusers import QwenImageEditPlusPipeline

# ๅŠ ่ฝฝๅŸบๅบงๆจกๅž‹
pipeline = QwenImageEditPlusPipeline.from_pretrained(
    "Qwen/Qwen-Image-Edit-2511",
    torch_dtype=torch.bfloat16
).to("cuda")

# ===== Stage 1: ่กฃๆœๆๅ– =====

# ๅŠ ่ฝฝ Extract LoRA
pipeline.load_lora_weights(
    "path/to/extract_lora",
    weight_name="qwen_edit_extract_clothing.safetensors",
    adapter_name="extract"
)

# ่พ“ๅ…ฅๆจก็‰น็…ง็‰‡
model_photo = Image.open("model_wearing_dress.jpg").convert("RGB")

# ๆๅ–่กฃๆœ
extracted = pipeline(
    image=[model_photo],
    prompt="remove the person from this image, but leave the outfit. "
           "the clothes should remain after deleting the person's body, "
           "skin, and hair. leave the clothes in front of a white background",
    num_inference_steps=50,
    generator=torch.manual_seed(42)
).images[0]

# ๅธ่ฝฝ Extract LoRA
pipeline.unload_lora_weights()

extracted.save("extracted_clothing.jpg")


# ===== Stage 2: ่™šๆ‹Ÿ่ฏ•็ฉฟ =====

# ๅŠ ่ฝฝ TryOn LoRA
pipeline.load_lora_weights(
    "path/to/tryon_lora",
    weight_name="qwen_edit_tryon_clothes.safetensors",
    adapter_name="tryon"
)

# ่พ“ๅ…ฅ็›ฎๆ ‡ไบบ็‰ฉ + ๆๅ–ๅ‡บ็š„่กฃๆœ
target_person = Image.open("target_person.jpg").convert("RGB")

# ่ฏ•็ฉฟ๏ผ
result = pipeline(
    image=[target_person, extracted],
    prompt="dress the clothing onto the person",
    num_inference_steps=50,
    generator=torch.manual_seed(42)
).images[0]

# ๅธ่ฝฝ TryOn LoRA
pipeline.unload_lora_weights()

result.save("tryon_result.jpg")
print("่™šๆ‹Ÿ่ฏ•็ฉฟๅฎŒๆˆ๏ผ")

ๆŽจ็†ไผ˜ๅŒ–

# ๆ–นๆกˆ 1: FP8 ้‡ๅŒ–๏ผˆ12GB VRAM๏ผ‰
from diffusers import BitsAndBytesConfig
import bitsandbytes as bnb

nf4_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16
)

pipeline = QwenImageEditPlusPipeline.from_pretrained(
    "Qwen/Qwen-Image-Edit-2511",
    quantization_config=nf4_config,
    torch_dtype=torch.bfloat16
)

# ๆ–นๆกˆ 2: Lightning LoRA ๅŠ ้€Ÿ๏ผˆ4 ๆญฅ็”Ÿๆˆ๏ผ‰
# ็คพๅŒบๆไพ›ไบ† 4-step Lightning LoRA๏ผŒๅฏไปฅๅฐ† 50 ๆญฅๆŽจ็†ๅŽ‹็ผฉๅˆฐ 4 ๆญฅ
# ไปฃไปทๆ˜ฏ่ฝปๅพฎ็š„่ดจ้‡ไธ‹้™๏ผŒไฝ†้€Ÿๅบฆๆๅ‡ 10x+

# ๆ–นๆกˆ 3: ไฝฟ็”จ DiffSynth-Studio ็š„้€ๅฑ‚ offload
# ๆž็ซฏๆƒ…ๅ†ตไธ‹ๅฏๅœจ 4GB VRAM ไธŠ่ฟ่กŒๆŽจ็†

้ƒจ็ฝฒๆžถๆž„

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ็”Ÿไบง้ƒจ็ฝฒๆžถๆž„                           โ”‚
โ”‚                                                          โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚             โ”‚     โ”‚        GPU Server             โ”‚   โ”‚
โ”‚  โ”‚   Web App   โ”‚ โ”€โ”€โ–ถ โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚   โ”‚
โ”‚  โ”‚  (Gradio/   โ”‚     โ”‚  โ”‚   FastAPI / Triton       โ”‚ โ”‚   โ”‚
โ”‚  โ”‚   React)    โ”‚ โ—€โ”€โ”€ โ”‚  โ”‚                          โ”‚ โ”‚   โ”‚
โ”‚  โ”‚             โ”‚     โ”‚  โ”‚  Pipeline (ๅธธ้ฉปๆ˜พๅญ˜)      โ”‚ โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ”‚  โ”‚  โ”œโ”€โ”€ Extract LoRA (ๆŒ‰้œ€)  โ”‚ โ”‚   โ”‚
โ”‚                       โ”‚  โ”‚  โ””โ”€โ”€ TryOn LoRA (ๆŒ‰้œ€)   โ”‚ โ”‚   โ”‚
โ”‚                       โ”‚  โ”‚                          โ”‚ โ”‚   โ”‚
โ”‚                       โ”‚  โ”‚  load/unload LoRA ~0.5s  โ”‚ โ”‚   โ”‚
โ”‚                       โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚   โ”‚
โ”‚                       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                                          โ”‚
โ”‚  ่ฆ็‚น๏ผš                                                   โ”‚
โ”‚  โ€ข Pipeline ๅธธ้ฉป GPU๏ผŒๅชๅˆ‡ๆข LoRA ๆƒ้‡                    โ”‚
โ”‚  โ€ข LoRA ๅˆ‡ๆขๆžๅฟซ๏ผˆ<1 ็ง’๏ผ‰๏ผŒไธ้œ€่ฆ้‡่ฝฝๆจกๅž‹                  โ”‚
โ”‚  โ€ข ๅ•ๆฌกๆŽจ็† ~30-60s๏ผˆ50 ๆญฅ๏ผ‰๏ผŒLightning LoRA ~5-10s๏ผˆ4ๆญฅ๏ผ‰ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

่ฏ„ไผฐไธŽไผ˜ๅŒ–็ญ–็•ฅ

้‡ๅŒ–่ฏ„ไผฐๆŒ‡ๆ ‡

ๆŒ‡ๆ ‡ๅซไน‰็›ฎๆ ‡ๅทฅๅ…ท
FID โ†“็”Ÿๆˆๅ›พไธŽ็œŸๅฎžๅ›พ็š„ๅˆ†ๅธƒ่ท็ฆป่ถŠไฝŽ่ถŠๅฅฝpytorch-fid
SSIM โ†‘็ป“ๆž„็›ธไผผๅบฆ่ถŠ้ซ˜่ถŠๅฅฝscikit-image
LPIPS โ†“ๆ„Ÿ็Ÿฅ็›ธไผผๅบฆ่ถŠไฝŽ่ถŠๅฅฝlpips
CLIP Score โ†‘ๅ›พๆ–‡ไธ€่‡ดๆ€ง่ถŠ้ซ˜่ถŠๅฅฝtransformers

ไบบๅทฅ่ฏ„ไผฐ็ปดๅบฆ

โ”Œโ”€ VTON ๆ•ˆๆžœไบบๅทฅ่ฏ„ไผฐ่กจ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                                                            โ”‚
โ”‚  1. ่กฃๆœไฟ็œŸๅบฆ (1-5 ๅˆ†)                                     โ”‚
โ”‚     ่กฃๆœ็š„้ขœ่‰ฒใ€ๅ›พๆกˆใ€็‰ˆๅž‹ๆ˜ฏๅฆไธŽๅŽŸๅ›พไธ€่‡ด๏ผŸ                     โ”‚
โ”‚                                                            โ”‚
โ”‚  2. ไบบไฝ“่‡ช็„ถๅบฆ (1-5 ๅˆ†)                                     โ”‚
โ”‚     ็ฉฟไธŠ่กฃๆœๅŽไบบไฝ“ๆ˜ฏๅฆ่‡ช็„ถ๏ผŸๆœ‰ๆ— ๅ˜ๅฝขใ€้ฎๆŒกไธๅฝ“๏ผŸ              โ”‚
โ”‚                                                            โ”‚
โ”‚  3. ่บซไปฝไฟๆŒ (1-5 ๅˆ†)                                       โ”‚
โ”‚     ๆข่ฃ…ๅŽไบบ่„ธ/ๅ‘ๅž‹/่‚ค่‰ฒๆ˜ฏๅฆๆ”นๅ˜๏ผŸ                            โ”‚
โ”‚                                                            โ”‚
โ”‚  4. ่พน็ผ˜่ดจ้‡ (1-5 ๅˆ†)                                       โ”‚
โ”‚     ่กฃๆœๅ’Œไบบไฝ“็š„ๆŽฅ็ผๅค„ๆ˜ฏๅฆ่‡ช็„ถ๏ผŸๆœ‰ๆ— ้”ฏ้ฝฟ/ๆบข่‰ฒ๏ผŸ              โ”‚
โ”‚                                                            โ”‚
โ”‚  5. ๆ•ดไฝ“ๅฎก็พŽ (1-5 ๅˆ†)                                       โ”‚
โ”‚     ๆ•ดๅผ ๅ›พ็œ‹่ตทๆฅๆ˜ฏๅฆๅƒ็œŸๅฎž็…ง็‰‡๏ผŸ                              โ”‚
โ”‚                                                            โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

่ฟญไปฃไผ˜ๅŒ–่ทฏๅพ„

Round 1: ๅŸบ็บฟ้ชŒ่ฏ
  โ”œโ”€โ”€ 20 ็ป„ๆ•ฐๆฎ + 3000 ๆญฅ่ฎญ็ปƒ
  โ”œโ”€โ”€ ้ชŒ่ฏ Pipeline ๆ˜ฏๅฆ่ท‘้€š
  โ””โ”€โ”€ ๆ”ถ้›†็ฌฌไธ€ๆ‰น็ป“ๆžœ๏ผŒๆ‰พๅ‡บไธป่ฆ้—ฎ้ข˜

Round 2: ๆ•ฐๆฎไผ˜ๅŒ–
  โ”œโ”€โ”€ ๆ นๆฎ Round 1 ็š„้—ฎ้ข˜๏ผŒ้’ˆๅฏนๆ€ง่กฅๅ……ๆ•ฐๆฎ
  โ”œโ”€โ”€ ๆฏ”ๅฆ‚่กฃๆœ็ป†่Š‚ไธขๅคฑ โ†’ ๅขžๅŠ ็‰นๅ†™ๆ•ฐๆฎ
  โ””โ”€โ”€ ๆฏ”ๅฆ‚ไฝ“ๅž‹ๅ˜ๅฝข โ†’ ๅขžๅŠ ไฝ“ๅž‹ๅคšๆ ทๆ€ง

Round 3: ๅ‚ๆ•ฐ่ฐƒไผ˜
  โ”œโ”€โ”€ ๅฐ่ฏ•ไธๅŒ rank (16/32/64)
  โ”œโ”€โ”€ ๅฐ่ฏ•ไธๅŒๅญฆไน ็އ (5e-5 ~ 2e-4)
  โ””โ”€โ”€ ่ฐƒๆ•ด่ฎญ็ปƒๆญฅๆ•ฐ (2000 ~ 5000)

Round 4: ่ดจ้‡ๆๅ‡
  โ”œโ”€โ”€ ๅขžๅŠ ๆ•ฐๆฎๅˆฐ 50-100 ็ป„
  โ”œโ”€โ”€ ๅผ•ๅ…ฅๅŽๅค„็†๏ผˆSeedVR2 ่ถ…ๅˆ†ใ€้ข้ƒจไฟฎๅค๏ผ‰
  โ””โ”€โ”€ ๅคš็ง่กฃ็‰ฉ็ฑปๅž‹ๆต‹่ฏ•๏ผˆไธŠ่กฃ/่ฃคๅญ/่ฃ™ๅญ/ๅค–ๅฅ—๏ผ‰

ๅทฒ้ชŒ่ฏ็š„ๅ‚่€ƒๆกˆไพ‹

James Skelton ็š„ Clothing Try-On App (DigitalOcean)

่ฟ™ๆ˜ฏ็›ฎๅ‰ๆœ€ๅฎŒๆ•ด็š„ Qwen-Image-Edit VTON ๅ‚่€ƒๅฎž็Žฐ๏ผŒ็”ฑ DigitalOcean ๆŠ€ๆœฏๅธƒ้“ๅธˆ James Skelton ๅ‘ๅธƒ๏ผš

้กน็›ฎ่ฏฆๆƒ…
ๅŸบๅบงๆจกๅž‹Qwen-Image-Edit-2509
่ฎญ็ปƒๅทฅๅ…ทOstris AI-Toolkit
่ฎญ็ปƒ็กฌไปถNVIDIA H100 (GPU Droplet)
่ฎญ็ปƒๆญฅๆ•ฐ3000 ๆญฅ / LoRA
Batch Size4
่ฎญ็ปƒๆ•ฐๆฎ20 ็ป„ / LoRA
LoRA ๆ•ฐ้‡2 ไธช๏ผˆExtract + TryOn๏ผ‰
ๆŽจ็†ๆก†ๆžถDiffusers QwenImageEditPlusPipeline
้ƒจ็ฝฒๅนณๅฐHuggingFace Spaces (Gradio)
HF ๆจกๅž‹JamesDigitalOcean/Qwen_Image_Edit_Extract_Clothing
JamesDigitalOcean/Qwen_Image_Edit_Try_On_Clothes

่ฟ™ไธชๆกˆไพ‹่ฏๆ˜Žไบ†๏ผšไป…้œ€ 20 ็ป„่ฎญ็ปƒๆ•ฐๆฎ + 3000 ๆญฅ่ฎญ็ปƒ๏ผŒๅฐฑ่ƒฝๅพ—ๅˆฐๅฏ็”จ็š„ VTON LoRAใ€‚่ฟ™ๅฏนไบŽๅฟซ้€Ÿ้ชŒ่ฏ POC ๆฅ่ฏดๆ˜ฏๆžๅฅฝ็š„ๆถˆๆฏใ€‚

CivitAI ็คพๅŒบ VTON LoRA

Reddit ๅ’Œ CivitAI ็คพๅŒบไนŸๆœ‰ๅคšไฝ็”จๆˆทๅˆ†ไบซไบ† VTON LoRA๏ผš

  • ่กฃๆœๆๅ– LoRA + ่ฏ•็ฉฟ LoRA ็š„็ป„ๅˆๆ–นๆกˆ
  • ๆณจๆ„๏ผš็คพๅŒบๅ้ฆˆ้ƒจๅˆ†็ป“ๆžœๆœ‰่ดจ้‡ไธ‹้™๏ผŒๅปบ่ฎฎ้…ๅˆ SeedVR2 ่ถ…ๅˆ†ไฟฎๅค

Cu-VTON ๅญฆๆœฏๆ–นๆกˆ

EmergentMind ๆ”ถๅฝ•็š„ Cu-VTON ่ฎบๆ–‡ๆๅ‡บไบ†ๆ›ดๅญฆๆœฏๅŒ–็š„ๆ–นๆกˆ๏ผš

  • ๅคšๆฆ‚ๅฟต LoRA ๆณจๅ…ฅ๏ผˆไบบ็‰ฉ่บซไปฝ + ๆœ่ฃ…้ฃŽๆ ผๅ…ˆ้ชŒ๏ผ‰
  • DensePose/ControlNet ๆกไปถ่พ…ๅŠฉ
  • BLIP2+CLIP ่ฏญไน‰ๅขžๅผบ
  • ้€‚ๅˆ่ฟฝๆฑ‚ๆž่‡ดๆ•ˆๆžœไฝ†ไธๆ€ฅไบŽๅ•†ไธšๅŒ–็š„ๅœบๆ™ฏ

ๅฎŒๆ•ด Roadmap ไธŽ Checklist

้กน็›ฎๆ—ถ้—ด็บฟ

Week 1: ๅŸบ็ก€่ฎพๆ–ฝ
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”

Day 1-2: ็Žฏๅขƒๆญๅปบ
  โ˜ ๅฎ‰่ฃ… Musubi Tuner + ไพ่ต–
  โ˜ ไธ‹่ฝฝ Qwen-Image-Edit-2511 ๆจกๅž‹๏ผˆDiT+VAE+TextEncoder๏ผ‰
  โ˜ ้ชŒ่ฏๅŸบๅบงๆจกๅž‹ๆŽจ็†ๆญฃๅธธ
  โ˜ ๅฎ‰่ฃ… AI-Toolkit ไฝœไธบๅค‡้€‰

Day 3-5: ๆ•ฐๆฎ้‡‡้›†ไธŽๆ ‡ๆณจ
  โ˜ ็กฎๅฎš่กฃๆœๅ“็ฑป่Œƒๅ›ด๏ผˆไธŠ่กฃ/่ฃคๅญ/่ฃ™ๅญ/ๅค–ๅฅ—๏ผ‰
  โ˜ ้‡‡้›† 30 ็ป„ Extract ่ฎญ็ปƒๆ•ฐๆฎ๏ผˆๆจก็‰น็…ง + ่กฃๆœๅนณ้“บๅ›พ๏ผ‰
  โ˜ ้‡‡้›† 30 ็ป„ TryOn ่ฎญ็ปƒๆ•ฐๆฎ๏ผˆไบบ็‰ฉ + ่กฃๆœ + ็ฉฟ็€ๆ•ˆๆžœ๏ผ‰
  โ˜ ็ผ–ๅ†™ๆ ‡ๆณจ่„šๆœฌ๏ผŒๆ‰น้‡็”Ÿๆˆ caption.txt
  โ˜ ๆ•ฐๆฎ่ดจ้‡ๆฃ€ๆŸฅ + ๆธ…ๆด—

Day 6-7: ๆ•ฐๆฎ้ข„ๅค„็†
  โ˜ ็ปŸไธ€ๅ›พ็‰‡ๅˆ†่พจ็އ๏ผˆ1024ร—1024๏ผ‰
  โ˜ ่ฟ่กŒ latent ้ข„็ผ“ๅญ˜
  โ˜ ่ฟ่กŒ text encoder ่พ“ๅ‡บ้ข„็ผ“ๅญ˜
  โ˜ ้ชŒ่ฏ dataset.toml ้…็ฝฎๆญฃ็กฎ

โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
Week 2: ่ฎญ็ปƒไธŽ่ฟญไปฃ
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”

Day 8-9: Stage 1 ่ฎญ็ปƒ๏ผˆExtract LoRA๏ผ‰
  โ˜ ่ฟ่กŒ 3000 ๆญฅ่ฎญ็ปƒ
  โ˜ ๅœจ 500/1000/1500/2000/2500/3000 ๆญฅๅ„ไฟๅญ˜ checkpoint
  โ˜ ้€ไธ€ๆต‹่ฏ•ๆฏไธช checkpoint ็š„ๆ•ˆๆžœ
  โ˜ ้€‰ๅ‡บๆœ€ไฝณ checkpoint

Day 10-11: Stage 2 ่ฎญ็ปƒ๏ผˆTryOn LoRA๏ผ‰
  โ˜ ่ฟ่กŒ 3000 ๆญฅ่ฎญ็ปƒ
  โ˜ ๅŒๆ ทไฟๅญ˜ๅคšไธช checkpoint ๅนถๆต‹่ฏ•
  โ˜ ้€‰ๅ‡บๆœ€ไฝณ checkpoint

Day 12-14: ่”ๅˆๆต‹่ฏ•ไธŽ่ฟญไปฃ
  โ˜ ๅฐ†ไธคไธช LoRA ไธฒ่”ๆต‹่ฏ•็ซฏๅˆฐ็ซฏๆ•ˆๆžœ
  โ˜ ๆ”ถ้›†ๅคฑ่ดฅๆกˆไพ‹๏ผŒๅˆ†ๆžๅŽŸๅ› 
  โ˜ ่กฅๅ……ๆ•ฐๆฎ / ่ฐƒๆ•ดๅ‚ๆ•ฐ๏ผŒ่ฟ›่กŒ็ฌฌไบŒ่ฝฎ่ฎญ็ปƒ
  โ˜ ้‡ๅŒ–่ฏ„ไผฐ๏ผˆFID/SSIM/LPIPS๏ผ‰

โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
Week 3: ไผ˜ๅŒ–ไธŽ้ƒจ็ฝฒ
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”

Day 15-17: ่ดจ้‡ไผ˜ๅŒ–
  โ˜ ๅขžๅŠ ่ฎญ็ปƒๆ•ฐๆฎๅˆฐ 50-100 ็ป„
  โ˜ ๅฐ่ฏ•ไธๅŒ LoRA rank (16/32/64)
  โ˜ ๅผ•ๅ…ฅๅŽๅค„็† pipeline๏ผˆ่ถ…ๅˆ†ใ€้ข้ƒจไฟฎๅค๏ผ‰
  โ˜ ๅคšๅ“็ฑป่กฃ็‰ฉ็ณป็ปŸๆต‹่ฏ•

Day 18-19: ๆŽจ็†ไผ˜ๅŒ–
  โ˜ ๆต‹่ฏ• FP8/NF4 ้‡ๅŒ–ๆŽจ็†
  โ˜ ๆต‹่ฏ• Lightning LoRA 4 ๆญฅๅฟซ้€ŸๆŽจ็†
  โ˜ ไผ˜ๅŒ–ๆŽจ็†้€Ÿๅบฆ๏ผŒ็›ฎๆ ‡ <30s/ๅ›พ
  โ˜ ็ผ–ๅ†™ Gradio Demo

Day 20-21: ้ƒจ็ฝฒ
  โ˜ ๆ‰“ๅŒ…ๆˆ FastAPI ๆœๅŠก
  โ˜ ้ƒจ็ฝฒๅˆฐไบ‘ GPU๏ผˆRunPod/Lambda๏ผ‰
  โ˜ ๅŽ‹ๅŠ›ๆต‹่ฏ•
  โ˜ ็ผ–ๅ†™ API ๆ–‡ๆกฃ

โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
ๅŽ็ปญ: ๆŒ็ปญๆ”น่ฟ›
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”

  โ˜ ็ญ‰ Qwen-Image 2.0 ๅทฅๅ…ท้“พๆˆ็†ŸๅŽ่ฟ็งป
  โ˜ ๆŽข็ดข Layered ๆจกๅž‹ๅšๅˆ†ๅฑ‚่ฏ•่กฃ
  โ˜ ๅŠ ๅ…ฅ DensePose/ControlNet ๆกไปถ่พ…ๅŠฉ
  โ˜ ๆž„ๅปบ่‡ชๅŠจ่ฏ„ไผฐ pipeline
  โ˜ A/B ๆต‹่ฏ•ไธŽ็”จๆˆทๅ้ฆˆๆ”ถ้›†

ๆ ธๅฟƒไพ่ต–ๆธ…ๅ•

ๆจกๅž‹ๆ–‡ไปถ:
โ”œโ”€โ”€ Qwen/Qwen-Image-Edit-2511 (DiT)          ~40 GB
โ”œโ”€โ”€ Qwen/Qwen-Image-Edit-2511 (VAE)          ~400 MB
โ”œโ”€โ”€ Qwen/Qwen2.5-VL-7B-Instruct              ~15 GB
โ””โ”€โ”€ (ๅฏ้€‰) Lightning LoRA (4-step)             ~100 MB

่ฝฏไปถไพ่ต–:
โ”œโ”€โ”€ Python 3.10+
โ”œโ”€โ”€ PyTorch 2.1+ (CUDA 12.1)
โ”œโ”€โ”€ diffusers >= 0.36.0
โ”œโ”€โ”€ transformers >= 4.57
โ”œโ”€โ”€ accelerate
โ”œโ”€โ”€ bitsandbytes (้‡ๅŒ–)
โ”œโ”€โ”€ musubi-tuner (่ฎญ็ปƒ)
โ””โ”€โ”€ tensorboard (็›‘ๆŽง)

็กฌไปถ:
โ”œโ”€โ”€ ่ฎญ็ปƒ: NVIDIA GPU 24GB+ (RTX 4090 / A6000 / H100)
โ”œโ”€โ”€ ๆŽจ็†: NVIDIA GPU 6GB+ (RTX 3060+)
โ””โ”€โ”€ ๅญ˜ๅ‚จ: 200 GB+ SSD

ๅ†™ๅœจๆœ€ๅŽ

ๅ›ž่ฟ‡ๅคด็œ‹๏ผŒไปŽ JCo-MVTON ๅˆฐ Qwen-Image-Edit + LoRA ็š„ๆ–นๆกˆ่ฟ็งป๏ผŒๆœฌ่ดจไธŠๆ˜ฏไธ€ๆฌก่Œƒๅผ่ฝฌๆข๏ผš

ๆ—ง่Œƒๅผ๏ผš่ฎพ่ฎกไธ“็”จๆžถๆž„่งฃๅ†ณไธ“็”จ้—ฎ้ข˜
  โ†’ ๆžถๆž„ๅคๆ‚ใ€็ปดๆŠคๅ›ฐ้šพใ€ๆ— ๆณ•ๅค็”จ

ๆ–ฐ่Œƒๅผ๏ผš้€š็”จๅคงๆจกๅž‹ + ่ฝป้‡ๅพฎ่ฐƒ = ่งฃๅ†ณ็‰นๅฎš้—ฎ้ข˜
  โ†’ ๆžถๆž„็ฎ€ๆดใ€็ปดๆŠคๅฎนๆ˜“ใ€ๅบ•ๅบงๅ‡็บงๅ…่ดนไบซๅ—

Qwen-Image-Edit ็š„ LoRA VTON ๆ–นๆกˆ็›ฎๅ‰ๅทฒ็ป่ขซ็คพๅŒบ้ชŒ่ฏๅฏ่กŒ๏ผˆJames Skelton ็š„ๆ•™็จ‹่ฏๆ˜Ž 20 ๅผ ๅ›พ + 3000 ๆญฅๅฐฑ่ƒฝ็”จ๏ผ‰๏ผŒ่€Œไธ”้š็€ Qwen-Image 2.0๏ผˆ7B ๅ‚ๆ•ฐใ€2K ๅˆ†่พจ็އ๏ผ‰็š„ๆˆ็†Ÿ๏ผŒๆœชๆฅๅชไผšๆ›ดๅฅฝใ€‚

ๆœ€่ฎฉๆˆ‘ๅ…ดๅฅ‹็š„ไธ€็‚นๆ˜ฏ๏ผš่ฟ™ไธๅชๆ˜ฏๆข่ฃ…ใ€‚ๅŒๆ ท็š„ๆ€่ทฏๅฏไปฅๆ‰ฉๅฑ•ๅˆฐๅ‘ๅž‹่ฏ•ๆˆดใ€้…้ฅฐ่ฏ•ๆˆดใ€ๅฆ†ๅฎน่ฏ•ๅฆ†โ€ฆโ€ฆๅช่ฆไฝ ่ƒฝๆž„้€ ๅ‡บๅˆ้€‚็š„่ฎญ็ปƒไธ‰ๅ…ƒ็ป„๏ผŒLoRA ๅฐฑ่ƒฝๆ•™ๆจกๅž‹ๅญฆไผšๆ–ฐๆŠ€่ƒฝใ€‚

ไธ‹ไธ€ๆญฅ่ฎกๅˆ’๏ผšๅ…ˆ็”จ 20 ็ป„ๆ•ฐๆฎๅš POC ้ชŒ่ฏ๏ผŒ็กฎ่ฎค Pipeline ่ท‘้€šๅŽๅ†ๆ‰ฉๅคงๆ•ฐๆฎ้›†ๅšๆญฃๅผ่ฎญ็ปƒใ€‚ๆฌข่ฟŽๅ…ณๆณจๅŽ็ปญ็š„ๅฎžๆˆ˜ๆ›ดๆ–ฐ๏ผ


ๅ‚่€ƒ่ต„ๆบ๏ผš

Comments