Rewolucja AI. Mapowanie Przejść dla Pieszych w OpenStreetMap

31 sie

Większość edytorów OpenStreetMap (OSM) powinna już znać projekt “RapiD” stworzony
na podstawie kodu najpopularniejszego edytora iD, dzięki któremu możliwe jest włączenie
danych pozyskanych przy wykorzystaniu zaawansowanych modeli AI do zasobów OSM
przy udziale i pod kontrolą człowieka. Do tej pory był to jeden z niewielu sposobów
półautomatycznej edycji, który została zaakceptowany przez społeczność.

Ze względu na złożoność modelu danych danych, jakie stosujemy w bazie OSM,
wprowadzanie danych w sposób zautomatyzowany lub mechanicznych bez lub z
niewielkim nadzorem człowieka, poprzez boty lub programy edytorskie zawsze spotykało
się z bardzo negatywną reakcją społeczności. Szczególnie w przypadku, kiedy same
wprowadzane dany były generowane również przy użyciu zautomatyzowanego procesu
lub sztucznej inteligencji.

Spowodowane to było błędami jakie są generowane przez takie zmiany. Z tego powodu
większość takich edycji ograniczała się do korekty atrybutów (“tag-ów”), ich aktualizacji
oraz sprawdzania poprawności.

Kilka dni temu czytaliście pewnie informacje od Tomka Tarasia o rozpoczęciu dyskusji na
temat automatycznego importu wygenerowanych danych przejść dla pieszych. Jest to
temat mi bliski, ponieważ dane te są bardzo przydatne w aplikacjach dla osób
niepełnosprawnych i bardzo ułatwiają prowadzenie nawigacji i poruszanie się osobom
niewidomym.

Tym bardziej jestem dumny, że mogę przedstawić projekt utworzony przez członka
polskiej społeczności OSM, który zyskał aprobatę całej społeczności na terenie naszego
kraju. Kamil Monicz, bo o nim mowa, nie tylko przygotował projekt, który ma na celu
zautomatyzowanie wprowadzenia danych o przejściach dla pieszych, na podstawie
informacji pozyskanych z wykorzystanie modeli AI oraz ortofotomapy, ale również go
wdrożył i przeszedł pełną procedurę umożliwiającą wykonywanie automatycznych edycji w
Polsce.

Proces jest całkowicie zautomatyzowany, począwszy od wykrywania obiektów na
zdjęciach satelitarnych, do edytowania danych OSM. Jeśli chcecie sprawdzić, jak
wyglądają zmiany wprowadzone przy użyciu opracowanego procesu, wystarczy zapoznać
się z zmianami dokonywanymi na koncie:
https://www.openstreetmap.org/user/NorthCrab_upload

Obecnie bot działa w trybie ciągłym, bez aktywnego nadzoru społeczności.
Automat wykorzystuje informacje zawarte w OSM do wskazania możliwych miejsc, gdzie
jest największe prawdopodobieństwo występowania przejść, które nie są jeszcze
naniesione. W tym celu agregowane są informacje o sieci drogowej, budynkach oraz
terenach zamieszkanych. Tak wyznaczone obszary stanowią wyjście do pobrania zdjęć satelitarnych.

Poprawne rozpoznanie przejścia

Następnym etapem jest analiza wieloetapowa z wykorzystaniem dwóch modeli AI.
Pierwszy YOLOv8 wykrywa potencjalne obiekty, które mogą być przejściami dla pieszych.
Drugi MobileNetV3 dokonuje klasyfikacji i oznacza obiekty zakwalifikowane jako przejścia
dla pieszych.

Błędne rozpoznanie przejścia

Tutaj należy nadmienić, że obydwa modele były trenowane na danych, które przygotował i
weryfikował osobiście Kamil. Tłumacząc dla niewtajemniczonych, musiał przygotować,
przejrzeć i zweryfikować kilka setek zdjęć przejść dla pieszych z ortofotomapy, by modele
miały materiał do nauki i były na tyle niezawodne, by nie trzeba było ich kontrolować.

Przykład obrazów treningowych

Przed wprowadzeniem danych następuje ostateczna kontrola. Bot weryfikuje, czy
przejście nie zostało dodane obok oraz sprawdza daty i dane historyczne edytowanego
odcinka w OSM tak, by sprawdzić, które dane zostały zaktualizowane ostatnio. W
niektórych regionach Polski aktualizacja ortpfotomapy jest na tyle powolna, że dane OSM
są znacznie nowsze, a nie chcemy dodawać danych, które mogą być nieprawdziwe. Z
tego powodu nie wszystkie wykryte przejścia dla pieszych są dodawane, tylko przejścia,
których modele zakwalifikowały z wysokim współczynnikiem “pewności” są dodawane.
Pozostałe dane o mniejszym współczynniku zaufania są zapisywane do bazy danych.

W przyszłości planujemy wykorzystanie tych danych w dedykowanym portalu, który umożliwi
edytorom manualne dodanie takich wykrytych obiektów.


Jeśli napotkacie problemy z działaniem bota, proszę o ich zgłaszanie poprzez :
https://github.com/Zaczero/osm-yolo-crossings/issues

Kod narzędzia jest w pełni otwarty i dostępny pod adresem:
https://github.com/Zaczero/osm-yolo-crossings

Przedstawione rozwiązanie otwiera nową erę w rozwoju narzędzi pomagających tworzyć
cyfrowy obraz świata. Mam nadzieję, że w niedalekiej przyszłości będę mógł przedstawić
kolejne rozwiązania ułatwiające wprowadzenie i aktualizację danych OpenStreetMap.