Powrót do strony głównej

AI do liczenia pasażerów w autobusach. System dla Indii

Artykuł opisuje techniczną realizację systemu sztucznej inteligencji do precyzyjnego liczenia pasażerów w indyjskich autobusach. Omówiono trójwarstwową architekturę, opracowanie własnej, wydajnej sieci neuronowej Adaptive Face Extractor oraz kluczowe aspekty zgodności z indyjskim prawem ochrony danych DPDPA 2023. System wykorzystuje synchronizację GPS i znaczników czasu do obliczania kosztów przejazdu.

Rewolucja w transporcie: AI liczy pasażerów w Indiach
Advertisement 728x90

Sztuczna inteligencja do liczenia pasażerów: realizacja techniczna systemu dla indyjskich autobusów

Rozwiązanie AI dla systemów transportowych: jak to działa

Nowoczesne technologie sztucznej inteligencji (AI) otwierają nowe możliwości rozwiązywania problemów w sektorze transportowym. Jednym z takich wyzwań jest precyzyjne liczenie pasażerów w indyjskich autobusach, gdzie systemowe oszustwa ze strony personelu prowadzą do znacznych strat finansowych. W tym artykule omówimy techniczną stronę projektu, w tym architekturę systemu, opracowanie własnej sieci neuronowej oraz zgodność z indyjskim prawem ochrony danych.

Od pomysłu do realizacji: zbieranie danych i przygotowania

Projekt rozpoczął się od szczegółowej analizy warunków eksploatacji autobusów w Indiach. W tym celu zorganizowano wyjazd służbowy, w ramach którego udało się zbadać konstrukcję pojazdów, określić optymalne kąty montażu kamer i zebrać początkowy zbiór danych. W ciągu pięciu dni nagrano około godziny materiału wideo w 4K, na podstawie którego utworzono zbiór danych IndiaBus-v1.0. Materiały te pozwoliły zidentyfikować kluczowe problemy detekcji, takie jak nakładanie się osób, odbicia i różnice w oświetleniu, a także określić wymagania sprzętowe.

Wyniki tej pracy stały się podstawą instrukcji montażu kamer i protokołów przesyłania danych. Dane z autobusów są wysyłane przez WiFi lub GSM na przystankach końcowych, co minimalizuje koszty infrastruktury. Prędkość przesyłu sięga 400 Mb/s, a czas wysyłki danych za jeden kurs to 5–10 minut. Takie podejście umożliwia szybkie przetwarzanie dużych ilości informacji bez opóźnień.

Google AdInline article slot

Architektura systemu: podejście trójwarstwowe

System liczenia pasażerów opiera się na trzech warstwach, z których każda realizuje swoje zadania:

  • Warstwa pokładowa: obejmuje kamery rejestrujące wejście i wyjście pasażerów, moduł GPS do określania lokalizacji oraz dysk SSD do przechowywania danych podczas kursu (pojemność około 15 GB na kurs).
  • Warstwa wysyłki: dane są przesyłane na serwer na przystankach końcowych przez WiFi lub GSM z dużą prędkością.
  • Warstwa serwerowa: tutaj odbywa się przetwarzanie z wykorzystaniem AI. Najpierw stosowany jest model YOLO do detekcji twarzy, następnie wykonywane jest wycinanie obrazów, a później ekstrakcja embeddingów za pomocą własnej sieci neuronowej Adaptive Face Extractor. Na ostatnim etapie embeddingi są porównywane w celu identyfikacji pasażerów, a dane są przypisywane do przystanków za pomocą GPS i znaczników czasu.

Takie podejście pozwala nie tylko dokładnie liczyć pasażerów, ale także obliczać koszt przejazdu dla każdej osoby na podstawie przebytej trasy. Wzór obliczeniowy jest prosty: suma taryf za wszystkie przystanki między punktami wejścia i wyjścia.

Dlaczego własna sieć neuronowa: zalety Adaptive Face Extractor

Do przetwarzania danych opracowano własną architekturę Adaptive Face Extractor zamiast korzystać z gotowych rozwiązań, takich jak FaceNet czy ArcFace. Przyczyny tej decyzji leżą w specyfice zadania i danych:

Google AdInline article slot
  • Adaptacja do warunków indyjskich: gotowe modele, trenowane na zachodnich zbiorach danych, wykazywały niską dokładność (około 90%) przy pracy z obrazami zawierającymi sari, turbany i niestandardowe oświetlenie. Własna sieć osiągnęła dokładność 96,3% na danych indyjskich.
  • Optymalizacja zasobów: rozmiar modelu to zaledwie 4,7 MB w porównaniu do 98 MB w rozwiązaniach komercyjnych, a czas inferencji na CPU — 42 ms wobec 280 ms.
  • Zmienny rozmiar wejścia: architektura obsługuje przetwarzanie obrazów w różnej skali (od 80×80 do 180×160 pikseli), co jest kluczowe przy różnym wzroście pasażerów i odległości od kamery.
  • Kontrola danych: użycie własnego modelu wyklucza przesyłanie danych biometrycznych do zewnętrznych API, co spełnia wymagania prawne.
  • Oszczędność: brak opłat licencyjnych, które przy skalowaniu na 180 000 pasażerów dziennie mogłyby sięgać milionów rupii miesięcznie.

Architektura Adaptive Face Extractor obejmuje kilka kluczowych bloków: blok początkowy z Conv2D i BatchNorm, blok wieloskalowy z równoległymi gałęziami, mechanizm uwagi Squeeze-and-Excitation oraz warstwy końcowe do uzyskania embeddingu o rozmiarze 512D lub 1024D. Trening przeprowadzono na zbiorze danych IndiaBus-v1.0 z wykorzystaniem funkcji straty ArcFace Loss i augmentacji danych w celu zwiększenia odporności modelu.

Synchronizacja danych i obliczanie kosztu przejazdu

Do precyzyjnego liczenia pasażerów i określania trasy każdej osoby wykorzystuje się synchronizację danych z kamer i GPS. Odbiornik obsługuje NavIC L1 i GPS L1/L5, zapewniając dokładność do 10 metrów. Znaczniki czasu są synchronizowane przez serwer NTP w Mumbaju z błędem poniżej 100 ms. Współrzędne są zapisywane co 15 sekund, a każda klatka wideo jest oznaczana danymi o lokalizacji i czasie.

Porównanie embeddingów wejścia i wyjścia odbywa się za pomocą podobieństwa cosinusowego. Próg podobieństwa jest obecnie w fazie dostrajania, aby osiągnąć równowagę między dokładnością a kompletnością rozpoznawania. Kod porównujący wygląda następująco:

Google AdInline article slot
def compare_faces(embedding1, embedding2, threshold):
    similarity = np.dot(embedding1, embedding2)
    if similarity > threshold:
        return True  # Ta sama osoba
    else:
        return False  # Różne osoby

Zgodność z prawem: ochrona danych według DPDPA 2023

Jednym z kluczowych aspektów projektu było dostosowanie się do indyjskiej ustawy o ochronie danych osobowych (DPDPA 2023). Ustawa ta jest mniej rygorystyczna niż GDPR czy CCPA, ale i tak nakłada poważne wymagania. Maksymalna kara za naruszenie może sięgać 250 crore rupii (około 2,7 mld rupii), choć jest stosowana tylko za poważne wykroczenia, takie jak wyciek danych czy brak środków bezpieczeństwa.

Aby spełnić wymagania ustawy, wdrożono następujące środki:

  • Dane są przechowywane wyłącznie na serwerach w Indiach (region Mumbaju).
  • Obrazy twarzy są przechowywane tylko przez 90 dni w celach debugowania, po czym są usuwane, a embeddingi (niepozwalające odtworzyć oryginalnych obrazów) są przechowywane dłużej.
  • W autobusach umieszczono tablice informacyjne w językach marathi, hindi i angielskim w celu uzyskania świadomej zgody.
  • Stosowane jest szyfrowanie TLS 1.3 i AES-256-GCM.
  • Przeprowadzany jest kwartalny audyt przez stronę trzecią.

Zgodność z DPDPA 2023 nie tylko minimalizuje ryzyka, ale także daje przewagę konkurencyjną, umożliwiając działanie w warunkach, w których inne firmy mogą napotkać ograniczenia.

Podsumowanie

  • Realizacja techniczna: trójwarstwowa architektura systemu zapewnia zbieranie, przesyłanie i przetwarzanie danych do precyzyjnego liczenia pasażerów.
  • Własny model: Adaptive Face Extractor przewyższa gotowe rozwiązania pod względem dokładności na danych indyjskich (96,3%) i optymalizacji zasobów (4,7 MB, 42 ms na CPU).
  • Zgodność z prawem: dostosowanie do DPDPA 2023 minimalizuje ryzyko kar i daje przewagę konkurencyjną na rynku.
  • Synchronizacja danych: GPS i znaczniki czasu pozwalają dokładnie obliczać trasę i koszt przejazdu dla każdego pasażera.

— Editorial Team

Advertisement 728x90

Czytaj dalej