Info
編集

【無料】PC内の写真を日本語でAI検索!「SakuLoca」の使い方と開発の経緯

パソコンに写真が増えてくると、「あの写真、どこに保存したっけ?」となることがあります。ファイル名を覚えていなくても、「海辺の風景」のように日本語で探せたら便利だなと思っていました。

そこで自分が使いたいAI写真検索ソフトを探したのですが、これが欲しい、と思えるものが見つかりませんでした。それなら作ってもらおう、ということで、CodexにWindowsアプリを作ってもらいました。自分用として作ったものですが、せっかくなので公開することにしました。

名前はSakuLoca(サクロカ)です。この記事では、何ができるのかに加えて、インストールから写真を検索するまでの流れを紹介します。

この記事はv1.0.1をもとにしています。掲載画面には実写真ではなく人工画像を使用しています。

SakuLocaとは?

SakuLocaは、Windows内の写真を日本語の説明や参照画像から探せる、無料の写真検索アプリです。名前は「サクッと、ローカル、サーチ。」から付けました。

AIにはEmbeddingGemma 2を使用しています。登録した写真をPC内で解析し、検索するときもローカルで処理します。写真や検索語をクラウドへ送信して検索する仕組みではありません。

ただし、モデルのダウンロードやGitHubへの更新確認・更新ファイルの取得などでは通信します。「写真検索がローカルで動く」ことと、「一切通信しない」ことは別です。

SakuLocaのトップ画面。写真フォルダーと検索欄、解析状況が表示されている
左側で対象フォルダー、上部で検索、下部で解析状況を確認できます。 ※画面内の画像は人工画像です。

できること

  • 「海辺の風景」など、日本語で写真の内容を指定して検索
  • 参照画像を使って、似た画像を検索
  • JPEG / PNG / WebPと、登録フォルダー内のサブフォルダーに対応
  • 追加・変更された写真を差分解析
  • ファイル名・形式・更新日で絞り込み、グリッド/リストで表示
  • プレビュー、拡大・縮小、元ファイルや保存場所を開く
  • 許可した場合のトレイ常駐とバックグラウンド解析

元の写真を編集・削除する機能はありません。写真を整理し直す前に、まず見つけるためのアプリです。

こんな人に向いています

  • PC内の写真が増え、保存した場所やファイル名を思い出しにくい人
  • 写真を外部のサービスへアップロードせずに探したい人
  • 「何が写っていたか」は覚えていても、撮影日などは覚えていない人
  • フォルダーを移動したり、すべての写真に手作業でタグを付けたりせずに検索したい人

一方で、特定の人物を正確に識別したい、画像内の文字を完全一致で探したい、という用途には向きません。AIによる検索なので、結果を見ながら言葉を変えて探す使い方になります。

インストール方法

対応OSはWindows 11 64bitです。GPUはNVIDIA RTX 2070(8GB)で動作を確認しています。他のGPUでの動作は未検証です。

  1. GitHubの最新リリースページを開きます。
  2. AssetsからSakuLocaのWindows用セットアップ(.exe)をダウンロードします。ファイル名にはバージョンが含まれます。「Source code」は通常のインストーラーではありません。
  3. セットアップを起動し、画面の案内に沿ってインストールします。
  4. SakuLocaを起動して、初回セットアップへ進みます。

Windowsコード署名には未対応です。そのため、SmartScreenなどの警告が出る場合があります。配布元がVIDEdegi/sakulocaであること、ファイル名とリリース情報を確認してください。必要に応じてリリースのSHA256SUMSとも照合できます。警告が出たという理由だけで、確認せずに実行することはおすすめしません。

Python・Rust・Node.jsなどの開発環境を用意する必要はありません。WebView2やMicrosoft Visual C++の実行環境が不足している場合は、Microsoft公式の導入方法が案内されます。

初回設定の流れ

最初は、次の順に画面の案内を進めます。途中で閉じても、次回に続きから再開できます。

  1. PCの動作環境を確認する:対応環境やAIの実行環境を確認します。
  2. AIモデルを準備する:既存の対応する.litertlmファイルを選ぶか、配布元・容量・利用条件を確認してモデルを取得します。
  3. 検索データの保存先を確認する:写真そのものの保存場所とは別です。
  4. 写真フォルダーを登録する:検索対象にしたいフォルダーを選びます。
  5. 背景動作と負荷を確認する:最初は既定のOFFのままでも使えます。
  6. AI実行を診断して、初回解析を開始する:解析完了を待たずに検索画面へ進むこともできます。

AIモデルはインストーラーに含まれていません。モデルは約462MiBあり、検索データやキャッシュにも空き容量が必要です。保存先は2GiB以上の空きを目安にし、写真の枚数に応じて余裕を持たせてください。写真自体の容量は別です。

モデルの配布元はLiteRT Communityのモデル公開ページです。対応する形式と利用条件を確認してから準備してください。モデルをすでに持っている場合は、コピーせずそのファイルを参照できます。オフラインで準備する場合も、対応モデルをあらかじめ用意して指定します。GPUで診断に失敗した場合はドライバーやモデルを確認し、必要に応じてCPUで診断してください。CPUは少数人工画像で確認しており、大量写真での実用速度は未評価です。

SakuLocaの初回セットアップにあるAIモデルの準備画面
モデルはアプリとは別に準備します。既存ファイルの指定もできます。 ※画面内の画像は人工画像です。

写真フォルダーの登録方法

  1. 初回セットアップの「写真フォルダーを追加」、または検索画面左側の「フォルダーを追加」を押します。
  2. 検索対象にしたい写真フォルダーを選びます。
  3. 登録されたフォルダーを確認します。複数ある場合は、必要な分だけ追加します。

登録したフォルダーのサブフォルダーも対象になります。PC全体を勝手に探すのではなく、登録した場所だけを解析します。最初は少数の写真が入ったフォルダーで、流れや負荷を確認すると分かりやすいと思います。

ドライブ全体や、モデル・検索データを含む親フォルダーは登録できません。リンクやジャンクションも追跡しません。登録を解除しても元の写真は消えませんが、そのフォルダーだけに属する写真は検索対象から外れます。

初回セットアップの写真フォルダー登録画面
検索したいフォルダーを登録します。サブフォルダーも対象です。 ※画面内の画像は人工画像です。

初回解析と差分解析

登録が終わったら、「差分更新 / 解析」を押します。初回はまだ解析結果がないので、対象の写真を順に解析して検索用のデータを作ります。写真の枚数やPCの性能によって時間が変わるため、すぐにすべてを検索できるとは限りません。

解析済みの枚数、待ち枚数、エラーなどは画面下部で確認できます。中断したいときは「一時停止」を使ってください。処理中の1枚を保存してから停止し、保存済みの結果は残ります。

写真を追加・変更したあとは、もう一度「差分更新 / 解析」を押します。同じモデルで解析済みの変更のない写真を毎回やり直すのではなく、追加・変更分や未完了分を処理します。異なるモデルへ切り替えた場合は別の解析データが必要になります。

エラーが出た場合は設定のエラー一覧で確認できます。外付けドライブなどが未接続なら、接続し直してから差分更新を行ってください。

人工画像を解析中のSakuLoca。下部に進捗と一時停止ボタンが表示されている
解析状況は画面下部で確認できます。 ※画面内の画像は人工画像です。

日本語検索の使い方

  1. 解析済みの写真がある状態で、上部の検索欄に探したい内容を入力します。
  2. たとえば「海辺の風景」「赤いりんご」のように、写っているものを日本語で指定します。
  3. 検索を実行して、内容が近い順に並んだ結果を確認します。
  4. 見つかりにくければ、説明を短くしたり、別の言葉に言い換えたりします。

「海」だけで探す、次に「海辺の風景」で探す、といった具合に試してみてください。結果が多い場合はファイル名・形式・更新日で絞れます。検索欄へはCtrl+Kでも移動できます。

表示される類似度は正解率や確信度ではありません。数字が高くても、目的の写真かどうかはプレビューで確認してください。

海辺の風景という日本語で検索した人工画像の検索結果
写真の内容を言葉で指定して探します。 ※画面内の画像は人工画像です。

結果の写真をクリックするとプレビューが開きます。拡大・縮小して確認し、「元のファイルを開く」や「保存場所を開く」で実際のファイルへ進めます。結果は1ページ60枚で、グリッドとリストを切り替えられます。

人工画像のプレビュー画面。拡大や保存場所を開く操作ができる
結果を拡大して確認し、元ファイルや保存場所を開けます。 ※画面内の画像は人工画像です。

類似画像検索の使い方

言葉にしにくいときは、画像を手がかりに探せます。

  1. 検索欄の横にある「画像で探す」を押します。
  2. 手がかりにする参照画像を選びます。
  3. 登録・解析済みの写真から、参照画像に近いものが並びます。

検索結果のプレビューから「この写真に似た画像」を押す方法もあります。まず1枚見つけて、そこから似た内容の写真を探したいときに便利です。

似ているかどうかをAIで比較する機能なので、同一ファイルの判定や重複写真の自動削除をする機能ではありません。

人工の海辺画像を参照画像にした類似画像検索結果
プレビューの「この写真に似た画像」からも検索できます。 ※画面内の画像は人工画像です。

バックグラウンド解析の使い方と注意点

「モデルと設定」を開き、「解析と背景」で設定します。背景実行は既定でOFFです。OFFのときはウィンドウの×で完全終了します。

「ウィンドウを閉じてもトレイで解析を継続」をONにすると、×を押してもトレイへ格納され、開始済みの解析を続けます。画面が閉じたからといって、アプリやAI処理が終了したわけではありません。

  • 低負荷モード:写真の処理の間に待機時間を入れます。
  • アイドル限定:PCの操作が120秒ないときに次の写真を処理します。処理中の1枚は中断しません。
  • 定期的な差分更新:登録フォルダーを指定間隔で再確認します。間隔は最低5分です。
  • Windowsログイン時の起動:別途許可した場合に有効になります。既定ではOFFです。

低負荷設定はGPUの負荷を動的に測って調整する機能ではありません。他の作業と同時に使う場合は、実際の負荷を見ながら設定してください。

止めたいときはトレイのメニューから一時停止、終了したいときは「完全終了」を選びます。起動時の未完了解析の自動再開も、設定で許可した場合だけです。

解析と背景の設定画面。トレイ常駐や低負荷モードなどの項目
背景実行とログイン時の起動は、それぞれ必要に応じて設定します。 ※画面内の画像は人工画像です。

保存先・更新・アンインストール

写真の保存場所と、検索データの保存場所は別

元の写真は登録したフォルダーにそのまま残ります。検索データの初期保存先は%LOCALAPPDATA%\LocalPhotoSearch\dataです。アプリ名とは異なるフォルダー名ですが、互換性のために維持しています。以前から保存先を指定している場合は、その指定を優先します。

モデル・検索データ・サムネイル・AIキャッシュなどの容量は設定で確認できます。検索データの保存先を変更する場合は、解析やモデル取得を停止してから空の移行先を選んでください。データをコピーして確認後に切り替え、次回起動から新しい場所を使います。元の保存領域は残るため、その分の空き容量も必要です。

更新する場合

設定の「アプリの更新」で更新の有無と変更内容を確認して導入できます。起動時の更新確認はOFFにできます。手動更新する場合は、トレイの「完全終了」でアプリを終了してから、新しいセットアップを同じインストール先へ実行します。

更新用の署名とWindowsコード署名は別です。更新用の署名があることによってSmartScreen警告がなくなるわけではありません。

アンインストールする場合

アプリを完全終了し、Windowsの設定からアンインストールします。写真・モデル・検索データは削除しません。再インストール時にも既存データを利用できます。不要になった検索データを整理する場合は、保存場所と内容を確認してから行ってください。

旧名称の「Local Photo Search」v1.0.0からの更新インストール全体は、公開時点で未検証です。旧版からの更新・移行で困った場合は、GitHub Issuesをご確認ください。

注意点・制限事項

  • 初期サポート対象はWindows 11 64bitです。Windows 10・ARM・32bitは対象外です。
  • GPUの確認済み構成はRTX 2070です。他GPUでの動作は保証していません。
  • AIモデルは別途必要です。初回解析には時間とPCの処理能力、保存先の空き容量が必要です。
  • 対応画像はJPEG / PNG / WebPです。音声・動画検索は今回の記事で紹介する機能に含まれません。
  • 人物識別、画像内文字の完全一致、撮影場所の断定は保証しません。
  • Windowsコード署名は未対応で、SmartScreen警告が出る可能性があります。
  • クリーンWindowsへの導入、実際のOSスリープ・再起動などは受入確認が残っています。

写真・検索語を外部へ送信するクラウド検索や、アプリ独自の広告・テレメトリーはありません。一方、モデル取得や更新、必要なMicrosoft実行環境の導入では通信します。OSやWebView2自体の通信は、それぞれの提供元の設定に従います。

不具合を報告する際は、写真や個人用のフォルダーパスをそのまま公開しないようにしてください。ログにもローカルパスが含まれる場合があるので、共有前に内容を確認してください。

今後の継続開発は未定です。まずは自分が必要なものを作り、公開したという位置付けなので、機能追加や更新を約束するものではありません。

ダウンロード

最新の配布ファイルは、以下のダウンロードカードから確認できます。

SakuLoca(サクロカ)
v1.0.1

日本語や画像でPC内の写真を探せる、無料のローカルAI写真検索アプリです。

Windows 11(64bit)無料・オープンソースAIモデル別途必要

詳しい操作方法は公式の利用ガイドも参照してください。

Windowsコード署名はありません。配布元を確認してから導入してください。写真検索用のAIモデルは別途必要です。

まとめ

自分が使いたいAI写真検索ソフトが見つからなかったので、CodexにWindowsアプリを作ってもらい、SakuLocaとして公開しました。

使い始める流れは、モデルを準備する → 写真フォルダーを登録する → 解析する → 日本語や画像で検索する、という順番です。その後は、写真が増えたときに差分解析を行います。

自分と同じように、PC内の写真を言葉で探したいと思っていた方の選択肢になればと思います。

新しい投稿はありません 前の投稿