よく見る夢
時々、同じ夢を見る。それはいくつかあって、同じ設定、同じ場所、同じ行動。
細部は多少違うけど、ほぼ同じで夢を見ながら、またここか、またこれか、と。
今日見た夢もそのうちのひとつ。
山に入っていく川沿いの細い道。緑の濃い森の中を延々と続く上り道と上りの細い石段。まだ登るのかとうんざりしながら疲れを覚える足を運ぶと、少し開けたところに出る。そこはどこにでもあるような鳥居と神社。またここかとほっとするような懐かしいような。
…で、目が覚めて、毎度同じでイメージが貧困だなあ、と呆れる。
この夢、というかこの場所、この道、この石段を年に何度か見てる。
記憶が確かなら、奈良吉野の天河神社に行ってから、時々見るようになった夢だ。
天河神社はいわゆるパワースポットと言われていて、その手のひとやメディアの御用達。「月刊ムー」や「東スポ」あたりも取り上げたことがあるんじゃないかな。
自分の中に神社を抱えているとかいうとそれっぽいんだけど、リアルでは残念ながらそっち方面とは無縁。
崖みたいな細い道を進むバスに揺られて峠をいくつも越えてたどり着いた天河神社、というか天川村の夏の風景が強烈に印象的だった、ということだろう。
小学校低学年の頃、6,7歳の頃、母親の実家の淡路島で夏休みを過ごすことが多かった。山を越えて、といっても淡路島に険しい山などないので、ちょっとした峠を越えると、目の前、視界がいきなり真っ青。夏の空と海。海水浴が夏休みの日課だった。
デジャヴというには遠すぎるけど、天河神社に行って真っ先に思い出したのが子供の頃の淡路島。自分なりの「原体験」ということなのかな。
今日見たこの夢、この場所。
みけさんを入れたキャリーバッグを持ってここに行く途中、道に迷って行ったり来たりする夢だった。
還暦を過ぎて道に迷ってるようじゃロクな死に方せんな、おれ。
天河神社のオフィシャルWEBページでも貼っておこう
https://www.tenkawa-jinja.or.jp/
わたしが行った頃とは違ってトンネルが開通したり、交通の便がかなりよくなってるっぽい。
夏休みにオススメ。みんなが思う夏休みがそこにあるんじゃないかな。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
AIが人間の涙腺を殴りにきたんだけど
みけさんが亡くなったことについては、今年27歳だし、フラフラ、よろよろと引きずるような歩き方も点滴を欠かせない腎臓のこともあって、少しは覚悟していた。
寿命ということを考えていた。
先日(6/6)亡くなった時を嫁さんとふたりで看取ることができた。
ご飯皿の前でへたりこんで、喉に何かがつまったような息というか咳をして、かすれた声を上げたのが最期だった。
幸い、といっていいのか、苦しみ痛みは少しだったように思う。突然死といってもいいかもしれない。
そんなこんなで初七日も経って、何気なく、AIお絵かきで、猫を描いてもらおうと思った。
japanese calico cat is walking, riverside in the forest,sunlight filtering through trees
三毛猫が木漏れ日のさす森の川沿いを歩いている。
といった、注文をしてみたら、AIが出してきたのがこのイラスト
猫とおかっぱの女の子なんて意図してなかったので心底ビックリした。
人間の姿になったみけさんと、猫のみけさんかよ。
わたしの英文、プロンプトの問題なんだろうけど…。
ちくしょう。歳食ってただでさえあちこち緩いんだ。一瞬で涙腺が決壊させられたじゃないか。ちくしょう。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
AI画像ギャラリー
AIが生成する画像であちこち炎上してる。
・勝手にひとの絵をパクるな
・絵も描けないくせにAI絵師はないだろ
たぶん、この2つに集約される。
「膨大なinputの集積があって、その坩堝からoutputを創る、創造する」
ということでは人間もAIもやってることは同じ。
神さまじゃないんだから、無から何かを創るなんてことはできない。元になるinputがあって始めてoutputだ。
他人である、作家、画家、漫画家の創作から影響を受けないひとはいない。
AIはネット上の画像をサンプルにして学習してるけど、コラージュ、元の画像を切り貼りして出してるわけじゃない。ここは人間も同じなので、AIだからといって、勝手にひとの絵をパクるな、は当たらない。
例外なく、誰しもみな、模倣から始まる。
outputの手段、方法がAIに描かせるのと人間が手作業で描くのとでは、別の話になる。
AIで描いた絵とかいっても、人間はこんな絵が欲しいという指示を出すだけ。自分で手を動かすわけじゃない。プロデューサーとか編集者を自認するならともかく、絵師とかイラストレーターを自認するのはさすがにない。
ここは勘違いしちゃいけないところ。ていうか、そもそも役割が違うだろ。
もちろん、日進月歩どころか秒進分歩の速度・加速度で変化をしていくAIだから明日にはどうなってるかわからないけど、ひととの関わり、役割についてはこんな状態が続くんじゃないかな。
ゴタクはともかく。面白いんだよなあ、AIが出してくる絵。
どこかで見たような、最大公約数的な絵だ、ともいわれていて、そこはなるほどなあ、と。
それは悪いことではなくて、むしろそこが面白いところで、わたしのような凡庸な人間には、どこかで見たような「馴染んだ感じ」が刺さるのかもしれない。
一枚絵を起点に、ストーリー、物語が膨らむ感じがする。とっかかりやすいんだろうな。
てことで、AI画像ギャラリーのページを作ってみた。
AI絵にキャプションやカテゴリをつけることができるだけなんだけど、写経してる感じとでもいうか現実逃避というか、意外にハマる。
スマホからでも更新できるし、電車の中で眺めて遠い目をするのも、老人ならではの、更年期障害鬱傾向でストレスフルな時にはありがたいものとなった(自画自賛)
意味不明な断片の投げつけは気持ち悪いと思われるんだろうなあ。でも、こんなのも含めて「絵」って、精神安定剤になるんだなあ。
セルフ・ヒーリングページだ。
「AIイメージギャラリー」
久しぶりにがっつりスクリプトを書いた。
手を動かしたのが丸一日。データベースの構成とかWEBのUIの設計、セキュリティ対策なんかをもぞもぞ考えてた時間も入れると3日ぐらいか。
金にもならないことに3日もかけてどうすんだ、とか言われるだろうけど、面白いが最優先。
StableDiffusionで絵を作って、追加していこう。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
colabで使うstablediffusionの小ネタ
google colabでstablediffusionを試していて気になったところの小ネタ。
…というか python は初めて。
・画像サイズがデフォルトだと512x512のスクエア
大昔ハッセルとかがスクエアフォーマットだった記憶もあり、これはこれで、好きなんだけど、たとえば、stablediffusionで電書の表紙なんかを作りたいとなった場合、スクエアだとよろしくない。縦長の画像が欲しい。
image = pipe(prompt, height=768, width=512)["sample"][0]
当てずっぽうでやってみたら、たまたま意図通りだった。イメージを作る呪文をパイプで渡すところに高さと横幅を指定してやればOK。ただ、512x1024でやってみたら OUT OF MEMORY でエラーになる。大きなサイズを扱いたければ有料のコースがあるよ、とお知らせ。無料で使わせてもらってるからしょうがない。
・画像ファイルを複数作りたい
一発で期待通りの画像が取り出せることはなく、ひとつのプロンプトで何回も取り出して、その中から選択、となる。一回ずつコマンドを叩くのは効率が悪いので、一回叩いて2つ画像を取り出すようにした。
import time
for i in range(2):
ut=int(time.time())
fname = str(ut) + '.png'
image = pipe(prompt, height=768, width=512)["sample"][0]
image.save(fname)
書き出すファイルは、ファイル名をタイムスタンプにして上書きしないように、ちょっと工夫。
range(2)、2回と言わずもっと回数を増やしてもいいんだけど、とりあえず様子見で。
縦長画像
beautiful concept art of KAWAII,
a girl walks on the street.she is seventeen,
steampunk city,AKIHABARA,
rim light,wide angle,sharp focus,
pixiv rankin,highly detailed,arknights,4K
KAWAIIやpixiv、arknightというキーワードはキャラがそれっぽくイマドキになる呪文。
ポートレイトの呪文も試してみた。
beautiful concept art of KAWAII,
portrait of a girl,full body,glossy eyes, blonde,
high contrast,rim light,sharp focus,
pixiv rankin,arknights,highly detailed,4K
blondeではなくblack hairも試したんだけど、噂通り、金髪の方が安定する。なんでや。
[2022/09/19 23:07:40] 追記。
今日時点、colabで使ってるコードをメモしておこう。
from diffusers import StableDiffusionPipeline
import matplotlib.pyplot as plt
import time
import random
import torch
from google.colab import drive
drive.mount('GoogleDriveのパス')
最初の2行はお約束。
import time
→ファイル名にタイムスタンプを使うのに必要
import random
→ランダムseed生成に必要
import touch
→seedをpipeに渡すために必要
import drive
→生成した画像をgoogle driveに保存するために必要
google driveのパスは「/content/gdrive」とか適当に。
上記、いろいろ必要なものをインポートしたら以下のコードが使える。
pmt_fname = str(int(time.time()))
with open('GoogleDriveのパス' + pmt_fname + '.txt', 'w') as f:
f.write(prompt)
for i in range(4):
seed=random.randrange(0,2147483647,1)
#seed=1349413827
gen=torch.Generator("cuda").manual_seed(seed)
#ut=int(time.time())
#fname = str(ut) + '-' + str(seed) + '.png'
fname = pmt_fname + '-' + str(seed) + '.png'
image = pipe(prompt, height=768, width=512, generator=gen,num_inference_steps=200)["sample"][0]
image.save('GoogleDriveのパス' + fname)
とりあえず、ひとつのプロンプトでタテ768pxヨコ512pxの画像を4枚作る。
ステップ数はデフォルトは50。多くするとそれだけ時間がかかるけど、細部まで作り込まれるということで200にしてみた。
ファイルはgoogle driveに保存される。
タイムスタンプ.txtという名前でプロンプトのテキストファイルを保存
ex.)1663466109.txt
プロンプトのタイムスタンプ+ランダムseed.pngという画像ファイルを生成保存
ex.)
1663466109-1096018807.png
1663466109-1253973203.png
出来上がった絵をみて、惜しいなあ、ここもうちょっと色味が地味なのがよかった、とか思った時に元になったプロンプトが残るので修正変更試行錯誤も簡単になる。そして何より、
StableDiffusionは、同じプロンプト、同じseedを渡すと、同じ画像が生成される。
これがキモというミソだろう。
構図はいいのに、なんでこんな格好してるんだ、とか、ここは空に月が欲しかった、てな時はseedを同じにしてプロンプトを少しいじると同じような構図で違う絵が出てくる。欲しい絵に近づけることが可能になる、かな。
検索するとAIがらみ、技術的な話にたどり着いてしまうんだけど、わたしのような素人はこんぐらいの理解で蛮勇するのでちょうどいい。
以下3枚は同じseedで生成
High quality concept art,
landscape of steampunk city with a monk,
riverside street,river babbling,
sunlight pouring down,
forest of skyscrapers,
a monk walks on the path,
rim light,wide angle,
sharp focus,highly detailed,
digital art illustration,
art station trending,playstation5,4
High quality concept art,
landscape of cyberpunk city with a monk,
TOKYO AKIHABARA,
riverside street,river babbling,
sunlight pouring down,
forest of skyscrapers,
a monk walks on the path,
rim light,wide angle,
sharp focus,highly detailed,
digital art illustration,
art station trending,playstation5,4
High quality concept art,
landscape of deep forest with a monk,
riverside and golden pond,
river babbling,
sunlight pouring down,
sunlight filtering through trees
a monk walks on the path,
rim light,wide angle,
sharp focus,highly detailed,
digital art illustration,
art station trending,playstation5,4
1枚めを最初に生成。
2枚め。スチームパンクじゃなくてサイバーパンクの街に、TOKYO、AKIHABARAも追加。
3枚め。街ではなくて森の中にしようと思ってプロンプト文字列の変更が大きかったようで、Seedの魔力もあまり効かなかった。
もうひとつ。
ネットだと画像の解像度は72dpiでも足りるんだけど、紙印刷だとカラーは最低300dpi、モノクロは600dpi必要となる。google colabで使うStableDiffusionの解像度は72dpi。設定で可能になるかもしれないけど、わからないんで、あれこれ検索。
同じくAIの技術を使って画像をリファクタリングする?アップコンバージョンするReal-ESRGANというのがあった。
これのおかげで512x768 72dpi程度で出力される画像を高精細化して300dpi、紙印刷にも耐える画像として使えるようなった。
変換前
変換後
なんか違いのわかりにくいビミョーな例になってるけど、輪郭あたりをみてもらえると一目瞭然。StableDiffusionとReal-ESRGANの組み合わせでまた可能性が広がる。
StableDiffusionでステップ数をあえて低くして作った画像を、Real-ESRGANで高精細化して細部を作り込むというやり方もできる、かも。
Real-ESRGANの公式ページ
https://github.com/xinntao/Real-ESRGAN
これもオススメ、ていうか必需品。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
StableDiffusionの呪文?
画像生成AIが面白くて、google colabでお試し中。
AIからどんな画像を取り出すのかは、AIに投げる言葉次第。呪文と言われるのもわかる。
↓こちらが丁寧で詳しいのでオススメ
魔術そして理解するお絵描きAI講座
https://note.com/fladdict/n/n0f0be20e3e23
ていうか、これは必読。
具体的な呪文の例はこちら
https://lexica.art/
検索窓にpixivとかplaystation5とか入れるとわかりやすい。
で、以下はド素人が多分に間違った知見を元に書いてるヨタ。
AIに投げる呪文はプロンプトと言われていてその構成は以下が最適
<全体のフォーマット><主題><主題の補足><作者><全体の補足><フレーバー>
「美術館のサイトなんかでどんなキャプションがついてそうか?」を考えて呪文を組み立てると良いらしい、AIに意図が伝わりやすいとのこと。
Buddha walk on the surface of the moon
呪文はこれだけ。前記した構成でいうと「仏陀が月の表面を歩く」主題だけ。これはこれでAIまかせで面白い。
ただ、ほかのひとの上げている画像と見比べてみて、画質というか描画が全然ダメだなあ、と。ほかのひとの呪文を覗いてあれこれつけ足してみたら安定した、かな。
High quality concept art,
Buddha walking on the surface of the moon,
high contrast,
sharp focus,
art station trending,
highly detailed,
digital painting,
digital art,
4k
「主題」は最初と同じ
Buddha walk on the surface of the moon
で、それ以外にいろいろ見様見真似、それこそ呪文状態で付け足した。
「全体のフォーマット」に High quality concept art
を指定。
コンセプトアートはいい感じの絵ということ、でいいかな。ここは他に油絵とか水彩画とかを指定するといいらしい。
「主題の補足」にコントラストが強くてピントぴったりという補足説明。
「作者」は「art stationというゲーム紹介サイトのトレンドにありそうな」ということにした。ほかにpixiv rankinだと「ピクシブでランクインしてそうな」という使い方。ここにゴッホとかレンブラント、京都アニメーションやジブリなんかも。
「フレーバー」として細部まで細かい、デジタルで描かれている、画質4K。
このフレーバーに、カメラのレンズや開放値、シャッタースピードなんかを入れるのも効果的というのが、ネットで学習するAIならでは、というやつだろう。
美術などを学問的系統的に学ぶのではなくて、ECサイトのカメラ販売ページなんかにある作例を脈絡なく取り込んでるのでこちらの側からアクセスも面白いということになった、んだろなあ。
たぶん、以下からフレーバーに「playstation5」とか「unreal engine」とかつけた。ゲーム画面を指定したらそれっぽいものが出るようになった。安定した、かな。
月の上ばかりじゃなく、サイバーパンクの街にしてみたり
日本の寺にしてみたり
スチームパンクにしてみたり
坊主が歩いてばかりなので跪いてお祈りするようにしてみたり
坊主ばかりじゃなくて女の子にしてみたり
スチームパンクな街に秋葉原を指定してみたり
こりゃキリがなくて面白すぎる。
意図した絵を作るために呪文の精度を上げれば仕事に使えるし、意図しない絵が出てきたらそれを元にストーリーを作る・大喜利を始めるのも面白いし。
ちなみに、権利的には商利用も自由。本、同人誌の表紙や挿絵が欲しいけど、絵が描けないとか頼めるひとを探すのが難しいというような場合、この画像生成AIの出番。
ただし、実在の人物なんかを呪文のタネに仕込んだ場合、肖像権にブチ当たって弁護士と内容証明が飛んでくる可能性が十分あるので、そこだけ注意。
まだまだ遊べるなあ。
[2022/08/30 10:24:41]追記
今日時点で。呪文のテンプレは以下
High quality concept art,
「ここに具体的な描写内容を英語で記述」
rim light,
wide angle,
sharp focus,
high contrast,
highly detailed,
digital art illustration,
art station trending,
playstation5,
4K
なんとなく、だけど。StableDiffusionは縦長の構図は苦手かなあ。
あとは出てきた絵をネタにしたエントリを頑張る
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
AIでテキストから画像を生成
いま話題の画像生成AI「Stable diffusion」を使ってみた。
ローカルにダウロードしてPython環境、Anacondaとかを作ったりGitからStable Diffusionのソースコードを持ってくるのは大変なので、とりあえず、googleのcolabで使ってみた。
ほんとだったら、ローカルに構築するのがいいんだけど。
とりあえずアカウントが2つ必要。
・googleのアカウント
→gmailのアカウントで、ほとんどの人はすでに持ってるのでは?
・huggingfaceのアカウント
→これは持ってるひとが少ないと思うけど、簡単に作れる。
https://huggingface.co/settings/profile
わたしのようなド素人のヨタじゃなくて、以下のサイトがオススメ。
Google Colab で はじめる Stable Diffusion v1.4
https://note.com/npaka/n/ndd549d2ce556
[Stable Diffusion] AIでテキストから画像を生成する[Python]
https://www.12-technology.com/2022/08/stable-diffusion-aipython.html
とはいえ、自分メモ。
・huggingfaceでの作業
huggingfaceのアカウントを作ったらhuggingfaceのプロフィールページの左メニューからアクセストークン(ACCESS TOKEN)をクリックしてアクセストークンのページを開いてひとつ新規に生成して取得する。
権限にreadとwriteがあるけど、readで大丈夫だった。
・google colabでの作業
https://colab.research.google.com/?hl=ja
↑ここにアクセスしたらまずは下準備
「ノートブックを新規作成」
素っ気ないページになる。これ、古のターミナルみたいだな。
てのはともかく、やることは以下の4ステップだけ。
1)
「編集」→「ノートブックの設定」→「ハードウェアアクセラレータ」を「GPU」に設定。
2)
次にこの▶のところに以下のコマンドを入力。
!pip install diffusers==0.2.4 transformers scipy ftfy
▶をクリックするとコマンドが実行される。
3)
インストールが済んだら、「+コード」をクリック。
次のコマンドを入力欄を追加してライブラリのインポート…これをしないと、次のフェーズで403エラーになって止まってしまった。
from diffusers import StableDiffusionPipeline
import matplotlib.pyplot as plt
4)
そして以下で準備完了となる。
TOKEN="Huggingfaceで取得したトークンをコピペ"
from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", use_auth_token=TOKEN)
pipe.to("cuda")
準備が済んだらいよいよ画像を生成だ。
▶のところに
prompt = "Japanese Bobtail Cat on the Moon" #@param {type:"string"}
image = pipe(prompt)["sample"][0]
image.save("test01.png")
とやってできたのがこの画像
promptがキモ。ていうかAIにどんな画像を作らせるのかAIと話し合いになる。
今回は最初だし「Japanese Bobtail Cat on the Moon」とやってみたけど、そんなに面白い画像がすぐに出てくるわけでもなく、これにしても4回目ぐらい、だったかな。
デフォルト状態で1枚生成するのに20秒ほどだった。
「AIと話し合い」と書いたのはこのリクエストがすべてで、どんな画像を出せるかは話し合い次第。プロンプトをリクエストするひとの腕次第という意味もある。たぶんこの分野、こんな画像が欲しい、というのを翻案して噛み砕いてAIのわかる言葉で伝えるニーズがあるだろうな。
創造とか創作というのは人間や神様だけのものという聖域感がある。
だけど、神様については知らないけど、人間の創造もまったくゼロからというものではなく、いろんなもののインプットの坩堝があって初めてアウトプットが出てくる。
てことはこのAIもやってることは同じ、大量のデータをインプットされて学習したモデルから適当と思しきものを引っ張り出してそれらで合成して作り上げてアウトプットとする。
一部界隈が騒がしいのもわかる気がする。
ほんと、これはひととAIの棲み分け、区別というか、倫理の話にもなりそうだし、SFのネタが現実になりそう。
ちなみに生成した画像は権利関係的にはフリーなので(著作人格権とか肖像権にぶち当たることもありそうだけど)商用利用もOKとのこと。
とりあえずgoogleで使ってみたけど、いろんなパラメータをいじれるはずなのでローカルで構築してみたいとこだなあ…て、今うちで使ってるパソはグラフィックが弱いからパソコン買い替えになるだろうし、当分無理、か。ビンボはつらいぜ、ちくしょう。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」