Web Analytics Made Easy - StatCounter

貧乏暇なしB型ブログ

役に立ちそうなことを気の向くまま

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

TypingMindを自分専用AIワークスペースにカスタマイズしてみた

 ChatGPTやClaudeをハードに使い込んでいると、必ずぶつかるのが「利用制限」の壁。 特にClaudeの優秀なスキルは手放せませんが、無料枠はあっという間に底を突き、かといって毎月20ドル(現在の為替だと地味に響く金額…)のサブスク契約は、お財布に優しくありませんよね。

「利用制限にイライラしたくない、でも固定費は抑えたい」

 そんなワガママな悩みを解決するために僕が導入したのが、買い切り型の高機能AIフロントエンド「TypingMind(タイピングマインド)」です。

 各種AIのAPIを「使った分だけ支払う(従量課金)」形に集約することで、ライト〜ミドルユーザーならサブスクより遥かにコストを抑えつつ、自分好みの最強ワークスペースを構築できます。

 今回は、僕が試行錯誤して辿り着いた「一軍プラグイン構成」や、会話を忘れさせない「長期メモリ(MCP)」の設定など、カスタマイズの全貌をガッツリ公開します!コスパと性能を妥協したくない方は、ぜひ参考にしてください。

 

1.基本環境(モデル構成)

主な使用モデルはこんな感じです。タスクやコストに応じて使い分けています。

・Grok(メイン)
 大規模なコーディングを必要としないタスクであれば、性能は十二分です。API経由で「Grok 4.3」を利用することで、サブスクリプション料金よりも大幅にコストを抑えつつ、トップクラスの推論能力をフル活用しています。

・Gemini(無料枠 / 状況に応じて利用)
 Googleの最新情報を反映させたい場合や、特定のタスクで無料枠を使い切るまでのサブとして利用します。

・OpenAI GPT(画像解析・PDF読み込み用)
 マルチモーダルなタスクにおいては依然として強力です。ドキュメントの読み込みや高度な画像解析が必要な時だけ、APIを通じてピンポイントで呼び出します。

・その他 OpenRouterなど
 特定のニッチなタスクや、実験的なモデルを試す際に経由させます。

基本的には「Grok」をメインストリームに据えつつ、用途に応じて無料枠や特化型モデルを使い分けるスタイルです。現在のTypingMindのモデル選択画面はこのような感じになっています。

f:id:gogogogogogogogogogo5555555555:20260520210340j:image

ほとんどのLLM APIを通じて送信したデータは、AIモデルの再学習には利用されません。APIは企業や開発者が商用利用することを前提としているため、機密情報や個人情報が学習に使われないよう設計・規約化されています。

AIフロントエンドならではの強力な機能

モデルの選択に加え、TypingMindの強みである「マルチモデル」機能も活用しています。

・マルチモデル応答(並列応答) 複数のAIに同時に回答させ、それらを取りまとめて要約する機能です。単一モデルでは見落としがちな視点を補完し、回答の質を底上げします。

・ディベートモード(直列応答) 1つのプロンプトに対して、複数のAIが「批判的検討」「精度向上」「結論の深化」を順次行い、議論を通じて最適解を導き出します。

f:id:gogogogogogogogogogo5555555555:20260521185402j:image

 API利用時のセキュリティについて

ここで重要なポイントとして、API経由でデータを送信する際のセキュリティについて触れておきます。

ほとんどのLLM APIを通じて送信したデータは、AIモデルの再学習には利用されません。

APIは企業や開発者が商用利用することを前提としているため、機密情報や個人情報が学習に使われないよう設計・規約化されています。具体的には:

OpenAI: API経由で送信されたデータは、モデルの改善目的では使用しないと明記
Anthropic(Claude): API利用時のデータは顧客の権利に留め、学習に使用しない
Google(Gemini): Enterprise版ではデータの利用を制限
xAI(Grok): API経由のデータは学習に使用しないポリシー

2.導入しているプラグイン一覧

TypingMindの真骨頂は、単なるAIチャットを「自律的な作業ツール」へと進化させるプラグイン機能にあります。APIモデルにWeb検索や外部ツール実行の能力を付与することで、まるで自分専用の専属スタッフを雇っているかのような環境が作れます。

僕が試行錯誤の末に選りすぐった、頼れる「プラグイン」を役割別に整理しました。

【リサーチ・情報収集系】(情報の質を最大化)

AIに「正しい情報」を効率よく与えるためのエンジンです。

・Jina WebサイトをAIが最も理解しやすい「クリーンなMarkdown形式」へ瞬時に変換。情報の読み込み精度が段違いに向上します。

・Tavily Search & Extract AIの知能を補完する「調査の鬼」。曖昧なWeb検索ではなく、AIの推論に必要な情報構造をピンポイントで抽出します。

・Deep Research 複数の情報ソースを横断的に潜って調査を行い、網羅的な報告書を自動作成。深掘りが必要なタスクには欠かせません。

・Brave Search API リアルタイム性の高いWeb検索用。安定感と速度を重視して採用しています。

【出力・効率化系】(作業のボトルネックを解消)

AIの回答をすぐに「実用的な形」に変えるためのツールです。

・Excel Generator AIの分析結果やデータを、その場ですぐに美しいExcelファイル(.xlsx)として出力・ダウンロード。コピペや整形の無駄な作業をゼロにします。

・Vectorize Query 質問文をベクトル化し、過去のログや蓄積したデータから必要な情報を瞬時に引き出します。「以前のアレは何だっけ?」を即座に解決する検索エンジンです。

【バックエンド系】

・Render

TypingMindのプラグイン用サーバーを稼働させるためのホスティングサービスです。AIエージェントが外部ツール(Custom Tools)を実行するためのバックエンドロジックをここで動かしています。

・UptimeRobot

Renderの無料プランで発生する**アイドルスリープ(15分無操作で停止)**を防ぐための死活監視ツールです。

定期的にPing(HTTPリクエスト)を送信することで、サーバーを常時アクティブ状態に保ち、即時応答できるようにしています。

解決: ドラム式洗濯乾燥機の下水臭トラブルからの脱出

 2023年7月29日に購入したパナソニックのドラム式洗濯乾燥機「NA-LX129B」を使っていて、下水のような嫌な臭いが発生するトラブルに悩まされていました。

 ある日洗濯後にふと気づくと、洗濯機周りから下水臭が…。毎回ではなく、時々発生する程度だったのですが、気になり始めました。

■ 症状とこれまで試した対策

 最初は「洗濯槽の汚れかな?」と思い、専用クリーナーで槽洗浄を試しましたが効果なし。

 排水管洗浄剤(パイプフィニッシュ)も検討しましたが、排水口より先の長い配管を洗っても根本解決にはならなさそうでした。

 そこで防臭トラップを疑い、洗濯機下のトラップを分解して掃除してみたところ、トラップ内の水が極端に少ないことに気づきました。

f:id:gogogogogogogogogogo5555555555:20250326081929j:image

■ 原因

 色々調べた結果、原因は以下の仕組みによるものでした。

 乾燥運転中に排水ホースから微風(排気)が出る仕様のため、経年とともに洗濯機内にホコリが溜まり、風量が強くなる。

→ 防臭トラップの封水(水の栓)が蒸発・切れやすくなる。
→ 下水の臭いが逆流する。

 さらに我が家の排水口は元々のトラップ内の水量が少なめだったため、封水が切れやすかったようです。

f:id:gogogogogogogogogogo5555555555:20250324160644j:image

f:id:gogogogogogogogogogo5555555555:20250324160651j:image

f:id:gogogogogogogogogogo5555555555:20250324170015j:image

■ 解決策:排水ホースをU字トラップ化

 そこで試したのが、排水ホースをU字に曲げて簡易トラップを作る方法です。やり方はとても簡単です。

①排水ホースを途中で高く持ち上げる(山を作る)

②その後、ホースをS字(またはU字)に曲げ、下の部分に水が溜まるようにする

③ホースクリップや結束バンド、粘着テープなどで形を固定する

 これでホース内に水が常に溜まるようになり、下水の臭いが逆流しにくくなります。

f:id:gogogogogogogogogogo5555555555:20250324160957j:image

f:id:gogogogogogogogogogo5555555555:20250324160731j:image

■ 結果

 この対策をしたところ、あれだけ気になっていた下水臭が完全に消えました。それ以来、臭いに悩まされることはなく、快適に洗濯・乾燥ができるようになっています。効果は抜群でした。

■ まとめ

 パナソニック NA-LX129B で下水臭が発生する場合、洗濯槽掃除で直らないときは排水ホースの配置を見直すのが有効です。

特に、

・排水トラップが弱い家
・乾燥機能をよく使う
・経年使用でホコリが溜まりやすい

といったケースでは、U字トラップ化がかなりおすすめです。

 私のように「なんか臭うな…」と悩んでいる人がいたら、ぜひ試してみてください。部品も買わずにすぐできるのでコスパ最強です。

参考になれば幸いです!