顔写真に命を吹き込むAI「Hallo」アプリの使い方を解説!

AI・機械学習

顔写真が歌って踊る!? 最新AI「Hallo」を使えば、まるで魔法のように、静止画の顔写真に動きをつけて、音声に合わせてアニメーション動画を作ることができます。

この記事では、Halloを動かすために必要なDockerのインストールから、Halloを使った動画生成までを、超初心者の方にもわかりやすく解説します。

Halloとは?

Halloは、音声駆動型の顔画像アニメーションAIです。難しい専門知識は一切不要! 顔写真と音声データを入力するだけで、まるで生きているかのように表情豊かに動くアニメーション動画を自動生成できます。

例えば、

  • 推しのアイドルの歌声に合わせて、あなたの顔写真が口パクする動画
  • 大好きなアニメキャラの声で、あなたの自撮りがセリフを喋る動画

なんてことも、Halloなら簡単に作れちゃいます!

初心者でもすぐにできる!HalloでAI肖像画像アニメーションを作ろう
はじめにこんにちは!今回は、Halloを使って音声から肖像画像のアニメーションを生成する方法を初心者向けに解説します。HalloはHierarchical Audio-Driven Visual Synthesisの略で、音声からリアルな表...

Halloでできること

Halloを使うと、こんな夢のような動画を作ることができます。

  • 口パクアニメーション: 音声に合わせて自然に口が動く様子を再現できます。
  • 表情のアニメーション: 喜怒哀楽、様々な感情を顔の動きで表現できます。
  • 顔の動きの調整: パラメータを調整することで、顔の動きの大きさや滑らかさを細かく調整できます。

従来のアニメーション制作ソフトでは、専門知識や高度な技術が必要でしたが、Halloなら、誰でも簡単にハイクオリティなアニメーション動画を作ることができます。

Halloを使うための準備

Halloを使うには、以下の3つのステップが必要です。

  1. Dockerのインストール
  2. Hallo本体と必要なファイルのダウンロード
  3. ソース画像と音声データの準備

ステップ1: Dockerのインストール

Dockerは、HalloのようなAIプログラムを実行するための、隔離された環境を提供するソフトウェアです。Halloを動かすためには、まずDockerをインストールする必要があります。

  1. Docker Desktopのダウンロード:
Install Docker Desktop on Windows
Get started with Docker for Windows. This guide covers system requirements, where to download, and instructions on how to install and update.
  1. Docker Desktopのインストール:

    • ダウンロードしたインストーラを実行し、画面の指示に従ってインストールします。
  2. Dockerの起動:

    • インストールが完了したら、Docker Desktopを起動します。

ステップ2: Hallo本体と必要なファイルのダウンロード

次に、Hallo本体のプログラムと、Halloが動作するために必要なファイル(pretrained models)をダウンロードします。

  1. ターミナルを開く:

    • Windowsなら「コマンドプロンプト」または「PowerShell」、Macなら「ターミナル」を起動します。
  2. Halloのダウンロード:

    • ターミナルで以下のコマンドを実行し、Halloをダウンロードします。
      git clone https://github.com/Sunwood-ai-labs/hallo.git
      cd hallo

ステップ3: ソース画像と音声データの準備

最後に、Halloに入力するソース画像と音声データを準備します。

  • ソース画像:
    • アニメーションの元になる顔写真です。
    • 顔が大きく写っていて、正面を向いている写真を選びましょう。
    • 画質が良い方が、よりリアルなアニメーションになります。
  • 音声データ:
    • 顔の動きに合わせて再生する音声データです。
    • 音声データは「.wav」形式である必要があります。MP3などの場合は、変換してください。

Halloの使い方

準備が整ったら、Halloを使ってアニメーション動画を作りましょう!

  1. Halloの起動:

    • ターミナルで以下のコマンドを実行し、Halloを起動します。
      docker-compose up --build
    • 起動が完了すると、ターミナルにURLが表示されます。
  2. WebブラウザでHalloにアクセス:

    • 表示されたURLをコピーし、Webブラウザのアドレスバーに貼り付けてアクセスします。

file

  1. ソース画像と音声データをアップロード:
    • HalloのWebページが開いたら、「Source Image」欄にソース画像を、「Driving Audio」欄に音声データをドラッグ&ドロップします。

file

  1. パラメータを設定 (任意):
    • 必要に応じて、「Pose Weight」「Face Weight」「Lip Weight」「Face Expand Ratio」のパラメータを調整します。これらのパラメータは、アニメーションの滑らかさや顔の動きの大きさを調整します。

file

  1. アニメーション動画の生成:

    • 「Submit」ボタンをクリックすると、アニメーション動画が生成されます。
  2. 動画のダウンロード:

    • 生成が完了したら、「Output Video」欄に動画が表示されます。ダウンロードボタンをクリックして、動画をダウンロードしましょう。

Dockerについてのザックリ解説

Dockerfile:Halloのための魔法陣

Dockerfileは、Halloを実行するための環境を定義する設計図のようなものです。

FROM nvidia/cuda:12.0.1-devel-ubuntu22.04

ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8

RUN apt-get update && apt-get install -y \
    python3 \
    python3-pip \
    ffmpeg \
    git \
    wget

WORKDIR /app

COPY requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt

RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh |  bash
RUN apt-get install -y git-lfs
RUN git lfs install

# COPY download_models.sh .
# RUN chmod +x download_models.sh
  • FROM nvidia/cuda:12.0.1-devel-ubuntu22.04:

    • これは呪文の基礎となる "ベースイメージ" を指定しています。
    • HalloはNVIDIAのGPUを使って高速に計算を行うので、GPUに対応したUbuntuというOSのイメージをベースにしています。
    • このイメージには、Halloに必要なCUDAというGPUを使うためのソフトウェアも含まれています。
  • ENV LANG C.UTF-8: 文字コードをUTF-8に設定しています。

  • ENV LC_ALL C.UTF-8: ロケールをUTF-8に設定しています。

  • RUN apt-get update && apt-get install -y ...:

    • ここでは、Halloに必要なソフトウェアをインストールしています。
    • python3, python3-pip: Pythonとそのパッケージ管理ツールであるpipをインストールします。
    • ffmpeg: 動画を扱うためのソフトウェアです。
    • git: ファイルをダウンロードするためのツールです。
    • wget: ファイルをダウンロードするためのツールです。
  • WORKDIR /app:

    • これは、Dockerコンテナ内の作業ディレクトリを /app に設定しています。
    • 以降のコマンドはこのディレクトリ内で実行されます。
  • COPY requirements.txt .: Halloに必要なPythonパッケージが書かれたrequirements.txtを、Dockerコンテナ内のカレントディレクトリにコピーします。

  • RUN pip3 install --no-cache-dir -r requirements.txt: requirements.txtに書かれたPythonパッケージをインストールします。

  • RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash\nRUN apt-get install -y git-lfs\nRUN git lfs install: これらのコマンドは、"Git LFS" というツールをインストールするためのものです。

  • Git LFSは、大きなファイルを扱うためのGitの拡張機能で、Halloのpretrained models(学習済みモデル)のような大きなファイルをダウンロードする際に必要になります。

  • # COPY download_models.sh .\n# RUN chmod +x download_models.sh: これらの行はコメントアウトされていますが、pretrained modelsを手動でダウンロードする際に使用します。

  • COPY download_models.sh .: download_models.shスクリプトをDockerコンテナにコピーします。

  • RUN chmod +x download_models.sh: スクリプトを実行可能にします。

docker-compose.yml:魔法の箱を起動する呪文

docker-compose.yml は、Dockerfileで定義された環境を元に、実際にHalloを動かすための設定ファイルです。

version: '3'
services:
  hallo:
    build: .
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
    volumes:
      - ./:/app
    command: sh -c "./scripts/download_models.sh && python3 app/main.py"
    tty: true
    ports:
      - 7860:7860
  • version: '3': docker-composeファイルのバージョンを指定しています。
  • services:: 複数のコンテナを定義できますが、ここではhalloという名前の1つのコンテナを定義しています。

    • build: .: 現在のディレクトリにあるDockerfileを使ってイメージをビルドすることを指定しています。
    • deploy:: デプロイに関する設定を記述します。ここでは、GPUを使うための設定を行っています。
    • resources:: コンテナが利用できるリソースを指定します。
      • reservations:: 必ず確保するリソースを指定します。
      • devices:: 利用するデバイスを指定します。
        • - driver: nvidia: NVIDIAのGPUを使うことを指定しています。
        • count: 1: GPUを1つ使うことを指定しています。
        • capabilities: [gpu]: GPUの機能を使うことを指定しています。
    • volumes:: ホストマシンとDockerコンテナ間でファイルを共有するための設定です。
    • - ./:/app: 現在のディレクトリ(./)をコンテナ内の/appディレクトリにマウントしています。
    • command: sh -c "./scripts/download_models.sh && python3 app/main.py": コンテナ起動時に実行するコマンドを指定しています。ここでは、download_models.shスクリプトを実行してpretrained modelsをダウンロードし、その後app/main.pyを実行してHalloを起動しています。
    • tty: true: コンテナの標準入出力を端末に接続します。
    • ports:: ホストマシンとDockerコンテナ間のポートフォワーディングの設定です。
    • - 7860:7860: ホストマシンのポート7860番をコンテナのポート7860番にフォワードしています。これにより、ホストマシンのブラウザからコンテナで実行されているHalloにアクセスできるようになります。

まとめ

この記事では、顔写真に命を吹き込むAI「Hallo」の使い方を、Dockerのインストールから動画生成まで、丁寧に解説しました。Halloを使えば、誰でも簡単に、まるで魔法のようなアニメーション動画を作ることができます。ぜひ、あなたもHalloを使って、創造性を解き放ちましょう!

リポジトリ

GitHub - Sunwood-ai-labs/hallo: Hallo: Hierarchical Audio-Driven Visual Synthesis for Portrait Image Animation
Hallo: Hierarchical Audio-Driven Visual Synthesis for Portrait Image Animation - Sunwood-ai-labs/hallo

コメント

タイトルとURLをコピーしました