はじめに
今回は今アツい「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で作られた画像はロイヤリティフリーなので、自由に使えますので、素晴らしい作品が出来たら共有してみては?
コメント