Skip to content

About

Local GPU-ready hybrid image search tool with Windows installer

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

UploadPicker

UploadPicker は、アップロードした画像の中から自然文や見本画像で条件検索できるローカル向けハイブリッド画像検索ツールです。

概要

  • ローカルで画像を保存して検索
  • 自然文での絞り込み
  • 切り取った見本画像からの類似画像検索
  • GPU 利用を前提にした高精度化しやすい構成
  • Windows で .bat だけで扱えるシンプルなセットアップ導線

Windows での使い方

  • GitHub から使う場合は、release に添付した ZIP をダウンロードして展開してください。
  • 展開後のフォルダ内で UploadPicker.bat を実行してください。
  • UploadPicker.bat をダブルクリックするとメニューが開きます。
  • 1 で Install / Repair
  • 2 で Start App
  • 3 で Uninstall
  • 起動直後は、画像認識 AI のロードが終わるまで全画面のローディング表示が出ます。
  • ロード中は誤操作を防ぐため、画面操作はできません。
  • NVIDIA GPU が検出できる環境では、Install / Repair 時に CUDA 対応 PyTorch の導入を優先して GPU 利用を試みます。

個別に使う場合は次の bat を直接実行できます。

  • Install UploadPicker.bat
    • Python の確認、.venv 作成、依存インストール、デスクトップ / スタートメニュー用 bat 作成
  • Start UploadPicker.bat
    • ローカルサーバーを起動してブラウザを開く
  • Uninstall UploadPicker.bat
    • .venv、data、生成した bat ラッパーを削除する

Install UploadPicker.bat は、利用可能な Python が見つからない場合に Python 3.11 の導入を試みます。 py コマンドだけ存在していて Python 本体が入っていない場合でも、そのケースを考慮して再判定します。

インストール後は、デスクトップとスタートメニューに次の bat が生成されます。

  • UploadPicker.bat
    • メニューを開く
  • Start UploadPicker.bat
    • アプリを直接起動する
  • Uninstall UploadPicker.bat
    • アンインストールする

画像フォルダへまとめて入れる使い方

  • 画面のアップロード欄では、1枚ずつだけでなく複数画像の一括アップロードとフォルダごとのアップロードも使えます。
  • 画面内の 画像フォルダを開く ボタンで、登録用フォルダを直接開けます。
  • そのフォルダに画像を大量にコピーしてください。
  • コピー後に フォルダ内画像を取り込む を押すと、まとめて検索対象へ登録されます。
  • 登録済み画像 の一覧では、不要な画像を1枚ずつ削除したり、一覧をまとめて空にしたりできます。
  • 必要なら 全件再インデックス を押すと、検索用インデックスを再構築できます。

GPU があるのに Device: cpu と表示される場合は、CUDA 対応の PyTorch ランタイムが入っていない可能性があります。 その場合は Install / Repair を再実行すると、NVIDIA GPU が検出できれば CUDA 版の導入を試みます。

セキュリティ面について

  • EXE 配布はやめて、.bat ベースの運用に切り替えています。
  • これにより、未署名 EXE に対する SmartScreen 警告の問題を避けやすくしています。
  • ただし、配布方法や Windows の設定によってはダウンロード済みスクリプトに警告が出る場合があります。
  • その場合は、release ZIP を右クリックして プロパティ から ブロックの解除 を確認したうえで展開してください。

現在の構成

  • FastAPI ベースのローカル Web アプリ
  • 画像アップロードと一覧表示
  • 検索 UI と API の土台
  • GPU 利用を前提にした検索基盤
  • 画像、サムネイル、埋め込み、インデックスのローカル保存

想定している検索パイプライン

  1. 画像をローカルに保存
  2. サムネイルを生成
  3. CLIP 系モデルで画像埋め込みを生成
  4. 人物検出や顔検出を追加
  5. 属性フィルタと再ランキングで精度を上げる

開発環境での起動

python -m venv .venv
.venv\Scripts\activate
pip install -e .
uvicorn app.main:app --reload

Open http://127.0.0.1:8000.

起動後は http://127.0.0.1:8000 を開いてください。

開発用ショートカット

インストール後は次のコマンドでも起動できます。

uploadpicker

ディレクトリ構成

  • app/main.py
    • FastAPI のエントリーポイント
  • app/runner.py
    • ローカル起動用ランナー
  • app/config.py
    • 設定管理
  • app/db.py
    • データベース初期化
  • app/models.py
    • SQLModel テーブル定義
  • app/services/
    • 検索やインデックス処理
  • app/templates/
    • サーバー描画 UI
  • data/
    • 画像、サムネイル、埋め込み、インデックス保存先

About

Local GPU-ready hybrid image search tool with Windows installer

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages