Calcularea hărții de adâncime a imaginii stereo pe GPU în timp real -

CALCULAREA CARTEI DE DEPOZITARE STEREO IMAGINE PE PROCESORUL GRAFIC ÎN TIMP REAL

Kotyuzhansky L.A. 1

1 FGAOU HPE "Universitatea federală Ural numită după primul președinte al Rusiei BN. Yeltsin, Ekaterinburg







Se propune o metodă de mare viteză pentru calculul hărții de adâncime a unei imagini stereo, fiecare pixel al căruia conține informații despre distanța față de camera stereo, pentru implementarea pe un procesor grafic (GPU). Această soluție se bazează pe utilizarea mai multor ferestre glisante ale structurii adaptive cu pre- și post-procesare a imaginilor de intrare și ieșire. Performanțele ridicate sunt realizate datorită arhitecturii GPU-urilor moderne, care sunt cele mai potrivite pentru rezolvarea problemei calculării hărții adâncime prin metode locale. Comparația timpului de rulare al algoritmului cu procesorul central (CPU) și GPU demonstrează scalabilitatea ridicată a soluției propuse. Viteza mare va permite utilizarea acestei metode în sarcini în timp real, de exemplu, în robotică și crearea de interfețe naturale. Sunt discutate modalitățile de îmbunătățire posibilă a acestei metode.

3. Harris J. Fluid Dynamics Dynamics simulare pe GPU / J. Harris // http.developer.nvidia. com / GPUGems / gpugems_ch38.html.

4. Harris J. Prins J. Nyland L. Rapidă simulare N-corp cu CUDA / J. Harris / Prins J / Nyland L // Gemuri GPU 3 Capitolul 31.

Una dintre sarcinile importante ale viziunii stereo este procesul de transformare a două imagini plate într-o scenă tridimensională, cu restaurarea informației despre adâncimea fiecărui punct al unei imagini plate (distanța de la camera stereo la punctul corespunzător al scenei reale).

Cunoscând informațiile referitoare la adâncime (funcție de două variabile), puteți genera modele 3D peisaje și alte obiecte naturale pentru a fi utilizate în diverse aplicații, cum ar fi realitatea virtuală, simularea zborurilor, robotica. În special, cunoașterea punctelor de imagine la distanță ale prototipului real, vă permite să capturați o mișcare de puncte de referință obiect pentru a obține coordonatele tridimensionale, care este importantă în industria de efecte speciale, film și televiziune. GCP coordonate de captare permite să construiască fără contact interfețe unice om-mașină, de control, în care mișcările degetelor sau chiar gesturi în spațiu, la o oarecare distanță de camera stereo.

În prezent există metode active și pasive de recuperare a informațiilor despre profunzimea scenei reale. Metodele active utilizează traductoare cu ultrasunete sau iluminarea cu laser a spațiului de lucru, care furnizează informații rapide și exacte privind adâncimea la ieșire [2, 6]. Cu toate acestea, aceste metode au limitări în raport cu gama de măsurători și costul componentelor hardware.

Calcularea hărții de adâncime a imaginii stereo pe GPU în timp real -

Fig. 1. Procedura generală pentru calcularea hărții de adâncime

Scopul acestei lucrări este de a dezvolta o metodă și un modul software pentru calcularea unei hărți de adâncime de calitate acceptabilă în cele mai scurte intervale de timp în regiunea de la 10 la 40 de milisecunde pe echipamente necostisitoare. Aceste cerințe sunt dictate de faptul că acest modul este destinat interacțiunii cu alte module software, ale căror sarcini includ urmărirea obiectelor, identificarea fețelor și a gesturilor. Toate modulele trebuie să funcționeze în timp real pe un PC într-un singur sistem software de vizualizare a mașinilor pentru a capta traficul uman și controlul multimedia fără contact.

Ordinea generală a calculelor este prezentată în Fig. 1. Se compune din preprocesarea datelor de intrare, calculul disparității pixelilor și postprocesarea finală a datelor de ieșire de către filtrul median.

Prima etapă a calculelor este obținerea de imagini de gradient ale stereopairului prin metoda de convoluție (Figura 2) [5]

Aici Ci este pixelul procesat al imaginii din stânga; Ii (i. J) - pixelul original de pe imaginea din stânga; N (x, Y) este o vecinătate de 3 × 3 pixeli; M (i. J) este un element al matricei de convoluție binecunoscute







Calcularea hărții de adâncime a imaginii stereo pe GPU în timp real -

Fig. 2. Selectarea contururilor din imagine

Apoi, se calculează o combinație liniară de imagini gradient și sursă cu un parametru variabil k (figura 3).

Utilizarea acestei preprocesări reduce în mod semnificativ probabilitatea de eroare în calcularea adâncimii pixelului, mai ales dacă pe perechea stereo sunt zone omogene, cu contrast redus (figura 4).

Disparitatea pixelului d prin definiție este egală cu distanța dintre pixelii corespunzători ai imaginilor din stânga și din dreapta (corespondența este stabilită prin procesarea rând-pe-pixel pe linia de imagine selectată y)

Aici xl este poziția pixelului selectat al liniei fixe y din imaginea din stânga, xr este poziția pixelului corespunzător al acestei linii în imaginea din dreapta.

Pentru a găsi xr, pentru fiecare element (x. Y) al liniei y a imaginii drepte, se calculează suma valorilor pixelilor C cu cartierele, după cum se arată în [8].

unde W (x, y) este un cartier (fereastră) de pixeli centrat la (x, y).

Sub cost se înțelege modulul diferenței dintre pixelii din stânga (selectați) și din dreapta (preluați):

Aici p este pixelul din imaginea din stânga; q este pixelul din imaginea corectă; d - discrepanță selectabilă.

Apoi, valoarea minimă corespunzătoare poziției pixelului cu coordonatele (xl - d. Y) din imaginea din dreapta este aleasă din toate sumele valorilor obținute prin metoda de enumerare. Acest principiu este utilizat în diferite variante în mai multe lucrări, în special în lucrarea cu implementarea ferestrei adaptive [8]. Deci, pixelii cei mai apropiați și cartierele lor de pe imaginea stângă și dreaptă de-a lungul liniei orizontale vor forma costul minim.

Metodele locale, prin creșterea dimensiunii ferestrei glisante, pe de o parte, scade probabilitatea unor erori în determinarea discrepanței de pixel, iar pe de altă parte, crește în mod semnificativ cantitatea de calcul, ceea ce face ca această metodă puțin adecvată pentru calcule pe stereopairs de înaltă rezoluție în timp real. În plus, apare efectul de "balonare" în prim-plan (Figura 4).

Calcularea hărții de adâncime a imaginii stereo pe GPU în timp real -

Fig. 3. k = 0,5; P - pixel procesat, I - pixel al imaginii originale: C - pixel al imaginii gradientului

Calcularea hărții de adâncime a imaginii stereo pe GPU în timp real -

Fig. 4. Avantajele datelor de intrare preprocesare - calcularea hărții de adâncime folosind preprocesarea (stânga)

Dacă utilizați ferestre cu o structură adaptivă, puteți obține o hartă de adâncime suficient de bună, dar din nou necesită o cantitate semnificativă de calcul.

În metoda propusă, pentru a obține un echilibru optim între viteză și calitate, se folosesc două ferestre unidimensionale - verticale și orizontale. Fiecare fereastră este construită din centrul pixelului examinat. Sub vid, se înțelege că fereastra constă nu din pixeli apropiați unul de celălalt, ci de pixeli care se află la o anumită distanță una de alta, de exemplu, doi, patru, șase pixeli. Acest lucru face posibilă creșterea substanțială a vitezei de calcul cu o creștere nesemnificativă a erorii (figura 5).

Pentru a calcula costul a două single

Fig. 5. Rezultatele calculelor pentru diferitele variante ale metodei de construire a unei hărți de adâncime: a - fereastră 3 × 3 - timp de calcul 7,6 ms; b - fereastra 10 × 10 - 125 ms; c - fereastra 21 × 21 - 700 ms; d - două ferestre rar întâmplătoare unidimensionale 20 × 1, cu o etapă de diluție de 4 pixeli - 11,7 ms

Se folosesc următoarele formule:

Aici, Wh și Wv sunt cartierele orizontale și verticale ale pixelului centrat la (x, y); Ch este costul ferestrei orizontale; Cv - costul ferestrei verticale; Cd - costul total la punctul (x - d. Y).

Subliniem faptul că operația de sumare în aceste formule este efectuată în ceea ce privește indicatorii de sumare care variază cu un pas care nu este egal cu unul (efectul ferestrei subțiate (vecinătate)).

În procesul de dezvoltare a acestei metode, am identificat modalități de îmbunătățire a calității și de optimizare a vitezei de calcul. Deci, pentru eliminarea aproape completă a zgomotului și creșterea clarității limitelor obiectelor pe hartă de adâncime, poate fi utilizată segmentarea imaginii de intrare. Acest lucru vă va permite să găsiți harta de adâncime nu pentru fiecare pixel specific al imaginii, ci pentru un set de plane-segmente ale imaginii. O altă abordare este procesarea prin algoritmul propus a numai regiunilor de interes ale imaginii sau calcularea valorii adâncimii numai pentru obiectele în mișcare din cadrul camerei stereo.

Grebennikov V.I. Doctor de fizică-matematică. Profesor, cercetător șef, Institutul de Fizică a Metalului, UrB RAS, Ekaterinburg;

Gottlieb B.M. Doctor în științe tehnice. profesor, șef al departamentului "Mechatronică" FGBOU HPE "Universitatea de Stat de Transport Ural", Ekaterinburg.

Vă aducem la cunoștință jurnale publicate în editura "Academia de Istorie Naturală"

(Factor de impact ridicat al RINC, subiectul jurnalelor acoperă toate domeniile științifice)

Jurnal științific ISSN 1812-7339 | ПИ №77-63397

Serviciul de asistență tehnică - [email protected]

Secretarul executiv al revistei Bizenkov M.N. - ediț[email protected]



Materialele revistei sunt disponibile sub licența Creative Commons "Attribution" 4.0 World.







Trimiteți-le prietenilor: