🚗 Percepcja pojazdu autonomicznego — fuzja sensorów na żywo
Połącz symulowane chmury punktów LIDAR z detekcjami w stylu kamery za pomocą filtru Kalmana, obserwując, jak scalona lista obiektów pozostaje przypięta do poruszających się przeszkód w czasie rzeczywistym.
O percepcji pojazdu autonomicznego
Pojazdy autonomiczne nigdy nie ufają pojedynczemu czujnikowi. LIDAR dostarcza precyzyjnych, niemal izotropowych pomiarów odległości 3D, ale jest rzadki i ma problemy w złej pogodzie; kamery są gęste i tanie, ale szacują głębię jedynie pośrednio, więc ich odczyty odległości są zaszumione, podczas gdy odczyty kierunku (kąta) są doskonałe. Filtr Kalmana to klasyczny, matematycznie optymalny sposób (dla układów liniowo-gaussowskich) łączenia tych komplementarnych mocnych stron: każda śledzona przeszkoda przechowuje estymatę stanu pozycji i prędkości oraz macierz kowariancji opisującą pewność śledzenia, a każdy nadchodzący pomiar przesuwa tę estymatę o wartość proporcjonalną do tego, o ile bardziej wiarygodny jest czujnik niż aktualna estymata.
Ta symulacja renderuje prawdziwą scenę 3D wokół pojazdu ego: rzeczywiste siatki Three.js poruszają się po niezależnych torach, filtr Kalmana dla każdego obiektu przewiduje ruch każdej przeszkody w każdej klatce z realistycznym szumem procesu, a symulowane pomiary LIDAR i kamery — każdy z własną, fizycznie umotywowaną kowariancją szumu — są scalane w solidne śledzone pudełko ograniczające. Surowe, drżące trafienia czujników są rysowane jako małe, półprzezroczyste znaczniki, dzięki czemu korzyść z wygładzenia dzięki fuzji jest bezpośrednio widoczna, a nie tylko deklarowana.
Najczęściej zadawane pytania
Czym jest fuzja sensorów w percepcji pojazdu autonomicznego?
Fuzja sensorów łączy pomiary z wielu typów czujników — zazwyczaj LIDAR, kamer i radaru — w jedną, dokładniejszą estymatę świata niż mógłby wytworzyć jakikolwiek pojedynczy czujnik. LIDAR zwraca precyzyjne chmury punktów 3D z wiarygodnym zasięgiem, ale jest rzadki na dużych odległościach i ma problemy we mgle lub ulewnym deszczu. Kamery dają gęste obrazy o wysokiej rozdzielczości z doskonałą dokładnością kierunku i informacją o klasie obiektu, ale słabym i zaszumionym szacowaniem głębi z pojedynczego obiektywu. Filtr Kalmana łączy te komplementarne mocne strony, ważąc każdy pomiar według jego własnej kowariancji szumu, więc ostateczny ślad opiera się na tym czujniku, który jest bardziej wiarygodny w danym kierunku w danym momencie.
Jak filtr Kalmana łączy dane LIDAR i kamery?
Każdy śledzony obiekt przechowuje wektor stanu pozycji i prędkości oraz macierz kowariancji opisującą niepewność estymaty. Każdy krok symulacji wykonuje krok predykcji (przesuwający stan za pomocą modelu ruchu ze stałą prędkością i dodający szum procesu), a następnie jeden lub więcej kroków aktualizacji — po jednym na każdy dostępny pomiar. Każda aktualizacja oblicza innowację — różnicę między przewidywaną pozycją a nowym pomiarem — skaluje ją przez zysk Kalmana, wyprowadzony ze stosunku bieżącej niepewności do własnej kowariancji szumu czujnika, i wplata ją w stan. Precyzyjne trafienie LIDAR silnie przyciąga estymatę ku sobie; zaszumiony odczyt głębi z kamery przyciąga tylko słabo, podczas gdy jego dokładny składnik kierunku wciąż bardzo pomaga.
Dlaczego kamery i LIDAR mają różną charakterystykę szumu w tej symulacji?
LIDAR mierzy odległość bezpośrednio poprzez czas przelotu wiązki lasera, więc jego błąd jest mały i niemal taki sam w każdym kierunku, rosnąc jedynie powoli wraz z odległością. Pojedyncza kamera szacuje pozycję 3D przez wnioskowanie, co jest dokładne dla kąta do obiektu, ale wysoce niepewne wzdłuż linii wzroku. Ta symulacja modeluje to wprost: kowariancja szumu każdej detekcji z kamery jest zbudowana jako elipsa rozciągnięta wzdłuż osi głębi i obrócona zgodnie z rzeczywistym kierunkiem obiektu względem pojazdu ego, a następnie skorelowany szum gaussowski jest próbkowany z tej elipsy za pomocą rozkładu Choleskiego.