UploadPicker は、アップロードした画像の中から自然文や見本画像で条件検索できるローカル向けハイブリッド画像検索ツールです。
- ローカルで画像を保存して検索
- 自然文での絞り込み
- 切り取った見本画像からの類似画像検索
- GPU 利用を前提にした高精度化しやすい構成
- Windows で
.batだけで扱えるシンプルなセットアップ導線
- GitHub から使う場合は、release に添付した ZIP をダウンロードして展開してください。
- 展開後のフォルダ内で
UploadPicker.batを実行してください。 UploadPicker.batをダブルクリックするとメニューが開きます。1でInstall / Repair2でStart App3でUninstall- 起動直後は、画像認識 AI のロードが終わるまで全画面のローディング表示が出ます。
- ロード中は誤操作を防ぐため、画面操作はできません。
- NVIDIA GPU が検出できる環境では、
Install / Repair時に CUDA 対応 PyTorch の導入を優先して GPU 利用を試みます。
個別に使う場合は次の bat を直接実行できます。
Install UploadPicker.bat- Python の確認、
.venv作成、依存インストール、デスクトップ / スタートメニュー用 bat 作成
- Python の確認、
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 利用を前提にした検索基盤
- 画像、サムネイル、埋め込み、インデックスのローカル保存
- 画像をローカルに保存
- サムネイルを生成
- CLIP 系モデルで画像埋め込みを生成
- 人物検出や顔検出を追加
- 属性フィルタと再ランキングで精度を上げる
python -m venv .venv
.venv\Scripts\activate
pip install -e .
uvicorn app.main:app --reloadOpen http://127.0.0.1:8000.
起動後は http://127.0.0.1:8000 を開いてください。
インストール後は次のコマンドでも起動できます。
uploadpickerapp/main.py- FastAPI のエントリーポイント
app/runner.py- ローカル起動用ランナー
app/config.py- 設定管理
app/db.py- データベース初期化
app/models.py- SQLModel テーブル定義
app/services/- 検索やインデックス処理
app/templates/- サーバー描画 UI
data/- 画像、サムネイル、埋め込み、インデックス保存先