PicBest – KI‑gestützte Foto‑Organisation mit PicPick
Key Takeaway: PicBest, in diesem Repository als PicPick bezeichnet, ist ein webbasiertes Tool, das KI‑gestützte Bild‑Clustering und verschiedene praktische Features nutzt, um große Foto‑Sammlungen automatisch zu organisieren und die besten Bilder schnell zu markieren und zu exportieren.
Zusammenfassung:
- Ziel: Vereinfachung des Auswählens der besten 200–300 Fotos aus Tausenden, typischerweise nach Veranstaltungen wie Hochzeiten, Urlaub oder Partys.
- Technologie:
- Backend: Python, FastAPI, SQLite
- AI/ML: OpenAI CLIP (Bilderkennung), scikit‑learn (DBSCAN‑Clustering)
- Frontend: Vanilla JS, CSS‑Grid, keine Build‑Schritte
- Key Features:
- Dateibrowser: Fotos direkt im Web‑UI durchsuchen.
- Live‑Indexierung: Fotos werden sofort indexiert, Einblendungen passieren, ohne Wartezeit.
- Smart Clustering: Visuell ähnliche Fotos gruppiert über CLIP‑Embeddings – nur ein Bild aus jedem Burst wird angezeigt.
- Zeitleiste: Fotos nach Datum/Veranstaltung getrennt, mit visuellen Trennlinien.
- Schnelles Sternchen: Tastatur‑Shortcut „S“ (oder Leertaste) zum Sterne‑Markieren; Pfeiltasten für Navigation.
- Share‑able Filters: Links mit URL‑Bedingungen teilen (z. B. ?folder=day1&min_rating=3).
- Multi‑Database: Wechsel zwischen verschiedenen Foto‑Sammlungen über Dropdown.
- Export: Gestern markierte Fotos einfach in einen Ordner kopieren, verschieben oder nach Datum ordnen.
- Installation:
- macOS Apple Silicon (M1/M2/M3): Repository klonen,
./install_m1.shausführen (Python 3.11, Xcode, Homebrew‑Abhängigkeiten, virtuelle Umgebung, Paketinstallationen). - Linux / Intel Mac / Windows: Virtuelle Umgebung manuell erstellen, Abhängigkeiten installieren (
apt-get install cmake build-essential),pip install -r requirements.txt.
- macOS Apple Silicon (M1/M2/M3): Repository klonen,
- Benutzung:
python server.pystarten → Web‑UI unterhttp://localhost:8000.- Ordner „Browse & Index Photos“ auswählen → Indexierung startet (Szenario‑Szenen von Scannen → Embedding → Clustering).
- Fotos werden mit Fortschrittsbanner live angezeigt.
- Mit der Tastatur oder Maus Sterne setzen (S, Space, Klick auf Stern‑Button).
- Export über
python export_starred.py --output /Pfad/zum/Album(Optionen: Kopieren, Verschieben, Organisieren nach Datum).
- Fehlerbehebung: Bei Speicherproblemen Batch‑Size in
index_photos.pyreduzieren (BATCH_SIZE = 32→ 16 oder 8). - Use Cases (Beispielzahlen):
- Hochzeit: 5 000 Fotos → ~300 für das Album.
- Urlaub: 2 000 Fotos → ~200 Highlights.
- Geburtstag: 500 Fotos → ~50 beste Momente.
- Konferenz: 1 000 Fotos → ~100 Schlüssel‑Shots.
- Konfiguration: Clustering‑Parameter in
index_photos.py:DBSCAN_EPS,DBSCAN_MIN_SAMPLES. Re‑Clustering möglich viapython index_photos.py --recluster. - Projektstruktur:
index_photos.py(Indexierung/Clustering)server.py(FastAPI Web‑Server)export_starred.py(Exportfunktion)requirements.txt,.gitignore,README.md,photos.db,thumbnails/,static/(UI‑Dateien).
- Contributing: Offene Ideen: Drag‑and‑Drop neu ordnen, Album‑Layout‑Vorschau, Cloud‑Integration, mobile‑responsive UI, Video‑Unterstützung.
- License: MIT.
PicBest Lite: Einmal‑HTML‑Datei, keine Installation, keine AI‑Clustering. Nur Chromium‑basierte Browser unterstützen die File‑System‑Access‑API (Chrome/E*dge ✔, Firefox/Safari ❌).
Quelle: GitHub – PicPick
