محتوای یک تصویر را با استفاده از نقاشی بیرونی با Imagen گسترش دهید


این صفحه نحوه استفاده از outpainting با استفاده از Imagen را برای گسترش محتوای یک تصویر فراتر از مرزهای اصلی آن با استفاده از SDK های Firebase AI Logic شرح می‌دهد.

نقاشی بیرونی نوعی ویرایش مبتنی بر ماسک است. ماسک یک لایه دیجیتالی است که ناحیه خاصی را که می‌خواهید ویرایش کنید، مشخص می‌کند.

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

برای مثال، می‌توانید نسبت ابعاد تصویر را تغییر دهید یا زمینه پس‌زمینه بیشتری اضافه کنید.

به کد

قبل از اینکه شروع کنی

فقط زمانی در دسترس است که از Vertex AI Gemini API به عنوان ارائه دهنده API خود استفاده کنید.

اگر هنوز این کار را نکرده‌اید، راهنمای شروع به کار را تکمیل کنید، که نحوه راه‌اندازی پروژه Firebase، اتصال برنامه به Firebase، افزودن SDK، راه‌اندازی سرویس backend برای ارائه‌دهنده API انتخابی شما و ایجاد یک نمونه ImagenModel را شرح می‌دهد.

مدل‌هایی که از این قابلیت پشتیبانی می‌کنند

ایمیجِن ویرایش تصویر را از طریق مدل capability خود ارائه می‌دهد:

  • imagen-3.0-capability-001

توجه داشته باشید که برای مدل‌های Imagen ، موقعیت مکانی global پشتیبانی نمی‌شود .

گسترش محتوای یک تصویر

قبل از امتحان کردن این نمونه، بخش «قبل از شروع» این راهنما را برای راه‌اندازی پروژه و برنامه خود تکمیل کنید.

نمونه زیر نحوه گسترش یک تصویر فراتر از مرزهای اصلی آن را نشان می‌دهد - با استفاده از ماسکی که در تصویری که ارائه می‌دهید تعریف شده است. شما تصویر اصلی، یک متن راهنما و تصویر ماسک‌شده را ارائه می‌دهید. به نکات زیر در مورد تصویر اصلی و ماسک‌شده توجه کنید:

  • تصویر ماسک‌شده باید ابعاد پیکسلی معادل اندازه‌ی مورد نظر تصویر نهاییِ رنگ‌آمیزی‌شده داشته باشد.

  • تصویر اصلی باید شامل padding اضافی باشد تا با ابعاد پیکسلی تصویر ماسک‌شده مطابقت داشته باشد.

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

سویفت

ویرایش تصویر با مدل‌های Imagen برای Swift پشتیبانی نمی‌شود. اواخر امسال دوباره بررسی کنید!

Kotlin

برای باز کردن یک تصویر، از editImage() استفاده کنید و پیکربندی ویرایش را روی ImagenEditMode.OUTPAINT تنظیم کنید.
توجه داشته باشید که می‌توانید به صورت اختیاری outpaintImage() به جای editImage() استفاده کنید و نیازی به مشخص کردن حالت ویرایش ندارید.

برای نمونه کد مربوط به outpainting، به راهنمای سریع مراجعه کنید.

Java

برای باز کردن یک تصویر، از editImage() استفاده کنید و پیکربندی ویرایش را روی ImagenEditMode.OUTPAINT تنظیم کنید.
توجه داشته باشید که می‌توانید به صورت اختیاری outpaintImage() به جای editImage() استفاده کنید و نیازی به مشخص کردن حالت ویرایش ندارید.

برای نمونه کد مربوط به outpainting، به راهنمای سریع مراجعه کنید.

Web

ویرایش تصویر با مدل‌های Imagen برای برنامه‌های وب پشتیبانی نمی‌شود. اواخر امسال دوباره بررسی کنید!

Dart

برای باز کردن یک تصویر، از editImage() استفاده کنید و پیکربندی ویرایش را روی ImagenEditMode.OUTPAINT تنظیم کنید.

برای نمونه کد مربوط به outpainting، به راهنمای سریع مراجعه کنید.

وحدت

ویرایش تصویر با مدل‌های Imagen برای Unity پشتیبانی نمی‌شود. بعداً امسال دوباره بررسی کنید!

بهترین شیوه‌ها و محدودیت‌ها

توصیه می‌کنیم هنگام ویرایش تصویر، ماسک را گشاد کنید. این کار می‌تواند به صاف کردن مرزهای ویرایش کمک کند و آن را قانع‌کننده‌تر جلوه دهد. به‌طورکلی، مقدار گشادی ۱٪ یا ۲٪ ( 0.01 یا 0.02 ) توصیه می‌شود.


درباره تجربه خود با Firebase AI Logic بازخورد دهید