スマートフォン画像を集めるとき、アップロードフォーム側で位置情報を自動削除できれば便利です。そこで、一般的なフォーム、画像処理サービス、ブラウザでの再変換などを検討しましたが、どの収集経路でも確実に消えるとみなせる簡単な方法は見つけられませんでした。
最終的には、作業者には位置情報を記録しないよう案内しつつ、収集側では位置情報が付いた画像も届く前提で、公開用コピーを一括検査・処理する運用が確実だと考えました。この記事では、その判断とGoogle Drive上の画像を処理する手順を紹介します。
重要
位置情報が研究上必要な案件もあります。処理前に仕様を確認し、原本を直接上書きしないでください。以下のコマンドは必ずテスト用フォルダで確認してから利用してください。
フォームでの自動削除に頼りにくかった理由
| 方法 | 検討時に気になった点 |
|---|---|
| 一般的なファイル添付フォーム | 元画像をそのまま保存するものがあり、EXIF削除が仕様として保証されない |
| 画像圧縮機能のあるフォーム | 圧縮とメタデータ削除は別であり、挙動が明示されない場合がある |
| チャット・SNS経由 | 画像送信とファイル送信で挙動が変わり、仕様変更にも左右される |
| ブラウザで再生成 | HEIC、画像の向き、品質、端末差への対応が必要 |
| 外部画像処理サービス | 処理は可能でも、原画像を外部へ送る契約・安全管理の確認が必要 |
| 独自フォーム | 確実に設計できるが、開発と保守が必要 |
Googleフォームのファイルアップロードも、アップロードされたファイルをGoogle Driveへ保存します。Googleが公開しているApps Scriptのサンプルはファイルをフォルダへ移動・整理するもので、画像のメタデータを削除する処理ではありません。
GAS単体での処理を主役にしなかった理由
Google Apps ScriptではDrive上のファイルを取得し、ファイル名の変更、移動、一覧管理などを自動化できます。一方、EXIFを解析して特定の項目を安全に削除する専用の標準機能はありません。
画像を別形式へ変換して保存する方法も考えられますが、メタデータ削除の保証、再圧縮、画像の向き、対応形式、実行時間などを確認する必要があります。そのため、GASは収集後の整理や通知に使い、メタデータ処理は専用ツールへ任せることにしました。
原本と公開用画像を分ける
Google Driveに次のフォルダを用意します。
画像収集/
├── original/
└── public/
original:フォームなどで受領した原本。アクセスを制限するpublic:メタデータ削除後の公開・納品候補
原本を残すのは、撮影日時や端末情報が品質確認に必要になる場合があるためです。公開用フォルダだけを処理します。
Google ColabからDriveを開く
ローカルPCへツールをインストールせずに試す方法として、Google Colabを利用できます。新しいノートブックを作り、次のコードをセルへ貼り付けて実行します。
from google.colab import drive
drive.mount('/content/drive')
表示される案内に従い、対象のGoogle Driveへのアクセスを許可します。機密性の高い案件では、利用するアカウント、ノートブックの共有設定、実行環境に関する組織のルールも確認してください。
ExifToolを準備する
新しいセルで次を実行します。
!apt-get update -qq
!apt-get install -y libimage-exiftool-perl
最初に位置情報を検査する
!exiftool -r \
-GPSLatitude \
-GPSLongitude \
-GPSPosition \
"/content/drive/MyDrive/画像収集/original"
GPS情報が含まれている画像では、ファイル名と位置情報が表示されます。何も表示されない場合でも、対象フォルダの指定が正しいか、処理対象のファイルが存在するかを確認します。
原本を公開用フォルダへコピーする
!mkdir -p "/content/drive/MyDrive/画像収集/public"
!cp -a "/content/drive/MyDrive/画像収集/original/." \
"/content/drive/MyDrive/画像収集/public/"
実際のフォルダ名が異なる場合は、パスを書き換えます。コピー後、原本と公開用フォルダのファイル数が一致することを確認してください。
公開用画像からGPS情報を削除する
!exiftool -r \
-gps:all= \
-overwrite_original \
"/content/drive/MyDrive/画像収集/public"
この例ではGPS関連情報を対象にします。画像の向きを示すOrientationなど、表示に必要な情報は残ります。
すべてのメタデータを削除する場合
撮影日時、端末名、編集ソフトなども不要なら、全メタデータの削除を検討できます。
!exiftool -r \
-all= \
-tagsfromfile @ \
-Orientation \
-ICC_Profile \
-overwrite_original \
"/content/drive/MyDrive/画像収集/public"
この例では全メタデータを削除した後、画像の向きとカラープロファイルを元ファイルから戻します。ファイル形式や撮影端末によって結果が異なる可能性があるため、少量で画像の向き、色、解像度を確認してから全件へ適用します。ExifToolの指定方法は公式ドキュメントも確認してください。
削除後に再検査する
!exiftool -r \
-GPSLatitude \
-GPSLongitude \
-GPSPosition \
"/content/drive/MyDrive/画像収集/public"
処理コマンドが終了したことだけではなく、公開用フォルダを改めて検査することが重要です。あわせて次を確認します。
- 原本と公開用画像の枚数が一致する
- すべての画像を開ける
- 縦横の向き、色、解像度に問題がない
- ファイル名に氏名や内部IDがない
- 画像内に住所、顔、会員番号などが残っていない
- 公開するZIPを作成した後にも再確認する
予防と公開前処理を二重に行う
作業者へ位置情報をオフにするよう案内することは必要です。ただし、設定忘れ、端末差、別のカメラアプリ、過去画像の提出などは起こり得ます。
そこで、作業者の設定は予防策、収集側の一括検査は最終確認として両方行います。収集フォームの挙動だけに依存せず、実際に公開するファイルを検査するところまでを工程に含めます。
IMAGE DATA QUALITY CONTROL
画像収集から公開前検品までご相談いただけます
株式会社イングクラウドでは、撮影手順の作成、画像収集、メタデータ確認、個人情報のマスキング、アノテーション、公開用データの検品まで対応しています。
