MediaPipe 现在支持在 Android 设备上进行文本到图像的生成

MediaPipe 图像生成插件在 Android 设备上推出

几个月前宣布的 MediaPipe 扩散插件现已作为实验性工具在 Android 设备上提供。该插件名为 Image Generator,可以在高端设备上完全在设备上生成图像,耗时约 15 秒。

功能概述

MediaPipe 图像生成器能够基于文本提示使用标准扩散模型生成图像。该图像生成 API 支持符合 Stable Diffusion v1.5 架构的任何模型。

模型定制与转换

除了使用预训练模型外,开发者还可以通过 Google 提供的转换脚本微调模型并将其转换为支持的模型格式。这使得开发者可以将条件图像注入模型,以更好地控制生成过程和最终生成的图像。此外,还可以使用 低秩适应(LoRA)权重来生成特定预定义概念的图像。

API 使用示例

要直接通过将文本提示输入图像生成器 API 来使用扩散模型,首先需要创建一个包含设备上基础模型文件路径的 options 对象,然后将其传递给 ImageGenerator 构造函数。获得 ImageGenerator 实例后,传递提示、迭代次数和种子值,即可返回生成的图像:

val options = ImageGeneratorOptions.builder().setImageGeneratorModelDirectory(MODEL_PATH).build() 
imageGenerator = ImageGenerator.createFromOptions(context, options)

val result = imageGenerator.generate(prompt_string, iterations, seed) 
val bitmap = BitmapExtractor.extract(result?.generatedImage())

插件系统

Google 还开发了一个新的插件系统,使传递条件图像的过程更加简便。目前支持三种不同的生成基础:面部结构、边缘检测和深度感知。这些插件允许开发者提供图像,从中提取特定结构,然后使用这些结构创建新图像。

插件类型

Google 提供了多种插件,应与基础模型结合使用,每个插件都针对特定的最终效果定制。特别是:

  • Canny Edge 插件:使用条件图像中的边缘,并根据文本提示生成新图像。
  • Face Landmark 插件:提供单个面部的详细面部网格,并在网格上生成新面部。
  • Depth 插件:使用条件图像推断对象的尺寸和深度,生成新图像。

每个插件都支持多种选项以自定义其行为。

LoRA 定制

图像生成器还可以使用 LoRA 进行定制,通过教授模型新概念来扩展基础模型。使用新的 LoRA 权重,图像生成器能够将特定概念注入生成的图像中。例如,开发者可以使用给定主题的多个图像创建 LoRA 权重,然后使用这些权重在不同环境中生成同一主题的新图像。

示例与资源

如果开发者有兴趣尝试新的 MediaPipe 图像生成器,可以从 GitHub 上的官方示例 开始,该示例演示了三种使用方式。

阅读 26
0 条评论