画像AIに「ノイズを消して」とだけ頼んではいけない:社内報の人物写真は、目元と髪までぼやけて戻ってきた

社内報に載せる人物写真を、広報の担当者が画像AIに渡した。依頼は一文、「ノイズを消して」だった。

戻ってきた写真から、肌のざらつきは消えていた。

目元と髪の輪郭も、一緒にぼやけていた。

ざらつきだけを消す道は、なかったのか。

なめらかにした分だけ、シャープさが減る

冒頭の人物写真も、細かな色の点(画素)の集まりだ。肌のざらつきは、周りと少しずつ違う値を持つ画素として写る。

写真をなめらかにする計算を、平滑化フィルタと呼ぶ。画素ごとに、周りの画素の値から新しい値を計算する。

新しい値では、ノイズの影響が小さくなる。

計算には、畳み込み演算(周りの値に重みを掛けて足し合わせる計算)を使う。同じ考え方は、信号処理でも使う。

なめらかにした分だけ、画像のシャープさは減る。

細い輪郭ほど、なめらかにした代償が大きい。冒頭の写真で目元と髪がぼやけたのは、この代償だ。

依頼の一文に、残すものは一言もなかった

冒頭の依頼が伝えたのは、消すものだけだった。残すものは、一言もなかった。

平滑化フィルタは、どれも何かを残して、何かを捨てる計算である。何を残すかで、選ぶフィルタが変わる。

代表的な平滑化フィルタは三つある。目元を残せるかで比べる。

平均化フィルタは、周りの画素の平均値を新しい値にする。計算は簡単だ。

代わりに、輪郭(エッジ)もぼやける。

ガウスフィルタは、中心に近い画素ほど重く扱って平均する。エッジのぼやけを抑える。

メディアンフィルタは、周りの画素の中央値を新しい値にする。点状に飛び出したノイズを取り除くのに向く。

平均化フィルタは簡単だが輪郭もぼやける、ガウスフィルタは中心を重くしてぼやけを抑える、メディアンフィルタは点状ノイズに強い

平均は、一つの白い点に引っぱられる

選び方の要は、平均と中央値の違いにある。

暗い画素の中に、一つだけ真っ白な点があるとする。平均をとると、白い点に引っぱられた値が出る。

周りの画素まで、少し明るくなる。点は消えずに、にじんで広がる。

中央値は、並べた値の真ん中を取る。飛び出した一点は、真ん中から外れて消える。

暗い画素の中に白い点が一つあります。平均をとると白に引っぱられて周りまで明るくなり、中央値をとると白い点が消えて周りは暗いまま残ります

全体のざらつきを薄めるなら、平均系を選ぶ。輪郭も少し守るなら、平均系の中でガウスフィルタを選ぶ。

ぽつぽつとした点を消すなら、中央値を選ぶ。

画像AIへの依頼は、残すものの一行で変わる

画像AIに補正を頼む前に、三つを書き出す。消すノイズの種類、残す輪郭の場所、説明してほしいことだ。

次の文面のかっこの中を、自分の写真に書き換えて使える。

(例:室内で撮った人物写真)です。
消すもの:(例:肌のざらざらしたノイズと、ところどころに出た白い点)
残すもの:(例:目元と髪の輪郭)
お願い:ノイズを減らしてください。何を優先したかを一文で説明してください。

消すものと残すものを先に渡せば、何を優先するかがAIに伝わる。

全体を均一にぼかす依頼が、残す場所を守って整える依頼に変わる。

社内報の写真に、一行を足す

次に社内報の写真を渡すとき、依頼は二文になる。

「ノイズを消して」。「目元と髪の輪郭は残して」。

拙著『ChatGPT はじめてのプロンプトエンジニアリング』に、AIに何を頼み、どんな背景を渡し、どんな形式で返してもらうかを順に考える方法を書きました。読むと、画像でも文章でも目的を言葉にできます。研修や講演は講演と研修の案内をご覧ください。

出典

著者プロフィール・お問い合わせ