Matia - zastosowanie metod sztucznej inteligencji w projekcie "sztucznego oka" dla osób niewidomych
Prezentuję projekt, który rozpocząłem w ramach pracy inżynierskiej. Postanowiłem utworzyć urządzenie, które pomoże osobom niewidomym orientować się w miejscach publicznych - bez potrzeby przystosowywania tych miejsc pod osoby niewidome. Projekt jest na etapie działającego prototypu układu elektronicznego i oprogramowania, służącego do badania algorytmów sztucznej inteligencji. Jego inną odsłoną jest MATIA 2, która jest wdrażana w muzeach i innych instytucjach kultury.
Społeczeństwo starzeje się, przybywa ludzi cierpiących na cukrzycę i inne choroby, uszkadzające wzrok. Według Światowej Organizacji Zdrowia na świecie są ponad 42 miliony osób całkowicie niewidzących. Liczba osób z wadami utrudniającymi normalne funkcjonowanie określana jest na 314 milionów. W Polsce żyją ok. 63 tysiące osób całkowicie niewidzących i ok. 300 tys. z dużymi wadami wzroku, utrudniającymi normalne funkcjonowanie.
Żyć to znaczy przetwarzać informacje, których wraz z postępem przybywa. Prawie 80 procent danych, z otaczającego nas świata, dociera poprzez nasze oczy. Wzrok jest niewątpliwie najważniejszym zmysłem. Paradoksalne jest to, że w miarę postępu cywilizacyjnego opisywany problem staje się coraz poważniejszy. Jesteśmy otoczeni narastającą lawiną informacji wizualnych! Sprawiło to, że podjąłem się zaprojektowania systemu "sztucznego oka" MATIA. W aplikacji korzystam z różnych metod sztucznej inteligencji (wykorzystałem m.in. splotowe sieci neuronowe). Generuje to nową jakość rozwiązania, starającego się zastąpić brakujący narząd wzroku.
MATIA to prototyp urządzenia, którego podstawą jest mobilny moduł wizyjny, łączący się przez Bluetooth ze smartfonem. Jego zadaniem jest opisywanie świata przy pomocy słów (audiodeskrypcja otoczenia - informowanie użytkownika o rozmieszczeniu przestrzennym przeszkód oraz o ich rodzaju), muzyki (każdy przedmiot reprezentowany jest przez inną sekwencję muzyczną, podobnie rzecz ma się z wzajemną korelacją przedmiotów) i bodźców dotykowych (matryca haptyczna/wibracyjna). Całość ma aż 13 sensorów, dzięki którym niewidomy orientuje się w otoczeniu, rozpoznaje przedmioty z dokładnym opisem, czyta tekst, wykrywa ludzi i ich emocje. Nie potrzebuje przy tym łączenia się z Internetem - układ potrafi rozpoznać kilka tysięcy kategorii najczęściej spotykanych przeszkód, korzystając z lokalnej sztucznej sieci neuronowej. Jeżeli nie zna zaś obiektu w zasięgu kamer, to podaje skojarzeniową listę obiektów podobnych do widzianego lub łączy się z zewnętrznymi zasobami obliczeniowymi, m.in. z chmurą obliczeniową z wytrenowaną sztuczną siecią neuronową, przeprowadzającą znacznie bardziej precyzyjny opis otoczenia. Sieci CNN wytrenowano na podstawie ciągu uczącego powstałego na podstawie m.in. bazy ImageNet.
MATIA to też specjalny naparstek. Wyobraźmy sobie, że obsługujemy telefon w miejscu publicznym i nie widzimy. Jesteśmy w ten sposób nastawieni na możliwość bezpośredniej kradzieży często drogich urządzeń komunikacyjnych. Rozwiązałem ten problem w taki sposób, że telefon leży bezpiecznie w kieszeni i może być obsługiwany przy pomocy specjalnego sygnetu. Po jego założeniu na palec, ten przemienia się w wirtualną kredę, a przed użytkownikiem pojawia się wirtualna tablica. Na tablicy rysujemy gesty, pozwalające napisać SMS-a, odebrać połączenie lub zmienić ustawienia sztucznego oka. W tym miejscu mogę nadmienić, że urządzenie może pomóc także ludziom starszym i z demencją.
Prototyp był rozwijany w ramach Programu Operacyjnego Polska Wschodnia 2014-2020 Poddziałanie 1.1.1. „Platformy startowe dla nowych pomysłów”, programu Najlepsi z najlepszych MNiSW oraz wsparcia finansowego stowarzyszenia Odkrywcy Diamentów (Politechnika Białostocka). Prace nad projektem prowadzę w porozumieniu z fundacją Audiodeskrypcja.
Wykorzystane technologie: Android, STM32, C, JAVA, Python, Tensorflow, OpenCV, CNN, YOLO, MLP, LBPH, Haar, Tesseract, Ivona...
Wybrane funkcje prototypu systemu MATIA
Układ może pracować w dwóch trybach. Tryb pierwszy polega na pracy z telefonem. Tryb drugi - pracy autonomicznej - automatycznie uruchamia się w momencie zerwania łączności ze smartfonem lub rozładowania telefonu i gwarantuje bezpieczne dotarcie do domu.
1). Praca z telefonem - główny tryb pracy urządzenia
a) wykrywanie i rozpoznawanie osób (LBPH i klasyfikator kaskadowy Haar),
b) wykrywanie podstawowych emocji (uśmiech, smutek, neutralny wyraz twarzy, złość, zaskoczenie),
c) stereowizja - opis przeszkód na scenie przy pomocy słów; tworzone są dźwiękowe mapy głębokości przestrzeni,
d) deskrypcja przedmiotów i budynków przy pomocy słów - audiodeskrypcja na bazie splotowych sieci neuronowych CNN (dane uczące pochodzą m.in. z bazy ImageNet),
e) detekcja i rozpoznawanie tekstów (OCR),
f) opis kolorów przedmiotu,
g) dźwięki reprezentujące przeszkody w otoczeniu (inne dźwięki dla każdej kategorii przeszkód),
h) system odwzorowania otoczenia przy pomocy opcjonalnej matrycy wibracyjnej, zakładanej na plecy (pas na rzepy; matryca "odbija" kontury przeszkód na plecach),
i) wirtualny pulpit kontrolny wraz z głosowym MENU (sterowanie palcem wyciągniętym przed kamerami),
j) system sterowania głosowego przy pomocy silnika rozpoznającego mowę,
k) ostrzeganie w czasie rzeczywistym przed obiektami niebezpiecznymi (przejście dla pieszych, samochód na chodniku, znak drogowy),
l) automatyczne wzywanie pomocy z alarmem akustycznym (aktywacja manualna - przyciskiem - lub automatyczna, polegająca na wykrywaniu nietypowych przyśpieszeń ciała użytkownika),
m) detektor poziomu (poziomica), GPS, detektor światła, kompas, krokomierz, wysokościomierz, odległościomierz, naświetlacz drogowy, nocne światła bezpieczeństwa, zegar, notatnik, rejestrator dźwięku,
n) dzwonienie, odbieranie połączeń, czytanie i wysyłanie SMS (sterowanie przy pomocy wirtualnego MENU, sygnetu lub głosowe),
o) czapka z przetwornikami przewodnictwa kostnego, dzięki której nie musimy nosić słuchawek (urządzenie ma osobny wzmacniacz elektroakustyczny).
2). Praca bez telefonu - gdy zostanie utracona łączność ze smartfonem, automatycznie uaktywniany jest ten tryb. W tym trybie działa m.in.:
a) wykrywanie przeszkód przy pomocy ultradźwięków (informacja o przeszkodach dźwiękowa i wibracyjna),
b) wykrywanie źródeł światła i pomiar jego intensywności (informacja o źródłach świata dźwiękowa i wibracyjna),
c) funkcja awaryjnego powrotu do domu - GPS,
d) kompas,
e) GPS + zegar z satelity,
e) krokomierz (algorytm bazujący na sieci neuronowej z 2 neuronami),
f) detekcja kolorów,
g) pomiar odległości,
h) pomiar parametrów atmosferycznych - temperatury, ciśnienia, wysokości,
i) jednowymiarowy pulpit kontrolny do aktywacji różnych funkcji,
j) naświetlacz drogowy i światła ostrzegawcze,
k) autorski syntezator mowy na STM32F429 do komunikacji z użytkownikiem (alofoniczna metoda syntezy mowy).
Układ podczas testów
Element MATII (płytka główna) podczas projektowania
Fragment schematu MATII
Głównym elementem projektu jest specjalna aplikacja, pracująca na urządzeniu ANDROID. Zajmuje się bardziej zaawansowanym przetwarzaniem sygnałów niż ma to miejsce w systemie opartym na STM32F429. Część obliczeń jest przeprowadzana w chmurze obliczeniowej Google Cloud. Prototyp będzie rozwijany w przyszłości (planowane są testy z wykorzystaniem chipów neuromorficznych do przetwarzania danych wizyjnych).