Photoshop (beta)のジェネレーティブ塗りつぶしを試してみる
最近、何かと話題が多い生成AI。私の使っているAdobeのフォトプランでも、「ジェネレーティブ塗りつぶし」が搭載されたPhotoshopのベータ版が使えるようになっていたので、試してみた。ちなみに私はAIの専門家でも画像処理のプロでもないので、あくまでお遊びのレポート、ということで^^
ジェネレーティブ塗りつぶしは、MidjourneyやStable Diffusionなどで広く知られるようになった、言葉での指示に基づくAI画像生成を、Adobeが修復ブラシの機能として利用できるようにしたもの。選択範囲を指定してピンポイントで画像修正ができる点は同じだが、画像内に存在しなかった要素を自在に追加できる点が大きく異なる。
ではさっそくやってみよう。

まずカワウの周辺を選択する。選択範囲を作成するとジェネレーティブ塗りつぶしのためのプロンプト(指示文)入力欄が出現するので、どういう処理をしたいか打ち込む。ベータ版はまだ英語のみしか対応しないので英語で入力。

「生成」ボタンをポチっと実行すると、10~20秒程度で完了。


今回のカワウは他に重なっている物体もなく、周辺も水面であるため、従来の修復ブラシツールで対応できなくもないが、面積が広いと骨が折れそう。ジェネレーティブ塗りつぶしだと、水面の反射に加え、ボケ感まで写真全体と一発で馴染ませてくれるので、圧倒的に早い。
次に、殺風景な工事中の背景を自然の風景に変える。ダイサギを除く背景の上半分を選択して以下のプロンプトを入力。



ちなみに以下2枚は生成された別のバージョン。若干、ダイサギの頭が変形しているものもあるが、それほど悪くはない結果だと思う。


お次に、正面を向いているダイサギの顔を横に向けてみる。この写真は正面顔が気に入っているのだが、鳥の写真としては横顔が一般的だろう。

そこで、選択範囲外のエリアも考慮して画像を修正するように指示を出してみた。


喉元のくびれの部分をピンポイントで選択して、太くする。

真ん中はOKだが、他のバージョンは何なんだ

実は全体写真では分かりづらいが、細かく見ると違和感が残る部分がある。背景を修正する際の選択範囲の影響で、首と背景の境界線に不自然な帯が見える。これを除去してみる。


こうなった。境界線の滲みが消えてすっきりした。若干、首の太さも変わっているが、元画像と比較しなければ許容範囲だろう。

一応、これで完成形となった。もっと注文を付けると、ダイサギの顔がややのっぺりした質感でディテールに乏しい、嘴の彩度が高いなど色々ある。とはいえ、ぱっと見の仕上がりは恐ろしいほど違和感がない。
実際は選択範囲の取り方、プロンプトの書き方で試行錯誤が必要だが、これから更に洗練されていくに違いない。
Lightroomに搭載されたAIノイズリダクションも超強力だし、本当に魔法のような世界になってきたと実感。これでSNSには映えまくる画像がいっそう氾濫するでしょう。その飽和点を迎えた先はどうなるのやら。

以下、少し番外編として失敗例も。
首と背景の境界線修正のため、単に「首と背景の境界をもっと自然に修正せよ」と指示した場合の例。首から何やら骨のようなものや鳥の頭が飛び出してきた。怖い。

ダイサギの顔ののっぺり感を解消するために、周辺と同程度の輝度ノイズを加えようとした場合の例。「add luminance noise」のように指示しても、noiseを「画像(オブジェクト)の乱雑さ」という風に解釈しているのかもしれない。更にカオスになってしまった。

