Stable diffusionがローカル環境やColabで簡単に動くから色々試してた。NSFWフィルタを回避して、呪文こねくり回して、特定の人物を描くために画像を集めてfine tuningをして、そこそこ良い感じの画像ができるようになってきたが急に飽きた。
生産性が低いせいだ。結局のところ静止画なので、表現できることは限られている。幾ら作っても実用性に欠ける。
そこで、あまり興味がなかったディープフェイクを調べてみたが、今ひとつだった。内容に限りがある。好きなように作れたら良いが、fine tuningみたいな作業は骨が折れるから、そこまでしてやりたくない。
と思っていた矢先、たった1枚の顔写真を元に動画の顔をすげ替える技術があり、オープンソースで公開されているのを見つけた。少ないが公開されている例を見るに、かなり精度が良いように見えた。
Colabですぐに触れるようになっていたので試したところ、どうやら万能というわけではなくコツが要るらしい。顔がほぼ正面で、かつ、顔がアップではない静止画および動画だと、出来が良かった。顔が相対的に小さくなるように四方に枠をつければ上手く認識された。
可能性を感じたが、Colabであれこれするのも良くないので、ローカルに環境を構築した。公開されている環境のtorchのバージョンが低く、手持ちのGPUとマッチしなかったため、ハマりまくったが何とかWSL2で環境を組めた。
メモリ32GB、RTX 3090の環境で、フルHDで1分の動画を生成するのに30秒程度かかる。時間がかかりすぎると思うかもしれないが、十分早い。スクリプトを書いて放置しとけば次々に出来るからだ。
あくまで個人利用をしていることを前提に結果を述べると、かなり実用性の高いものを生成できることはなかった。生成したものは全部削除した。本当に削除してHDDを破壊した。
この域に達してみて分かるのは、この手の技術は本当に危険だと言うことだ。たった1枚の顔写真でこんなことが可能なら、一般人であっても人前に顔を晒すのはリスクが高すぎる。
最近では1枚の画像から高解像度のアバターを生成する技術も登場しており、大変憂慮すべき事態であるため、今後もあくまで個人的に注視していきたい所存である。
自炊の世界 を書いてはや1年。生成AIの進歩によって凄いことになった。早々に使うのをやめてしまったStable diffusionでもface swapが簡単にできるようになった。その上、この1年でNVIDIAはド...