Nasza oficjalna aplikacja na iOS jest już w App StorePobierz za darmo

API geolokalizacji zdjęć: co pokaże, a czego nie

· 10 min czytania

Krótka odpowiedź

API geolokalizacji zdjęć przyjmuje obraz i zwraca szacunek, gdzie zrobiono zdjęcie: kraj, region lub miasto, przybliżone współrzędne i wynik pewności. Szacunek jest wnioskowany z widocznych wskazówek, takich jak architektura, szyldy i roślinność. To nie jest odczyt GPS, a z samych pikseli nie da się ustalić adresu ulicy.

Nazwa wprowadza w błąd, zanim napiszesz jakikolwiek kod. Geolocation API w przeglądarce podaje, gdzie urządzenie znajduje się w tej chwili, i to dopiero po zgodzie użytkownika. API geolokalizacji zdjęć odpowiada na inne pytanie o inne dane wejściowe: gdzie zrobiono to zdjęcie? Zdjęcie może mieć dziesięć lat i pochodzić z dowolnego miejsca na Ziemi.

Trzy pokrewne technologie też bywają nazywane „lokalizowaniem zdjęcia”: odczyt metadanych GPS, wyszukiwanie obrazem i rozpoznawanie zabytków. Zwracają one różne rzeczy i zawodzą na różne sposoby, więc warto wiedzieć, jakie pytanie naprawdę zadaje twój produkt, zanim wybierzesz jedną z nich.

Co właściwie robi API geolokalizacji zdjęć?

Wnioskuje lokalizację z pikseli. Model odczytuje dowody, takie jak oznakowanie drogi, architekturę, rośliny, pismo na szyldach i jakość światła, a potem zgłasza miejsce, w którym zgadza się większość tych dowodów, wraz z wynikiem mówiącym, jak mocno się zgadza.

Wiele systemów badawczych traktuje to jako problem klasyfikacji. PlaNet, model z 2016 roku od badaczy Google, podzielił powierzchnię Ziemi na tysiące komórek i wytrenował sieć na milionach oznaczonych geograficznie zdjęć, by przewidzieć, do której komórki należy obraz. Wynikiem jest rozkład prawdopodobieństwa rozciągnięty po całym globie. Zdjęcie tramwaju w Lizbonie skupia to prawdopodobieństwo w jednym miejscu; zdjęcie sosnowego lasu rozmywa je na kilka kontynentów. Wynik pewności to w praktyce podsumowanie tego rozkładu.

Najważniejszy szczegół dla projektu produktu: nic nie musi istnieć w sieci. API działa na zdjęciu, które nigdy nie zostało opublikowane, i może zwrócić odpowiedź nawet przy słabych dowodach, dlatego wynik pewności waży tyle samo co miejsce. Jak model czyta scenę omawiamy osobno; ten poradnik dotyczy tego, co robisz z wynikiem.

Precyzja jest też nierówna z założenia. PlaNet dawał gęsto fotografowanym obszarom mniejsze komórki niż rzadko fotografowanym, więc w niektórych dzielnicach miast mógł osiągać dokładność na poziomie ulicy, podczas gdy regiony wiejskie mieściły się w znacznie większych komórkach. Spodziewaj się, że większość modeli będzie dokładniejsza tam, gdzie zdjęć treningowych było więcej.

Czym różni się od GPS z EXIF, wyszukiwania obrazem i rozpoznawania zabytków?

GPS z EXIF to pomiar zapisany w pliku. Wyszukiwanie obrazem znajduje kopie obrazu w sieci. Rozpoznawanie zabytków wskazuje znane budowle. API geolokalizacji zdjęć wnioskuje region z samej sceny i to jedyna opcja dla zwykłego zdjęcia ulicy bez metadanych i bez kopii w sieci.

MetodaCo odczytujeCo zwracaZawodzi, gdy
EXIF GPSWspółrzędne, które urządzenie zapisało w plikuZmierzony punkt, zwykle w promieniu 5 m przy otwartym niebieMetadane zostały usunięte, co robi większość platform przy wysyłaniu
Wyszukiwanie obrazemKopie obrazu już obecne w sieciPasujące obrazy i strony, na których się pojawiająScena nigdy nie była publikowana
Rozpoznawanie zabytkówZnane struktury naturalne i stworzone przez człowiekaNazwę zabytku, wynik pewności i współrzędne zabytkuW kadrze nie ma żadnej znanej budowli
Geolokalizacja zdjęćDowody wizualne z całej scenySzacunek miasta, regionu lub kraju z wynikiem pewnościKadr nie zawiera żadnych dowodów geograficznych
Cztery sposoby uzyskania lokalizacji ze zdjęcia

EXIF GPS to pomiar, a nie szacunek

Gdy telefon zapisuje lokalizację, współrzędne trafiają do osobnego bloku GPS w danych EXIF, pod znacznikami takimi jak GPSLatitude i GPSLongitude. GPS.gov podaje, że typowa dokładność smartfona pod otwartym niebem wynosi 4,9 m. Żadna metoda wizualna do tego nie dorównuje, więc porządny proces najpierw odczytuje metadane i dopiero wtedy, gdy ich brakuje, wnioskuje. Przy obrazach, które przeszły przez platformę społecznościową, zwykle ich brakuje, bo ponowne kodowanie przy wysyłaniu je usuwa.

Wyszukiwanie obrazem to wyszukiwanie w bazie

Web detection w Google Cloud Vision pokazuje kształt tej kategorii. Zwraca pola takie jak fullMatchingImages, partialMatchingImages i pagesWithMatchingImages. Gdy pasujący obraz istnieje, strona, na której się znajduje, często wprost podaje miejsce, co przebija każdy szacunek. Gdy zdjęcie jest prywatne albo oryginalne, nie ma czego dopasować. Porównanie wyszukiwarek opisuje konsumenckie wersje tej samej idei.

Rozpoznawanie zabytków rozpoznaje znane miejsca

Landmark detection w Cloud Vision „wykrywa popularne struktury naturalne i stworzone przez człowieka na obrazie”. Każdy wynik zawiera description z nazwą zabytku, score, boundingPoly wskazujący jego położenie w kadrze oraz listę locations ze współrzędnymi. Przykład Google zwraca Sobór Wasyla Błogosławionego z wynikiem 0,78.

Dwa szczegóły zaskakują zespoły. Zwykła ulica nie zwraca żadnego zabytku, więc zasięg jest wąski. A współrzędne mogą opisywać zabytek, a nie aparat: dokumentacja Google wskazuje, że jedna lokalizacja może opisywać scenę na obrazie, a inna miejsce, w którym zrobiono zdjęcie. Ktoś fotografujący Wieżę Eiffla z drugiego brzegu Sekwany może stać kilkaset metrów od jej własnych współrzędnych.

Geolokalizacja zdjęć szacuje region dla dowolnej sceny plenerowej

Wnioskowanie wizualne to jedyna z czterech metod, która ma coś do powiedzenia o zwyczajnej ulicy, która nigdy nie była w sieci. Koszt to precyzja. Odpowiedzią jest miasto lub region z wynikiem pewności, nigdy zmierzony punkt, a kadr bez dowodów geograficznych dostaje słabą odpowiedź albo żadnej.

Co zwraca API geolokalizacji zdjęć?

Zwykle szacunek miejsca na co najmniej jednym poziomie, takim jak kraj, region i miasto, plus przybliżone współrzędne reprezentujące ten szacunek i wynik pewności. Dobrze zaprojektowana odpowiedź podaje też osobno dane GPS, gdy plik je nadal zawiera, tak aby pomiar nigdy nie został pomylony ze zgadywaniem.

PoleCo oznaczaJak użyć
Kraj, region, miastoMiejsce, na które wskazują dowody, na kilku poziomachPokaż najbardziej szczegółowy poziom, na jaki pozwala pewność
Przybliżone współrzędnePunkt reprezentujący szacowany obszar, a nie pozycję aparatuPokaż etykietę miasta lub obszar, nigdy pinezkę na poziomie ulicy
Wynik pewnościJak mocno dowody wizualne się zgadzająUstaw progi na podstawie własnych oznaczonych zdjęć testowych
GPS z EXIF, gdy jest obecnyWspółrzędne zmierzone przez urządzenie i zapisane w plikuTrzymaj je w osobnym polu; ma pierwszeństwo przed każdym szacunkiem
Typowe pola odpowiedzi i sposób ich obsługi

Błędem projektowym, którego trzeba unikać, jest scalenie szacowanych współrzędnych i GPS z EXIF w jedno pole lokalizacji. Dalsza część kodu i ludzie czytający jego wynik traktują wtedy zgadywanie na poziomie miasta z taką pewnością, jak odczyt z satelity. Trzymaj lokalizacje zmierzone i wnioskowane osobno aż do interfejsu i oznaczaj je inaczej, gdy je pokazujesz.

Szacowane współrzędne wymagają tej samej ostrożności. Punkt zwrócony dla Porto zastępuje obszar wielu kilometrów kwadratowych. Jeśli narysujesz go jako pinezkę w skali ulicy, użytkownicy odczytają precyzję, której tam nie było.

Co zwróci API GeoSpy AI?

API GeoSpy AI nie jest jeszcze otwarte. Ma zwracać te same pola, co dzisiejsza analiza na stronie: miasto, region i kraj z szacunkiem, wynik pewności, przybliżone współrzędne szacunku oraz współrzędne GPS z EXIF, jeśli przesłany plik je zawiera.

Ta lista odpowiada wprost tabeli powyżej. Nie ma w niej adresu ulicy, bo nie da się go uzasadnić dowodami wizualnymi, a odczyt metadanych jest podany obok szacunku wizualnego, a nie zamiast niego.

Endpointy, ceny, limity zapytań i data startu nie zostały ogłoszone, więc nic na tej stronie nie należy odczytywać jako obietnicy w tych sprawach. Jeśli planujesz integrację, poproś o wczesny dostęp przez stronę kontaktową i opisz swój przypadek użycia.

Do czasu jego uruchomienia najbliższym podglądem wyniku na prawdziwych zdjęciach jest strona internetowa. Analiza w sieci wchodzi w skład GeoSpy Premium, subskrypcji za 7,99 USD tygodniowo lub 29,99 USD rocznie, która odnawia się, dopóki jej nie anulujesz, a przesłane zdjęcia nie są przechowywane.

Do czego służy API geolokalizacji zdjęć?

Głównie do kontroli spójności i wstępnej selekcji: oznaczania zdjęcia, którego prawdopodobne miejsce nie zgadza się z twierdzeniem, by człowiek je przejrzał. Ogłoszenia, redakcje, aplikacje podróżnicze, ubezpieczyciele i badacze mają wersje tego pytania. Chodzi o miejsca, nigdy o osoby.

  • Kontrola ogłoszeń. Wynajem wakacyjny reklamowany w Barcelonie, którego zdjęcia wyraźnie wskazują inny kraj, zasługuje na drugie spojrzenie. Przekaż niezgodność recenzentowi, zamiast automatycznie odrzucać ogłoszenie, i pamiętaj, że zdjęcia wnętrz, które stanowią sporą część każdego ogłoszenia, dają modelowi niewiele do odczytania.
  • Weryfikacja w redakcji. Wirusowe zdjęcie, o którym mówi się, że pokazuje jedno miasto, można sprawdzić na podstawie dowodów w kadrze, zanim ktokolwiek je opublikuje. Geolokalizacja odpowiada tylko na pytanie „gdzie”, więc połącz ją z wyszukiwaniem wcześniejszych kopii, tak jak opisano w poradniku o weryfikacji zdjęcia.
  • Aplikacje podróżnicze i do zdjęć. Zeskanowane odbitki i wyeksportowane obrazy często nie mają GPS. Szacunek może zasugerować lokalizację albumu lub pogrupować zdjęcia w wyjazd, pod warunkiem że interfejs przedstawia go jako sugestię, którą użytkownik potwierdza.
  • Przegląd szkód ubezpieczeniowych. Gdy zgłoszenie umieszcza szkodę w jednym mieście, a zdjęcia wyraźnie wskazują inne miejsce, rzeczoznawca ma powód, by zadać pytania. Sam szacunek nie jest podstawą do odmowy czegokolwiek.
  • Badania. Mapowanie geograficznego rozkładu dużego archiwum obrazów albo audyt zbioru treningowego pod kątem regionalnych uprzedzeń wymaga zgrubnych etykiet na dużą skalę, a właśnie to ta metoda robi dobrze.

Wzór we wszystkich pięciu przypadkach jest ten sam: szacunek sygnalizuje, a człowiek decyduje. Produkt, który pozwala, by zgadywanie na poziomie miasta uruchamiało automatyczny skutek, dziedziczy każdy błąd modelu, na dużą skalę. Uporządkowana procedura OSINT pokazuje, gdzie szacunek mieści się wśród innych kontroli.

Czego nie może zrobić geolokalizacja wizualna?

Nie może wiarygodnie podać adresu ulicy ze zwykłej sceny, wiarygodnie umiejscowić wnętrz ani zbliżeń, datować zdjęcia, zidentyfikować kogokolwiek na nim ani potwierdzić, że obraz jest autentyczny. Może też z dużą pewnością się mylić, gdy krajobraz lub styl budynku występuje w wielu krajach.

Część tych ograniczeń wynika z dowodów, a nie z modelu. Artykuł o PlaNet otwiera stwierdzeniem, że łatwo skonstruować sytuacje, w których żadnej lokalizacji nie da się wywnioskować. Biała ściana, pokój hotelowy czy talerz z jedzeniem nie niosą geografii i żadne powiększenie modelu tego nie zmieni.

Wyniki badań są pomocnym sprawdzianem rzeczywistości. Na 2,3 miliona zdjęć z Flickr PlaNet umieścił 10,1% w promieniu 25 km, czyli dystansie, który jego benchmark liczy jako poziom miasta. PIGEON, zaprezentowany na CVPR 2024 i wytrenowany na obrazach Street View z GeoGuessr, umieścił ponad 40% swoich odpowiedzi w promieniu 25 km. Część tej różnicy to nowsze metody, a część to same zdjęcia. Kadry Street View są pełne oznakowania i znaków, podczas gdy ogólny zbiór zdjęć zawiera wiele kadrów bez niczego geograficznego.

Geolokalizacja też nie może zaświadczyć za autentyczność obrazu. Wygenerowany przez AI widok ulicy wciąż dostaje szacunek dla miejsca, które najbardziej przypomina. API odpowiada na pytanie „jakie miejsce to przypomina”, a nie „czy to prawdziwe”.

Jak przetestować API przed integracją?

Użyj własnych zdjęć z usuniętymi metadanymi i oceniaj wyniki w stałych odległościach, takich jak 25 km dla poziomu miasta i 750 km dla poziomu kraju. Dołącz celowo zdjęcia bez elementów do odczytania i sprawdź, czy odpowiedzi o wysokiej pewności rzeczywiście trafiają częściej niż te o niskiej.

  1. Step 1Zbuduj zestaw testowy z prawdziwego ruchuObrazy demonstracyjne są dobierane tak, by się udały. Zbierz kilkaset zdjęć podobnych do tych, które wyślą twoi użytkownicy, ze znanymi prawdziwymi lokalizacjami, i zachowaj zestaw bez zmian, by dostawców i wersje można było porównywać uczciwie. Anegdoty też mylą: wirusowy prompt do ChatGPT o długości 1100 słów zrobił wrażenie na wielu, którzy go wypróbowali, a na stałym zestawie 200 zdjęć nie wypadł lepiej niż krótki.
  2. Step 2Usuń GPS przed testem porównawczymJeśli API także odczytuje metadane, oznaczone geograficznie zdjęcie testowe mierzy czytnik metadanych, a nie model. Usuń EXIF z kopii testowych, bo inaczej zanotujesz idealny wynik, który w produkcji zniknie.
  3. Step 3Oceniaj w stałych odległościachBenchmarki badawcze uznają zgadnięcie za poprawne w promieniu 1 km (ulica), 25 km (miasto), 200 km (region), 750 km (kraj) lub 2500 km (kontynent). Deklaracji dokładności bez podanej odległości nie da się z niczym porównać.
  4. Step 4Mieszaj miasta i wieśPrecyzja zwykle podąża za gęstością zdjęć treningowych, więc model dokładny w stolicach może być niedokładny na terenach rolniczych. Testuj jedne i drugie, jeśli twoi użytkownicy wysyłają zdjęcia z obu rodzajów miejsc.
  5. Step 5Dołącz zdjęcia, z których nie ma czego odczytaćWnętrza, zbliżenia i czyste niebo powinny wracać z niską pewnością. Narzędzie, które z dużą pewnością nazywa miasto po zdjęciu pokoju hotelowego, zrobi to samo z twoimi użytkownikami.
  6. Step 6Sprawdź, czy wynik jest skalibrowanyPogrupuj wyniki według pewności i zmierz, jak często każda grupa miała rację. Jeśli odpowiedzi z wynikiem powyżej 0,8 nie są wyraźnie dokładniejsze niż odpowiedzi w pobliżu 0,4, wynik nie może sterować progami.
  7. Step 7Przeczytaj zasady dotyczące danychSprawdź, czy obrazy są przechowywane, jak długo i czy są używane do trenowania. Zdjęcia mogą być danymi osobowymi, zwłaszcza gdy występują na nich ludzie.

Najczęściej zadawane pytania

Czy API geolokalizacji zdjęć to to samo co Geolocation API w przeglądarce?
Nie. API przeglądarki podaje, gdzie jest urządzenie użytkownika, i to dopiero po jego zgodzie. API geolokalizacji zdjęć działa na obrazie, który mógł powstać w dowolnym miejscu, w dowolnym czasie, przez kogokolwiek.
Czy API geolokalizacji zdjęć może podać dokładny adres?
Nie na podstawie samych dowodów wizualnych. Dwie ulice oddalone o kilometr zwykle wyglądają podobnie, więc uczciwym wynikiem jest miasto lub region. Dokładne współrzędne pochodzą wyłącznie z metadanych GPS w pliku, jeśli się zachowały.
Czy geolokalizacja wizualna działa na zrzutach ekranu?
Zrzut ekranu nie niesie GPS z oryginalnego zdjęcia, jak wyjaśnia poradnik o zrzutach ekranu. Wnioskowanie wizualne nadal działa, jeśli zrzut pokazuje scenę na zewnątrz w użytecznym rozmiarze.
Kiedy API GeoSpy AI będzie dostępne?
Nie ogłoszono terminu. Deweloperzy i zespoły produktowe mogą już teraz poprosić o wczesny dostęp. Do czasu jego otwarcia analiza na stronie zwraca te same rodzaje pól, wokół których projektowane jest API.
Czy API geolokalizacji zdjęć może zidentyfikować ludzi?
Nie. Szacuje, gdzie jest scena, a nie kto się na niej znajduje, i nigdy nie należy go używać do lokalizowania ani śledzenia kogokolwiek.

Źródła

  1. Detect landmarks — Google CloudDefinicja, pola odpowiedzi i przykład Soboru Wasyla Błogosławionego z wynikiem 0,78.
  2. AnnotateImageResponse — EntityAnnotation — Google CloudZakres wyniku od 0 do 1; lokalizacja może opisywać scenę albo miejsce zrobienia zdjęcia.
  3. PlaNet — Photo Geolocation with Convolutional Neural Networks — Weyand, Kostrikov and Philbin (arXiv)Progi odległości 1, 25, 200, 750 i 2500 km; 10,1% dokładności na poziomie miasta na 2,3 mln zdjęć z Flickr.
  4. PIGEON: Predicting Image Geolocations — Haas, Skreta, Alberti and Finn (CVPR 2024, arXiv)Ponad 40% zgadywań w promieniu 25 km na obrazach Street View.
  5. GPS Accuracy — GPS.govSmartfony są zwykle dokładne do 4,9 m pod otwartym niebem.

Czytaj dalej

Pliki cookie

Oprócz niezbędnych plików cookie służących do logowania, wyboru języka i zapewnienia bezpieczeństwa ta strona używa plików cookie Google Analytics i Meta Pixel do pomiaru ruchu i skuteczności reklam. Możesz je zablokować w ustawieniach przeglądarki; szczegóły znajdziesz w Polityce plików cookie.