Deguglizacja obrazkowni

https://xpil.eu/pcr

Przechowywanie swoich prywatnych zdjęć w chmurze Google jest jeszcze darmowe, ale już od lipca trzeba będzie płacić. Niby niedużo, co to jest raptem sześć Jerzych miesięcznie - ale po pierwsze to jest sześć Jerzych na łeb, czyli w naszym przypadku wyjdzie już 24 euro, a po drugie tak naprawdę to ja tej chmury nie potrzebuję do samego składowania zdjęć (mam do tego domowego NAS-a, a oprócz tego kopia siedzi na Dropboxie, na lokalnym kompie oraz w razie jakiegoś kompletnego fakapu na zewnętrznym dysku USB, który odświeżam pi x drzwi raz na miesiąc). Jedyne, z czego tak naprawdę korzystam w Google Photos to automatyczne tagowanie scenerii, przedmiotów i osób - a i to nie za często.

Szukałem ostatnio zastępnika, który miałby wbudowaną jakąś sztuczną inteligencję do rozpoznawania zdjęć, a jednocześnie byłby darmowy lub przynajmniej tańszy od Gugielnicy. No i chyba znalazłem.

Projekt nazywa się Photoprism i jest całkowicie darmowy - aczkolwiek oczywiście można się dorzucić do garnuszka (tu albo tu), bo wiadomo, programista nie roślinka, samym światłem i wodą nie żyje. Po kilku tygodniach testów zdecydowałem, że Photoprism jest wart grzechu.

Instalacja jest dość prosta. Jeżeli mamy już zainstalowanego Dockera, wystarczy ściągnąć ze strony producenta plik docker-compose.yaml i zmienić w nim dwie rzeczy: (A) ścieżkę dostępu do naszego folderu z fotkami oraz (B) hasło (tutaj wszystko jest ładnie opisane). Potem w terminalu odpalamy docker-compose up -d i gotowe.

Od razu wyjaśnię: to nie jest klon Google Photos. Ale funkcji ma mnóstwo, w tym te dwie dla mnie najważniejsze, czyli rozpoznawanie ludzi oraz automatyczne kontekstowe tagowanie obrazków.

Photoprism jest szybki... z wyjątkiem początkowego skanowania naszej kolekcji zdjęć. W moim przypadku (~110K zdjęć zajmujących ~460 GB na dysku) zajęło to niecałe trzy dni. Kluczowe są tutaj: w miarę nowy procesor, w miarę dużo pamięci operacyjnej oraz szybki dysk. W moim przypadku procesor to i7 (czwarta generacja), 32GB pamięci RAM i dysk SSD na SATA3 (czyli maksymalnie teoretycznie do okolic 600 MB/s, w praktyce u mnie okolice 450MB/s).

Podstawowy błąd, który popełniłem na samym początku, to wprowadzanie danych o ludziach (czyli najwygodniej imię i nazwisko) zanim aplikacja skończy skanowanie całej kolekcji. Dopóki bowiem trwa skanowanie, obsługa automatycznego rozpoznawania twarzy nieco kuleje. Jakościowo wszystko gra, ale jeśli chodzi o prędkość działania to jest makabra - dodanie pojedynczej osoby potrafi zająć do kilkunastu sekund, w dodatku trzeba tagować każdą fotkę osobno. Natomiast jak już się wszystko ładnie poindeksuje, wówczas Photoprism automatycznie grupuje wszystkie rozpoznane wcześniej twarze ze wszystkich zdjęć i można dodawać nazwy do osób w trybie grupowym. I tu ważna sprawa: Photoprism stawia na jakość rozpoznawania, a więc może się zdarzyć, że ta sama osoba na początku zostanie rozpoznana jako dwie inne (musimy ręcznie je połączyć w jedną), natomiast jeszcze ani razu nie zdarzyło mi się, żeby jakaś osoba, która już istnieje w bazie, została przypisana do niewłaściwego zdjęcia.

Menu główne aplikacji, dostępne w postaci pionowego paska po prawej stronie ekranu, wygląda o, tak:

"Search" umożliwia przeszukiwanie zdjęć pod kątem osób lub innych tagów (na przykład samochody, krajobrazy, jedzenie itd). "Albums" umożliwia tworzenie własnych albumów ("Chrzciny Mietka", "Popijawa u Łysego" czy "Spacer nad Sekwaną"). "Videos" - wiadomo. Obsługa wideo jest względnie sympatyczna, chociaż aplikacja nie potrafi wyciągać miniatur z niektórych formatów plików - ale mi to akurat nie robi, bo z tej funkcji w ogóle nie korzystam. "People" to zakładka, w której zarządzamy twarzami (istniejącymi lub nowymi). "Favorites" - wiadomo, można sobie tutaj dodawać pojedyncze Super Ważne Fotki. "Moments" to zbieranina zdjęć, które Photoprism zdecydował się tam wrzucić - klamoty typu "Ładne krajobrazy" czy "Festiwale i rozrywka" i tak dalej. Jeszcze nie wiem, czy będę tego używał. "Calendar" to fotki poukładane w miesięcznych folderach.

Interesująca jest zakładka "Places" - tu mamy widok mapy z naniesionymi na nią znacznikami:

Oczywiście można zrobić zoom i wtedy znaczniki rozpadają się na mniejsze kawałki:

Kliknięcie pojedynczego znacznika otwiera listę zdjęć, które pod nim siedzą. Całkiem fajne moim zdaniem.

"Labels" otwiera nam widok siatki (6 lub 12 kolumn w zależności od wybranego powiększenia), z której możemy sobie wybrać pojedyncze tagi typu samolot, książka, krowa czy inny owad. Nie wiem ile tych tagów aplikacja ma wbudowanych (u mnie naliczyła na razie coś ze 160 sztuk), ale jest ich mnóstwo. Fajne jest też to, że dla każdego taga można zobaczyć "stopień pewności" (od 0 do 100). W automatycznym tagowaniu zdarzają się pomyłki (na przykład zdjęcie nadmorskiej trawy program zaklasyfikował mi raz jako "skóra zwierzęcia"), ale niezbyt często. Ponadto możemy dodawać własne tagi a także ręcznie korygować te automatycznie wykryte.

"Folders" to lista wszystkich znalezionych w bibliotece folderów ze zdjęciami - ale "spłaszczona" i zaprezentowana w postaci siatki 6 (lub 12) kolumn.

"Private" to zdjęcia, które ręcznie oznaczymy jako prywatne, lub takie, które aplikacja uznała za niewłaściwe do publicznej prezentacji (na przykład jak się ktoś zagalopuje i wrzuci w kolekcję fotki swojego sprzętu albo grupowych gimnastycznych wygibasów bez ubrań i tak dalej).

Wyślij mi zdjęcie bez ubrań, wieszak bez ubrań, tylko potem skasuj -  Paczaizm.pl

"Library" - tu możemy zatrzymać / wznowić skanowanie biblioteki, a także zresetować, jeżeli zajdzie taka potrzeba.

"Settings" - zatrzęsienie opcji, o których nie chce mi się teraz za bardzo rozpisywać. Najciekawsza moim zdaniem to możliwość dodawania zewnętrznych bibliotek zdjęć zgodnych ze standardem WebDAV (na przykład NextCloud, Synology NAS, inna instancja PhotoPrism albo jakikolwiek inny serwis obsługujący ten standard).

Wreszcie na samym dole mamy nazwę aktualnie zalogowanego użyszkodnika oraz przycisk do wylogowania się.

Praca z PhotoPrism jest bardzo przyjemna - wszystko działa super szybko, interfejs jest może nieco ascetyczny, ale funkcjonalny i solidnie przemyślany.

Jedyna "wada" to oczywiście konieczność utrzymywania na chodzie komputera, na którym siedzi serwer PhotoPrism. Póki co wystarcza mi do tego mój wysłużony od lat Fujitsu-Siemens pod biurkiem, ale myślę któregoś dnia przenieść PhotoPrism na osobną maszynkę - cichą, szybką i malutką.

Póki co zostawiam jak jest.

https://xpil.eu/pcr

6 komentarzy

  1. Istotną zaletą Photos jest możliwość udostępnienia albumu zdjęć (np z imprezy) i inni mogą się dołozyć do kolekcji swoimi zdjęciami. I w końcu ty też możesz być w takim albumie (bo ktoś ci zrobił zdjęcie 😉 )

    1. Wystarczy, pod warunkiem że masz względnie niedużo zdjęć (obstawiam, że nie więcej niż 10000 pi x drzwi) oraz podepniesz do Pi w miarę szybki dysk (działanie na karcie pamięci MMC to mordęga – bardzo wolny system plików).

  2. Bardzo ciekawy patent! Ale: Czy Ty naprawdę tak często zaglądasz do swojego zbioru zdjęć, że musisz je mieć na „gorącym” serwerze? Ja swoje fotki archiwizuję raz do roku na dwóch zewnętrznych, talerzowych twardych dyskach (do SSD mam jakoś mniejsze zaufanie). Leżą sobie spokojnie, zaglądam do tych katalogów średnio dwa razy na dekadę. Kiedyś jacyś potomkowie będą mieli cyfrowe albumy do przeglądania po dziadku czy tam pradziadku.

    1. Niby nie, ale dobrze jest mieć opcję. Od czasu do czasu zdarza mi się szukać zdjęcia z konkretnym człowiekiem. Bez tego też przeżyję, ale ciężko się rezygnuje z “darmowych” opcji.

Skomentuj Patryk Anuluj pisanie odpowiedzi

Komentarze mile widziane.

Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]

Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.