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に保存されますので、手動でダウンロードして下さい。ここでは、こんな動画が出来ました。
文から動画を生成する技術、今後の発展が楽しみです。では、また。
(twitter投稿)