Sieć neuronowa w inteligentnym pojeździe
description
Transcript of Sieć neuronowa w inteligentnym pojeździe
Sieć neuronowa w inteligentnym pojeździe
Na podstawie pracy Mike’a Foedischa i Aya Takeuchi Adaptive Real-Time Road Detection Using Neural Networks
Tomasz Kozakiewicz,
Wrocław, 17.05.2005
Sieć neuronowa w inteligentnym pojeździe,Tribolite –
autonomous vacuum cleaner from Electrolux
Cel:Określenie czy określony obszar jest drogą (betonową) czy nie.
Główne cechy: wykorzystuje kamerę (przechwytującą obraz z punktu
widzenia kierowcy), działa w czasie rzeczywistym, niezależny od linii itp. oznaczeń drogowych.
Podstawowe kroki działania:
1. krótki krok inicjalizacyjny – zebranie próbek danych,
2. trening sieci neuronowej,
3. zastosowanie sieci do detekcji drogi.
Postać danych
- obraz jest w postaci RGB,
- cechy:
+ 3 x 8 bitów na kolory,
+ wartości współrzędnych x i y rozważanych punktów (znormalizowane).
Każdy wektor jest następnie ręcznie oznaczany jako droga lub nie-droga.
Trening sieci
Detekcja drogi
Przykładowy wynik
Zastrzeżenie do algorytmu
Mimo, że detekcja drogi przez otrzymaną sieć odbywa się automatycznie i może być wykonywana w czasie rzeczywistym,
to trenowanie wymaga ręcznych oznaczeń wprowadzanych przez człowieka
Obniża to nieco możliwości wykorzystywania tego rozwiązania w czasie rzeczywistym ;-)
przy podstawowych założeniach systemu bez zmian…
Adaptacyjne podejście rzeczywiście dla czasu rzeczywistego
Adaptacyjne podejście rzeczywiście dla czasu rzeczywistego
Dodatkowa obserwacja
Bazując na oczekiwanych obszarach wg poprzedniego obrazka, bierzemy punkty z tych obszarów i automatycznie oznaczamy je jako droga lub nie-droga.
A nieco dokładniej określamy to nie dla pojedynczych punktów a dla pewnych obszarów / okien…
Wykorzystanie okien z poprzedniego slajdu (wraz z oznaczeniami droga czy nie-droga) jako filtrów
Dlaczego nie powinno się cały czas uczyć sieci w ten sposób, czyli np. zakręt
Post processing, aby zwiększyć precyzję…
1. szumy są redukowane filtrami graficznymi erosion & dilationm,
2. jeśli droga na 2 kolejnych obrazach nie różni się znacznie, informacje z poprzednich obrazków o segmentacji mogą być wykorzystywane.
Implementacja – strona techniczna
• Dell Latitude laptop 2,2GHz, z Red Hatem 9,• Unibrain Fire-i (320x240 pixels) firewire camera (30
klatek / sek.),• aplikacja napisana w C++.
Implementacja – sieć neuronowa
• 26 inputs (24 bitów RGB + koordynaty x i y)
• sieć trzywarstwowa:
- dwie pierwsze warstwy zawierają po 4 neurony,
- ostatnia warstwa złożona z 1 neuronu zwraca wynik,
• wykorzystuje wsteczną propagację.
Implementacja c.d.
Dla umożliwienia działania w czasie rzeczywistym:
• każdy obrazek jest zmniejszany z 320x240 do 160x120,
• wybierany jest co trzeci piksel wraz z otoczeniem o rozmiarach 7x7 (więc nachodzą te okna na siebie trzema pikselami z każdej strony),
Aktualnie czas segmentacji drogi wynosi ok. 60 ms / ramkę
Wyniki
• testy na różnych rodzajach dróg,
• 4-sekundowe sekwencje wideo,
• wykresy błędów pokazują co 25 klatkę.
Test 1, prosta droga, wyniki
Test 2, droga z cieniami, wyniki
Test 3, łuk drogi, lekka zmiana otoczenia, wyniki
Test 4, duża zmiany otoczenia i drogi, wyniki
Podsumowanie wyników
Uwagi, pomysły, plany na przyszłość
• trening sieci zajmuje aktualnie ok. 600 ms,
• nowe dane – bufor FIFO,
• rozwiązanie dla dynamicznych zmian,
• wykorzystywanie informacji o ruchu pojazdu,
• zastosowanie algorytmów dla detekcji nadjeżdżających pojazdów.
Co jeszcze się dzieje w kierunku intelligent vehicles?
n.p. kilka skrótów:
• CC - (Cruise Control) system stabilizacji prędkości jazdy• iCCS - system utrzymujący stałą odległość od poprzedzającego pojazdu • DAS - system identyfikujący pasy ruchu, znaki drogowe i przeszkody • DSC - układ kontroli stabilności pojazdu• DTC - układ dynamicznej kontroli trakcji)• EOBD - (European On- Board Diagnostic) układ ten stanowi centrum
gromadzenia wszelkich funkcji diagnostycznych• ICC (Intelligent Cruise Control)- inteligentny system stabilizacji
prędkości jazdy• ICS - zespolony system kontroli układów samochodowych • PTS - system ułatwiający parkowanie (wyposażony w czujniki
odległości)• RDW - system informujący o zmianie ciśnienia w oponach • SRS - system bezpieczeństwa pasażerów• TPMS - układ monitorujący ciśnienie powietrza w ogumieniu
Czym to grozi?
Czym więc jeździć?
Wykorzystane materiały:
[1] Mike Foedisch, Aya Takeuchi, Adaptive Real-Time Road Detection Using Neural Networks, Waschington DC, 3-6.10.2004.
[2] Albert Schmidt, A Modular Neural Network Architecture with Additional Generalization Abilities for High Dimensional Input Vectors, Manchester Metropolitan University, Department of Computing, September 1996.
[3] Materiały informacyjne firmy Electrolux, m.in. www.electrolux.pl
[4] słowniczek ze strony http://motoryzacja.fazi.pl/
[5] BT Exact Technologies, Technology timeline, http://www.cs.uu.nl/people/jan/BT2002.pdf
koniec
dziękuję za uwagę