【Stable Diffusion】服選びに応用

ジェネレティブAI「Stable Diffusion」を服選び、色選びシステムに使えないか?

と思い立ちました。

ファッションサイトを見ていたときに、
モデルの来ている服を自分が来たらどんな雰囲気なのか、
どんな色が良いのか、
生成系AIを使えばイメージしやすいのではないかと考えました。

具体的にはこんな画像を生成しました。

【生成AI 環境】

UIはStable Diffusion Automatic1111。

モデルはStable DiffusionのモデルにDream Boothで自分の顔を追加学習したもの。

Automatic1111に拡張として
・ADetailer
・ControlNetでCanny
・roop
の3つを使用。

【生成方法】

やり方は単純です。
上記の環境の他、
・気になる服を着ているモデルの画像。ファッションサイトからスクショするなど。
 (ControlNet用:上の画像はBliant ParisのBlazersがベース)
・自分の顔画像。
 (roop用)

1.Stable Diffusion checkpointに、自分の顔を学習させたモデルを選択。

2.txt2imtのプロンプトとネガティブプロンプトを自分の顔を生成するキーワードを入力。これは、上の1.に依存。

3.ADetailerのEnable ADetailerをチェックする。ADetailer modelは顔向けのモデルを選択。(例:face_yolov8n.pt)

4.ControlNetにモデルの画像を入力。
Control TypeをCannyにして、Proprocessorがcannyになっていることを確認。
ModelもCanny用(例:control_v11p_sd15_canny)にする。
ControlNetのEnableをチェックして、Pixel Perfectもチェック。

5.roopに自分の顔画像を入力。
roopのEnableをチェックする。

以上。

メインのプロンプトを変えることで、洋服の色や柄をおおまかに指定できます。
想い通りに変更されないことも多いです。色指定したプロンプトを固定しつつ、画像を繰り返し生成すると良いかも。

下は「DCOLLECTION、~160㎝台メンズ必見!低身長をカバーするコーデ術とおすすめファッション」の画像がベースです。

今回の方法は
 モデルの顔を自分の顔に変える、
 服の色・柄を変える
というもの。
体格は変えていないので、自分の身長等に近いモデルを探しました。
私の身長163cmで探していたら、上記のサイトに辿り着きました。

【参考】
紹介したテーマのような画像を作成したくなったら
いつでも連絡ください。
お手伝いできるかも知れません。

Twitterやってます。
アカウントは
https://twitter.com/QRJAM (@QRJAM
フォローよろしく。


【privateGPT】特徴、インストール、お試し

対話型AIの新システムとして「privateGPT」が登場しました。同様のシステムではchatGPTが有名です。この記事では私がprivateGPTを使用してみた感じたことを、つらつらと綴っていきます。

ちなみにprivateGPTはフリーで利用できます。
現在、英語は使えますが、日本語は使えません。

◇特徴

私が気付いたprivateGPTの特徴を3つ挙げます。

1.ローカルで動作する。
自分のパソコンにインストールすることで、インターネット環境無しで動作します。このことは「機密情報をインターネット上に流すことなく、システムを利用可能」という恩恵をもたらします。
またchatGPTでは、一度に利用できるユーザ数に制限があるため、混雑時は使用できないという問題がありました。privateGPTは自分のパソコンで動作するため、そのような問題は生じません。

2.大規模言語モデル LLM を選択できる。
対話型AIが自然な文章、もっと言えばプログラムのソースコードや、言語翻訳などができる背景にLLMと呼ばれるデータの塊があります。LLMは1つではありません。LLMの基になっているデータにより、得意な対話内容が変化します。インターネット上には様々なLLMが公開されています。無料で利用可能なLLMもあります。

3.追加学習が容易にできる。
privateGPTではLLMの他に、対話内容に反映させるデータを追加できます。パソコン内のPDFファイル、txtファイル、WORDファイル(doc, docx)、CSVファイル、メール、HTMLファイル、パワーポイントファイル(ppt, pptx)など、様々なファイルの内容をprivateGPTの出力に反映させることができます。利用者は、どのファイルを反映させるか指定できます。
注意:ソースコードのingest.pyを書き換えれば、他の形式のファイルも扱えます。例えば、.tex、.leanといったテキストファイルなら、扱う拡張子を増やすように書き換えるだけでOKです。

◇インストール

複数の手順が必要です。さらに、ある程度時間がかかります。
わかりやすい解説記事や動画があるので、
ここでは、それらを紹介するに留めます。

下の二つのURIに関して私は、前者をPrivateGPTのインストール、後者をLLMモデルの変更、についてそれぞれ参考にしました。

・完全オフラインで動作してプライバシーを守ってくれるチャットAI「PrivateGPT」を使ってみた(Gigazine)
 https://gigazine.net/news/20230522-private-gpt/

・INSTALL PrivateGPT NOW! CHAT With Your DOCUMENTS Using AI!
 YouTube by Aitrepreneur
 https://youtu.be/A3F5riM5BNE

◇お試し

私の環境は
 PC: ノートパソコン Surface Book 3、15インチ
 OS: Windows 11
です。
 LLMは ggml-vic13b-q5_1.bin です。

ちょうど手元に「読もう」「読まなきゃ」と思いつつ「おさぼり」していたPDFファイルが16個ありました。あるシンポジウムの予稿として発表された論文です。どのファイルもA4で5ページ、ダブルコラム。数式の多い文章です。

ingest(privateGPTの対話に反映させるように内容をベクトル化すること)は、わずか2分程度で完了しました。やり方は簡単。
・フォルダ source_documents 内に、ingestさせたいファイルを置く。
・ingest.py を起動する。
以上です。

 

PDFの著者の名前を挙げて、特定の分野での貢献について質問をしてみました。
特定のPDFの情報が正しく読まれているかの確認です。
その結果はこちらです。

PDFの内容を反映した返事が生成されました。さらに面白いことに、privateGPTの返事の根拠も出力されています。根拠となったPDFファイル、さらにそのPDF内の文書まで明記されています。

対話型AIの難点として、出力される情報の一部が誤っていることが挙げられます。上のように、根拠も提示されれば、誤りがあるか否か判断しやすくなります。

ただし、出力まで5分以上かかりました。

続いて、もっと複雑な要求をしてみました。
16個のPDF全体にまたがる質問です。

結果は以下です。

こちらもしっかりと回答されました。
というか、驚きなのですが、私がDNAをタイポしてDNSって書いちゃったのに、回答はDNAが推論されています。本当に驚きです。

回答の根拠も書かれているので、どのファイルのどの段落などを参照すれば良いかがわかります。(逆に、回答に抜けがあるかどうかはわかりません。)

出力まで10分程度かかりました。

◇まとめ

privateGPTの特徴、インストール、お試しについて記事にしました。
ローカル環境で動かせて、手元のファイルの内容を反映(ingest)できる対話型AIシステム。
しかもフリー。大きな欠点はCPUベースということ。GPUで動かしたい。。。

ingestの内容によって、思わぬアプリケーションが生まれる予感がします。
個人的には、数学の定理の自動証明に応用したいと考えています。

◇補足

記事中に記載したとおり、ingestの対象は変更可能。ingest.pyを書き換えればOK。

ingestの内容はフォルダ db 内に保存されます。リセットしたい場合は、同フォルダの削除もしくはリネームでOK。
応用として、内容を特化したdbの複数所持が可能です。
例えば、
 1-A. フォルダ source_documents 内にクラフトビール情報のファイルを置く。
 1-B.  ingest.py を起動。(フォルダ db が作成されます)
 1-C. dbをdb_beerにリネーム。
 1-D. source_documentsをsource_documents_beerにリネーム。
 1-E. source_documents内を空にする。
続いて
 2-A. フォルダ source_documents 内にJOJO情報のファイルを置く。
 2-B.  ingest.py を起動。(フォルダ db が作成されます)
 2-C. dbをdb_JOJOにリネーム。
 2-D. source_documentsをsource_documents_JOJOにリネーム。
 2-E. source_documents内を空にする。
のようにすれば、ソースフォルダ(source_documents)とデータフォルダ(db)が複数できます。
もしもJOJOに特化した対話をしたいときは、
 db_JOJOをコピーして、dbにリネーム。
 privateGPTを起動。
とすればOKです。


【Stable Diffusion】ポーズを変えるtile機能、アメリカンホラーコミック

ジェネラティブAI「Stable Diffusion」を使って、他のサイトでは見かけない独自の画像生成に挑戦シリーズ。
ついに第6弾。

相変わらず、私、萩原の顔をモデルにした画像を作ってます。
今回も、3つの異なるテーマに沿った9つのイラストを紹介します。
テーマごとにprompt(プロンプト)の肝も紹介してます。参考にどうぞ。

テーマその1【ポーズを変える】

以前作った下の画像が好評でした。
Stable Diffusionが苦手とされてきた「同様の画像」作りが、様々な拡張で可能になってきたので試します。

使ったのはアドオン ControlNET ver.1.1で提供される tile です。
利用方法は「上の画像」と「新たに作りたい画像のprompt」を与えること。

私はpromptとして、上の画像を作ったときと同じか、ほぼ同じものを与えました。結果は以下。

確かによく似ています。promptを変えれば、服、ポーズ、背景などを変えるなどもできるようです。別の機会に試したいと思います。

テーマその2【アメリカンホラーコミック with inky color】

以前、アメコミ風ポスターを作りました。
 (以前の記事は【こちら】

ホラー的なものを作りたくなり、改めて挑戦しました。
動機となったのは、本屋で見かけて衝動買いしてしまったコミック
「CREEPSHOW」
です。
こちらの本。

注意:こちらはstabile diffusionで生成した画像ではありません。本の表紙の実写です。

僕が小学校の頃、CREEPSHOWという映画が制作されました。

最近はアメリカでTVシリーズとして新作が制作されてきました。

こちらは新しい漫画版です。

果たして、できた画像は。

どうでしょう。僕としてはお気に入りの仕上がりになりました。

使ったプロンプト(prompt)は

Creepshow
anime
comic style
monster
inky color

など。Creepshowがしっかりと機能してくれました。
色合いは inky color がポイントになっています。
次のテーマではinky colorを外したバージョンを紹介します。

テーマその3【アメリカンホラーコミック without inky color】

テーマ2と同様にプロンプトをしつつ、inky colorを外したのがこちら。
アメコミのホラー感は残しつつ、画風がガラッと変わりました。

以上、3つのテーマで生成したAI画像を紹介しました。

楽しんで頂けましたか。

【参考】
画像生成AIシステムは Stable Diffusion。
モデルファイルはSD v1-5をベースに、DreamBoothを使って、自分の顔写真を追加学習させた独自のチェックポイント。
UIはAutomatic1111。

紹介したテーマのような画像を作成したくなったら
いつでも連絡ください。
お手伝いできるかも知れません。

Twitterやってます。
アカウントは
https://twitter.com/QRJAM (@QRJAM
フォローよろしく。