今年、iPhone 16 ProからiPhone 17に「ダウングレード」したのは、iPhone 17 Proの唯一興味を引いた機能、望遠カメラによる4倍/8倍ズームが唯一だったからです。結局、シンプルなiPhone 17を体験することの方が私にとって重要だと判断しました。マクロ撮影に興味があるので、iPhone 16 Proの望遠カメラとテトラプリズムレンズによる5倍ズームは、普段はあまり使っていませんでした。私が一番幸せを感じる写真は、花の中にiPhoneを突っ込み、まるで異星人のような雄しべと雌しべを、鮮やかな色の花びらに囲まれた超クローズアップで撮影した時です。
その決断を下す過程で、iPhone 16 Proの5倍ズームでこの1年間にどれだけ写真を撮ったか思い出しました。写真アプリのスマートアルバムを少し調べてみましたが、その時は分からなかったので、そのデータなしでiPhone 17への移行を進めました。
しかし、アリソン・シェリダンと次回のポッドキャスト「Chit Chat Across the Pond」のテーマについて話していた時、私は望遠カメラをあまり使わないので、iPhone 17の新しい48メガピクセルの超広角カメラでもマクロ撮影ならiPhone 16 Proと同じくらい使えると思ったので、ダウングレードしたと伝えました。彼女はiPhone 16 Proの5倍ズームが気に入っていて、より高性能な光学ズームがあれば超広角カメラとマクロ撮影はすぐにでも諦めると言いました。そこで私は、彼女も苦労していたスマートアルバム作りの失敗について話しました。
そして私はウサギの穴に落ちていき、翌日、興味深いポッドキャストの議論とこの記事を持って現れました。
ChatGPTとExifTool
写真アプリのスマートアルバムを使うのを諦めた理由の一つは、最初の試行錯誤が無駄に終わった後、ChatGPTに問い合わせたところ、そのアプローチに否定的な意見を出されたからです。代わりに、Phil Harvey氏による無料のExifToolを勧められました。これは、iPhoneの写真に関するカメラ固有の様々なメタデータを記録するEXIF形式を含む、様々な形式のメタデータを読み書き編集できるコマンドラインツールです。
ExifTool のインストールは少し怖いですが (署名されていないため、macOS はマルウェアを恐れてインストールを阻止しようとします)、ChatGPT がコピー アンド ペーストのコマンドを提供しているので、簡単に使用できます。
何度かやり取りした後、写真アプリで私が混乱していた理由の一つは、iPhone 16 Proの望遠カメラで撮影した写真の焦点距離が35mm判換算で120mmと表示されるのに対し、ExifToolではEXIF FocalLengthフィールドで表示される実際の焦点距離が15.7mmと表示されることにあることが分かりました。同様に、広角カメラは35mm判換算で24mmと表示されますが、実際の焦点距離は6.8mmです。超広角カメラは35mm判換算で14mmと表示されますが、これは実際の焦点距離2.2mmに相当します。
実際の焦点距離はiPhoneのフレームに収まるため、はるかに短いにもかかわらず、写真アプリが写真家が理解できる35mm判換算の焦点距離を表示するのは理にかなっています。しかし、写真アプリでスマートアルバムを作成する場合、アプリは実際の焦点距離しか認識せず、35mm判換算の焦点距離は認識しません。しかし、私はずっと後になってからそのことに気付きました。
ChatGPTを使って複雑なExifToolコマンドを作れるようになったので、3台のカメラそれぞれで昨年撮影された画像の枚数をカウントするタスクをChatGPTに与えました。ここで話は急展開しました。私のフォトライブラリには49,000枚近くの画像があり、ExifToolはそれらの解析が遅いのです。
しかし、いつも親切なChatGPTは、処理速度を上げるテクニックを使って、私が望んでいたことを実現するシェルスクリプトを書いてくれると申し出てくれました。特に、find
ツールを使って過去1年間のすべての画像を検索することを提案してくれました。そうすれば、ExifToolはコレクション全体ではなく、そのサブセットのメタデータを分析できるからです。そして、その通りになりました!シェルスクリプトはほとんど使いこなせないので、思い通りに動作させるまでにかなりのやり取りが必要でしたが、チャットボットは忍耐強いですね。
私はそのスクリプトをアリソンと共有しました。アリソンはターミナルにフルディスクアクセスの権限を与えた後、それを動作させることができました。しかし、ポッドキャストでそれぞれの数字をじっくりと調べていくうちに、それらが間違っていないとしても、少なくとも誤解を招くものであることが明らかになりました。そしておそらく間違っていたのです。問題の一部は、iPhone 16 Proの広角カメラは通常のショットと2倍ズームの写真に使用でき、超広角カメラは広角0.5倍ズームの写真とマクロのクローズアップに使用できることにありました。さらに、フロントカメラを使用した自撮りがあり、そして私たち2人とも、iPhone 16 Proで全く撮影されていない写真が驚くほどたくさんありました。それらはiPad、古いiPhone、そして私たちと写真を共有してくれた他の人からのものでした。幸いなことに、ExifToolは適切な焦点距離を抽出して、それぞれの種類の写真を識別できます。
検証は明らかに必要だったので、写真の種類ごとにフォルダを作成し、一致するすべての写真へのシンボリックリンクを設定するというアイデアを思いつきました。シンボリックリンクされた画像のフォルダをQuick Lookでスキャンすれば、不要な画像を簡単に見つけられるだろうと考えました。テスト実行を高速化し、スキャンを管理しやすくするために、スクリプトの実行期間を特定の期間に限定できるように日付処理も追加しました。ChatGPTは私の指示通りにスクリプトを修正するのに問題はありませんでしたが、いつものように、間違いや誤った仮定を修正するために、かなりのやり取りが必要でした。
フォルダはスクリプトのエラーを明らかにするのに非常に役立ちました。最も注目すべき発見は、スクリプトが1万枚以上の写真を識別したことです。これは私が昨年撮影した写真の数を大幅に上回っfind
ていました。問題は、ツールが元の画像の最終更新日を参照していたことです。どうやらPhotosは古い画像に何らかの変更を加えた後、その日付を微調整しているようfind
です。しかし、ExifToolは実際の撮影日を読み取ることができます。ChatGPTがスクリプトを書き換えて最初のパスで使用し、その後ExifToolに昨年の写真のみを識別させたところ、合計数は約1,500枚に減少しました。最終的に、私のスクリプトはこのように報告しました。
興味深いことに、1枚の写真がまだ完全に間違っていました。理由は説明できませんが、EXIFモデルが「iPhone 7」なのに、レンズモデルが「iPhone 16 Pro 背面トリプルカメラ 2.22mm f/2.2」と認識されてしまいました。メタデータの破損でしょうか?
望遠写真はどうですか?
上のスクリーンショットでわかるように、望遠カメラの5倍ズームを使った写真は386枚ありましたが、超広角カメラで撮った真のマクロ写真はわずか265枚でした。iPhone 17 Proを買わなかったのは間違いだったのでしょうか?
いえ、ここでまたフォルダが役に立ったんです。私にとって望遠写真は2つのカテゴリーに分けられます。チームのクロスカントリーレースで自分(または友人)が撮った写真と、動物にこれ以上近づけなかった野生動物のショットです。残念ながら、iPhoneのどのモデルもレース写真の撮影は苦手です。ランナーたちをフレームいっぱいに収めるにはズームが必要です(そして、大切な人にピントを合わせるために、後でさらにトリミングすることが多いのですが)。しかし、晴れた日でもシャッタースピードが足りず、ブレのない写真を撮ることができません。(2倍ズームで連写するには、カメラ+アプリのアクションモードを使っています。標準のカメラアプリでは、ストレスの多い状況ではそれが難しすぎます。)

レースの写真はたくさん撮ってきましたが、何も撮れないよりはましですが、もっと良くできたはずなのにといつもがっかりしてしまいます。野生動物の写真も、動物やカメラの動きのせいで、がっかりするほどぼやけていることがよくあります。
スクリプトとスマートアルバム
このスクリプトはiPhone 16 Proの各種カメラで撮影された画像を識別することに重点を置いており、他のデバイスで撮影された写真は副次的にカウントするだけなので、どの程度一般的に役立つかは分かりません。とはいえ、私と同じような状況にある方、またはご自身の用途に合わせて修正したい方は、ぜひダウンロードしてください。シェルスクリプトに精通していなくてもご安心ください。どんなチャットボットでも、ExifToolのインストール、スクリプトの実行ファイルの作成、そしてお使いのiPhoneモデルに合わせた調整をお手伝いできるはずです。
あるいは、ChatGPTを使ってスクリプトを作成した際に得た知識を活用すれば、コマンドラインをいじる代わりに写真アプリでスマートアルバムを作成することで、必要な情報をすべて得られるかもしれません。この方法では、iPhone 16 Proの各カメラで撮影されたすべての写真を収集できますが、超広角カメラで撮影された通常写真とマクロ写真、広角カメラで撮影された通常写真と2倍ズーム写真を区別できるように拡張することはできませんでした。
先ほども触れましたが、重要なのは、レンズ条件を使って、写真インターフェースに表示される35mm判換算の焦点距離ではなく、各カメラの実際の焦点距離を一致させることです。これは言うは易く行うは難しですが、一致させるべき具体的なテキストを必ずしも知る必要はありません。レンズ条件のフィールドに入力を始めると、多くの選択肢を示すオートコンプリートポップアップが表示されます。
残念ながら、多くのオプションのフルネームを表示するのに十分な幅がないため、マウスオーバーして展開された名前を表示する必要があります。展開された名前は、ExifToolがFocalLengthとして報告するよりも有効桁数が多いです。さらに混乱を招くのは、「iPhone 16 Pro 背面カメラ」と「iPhone 16 Pro 背面トリプルカメラ」という別々のエントリが表示されることです。「背面カメラ」という用語は、Camera+アプリの2倍ズームモードで撮影した動画や写真に一致します。「背面トリプルカメラ」という用語は、明示的に5倍ズームを使用した写真に一致します。
これらすべてを実際に適用すると、カメラモデルを個別に一致させ、レンズ条件の焦点距離のみを一致させる必要がある場合があります。必要なオートコンプリート項目を選択し、カメラ固有のテキストを削除します。望遠カメラで撮影した写真を検索するための私のスマートアルバムはこんな感じです。これを簡単に変更して、広角カメラと超広角カメラで撮影した写真も抽出できます。
セルフィーを何枚撮ったか確認したい場合は、「写真がセルフィー」条件を使うと簡単です。iPhone 17とiPhone 17 Proはどちらもセルフィー用にAppleの新しい18メガピクセルCenter Stageカメラを搭載しているので、どちらを選んでもセルフィーの画質が向上するはずです。
スマートアルバムでは、同じレンズを使って撮影した異なる写真の実際の焦点距離を識別することはできません。一方、私のスクリプトでは、広角カメラで撮影した通常の写真と2倍ズームで撮影した写真、そして超広角レンズで撮影した広角画像とマクロ撮影した写真を区別できます。私の考えでは、写真アプリはEXIF FocalLengthフィールドのみを参照し、スクリプトで使用されているFocalLengthIn35mmFormatフィールドは無視しています。理想的には、Appleは写真アプリのスマートアルバムにEXIF条件を提供し、ユーザーが利用可能なあらゆるEXIFフィールドに一致する複雑なルールを作成できるようにしてくれるでしょう。
結局のところ、今年、より安価なiPhone 17を選んだことを後悔はしていません。来年を通して、望遠カメラが恋しくなるかどうか、興味があります。望遠カメラ搭載の以前のiPhone ProモデルからiPhone 17とiPhone 17 Proのどちらに買い替えるか迷っているなら、3倍または5倍ズームの写真の実際の焦点距離に一致するレンズ条件でスマートアルバムを作成し、写真を見て「これで満足?」と自問してみてください。