OpenAIのChatGPT o3とo4-mini、o4-mini-highが投入されてすぐに試したのは、o3による音楽解析でした。その日のうちにもう1つ、試してみたので今回はそちらをご報告します。それは、写真分析です。
手元に遺された古い写真について教えてくれる人もいない場合、それがいつ、どんなシチュエーションで撮影されたのか知りたいことがあると思います。
筆者は長年疑問に思っていた写真が何枚もあります。
そんなときにはGoogleレンズなどを使うのが定番ですが、人物が写っていると拒否されるという致命的な欠陥があります。ChatGPTのプライバシーポリシーはGoogleと比べると格段に緩いので可能かもしれません。
o3とo4は画像解析、ウェブ検索、コーディングが同時にできるようになったため、期待が持てそうです。
そこで、過去にはまったく撮影場所不明だった、妻の中学・高校時代の写真をアップロードして、「ここはどこ?」と聞いてみました。

もう少し情報があるといいらしいので、「撮影は1970年代末から80年代はじめにかけて」と追記すると、調査を開始。
うまく絞り込めたようで、56秒で結論が出ました。最初の推測通り、「長野県・鬼押出し園(浅間山)」です。

判定ポイントも教えてくれました。

そういえば、中学・高校が浅間山山荘(連合赤軍事件があった)に合宿所があって、行ったことがあると話していたことがありました。制服ではなくて私服なので、家族旅行なのかもしれませんが。
調子に乗って、もう1枚、試してみました。AIの学習用にも使っている、妻と交際し始めた時期の、ボートに乗っている写真です。これも場所を聞いてみました。

こちらは特定するのに12分かかりましたが、その過程はさらに面白かったです。
o3は「1970年代末~1980年代初め、白樺湖の遊覧ボートから南岸(池の平ファミリーランド側)を背景に撮影した1枚──というのがいちばん自然な読み解きです」と結論づけました。
理由は次のとおり:
手がかり | 白樺湖で合致するポイント |
---|---|
湖の向こうに並ぶ三角屋根・同じ外壁色のコテージ群 | 白樺湖畔の池の平ファミリーランド(旧スケートセンター)のバンガローが、1970~80年代にまさにこの外観で湖岸にずらりと建っていた |
湖を見下ろす小高い丘に、白壁+赤い屋根の建物 | 当時の「白樺高原ホテル(池の平東館)」の外観と形状・屋根色がほぼ一致 |
背景の山が裾広がりで独立峰に近いシルエット | 白樺湖の北東にそびえる蓼科山(2,530 m)を湖越しに見ると、写真と同じ柔らかな稜線になる |
写真縁の「FUJICOLOR 81」 | 1981年前後に多く流通したプリント紙。白樺湖は高度経済成長期~80年代に団体旅行・合宿地として大ブーム |
これだけだと簡単そうですが、
このように、写真の一部をフレーミングしてズームして、そこにある地形や建物を調べているのです。その途中経過がリアルタイムで表示されていく様子は、まるで映画「ブレードランナー」。
主人公のデッカードが音声指示で写真を拡大していく様子が近未来SFっぽくて良いのですが、それを彷彿とさせます。o3の拡大の時にはmatplotlibを使って座標を指定するコマンドラインも表示され、さらにSFっぽくなります。
o3は背景に写っているコテージの形状をさらに精査し、特定につなげていきます。
さらにウェブ検索で絞り込み、場所の特定に至りました。

画像解析、コーディング、ウェブ検索、強力な推論のどれかが欠けてもこのようなことはできなかったでしょう。
使用したフレーミング画像を1枚の画像にまとめるのもできました。


さらに、フレーミングで使った座標をオーバーレイすることも。


強力なマルチモーダルを備えたo3、なんともすごいです。