画像生成AIを活用したオーディオビジュアル表現 - MUTEK.JPでの開発事例
12/8(木)に行われたMUTEK.JPにて、Nao Tokui — Emergent Rhythm (AI Generative Live Set) のビジュアルを担当しました。
「Emergent Rhythm」は、AIによってリアルタイムで生成された音のみを用いて構築される即興パフォーマンスです。音の生成にはSpectrogram GANやQosmoで開発しているNeutoneを使用し、それらを手懐け乗りこなす生成的なライブセットです。サウンド面の詳しい説明については、今後公開される徳井さんの記事をご覧ください。本記事では、同パフォーマンスにおけるビジュアルサイドの主にテクニカルな面について記します。
以下、パフォーマンスの様子をいくつか。
ビジュアルにおいても、絵として画面に表示される画像は全てAIを用いて生成した画像を使用しました。数にして、約100万枚ほど生成しました(後に記す、フレーム補間による生成画像も多分に含みます)。生成モデルとしては、主にStable Diffusionを使用しています。
Stable Diffusionは、一言でいえばテキストから画像を生成するAIモデルです。テキストから画像を生成するという概念自体は、Text-To-Imageタスクとして広く研究されており、特別真新しいものではありません。Conditional GANのconditionとしてテキスト埋め込みベクトルを注入する素朴なアプローチから始まり、GANを多段階構成にすることによって高解像度の画像(と言っても当時は256×256)を生成することに成功したStackGAN (2017) 、そして今でこそ当たり前となったAttentionalメカニズムを導入したAttnGAN (2017) など、多くの研究がなされてきました。また、Open AIによるCLIPが登場して以降は、StyleGANやVQ-GANの潜在ベクトルをCLIPによってガイダンスする手法が浸透し、より興味深いアウトプットが生まれるようになりました(去年Qosmoでも同様の手法を使用してマスクを作成しました)。またDiffusionモデルの台頭も相まって、DALL-EやMidjourney、Imagenといった高品質なモデルが続々と発表されてきました。
そんな中、昨年8月に公開されて以降、Stable Diffusionはとりわけ多くの注目を集めてきました。DALL-EやMidjourneyなどがクローズドなモデルであったのに対して、Stable Diffusionはオープンソースとして一般向けに解放されたために、数多くの研究者やアーティストによって便利なUIツールや拡張機能などが続々と開発され、より多くの人々を画像生成の世界へと誘いました。
前置きが長くなってしまいましたが、今回のパフォーマンスでは、このStable Diffusionを活用してビジュアルを構築する、ということを一つの目標として掲げていました。Stable Diffusionを活用したアウトプットというと、イラスト生成やDeforum等を用いたアニメーション生成が挙げられますが、今回はそれらを使用しつつも、よりAIならではの表現を目指しました。ただその際に、既存のアーティスト/作品の画風を模倣するような画像は生成しないように気をつけています。(Stable Diffusionが時期バージョンよりオプトアウトに対応するなど、AIの学習データセットを巡るアーティストの権利等に関する問題は一歩前進が始まったところですが、まだまだ根が深い問題です。)
AI(特に生成モデル、Stable Diffusion)ならではの特徴として、今回着目したのは以下の2点です。
少しずつ異なる画像を大量に生成し、バリエーションを出すことができる
入力テキスト次第で、抽象的な概念を画像として表現することができる
プロシージャル/ジェネラティブな手法で多くのパターンを生み出すという取り組みはすでに多くなされていますが、AIを用いることでも同様に多量のバリエーションを生成することができます。プロシージャル/ジェネラティブにバリエーション生成をする際には、探索可能なパラメータやアルゴリズム等を介してシステムとインタラクトしますが、AI、特にStable Diffusionの場合にはテキストがその役目を果たします。
より細かく具体的なテキストを指定することで狙った画像を、より抽象的なテキストを指定することで幅を持たせた画像を、それぞれ生成することが可能です。この具象/抽象間で上手いバランスを探ることが、Stable Diffusionなどのテキストから画像を生成するモデルの醍醐味であり、そこに特化したプロンプトエンジニアリングという職種の登場が話題になっていたりします。
(ChatGPTを使用してプロンプトを用意した例も… 上でも挙げた、抽象的な概念を画像として表現しているケース)
また今回の映像では、ミクロ・マクロスケールを横断する表現というのを一つのテーマとして掲げていました。宇宙や地球といったマクロな視点から始まり、人の肌や葉脈といったミクロな視点まで、スケールを横断しながら旅を行う、さながらPowers of Tenのような世界観です。
そのような世界観を実現するために、Stable Diffusionを使ってスケール感の異なる様々な画像を大量に生成し、組み上げることで映像を構築していきました。生成の際にはLexicaのようなテキストと生成画像をペアで閲覧できるギャラリーサイトを活用して入力テキストを検索/編集しリストアップ、そしてそれら各テキストに対してそれぞれ数千枚づつ画像を生成していきました。
こうして手元にはストレージと引き換えに大量の画像が保存されるわけですが、これらの画像群を映像としてシーケンスを組む必要があります。今回は、その手段として画像の特徴量に基づいて画像をソートするという手法を採用しました。具体的には、各画像の特徴量=高次元ベクトルを一般的な画像認識モデルを用いて抽出し、それぞれの画像間の距離を計算します。全ての画像に対して距離の計算を終えた後に、それらを最短距離で一周するルートを巡回セールスマン問題として解くことで(もちろん近似解法です)、画像の類似度に基づいて大量の生成画像をソートすることが可能となります。
ミクロ・マクロに対応したテキストを考えモデルに入力する行為は、トップダウン的であると感じます。モデルが持つ探索空間の一点を、点で鋭く切り取るイメージです。一方で、大量の生成画像をその特徴量に基づいて(AIを用いて)ソートすることで、自分では思いつかなかった/知覚していなかった探索空間の切り取り方自体に触れることができたように思えます。
パレイドリア現象に見られるように、私たちは未知の入力刺激に対しても見知った記号を見出そうとする傾向があります。つまり、画像を見たときに得る視覚刺激に対して私たちが見出すパターンは、ある程度固定化されていると考えられるわけです。一方でAIが見出すパターンも私たちとある程度類似しつつも(そのように学習させるので当然ではありますが)、時として不可解なパターンを見出すことも多々あります。そのような不可解なパターンこそ、自分の固定化された認知パターンを相対化させる、AIの持つ興味深い特性であると感じています。(2021年にIAMAS主催の岐阜クリエーション工房にて実施したワークショップ「AIのまなざしと作るPhotobook——AIを通じて世界を再発見しよう」でも、このあたりの話題をテーマとして取り上げました。)
閑話休題、今回はこのソート動画にAIを用いたフレーム補間を組み合わせました。動画はソートされているので各フレーム間におけるピクセル的・セマンティックな差分はそこまで大きくありませんが、元々連続していない画像間を補間するため当然破綻が生じます。その破綻はぐにゃりとした独特のテクスチャとして立ち現れますが、それがかえって興味深い質感に感じられました。
また今回、Dancerの遠藤真澄さん、Movement Directorの久野舞衣子さんにご協力いただき、実写のダンス映像を使用した素材も制作しました。音楽に合わせて遠藤さんに踊っていただいた映像素材をStable Diffusionに入力してエフェクトを適応する、いわゆるimg2img(を映像の各フレームに適応したもの)と呼ばれる処理です。
Stable DIffusionではマスクを使用することで指定領域のみエフェクトを適応することが可能ですが、その方法を試したところ単純なスタイル変換とあまり差が感じられませんでした。そこで今回は、元素材から人領域をSemantic Segmentationを使用してくり抜いた動画をモデルに入力し、特にマスクは使用せずにエフェクトを適応しました。その結果、人としての痕跡は残しつつも大幅にテクスチャや形状を変更することに成功しました。
遠藤さんの動きは活かしつつ、興味深いルックを得ることができたように思います。
このようなプロセスを経て、映像素材を制作していきました。上でも述べたように、大量のバリエーションを生成することができる点はAIが持つ強みであると感じています。今回取り組んだ大量のバリエーションを活かした数で魅せる表現は、Stable DIffusionを用いたオーディオビジュアルパフォーマンスとして、一つ手応えを感じることができました。
改めて、現場へお越しいただいた皆さま、また制作をサポートして下さった皆さまに感謝申し上げます。
Credit
Artist : 徳井直生 (Qosmo)
Visual Programming : 中嶋亮介 (Qosmo)
Visual Programming : 高石圭人 (Qosmo)
Dancer : 遠藤真澄
Movement Director : 久野舞衣子