Stable Diffusion Web User Interface یا به اختصار SD-WebUI، یک پروژه جامع برای مدلهای Stable Diffusion است که از کتابخانه Gradio برای ارائه یک رابط کاربری وب استفاده میکند. امروز میخواهیم درباره افزونه نوآورانهای به نام "EasyPhoto" صحبت کنیم که به کاربران نهایی این امکان را میدهد تا پرترهها و تصاویر با استفاده از هوش مصنوعی تولید کنند. این پلاگین EasyPhoto WebUI با استفاده از الگوهای مختلف، توانایی ایجاد پرترههای هوش مصنوعی با انواع سبکها و تغییرات مختلف را فراهم میکند. به علاوه، برای افزایش قابلیتهای EasyPhoto، کاربران میتوانند تصاویر خود را با استفاده از مدل SDXL به منظور تولید نتایجی دقیقتر، متنوعتر و با کیفیت بالاتر بهبود دهند. با ما همراه باشید و در مورد این افزونه جذاب بیشتر بدانید.
مقدمه ای بر EasyPhoto و Stable Diffusion
فریمورک Stable Diffusion یک فریمورک محبوب و قدرتمند در زمینه تولید تصاویر واقعی از متنهای ورودی است. توسعهدهندگان از این فریمورک برای ایجاد تصاویر واقعی بر اساس توضیحات متنی استفاده میکنند. این فریمورک به دلیل قابلیتهای منحصر به فرد خود در محیط مصنوعی، در مختلف حوزهها مورد استفاده قرار میگیرد، از جمله تبدیل توصیفات متنی به تصاویر و ساخت تصاویر مختلف.
Stable Diffusion Web UI یا به اختصار SD-WebUI یک برنامه واسط کاربری وب است که برای ارائه و اجرای مدلهای Stable Diffusion به کار میرود. این واسط کاربری با استفاده از کتابخانه Gradio طراحی شده و به کاربران امکان اجرای مدلهای Stable Diffusion و تولید تصاویر با ویژگیهای مختلف را میدهد.
از طریق افزونه مبتکرانه به نام "EasyPhoto"، که برای بهرهبرداری از تواناییهای فریمورک SD-WebUI طراحی شده است، کاربران میتوانند به طور سریع و آسان تصاویر پرتره و تصاویر هوش مصنوعی را تولید کنند. این افزونه "EasyPhoto" از الگوهای مختلف برای ایجاد پرترههای هوش مصنوعی با سبکها و ویژگیهای متعدد استفاده میکند. علاوه بر این، این افزونه امکان بهبود کیفیت و دقت تصاویر تولیدی را با استفاده از مدل SDXL فراهم میآورد.
در نتیجه، SD-WebUI به کمک واسط کاربری وب و افزونه "EasyPhoto" به کاربران این امکان را میدهد تا به سادگی تصاویر و تصاویر هوش مصنوعی با ویژگیهای دلخواه خود را تولید کرده و از این فریمورک محبوب در تولید تصاویر و ویدئوهای واقعی بهرهبرند.
ابتدا، چارچوب EasyPhoto از کاربران میخواهد تا با آپلود چند تصویر برای آموزش آنلاین مدل چهرهی LoRA یا مدل انطباق با رتبه پایین، داپلگانگر دیجیتالی خود را ایجاد کنند. مدل چهرهی LoRA با استفاده از تکنیکهای آموزش با رتبه پایین، مدلهای مبتنی بر شبکههای مولد (GAN) را به سرعت به طور شخصیسازی و تطبیقی تنظیم میکند. این فرآیند به مدل امکان میدهد تا اطلاعات شناسه کاربران خاص را درک کند و تصاویر متناسب با آنها را تولید کند. سپس، مدلهای آموزشدیده به دست آمده از طریق تداخل در مدل انتشار پایدار پایه گرهای ادغام و ادغام میشوند. همچنین، در طول فرآیند تداخل، مدل از مدلهای انتشار پایدار برای بازسازی نواحی صورت در الگوی تداخل استفاده میکند و شباهت بین تصاویر ورودی و خروجی را با استفاده از واحدهای مختلف ControlNet تأیید میکند.
چارچوب EasyPhoto همچنین از یک فرآیند انتشار دو مرحلهای استفاده میکند تا مشکلات محتمل مانند تصاویر مرزی و از دست دادن هویت را به حداقل برساند. این فرآیند از تضمین میکند که تصاویر تولیدی حاوی تناقضات بصری کمتری باشند و در عین حال هویت کاربر را حفظ کنند. علاوه بر این، خط لوله تداخل در چارچوب EasyPhoto نه تنها به تولید پرتره محدود نمیشود، بلکه میتوان از آن برای تولید هر نوع تصاویری که به شناسه کاربر مربوط میشوند، استفاده کرد. این به معنای این است که هنگامی که مدل LoRA را برای یک شناسه خاص آموزش میدهید، میتوانید مجموعهای گسترده از تصاویر هوش مصنوعی با تنوع بالا تولید کنید. این ویژگی این امکان را ایجاد میکند که از این فرآیند در زمینههای متعددی از جمله آزمایشهای مجازی بهرهبرداری کرد.
به طور خلاصه، چارچوب EasyPhoto:
1. یک رویکرد نوآورانه را برای آموزش مدل چهره LoRA ارائه میدهد که با ترکیب چندین مدل LoRA، از حفظ وفاداری چهره در تصاویر تولید شده اطمینان حاصل میکند.
2. از روشهای یادگیری تقویتی متنوع برای بهینهسازی مدلهای LoRA برای پاداشهای هویت چهره استفاده میکند. این روشها به تقویت شباهت هویتی بین تصاویر آموزشی و تصاویر تولید شده کمک میکنند.
3. یک فرآیند انتشار دو مرحلهای بر اساس رنگ داخلی را معرفی میکند که هدف از آن تولید تصاویر هوش مصنوعی با زیبایی و شباهت بالا به تصاویر ورودی است.
EasyPhoto: معماری و آموزش
شکل زیر روند آموزش فریم ورک EasyPhoto AI را نشان می دهد.
در این فرآیند پیشرفته، چارچوب EasyPhoto ابتدا تصاویر آموزشی را دریافت میکند و سپس با شناسایی و برش ناحیه صورت از تصویر ورودی، تصویر چهره تمیز و واضحی را ایجاد میکند. از مدلهای زیباسازی و تشخیص برجستگی استفاده میشود تا کیفیت بصری تصویر چهره را بهبود بخشد. سپس این تصاویر به عنوان ورودی به مدل آموزشدیده LoRA ارسال میشوند. در مرحله آموزش، مرحله اعتبارسنجی حیاتی انجام میشود که شباهت هویتی بین تصاویر ورودی و تصاویر تأییدی ایجاد شده توسط مدل LoRA را مورد ارزیابی قرار میدهد.
برای تضمین تمایز هویت چهره در تصاویر تولید شده و تعداد کمتری از تضاعف، از تکنیکهای یادگیری تقویتی برای بهبود کیفیت تصاویر استفاده میشود. این رویکرد باعث بهبود تشابه بین تصاویر میشود تا نتایج تولید شده شبیهتر به تصاویر آموزشی باشند و تعمیم بین الگوها را فراهم کند.
این فرآیند نه تنها برای تولید پرترهها استفاده نمیشود بلکه میتواند تصاویر مختلفی را برای مصارف متنوع ایجاد کند. این رویکرد پیچیده و مؤثری برای ارتقاء تولید تصاویر و همچنین حفظ هویت کاربر در تصاویر نهایی میباشد.
در این فرآیند پیشرفته، چارچوب EasyPhoto تلاش میکند تا مدلهای LoRA را به سمت تولید نتایج مشابه تر به تصاویر آموزشی هدایت کند، در حالی که اهمیت حفظ شباهت هویت چهره در تصاویر نتایج به حداقل رسانده میشود. این با استفاده از تکنیکهای یادگیری تقویتی انجام میشود تا ویژگیهای چهرهای که مدلها در فرآیند آموزش یاد میگیرند، به گونهای بهبود یابند که نتایج تولیدی به تشابه بیشتری با تصاویر آموزشی نزدیک شوند و تعمیم بیشتری بین الگوها ایجاد شود. این برنامه ریزی واکنشی برای بهبود کیفیت و شباهت هویتی تصاویر نتایج در فرآیند تولید دارد.
فرآیند تداخل
شکل زیر فرآیند تداخل برای شناسه کاربری فردی در چارچوب EasyPhoto را نشان میدهد و به سه بخش تقسیم شده است.
پیش پردازش چهره برای به دست آوردن مرجع ControlNet و تصویر ورودی پیش پردازش شده.
First Diffusion که به تولید نتایج درشت شبیه ورودی کاربر کمک می کند.
انتشار دوم که مصنوعات مرزی را ثابت می کند، بنابراین تصاویر را دقیق تر می کند و واقعی تر به نظر می رسد.
برای ورودی، چارچوب یک تصویر face id (تولید شده در حین اعتبارسنجی آموزش با استفاده از امتیاز face id بهینه)، و یک الگوی تداخل می گیرد. خروجی یک پرتره بسیار دقیق، دقیق و واقعی از کاربر است و شباهت زیادی به هویت و ظاهر منحصر به فرد کاربر بر اساس الگوی استنتاج دارد. بیایید نگاهی دقیق به این فرآیندها داشته باشیم.
پیش پردازش چهره
استفاده از مدل SD برای رنگآمیزی ناحیه صورت در الگوی تداخل و اضافه کردن چارچوب ControlNet به فرآیند، امکان ایجاد پرترههای هوش مصنوعی بدون نیاز به استدلال آگاهانه را فراهم می کند. اما باید توجه داشت که این رویکرد ممکن است با برخی مشکلات مواجه شود:
1. **ناسازگاری بین ورودی و تصویر تولید شده**: به عنوان مثال، نقاط کلیدی در تصویر الگو و تصویر face_id ممکن است سازگار نباشند. استفاده از ControlNet با تصویر face_id به عنوان مرجع ممکن است باعث ایجاد ناسازگاریها در خروجی شود.
2. **نقص در ناحیه Inpaint**: پوشاندن یک منطقه و سپس رنگآمیزی آن با یک چهره جدید میتواند به نقصهایی در مرزهای inpaint منجر شود که به دقت و واقعگرایی تصویر آسیب میزند.
3. **از دست دادن هویت توسط شبکه کنترل**: چون فرآیند آموزش از چارچوب ControlNet استفاده نمیکند، استفاده از ControlNet در مرحله تداخل ممکن است بر توانایی مدلهای آموزشدیده LoRA برای حفظ هویت شناسه کاربر ورودی تأثیر بگذارد.
برای بهبود این مشکلات و ارتقاء کارایی فرآیند تولید پرترههای هوش مصنوعی، نیاز به تحقیق و توسعه مدلها و تکنیکهای بهینهسازی بیشتر است.
چارچوب EasyPhoto سه روش مهم را برای مقابله با مسائلی که در بالا ذکر شد پیشنهاد میدهد:
1. **تراز و چسباندن**: این روش برای رفع مشکلات عدم تطابق نشانههای چهره بین شناسه چهره و الگو استفاده میشود. ابتدا، مدل نشانههای چهره face_id و تصویر الگو را محاسبه میکند. سپس، با استفاده از مدل ماتریس تبدیل وابسته، نشانههای چهره در تصویر الگو با نشانههای تصویر face_id تراز میشوند. این روش به تصویر حاصل از تراز و چسباندن امکان میدهد نشانههای تصویر face_id را حفظ کرده و تصویر را همسان کند.
2. **فیوز صورت**: این روش جدید برای اصلاح آثار مرزی ایجاد شده توسط نقاشی ماسک مورد استفاده قرار میگیرد. با استفاده از چارچوب ControlNet، فیوز صورت به چارچوب EasyPhoto امکان میدهد تا لبههای هماهنگی را حفظ کند و فرآیند تولید تصویر را بهبود بخشد. این الگوریتم فیوژن تصاویر روپ و الگو را ترکیب میکند تا تصویر ذوب شده به دست آمده بهترین تطبیق مرزهای لبه را داشته باشد و در نتیجه تصویر بهبود یافته در مرحله انتشار اولیه تولید شود.
3. **اعتبار سنجی هدایت شده ControlNet**: به علت اینکه مدلهای LoRA با استفاده از چارچوب ControlNet آموزش داده نشدهاند، استفاده از آن در مراحل استنتاج ممکن است بر توانایی مدلهای LoRA برای حفظ هویتها تأثیر بگذارد. برای بهبود تعمیمپذیری EasyPhoto، این چارچوب تأثیر چارچوب ControlNet را در نظر میگیرد و مدلهای LoRA را از مراحل مختلف ادغام میکند. این اعتبارسنجی هدایت شده توانایی مدلهای LoRA را در حفظ هویتها تقویت میکند.
انتشار اول
در مرحله اولیه انتشار، از تصویر الگو برای تولید یک تصویر با شناسه منحصر به فردی که به نظر شناسه کاربر ورودی مشابه است، استفاده میشود. تصویر ورودی متشکل از ترکیبی از تصویر ورودی کاربر و تصویر الگو است، و ماسک صورتی که به صورت کالیبره شده برای ماسک ورودی استفاده میشود. به منظور داشتن کنترل بیشتر بر روی تولید تصویر، چارچوب EasyPhoto سه واحد ControlNet را ادغام میکند. این واحدها به شرح زیر عمل میکنند:
1. **واحد ControlNet اول**: این واحد بر روی کنترل تصاویر ذوب شده تمرکز دارد. تصاویر ذوب شده تصویر الگو که شامل ساختار چهره است را تنظیم میکند.
2. **واحد ControlNet دوم**: این واحد رنگهای تصویر ذوب شده را کنترل میکند. این بخش از کنترل به بهبود رنگها و اجزای بصری تصویر میپردازد.
3. **واحد ControlNet نهایی (Openpose)**: این واحد به کنترل ژستهای انسان چند نفره در زمان واقعی میپردازد. این واحد نه تنها ساختار چهره تصویر الگو را در نظر میگیرد، بلکه هویت چهره کاربر ورودی را نیز شناسایی میکند.
این ادغام واحدهای ControlNet به چارچوب EasyPhoto امکان میدهد تا تصویر تولید شده را با دقت و کنترل بیشتری ایجاد کرده و در نهایت تشابه بیشتری با تصویر شناسه کاربر فراهم کند.
انتشار دوم
در مرحله دوم انتشار، مصنوعاتی که در نزدیکی مرزهای صورت قرار دارند، تنظیم و پالایش میشوند. این مصنوعات به کاربران امکان انتخاب و پوشاندن یک منطقه خاص در تصویر را میدهند، تا از این طریق توانایی افزایش تأثیربخشی تولید تصویر در آن ناحیه را داشته باشند. در این مرحله، فریمورک تصویر خروجی از مرحله انتشار اول را با تصویر روپ (تصویر حقیقت زمینی کاربر) یا نتیجه تصویر کاربر ترکیب میکند، و در نتیجه تصویر ورودی مرحله انتشار دوم را تولید میکند. به طور کلی، مرحله انتشار دوم نقش مهمی در افزایش کیفیت کلی و جزئیات تصویر تولید شده ایفا میکند.
شناسه های چندکاربره
یکی از نکات برجسته EasyPhoto پشتیبانی آن از تولید شناسه های کاربری متعدد است و شکل زیر خط لوله فرآیند تداخل برای شناسه های چند کاربر در چارچوب EasyPhoto را نشان می دهد.
برای پشتیبانی از تولید شناسههای چند کاربره، چارچوب EasyPhoto ابتدا تشخیص چهره را در قالب تداخل انجام میدهد. سپس این الگوهای تداخل به ماسکهای متعددی تقسیم میشوند، که در هر ماسک فقط یک چهره را شامل میشود و بقیه تصویر به رنگ سفید پوشانده میشود. این کار باعث تبدیل نسل شناسه چند کاربره به یک وظیفه ساده برای تولید شناسههای کاربر جداگانه میشود. هنگامی که چارچوب تصاویر شناسه کاربر را تولید میکند، این تصاویر در قالب استنتاج به یکدیگر ادغام میشوند. این ادغام تصاویر الگو با تصاویر تولید شده را تسهیل میکند و در نهایت به تولید یک تصویر با کیفیت منجر میشود.
آزمایش ها ونتایج
اکنون که درک درستی از چارچوب EasyPhoto داریم، زمان آن رسیده است که عملکرد فریم ورک EasyPhoto را بررسی کنیم.
تصویر بالا توسط افزونه EasyPhoto تولید شده است و از یک مدل SD مبتنی بر Style برای تولید تصویر استفاده می کند. همانطور که مشاهده می شود، تصاویر تولید شده واقعی به نظر می رسند و کاملا دقیق هستند.
تصویر اضافه شده در بالا توسط چارچوب EasyPhoto با استفاده از یک مدل SD مبتنی بر Comic Style ایجاد شده است. همانطور که مشاهده می شود، عکس های کمیک و عکس های واقع گرایانه کاملاً واقعی به نظر می رسند و بر اساس درخواست ها یا الزامات کاربر بسیار شبیه تصویر ورودی هستند.
تصویر اضافه شده در زیر توسط فریم ورک EasyPhoto با استفاده از یک قالب چند نفره تولید شده است. همانطور که به وضوح مشاهده می شود، تصاویر تولید شده واضح، دقیق و شبیه تصویر اصلی هستند.
با کمک EasyPhoto، کاربران اکنون میتوانند طیف گستردهای از پرترههای هوش مصنوعی را تولید کنند، یا با استفاده از الگوهای حفظشده چندین شناسه کاربری تولید کنند، یا از مدل SD برای تولید الگوهای استنتاج استفاده کنند. تصاویر اضافه شده در بالا توانایی چارچوب EasyPhoto را در تولید تصاویر هوش مصنوعی متنوع و با کیفیت بالا نشان می دهد.