
وظیفهی تولیدکنندهی تصویر MediaPipe به شما امکان میدهد تصاویر را بر اساس یک متن تولید کنید. این وظیفه از یک مدل تبدیل متن به تصویر برای تولید تصاویر با استفاده از تکنیکهای انتشار استفاده میکند.
این وظیفه یک اعلان متنی را به عنوان ورودی میپذیرد، به همراه یک تصویر شرطی اختیاری که مدل میتواند آن را تقویت کرده و به عنوان مرجعی برای تولید استفاده کند. برای اطلاعات بیشتر در مورد تولید متن به تصویر شرطی، به افزونههای انتشار روی دستگاه برای تولید متن به تصویر شرطی مراجعه کنید.
تولیدکننده تصویر همچنین میتواند تصاویر را بر اساس مفاهیم خاصی که در طول آموزش یا بازآموزی به مدل ارائه میشود، تولید کند. برای اطلاعات بیشتر، به سفارشیسازی با LoRA مراجعه کنید.
شروع کنید
با دنبال کردن یکی از این راهنماهای پیادهسازی برای پلتفرم مورد نظر خود، استفاده از این وظیفه را شروع کنید. این راهنماهای مختص پلتفرم، شما را در پیادهسازی اولیه این وظیفه، با مثالهای کدی که از یک مدل پیشفرض و گزینههای پیکربندی پیشنهادی استفاده میکنند، راهنمایی میکنند:
جزئیات وظیفه
این بخش قابلیتها، ورودیها، خروجیها و گزینههای پیکربندی این وظیفه را شرح میدهد.
ویژگیها
شما میتوانید از Image Generator برای پیادهسازی موارد زیر استفاده کنید:
- تولید متن به تصویر - تصاویر را با یک متن سریع تولید کنید.
- تولید تصویر با تصاویر وضعیت - تصاویر را با یک اعلان متنی و یک تصویر مرجع تولید کنید. Image Generator از تصاویر وضعیت به روشهایی مشابه ControlNet استفاده میکند.
- تولید تصویر با وزنهای LoRA - با استفاده از وزنهای مدل سفارشی، تصاویری از افراد، اشیاء و سبکهای خاص را با یک متن سریع تولید کنید.
| ورودیهای وظیفه | خروجیهای وظیفه |
|---|---|
مولد تصویر ورودیهای زیر را میپذیرد:
| مولد تصویر نتایج زیر را تولید میکند:
|
گزینههای پیکربندی
این وظیفه گزینههای پیکربندی زیر را دارد:
| نام گزینه | توضیحات | محدوده ارزش |
|---|---|---|
imageGeneratorModelDirectory | دایرکتوری مدل مولد تصویر که وزنهای مدل را ذخیره میکند. | PATH |
loraWeightsFilePath | مسیر فایل وزنهای LoRA را تنظیم میکند. اختیاری است و فقط در صورتی قابل اجرا است که مدل با LoRA سفارشیسازی شده باشد. | PATH |
errorListener | یک شنوندهی خطای اختیاری تنظیم میکند. | N/A |
این وظیفه همچنین از مدلهای افزونه پشتیبانی میکند که به کاربران اجازه میدهد تصاویر وضعیت را در ورودی وظیفه بگنجانند، که مدل پایه میتواند آنها را تقویت کرده و به عنوان مرجعی برای تولید استفاده کند. این تصاویر وضعیت میتوانند نشانههای چهره، خطوط لبه و تخمین عمق باشند که مدل از آنها به عنوان زمینه و اطلاعات اضافی برای تولید تصاویر استفاده میکند.
هنگام افزودن یک مدل افزونه به مدل پایه، گزینههای افزونه را نیز پیکربندی کنید. افزونه Face landmark از faceConditionOptions ، افزونه Canny edge از edgeConditionOptions و افزونه Depth از depthConditionOptions استفاده میکند.
گزینههای هوشمندانه و هوشمندانه
گزینههای زیر را در edgeConditionOptions پیکربندی کنید.
| نام گزینه | توضیحات | محدوده ارزش | مقدار پیشفرض |
|---|---|---|---|
threshold1 | آستانه اول برای روش هیسترزیس. | Float | 100 |
threshold2 | آستانه دوم برای روش هیسترزیس. | Float | 200 |
apertureSize | اندازه دیافراگم برای عملگر Sobel. محدوده معمول بین ۳ تا ۷ است. | Integer | 3 |
l2Gradient | اینکه آیا به جای هنجار پیشفرض L1، از هنجار L2 برای محاسبهی بزرگی گرادیان تصویر استفاده شود یا خیر. | BOOLEAN | False |
EdgePluginModelBaseOptions | شیء BaseOptions که مسیر مدل افزونه را تعیین میکند. | شیء BaseOptions | N/A |
برای اطلاعات بیشتر در مورد نحوه عملکرد این گزینههای پیکربندی، به آشکارساز لبه Canny مراجعه کنید.
گزینههای علامتگذاری چهره
گزینههای زیر را در faceConditionOptions پیکربندی کنید.
| نام گزینه | توضیحات | محدوده ارزش | مقدار پیشفرض |
|---|---|---|---|
minFaceDetectionConfidence | حداقل امتیاز اطمینان برای تشخیص چهره که موفقیتآمیز تلقی شود. | Float [0.0,1.0] | 0.5 |
minFacePresenceConfidence | حداقل امتیاز اطمینان از امتیاز حضور چهره در تشخیص نشانههای چهره. | Float [0.0,1.0] | 0.5 |
faceModelBaseOptions | شیء BaseOptions که مسیر مدلی را که تصویر شرط را ایجاد میکند، تعیین میکند. | شیء BaseOptions | N/A |
FacePluginModelBaseOptions | شیء BaseOptions که مسیر مدل افزونه را تعیین میکند. | شیء BaseOptions | N/A |
برای اطلاعات بیشتر در مورد نحوه عملکرد این گزینههای پیکربندی، به وظیفه Face Landmarker مراجعه کنید.
گزینههای عمق
گزینههای زیر را در depthConditionOptions پیکربندی کنید.
| نام گزینه | توضیحات | محدوده ارزش | مقدار پیشفرض |
|---|---|---|---|
depthModelBaseOptions | شیء BaseOptions که مسیر مدلی را که تصویر شرط را ایجاد میکند، تعیین میکند. | شیء BaseOptions | N/A |
depthPluginModelBaseOptions | شیء BaseOptions که مسیر مدل افزونه را تعیین میکند. | شیء BaseOptions | N/A |
مدلها
مولد تصویر به یک مدل پایه نیاز دارد، که یک مدل هوش مصنوعی تبدیل متن به تصویر است که از تکنیکهای انتشار برای تولید تصاویر جدید استفاده میکند. مدلهای پایه ذکر شده در این بخش، مدلهای سبک وزنی هستند که برای اجرا در تلفنهای هوشمند رده بالا بهینه شدهاند.
مدلهای افزونه اختیاری هستند و مکمل مدلهای بنیادی هستند و به کاربران این امکان را میدهند که برای تولید تصاویر خاصتر، یک تصویر وضعیت اضافی به همراه یک متن اعلان ارائه دهند. سفارشیسازی مدلهای بنیادی با استفاده از وزنهای LoRA گزینهای است که به مدل بنیادی در مورد یک مفهوم خاص، مانند یک شیء، شخص یا سبک، آموزش میدهد و آنها را به تصاویر تولید شده تزریق میکند.
مدلهای فونداسیون
مدلهای پایه، مدلهای انتشار متن به تصویر پنهان هستند که تصاویر را از یک اعلان متنی تولید میکنند. مولد تصویر مستلزم آن است که مدل پایه با فرمت مدل stable-diffusion-v1-5/stable-diffusion-v1-5 EMA-only ، بر اساس مدل زیر، مطابقت داشته باشد:
مدلهای فونداسیون زیر نیز با Image Generator سازگار هستند:
پس از دانلود مدل پایه، از image_generator_converter برای تبدیل مدل به فرمت مناسب روی دستگاه برای Image Generator استفاده کنید.
وابستگیهای لازم را نصب کنید:
$ pip install torch typing_extensions numpy Pillow requests pytorch_lightning absl-py
اسکریپت convert.py را اجرا کنید:
$ python3 convert.py --ckpt_path <ckpt_path> --output_path <output_path>
مدلهای افزونه
مدلهای افزونه در این بخش توسط گوگل توسعه داده شدهاند و باید در ترکیب با یک مدل پایه استفاده شوند. مدلهای افزونه، Image Generator را قادر میسازند تا یک تصویر شرطی را به همراه یک متن به عنوان ورودی بپذیرد، که به شما امکان میدهد ساختار تصاویر تولید شده را کنترل کنید. مدلهای افزونه قابلیتهایی مشابه ControlNet را ارائه میدهند، با معماری جدیدی که مخصوص انتشار روی دستگاه است.
مدلهای افزونه باید در گزینههای پایه مشخص شوند و ممکن است از شما خواسته شود فایلهای مدل اضافی را دانلود کنید. هر افزونه الزامات منحصر به فردی برای تصویر وضعیت دارد که میتواند توسط Image Generator تولید شود.
افزونه Canny Edge

افزونه Canny Edge یک تصویر شرطی را میپذیرد که لبههای مورد نظر تصویر تولید شده را مشخص میکند. مدل پایه از لبههای مشخص شده توسط تصویر شرطی استفاده میکند و بر اساس متن درخواست، تصویر جدیدی تولید میکند. تولیدکننده تصویر شامل قابلیتهای داخلی برای ایجاد تصاویر شرطی است و فقط نیاز به دانلود مدل افزونه دارد.
افزونه Canny Edge را دانلود کنید
افزونه Canny Edge شامل گزینههای پیکربندی زیر است:
| نام گزینه | توضیحات | محدوده ارزش | مقدار پیشفرض |
|---|---|---|---|
threshold1 | آستانه اول برای روش هیسترزیس. | Float | 100 |
threshold2 | آستانه دوم برای روش هیسترزیس. | Float | 200 |
apertureSize | اندازه دیافراگم برای عملگر Sobel. محدوده معمول بین ۳ تا ۷ است. | Integer | 3 |
l2Gradient | اینکه آیا به جای هنجار پیشفرض L1، از هنجار L2 برای محاسبهی بزرگی گرادیان تصویر استفاده شود یا خیر. | BOOLEAN | False |
EdgePluginModelBaseOptions | شیء BaseOptions که مسیر مدل افزونه را تعیین میکند. | شیء BaseOptions | N/A |
برای اطلاعات بیشتر در مورد نحوه عملکرد این گزینههای پیکربندی، به آشکارساز لبه Canny مراجعه کنید.
افزونه Face Landmark

افزونه Face Landmark خروجی MediaPipe Face Landmarker را به عنوان تصویر وضعیت میپذیرد. Face Landmarker یک مش چهره با جزئیات از یک چهره واحد ارائه میدهد که وجود و مکان ویژگیهای چهره را ترسیم میکند. مدل پایه از نگاشت چهره که توسط تصویر وضعیت نشان داده شده است استفاده میکند و یک چهره جدید روی مش ایجاد میکند.
افزونهی Face Landmarker برای ایجاد تصویر وضعیت به بستهی مدل Face Landmarker نیز نیاز دارد. این بستهی مدل همان بستهای است که توسط وظیفهی Face Landmarker استفاده میشود.
افزونه Face Landmark شامل گزینههای پیکربندی زیر است:
| نام گزینه | توضیحات | محدوده ارزش | مقدار پیشفرض |
|---|---|---|---|
minFaceDetectionConfidence | حداقل امتیاز اطمینان برای تشخیص چهره که موفقیتآمیز تلقی شود. | Float [0.0,1.0] | 0.5 |
minFacePresenceConfidence | حداقل امتیاز اطمینان از امتیاز حضور چهره در تشخیص نشانههای چهره. | Float [0.0,1.0] | 0.5 |
faceModelBaseOptions | شیء BaseOptions که مسیر مدلی را که تصویر شرط را ایجاد میکند، تعیین میکند. | شیء BaseOptions | N/A |
FacePluginModelBaseOptions | شیء BaseOptions که مسیر مدل افزونه را تعیین میکند. | شیء BaseOptions | N/A |
برای اطلاعات بیشتر در مورد نحوه عملکرد این گزینههای پیکربندی، به وظیفه Face Landmarker مراجعه کنید.
افزونه عمق

افزونهی Depth یک تصویر شرطی را میپذیرد که عمق تکچشمی یک شیء را مشخص میکند. مدل Foundation از تصویر شرطی برای استنباط اندازه و عمق شیء مورد نظر برای تولید استفاده میکند و بر اساس متن اعلان، تصویر جدیدی تولید میکند.
افزونهی Depth همچنین برای ایجاد تصویر وضعیت به یک مدل تخمین عمق نیاز دارد.
افزونه Depth شامل گزینههای پیکربندی زیر است:
| نام گزینه | توضیحات | محدوده ارزش | مقدار پیشفرض |
|---|---|---|---|
depthModelBaseOptions | شیء BaseOptions که مسیر مدلی را که تصویر شرط را ایجاد میکند، تعیین میکند. | شیء BaseOptions | N/A |
depthPluginModelBaseOptions | شیء BaseOptions که مسیر مدل افزونه را تعیین میکند. | شیء BaseOptions | N/A |
شخصیسازی با LoRA
سفارشیسازی یک مدل با LoRA میتواند به Image Generator این امکان را بدهد که تصاویری را بر اساس مفاهیم خاص تولید کند، که این تصاویر در طول آموزش توسط توکنهای منحصر به فرد شناسایی میشوند. با وزنهای جدید LoRA پس از آموزش، مدل قادر است تصاویری از مفهوم جدید را زمانی که توکن در اعلان متنی مشخص شده باشد، تولید کند.
ایجاد وزنهای LoRA نیازمند آموزش یک مدل پایه بر روی تصاویر یک شیء، شخص یا سبک خاص است که مدل را قادر میسازد مفهوم جدید را تشخیص داده و هنگام تولید تصاویر از آن استفاده کند. اگر وزنهای LoRa را برای تولید تصاویر افراد و چهرههای خاص ایجاد میکنید، فقط از این راهحل روی صورت خود یا چهره افرادی استفاده کنید که به شما اجازه انجام این کار را دادهاند.
در زیر خروجی یک مدل سفارشیسازیشده که با استفاده از توکن "monadikos teapot" بر روی تصاویر قوریهای چای از مجموعه داده DreamBooth آموزش دیده است، آمده است:

سوال : یک قوری مونادیکوس در کنار آینه
مدل سفارشیشده، توکن را در اعلان دریافت کرد و یک قوری که یاد گرفته بود از وزنهای LoRA تصویر کند را تزریق کرد و تصویر آن را مطابق درخواست در اعلان، در کنار یک آینه قرار داد.
برای اطلاعات بیشتر، به راهنمای سفارشیسازی مراجعه کنید، که از Model Garden روی Vertex AI برای سفارشیسازی یک مدل با اعمال وزنهای LoRA به یک مدل فونداسیون استفاده میکند.