Dla 285 milionów ludzi na całym świecie żyjących ze ślepotą lub słabowidzącym samodzielne ćwiczenie może być wyzwaniem. Na początku tego roku ogłosiliśmy Project Guideline , projekt badawczy na wczesnym etapie, opracowany we współpracy z Guiding Eyes for the Blind , który wykorzystuje uczenie maszynowe do prowadzenia biegaczy przez różne środowiska, które zostały oznaczone namalowaną linią . Korzystając tylko z telefonu z technologią Guideline i pary słuchawek, Thomas Panek, dyrektor generalny Guiding Eyes for the Blind, był w stanie po raz pierwszy od dziesięcioleci samodzielnie biegać i samodzielnie ukończyć 5K w nowojorskim Central Parku.

Bezpieczne i niezawodne prowadzenie niewidomego biegacza w nieprzewidywalnych warunkach wymaga sprostania wielu wyzwaniom. W tym miejscu omówimy technologię stojącą za Guideline i proces, dzięki któremu udało nam się stworzyć model uczenia maszynowego na urządzeniu, który mógłby poprowadzić Thomasa w niezależnym biegu na świeżym powietrzu. . Projekt jest wciąż w fazie rozwoju, ale mamy nadzieję, że pomoże zbadać, w jaki sposób technologia dostępna na urządzeniu za pośrednictwem telefonu komórkowego może zapewnić niezawodne, zwiększone możliwości poruszania się i orientacji osobom niewidomym lub niedowidzącym.

Thomas Panek wykorzystuje technologię Guideline do samodzielnego biegania na świeżym powietrzu.

Wytyczne projektu
System Guideline składa się z urządzenia mobilnego noszonego wokół talii użytkownika z niestandardowym paskiem i uprzężą, linii trasowania na ścieżce biegowej oznaczonej farbą lub taśmą oraz przewodnictwa kostnegosłuchawki. Technologia Core to the Guideline to model segmentacji na urządzeniu, który pobiera klatki z aparatu urządzenia mobilnego jako dane wejściowe i klasyfikuje każdy piksel w klatce na dwie klasy: „wytyczne” i „nie wytyczne”. Ta prosta maska ​​ufności, stosowana do każdej klatki, umożliwia aplikacji Guideline przewidywanie położenia biegaczy w odniesieniu do linii na ścieżce bez korzystania z danych o lokalizacji. W oparciu o tę prognozę i postępującą funkcję wygładzania/filtrowania, aplikacja wysyła sygnały dźwiękowe do biegaczy, aby pomóc im zorientować się i pozostać na linii, lub ostrzeżenia dźwiękowe, aby zatrzymać biegaczy, jeśli oddali się zbyt daleko.

Project Guideline wykorzystuje wbudowane interfejsy API Camera 2 i MLKit systemu Android i dodaje niestandardowe moduły do ​​segmentacji wytycznych, wykrywania ich pozycji i orientacji, filtrowania fałszywych sygnałów i wysyłania stereofonicznego sygnału audio do użytkownika w czasie rzeczywistym.

Podczas budowy wstępnego systemu Wytycznych stanęliśmy przed szeregiem ważnych wyzwań:

  1. Dokładność systemu : Mobilność osób niewidomych i słabowidzących to wyzwanie, w którym bezpieczeństwo użytkownika ma ogromne znaczenie. Wymaga modelu uczenia maszynowego, który jest w stanie generować dokładne i uogólnione wyniki segmentacji, aby zapewnić bezpieczeństwo biegacza w różnych lokalizacjach i w różnych warunkach środowiskowych.
  2. Wydajność systemu: Oprócz zapewnienia bezpieczeństwa użytkownika, system musi być wydajny, wydajny i niezawodny. Musi przetwarzać co najmniej 15 klatek na sekundę (FPS), aby zapewnić biegaczowi informację zwrotną w czasie rzeczywistym. Musi również działać przez co najmniej 3 godziny bez rozładowywania baterii telefonu i musi działać w trybie offline, bez konieczności połączenia z Internetem, jeśli ścieżka spacerowa / biegowa znajduje się w obszarze bez usługi transmisji danych.
  3. Brak danych w domenie: aby wytrenować model segmentacji, potrzebowaliśmy dużej ilości wideo składającego się z dróg i ścieżek biegnących, które mają na nich żółtą linię. Aby uogólnić model, różnorodność danych jest równie ważna jak ilość danych, co wymaga klatek wideo zarejestrowanych o różnych porach dnia, w różnych warunkach oświetleniowych, w różnych warunkach pogodowych, w różnych lokalizacjach itp.

Poniżej przedstawiamy rozwiązania dla każdego z tych wyzwań.

Architektura sieci
Aby spełnić wymagania dotyczące opóźnień i mocy, zbudowaliśmy model segmentacji linii na platformie DeepLabv3 , wykorzystując MobilenetV3-Small jako szkielet, jednocześnie upraszczając dane wyjściowe do dwóch klas – wytycznej i tła.

Model pobiera ramkę RGB i generuje wyjściową maskę skali szarości, reprezentującą pewność przewidywania każdego piksela.

Aby zwiększyć przepustowość, zmniejszyliśmy rozmiar obrazu z kamery z 1920 x 1080 pikseli do 513 x 513 pikseli jako dane wejściowe do modelu segmentacji DeepLab. Aby jeszcze bardziej przyspieszyć model DeepLab do użytku na urządzeniach mobilnych, pominęliśmy ostatnią warstwę upsamplingu i bezpośrednio wyświetlaliśmy przewidywane maski 65 x 65 pikseli. Te przewidywane maski 65 x 65 pikseli są dostarczane jako dane wejściowe do przetwarzania końcowego. Minimalizując rozdzielczość wejściową na obu etapach, jesteśmy w stanie poprawić czas działania modelu segmentacji i przyspieszyć przetwarzanie końcowe.

Zbieranie danych
Aby trenować model, potrzebowaliśmy dużego zestawu obrazów szkoleniowych w domenie docelowej, które wykazywały różne warunki ścieżki. Nic dziwnego, że publicznie dostępne zbiory danych dotyczyły przypadków użycia w jeździe autonomicznej, z kamerami zamontowanymi na dachu i samochodami jeżdżącymi między liniami, i nie należały do ​​domeny docelowej. Odkryliśmy, że modele szkoleniowe na tych zestawach danych przyniosły niezadowalające wyniki ze względu na dużą lukę między domenami. Zamiast tego model Guideline wymagał danych zebranych za pomocą kamer noszonych wokół pasa osoby, biegnących na szczycie linii, bez obiektów przeciwnych znajdowanych na autostradach i zatłoczonych ulicach miast.

Duża luka domenowa między zbiorami danych dotyczących autonomicznej jazdy a domeną docelową. Obrazy po lewej dzięki uprzejmości zestawu danych Berkeley DeepDrive .

Ponieważ istniejące zestawy danych typu open source okazały się nieprzydatne w naszym przypadku użycia, stworzyliśmy własny zestaw danych szkoleniowych składający się z następujących elementów:

  1. Dane zebrane ręcznie : Członkowie zespołu tymczasowo umieścili wytyczne na utwardzonych ścieżkach za pomocą taśmy klejącej w jasnych kolorach i nagrali siebie biegnącego po liniach i wokół nich o różnych porach dnia i w różnych warunkach pogodowych.
  2. Dane syntetyczne : wysiłki związane z przechwytywaniem danych były skomplikowane i poważnie ograniczone ze względu na ograniczenia COVID-19. To doprowadziło nas do zbudowania niestandardowego potoku renderowania, aby zsyntetyzować dziesiątki tysięcy obrazów, zmieniając środowisko, pogodę, oświetlenie, cienie i obiekty przeciwnika. Kiedy model zmagał się z pewnymi warunkami w testach w świecie rzeczywistym, byliśmy w stanie wygenerować określone syntetyczne zestawy danych, aby rozwiązać tę sytuację. Na przykład model początkowo miał problemy z podzieleniem wytycznej na stosy opadłych jesiennych liści. Dzięki dodatkowym syntetycznym danym treningowym byliśmy w stanie skorygować to w kolejnych wydaniach modeli.
Potok renderowania generuje syntetyczne obrazy, aby uchwycić szerokie spektrum środowisk.

Stworzyliśmy również mały zestaw danych regresji, który składał się z opatrzonych adnotacjami próbek najczęściej oglądanych scenariuszy w połączeniu z najtrudniejszymi scenariuszami, w tym cieniami drzew i ludzi, opadłymi liśćmi, wrogimi oznaczeniami dróg, światłem słonecznym odbijającym się od linii, ostrymi zakrętami, stromymi zboczami itp. Wykorzystaliśmy ten zestaw danych do porównania nowych modeli z poprzednimi i upewnienia się, że ogólna poprawa dokładności nowego modelu nie ukrywa zmniejszenia dokładności w szczególnie ważnych lub trudnych scenariuszach.

Procedura szkoleniowa Opracowaliśmy
trzyetapową procedurę szkoleniową i wykorzystaliśmy uczenie transferowe, aby przezwyciężyć problem ograniczonego zestawu danych szkoleniowych w domenie. Zaczęliśmy od modelu, który został wstępnie wytrenowany w Cityscape , a następnie wytrenowaliśmy model przy użyciu obrazów syntetycznych, ponieważ ten zestaw danych jest większy, ale gorszej jakości. Na koniec dopracowaliśmy model, korzystając z zebranych przez nas ograniczonych danych w domenie.

Trzyetapowa procedura szkoleniowa w celu przezwyciężenia problemu ograniczonej ilości danych. Zdjęcia w lewej kolumnie dzięki uprzejmości  Cityscapes .

Na wczesnym etapie rozwoju stało się jasne, że wydajność modelu segmentacji ucierpiała w górnej części ramki obrazu. W miarę jak linie oddalają się od punktu widzenia kamery na górze kadru, same linie zaczynają zanikać. Powoduje to, że przewidywane maski są mniej dokładne w górnych częściach ramki. Aby rozwiązać ten problem, obliczyliśmy wartość straty opartą na górnym krzędy pikseli w każdej ramce. Wykorzystaliśmy tę wartość, aby wybrać te klatki, które zawierały znikające linie, z którymi zmagał się model, i wielokrotnie trenowaliśmy model na tych klatkach. Proces ten okazał się bardzo pomocny nie tylko w rozwiązaniu problemu znikających linii, ale także w rozwiązywaniu innych napotkanych problemów, takich jak rozmyte ramki, zakrzywione linie i okluzja linii przez obiekty przeciwnika.

Dokładność i niezawodność modelu segmentacji stale się poprawiają, nawet w trudnych przypadkach.

Wydajność systemu
Wraz z Tensorflow Lite i ML Kit , kompleksowy system działa niezwykle szybko na urządzeniach Pixel, osiągając ponad 29 kl./s na Pixel 4 XL i ponad 20 kl./s na Pixel 5. Wdrożyliśmy model segmentacji w całości na DSP, działając przy 6 ms na Pixelu 4 XL i 12 ms na Pixelu 5 z wysoką dokładnością. Kompleksowy system osiąga 99,5% wskaźnik sukcesu klatek, 93% mIoU w naszym zestawie danych oceny i przechodzi nasz test regresji. Te metryki wydajności modelu są niezwykle ważne i umożliwiają systemowi dostarczanie użytkownikowi informacji zwrotnych w czasie rzeczywistym.

Co dalej
Wciąż jesteśmy na początku naszej eksploracji, ale jesteśmy podekscytowani naszymi postępami i tym, co nadejdzie. Rozpoczynamy współpracę z dodatkowymi wiodącymi organizacjami non-profit, które służą społecznościom niewidomych i słabowidzących, aby wprowadzić więcej wytycznych w parkach, szkołach i miejscach publicznych. Malując więcej linii, uzyskując bezpośrednie informacje zwrotne od użytkowników i zbierając więcej danych w większej różnorodności warunków, mamy nadzieję na dalsze uogólnienie naszego modelu segmentacji i ulepszenie istniejącego zestawu funkcji. bezpośredniego ani od użytkowników. Jednocześnie badamy nowe badania i techniki, a także nowe funkcje i możliwości, które poprawią ogólną solidność i niezawodność systemu.

Aby dowiedzieć się więcej o projekcie i jego powstaniu, przeczytaj historię Tomasza Panka . Jeśli chcesz pomóc nam w rozpowszechnianiu większej liczby wytycznych na świecie, odwiedź goo.gle/ProjectGuideline .

Podziękowania
Wytyczne dotyczące projektu to efekt współpracy Google Research, Google Creative Lab i zespołu ds. ułatwień dostępu. Szczególnie dziękujemy członkom naszego zespołu: Mikhail Sirotenko, Sagar Waghmare, Lucian Lonita, Tomer Meron, Hartwig Adam, Ryan Burke, Dror Ayalon, Amit Pitaru, Matt Hall, John Watkinson, Phil Bayer, John Mernacaj, Cliff Lungaretti, Dorian Douglass, Kyndra LoCoco. Dziękujemy również Fangting Xia, Jackowi Simowi oraz naszym innym kolegom i przyjaciołom z zespołu Mobile Vision i Guiding Eyes for the Blind.

https://ai.googleblog.com/