Deep Sky Memories

横浜の空で撮影した星たちの思い出

Galaxy の「スペースズーム」は「偽造」なのか?

サムスンのハイエンドスマホに搭載されているAI使用のデジタルズーム機能「スペースズーム」は写真を「偽造」しているという指摘があるそうです。reddit のユーザーが「検証」を行い、AIで月を検出してテクスチャを貼り付けている可能性も示唆したとのこと。

なのですが、月面写真や惑星写真を撮っている立場から見ると、この「検証」で「偽造」とまで言うのは早計ではないか?なぜならここで検証に使っているような画像の場合、天体写真で長年使われている画像処理を使用することでもかなりの程度復元が可能だから、という話をしたいと思います。

問題の「検証」方法は、以下のようなもの。

  • 高解像度の月面写真を用意する。
  • 上の月面写真を 170x170 ピクセルに縮小してガウスぼかしをかけた画像を作る。
  • 上の画像をモニターに表示して離れた場所からスペースズームで撮影する。

そして以下のような結論に(Gigazineの訳が一部怪しいので原文とDeepL訳を引用します)。

The moon pictures from Samsung are fake. Samsung's marketing is deceptive. It is adding detail where there is none (in this experiment, it was intentionally removed). In this article, they mention multi-frames, multi-exposures, but the reality is, it's AI doing most of the work, not the optics, the optics aren't capable of resolving the detail that you see. Since the moon is tidally locked to the Earth, it's very easy to train your model on other moon images and just slap that texture when a moon-like thing is detected.

DeepL訳: サムスンの月の写真は偽物です。サムスンマーケティングは欺瞞に満ちている。何もないところにディテールを加えている(この実験では、意図的に削除している)。この記事では、マルチフレームや多重露光について触れていますが、実際には、光学系ではなくAIがほとんどの作業を行っており、光学系はあなたが見るようなディテールを解像する能力がないのです。月は地球と潮汐同期しているので、他の月の画像でモデルを訓練し、月のようなものが検出されたらそのテクスチャを貼り付けるだけというのは非常に簡単です。

Samsung "space zoom" moon shots are fake, and here is the proof : Android

またこうも言っています。

there's a difference between additional processing a la super-resolution, when multiple frames are combined to recover detail which would otherwise be lost, and this, where you have a specific AI model trained on a set of moon images, in order to recognize the moon and slap on the moon texture on it (when there is no detail to recover in the first place, as in this experiment). This is not the same kind of processing that is done when you're zooming into something else, when those multiple exposures and different data from each frame account to something. This is specific to the moon.

DeepL訳: 超解像のように、複数のフレームを組み合わせて、本来失われるはずのディテールを回復させる追加処理と、月の画像のセットで訓練した特定のAIモデルを使って、月を認識して月のテクスチャを貼り付ける(この実験のように、そもそも回復すべきディテールがない場合)ことは、異なります。これは、他の何かにズームインしているときに、それらの多重露光や各フレームの異なるデータが何かを説明するときに行われるような処理ではありません。これは月に特有のものです。

Samsung "space zoom" moon shots are fake, and here is the proof : Android

さて、我々が月面写真や惑星写真を撮った時に行う画像処理では、ここで言う「超解像」と似たような処理をしています。複数のフレームをスタックしたものに wavelet 処理などの画像復元処理を行います。ただし、通常は画像の解像度は元のままで、スタック後のぼやけた画像のローカルコントラストを調整することで「解像感」を上げるのです。

ではそのような処理では「スペースズーム」は再現できないのでしょうか?やってみました。

まず元画像には昨年撮った 7840 x 9800 ピクセル(約7680万画素)の月面写真を使います。

これを GIMP で 136 x 170 ピクセルに縮小します。

https://rna.sakura.ne.jp/share/space-zoom/2022-03-12-1017_4-2-136x170.jpg

これを GIMPガウスぼかし(強さは2.5)でぼかします。

https://rna.sakura.ne.jp/share/space-zoom/2022-03-12-1017_4-2-136x170-gauss-2.5.jpg

さて、僕は Galaxy を持っていませんし、iPhone で撮っても画質がイマイチなので、この画像を 640 x 800 ピクセルに拡大したものを wavelet 処理することにします。

https://rna.sakura.ne.jp/share/space-zoom/2022-03-12-1017_4-2-136x170-gauss-2.5-640x800.jpg

おなじみの Registax 6 で頑張ってみました。

https://rna.sakura.ne.jp/share/space-zoom/2022-03-12-1017_4-2-136x170-gauss-2.5-640x800-spacezoom-simulation.png

どうでしょう?意外とディテールが復元していませんか?Galaxy のスーパーズームと比べると解像感も階調表現もワンランク落ちる感じですし、その差が AI の力で埋まる程度なのかどうかは微妙なところではありますが、「テクスチャを貼り付ける」的な処理をしなければ埋められないとまでは言えないのではないでしょうか。

reddit の検証記事ではガウスぼかしをかける前の縮小画像が載ってないのですが、実は縮小画像にもかなりディテールは残っているのです。縮小画像を見やすいように拡大したのがこちら。

https://rna.sakura.ne.jp/share/space-zoom/2022-03-12-1017_4-2-136x170-640x800.jpg

ガウスぼかしをかければ確かに情報量は落ちますが、見た目ほど落ちているわけでもありません。コントラストが落ちるため見た目にはのっぺりとしていますが、wavelet 処理のようなローカルコントラストを上げる画像処理を行うとわずかに残っていた輝度差が強調されることでのっぺりしていた部分から元の模様の痕跡が浮かび上がってくるのです。

AIによる偽造疑惑と言えば、最近天文家の間でも話題になった BlurXTerminator (BXT) の件を思い出します。BXT も登場して間もない頃にはAIが学習した画像の情報を貼り付けているのではないかという疑惑がありましたが、今ではそういう疑惑は否定されており、多くの天文家が使うようになりました。

とはいえ、AIが学習した情報が出力に漏れ出すようなことが全く起きないかというと、それもまた断言できることではありません。実際画像生成系のAIではそのようなことが起こっているからです。

もっとも BXT の作者の説明が正しいなら、BXT は Stable Diffusion とは全く別物の AI と考えられ、学習した画像が出力に出てくるようなことは起こりえないのではないかと思います。

しかし、BXT の作者の説明と実際に BXT が出力した画像の仕上がりの間にはギャップが感じられ、BXT の作者がどこまで AI の挙動を把握しているのかという点には疑問もあります。そのあたりは以前こちらの記事に書きました。

そういうわけで、僕自身は今後も BXT を使うつもりはないし、将来 Galaxy のユーザーになったとしても「スペースズーム」は使わないと思います。