Fotkovátor je modulární systém na automatické štítkování fotek napsaný v Pythonu. Tento dokument obsahuje informace o instalaci a konfiguraci pro uživatele. Hledáte-li objasnění technických detailů implementace, najdete je v technické dokumentaci. Ještě detailnější popis pak najdete v teoretické práci.
Nejprve potřeba mít nainstalovaný Python 3.10 a manažer balíčků pip. Doporučil bych využití systému Anaconda, kvůli instalaci balíčků vyžadovaných některými moduly a kvůli taktéž doporučené možnosti vytvořit virtuální prostředí:
conda create -n fotkovator python=3.10
conda activate fotkovatorPro instalaci projektu samotného nejprve oklonujte repozitář:
git clone https://github.com/nesati/fotkovator
cd fotkovatorOd teď všechny příkazy předpokládají, že se nacházíte v kořenovém adresáři repozitáře. Dále nainstalujte závislosti příkazem:
pip install -r requirements.txtJednotlivé moduly pak mají svoje požadavky na instalaci, ale většinou stačí nainstalovat závislosti příkazem: pip install -r modules/<cesta k modulu>/requirements.txt. Bližší informace najdete v sekcích jednotlivých modulů.
Celý systém se konfiguruje v souboru fotkovator.yaml ve formátu YAML. Je nutné zvolit právě jednu databázi (database) a právě jeden zdroj obrázků (backend). Všechny ostatní moduly jsou volitelné. Je však doporučené nainstalovat a nakonfigurovat alespoň jeden modul kategorie uživatelské rozhraní (\verb|frontend|).
V repozitáři se nachází výchozí konfigurace, ve které najdete nakonfigurovaný zdroj fotek prohledávající složku \verb|photos|, kterou musíte vytvořit a vložit do ní fotky, které chcete oštítkovat, PostgreSQL klient připojující se na postgres://fotkovator:mysecretpassword@localhost:5432/fotkovator, Webovým uživatelským rozhraním na localhost:8080 a všemi štítkovacími moduly v repozitáři.
Projekt jsem testoval na operačních systémech Linux a Windows.
Nyní se podívejme na příklad konfigurace.
backend: # konfigurace zdroje obrázků
module: localfs # volba modulu (Lokální soubory)
path: './photos' # konfigurace modulu
database: # konfigurace databáze
module: PostgreSQL # volba modulu
password: mysecretpassword # konfigurace modulu
modules: # volitelné moduly
- module: tag.metadata
- module: frontend.basic_webserver # volba modulu (webové uživatelské rozhraní)
# konfigurace modulu
port: 8080
- module: tag.face_recognitionPro detailní návod na konfiguraci jednotlivých modulů zajděte do sekce Konfigurace modulů.
Program zapnete příkazem:
python fotkovator.pyPo spuštění načte konfiguraci a okamžitě začne zpracovávat fotky z nakonfigurovaného zdroje. Způsob otevření uživatelského rozhraní záleží na nakonfigurovaném rozhraní.
Návod na instalaci a konfiguraci jednotlivých modulů najdete ve složkách jednotlivých modulů. Tady je seznam všech modulů.
- Zdroje obrázků
- Databáze
- Vyhledávání
- Moduly
- Grafické rozhraní
- Štítkovací
- Další
Způsoby, kterými lze vylepšit tento projekt, ale nejsou jeho součástí.
Možnosti rozšíření kompatibilní se současným modulárním systémem.
- Mobilní aplikce (backend + frontend)
- Modul co umožňuje spouštení ostatních modulů na jiném počítači (cloud GPU)
- Detekce duplicit
- OCR
- Moduly nahrazující fotky
- Kolorizace černobílých fotek
- Koprese
- otočení fotek
- upscaling
- Automatické kombinování podobných fotek
- live photos
- HDR/denoising
- automatické panorama
- aby se všichni dívali do kamery najednou
- CLIP vyhledávání viz clip-retrieval