とても小さな古い写真を拡大する:×2と×4、どこで止める?

作成 · 更新 · 運営者(個人)

昔の携帯電話やメッセンジャーで受け取った写真が、幅数百ピクセルしかないことがあります。大きくしたくても、出発点が小さすぎると、どの方法でも消えた文字は戻りません。この記事では、とても小さな元画像からどこまで拡大できるのか、どこで止めた方がよいのかを見ます。通常の拡大とAI拡大の違いそのものは「小さな写真の拡大は、通常の拡大とAI拡大のどちらを使う?」の記事で扱いました。

同じ画像を2つのサイズに縮めて試しました

512×384の古い写真風の画像を自作しました。家と白い柵があり、下に「SUMMER 1987」の文字と小さな番号が入っています。この画像を256×192と128×96に縮め、JPEGで保存して小さなスキャン画像の代わりにしました。128×96のファイルは2.9KBです。そのうえでMiruKitの「画像を拡大」で両方を512×384まで拡大し、元の画像と比べました。

比べた値は2つです。PSNRは色がどれだけ近いか、SSIMは形や模様の組み立てがどれだけ似ているかを見ます。SSIMは1に近いほど似ています。小さな番号の部分は別にSSIMを測りました。

256×192からの×2は使えました

256×192を2倍にしたとき、通常の拡大は全体のPSNRが24.8dB、SSIMが0.912でした。AI写真は27.9dB・0.958、AIイラストは27.0dB・0.962で、どちらも通常の拡大より元の画像に近い結果です。小さな番号のSSIMは通常0.693、AI写真0.759、AIイラスト0.819で、比較画像でもAIの結果は番号がほぼ読めます。ただしAI写真の結果では、数字の0が縦の棒のように変わるなど、線の形が変わった所がありました。

小さなファイルには圧縮の跡も混ざっています。今回の入力は256×192が6.4KB、128×96が2.9KBでした。通常の拡大はJPEGのブロック模様までそのまま拡大し、AIはブロックを消す代わりに形を描き直しました。比較画像の柵はAIの方がすっきりしていますが、元の画像より柱が太かったり間隔が違ったりする所もあります。すっきり見えることと、元の姿に近いことは同じではありません。

128×96からの×4は限界がはっきりしました

128×96を4倍にすると、すべての値が下がりました。通常21.5dB・0.798、AI写真22.4dB・0.896、AIイラスト23.4dB・0.895です。AIは柵の柱をくっきりした白い棒として描き直しましたが、小さな番号のSSIMは0.427〜0.549にとどまり、画面でも文字としては読めませんでした。入力の時点で数ピクセルに潰れた文字は、方法を変えても戻らないということです。

AI写真で2倍にしたあと、その結果をもう一度2倍にしたらどうでしょう。同じ512×384になりましたが、21.2dB・0.887、小さな番号は0.504と、一度に4倍にしたときより低く、時間も2.00秒と約2倍かかりました。拡大したものをさらに拡大するより、元の画像から必要な倍率を一度で選ぶ方がよい結果になります。

時間は、テスト用PCのEdgeとグラフィックカードの経路で、AIが0.89〜1.00秒、通常の拡大は0.01秒未満でした。モデルのダウンロード時間は含まず、入力も小さいので、大きな写真では時間が変わります。

どこで止めればいい?

  1. 「画像を拡大」でいちばん大きな元画像を開きます。同じ写真が何枚もあるなら、ピクセル数の最も大きいファイルを選びます。
  2. 「大きくする」で×2から確かめます。今回のテストでは、256×192を2倍にした結果が元の画像にいちばん近くなりました。
  3. 「写真」と「イラスト」を同じ倍率で比べ、「AIを使わず通常の拡大」の結果もあわせて見ます。文字の多いスキャンでは、イラストの方が近いこともありました。
  4. 100%表示で顔、数字、細い線を確かめます。読めなかった文字が急に読めるように見えたら、線の形が変わっていないか疑ってみましょう。
  5. ×4が必要なのに元画像が128ピクセルほどしかないなら、さらに拡大するより、大きな元画像やスキャンし直したファイルを探します。

使うサイズでもう一度見る

スマホの画面で小さく見るだけなら、×2の柔らかい結果でも十分なことがあります。逆にプリントや大きな画面に出す写真では、拡大の不自然な所が目に付きやすくなります。実際に使うサイズで見て自然な方を選びましょう。紙のプリントが残っているなら、スキャナーの解像度を上げて読み直す方が、どの拡大よりも正直な結果になります。

関連するツールを開く

MiruKitで実際に確認した結果

入力 → 方法全体のPSNR / SSIM小さい文字のSSIM所要時間
256×192 → 通常 ×224.8 dB / 0.9120.6930.01秒未満
256×192 → AI 写真 ×227.9 dB / 0.9580.7591.00秒
256×192 → AI イラスト ×227.0 dB / 0.9620.8190.91秒
128×96 → 通常 ×421.5 dB / 0.7980.4270.01秒未満
128×96 → AI 写真 ×422.4 dB / 0.8960.5340.93秒
128×96 → AI イラスト ×423.4 dB / 0.8950.5490.89秒
128×96 → AI 写真 ×2 → ×221.2 dB / 0.8870.5042.00秒

自作の512×384の古い写真風画像を256×192と128×96に縮小し、JPEG 75%で保存して入力にしました。MiruKitのrenderUpscale(通常・AI写真・AIイラスト)で512×384まで拡大し、元の画像とRGBのPSNR・SSIMを比べています。時間はPCのEdge/WebGPUで、モデルのダウンロードは含みません。

実際の結果の同じ位置を拡大しました。128×96から始めると、どの方法でも番号は戻りません。
実際の結果の同じ位置を拡大しました。128×96から始めると、どの方法でも番号は戻りません。
128×96の入力を通常の×4、続けてAI写真の×4で拡大した実際の画面です。
128×96の入力を通常の×4、続けてAI写真の×4で拡大した実際の画面です。

実測の元データを見る

知っておきたいこと

今回の値は、自作の画像1枚と1台のPCでの結果です。実際の古い写真にはしみ、傷、色あせが混ざっているので、結果は変わることがあります。

AI拡大は、ない細部を推測して描きます。記録や証明に使う写真なら、拡大前の元画像も一緒に保管してください。