えいあーるれいの技術日記

ROS2やM5 Stack、Ubuntuについて書いています

生成AIで「唯一無二の」カッコいい壁紙作る(StableDiffusion)

StableDiffusion・Whisper・ChatGPT‥

皆さんは最新AIを使いこなしていますか?


私はあまり使いこなせていません‥

私のTwitterのTLでは、ベースとなっている技術力をベースにAIを駆使してすごい作品や記事を爆速で作っているのでやばいなーと感じます。

ただし、流行りの技術に乗っかれている人は少なからずその技術を使いこなせるだけのベースが整っているところがあるので、(AI時代だからこそ)基礎技術をちゃんと付けたいですね。AIに語彙を教えてもらいながら頑張りたいです。


StableDiffusionとは

もはや説明不要ではあると思いますが、StableDiffusionは2022年8月頃にリリースされたオープンな画像生成のためのAI技術です。

フリー素材を凌駕するクオリティを無料で入手できることから、リリース直後から経験問わす多くの人が使っています。

ノイズ画像から少しずつノイズを取り除くことでキレイな画像を生成する拡散モデルを取り入れているみたいです(それ以外はわからん

とりあえず試す

とりあえず軽く触ってみました。

とりあえずTLのつよつよから教えてもらったstable-diffusion-webuiを軽くうごかしてみることに。

github.com

StableDiffusionにはテキスト→画像のテキストエンコーダが備わっていますが、画像+テキスト→画像生成の機能も備わっています。

とりあえず、最近買ったぬいるぐるみと「anime cute」というテキスト情報を付与して生成してみました。

なるほど、確かに特徴を捉えた画像にはなっていそうですね。


すると、TLから「anything-v4.0がいいよ」というコメントを頂いたので早速その軽量モデルをDLして試してみました。

anything-v4.0は、日本のアニメ・イラスト風画像の生成に特化しているみたいです。

huggingface.co

サンプルにも「hatsune_miku」が入っているくらいです。(生成画像はネコ耳のキャラクターですが😺)

モデルを入れ替えて再起動。すると‥

なんだこれぇぇ(歓喜

超クオリティな画像がほんの数秒で生成されたのではありませんか!?


乱数やプロンプトが同じだと、結構画像が再現されるので、乱数や文字列を変更する必要があるみたいです。

なるほど、これで「プロンプトエンジニアリング」なんて意味不明なワードが生まれたわけですね。納得

実は、RTX2080Tiを売ってRTX3060Tiを購入してしまい、GPU RAMが8GBしか無かったのですがなんとか動きました。

これが1024x1024とかになるともっとVRAMを食うみたいです。


これで壁紙生成すればよくね!?

私が作成しておりGitHubでそこそこStarをもらっているプロジェクトに「PastePicture2WallPaper」があります。

一言で概要を説明するなら、「写真を半透明な線画化処理を行って壁紙化させるプロジェクト」です。

かつてLinyax(宇宙猫が書かれたLinux風壁紙)を作成するために制作したリポジトリがいろいろな技術を吸収してでかくなった形です。

github.com

今までは既存の画像を使って生成していたので、画像を発注するとか自分で描くくらいしかオリジナリティが出せませんでしたが、生成AIであればこの問題は解決しそうですね。

しかも、ローカルマシンであれば乱数ガチャ回し放題!


とりあえずいくつかパターンを回してみました。

環境は次の通りです。’

  • CPU:amd64 CPU(Intel Core i9 12900KF)
  • GPUNVIDIA RTX 3060Ti(8GB RAM)
  • OS:Ubuntu22.04 Desktop
  • 生成サイズ:512x512 [pixel]

意外とGPU-RAM少なくてOKなのはいいですね。


雪ミクみたいな画像(プロンプト内容は忘れた)

ぼかしが多いとうまく線画化してくれないみたいです。


異世界転生した勇者みたいな画像(kirito sword black cool boyみたいなやつを羅列した)

これいいね。


ガンダムみたいな画像(Gundam machine city buttle Sword)

どうしても腕の部分が背景扱いになります。マシン系はむずい。


今流行っている生成AIは無料でいくらでも回せます。

自分でちょうどいいパラメータを見つけて「神」壁紙を作っちゃいましょう✨

関連記事