ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 150
Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 98
Abonament PDF

Viziunea artificială în domenii non-automotive

Carmen Hosu
Software Engineer @ Centrul de Inginerie Bosch Cluj



Cătălin Golban
Head of Department Engineering Systems Vision @ Centrul de Inginerie Bosch Cluj



PROGRAMARE


Pe lângă senzorii precum RADAR, LiDAR și ultrasunete, viziunea artificială este intens folosită în ultimii douăzeci de ani în automotive, pentru a realiza partea de percepție. Aceasta este o tehnologie esențială în momentul dezvoltării sistemelor de confort și siguranță, atât pentru situații de parcare, cât și pentru scenarii de conducere pe care le regăsim în oraș, autostrăzi sau drumuri extra-urbane și rurale. Figura 1 ilustrează diverse funcții de conducere asistată și automată precum și nivelul de automatizare asociat acestora în funcție de gradul de complexitate și de necesitatea de a fi supervizate de către un șofer. Deși tehnologiile de percepție sunt dezvoltate anume pentru scenarii de trafic, metodele și tehnicile de viziune artificială folosite pentru conducerea automată sunt general valabile și complet reutilizabile și în alte domenii.

Practic, folosind metode de viziune artificială, transformăm o cameră (senzor video) dintr-un dispozitiv de făcut poze într-un dispozitiv de detecție și măsurare. Camera este transformată într-un dispozitiv de detecție pentru că din imaginile acesteia se identifică și se clasifică diverse obiecte din scenă. (În cazul conducerii automate este vorba de entități precum marcaje rutiere, mașini, pietoni, cicliști, animale adică orice tip de obiecte generice care obstrucționează traiectoria mașinii sau diferite semne de circulație, semafoare, elemente de infrastructură precum sensuri giratorii, balustrade laterale, marcaje ale zonelor aflate în construcție etc.) Camera devine un dispozitiv de măsurare deoarece pentru entitățile detectate se determină atribute 3D, trecându-se astfel din spațiul bidimensional al imaginii în spațiul tridimensional unde estimăm structura scenei (exemple din automotive: ecuația suprafeței drumului, ecuații 3D pentru marcaje rutiere sub forma unor linii poligonale sau ecuații polinomiale, mișcarea camerei - numita și odometrie, poziții 3D ale oricărui obiect detectat, distanțe longitudinale, distanțe laterale, înălțimile și lățimile obiectelor, viteze, accelerații etc.

Figura 1 - Exemple de funcții de conducere și parcare automată

Percepție 3D și inteligență artificială

Abordările algoritmice relevante, ca detecția de obiecte și segmentare semantică pe baza de rețele neuronale convoluționale (Figura 2), sunt intens studiate în ultimii cinci ani, existând în consecință numeroase resurse detaliate care ajută la studiul și înțelegerea acestora [1].

Figura 2 - Segmentare semantică folosind rețele neuronale convoluționale (deep learning) [4]

Figura 3 - Fluxul optic reprezentând mișcarea aparentă a pixelilor în imagine [4]

La fel de importante sunt metodele de reconstrucție 3D. Practic, pe baza mișcării aparente a pixelilor în imagine (Figura 3) și pe baza mișcării camerei (odometrie) se estimează structura 3D a scenei. Pentru resurse publice unde sunt prezentate mai detaliat astfel de metode facem referire înspre [2] si [3], dar considerăm că principiile de bază merită analizate intuitiv, într-o variantă simplificată și ușor de înțeles. Vom face acest lucru în continuare.

Figura 4 - Intuiția efectului de eliminare a distorsiunilor pentru o imagine cu o tablă de șah (folosită des în procesul de calibrare)

Figura 5 - Modelul de proiecție al perspectivei, valabil după eliminarea distorsiunilor. Punctul P marcat cu albastru în figură se proiectează pe imagine în pixelul marcat cu verde, unind punctul P cu centrul O de proiecție al camerei.

Orice cameră poate fi calibrată, astfel încât modul în care aceasta vizualizează o scenă 3D din lumea reală să se facă pe baza unui model de proiecție perspectivă. Această calibrare constă practic în determinarea coeficienților de distorsiune ai lentilelor, precum și a punctului principal și a distanțelor focale. Există numeroase aplicații publice care să efectueze acest proces de calibrare pentru orice cameră [7], [8], [9]. Pe baza coeficienților de distorsiune imaginea achiziționată de cameră se re-mapează pentru a elimina efectul acestora (Figura 4), iar pentru o imagine re-mapată modelul de proiecție perspectivă este valid (Figura 5). Acesta este un procedeu general valabil, independent de domeniul aplicațiilor pe care le rezolvăm cum metode de viziunea artificială. În cazul unei camere aflate în mișcare, folosind mișcarea pixelilor în imagine putem deduce reconstrucția 3D a scenei (Figura 6).

Figura 6 - Ecuațiile de reconstrucție 3D în cazul unei mișcări în lungul axei optice

Considerăm o vizualizare top-view a unei camere al cărei centru se deplasează cu ∆d din O în O', și proiecțiile p și p' ale unui punct P în cele două poziții succesive ale camerei. Coordonatele punctului P sunt (x,z) în sistemul de coordonate al camerei O, respectiv (x,z-∆d) în sistemul de coordonate al camerei O'. Folosind triunghiuri asemenea, se pot deduce ecuațiile (*) si (*). Observam că dacă u, u' (capetele unui vector de flux optic - vezi Figura 3) și ∆d* (mișcarea camerei) sunt cunoscute, atunci putem calcula valorile (x,z) reprezentând poziția 3D a acestuia. Ecuații similare se pot scrie pentru o proiecție laterală a scenei, rezultând și coordonata y a punctului P(x,y,z). Desigur că în realitate modeulul matematic se complică, mișcarea nu va fi pe o singură axă ci va fi compunerea unei rotații și a unei translații, iar determinarea punctului 3D trebuie să considere precizia cu care estimăm capetele vectorului de flux optic.

Exemple de domenii și aplicații conexe

Viziunea artificială și-a găsit aplicabilitatea în numeroase domenii. Pe lângă percepție pentru conducere automată, se aplică și pentru diverse mașini industriale, camere de supraveghere, drone, sub-marine, roboți care să navigheze în spații in care poziționarea pe bază de sateliți nu este disponibilă, endoscopie etc. Lista este foarte lungă deoarece camerele video sunt dispozitive relativ ieftine și practic, datorită noilor tehnologii de procesare, video orice dispozitiv care are atașată o cameră poate să devină un dispozitiv inteligent. În continuare prezentăm pe scurt niște aplicații noi inspirate din proiectele pe care le avem in Centrul de Inginerie din Cluj-Napoca.

Exemple de aplicații pentru trenuri inteligente

Unul dintre primele proiecte non-automotive din Centrul de Inginerie din Cluj-Napoca unde am folosit viziune artificială, proiect care totuși rămâne în sfera soluțiilor de mobilitate este legat de sisteme pentru trenuri și tramvaie. Principalul obiectiv pentru trenurile și tramvaiele autonome constă în operarea pe infrastructura existentă, evitarea accidentelor precum și optimizarea vitezei și fluidizarea traficului, ceea ce conduce la o mai bună regularitate și punctualitate a trenurilor. De asemenea energia consumată va fi mai scăzută.

Figura 7 - Sisteme de siguranta pentru tramvaie

Din perspectiva metodelor de viziune artificială folosite, chiar dacă obiecte precum mașini sau pietoni rămân în continuare relevante, problema devine diferită din două motive principale. În primul rând, detecția benzii de mers se reduce la detecția șinelor pe care trenul sau tramvaiul va merge, iar interpretarea dinamicii scenei este ghidată de aceasta traiectorie pe care trenul sau tramvaiul implicit o va urma (Figura 7). De asemenea, întreaga semnalizare feroviară este complet diferită de cea rutieră. Prin urmare, metode precum detecția și clasificarea semafoarelor sunt adaptate la noile cerințe (Figura 8). Dezvoltarea unor astfel e tehnologii permite progresul în toate domeniile cheie pentru viitorul tren autonom, incluzând detectarea obstacolelor, geolocalizare, supravegherea mediului și a trenurilor, servicii pentru clienți și gestionarea evenimentelor neașteptate.

Figura 8 - semafoare și tăblițe de semnalizare pentru scenarii feroviare

Provocări în instalarea camerelor inteligente pe motociclete

Tranziția de la camere inteligente pentru mașini la camere inteligente pentru motociclete este una relativ simplă. Considerând dinamica unei motociclete, cu siguranță vor apărea viteze și accelerații relativ mai mari, precum și o înclinație a motocicletei față de drum, mai mare decât în cazul unei mașini [6]. Astfel, toți algoritmii inteligenți trebuie ajustați în așa fel încât să se țină cont de aceste particularități (ex: detecție de obiecte când avem o înclinație laterală de 20-25 de grade).

Figura 9 - Senzori video folosiți cu scop de detecție și măsurare pentru motociclete

Sisteme multi-camera pentru utilaje industriale

Figura 10 - Imagine panoramică construită pe baza unui sistem de patru camere [5]

Un alt exemplu de reutilizare a tehnologiei automotive în alte domenii este legat de folosirea camerelor de parcare, pentru utilaje industriale. La fel ca și în cazul sistemelor de asistență la parcare, pe baza a patru camere poziționate pentru a acoperi 360 de grade în jurul utilajului, se creează o imagine panoramică top-view (Figura 10). Desigur că, având atât imaginile celor patru camere, cât și combinația panoramică a acestora, multitudinea de funcții pe care ni le putem imagina din detecțiile și măsurătorile care se pot face dintr-o astfel de reprezentare este foarte mare (ex: avertismente pentru a evita accidentele, vizualizări avansate), totul culminând în a avea hale industriale prin care navighează roboți industriali complet automatizați (Figura 11).

Figura 11 - Viziunea de a avea spații industriale prin care navighează roboți industriali automatizați

Concluzii

Deși metodele avansate de inteligență și viziune artificială sunt intens folosite în anumite domenii precum percepția pentru conducere automată, principiile teoretice pe care se bazează acestea sunt general valabile: orice dispozitiv căruia îi este atașată o cameră poate să devină un dispozitiv inteligent. În plus, aceste metode pot fi oricând utilizate off-line, pentru procesarea și extragerea de informație din imagini sau date video înregistrate anterior. Datorită creșterii puterii de calcul și a dezvoltării accentuate a domeniului, favorizată de investiții masive în cercetare și dezvoltare, oportunitatea de a dezvolta produse și tehnologii noi este mai mare ca niciodată.

Referințe

[1] https://www.deeplearning.ai/deep-learning-specialization/

[2] https://paperswithcode.com/task/depth-and-camera-motion

[3] https://towardsdatascience.com/structure-from-motion-311c0cb50e8d

[4] https://www.bosch.com/stories/mpc3-self-driving-car-camera/

[5] https://www.bosch-presse.de/pressportal/de/en/bosch-makes-driving-forklifts-even-safer-209088.html

[6] https://www.bosch.com/stories/motorcycle-safety-systems/

[7] Z Zhang. A Flexible New Technique for Camera Calibration. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330-1334, 2000

[8] J. Bouguet, Camera calibration toolbox for matlab

[9] Camera Calibration and 3D Reconstruction, OpenCV Documentation

NUMĂRUL 149 - Development with AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects