اخبار محصول

افزایش تعامل کاربر با تولید تصویر هوش مصنوعی

مطالعه ۵ دقیقه‌ای
Thomas Ezan و Mozart Louis

افزودن تصاویر سفارشی به برنامه شما می‌تواند به طور قابل توجهی تجربه کاربری را بهبود و شخصی‌سازی کند و تعامل کاربر را افزایش دهد. این پست دو قابلیت جدید برای تولید تصویر با Firebase AI Logic را بررسی می‌کند: ویژگی‌های ویرایش تخصصی Imagen، که در حال حاضر در پیش‌نمایش است، و در دسترس بودن عمومی Gemini 2.5 Flash Image (معروف به "نانو موز")، که برای تولید تصویر متنی یا محاوره‌ای طراحی شده است.

افزایش تعامل کاربر با تصاویر تولید شده از طریق Firebase AI Logic

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

برای مثال، Imagen ویژگی‌های ویرایشی جدیدی ارائه می‌دهد (در پیش‌نمایش توسعه‌دهندگان). اکنون می‌توانید یک ماسک رسم کنید و از inpainting برای تولید پیکسل‌ها در ناحیه ماسک‌شده استفاده کنید. علاوه بر این، outpainting برای تولید پیکسل‌ها در خارج از ماسک در دسترس است.

تصویر در حال نقاشی.png

ایمجن از inpainting پشتیبانی می‌کند و به شما اجازه می‌دهد فقط بخشی از تصویر را تولید کنید.

از طرف دیگر، Gemini 2.5 Flash Image (معروف به Nano Banana) می‌تواند از دانش جهانی گسترده و قابلیت‌های استدلال مدل‌های Gemini برای تولید تصاویر مرتبط با متن استفاده کند، که برای ایجاد تصاویر پویا که با تجربه فعلی کاربر در برنامه همسو هستند، ایده‌آل است.

تصویرسازی نانو موز در متن.png

از Gemini 2.5 Flash Image برای ایجاد تصاویر پویا و مرتبط با برنامه خود استفاده کنید.

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

ویرایش عکس با زبان طبیعی.png

از Gemini 2.5 Flash Image برای ویرایش تصویر با استفاده از زبان طبیعی استفاده کنید.

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

ایمجین یا جمینی: انتخاب با شماست

تفاوت بین Gemini 2.5 Flash Image ("نانو موز") و Imagen در تمرکز اصلی و قابلیت‌های پیشرفته آنهاست. Gemini 2.5 Flash Image، به عنوان یک مدل تصویر در خانواده بزرگتر Gemini، در ویرایش تصویر محاوره‌ای، حفظ انسجام زمینه و موضوع در تکرارهای متعدد و بهره‌گیری از "دانش و استدلال جهانی" برای ایجاد تصاویر مرتبط با متن یا جاسازی تصاویر دقیق در توالی‌های متنی طولانی، برتری دارد.

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

تصاویر فلش Gemini 2.5
(نانو موز 🍌)
ایمیجِن

🌎 دانش جهانی و استدلال برای تصاویر مرتبط‌تر با متن

💬 تصاویر را به صورت محاوره‌ای و با حفظ زمینه ویرایش کنید

📖 تصاویر دقیق را در توالی‌های متنی طولانی جاسازی کنید

📐 نسبت ابعاد یا قالب تصاویر تولید شده را مشخص کنید

🖌️پشتیبانی از ویرایش مبتنی بر ماسک برای رنگ‌آمیزی داخلی و خارجی.

🎚️ کنترل بیشتر بر جزئیات تصویر تولید شده (کیفیت، جزئیات هنری و سبک‌های خاص)

بیایید ببینیم چگونه می‌توان از آنها در برنامه خود استفاده کرد.

رنگ‌آمیزی با Imagen

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

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

تصویر در حال نقاشی سگ.png

از ویژگی‌های ویرایش Imagen برای ایجاد تغییرات دقیق و هدفمند در یک تصویر و تضمین یکپارچگی تصویر استفاده کنید.

این تغییرات با حفظ عناصر اصلی و یکپارچگی کلی تصویر اصلی و اصلاح تنها ناحیه‌ی موجود در ماسک، انجام می‌شوند.

برای پیاده‌سازی inpainting با Imagen، ابتدا imagen-3.0-capability-001 یک مدل خاص Imagen که از ویژگی‌های ویرایش پشتیبانی می‌کند را مقداردهی اولیه کنید:

  // Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0
val editingModel =
        Firebase.ai(backend = GenerativeBackend.vertexAI()).imagenModel(
            "imagen-3.0-capability-001",
            generationConfig = ImagenGenerationConfig(
                numberOfImages = 1,
                aspectRatio = ImagenAspectRatio.SQUARE_1x1,
                imageFormat = ImagenImageFormat.jpeg(compressionQuality = 75),
            ),
        )

از آنجا، تابع inpainting را تعریف کنید:

  // Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0

val prompt = "remove the pancakes and make it an omelet instead"

suspend fun inpaintImageWithMask(sourceImage: Bitmap, maskImage: Bitmap, prompt: String, editSteps: Int = 50): Bitmap {
        val imageResponse = editingModel.editImage(
            referenceImages = listOf(
                ImagenRawImage(sourceImage.toImagenInlineImage()),
                ImagenRawMask(maskImage.toImagenInlineImage()),
            ),
            prompt = prompt,
            config = ImagenEditingConfig(
                editMode = ImagenEditMode.INPAINT_INSERTION,
                editSteps = editSteps,
            ),
        )
        return imageResponse.images.first().asBitmap()
    }

شما هم یک sourceImage و هم یک maskImage و همچنین یک اعلان برای ویرایش و تعداد مراحل ویرایشی که باید انجام شود را ارائه می‌دهید.

می‌توانید آن را در عمل در نمونه ویرایش Imagen در کاتالوگ نمونه هوش مصنوعی اندروید مشاهده کنید!

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

تولید تصویر محاوره‌ای با Gemini 2.5 Flash Image

یکی از راه‌های ویرایش تصاویر با Gemini 2.5 Flash Image استفاده از قابلیت‌های چت چند نوبته این مدل است.

ابتدا، مدل را مقداردهی اولیه کنید:

  // Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0

val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
    modelName = "gemini-2.5-flash-image",
    // Configure the model to respond with text and images (required)
    generationConfig = generationConfig {
        responseModalities = listOf(ResponseModality.TEXT,
        ResponseModality.IMAGE)
    }
)

برای دستیابی به نتیجه‌ای مشابه روش Imagen مبتنی بر ماسک که در بالا توضیح داده شد، می‌توانیم از API chat برای شروع مکالمه با Gemini 2.5 Flash Image استفاده کنیم.

  // Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0

// Initialize the chat
val chat = model.startChat()


// Load a bitmap
val source = ImageDecoder.createSource(context.contentResolver, uri)
val bitmap = ImageDecoder.decodeBitmap(source)


// Create the initial prompt instructing the model to edit the image
val prompt = content {
    image(bitmap)
    text("remove the pancakes and add an omelet")
}

// To generate an initial response, send a user message with the image and text prompt
var response = chat.sendMessage(prompt)

// Inspect the returned image
var generatedImageAsBitmap = response
    .candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image

// Follow up requests do not need to specify the image again
response = chat.sendMessage("Now, center the omelet in the pan")
generatedImageAsBitmap = response
    .candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image

می‌توانید آن را در عمل در نمونه چت تصویری Gemini در کاتالوگ نمونه هوش مصنوعی اندروید مشاهده کنید و اطلاعات بیشتر در مورد آن را در مستندات اندروید بخوانید.

نتیجه‌گیری

هر دو نرم‌افزار Imagen و Gemini 2.5 Flash Image قابلیت‌های قدرتمندی ارائه می‌دهند و به شما این امکان را می‌دهند که بسته به مورد استفاده خاص خود، مدل تولید تصویر ایده‌آل را برای شخصی‌سازی برنامه خود و افزایش تعامل کاربر انتخاب کنید.

    نوشته شده توسط:

    ادامه مطلب