本記事では、stable diffusion videosと呼ばれる機械学習手法を用いてテキストから動画を生成する方法をご紹介します。
Stable Diffusion Videos
概要
Stable Diffusion Videosは画像生成AIとして注目を集めるStable Diffusionを用いてビデオを生成するライブラリです。
モデルに始点と終点のテキストプロンプトを入力し、2つのテキストプロンプト間の中間画像を連続的に生成することで動画を生成します。
下記の動画は、始点を「woman」とし、終点を「skull」として生成した動画です。
女性が徐々に骸骨になっていく様子が表現されています。
本記事では上記手法を用いて、テキストから動画を生成する方法をご紹介します。
デモ(Colaboratory)
それでは、実際に動かしながらテキストから動画を生成します。
ソースコードは本記事にも記載していますが、下記のGitHubでも取得可能です。
GitHub - Colaboratory demo
また、下記から直接Google Colaboratoryで開くこともできます。
なお、このデモはPythonで実装しています。
Pythonの実装に不安がある方、Pythonを使った機械学習について詳しく勉強したい方は、以下の書籍やオンライン講座などがおすすめです。
おすすめの書籍
[初心者向け] Pythonで機械学習を始めるまでに読んだおすすめ書籍一覧
本記事では、現役機械学習エンジニアとして働く筆者が実際に読んだ書籍の中でおすすめの書籍をレベル別に紹介しています。
おすすめのオンライン講座
[初心者向け] 機械学習がゼロから分かるおすすめオンライン講座
本記事では、機械学習エンジニアとして働く筆者が、AI・機械学習をまったく知らない方でも取り組みやすいおすすめのオンライン講座をご紹介しています。
環境セットアップ
それではセットアップしていきます。
まず、Stable DiffusionをロードするためにHuggingFaceのアクセストークンが必要です。
発行手順は以下の記事をご参照ください。
[Stable Diffusion] AIでテキストから画像を生成する[text2img]
本記事では、機械学習手法Stable Diffusionを用いてテキストから画像を生成する方法をご紹介しています。
HuggingFaceからアクセストークン取得後Google Colaboratoryを開きます。
Colaboratoryを開いたら下記を設定しGPUを使用するようにしてください。
はじめに、ライブラリをインストールします。
次に取得したアクセストークンを設定しておきます。
最後にライブラリをインポートします。
以上で環境セットアップは完了です。
学習済みモデルのセットアップ
ここでは、先ほど設定したアクセストークンを使ってStable Diffusionをロードします。
あわせて、生成した動画をインライン表示する関数を定義しておきます。
Text to Video
それでは、テキストから動画を生成します。
まず、プロンプトなど各種設定を行います。
本記事では、dead trees
からsakura trees
までの中間画像を補完する動画を生成してみます。
設定に従いフレーム画像を生成します。
出力結果は以下の通りです。
枯れ木に次第に桜が咲く様子が表現されています。
まとめ
本記事では、Stable Diffusion Videosを用いて、テキストプロンプト間の動画を生成する方法をご紹介しました。
様々な発展を続けるStable Diffusionですが、簡単なアニメーションであれば、AIに作らせた方が手軽な時代が直ぐそこかもしれません。
また本記事では、機械学習を動かすことにフォーカスしてご紹介しました。
もう少し学術的に体系立てて学びたいという方には以下の書籍などがお勧めです。ぜひご一読下さい。
また動かせるだけから理解して応用できるエンジニアの足掛かりに下記のUdemyなどもお勧めです。
参考文献
1. 論文 - High-Resolution Image Synthesis with Latent Diffusion Models
こちらで生成した動画のOUTPUTはどこに定義されていますか?
返信削除以下になります。
返信削除https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOAi4T7hs64NmZe8bGB8t1EHkSFIn3Xw9BaKvQz30Or2m1_MKsVByYwXLF5kAS23gXKzA91yQ_xl9PlXlVgDLJlTNbD5Uzic4ksM-QSvgLswO405SmPy626ljw3nBHhLTZbnvae-I1PjZw4XOKzUP0rA7PPZGOdBuOIabNic8Y_Tbn2McjKaZpvB008A/s712/2.gif
本記事中にも記載しておりますが、gifのためロードに時間がかかり表示されていないものと思われます。ご不便おかけし申し訳ございません。