テクノロジーと科学の最新の話題を毎日配信中!!

Google、AIでアバターを刷新!「Androidify」発表、GeminiとComposeで誰でも簡単オリジナルキャラ作成へ

Y Kobayashi

2025年5月21日12:08PM

かつて多くのAndroidユーザーに愛されたアバター作成ツール「Androidify」。そのAndroidifyが、Googleの最新AI技術を身にまとい、全面的にリニューアルされることが明らかになった。Googleは、この新しいAndroidifyのオープンソースデモアプリ(github.com/android/androidify)を公開。Jetpack Compose、Gemini API、CameraX、Navigation 3といった最先端技術を駆使し、強力なAI駆動型体験をAndroid上で実現する方法を具体的に示している。

スポンサーリンク

Androidifyとは?あの人気ボットメーカーがAIで劇的進化

Androidのマスコットキャラクターである「Androidボット」。これを自分好みにカスタマイズできる「Androidify」は、以前のバージョンも非常に人気が高かった。今回、Googleはそのボットメーカーをゼロから再構築。最新のAI技術、特に「Gemini」を中核に据え、ユーザーの写真やテキスト入力から、その人らしさを反映したユニークなAndroidボットを生成できるようになった。

公開されたデモアプリでは、女性がピンクのドレスに傘をさした写真が、同じくピンクのドレスと傘を持った可愛らしいAndroidボットの3Dイメージに変換される様子などが紹介されている。このアプリは単なる遊び道具ではなく、開発者にとっては最新技術を学ぶための実践的な教材ともなるだろう。

Androidifyを支えるGoogleの最新テクノロジー群

この新しいAndroidifyは、Googleが誇る様々な技術を結集して作られている。その主要なものを掘り下げていこう。

AIの頭脳「Gemini API」と「Firebase AI Logic SDK」

AndroidifyのAI機能の心臓部と言えるのが、Googleの最新AIモデル「Gemini」だ。具体的には、「Gemini 2.5 Flash」と画像生成モデル「Imagen 3」が活用されている。これらのモデルへのアクセスは、Firebase AI Logic SDK」を通じて行われ、アプリへのAI機能の実装を容易にしている。

AndroidifyにおけるGeminiの活用例は多岐にわたる。

  1. 画像検証: ユーザーがアップロードした写真がアバター作成に適しているかをGeminiが判断する。具体的には、写真に人物がはっきりと写っているか、ピントが合っているか、そして不適切な内容を含んでいないかといった安全性を評価する。この際、Geminiのマルチモーダル機能(テキストプロンプトと画像を同時に処理する能力)が活かされている。例えば、「画像に十分な情報が含まれているか」を問い、success: true/false とエラーメッセージ(該当する場合)をJSON形式で返すように指示できる。
  2. テキストプロンプト検証: 写真の代わりにテキストでボットの特徴を入力する場合、そのテキストがボット生成に十分な情報量を含んでいるかをGemini 2.5 Flashが検証する。
  3. 画像キャプション生成: 検証済みの画像から、Gemini 2.5 Flashが詳細な説明文(キャプション)を生成する。特に服装やその色、髪型などに焦点を当て、可能な限り具体的に記述するよう指示されている。これも構造化出力(JSONスキーマ定義)を活用し、success: true/false と user_description を含むJSONレスポンスを得る。
  4. 「Help me write」機能: いわゆる「おまかせ」機能だ。Gemini 2.5 Flashを使い、ボットの服装や髪型に関するランダムな説明文を生成し、ユーザーのアイデア出しを助ける。
  5. 画像生成: 最終ステップとして、生成されたキャプションやユーザーが入力したテキストプロンプト、そして選択された肌の色を元に、Imagen 3がAndroidボットの画像を生成する。「3Dレンダリングされたカートゥーン調のAndroidマスコットを、写実的なスタイルで、リラックスした正面向きのポーズで…」といった詳細な指示と、ユーザー固有の特徴を組み合わせたプロンプトが使われる。

特筆すべきは、GoogleがこのAndroidifyのためにImagen 3モデルをファインチューニングしている点だ。Androidボット特有の可愛らしさや楽しさを構成する様々なパーツ(色、形状など)を学習させ、より魅力的なボットを生成できるよう調整が進められている。現在公開されているデモアプリは標準のImagenモデルを使用しているが、ファインチューンされたモデルを搭載したバージョンは年内に共有される予定だという。このファインチューニングには、LoRA (Low-Rank Adaptation) という、大規模モデルの特定部分のみを効率的に調整する技術が用いられた。

モダンなUIを実現する「Jetpack Compose」と「Material 3 Expressive」

Androidifyのユーザーインターフェース(UI)は、AndroidのモダンUIツールキットである「Jetpack Compose」で構築されている。これにより、宣言的な記述で、より迅速かつシンプルにUI開発が可能になる。

さらに、Androidifyでは「Material 3 Expressive」(androidx.compose.material3:material3:1.4.0-alpha10でアルファ版としてリリース)が積極的に採用されている。これはMaterial 3デザインシステムを拡張し、より感情に訴えかける魅力的でプレミアムなユーザー体験(UX)を目指すものだ。

  • MotionScheme.expressive(): アプリ全体に遊び心のある動きを加えるため、このモーションテーマが選択されている。
  • 新しいコンポーネント: プロンプトタイプ選択部分には「HorizontalFloatingToolbar」など、Material 3 Expressiveで導入された新しいコンポーネントが使用されている。
  • MaterialShapes: カメラのキャプチャーボタンには、クッキーのような可愛らしい形状(MaterialShapes.Cookie9Sided)が採用されるなど、様々な場所でプリセットされたシェイプが活用され、シェイプ間のモーフィングも容易に行える。

他にも、Jetpack Composeを活かしたUIの工夫が随所に見られる。

  • 共有要素トランジション: 「写真を撮る」ボタンからカメラ画面への遷移などで、モーフィングするシェイプを用いた共有要素トランジションが目を引く。Navigation 3のLocalNavAnimatedContentScopeを利用することで、これらの実装が簡素化されている。
  • オートサイズテキスト: Jetpack Compose 1.8で導入されたautoSizeパラメータを利用し、「Customize your own Android Bot」といったテキストがコンテナサイズに合わせて自動的にフォントサイズを調整する。このテキストの中央にアニメーションするボットを表示するためにInlineContentも活用されている。
  • onLayoutRectChanged: 同じくCompose 1.8で追加された、よりパフォーマンスの高いレイアウト変更検出モディファイア。Androidifyでは、「Let’s Go」ボタンの位置を取得し、そこからカラースプラッシュアニメーションを開始するために使用されている。
  • アニメーショングラデーションボタン: AI関連のアクションボタンには、動きのあるグラデーションが採用され、視覚的な楽しさを加えている。
  • Marqueeアニメーション: 結果表示画面では、テキストが流れるようなMarqueeアニメーションが使用されている。

これらの「遊び心のあるディテール」は、Rebecca Franks氏による別記事でより深く解説されている。

高度なカメラ機能とメディア再生「CameraX」と「Media3 Compose」

ユーザーが写真に基づいてボットを作成できるよう、AndroidifyにはJetpackライブラリである「CameraX」が統合されている。

  • カスタムCameraLayout: ズームボタン、キャプチャーボタン、カメラ切り替えボタンなどを備えたカスタムのCameraLayoutコンポーザブルが用意されている。これは様々なデバイスサイズや、テーブルトップモード、リアカメラディスプレイといった高度なユースケースにも適応する。
  • CameraXViewfinder: カメラプレビューのレンダリングには、camerax-composeアーティファクトに含まれる新しいCameraXViewfinderが使用されている。

また、プロンプトや画像から最適なボットを作成するための説明動画の再生には、「Media3」APIが活用されている。

  • VideoPlayer: media3-ui-composeアーティファクトを使用し、簡単にVideoPlayerをアプリに組み込んでいる。ExoPlayerをベースに、リピート再生などの設定も可能だ。
  • 表示状態に応じた再生制御: Modifier.onLayoutRectChanged(記事中ではonVisibilityChangedというカスタムModifier経由)を利用して、動画コンポーザブルが完全に画面内に表示されているか否かを検知し、それに応じて動画の再生・一時停止を自動的に制御している。
  • 再生/一時停止ボタン: rememberPlayPauseButtonStateを使い、動画上に再生/一時停止ボタンをオーバーレイ表示している。

スムーズな画面遷移「Navigation 3」

アプリ内の画面遷移は、新しいJetpack Navigation 3ライブラリ(androidx.navigation3)によって処理される。

  • MainNavigation: ホーム、カメラ、作成、バージョン情報といった各画面(Destination)を定義し、NavDisplayを使用してそれぞれのコンテンツを表示する。
  • LocalNavAnimatedContentScope: この新しいCompositionLocalにより、スコープを自前で管理することなく、共有要素トランジションを容易に統合できる。
  • 予測型「戻る」ジェスチャー対応: デフォルトで予測型「戻る」ジェスチャーと統合されており、画面間を移動する際の体験が向上している。

カメラ映像から人を検出「ML Kit Pose Detection」

Androidifyは「ML Kit Pose Detection SDK」も活用している。これにより、カメラのビューファインダー内に人がいることを検出し、キャプチャーボタンを有効化したり、検出を示す楽しい視覚的インジケーターを追加したりする。

具体的には、カメラからのストリーミング画像内で鼻と両肩のランドマークが一定の信頼度以上で検出されると、ポーズが検出されたと判断するロジックが組まれている。

スポンサーリンク

Androidifyアプリの動作フロー:写真からボットが生まれるまで

提供された情報とフローチャートから、Androidifyアプリがどのようにして写真やテキストからAndroidボットを生成するのか、その流れを追ってみよう。

  1. 入力: ユーザーは、デバイスのカメラで写真を撮影するか、既存の画像を選択する。または、テキストでボットの特徴を入力することも可能。
  2. AIによる検証(画像の場合):
    • 画像検証: Geminiが、画像に十分な情報(鮮明な人物など)が含まれているか、安全性に問題はないかをチェックする。
  3. AIによる検証(テキストの場合):
    • テキストプロンプト検証: Geminiが、入力されたテキストがボト生成に十分な説明を含んでいるかをチェックする。
  4. AIによる情報拡張:
    • 画像キャプション生成(画像の場合): Geminiが画像の内容を詳細に記述したキャプションを生成する。
    • 「Help me write」機能(オプション): Geminiがランダムな服装や髪型の説明を生成し、ユーザーを支援する。
  5. ボットの色選択: ユーザーがボットの肌の色などを選択する。
  6. AIによる画像生成:
    • 検証・生成されたプロンプト(キャプションやテキスト入力)と選択された色情報を元に、Imagen 3がAndroidボットの最終的な画像を生成する。
  7. 表示と共有: 生成されたボットが表示され、ユーザーはそれを共有できる。

この一連の流れの中で、ML Kitによるポーズ検出はカメラ使用時にリアルタイムで機能し、適切なタイミングでの撮影を補助する。

あらゆるデバイスに対応するアダプティブデザイン

Androidifyは、通常のスマートフォンだけでなく、フォルダブルデバイスやタブレットなど、さまざまな画面サイズやフォームファクタで最適に表示・機能するように設計されている。

  • WindowSizeClassの活用: WindowSizeClass APIを利用してウィンドウサイズカテゴリを検出し、レイアウトを動的に調整する。例えば、CreationScreenでは、ウィンドウ幅が広い場合は画像/プロンプトエリアとカラーピッカーを横並びに表示し、狭い場合はカラーピッカーをモーダルボトムシートで表示するといった適応が行われる。
  • フォルダブルサポート: WindowInfoTrackerを使用して折りたたみ状態(例:テーブルトップモード)を検出し、レイアウトを最適化する。
  • リアディスプレイ対応: RearCameraUseCaseを通じて、デバイスが展開されている際に外部スクリーンにカメラプレビューを表示する機能もサポートしている。
  • カスタムプレビューアノテーション: @LargeScreensPreviewのようなカスタムアノテーションを作成することで、さまざまなデバイスサイズでのUI確認を容易にしている。

これらの工夫により、デバイスごとにアプリを再実装することなく、再利用可能なコンポーザブルと適切なレイアウトメカニズムを組み合わせて、多様なデバイスに対応している。

スポンサーリンク

開発者にとってのAndroidify:学びとインスピレーションの宝庫

Androidifyは、単に楽しいアプリであるだけでなく、Android開発者にとって非常に価値のあるリソースだ。

  • オープンソース: 全てのコードがGitHubで公開されており、誰でも自由に参照し、学ぶことができる。
  • 最新技術のベストプラクティス: Jetpack Compose、Gemini、CameraX、Navigation 3といった最新技術を組み合わせた実世界のAIアプリケーションの模範例となる。アーキテクチャ、テスト、UIの実装方法など、多くの知見が得られるだろう。
  • AI駆動型アプリ開発のヒント: GeminiやImagenをどのようにアプリに組み込み、ユーザー体験を向上させるかについての具体的なアイデアや実装方法が満載だ。

Googleは、「このサンプルアプリが、開発者の皆さんが独自のAI駆動型アプリ体験を構築する上でのインスピレーションとなることを願っています」と述べている。

今後の展望とGoogle I/O 2025

Androidifyはまだ進化の途上にある。前述の通り、Androidボットの魅力に特化してファインチューンされたImagenモデルの提供が年内に予定されており、これによりさらに表現豊かで個性的なボット作成が可能になるだろう。また、Firebase AI Logic SDKにおけるファインチューン済みモデルのサポートも年内に計画されている。

AI技術が急速に進化し、私たちのデジタル体験を変革しつつある現代において、Androidifyのようなプロジェクトは、その可能性を身近に感じさせてくれる好例と言えるだろう。


Sources

Follow Me !

\ この記事が気に入ったら是非フォローを! /

フォローする
スポンサーリンク

コメントする