آموزشگاه فن آوران آریا
ثبت نام

چگونه با GIMP به صورت رایگان از ابزار پر کردن مولد هوش مصنوعی استفاده کنیم؟

امین پناهی زاده

لازم نیست پول به سختی به دست آمده‌تان را صرف اشتراک Creative Cloud کنید تا از ویژگی‌های Firefly فتوشاپ لذت ببرید. بگذارید نشان دهم که چگونه می‌توانید یک راه‌حل رایگان DIY را که به همان اندازه قدرتمند است، سرهم کنید. به علاوه، می‌توانید از آن حتی روی یک کامپیوتر کوچک هم استفاده کنید زیرا در فضای ابری اجرا می‌شود.

Firefly فتوشاپ جادوی خالص است، اما گران

ویژگی generative fill در فتوشاپ به طرز شگفت‌انگیزی قدرتمند است. اگر تا به حال ساعت‌ها صرف ترکیب دقیق چیزها در تصاویر کرده‌اید، دیدن ظاهر شدن فوری آن (به طور کامل ترکیب شده) همیشه باعث تعجب شما خواهد شد. با generative autofill، شما فقط یک انتخاب را رنگ می‌کنید، آنچه را که در آن فضا می‌خواهید (یک گربه، یک توپ فوتبال، یک درخت) می‌نویسید و فتوشاپ آن را با پرسپکتیو، نورپردازی و همه چیز صحیح وارد می‌کند.

fill تولید شده توسط هوش مصنوعی.

متاسفانه، این ویژگی در پشت اشتراک Creative Cloud قفل شده است، بنابراین فقط برای استفاده از آن باید 20 دلار در ماه بپردازید.

GIMP + Stable Boy (یک جایگزین رایگان و متن‌باز)

بنابراین سعی کردم به دنبال راه‌حل‌های متن‌باز بگردم، اما در ابتدا غیرممکن به نظر می‌رسید. فتوشاپ به هر حال رقبای FOSS (رایگان و متن‌باز) بسیار کمی دارد و هیچ‌کدام این پرکننده مولد پیچیده را ندارند.

در نهایت، به طور اتفاقی به یک افزونه رایگان برخوردم که می‌تواند این قابلیت‌ها را به GIMP (یک ابزار دستکاری تصویر رایگان) بیاورد. نام آن Stable Boy است و بر اساس Stable Diffusion (یکی از محبوب‌ترین و قدرتمندترین مدل‌های تولید تصویر) ساخته شده است. این افزونه به شما امکان می‌دهد با استفاده از متن‌های آماده، انتخاب‌ها را نقاشی کنید، جهت تصویر را از متن‌های آماده ایجاد کنید، ریمیکس کنید و درست مانند Adobe Firefly در فتوشاپ، مقیاس‌بندی را افزایش دهید.

با یک پردازنده گرافیکی مدرن و قدرتمند، می‌توانید Stable Diffusion را با کمی تلاش به صورت محلی اجرا کنید. من پردازنده گرافیکی گران‌قیمتی ندارم و بیشتر اوقات روی لپ‌تاپم کار می‌کنم، بنابراین اجرای آن به صورت محلی گزینه‌ای نیست. در عوض، بهترین گزینه بعدی را امتحان کردم. سرویس‌هایی وجود دارند که قدرت پردازش GPU یا CPU را در فضای ابری برای اجرای مدل‌های سنگین هوش مصنوعی اجاره می‌دهند. به این ترتیب، حتی روی یک سیب‌زمینی هم کار می‌کند، البته تا زمانی که به اینترنت متصل باشد. تنها مشکل این است که این سرویس‌ها یا هزینه زیادی دارند یا فقط چند توکن به صورت آزمایشی می‌دهند. این هم بی‌فایده است.


پاسخ وقتی به ذهنم رسید که یادم آمد می‌توانم مدل Stable Diffusion را در Google Colabs اجرا کنم و آن را از طریق یک API به افزونه GIMP پیوند دهم. به این ترتیب توانستم با استفاده از ابزارهای رایگانی که روی هر رایانه‌ای کار می‌کنند، یک generative fill شبیه فتوشاپ داشته باشم.

مطلب مرتبط:

هر آنچه برای کار کردن این برنامه نیاز دارید

بگذارید توضیح دهم که چگونه قطعات به هم متصل می‌شوند.

GIMP یک ابزار ویرایش تصویر رایگان است که از افزونه‌ها پشتیبانی می‌کند. ما آن را نصب می‌کنیم و افزونه Stable Boy را در آن بارگذاری می‌کنیم. این نیمی از پازل است.

همچنین باید بک‌اند هوش مصنوعی را راه‌اندازی و اجرا کنیم. برای این کار، از یک نوت‌بوک Google Colab برای اجرای مدل Stable Diffusion و ایجاد یک URL API زنده استفاده می‌کنیم. Stable Boy در GIMP می‌تواند از طریق این URL با مدل در حال اجرا ارتباط برقرار کند.

اینها همه چیزهایی هستند که برای انجام این کار نیاز داریم:

GIMP نسخه ۲.۱۰.۳۴ (باید همین نسخه باشد زیرا افزونه Stable Boy با بقیه کار نمی‌کند).

Stable Boy (این افزونه رایگان GIMP در GitHub موجود است).

دسترسی به Google Colab (به یک حساب Google نیاز دارید و باید به Google Drive خود دسترسی بدهید).

دفترچه Stable Diffusion که ما در Google Colab اجرا خواهیم کرد.

لینک API (دفترچه Stable Diffusion به طور خودکار این را برای ما تولید می‌کند).

کمی حال و هوای DIY.

نصب GIMP و بارگذاری Stable Boy

بیایید با دانلود تنظیمات صحیح GIMP (2.10.34) از آرشیو شروع کنیم. ممکن است لازم باشد کمی به پایین اسکرول کنید. GIMP را از طریق تنظیمات آفلاین نصب کنید و آن را اجرا کنید.

دانلود نصب‌کننده صحیح از آرشیو GIMP.

حالا بیایید Stable Boy را دانلود کنیم. می‌توانیم این کار را به دو روش انجام دهیم.

اگر Git را روی رایانه خود نصب کرده‌اید، ترمینال را باز کنید و این دستور را وارد کنید. این کار کل مخزن را در حافظه محلی شما کلون می‌کند.

git clone https://github.com/thndrbrrr/gimp-stable-boy.git

اگر Git را نصب نکرده‌اید، مخزن GitHub را باز کنید، روی دکمه سبز Code در بالای مخزن کلیک کنید و “Download ZIP” را انتخاب کنید. فایل ZIP را در هر جایی استخراج کنید.

مخزن افزونه Stable Boy در GitHub.

حالا به GIMP برگردید. Edit را در منوی بالا پیدا کنید و به Edit > Preferences بروید. به پایین اسکرول کنید و روی آیکون «+» کنار پوشه‌ها کلیک کنید. منوی کشویی باید یک منوی «افزونه‌ها» داشته باشد.

بارگذاری Stable Boy در GIMP با استفاده از ویژگی پوشه‌های افزونه.

ما GIMP را به پوشه Stable Boy که قبلاً دانلود کردیم، هدایت می‌کنیم. برای انجام این کار، پوشه Stable Boy GIMP را باز کنید و روی پوشه «src» کلیک کنید.

مسیر آن پوشه را انتخاب کرده و آن را کپی کنید. حالا به تنظیمات GIMP برگردید و روی آیکون پوشه «افزودن پوشه» کلیک کنید. مسیری را که کپی کرده‌اید در نوار آدرس جایگذاری کنید و کلید Enter را فشار دهید. مسیر می‌تواند چیزی شبیه به این باشد.

C:\Users\Username\gimp-stable-boy\src

برای اعمال تغییرات، GIMP را مجدداً راه‌اندازی می‌کنیم. اگر همه چیز خوب پیش برود، باید یک دکمه Stable Boy جدید و براق در منوی نوار بالا داشته باشید، درست مانند این!

Stable Boy با موفقیت روی GIMP نصب شد.

اگر Stable Boy پس از اتصال به پوشه Preferences در نوار منو نمایش داده نشد، می‌تواند به این دلیل باشد که مسیری که وارد کرده‌اید اشتباه است یا از نسخه اشتباهی از GIMP استفاده می‌کنید. برای مشاهده نسخه‌ای که در حال اجرا دارید، روی Help > About GIMP کلیک کنید. باید عبارت «2.10.34» نوشته شده باشد.

روشن کردن استیبل بوی

حالا بیایید نیمه دوم پازل – نیمه هوش مصنوعی – را انجام دهیم. برای رسیدن به آنجا چند مرحله طول می‌کشد. تنها چیزی که در واقع نیاز داریم فقط URL API برای راه‌اندازی یک نمونه رابط کاربری وب از Stable Diffusion است. اجازه دهید نحوه تولید آن کلید API را به شما نشان دهم.

ابتدا، این دفترچه یادداشت را در Google Colab باز کنید. عنوان دفترچه یادداشت “fast_stable_diffusion_AUTOMATIC1111.ipynb” است. اگر قبلاً وارد نشده‌اید، ممکن است لازم باشد با حساب Google خود وارد شوید.

مقداردهی اولیه دفترچه یادداشت Stable Diffusion در Google Colab.

خواهید دید که دفترچه یادداشت دارای تعدادی سلول با دکمه‌های پخش کوچک در کنار آنهاست. کلیک بر روی یک دکمه پخش، آن بلوک کد خاص را اجرا می‌کند. ما همه آنها را یکی یکی کلیک می‌کنیم. اگر یک سلول با موفقیت اجرا شود، سبز می‌شود. اگر شکست بخورد، قرمز می‌شود.

وقتی سلول اول را اجرا می‌کنید، از شما می‌خواهد که به Google Drive خود متصل شوید. یک پنجره بازشو باید با یک کادر محاوره‌ای تأیید برای اعطای دسترسی این نوت‌بوک Colab به درایو شما ظاهر شود.

در مرحله بعد، سلول‌های «نصب/به‌روزرسانی مخزن Automatic1111» و «نیازمندی‌ها» را اجرا کنید. منتظر بمانید تا اجرای هر کدام با موفقیت به پایان برسد.

مرحله بعدی جایی است که مدلی را که به Stable Boy می‌دهیم انتخاب می‌کنیم. ما به مدلی نیاز داریم که از inpainting پشتیبانی کند، در غیر این صورت generative fill اعوجاج‌های عجیب تصویر ایجاد می‌کند، نه محتوای واقعی. روی منوی کشویی کنار Model Version کلیک کنید و «v1.5 Inpainting» را انتخاب کنید. سپس سلول مدل را نیز اجرا کنید.

دو سلول باقی‌مانده را با تنظیمات پیش‌فرض خود به همان صورت رها کنید.

در نهایت، روی دکمه Start Stable Diffusion کلیک کنید تا کلید API جدید تولید شود. لینک باید چیزی شبیه به این باشد. اگر آن را کپی کنید یا در مرورگر باز کنید، شما را به نسخه وب Stable Diffusion می‌برد که می‌توانید آزادانه از آن استفاده کنید.

با موفقیت یک URL ایجاد شد که به یک نمونه وب در حال اجرا از Stable Diffusion منتهی می‌شود.

این تب را تا زمانی که کارتان تمام نشده نبندید. بستن تب، نمونه عمومی که اینجا اجرا می‌کنیم را نیز حذف می‌کند.

به یاد داشته باشید که گوگل به شما اجازه نمی‌دهد این را برای همیشه اجرا کنید زیرا اعتبار محاسبات ابری نامحدود نیست. اعتبار اجرای نوت‌بوک‌ها به طور خودکار تمدید می‌شود، اما اگر یک نمونه نوت‌بوک را در حال اجرا رها کنید و به خواب بروید، با یک نوت‌بوک هنگ شده از خواب بیدار می‌شوید و گوگل به شما هشدار می‌دهد که استفاده شما را محدود کرده است. پیشنهاد می‌کنم نوت‌بوک را فقط در حین کار اجرا کنید و وقتی کارتان تمام شد آن را خاموش کنید.

حالا بیایید به GIMP برگردیم. یک تصویر باز کنید یا یک سند جدید ایجاد کنید (مشخصات سند مهم نیست). سپس روی Stable Boy در نوار منو کلیک کنید و «Preferences» را انتخاب کنید. باید یک نوار آدرس برای چسباندن کلید API وجود داشته باشد. URL که قبلاً کپی کرده‌اید در اینجا قرار می‌گیرد.

ایجاد "Inpainting Mask" با استفاده از یک لایه جدید در GIMP.

مطمئن شوید که در انتهای URL هیچ علامت / اضافی وجود ندارد، در غیر این صورت Stable Boy قادر به فراخوانی API نخواهد بود.

بیایید تنظیمات خود را آزمایش کنیم

اگر همه چیز خوب پیش برود، Stable Boy اکنون باید فعال و در حال اجرا باشد. بیایید آن را آزمایش کنیم.

با یک سند یا تصویر خالی باز، یک لایه شفاف جدید به نام “Inpainting Mask” ایجاد کنید. این لایه به حروف کوچک و بزرگ حساس است و باید دقیقاً به همین نام نامگذاری شود، در غیر این صورت با خطا مواجه خواهید شد.

 

سپس یک قلم‌مو بردارید، پالت را روی مشکی تنظیم کنید و به شکل شیئی که می‌خواهید ایجاد کنید، رنگ‌آمیزی کنید. در اینجا، من یک سیلوئت گرد ساده از یک توپ را رنگ‌آمیزی کرده‌ام. لازم نیست دقیقاً دقیق باشد، اما با ماسک‌های دقیق‌تر نتایج بهتری خواهید گرفت.

ایجاد "Inpainting Mask" با استفاده از یک لایه جدید در GIMP.

Inpaiting Mask در GIMP با استفاده از یک قلم‌مو مشکی مات روی یک لایه شفاف به نام “Inpainting Mask” ایجاد شده است.

مطمئن شوید که روی لایه شفاف “Inpainting Mask” باقی می‌مانید. در حالی که لایه ماسک را انتخاب کرده‌اید، روی Stable Boy کلیک کنید و این بار “Inpainting” را انتخاب کنید.

ماسک Inpainting تنظیمات و دکمه‌های زیادی دارد که می‌توانید برای تغییر نتیجه نهایی با آنها کار کنید. بعداً توضیح خواهم داد که هر کدام از آنها چه کاری انجام می‌دهند. فعلاً، بیایید فقط یک متن به آن بدهیم و با تنظیمات پیش‌فرض «OK» را فشار دهیم. متن می‌تواند چیزی شبیه به این باشد.

یک توپ فوتبال واقعی با سایه نرم در زیر آن

بر اساس متن وارد شده و ماسک نقاشی شده، یک شیء با موفقیت ایجاد شد.

پردازش گاهی اوقات چند ثانیه طول می‌کشد، اما پس از اتمام، پنجره ناپدید می‌شود و تصویر رندر شده در یک لایه جداگانه ظاهر می‌شود. می‌توانید لایه ماسک اصلی را پنهان کنید یا آن را حذف کنید.

در اینجا یک نسخه آزمایشی Inpainting دیگر وجود دارد که بر اساس ماسک سیلوئت یک توله سگ نشسته تولید شده است.

a realistic golden retriever puppy sitting on grass, front view


چند نکته عیب‌یابی که احتمالاً به آنها نیاز خواهید داشت

اگر به جای تصویر، فقط بریدگی، تاری یا اعوجاج عجیب می‌بینید، به تجربه من به معنای هر یک از این سه مورد است.

GIMP افزونه Stable Boy را به درستی اجرا نمی‌کند یا مدل Stable Diffusion که اجرا می‌کنید از Inpainting پشتیبانی نمی‌کند.

ماسک Inpainting به درستی تنظیم نشده است.

ممکن است لازم باشد قبل از امتحان دوباره، برخی تنظیمات را تغییر دهید.

اگر Inpainting کار نمی‌کند، هر یک از گزینه‌های دیگری را که Stable Boy ارائه می‌دهد، امتحان کنید. اگر ویژگی‌های upscaling، تولید متن به تصویر یا تصویر به تصویر مطابق انتظار کار می‌کنند، به این معنی است که مشکل از مدل هوش مصنوعی است که اجرا می‌کنید.

برای تأیید اینکه مدل صحیح را اجرا می‌کنید، URL API را در مرورگر باز کنید و به داشبورد Stable Diffusion دسترسی پیدا کنید. باید در گوشه بالا سمت راست عبارت “sd-v1-5-inpainting.ckpt” نوشته شده باشد. اگر اینطور نیست، به این معنی است که مدل اشتباهی را اجرا می‌کنید.

مدل Inpainting که روی Stable Diffusion در یک نمونه وب اجرا می‌شود.

برای رفع آن، به دفترچه یادداشت Colab برگردید، سلول حاوی همه مدل‌ها را پیدا کنید و مدل صحیح را انتخاب کنید. سپس مراحلی را که قبلاً دنبال کردید تکرار کنید و دوباره inpainting را آزمایش کنید.

راه دیگر برای آزمایش اینکه آیا Stable Boy فعال است یا خیر، کلیک روی Filters > Python-fu > Console است. اگر هیچ کنسولی ظاهر نشد، به این معنی است که پایتون با این نسخه خاص از GIMP همراه نیست و باید نسخه صحیح را دوباره نصب کنید. به یاد داشته باشید که نسخه 2.10.34 همیشه کار خواهد کرد.

با اجرای کنسول پایتون در GIMP، یک بررسی سلامت انجام دهید.

در نهایت، بررسی کنید که Inpainting Mask به درستی ایجاد شده باشد. نام (حساس به حروف کوچک و بزرگ) باید صحیح باشد، ماسک باید با یک قلم موی سیاه با شفافیت 100٪ ساخته شود و لایه ماسک باید انتخاب شود.

در اینجا پیکربندی پیشنهادی من برای گرفتن بهترین نتایج آمده است.

برخی از تنظیمات و ترفندهایی که برای ایجاد تکمیل خودکار هوش مصنوعی باورپذیر در GIMP توصیه می‌کنم.

قدرت حذف نویز را حدود ۷۵٪ تا ۸۰٪ نگه دارید.
برای Inpainting Fill، Latent Noise را انتخاب کنید. تعداد مراحل باید حدود ۴۰ باشد.
در صورت وجود، به این نمونه‌گیر تغییر دهید: DPM++ 2M Karras

من با این موتور مولد DIY نتایج شگفت‌آور خوبی گرفتم. ممکن است به کمی دستکاری نیاز داشته باشد (و تنظیمات می‌تواند خسته‌کننده باشد) اما آن را فوق‌العاده ارزشمند و سرگرم‌کننده یافتم!

 

امین پناهی زاده
نویسنده: امین پناهی زاده
تعداد نوشته ها:353

خلاصه از نویسنده:

دیدگاه کاربران

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مقالات مشابه
© تمامی حقوق برای فن آوران آریا محفوظ میباشد.