Ciekawy temat, ciekawe pytanie, na które nie ma prostej odpowiedzi.
Do tej pory systemy wspierania kierowcy, takie jak ABS były budowane (i są nadal) jako real time, mission critical. Real time, dla wyjaśnienia oznacza, że procesowanie określonego sygnału (np. uślizgu kół przy hamowaniu) zawsze zajmie tyle samo czasu (a konkretnie tyle samo cykli procesora). Mission critical oznacza odporność na błędy, z którą radzimy sobie zwielokrotnieniem układów, odłączaniem wadliwie działających kawałków systemu, doprowadzaniem ich do ponownego działania w sposób automatyczny (np. restart).
Koncentrując się na aspekcie "real time", problem z nim jest taki, że jest to podejście drogie i upierdliwe technicznie, bo oznacza, że program jest napisany w języku niskiego poziomu i działa na sprzęcie (komputerze) oddanym wyłącznie do jego dyspozycji. Nie można przecież pozwolić, żeby np. konieczność przeliczenia trasy w nawigacji upośledziła działanie np. ABS.
Nie mam pojęcia, czy HWx wystarczy do jakiegoś zadania, natomiast jeżeli coś nie jest systemem czasu rzeczywistego, to wykonuje swoje zadania (w prowadzeniu samochodu z automatu mission critical) czasami wolniej, czasami szybciej. W tym momencie wkracza do gry statystyka, a to straszna małpa jest, w szczególności w zakresie rozkładu normalnego Gaussa. Jeżeli typowo przetwarzanie "klatki" rzeczywistości trwa powiedzmy 200ms, to w jakimś tam niewielkim procencie przypadków będzie ono trwało 10 razy dłużej, a w jeszcze mniejszym procencie przypadków 100x dłużej. Można tym sterować i dojść do poziomu "w 99.997% przypadków czas przetwarzania mieści się w granicach 150-250ms" i to powinno być wystarczające, ale nie jest to to samo co "zawsze 200ms".
Dla regulatora rynku (czyli jakiejś tam rady od homologacji) już sam fakt, że system nie działa zawsze tak samo będzie przeszkodą.
Kolejną przeszkodą jest fakt, że Tesla zdecydowała się na korzystanie prawie wyłącznie z kamer (bo jakiś akcelerometr tam jest na 99%). To oznacza, że zamiast przetwarzania danych o odległości do powiedzmy 1440 punktów (rozdzielczość 1/4 stopnia) konieczne staje się przetwarzanie obrazu z kamery, a to już nie jest takie proste (nie twierdzę, że niemożliwe). Rozdzielczość 720p (HD ready) to ~920000 punktów, po przemnożeniu przez kolor (3 składowe) dostajemy 2 760 000 punktów. Kamer mamy o ile wiem 8 i robi się z tego całkiem spory strumień danych, które trafiają do przetwarzania obrazu. To dopiero początek problemu, bo konieczne konieczne jest komputerowe rozpoznanie obiektów (np. odróżnienie drogi od czegokolwiek innego), oszacowanie odległości do poszczególnych rozpoznanych przeszkód (samochody, krawężniki, piesi).
Rozpoznawanie obrazu (np. detekcja ludzi) polega w skrócie na tym, że każda klatka jest dzielona na fragmenty, każdy fragment przepuszczany przez sieć neuronową (klasyfikator), sieć zwraca prawdopodobieństwo wykrycia w danym fragmencie konkretnych klas obiektów: {człowiek: 0.98, krowa:0.02, samochód:0.01.....}. Jeżeli jakieś arbitralnie ustalone progi zostaną przekroczone, taki fragment dzieli się na mniejsze fragmenty i powtarza operację, jeżeli na sąsiadujących fragmentach wykryty zostanie obiekt identycznej klasy przesuwany jest kadr i operacje są powtarzane.
Niestety, nie jest to koniec problemu, bo obraz z tych 8 kamer, to jedynie statyczna sytuacja, a dla kierowcy istotna jest dynamika zmiany rzeczywistości. Np. widząc pieszego stojącego przy drodze powinniśmy reagować inaczej, niż widząc pieszego dynamicznie zbliżającego się do jezdni. To oznacza, że konieczne jest przeanalizowanie przynajmniej kilku klatek i dodanie do statycznego obrazu rzeczywistości elementu dynamicznego (np. wektorów ruchu).
Jak mocny sprzęt jest potrzebny? Mam akurat odpalony lokalnie model językowy sprzęgnięty z rozpoznawaniem obrazu. Sprzęt: 16 rdzeni CPU, 304 rdzenie tensor (te na których działa AI). Śmiem założyć, że jest to "trochę" więcej niż w Tesli.

Uzyskałem odpowiedź po 1.5s. Biorąc pod uwagę, że mamy tutaj narzut na zrozumienie pytania, wygenerowanie odpowiedzi w języku naturalnym, poweidzmy, że klasyfikacja obiektów zajęła 150ms (dane z d... nie mam jak tego w tej chwili sprawdzić). Biorąc pod uwagę, że da się to zoptymalizować, zrównoleglić, nie każda z kamer jest tak samo ważna (też nie patrzymy ciągle w lusterko), można teoretycznie używać danych historycznych do ułatwienia rozpoznawania nowych obrazów (obiekty na drodze się nie teleportują), uważam, że wykorzystanie wyłącznie kamer do realizacji FSD jest możliwe.
Zresztą "autonomia" na poziomie prowadzenia samochodu po drodze ("zwykły autopilot") to nic nowego. Wystarcza do tego kiepska kamerka, trochę danych i bardzo prosta sieć neuronowa - widziałem takie rozwiązanie oparte na 3 warstwowej sieci gdzie pierwsza warstwa przyjmowała obraz, a ostatnia zwracała informację czy bardziej w prawo, czy w lewo. Nauczenie tego tworu prowadzenia samochodu po parku wymagało kilku godzin jazdy. Oczywiście trzeba zdawać sobie sprawę, że prowadzenie pasem w warunkach akademickiego eksperymentu, to coś zupełnie innego niż autonomiczny samochód dopuszczony do ruchu.