AWSのAIサービス Amazon Bedrockでイメージ生成を試してみた。といっても技術的なことはほぼやっていない。この記事自体が、どーでもいい⚪︎ソみたいなものだ。だから読まなくていいですが、⚪︎ソみたいな理由は読んでもらえればわかります。
やったこと
マネコンにログイン後、Amazon Bedrockに遷移。(IAMの権限はある状態)
お手軽に各種モデルを試すことができる「プレイグラウンド」を使ってみる。使用開始前にモデルの使用をリクエストするが、10月以降はリクエストせずとも使用可能になるというようなメッセージが表示されていた。とりあえずリクエストすると即座に承認される。
画像を生成・いじるためAmazon Novaモデルを選択する。
実は最初、既存の画像を編集させてみようと、あるモノクロのイラスト画像をアップロードした。単純に透明度30%で色がけして欲しかっただけなのだが、命令文が日本語でも英語でも、結果は無残なものになった。よくもここまでグロテスクな画像にしてくれたなお前、的な。あんなおぞましい画像はとても公開できない。こんなところに、AIの闇を感じる。
ちなみに「オリジナルの描画は変えないでくれ」と英語で指示したところ、美少女がちょこんと座っている場面(オリジナル画像とはまったく異なる) + 「色鉛筆」で構成された画像が生成されてしまった。美少女がそこそこ可愛かったから一瞬DLしようかと思ったが、「いらんだろ」と我にかえってやめた。こんなことを繰り返していると発狂しそうになる。
まぁ、「餅は餅屋」の通り、単純な画像編集なら画像加工ソフト or サービスを使え、ということだろう。
ということで編集はやめて生成に切り替えた。デフォルトでは3個画像が生成されるため、1に設定しておく。最初は日本語で指示してみた。英語の方が期待値を得られやすいのは認識していたが、どうなるのか結果を見たかったので。プロンプト(命令文)は以下。
渋谷のスクランブル交差点をベースにしてサイバーパンクっぽいイラストを描いて
すると…
非常に残念な結果になった。
「ちげーじゃんかよ!サイバーパンクはどこに行ったんだよ!!」
ということで、やっぱり英文で指示してみる。
Create A cyberpunk-style illustration based on Shibuya’s Scramble Crossing.
(illustrationを作れというのは変なので、後でillustration imageに変えた。細かいことは気にしないようだが)
すると。
一応、それっぽい画像が生成された。しかし、cyberpunk風というよりvaporwave風だね。確かに両者は被るところはあるけど、もう一歩踏み込んで欲しい。
同じ命令を繰り返したらどうなるか。
うーん、「これしか出来んのか」的な…。看板の文字が中国語っぽいのもなんかね。
バリエーションを生成してみたが。
「君、もういいよ」。
….。
やはり、抽象的な概念をテキストで指示するのは限界があるな、という感想。
とはいえ、世の中にはすでにAI生成によるコンテンツが溢れかえっている。それに対して言いたいことはいくつかあるが、本題からそれるので今はやめておく。
ちなみに実行後はAPIリクエスト(awscli)の構文が生成され、参照できる。以下は英文で一から生成を指示したときの構文でシンプルだが、画像をアップロードして編集させたときのリクエストは、画像データをテキストに変換するためbody部分が膨大になった。
aws bedrock-runtime invoke-model \
--model-id amazon.nova-canvas-v1:0 \
--body "{\"textToImageParams\":{\"text\":\"Create A cyberpunk-style illustration based on Shibuya's Scramble Crossing.\"},\"taskType\":\"TEXT_IMAGE\",\"imageGenerationConfig\":{\"cfgScale\":6.5,\"seed\":12,\"width\":1024,\"height\":816,\"numberOfImages\":1}}" \
--cli-binary-format raw-in-base64-out \
\
--region ap-northeast-1 \
invoke-model-output.txt
ということで特に技術的に深いことは何もやっておらず、遊んでみただけ的な内容で⚪︎ソみたいだという理由がわかっていただけたと思うが、もちろんBedrockが⚪︎ソと言いたいわけではない。今度はコード生成なんぞを試してみたい。