はじめに
今回は今アツい「Stable Diffusion」を取り上げてみたいと思います。
何かというと、文字で書いた指示通りに絵を描いてくれるAIさんがオープンソースで使えるようになったんです。
今、いろんなところで、これを利用してアプリ化されたりしていますね。
けど自分でも簡単に作れますので、皆さんも遊んでみてください。
準備
Hugging Faceのトークンを発行する必要があります。
準備方法はこちらをご覧ください。
Google Colabのプログラム
gigazineさんのプログラムでも良いのですが、複数枚同時作成対応させて修正するとこんな感じになります。
セットアップ部分
# ライブラリのインストール
!pip install diffusers==0.2.4 transformers scipy ftfy
# アクセス・トークン設定
Access_Token=""#@param {type:"string"}
# パイプライン構築
from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", use_auth_token=Access_Token)
pipe.to("cuda")
# 出力フォルダ作成
import matplotlib.pyplot as plt
!mkdir outputs
出力用設定部分
Num = 5 #@param {type:"string"}
Width = 768 #@param {type:"integer"}
Height = 512 #@param {type:"integer"}
画像生成部分
prompt = "" #@param {type:"string"}
# File Name
sentence = prompt.replace(' ','_')
sentence = prompt.replace(',','_')
# 生成
for i in range(Num):
image = pipe(prompt, height=Width, width=Height)["sample"][0]
out_path = f'outputs/{sentence}_{i:04}.png'
image.save(out_path)
# 表示
for i in range(Num):
plt.imshow(plt.imread(f"outputs/{sentence}_{i:04}.png"))
plt.axis('off')
plt.show()
画像を生成する指示
AIに作りたい画像の指示を英語で入力すれば、あとは画像を勝手に作ってくれます。
と言っても、実際に動かしてみると分かりますが、この指示の仕方が結構難しいですね。
コツが色々とあるようですので、試行錯誤してみてください。
下記のページの説明など参考になりますよ。
またどんな指示をしたら、どんな画像が出来たか、このページも参考になりますよ。
ちなみに、私はこんなキーワードで作ってみました。
Malaysia,Cool guy working,by Makoto Shinkai,wallpaper
まとめ
いかがだったでしょうか。AIの技術の進歩はすごいですよね。
ほんとにどうやって学習させたら、こんなAIが出来るのかってそちらにも興味が湧いてきますね。
ちなみに、このAIで作られた画像はロイヤリティフリーなので、自由に使えますので、素晴らしい作品が出来たら共有してみては?
コメント