Jak Na Szlaku rozpoznaje gatunki ze zdjęć?

Spacerując po lesie albo siedząc na łące, łapiesz w obiektyw ciekawego ptaka, owada albo nieznany kwiat — i zastanawiasz się: „Co to właściwie jest?”. Aplikacja Na Szlaku potrafi odpowiedzieć na to pytanie sama. Wystarczy, że wrzucisz zdjęcie do swojej galerii — resztę aplikacja zrobi w tle, a po chwili obok zdjęcia pojawi się nazwa gatunku, jego status ochronny oraz krótka informacja o tym, czy w danym regionie jest pod ochroną.

Gatunek możesz poznać na dwa sposoby: pozwolić aplikacji rozpoznać go automatycznie po dodaniu zdjęcia do galerii, albo zapytać wprost asystenta ChatAI. W tym artykule pokazujemy, jak działają oba — „od kuchni”, bez schodzenia w techniczne szczegóły, ale z konkretami: jakich modeli używamy, jakie usługi pracują pod spodem i jakie warunki musi spełnić zdjęcie, żeby trafiło do rozpoznawania.

Krok 1. Telefon ogląda zdjęcie, zanim cokolwiek wyśle

Pierwsza analiza dzieje się lokalnie, w Twoim telefonie — nic jeszcze nie opuszcza urządzenia. Aplikacja używa do tego biblioteki Google ML Kit, która działa offline i służy do dwóch rzeczy:

  • Wykrywanie twarzy — sprawdzamy, czy na zdjęciu nie ma osób.
  • Wstępne etykietowanie — model próbuje rozpoznać, co w ogóle jest na zdjęciu: roślina, ptak, owad, motyl, krajobraz, jedzenie, itp.

Dopiero na podstawie tych etykiet decydujemy, czy w ogóle warto angażować bardziej zaawansowane (i kosztowniejsze) modele w chmurze. Jeśli ML Kit nie znajdzie nic, co przypomina roślinę albo zwierzę, zdjęcie zostaje pominięte.

Krok 2. Warunki, które musi spełnić zdjęcie

Zanim zdjęcie trafi do rozpoznawania gatunku, musi przejść przez kilka „bramek”. To celowe — chronimy prywatność użytkowników i nie marnujemy zasobów na zdjęcia, które się do tego nie nadają.

Zdjęcie trafia do dalszej analizy tylko wtedy, gdy spełnia wszystkie te warunki łącznie:

  1. Jest oznaczone jako publiczne. Zdjęcia prywatne i widoczne tylko dla znajomych nie są wysyłane do żadnego zewnętrznego modelu rozpoznającego gatunki. Twoje prywatne kadry zostają prywatne.
  2. Nie ma na nim ludzkich twarzy. Jeśli detektor twarzy znalazł choćby jedną osobę, zdjęcie jest pomijane. Robimy to po to, żeby do usług chmurowych nie trafiały kadry z ludźmi.
  3. Coś na nim wygląda jak roślina lub zwierzę. Etykiety z ML Kit muszą wskazywać na rośliny (kwiat, gałąź, płatek, ogród…) albo zwierzęta (ptak, owad, motyl, kaczka itp.).
  4. Nie było jeszcze przetwarzane. Każde zdjęcie analizujemy raz — żeby nie powtarzać tej samej pracy.

Dodatkowo aplikacja pilnuje dziennych limitów zapytań do zewnętrznych usług — jeśli w danym dniu wykonano już ich bardzo dużo, zdjęcie trafia do kolejki i zostaje rozpoznane później, najczęściej w ciągu godziny.

Krok 3. Roślina czy zwierzę? Tu rozdzielają się ścieżki

Gdy zdjęcie przejdzie wszystkie bramki, serwer w chmurze (Firebase Cloud Functions) decyduje, co właściwie na nim jest: roślina czy zwierzę. To rozróżnienie ma znaczenie, bo do każdej z tych grup używamy innego, wyspecjalizowanego modelu.

Rośliny → Pl@ntNet

Dla roślin korzystamy z usługi Pl@ntNet — to projekt naukowy prowadzony przez francuskie instytuty badawcze (m.in. CIRAD i INRA), znany w świecie botaniki i biologii obywatelskiej. Pl@ntNet to nie zwykły „klasyfikator obrazów”, ale model trenowany specjalnie do rozpoznawania roślin, oparty na ogromnej, ciągle rosnącej bazie zdjęć przekazywanych przez społeczność botaników i pasjonatów.

W odpowiedzi dostajemy:

  • nazwę naukową (np. Anemone nemorosa),
  • nazwę zwyczajową (np. zawilec gajowy),
  • rzeczywistą wartość pewności w procentach.

Jeśli Pl@ntNet zwróci wynik z pewnością poniżej około 30%, traktujemy go jako niskiej pewności i nie pokazujemy gatunku jako rozpoznanego — żeby nie wprowadzać Cię w błąd.

Zwierzęta → Gemini 2.5 Flash

Dla zwierząt (ptaki, ssaki, gady, płazy, owady, ryby) używamy Gemini 2.5 Flash — multimodalnego modelu Google, który potrafi „patrzeć” na obrazy i opisywać je w naturalnym języku. To szybki i ekonomiczny model z rodziny Gemini, dobrze sprawdzający się w zadaniach rozpoznawania na zdjęciach.

Gemini zwraca nazwę gatunku, kategorię (ptak, ssak, owad itd.) oraz poziom pewności w trzech stopniach: niski, średni, wysoki. W aplikacji widzisz to jako „Pewność: niska / średnia / wysoka”, w przeciwieństwie do dokładnych procentów z Pl@ntNet.

Jeśli z jakiegoś powodu Pl@ntNet nie zadziała dla rośliny (np. chwilowa awaria), używamy Gemini jako rozwiązania zapasowego.

Krok 4. Czy ten gatunek jest pod ochroną?

Sama nazwa gatunku to dopiero połowa historii. Drugie pytanie, które często pojawia się na szlaku, brzmi: „Czy mogę go dotykać / zerwać / przenieść?”. Dlatego po rozpoznaniu gatunku zadajemy modelowi Gemini 2.5 Flash drugie pytanie — tym razem o status ochronny w regionie, w którym wykonano zdjęcie (jeśli znamy lokalizację z danych EXIF).

W rezultacie obok gatunku możesz zobaczyć:

  • ikonę tarczy oznaczającą, czy gatunek jest chroniony,
  • krótki opis statusu (np. „gatunek pod ścisłą ochroną w Polsce”),
  • notatkę z dodatkowym kontekstem prawnym.

Ważne zastrzeżenie: te informacje mają charakter wyłącznie poglądowy. Modele AI mogą się mylić, a przepisy ochronne różnią się między krajami i regionami, a do tego się zmieniają. W praktyce przed jakąkolwiek decyzją (np. zerwaniem rośliny) zawsze warto sprawdzić aktualne lokalne regulacje.

Krok 5. Wynik trafia do galerii

Gdy wszystko się uda, wynik zapisuje się w bazie danych aplikacji i — dzięki aktualizacjom na żywo — pojawia się w Twojej galerii bez konieczności odświeżania. W trakcie analizy widzisz ikonę klepsydry; gdy proces się zakończy, w jej miejsce wskakuje nazwa gatunku.

Klikając w nazwę naukową, otwierasz wyszukiwarkę z dalszymi informacjami o gatunku — czasem to świetny moment, żeby dowiedzieć się o nim czegoś więcej niż tylko to, jak się nazywa.

Drugi sposób: zapytaj wprost asystenta ChatAI

Galeria działa „w tle” — sama, bez pytania. Ale czasem chcesz dostać odpowiedź od razu i móc dopytać o szczegóły. Do tego służy ChatAI — asystent rozmowy w aplikacji Na Szlaku.

Wystarczy, że w oknie czatu dołączysz zdjęcie (z galerii lub aparatu) i zapytasz np. „Co to za roślina?”, „Jaki to ptak?” albo „Czy ten gatunek jest chroniony?”. Asystent obejrzy zdjęcie i odpowie zwykłym językiem — a Ty możesz drążyć dalej kolejnymi pytaniami w tej samej rozmowie.

Pod spodem ChatAI korzysta z modelu Gemini 2.5 Flash. Gdy rozpozna, że na zdjęciu jest roślina lub zwierzę i pytasz o gatunek, uruchamia dokładnie ten sam mechanizm rozpoznawania co galeria:

  • rośliny sprawdza w Pl@ntNet,
  • zwierzęta rozpoznaje przez Gemini,
  • status ochronny ocenia tak samo — z uwzględnieniem lokalizacji, jeśli zdjęcie ją zawiera.

Różnice względem ścieżki galeryjnej są dwie:

  • To Ty inicjujesz pytanie. Zdjęcie wysyłasz świadomie do asystenta w trakcie rozmowy — nie musi więc być wcześniej oznaczone jako publiczne. Automatyczne „bramki” (zdjęcie publiczne, brak twarzy) dotyczą rozpoznawania w galerii, czyli sytuacji, gdy aplikacja działa sama, bez Twojego pytania.
  • Dostajesz odpowiedź w formie rozmowy. Zamiast samej nazwy obok miniaturki ChatAI opisze gatunek, wyjaśni status ochronny i pozwoli zadać pytania uzupełniające — np. o to, gdzie taki gatunek występuje albo czym się żywi.

Tak samo jak w galerii, informacja o ochronie gatunku jest wyłącznie poglądowa — ChatAI zawsze dołącza zastrzeżenie, że nie jest to porada prawna.

Podsumowanie: kto pracuje pod spodem

EtapCo się dziejeNarzędzie
Wykrywanie twarzyFiltr prywatności — odsiewa zdjęcia z ludźmiGoogle ML Kit (na telefonie)
Wstępne etykietowanieDecyzja: czy to w ogóle roślina/zwierzęGoogle ML Kit (na telefonie)
Rozpoznawanie roślinNazwa gatunku rośliny + pewnośćPl@ntNet API
Rozpoznawanie zwierzątNazwa gatunku zwierzęcia + pewnośćGemini 2.5 Flash (Google)
Status ochronnyCzy gatunek jest chroniony w regionieGemini 2.5 Flash (Google)

Filozofia, którą staramy się trzymać

  • Prywatność najpierw. Do zewnętrznych usług AI trafiają tylko zdjęcia publiczne i bez twarzy.
  • Nie udajemy więcej, niż wiemy. Jeśli model nie jest pewny, nie pokazujemy „pewnego” wyniku. Stopień pewności jest widoczny.
  • Informacja, nie porada prawna. Status ochronny pokazujemy jako pomoc edukacyjną — nie jako definitywną informację prawną.
  • Oszczędność i odpowiedzialność. Mamy dzienne limity zapytań do zewnętrznych modeli — dzięki temu funkcja może być dostępna dla wszystkich użytkowników, nie tylko dla tych, którzy pierwsi zdążą na nią kliknąć.

Jeśli więc następnym razem podczas wędrówki spotkasz nieznanego ptaka albo kwiat — zrób zdjęcie. Dodaj je do galerii jako publiczne i daj aplikacji chwilę, albo po prostu wyślij je do asystenta ChatAI i zapytaj wprost. Tak czy inaczej, Na Szlaku zajmie się resztą.