n8n×Geminiでピンボケ写真を自動検出!8万枚の写真整理を爆速自動化した話

写真アプリを開くたびに、なぜか「ピンボケ写真」がどんどん増えていく…。そんな悩みを抱えていませんか?

僕も「D:\Picture」フォルダに約8万枚の写真が散乱しており、今から整理なんて絶対無理。見て見ぬふりを決め込んでいました。考えただけでぞっとするような作業になる。

f:id:gogogogogogogogogogo5555555555:20260612212307j:image

「全部見る時間なんてない…でも放置すると気持ち悪い」

そんなワガママな悩みを解決するために僕が導入したのが、**n8n**と**Google Gemini API**を組み合わせた「ピンボケ写真自動検出ワークフロー」です。

毎日1回バッチ処理を回すだけで、ピンボケ写真を自動的にピックアップし、Excel一覧として出力してくれるようになりました。

今回は、僕が試行錯誤して作ったワークフローの構成や設定ポイントを紹介します。写真整理に悩んでいる方は、ぜひ参考にしてください。

1.なぜピンボケ検出が必要なのか

僕が使っているCanonのミラーレスカメラM200は、一応「顔認証AF」がついていますが、動きの速い子供やペットを撮ると確実に外れます。しかも「よそ見」「ぼーっとしてた」写真も大量に残ってしまうのです。

結局、ピンボケ写真は「後で消そう」と思っても、いつの間にか放置。気づけば数万枚の写真の中に埋もれている…という状態でした。

2.解決策:n8n + Gemini APIの自動化

以前にもPythonのOpenCVでピンボケ写真の自動検出を試みましたが、精度がイマイチでそのままに。こういうのはAIが優秀そうだな。

まずは n8n です。ワークフローをGUIで組めるノーコード自動化ツールで、Dockerでセルフホストすれば無料で使い放題。

そこにGoogleの画像解析AI「Gemini」を組み合わせることで、「この写真はピンボケしているか?」を自動判定させることができるのです。

Geminiの無料枠は1日あたり約500枚の制限があります。 8万枚 ÷ 500枚/日 = 160日 ≒ 約5.3ヶ月。半年ちょっとかかりますが、自動で動くので待っているだけでOKです。

3.ワークフローの構成

僕が作ったワークフローは、主にこの流れで動いています。

1.トリガー:実行ボタンをクリック
2.処理済みログ読み込み:過去に処理した写真リストを取得
3.写真フォルダ一覧取得:対象フォルダ内の全写真を取得
4.未処理写真の抽出:処理済みリストと照合し、未処理の写真のみを抽出
5.ループ処理:写真を1枚ずつ処理
6.Geminiによる判定:画像をAIに送り、ピンボケかどうかを判定
7.Excel出力:ピンボケ写真のみを一覧でExcelに出力
8.ログ保存:処理済みリストを更新し、次回以降の重複処理を防止

スクリーンショットを見ると、こんな感じにノードが接続されています。

f:id:gogogogogogogogogogo5555555555:20260612074048j:image

4.Docker Composeの設定例

Dockerでn8nを動かす場合の `docker-compose.yml` はこんな感じです。

gist58d959be0df4b74396b6a252b094eb81

ポイントは、**写真フォルダと出力フォルダをマウント**すること。これにより、n8nから直接写真にアクセスできます。

5.実行結果

ピンボケ写真のリストが理由とともに、Excel形式で出力されます。写真はハイパーリンクから開く事ができ、すぐに不要な写真を削除することができます。

手作業:毎日200枚ずつ確認に約1時間。約400日(1年以上)必要
自動化:Gemini APIを使えば、毎日1回のバッチ処理で約1時間でExcel出力。
Excelのハイパーリンク確認に約5分

6.まとめ

n8nとGemini APIを組み合わせることで、大量の写真整理を効率化できました。Dockerでセルフホストすることで、サブスクリプションの月額費用も不要です。

写真整理は後回しにしがちですが、自動化ツールを活用すれば、大切な時間を他の作業に充てられます。ぜひ試してみてください。

以下のURLからワークフローJSONファイルをダウンロードできます。

GitHub – gogogogogogogogogogo55/List-of-out-of-focus-photos-Excel-output: n8nワークフロー: Gemini AIでピンボケ写真を自動判別しExcel一覧に出力する · GitHub

Leave a comment