home

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.sh ausfü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.
  • Benutzung:
    • python server.py starten → Web‑UI unter http://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.py reduzieren (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 via python 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