作者 / 高級(jí)開(kāi)發(fā)者關(guān)系工程師 Thomas Ezan 和開(kāi)發(fā)者關(guān)系工程師 Mozart Louis
為您的應(yīng)用添加自定義圖像,能夠顯著改善和個(gè)性化用戶體驗(yàn),有效提高用戶參與度。本文將探討使用 Firebase AI Logic 生成圖像的兩種新功能: 其一是 Imagen 專(zhuān)屬編輯功能預(yù)覽版;其二是 Gemini 2.5 Flash Image (又名 Nano Banana) 正式版,后者的專(zhuān)長(zhǎng)就是在情境或?qū)υ捴猩蓤D像。
借助 Firebase AI Logic 生成圖像以提高用戶參與度
圖像生成模型可用于創(chuàng)建自定義用戶個(gè)人資料頭像,或?qū)€(gè)性化視覺(jué)素材直接集成到應(yīng)用關(guān)鍵流程中。
例如,Imagen 提供了尚處于開(kāi)發(fā)者預(yù)覽版的全新編輯功能?,F(xiàn)在,您可以繪制遮罩并利用圖像內(nèi)繪制 (inpainting) 在遮罩區(qū)域內(nèi)生成像素。此外,還提供了圖像擴(kuò)展 (outpainting) 功能,可用于生成遮罩區(qū)域外的像素。
另一方面,Gemini 2.5 Flash Image (又名 Nano Banana) 可以使用 Gemini 模型淵博的世界知識(shí)和推理能力來(lái)生成與上下文相關(guān)的圖像,這非常適合用于創(chuàng)建與用戶當(dāng)前應(yīng)用內(nèi)體驗(yàn)契合的動(dòng)態(tài)插圖。
△ 使用 Gemini 2.5 Flash Image 創(chuàng)建與您的應(yīng)用上下文相關(guān)的動(dòng)態(tài)插圖
最后,借助對(duì)話和迭代編輯圖像的功能,用戶可以使用自然語(yǔ)言編輯圖像。
在著手將 AI 集成到您的應(yīng)用中時(shí),了解 AI 安全性非常重要。尤其關(guān)鍵的是,您需要評(píng)估應(yīng)用的安全風(fēng)險(xiǎn)、斟酌調(diào)整以降低安全風(fēng)險(xiǎn)、執(zhí)行適合您用例的安全測(cè)試,以及征求用戶反饋并監(jiān)控內(nèi)容。
Imagen 或 Gemini 任您選擇
Gemini 2.5 Flash Image (Nano Banana) 和 Imagen 之間的區(qū)別在于各自獨(dú)特的側(cè)重點(diǎn)和高級(jí)功能。Gemini 2.5 Flash Image 作為廣泛的 Gemini 系列中的圖像模型,擅長(zhǎng)對(duì)話式圖像編輯,能在多次迭代中保持上下文和主體一致性,并利用 "世界知識(shí)和推理" 來(lái)創(chuàng)建與上下文相關(guān)的視覺(jué)內(nèi)容,或在長(zhǎng)文本序列中嵌入準(zhǔn)確的視覺(jué)內(nèi)容。
Imagen 是 Google 的專(zhuān)業(yè)圖像生成模型,專(zhuān)為更好地發(fā)揮創(chuàng)意和掌控作品而設(shè)計(jì),擅長(zhǎng)于高度真實(shí)的輸出、藝術(shù)細(xì)節(jié)、特定風(fēng)格,并提供明確的控制選項(xiàng),來(lái)指定生成圖像的寬高比或格式。
|
Gemini 2.5 Flash Image (Nano Banana ) |
Imagen |
|
具備世界知識(shí)和推理能力,生成與上下文更相關(guān)的圖像 在保持與上下文關(guān)聯(lián)性的同時(shí),通過(guò)對(duì)話編輯圖像 在長(zhǎng)文本序列中嵌入準(zhǔn)確的視覺(jué)內(nèi)容 |
指定生成圖像的寬高比或格式 支持基于遮罩的編輯,實(shí)現(xiàn)圖像內(nèi)繪制和圖像擴(kuò)展 更好地控制生成圖像的細(xì)節(jié) (質(zhì)量、藝術(shù)細(xì)節(jié)和特定風(fēng)格) |
一起來(lái)了解如何在您的應(yīng)用中使用上述功能。
使用 Imagen 進(jìn)行圖像內(nèi)繪制
幾個(gè)月前,我們發(fā)布了 Imagen 新的編輯功能。雖然 Imagen 的圖像生成功能已可正式用于生產(chǎn)環(huán)境,但編輯功能仍處于開(kāi)發(fā)者預(yù)覽版階段。
Imagen 編輯功能包括圖像內(nèi)繪制和圖像擴(kuò)展,二者均為基于遮罩的圖像編輯功能。這項(xiàng)新功能允許用戶修改圖像的特定區(qū)域,而無(wú)需重新生成整個(gè)圖像。這意味著您可以保留圖像中您最滿意的部分,只更改您想要調(diào)整的內(nèi)容。
做出這些更改時(shí),原始圖像的核心元素和圖像整體完整性不受影響,您可以僅調(diào)整遮罩區(qū)域。
要使用 Imagen 的圖像內(nèi)繪制功能,請(qǐng)先初始化 imagen-3.0-capability-001,這是支持編輯功能的特定 Imagen 模型:
// Copyright2025Google 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), ), )
然后,定義圖像內(nèi)繪制函數(shù):
// Copyright 2025 Google LLC. // SPDX-License-Identifier: Apache-2.0 valprompt ="remove the pancakes and make it an omelet instead" suspendfuninpaintImageWithMask(sourceImage:Bitmap, maskImage:Bitmap, prompt:String, editSteps:Int=50): Bitmap { valimageResponse = editingModel.editImage( referenceImages = listOf( ImagenRawImage(sourceImage.toImagenInlineImage()), ImagenRawMask(maskImage.toImagenInlineImage()), ), prompt = prompt, config = ImagenEditingConfig( editMode = ImagenEditMode.INPAINT_INSERTION, editSteps = editSteps, ), ) returnimageResponse.images.first().asBitmap() }
您需要提供一張?jiān)紙D像、一張遮罩圖像、用于編輯的提示詞以及需要執(zhí)行的編輯步驟數(shù)量。
您可以在 Android AI 示例庫(kù)的 Imagen Editing Sample 中,查看其實(shí)際運(yùn)行效果!
Imagen 還支持圖像擴(kuò)展,該功能使您能讓模型在遮罩外的區(qū)域生成像素。您還可以使用 Imagen 的圖像自定義功能來(lái)更改圖像風(fēng)格或更新圖像中的一個(gè)主體。有關(guān)詳細(xì)信息,請(qǐng)參閱 Android 開(kāi)發(fā)者文檔。
使用 Gemini 2.5 Flash Image 通過(guò)對(duì)話生成圖像
要使用 Gemini 2.5 Flash Image 編輯圖像,一種方法是通過(guò)該模型的多輪聊天功能進(jìn)行編輯。
首先,初始化模型:
// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0
valmodel=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)
}
)
為了實(shí)現(xiàn)與上述基于遮罩的 Imagen 方法類(lèi)似的結(jié)果,我們可以利用chatAPI,啟動(dòng)與 Gemini 2.5 Flash Image 的對(duì)話。
// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0
// Initialize the chat
valchat=model.startChat()
// Load a bitmap
valsource=ImageDecoder.createSource(context.contentResolver, uri)
valbitmap=ImageDecoder.decodeBitmap(source)
// Create the initial prompt instructing the model to edit the image
valprompt=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
varresponse=chat.sendMessage(prompt)
// Inspect the returned image
vargeneratedImageAsBitmap=response
.candidates.first().content.parts.filterIsInstance().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().firstOrNull()?.image
您可以在 Android AI 示例庫(kù)的 Gemini Image Chat Sample 查看該功能的實(shí)際運(yùn)作,也可參閱 Android 技術(shù)文檔以了解更多相關(guān)信息。
結(jié)論
Imagen 和 Gemini 2.5 Flash Image 都提供了強(qiáng)大的功能,允許您根據(jù)具體用例選擇理想的圖像生成模型,從而讓您的應(yīng)用更加個(gè)性化,并提高用戶參與度。
-
Gemini
+關(guān)注
關(guān)注
0文章
73瀏覽量
8101 -
AI
+關(guān)注
關(guān)注
89文章
37965瀏覽量
295767 -
模型
+關(guān)注
關(guān)注
1文章
3641瀏覽量
51679
原文標(biāo)題:一文詳解 | 從了解到集成,輕松為您的應(yīng)用選擇理想的圖像生成模型
文章出處:【微信號(hào):Google_Developers,微信公眾號(hào):谷歌開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
基于擴(kuò)散模型的圖像生成過(guò)程
【Sipeed MaixCAM Pro開(kāi)發(fā)板試用體驗(yàn)】基于MaixCAM-Pro的AI生成圖像鑒別系統(tǒng)
機(jī)器人運(yùn)動(dòng)控制的兩種模型
機(jī)器人運(yùn)動(dòng)控制的兩種模型
iOS10.3beta3推送 修復(fù)bug增加兩種新功能
一種基于改進(jìn)的DCGAN生成SAR圖像的方法
基于生成式對(duì)抗網(wǎng)絡(luò)的圖像補(bǔ)全方法
Stability AI開(kāi)源圖像生成模型Stable Diffusion
Stability AI試圖通過(guò)新的圖像生成人工智能模型保持領(lǐng)先地位
谷歌計(jì)劃重新推出改進(jìn)后的Gemini AI模型人像生成功能
快手自研文生圖大模型“可圖”開(kāi)放,支持AI圖像創(chuàng)作及定制
如何用C++創(chuàng)建簡(jiǎn)單的生成式AI模型
Google兩款先進(jìn)生成式AI模型登陸Vertex AI平臺(tái)
借助谷歌Gemini和Imagen模型生成高質(zhì)量圖像

使用Firebase AI Logic生成圖像模型的兩種新功能
評(píng)論