MediaPipeがAndroid向けにデバイス上の画像生成機能を提供開始

Android向けMediaPipe:オンデバイステキストから画像生成の新機能

はじめに

最近、Androidの開発者向けに、MediaPipeソリューションを通じてテキストから画像を生成する新しい機能が発表されました。この新機能は、実験的なソリューション「Image Generator」として利用可能で、開発者はAndroidデバイス上で簡単に画像を生成することができます。より高性能なデバイスでは、わずか**15秒**ほどで画像が生成されるため、多くのクリエイティブな可能性が開かれます。

新しいMediaPipe Image Generatorの利用方法

この新機能を使用する方法は主に**3つ**あります。

  • テキストプロンプトに基づいて生成する標準的な拡散モデルを使用したテキストから画像の生成。
  • テキストプロンプトと条件画像に基づいた制御可能なテキストから画像の生成。
  • 特定の概念に合わせてカスタマイズされたテキストから画像の生成。これにはLow-Rank Adaptation (LoRA)ウェイトが含まれます。

モデルについて

新しいImage Generation APIは、**Stable Diffusion v1.5**アーキテクチャに厳密に一致する任意のモデルをサポートします。事前トレーニング済みモデルや、カスタマイズしたモデルを利用することができ、MediaPipe Image Generatorに対応したモデル形式に変換するためのスクリプトも提供されています。また、MediaPipe Diffusion LoRAファインチューニングを使用して、基盤モデルに新しい概念を注入することも可能です。

拡散モデルを利用した画像生成

最もシンプルな使い方は、テキストプロンプトを提供することで、新しい画像を生成することです。最初にオプションオブジェクトを作成し、基盤モデルファイルのパスを定義します。このオプションオブジェクトができたら、ImageGeneratorを作成します。

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

新しいImageGeneratorを作成したら、プロンプト、生成するためのイテレーション数、シード値を渡すことで、新しい画像を生成することができます。このプロセスはブロッキング操作となるため、バックグラウンドスレッドで実行することをお勧めします。

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

プラグインを利用した画像生成

新しい画像をプロンプトのみから生成できるのは大きな進展ですが、さらに進化させたプラグインシステムも導入されています。このシステムでは、条件画像をテキストプロンプトと併せて入力することができます。

現在、以下の3つの方法で生成の基盤を提供できます。

  • 顔の構造
  • エッジ検出
  • 深度認識

これらのプラグインを使用することで、特定の構造を抽出し、それを基に新しい画像を作成することが可能になります。

LoRAウェイトを用いたカスタマイズ

三つ目の主な機能は、LoRAを用いてImage Generatorタスクをカスタマイズすることです。これにより、特定のオブジェクトやスタイルを学習しているモデルに、新しい概念を学習させることができます。

例えば、すべての画像を油絵のスタイルにすることや、特定のティーポットを任意の設定に登場させることが可能です。LoRAウェイトに関する詳細はメディアパイプの公式ドキュメントで確認できます。また、生成したLoRAウェイトをデバイス上で利用する方法も説明されています。

Once generated, you can deploy the LoRA weights on-device using the MediaPipe Tasks Image Generator API.

今後の展望

この新機能は、オンデバイス画像生成の始まりに過ぎません。開発者コミュニティがどのような素晴らしい作品を作り出すのか、今から楽しみです。ぜひ、#MediaPipeImageGen のハッシュタグをつけて作品をシェアしてください。

また、公式のサンプルコードや詳細なドキュメントはGitHubで確認でき、Google for DevelopersのYouTubeチャンネルでも最新情報やチュートリアルが公開されますので、ぜひご覧ください。

MediaPipeチーム全員に感謝しつつ、この新しい機能を利用して、次世代のクリエイティブな作品を生み出していくことが期待されます。