opularitatea crescândă a camerelor TOF (time of flight) în aplicațiile industriale, în special în robotică, se datorează abilităților lor excepționale de calcul al adâncimii și de imagistică în infraroșu (IR). În ciuda acestor avantaje, complexitatea inerentă a sistemului optic îngrădește adesea câmpul vizual, limitând funcționalitatea autonomă. Acest articol analizează un algoritm de îmbinare 3D a datelor de profunzime, creat pentru un procesor gazdă dedicat, eliminând necesitatea procesării în cloud. Algoritmul combină în timp real datele IR și de adâncime provenite de la mai multe camere TOF, generând o imagine 3D continuă, de înaltă calitate, cu un câmp vizual extins. Datele 3D asamblate permit aplicarea rețelelor moderne de învățare profundă, extrem de valoroase în aplicațiile de robotică mobilă, îmbunătățind modul în care sistemele percep și interacționează cu mediul lor tridimensional.
Introducere
Camerele TOF (Time of Flight) se disting ca sisteme de imagistică cu rază mare de acțiune, utilizând tehnici TOF pentru a determina distanța dintre cameră și fiecare punct dintr-o scenă. Acest lucru se realizează prin măsurarea timpului dus-întors al unui semnal luminos artificial emis de un laser sau LED. Camerele TOF oferă informații precise despre adâncime, ceea ce le face instrumente valoroase pentru aplicații în care măsurarea exactă a distanței și vizualizarea 3D sunt esențiale – inclusiv robotică și tehnologie industrială, de la detectarea coliziunilor până la detectarea prezenței umane într-un câmp vizual (FOV) de peste 270° pentru siguranță.
Senzorul TOF ADTF3175 poate atinge un FOV calibrat de 75°. Totuși, apar provocări atunci când aplicația necesită un FOV mai mare, ceea ce implică utilizarea mai multor senzori. Integrarea datelor de la senzori individuali pentru a obține o vedere completă poate fi dificilă. O soluție ar putea fi ca fiecare senzor să ruleze algoritmul pe propriul FOV parțial și să trimită rezultatul către procesorul gazdă. Însă această abordare generează probleme precum zone de suprapunere, zone moarte și latențe de comunicare, ceea ce o face dificil de gestionat eficient.
Abordare alternativă
O abordare alternativă implică asamblarea datelor colectate de la toți senzorii într-o singură imagine și aplicarea ulterioară a algoritmilor de detecție pe imaginea combinată. Acest proces poate fi delegat către un procesor gazdă separat, eliberând modulele senzorilor de sarcina de calcul și oferind resurse pentru analize avansate și procesări suplimentare.
Totuși, este important de menționat că algoritmii tradiționali de îmbinare a imaginilor sunt în mod inerent complecși și pot consuma o parte semnificativă din puterea de procesare a gazdei. În plus, trimiterea datelor în cloud pentru îmbinare nu este posibilă în multe aplicații industriale, din motive de confidențialitate și securitate.
Soluția algoritmică propusă de Analog Devices poate asambla imaginile de adâncime și IR provenite de la diferiți senzori prin utilizarea proiecțiilor norului de puncte generate din datele de adâncime. Procedura implică transformarea datelor folosind parametrii extrinseci ai fiecărei camere și re-proiectarea lor în spațiul 2D, rezultând o singură imagine continuă.
Această abordare minimizează semnificativ efortul de calcul, permițând atingerea vitezelor de operare în timp real la margine și lăsând procesorul gazdă disponibil pentru alte analize avansate.
Descrierea soluției
Soluția 3D TOF de la ADI constă în patru etape principale (vezi Figura 1):
- Preprocesarea datelor IR și de adâncime: sincronizarea temporală și preprocesarea datelor IR și de adâncime.
- Proiectarea datelor de adâncime într-un nor de puncte 3D: utilizarea parametrilor intrinseci ai camerei pentru a proiecta datele de adâncime într-un nor de puncte tridimensional.
- Transformarea și fuzionarea punctelor: transformarea punctelor utilizând pozițiile extrinseci ale camerei și fuzionarea regiunilor suprapuse.
- Proiectarea norului de puncte într-o imagine 2D: utilizarea proiecției cilindrice pentru a proiecta norul de puncte înapoi într-o imagine 2D.
Provocări și soluții legate de sistem și algoritm
Gazda primește cadre de adâncime și IR
Un sistem gazdă este conectat la mai mulți senzori TOF printr-o interfață de mare viteză, precum USB. Aceasta colectează cadre (frames) de adâncime și IR și le stochează într-o coadă (queue).
Sincronizarea datelor de adâncime și IR
Cadrele de adâncime și IR de la fiecare senzor ajung la gazdă în momente diferite. Pentru a evita neconcordanțele temporale cauzate de mișcarea obiectelor, intrările de la toți senzorii trebuie sincronizate la același moment. Se utilizează un modul de sincronizare a timpului, care potrivește cadrele primite pe baza marcajelor de timp din coadă.
Proiecția către norul de puncte
Norul de puncte este generat pe gazdă utilizând datele de adâncime sincronizate pentru fiecare senzor. Fiecare nor de puncte este apoi transformat (translatat și rotit) pe baza parametrilor extrinseci ai camerei (Figura 2), astfel încât să fie plasat corect în spațiul real. Ulterior, norii de puncte transformați sunt fuzionați pentru a forma un singur nor de puncte continuu, care acoperă FOV-ul combinat al senzorilor (Figura 3).
Proiecție 3D în 2D
Norul de puncte combinat al câmpului vizual este proiectat pe o suprafață 2D utilizând un algoritm de proiecție cilindrică, cunoscut și sub numele de proiecție frontală (vezi Figura 4). Cu alte cuvinte, algoritmul proiectează fiecare punct al norului de puncte combinat pe un pixel din planul 2D, generând o imagine panoramică continuă care acoperă câmpul vizual total al tuturor senzorilor.
Rezultatul constă în două imagini 2D îmbinate (stitched): una obținută din imaginile IR și una din imaginile de adâncime, ambele proiectate pe planuri 2D.
Îmbunătățirea calității proiecției
Proiecția norului de puncte 3D combinat într-o imagine 2D nu produce, inițial, imagini de calitate ridicată. Acestea prezintă distorsiuni și zgomot, afectând lizibilitatea vizuală și performanța oricărui algoritm care rulează ulterior pe proiecție. Cele trei probleme principale (vezi Figura 5), împreună cu soluțiile aferente, sunt prezentate în secțiunile următoare.
Proiecția regiunilor cu adâncime invalidă
Datele de adâncime ale ADTF3175 au valoarea de 0 mm pentru punctele care se află în afara domeniului de operare al senzorului (până la 8000 mm). Acest lucru duce la apariția unor regiuni goale întinse pe imaginea de adâncime și la formarea unor nori de puncte incomplete. Pentru a evita aceste goluri, tuturor punctelor invalide din imaginea de adâncime li s-a atribuit valoarea de 8000 mm (cea mai mare adâncime acceptată de cameră), iar pe baza lor a fost generat norul de puncte. Astfel, s-a asigurat că nu există zone lipsă în norul de puncte.
Umplerea pixelilor nemapați
În timpul proiectării norului de puncte 3D pe un plan 2D apar regiuni nemapate/necompletate în imaginea 2D. Mulți pixeli ai norului de puncte (3D) sunt proiectați pe același pixel 2D și, în consecință, o parte dintre pixelii 2D rămân goi (fără valori). Rezultatul este un efect de întindere (stretch) în imagine, așa cum se vede în Figura 6. Pentru a remedia această problemă, a fost utilizat un filtru 3 × 3 care umple pixelii nemapați cu valoarea medie IR/de adâncime a celor 8 pixeli vecini care au valori valide. Astfel se obține o imagine de ieșire mai completă și se elimină artefactele (vezi Figura 6).
Zgomot generat prin suprapunerea punctelor
Datorită algoritmului de proiecție cilindrică, multe puncte din regiunea suprapusă ajung să aibă aceleași coordonate pe imaginea proiectată 2D. Acest lucru generează zgomot, deoarece pixelii de fundal se suprapun peste cei din prim-plan. Pentru a remedia această problemă, distanța radială a fiecărui punct este comparată cu distanța punctului deja proiectat; punctul este înlocuit doar dacă se află mai aproape de originea camerei decât punctul existent. Această abordare permite păstrarea exclusiv a punctelor din prim-plan și îmbunătățește calitatea proiecției (vezi Figura 7).
Concluzie
Acest algoritm poate asambla imagini de la camere diferite cu o suprapunere mai mică de 5°, comparativ cu o suprapunere minimă de 20° necesară algoritmilor tradiționali de potrivire a punctelor cheie. Această abordare necesită foarte puține calcule, ceea ce o face ideală pentru sistemele edge. Integritatea datelor de adâncime este păstrată după asamblare, deoarece nu există distorsiuni ale imaginii. Această soluție susține în continuare implementarea modulară a senzorilor ADTF3175 pentru a obține FOV-ul dorit cu pierderi minime.
Extinderea FOV-ului nu se limitează la dimensiunea orizontală, iar aceeași tehnică poate fi utilizată pentru a extinde vizualizarea pe verticală, pentru a obține o viziune sferică reală. Soluția rulează pe un procesor edge Arm® V8, cu 6 nuclee, la 10 fps pentru patru senzori, oferind un FOV de 275°. Rata de cadre crește până la 30 fps atunci când sunt utilizați doar doi senzori.
Unul dintre avantajele cheie ale acestei abordări este câștigul masiv de calcul obținut — o reducere de peste 3× a volumului de operații necesare (vezi Tabelul 1).
| Algoritm | Număr mediu de operații în virgulă mobilă |
| Îmbinare tradițională a imaginilor | 857 milioane |
| Îmbinarea PCL propusă pentru datele de adâncime | 260 milioane (reducere de 3,29 ×) |
Tabelul 1. Comparație între complexitatea computațională: algoritmi tradiționali vs. algoritmul propus, pentru o intrare QMP de 512 × 512.
Figurile 8 și 9 prezintă câteva rezultate obținute utilizând această soluție.
Referințe
“Analog Devices 3DToF ADTF31xx.” GitHub, Inc.
“Analog Devices 3DToF Floor Detector.” GitHub, Inc.
“Analog Devices 3DToF Image Stitching.” GitHub, Inc.
“Analog Devices 3DToF Safety Bubble Detector.” GitHub, Inc.
“Analog Devices 3D ToF Software Suite.” GitHub, Inc.
He, Yingshen, Ge Li, Yiting Shao, Jing Wang, Yueru Chen, and Shan Liu. “A Point Cloud Compression Framework via Spherical Projection.” 2020 IEEE International Conference on Visual Communications and Image Processing, 2020.
Industrial Vision Technology. Analog Devices, Inc.
Topiwala, Anirudh. “Spherical Projection for Point Clouds.” Towards Data Science, March 2020.
Despre autori
Rajesh Mahapatra are peste 30 de ani de experiență profesională și lucrează în cadrul grupului Software și Securitate al Analog Devices, Bangalore. Este pasionat de rezolvarea problemelor clienților folosind algoritmi și software embedded care rulează pe soluții hardware ADI. Colaborează îndeaproape cu ONG-uri pentru a planta copaci și pentru a oferi instruire persoanelor din mediul urban aflate în dificultate economică, pentru a le ajuta să-și asigure mijloacele de trai. Deține cinci brevete în domeniul sistemelor, procesării imaginilor și viziunii computerizate.
Anil Sripadarao s-a alăturat Analog Devices în 2007 și lucrează în cadrul grupului Software și Securitate al ADI, Bangalore. Domeniile sale de interes includ codecuri audio/video, AI/ML, algoritmi de viziune computerizată și robotică. Deține șase brevete în domeniul procesării imaginilor și viziunii computerizate.
Swastik Mahapatra este inginer senior în domeniul învățării automate în cadrul Software and Security Group. S-a alăturat Analog Devices în 2018 și a lucrat la diverse tehnologii de viziune computerizată și soluții de siguranță robotică. A contribuit semnificativ la dezvoltarea framework-ului de inferență edge pentru învățare profundă, la dezvoltarea de aplicații robotice și este expert în rețele neurale convoluționale. Interesele sale profesionale includ dezvoltarea de algoritmi pentru viziune computerizată, viziune 3D, învățare automată și robotică.
Glosar de termeni
TOF (Time of Flight) – Tehnică de măsurare a distanței prin calculul timpului necesar unei unde luminoase să ajungă la obiect și să revină la senzor.
Câmp vizual (FOV – Field of View) – Extinderea unghiulară a scenei captate de un senzor de imagine.
Procesor gazdă (host processor) – Un procesor extern senzorului, responsabil cu prelucrarea suplimentară a datelor și execuția algoritmilor complecși.
Nor de puncte (point cloud) – Set de puncte în spațiul 3D, fiecare reprezentând o poziție calculată pe baza datelor de adâncime.
Parametri intrinseci / extrinseci ai camerei
– Intrinseci: caracteristici interne ale camerei (distorsiuni, focale, centrul optic).
– Extrinseci: poziția și orientarea camerei în spațiul 3D.
Îmbinare / asamblare (stitching) – Tehnica de a combina date sau imagini provenite de la mai multe camere într-o singură imagine continuă.
Proiecție cilindrică – Metodă de mapare a unui spațiu 3D pe un plan 2D, folosită pentru a obține imagini panoramice.
Pixeli nemapați (unmapped pixels) – Pixeli 2D care nu corespund niciunui punct valid din norul de puncte 3D.
Artefacte de proiecție – Distorsiuni sau neconcordanțe vizuale apărute în urma proiecției 3D → 2D.
Vizitați https://ez.analog.com
![]()










