地平線まで行ってくる。

記録あるいは忘備録。時には検討事項。

流行りの画像生成をやってみる #01

「Midjourney」、「DALL·E」といったテキストからの画像生成が話題です。好みの画像を生成するキーワードとかテクニックの記事も出てきて楽しい今日この頃。

 

キーワードテクニックは、モデルが変われば変わってくる。だが、こうした色んな人の試行錯誤が集まれば、よりよい言語モデルへ反映できるだろう。逆にバイアスもあるので、そこは開発者の腕の見せどころか・・・などなど、興味深い。

 

さて、気軽にGoogle Clabや自前のPCで、お試しできないかなと思って探していると、Disco Diffusionなるものと遭遇。さっそくチャレンジ。


GitHubはこちら。

github.com

 

Colabはこちら。

colab.research.google.com

 

計算に時間もかかるし、モデルのダウンロードを最小限化するために、Google Driveと紐付けることができる(選択可)。モデルの中には、1GBを大きく超えるものもあるので、GoogleDriveの容量が潤沢でない場合は注意が必要。私は事前にだいぶ削除することに。

 

一度、動かしてみると、何やら灯台の絵が描かれる。画像生成まではできることが分かったので、次はプロンプトの文章を変える。

 

NotebookのSetting -> Promptsを変更

# Note: If using a pixelart diffusion model, try adding "#pixelart" to the end of the prompt for a stronger effect. It'll tend to work a lot better!
text_prompts = {
    0: ["A beautiful painting of a singular lighthouse, shining its light across a tumultuous sea of blood by greg rutkowski and thomas kinkade, Trending on artstation.", "yellow color scheme"],
    100: ["This set of prompts start at frame 100","This prompt has weight five:5"],
}

長い文章だとエラーが出る時があるので、その場合は文章を分けて入れていく。センテンス毎くらいがいい感じ。また、アニメーション作成時には途中から盛り込めるキーワードがあるのだが、アニメーション作成はしないので、今回は0だけ使う。


生成させてみる。宇宙母艦と戦闘している攻撃機のキーワードを与えて作成した画像。雰囲気は出ている。だが正直、苦戦中。

 

DiscoDiffusionImage

続いて、「portrait_generator_v001」のモデルと使って、人の顔を生成しようとトライしたのだが・・・。ヒトの顔とは言えないキメラ的な何かしか生成できず。多少はそういう側面もあるだろうけど、見せられないレベルの何かだ。何かしらパラメータ設定間違っているのだろう。

 

コードをほとんど読み解くことなく、ここまで遊べる。もう少し触ってみて、適切なモデル選択と設定が分かったり、追加で学習させたり、できると楽しそう。

 

Discordに参加してお勉強しようかどうか、悩んでいるところ。