AI 拡大の比較記事はたいてい「拡大前」と「拡大後」を並べるだけで、どちらが良いかは読者の目に委ねられています。ただ、その並べ方には正解が写っていません。正解がない比較では、鮮明なほうが必ず勝ちます。それが正しいかどうかとは無関係にです。
そこで課題制作のついでに、手順を逆にした検証をやってみました。再現できる形で書いておきます。
まず、自分が鮮明だと分かっている画像を用意します。これを真値(正解画像、元がどう写っていたかが既知のもの)として扱います。次にその画像を縦横 1/4 に縮小し、縮小した小さいほうだけを拡大ツールに渡して 4 倍に戻します。最後に、戻ってきた結果と最初の真値をピクセル単位で突き合わせます。これで「復元されたのか、作られたのか」が目に頼らず判定できるようになります。
私が使った素材は 4 点です。スクリプトで自作した商品画像・架空の伝票スクリーンショット・線画アイコンの 3 点(ブランド名も伝票番号も金額もすべて架空です)、それに Wikimedia Commons の CC0 の街並み写真が 1 枚。最後の 1 枚は私が撮ったものではなく、第三者素材をお借りしています。ツールは ImgIng(https://imging.ai/ )の AI 高画質化を使いました。登録も課金も不要で、処理がブラウザ内で完結する点が決め手です。処理中にネットワークパネルを開いて確認しましたが、画像方向の送信は 0 バイトでした。モデルは 5 段階あり、全段階を通しています。以下で「5 段階すべて」と書いているのは、その 5 つが同じ結果を指したという意味です。再現するなら 1 点だけ注意があります。書き出しの既定が WebP なので、毎回 PNG に変えてください。非可逆圧縮の誤差が測定値に混ざります。
いちばん分かりやすかったのは、商品パッケージのロット番号でした。真値は A7K-2291 です。縮小後、この行は 5 ピクセルの高さしか残りません。1 行の文字が縦 5 行分のピクセルに収まるということで、この時点で画線の隙間は潰れています。補間(周囲のピクセルを平均して引き伸ばす、モデルを使わない古い方法)の結果は滲んでいますが、それでも A7K-2291 と読み取れます。一方 AI は 5 段階とも A7K(2201 の形に変えてしまいました。9 の尻尾が消えて 0 になり、ハイフンが左括弧になっています。文字は鮮明で、値は誤りです。
文字サイズを階段状に並べてみると、境目は「文字かどうか」ではないことが分かりました。20px の中国語の行は縮小後 5 ピクセル高になり、5 段階とも 9 文字中 0 文字。同じ文を 28px にすると縮小後 7 ピクセル高になり、補間は 9 文字中 9 文字を残し、AI は 3 文字しか残りませんでした。もう一段上、34px の規格表示は縮小後およそ 8.5 ピクセルで、ここでは数字の 200 mL は正しく戻り、隣の漢字だけが別の字に入れ替わりました。街並み写真でも同じで、機体に書かれた大きな文字は真値に近づくほど鮮明になった一方、同じ写真の中のもっと小さい URL は行ごと消え、遠くの標識の数字は斜線模様に描き換えられていました。縮小の時点で失われた情報は失われたままで、モデルを重いものに替えても戻りません。
なぜ鮮明に見えるのかも測りました。文字領域の画線面積は真値より 26〜41% 多く、エッジの鋭さは真値と同等かそれ以上になっていたのに、真値との誤差は補間より 2.25〜3.37 dB 悪化していました。さらに、グレースケールだけの伝票サンプルでは、真値も補間結果も有彩色ピクセルが 0.000% なのに対し、AI は 5 段階すべてで 0.305〜2.595% の有彩色ピクセルを出しています。元になかった色は復元のしようがありません。
もちろん AI 拡大が常に劣るわけではありません。線画アイコンでは 27.58 dB 対 22.87 dB で明確に勝っていますし、写真でもわずかに上回りました。負けたのは小さな文字を含む 2 点だけです。
私の運用はこう落ち着きました。拡大結果は見る分には構いませんが、そこから値を読むもの、つまり伝票番号・ロット番号・数量・金額・小さい本文は、必ず元画像に戻って確認してからレポートに書きます。なお、古い写真や人物写真、身分証の類は今回まったく検証していません。素材に実在の人物も証明書も一枚も入れていないので、ここまでの話をその方向に広げないでください。
この手順自体はツールを選びません。鮮明だと分かっている画像を 1 枚用意して、4 分の 1 に縮めてから戻し、元画像と並べて 300% で見比べる。それだけです。
