Este deja bine-cunoscut faptul că sistemele de conducere automată pot fi conceptual împărțite în șase niveluri în funcție de gradul de implicare necesar din partea șoferului (Figura 1). Un sistem de conducere automată de nivel 2 presupune o supervizare permanentă din partea șoferului, chiar dacă mașina este controlată lateral și longitudinal în mod automatizat. Trecerea la nivel 3 implică trecerea responsabilității de a conduce de la șofer la sistemul de conducere automată, cu precondiția ca șoferul să fie pregătit să preia controlul la un anumit interval de timp după ce este notificat să facă acest lucru.
Spre exemplu, capabilitatea de Traffic jam assist implică navigarea automată în ambuteiaje de trafic sub supravegherea șoferului, în timp ce Traffic jam pilot implică navigarea în ambuteiaje de trafic fără a fi nevoie de supravegherea șoferului. Ambele variante ale funcției implică aproximativ aceleași acțiuni asupra sistemelor de frânare, de accelerare și de direcție ale mașinii, diferența fiind în gradul de responsabilitate al șoferului și în modul de interacțiune dintre acesta și sistemul de automatizare.
Figura 1. Sisteme de conducere automată - niveluri de automatizare
Odată cu dezvoltarea unor noi generații de tehnologii care să facă conducerea automată posibilă, nu doar cu sisteme prototip care funcționează în condiții bine definite ci la scară largă și în zeci de milioane de mașini, observăm un set de direcții parțial interconectate între ele, pe care le vom puncta în continuare.
În primul rând numărul de senzori cu care este echipată o mașină este în continuă creștere, fie că este vorba de senzori video, RADAR sau ultrasunete. Dacă dotările curente se bazează pe o cameră frontală, activitățile curente de cercetare și dezvoltare implică sisteme de percepție 360° (Figura 2) având un set de camere frontale, cu diverse proprietăți optice pentru a face posibilă percepția la diferite distanțe: camere orientate în spate, camere laterale cu diverse orientări. Spre exemplu, camerele poziționate lateral și orientate invers direcției de mers permit depășiri automate. Este important, de asemenea, alegerea senzorilor video și a lentilelor asociate pentru a obține percepția la distanțele dorite. De exemplu, pe baza informației de la un senzor video cu o anumită rezoluție, având un unghi mic de deschidere și o distanță focală mare, putem detecta obiecte la distanțe mai mari decât cu un senzor având aceeași rezoluție dar un unghi de deschidere mai mare și o distanță focală mai mică.
Procesarea și fuziunea informațiilor de la acești senzori implică o putere de calcul semnificativă. Din acest motiv dezvoltăm unități de calcul specializate pentru acest scop (Figura 3). Acestea preiau informațiile de la senzori și le procesează folosind algoritmi de procesare de semnal și de inteligența artificială, rezultând entități care reprezintă elementele din scenele de trafic (de exemplu, marcaje rutiere, semne de circulație, semafoare, elemente de infrastructură, obiecte dinamice etc.) pe baza cărora se fac deciziile de control lateral și longitudinal al mașinii. În particular aceste unități sunt dotate cu co-procesoare pentru rețele neuronale, făcând posibilă procesarea în timp real a volumelor mari de date achiziționate de senzori.
Figura 3. Unități de calcul pentru conducere automată conectate la senzori
Într-un context mai general, se poate spune că mașinile se transformă în adevărate centre de calcul mobile (Figura 4). O mașină în prezent conține software compilat din mai mult de 100 de milioane de linii de cod, iar din ce în ce mai multe unități de calcul au capabilitatea de a primi update-uri software, nefiind departe de tranziția înspre mașini care devin din acest punct de vedere un "telefon pe roți".
Figura 4. Ansamblu de unități de calcul, interconectate și având capabilitatea de a primi noi versiuni de software
Având capabilitatea de a rula inferențe de rețele neuronale on board, o parte din ce în ce mai mare din algoritmii folosiți în partea de percepție pentru conducere automată migrează de la o variantă clasică la abordarea orientată pe date și inteligență artificială (deep learning și rețele neuronale convoluționale).
Figura 5. Trecerea unor componente software de la algoritmi clasici la rețele neuronale
Devin astfel deosebit de importante seturile de date folosite pentru antrenarea acestor rețele neuronale. Calitatea rezultatelor depinde în acest context nu doar de calitatea algoritmului folosit ci și de calitatea datelor pe care le folosim pentru antrenarea rețelelor neuronale. Distribuția datelor folosite în antrenare trebuie să fie cât mai apropiată de cea a datelor achiziționate din mediul de operare, deci a scenelor de trafic în care operează sistemul de conducere automată.
Pentru a apropia cât mai mult distribuția seturilor de date de antrenare de distribuția datelor de intrare în mediul de operare, activăm posibilitatea de a colecta date din mediul de operare și de a colecta aceste date prin intermediul unor sisteme de conectivitate dintre mașină și cloud. Rețelele neuronale se re-antrenează pe baza noilor date și pe a distribui un update cu rezultatul (Figura 6 - Data loop).
Figura 6. Data loop pentru conducere automată
Concluzionăm prin a sintetiza direcțiile curente în dezvoltarea sistemelor de percepție video pentru conducerea automată. Trecerea la sistemele multi-cameră necesită dezvoltarea unor unități de calcul specializate având putere mare de calcul pentru a rula algoritmi de inteligență artificială. Aceștia necesită un set-up de îmbunătățire continuă pe bază de noi date asigurat prin conectivitate și data loops.