cedro-blog

smooth infinite zoomで文から動画を生成する

1.はじめに

 今回ご紹介するのは、画像生成AIのinpainting機能を応用して、文からズーム動画を生成するsmooth infinite zoomという技術です。

2.smooth infinite zoomとは?

 画像生成AIには、画像のある部分にマスクを掛け、与えられた文に見合うようにマスクの部分を予測させるinpaintingという機能があります。

 この機能を使って、ある画像を縮小して周りにマスクを掛けて予測させ、出来た画像をさらに縮小してマスクを掛けて周りを予測する、ことを繰り返します。最後に出来た画像から逆に再生するとズーム動画が出来るわけです。

3.コード

 このコードは、BalintKomjati 氏が作成したもので、このリンクをクリックすると動かせます。

 まず、GPUのチェック、環境セットアップ、モデルのダウンロードとパイプラインの設定を行います。

 次に、文でビデオの最終画像の候補を表示します。num_init_imagesは候補数、seedは乱数系列で、その他はお馴染みのものですね。ここでは、num_init_images = 2、seed = 9999と設定して実行します。

 次に、ビデオのフレームを作成します。init_image_selectedは最終画像を先程の2つの候補の内どれにするか、num_outpainting_stepsは動画の長さ(秒)、mask_widthはマスクの大きさ、num_interpol_framesは1秒あたりのフレーム数(枚/秒)です。ここでは、最終画像は候補の1枚目を選んでいます。なお、生成するビデオフレームは毎回ランダムで異なります。

 次に、作成したフレームからビデオを作成します。video_file_nameでビデオの名称を設定します。最後のブロックでは、作成した動画の概要が表示されます。

 作成した動画は、video_file_nameで設定した名前+.mp4でcontentに保存されますので、手動でダウンロードして下さい。ここでは、こんな動画が出来ました。

https://cedro3.com/wp-content/uploads/2023/03/2_infinite_zoom_out2-4.mp4

 文から動画を生成する技術、今後の発展が楽しみです。では、また。

(twitter投稿)