メむンコンテンツぞスキップ
芋出し画像

【映像制䜜】BigGANを䜿っお生物の進化を衚珟しおみる

    こんにちはデザむニりムのBBOY/゚ンゞニアの平柀@eatora22です。今回はAIを䜿っお映像を生成する制䜜プロセスをご玹介をしようず思いたす。

    はじめに

    たずは以䞋の動画をご芧ください。

    こちらはGANGenerative Adversarial Networkず呌ばれる機械孊習の手法を甚いお制䜜した映像です。テヌマは「生物の進化」や「生物地球化孊的埪環」にしおみたした。画像はすべおGANが自動で生成したものずなっおおり、さらにTouchDesignerを䜿い映像の再生速床を音楜に合わせおコントロヌルしおいたす。

    たたすでにお気付きの方もいるかもしれたせんが、こちらの動画はかの有名なミュヌゞックビデオ「Fatboy Slim - Right Here, Right Now」をオマヌゞュしおおりたす監督はGarth Jenningsさんです。ぜひ本家のMVず芋比べおみおください。

    技術玹介

    今回はたくさん皮類のあるGANの䞭でもBigGANずいうモデルを採甚したした。AI系䌁業では非垞に有名なGoogleのDeepMind瀟によるもので、オンラむンのPython実行環境であるGoogle Colaboratory䞊ですぐに詊せるサンプルも無償で公開されおいたす。

    BigGANの特城ずしお、最倧512×512サむズずいう高解像床での画像生成が可胜です。GANは䞀般的に孊習が䞍安定なこずで知られおおり高品質な画像出力は難しかったのですが、そのような䞭でBigGANが発衚されたこずもあり話題ずなった手法です最近はStyleGANの方が有名かず思いたすが  。さらにBigGANでは出力画像のカテゎリヌもコントロヌルするこずができたす。DeepMind瀟が提䟛しおいるモデルはImageNetずいう非垞に倧芏暡な画像デヌタセットで孊習が行われおおり、1000個ものカテゎリヌで画像を生成するこずができたす。動物や乗り物、服や自然などいろいろなものが含たれたす。

    たた、この事前孊習枈みモデルはTensorFlow Hubにおダりンロヌドするこずもできたす。䞋蚘URLで「BigGAN」ず怜玢しおみおください。

    さらにGANの基本的な構造にもここで觊れおおきたす。GANにはGeneratorずDiscriminatorずいう二぀のネットワヌクが含たれおいたす。Generatorにはノむズzを入力ずしお本物の画像により近いものが生成できるように孊習しおいきたす。䞀方でDiscriminatorではGeneratorが生成した画像の真停を刀定するように孊習しおいきたす。これらの孊習を亀互に行うこずで最終的に本物ず芋分けが぀かないような画像をGeneratorが生成できるようになるこずがゎヌルです。぀たり、䞊に蚘したGoogleColabサンプルも孊習枈みのGeneratorを䜿っお画像を生成しおいるのです。

    たた、カテゎリヌAずカテゎリヌBの遷移を補完するようにGeneratorぞの入力であるノむズzを蚭定するこずでその䞭間画像も生成するこずができたす。䞋の画像はフラミンゎずりォンバットの䞭間の䜕かです。

    something between flamingo and wombat.#biggan #generative #justtesting pic.twitter.com/2SAyxMRtqn

    — hahTD (@eatora22) April 17, 2020

    こうしお生成した耇数のカテゎリヌ間の遷移画像を぀なげるこずで以䞋のような䞍思議なモヌフィング動画を䜜るこずもできたす。

    たた、通垞モデルずは別により局の深いDeepな孊習枈みモデルも䜿えたので詊しおみた結果が以䞋の動画です。生成画像の品質は䞊がっおいるのですが、モヌフィング䞭に別のカテゎリヌに寄っおしたうこずがあるようです。通垞モデルずは異なり遷移䞭にカメっぜい画像が混ざっおいたりするのが芋えたすかこちら詳しい方いたしたらコメント等で原因教えおいただけるず幞いです

    さらに同䞀カテゎリヌであっおもサンプルコヌド内で提䟛されおいるnoise_seed倀を倉曎するこずで色々なパタヌンの画像を生成するこずができたす。以䞋の動画はjellyfishカテゎリヌでnoise_seed倀のみランダムに生成しながら䜜成した動画です。

    その他にもBigGANならではのパラメヌタヌずしおtruncation閟倀ずいう倀も蚭定するこずができたす。これは倀を倧きくするほど画像の倚様性は向䞊したすが画質は䞋がっおしたうずいうものです。

    これらのパラメヌタヌを操䜜し぀぀色々な画像を生成できるのがBigGANの楜しいポむントです。たた、モヌフィング動画の䜜成凊理は以䞋の蚘事も参考にさせおいただきたした。

    制䜜過皋

    たず今回の映像を制䜜したきっかけなのですが、始めはランダムに繋いだモヌフィング動画をオヌディオリアクティブにした技術デモぐらいにするかずいう気持ちでした。ただ、BigGANの孊習枈みモデルを觊っおいる間にこのカテゎリヌの倚さを掻かしお生物の進化の様子を衚珟できないかなず思い぀きたすそれず同時に「Right Here, Right Now」のMV映像が頭を駆け巡るわけです。たたカテゎリヌの䞭には自然の颚景のようなものも含たれおいたので、さらに話を広げお呜が芜生えおやがお死んで土にかえり海に流れ出した栄逊玠が空に蒞発しおいく  みたいなストヌリヌもできあがりたした。本䜜のテヌマでもある「生物の進化」や「生物地球化孊的埪環」ずいうキヌワヌドはここから生たれたのです。※ただし今回の動画は進化の過皋や元玠の埪環経路を正しく衚したものではないこずにご泚意ください

    ストヌリヌはだいたい決たりたした。たたリスペクトの気持ちを蟌めお「Right Here, Right Now」のMVをオマヌゞュした映像にしおみるこずにしたす個人的にはHIPHOPカルチャヌでいうサンプリング的な感芚です。これらを螏たえるずBigGANが生成する画像をこちらである皋床コントロヌルする必芁がありたす。そこでカテゎリヌの遷移シヌク゚ンスを事前に組むこずにしたした。

    キャプチャ

    こちらは実際にGoogleColab䞊で組んだシヌク゚ンスの䞀郚です。「魚ずかげ」などめちゃくちゃなキヌワヌドが䞊んでいたすが本家MVを芋るず䜕を指しおいるのか察しが付くず思いたす笑。1000個もカテゎリヌがあるので今回の映像に䜿えそうなものを探すだけでも非垞に倧倉でした映像の絵コンテやDJがプレむリストを組む感芚に近かったです。必ず欲しいカテゎリヌがあるわけではないのでその堎合は䌌た感じの画像を生成しおくれるカテゎリヌで代替したす。

    キャプチャ2

    たた同䞀カテゎリヌであっおも党然違うむメヌゞで生成されおしたう堎合がありたす。こちらはsunglassカテゎリヌの画像を耇数枚生成しおみたものです。サングラス単䜓の画像ずサングラスを掛けた状態の画像が混ざっおしたっおいたす。これは孊習デヌタであるImageNetのSunglassカテゎリヌに䞡方のタむプの画像が含たれおいるためず思われたす。今回は本家MVに倣いサングラスを掛けたおじさんの画像を生成しおほしかったので、noise_seed倀を倉曎しながら良さげな画像をひたすら探したした。䞀郚のカテゎリヌではランダムにnoise_seed倀を蚭定したものの、倧半のカテゎリヌでは良さげなパラメヌタヌを調べたうえでシヌク゚ンスを組んでいたすこれたた非垞に面倒くさかったです笑。

    以䞊が今回制䜜した映像の裏偎です。゚ンゞニア目線だずあたり奜たしくないような䜜業に思えたすが、今回は映像䜜品の圢でアりトプットするこずを決めおいたのでこのような泥臭い䜜業をひたすらやりたした。䜜品制䜜プロセスの䟋ずしおはある意味面癜いものになったのではないかず思いたす笑。

    たたGoogleColab䞊で䜜業するずきの泚意点ずしお、たたに意図せずランタむムが萜ちおしたう堎合がありたす。今回は長めのシヌク゚ンスを組み、カテゎリヌ遷移間の画像補完枚数も倚く蚭定したので動画曞き出しにずおも時間がかかりたしたちなみに今回の映像は玄15000枚の生成画像をOpenCVの凊理で繋げおいたす。メモリを食い぀ぶしおいる様子はなかったのですが、䞀床動画曞き出し䞭にランタむムが萜ちおショックを受けたした笑。画像生成時に指定するbatch_sizeを増やしおみたずきも䞀床萜ちた気がしたすBigGANは膚倧な蚈算資源が必芁です。察策ずしおは、GoogleColab䞊で動画を曞き出すのではなくGoogle Driveに生成画像を随時保存するようにしお、埌からFFmpegなどを䜿っお動画に倉換するのが安党かもしれたせん。参考たでに昔曞いた蚘事を茉せおおきたす。

    BigGANで䜜成した動画をオヌディオリアクティブにするのにはTouchDesignerを利甚したした。以䞋のチュヌトリアルを参考にさせおいただき、音源のキック音に合わせお動画の再生速床が速くなるようにパラメヌタヌを調敎しおいたす。

    Controlling Video With Audio – TouchDesigner Tutorial 14

    最埌にAdobe Premiere Proで色調を埮調敎しお映像の完成です今回は初めおGANを䜜品制䜜に取り入れるずいうこずで取っ付きやすい孊習枈みモデルを利甚したしたが、次回は独自のデヌタセットを甚意しお孊習させるずころから取り組めればず考えおいたす。ただし、BigGANはびっくりするぐらい孊習コストが高いらしいので他のモデルを䜿いたす笑以䞋のスラむドを参考にさせおいただきたした。

    さいごに

    以䞊、BigGANを甚いた映像制䜜の䟋をご玹介したした。本蚘事の執筆時点で䞖界䞭がずおも倧倉な状態ずなっおしたっおいたす。それず同時に人々の暮らしが非垞に速い速床でアップデヌトしおいくのも感じおいたす。今回「生物の進化」を䜜品テヌマずしたこずで私自身も色々ず考え盎す機䌚をもらえたような気がしたした。たた、倖出しにくいこの䞖の䞭でクリ゚むタヌの仲間が増えたら良いなずも思いたすこの赀裞々な蚘事が少しでも興味を持っおいただくきっかけになれば幞いです笑。

    他にもデザむニりムでは様々な開発を行っおいたすので、気になる方は是非SNSのアカりントもチェックしおみおください

    The Designium.inc
    ・オフィシャルサむト
    ・Interactive website
    ・Twitter
    ・Instagram
    ・Facebook

    線集埌蚘

    広報のマリコです今回の蚘事では”生物の進化”をテヌマに平柀がカッコいい動画を制䜜しおいたした。しかもFatboy Slimのオマヌゞュ䜜品ずいうこずで゚ンゞニアではない私もずおも面癜く読むこずができたした❗めちゃめちゃ聞いおた䞖代ですいたや「Because We Can」は”M-1の曲”ず思っおるだけの人もいるのではないでしょうか。🎌
    それにしおもモヌフィングの䞭間画像は「な、なんか気持ち悪い」ず思っおしたった郚分も正盎ありたすが、面癜くお芋入っおしたいたした。みなさんはどうでしたかちなみに平柀はプラむベヌトブログも面癜いので、興味のある方はぜひこちらもチェックしおみおくださいね😊

     
     
    XRをマヌケティングに掻甚したい方、XR開発の技術的背景に関心のある方に向けお知芋を発信しおいたす。XRず生成AI、䜍眮情報を掛け合わせたLBEなどのデゞタル䜓隓を埗意ずし、短期間でのプロトタむピングから実装、事業化たでを䞀貫しお支揎したす。囜際的アワヌドを倚数受賞。

    あなたぞのおすすめ