「他は変えないで」がChatGPTに効かないときの直し方|画像の一部だけ修正する4つの手

「他は変えないで」がChatGPTに効かないときの直し方|画像の一部だけ修正する4つの手

ChatGPTで作った画像を「ここだけ直して、他はそのままで」と頼んだら、頼んでいない所まで変わって返ってきた。画像生成AIを使っている人なら、一度は経験があると思います。

うちでも毎日のように起きています。湯気だけ変えてほしかったのに、観葉植物が育ち、窓の外の木が別の木になり、遠くの森が横に引っ越していました。猫の前足が3本になったときは、「直して」と頼むほど3本のままでした。

先に結論です。「他はそのまま」は、AIへのお願いであって、保証ではありません。言葉を足しても効かないときは、頼み方の手順を変えるか、守りたい所を自分の手で戻すほうが早く片づきます。この記事では、うちで実際に効いた4つの手を、実際の実行結果つきで置いておきます。

明るい部屋の机の上に、小さな町のジオラマ(模型)が置いてある
目次

何が起きたか:頼んでいない所が、全部ちょっとずつ変わった

下の図の①が元の絵、②が「湯気だけ変えて、他はそのまま」と頼んで返ってきた絵の再現です。湯気はちゃんと変わっています。ただ、観葉植物がひと回り大きくなり、窓の外の丸い木がとがった木になり、遠くの森が横にずれています。

①元の画像、②AIが直した画像(全体が変わった)、③合成後(湯気だけ変わった)を横に3枚並べた比較。③は緑の四角の中だけ②を使い、外側は①の画素をそのまま使って
①元の画像、②AIが直した画像(全体が変わった)、③合成後(湯気だけ変わった)を横に3枚並べた比較。③は緑の四角の中だけ②を使い、外側は①の画素をそのまま使っている

猫のほうはもっと手ごわく、こうでした。

  1. 猫の前足が3本描かれていた
  2. 「前足を2本に直して」と頼む → 3本のまま
  3. もう一度頼む → また3本
  4. 「足を隠して」と頼む → しっぽが伸びて足の前を横切ったが、足は3本のまま見えていた

画像生成AIは、一部だけを直すというより、絵を丸ごと描き直しているように見えます。そして「直して」と頼むと、元の形(3本足)を下敷きにして描き直すので、同じ間違いを引き継いでしまいます。うちではそう考えて、頼み方の手順のほうを変えました。

手1:直させない。いったん消してから、描かせる

猫の足は、これで直りました。「足を直して」ではなく、「猫を消して、空いた所に新しく猫を描いて」と2段階で頼みます。

直させると、元の間違いを引き継ぎます。消してから描かせると、下敷きがなくなるので、ふつうの猫が描かれます。「何度頼んでも同じ所が直らない」ときは、まずこれを試してください。

手2:AIが知っている「型の名前」で頼む

新しく描かせるときは、座り方を「香箱座り」と型の名前で指定しました。猫が前足を体の下にしまって座る、あの形です。足が見えない座り方なので、そもそも数える足がありません。

「足を2本にして、体の横に…」と形を言葉で細かく説明するより、名前のついた型を1つ言うほうが、AIは迷いません。ポーズ、構図、画風でも同じで、名前のある型があるならそれを使うのが近道です。

手3:遠くの細かい物は、動かそうとしない

変わってしまいやすいのは、遠くにある小さくて細かい物でした。森、葉っぱ、背景の木々です。「風で少し揺らして」のように遠くの物に手を入れると、それが引き金になって、背景ごと描き直されることがありました。

変えるなら、手前の大きな物だけにします。遠くの物は最初から頼まないほうが、結果的に背景が守られます。

手4:守りたい所は、最後に自分で元の画像に戻す

いちばん確実なのはこれです。AIの画像から「変えたい所」だけを四角く切り取り、それ以外は元の画像をそのまま使う。上の図の③がそれで、湯気の周りの緑の四角の中だけを②から持ってきています。

うちでは、この作業を小さなプログラムにしてあります。元の画像、AIが直した画像、四角の位置を渡すと、合成して、四角の外が元とどれだけ違うかを数字で出します。

変えたい所だけを取り出して元の画像に戻した実行結果。AIの画像と元の差は全体で6.46だったが、合成後の四角の外の差は0.00、四角の中の差は4.25
変えたい所だけを取り出して元の画像に戻した実行結果。AIの画像と元の差は全体で6.46だったが、合成後の四角の外の差は0.00、四角の中の差は4.25

四角の外の差が0.00、つまり変えたくない所は元の画像と1点も違いません。中身はこれだけです。

from PIL import Image
a = Image.open("moto.png").convert("RGB")         # 元の画像
b = Image.open("ai_naoshita.png").convert("RGB")  # AIが直した画像
b = b.resize(a.size)
box = (140, 200, 260, 370)                         # 変えたい所(左上x, 左上y, 右下x, 右下y)
a.paste(b.crop(box), box[:2])
a.save("kansei.png")

プログラムを書かない人は、画像編集アプリの「レイヤー」で同じことができます。元の画像の上にAIの画像を重ね、変えたい所以外を消しゴムで消すだけです。AIの画像は大きさや位置が少しずれて返ってくることがあるので、重ねたときにずれていないかだけ確かめてください。

窓辺の明るい机の上で、ほとんど完成したジグソーパズルが置いてある

まとめ:「そのまま」は、お願いではなく道具で守る

  • 画像生成AIの「他はそのまま」はお願い。守られる保証はない
  • 何度頼んでも直らないときは、いったん消してから描かせる
  • 形は言葉で説明するより、名前のついた型で頼む(香箱座りなど)
  • 遠くの細かい物は動かさない。変えるのは手前の大きな物だけ
  • 絶対に変えたくない所は、最後に元の画像を重ねて戻す

画風がバラバラになる悩みはAI画像の画風を統一するコツに、毎回同じ構図になる悩みは同じ構図を防ぐ5つの指定に書いています。この話は、うちのYouTubeでも「植物が育って森が引っ越した」回として動画にしています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

AIを"部下"のように使って、ブログ運営や副業を効率化している運営者です。
煩雑な作業はAI部下たちに任せて、空いた時間を仕事・趣味・大切な人に。
「楽して稼ぐ」ではなく「時間を取り戻す」をモットーに、AI活用のリアルを正直に発信しています。

目次