RO127451A2 - Metodă optimizată de determinare a histogramei imaginilor în tonuri de gri, pe platforme de procesare paralelă - Google Patents

Metodă optimizată de determinare a histogramei imaginilor în tonuri de gri, pe platforme de procesare paralelă Download PDF

Info

Publication number
RO127451A2
RO127451A2 ROA201000936A RO201000936A RO127451A2 RO 127451 A2 RO127451 A2 RO 127451A2 RO A201000936 A ROA201000936 A RO A201000936A RO 201000936 A RO201000936 A RO 201000936A RO 127451 A2 RO127451 A2 RO 127451A2
Authority
RO
Romania
Prior art keywords
image
histogram
determined
processing unit
gray tones
Prior art date
Application number
ROA201000936A
Other languages
English (en)
Inventor
Radu Nicolae Dobrescu
Ştefan Mocanu
Daniela Saru
Daniela Hossu
Original Assignee
Universitatea "Politehnica" Din Bucureşti
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Universitatea "Politehnica" Din Bucureşti filed Critical Universitatea "Politehnica" Din Bucureşti
Priority to ROA201000936A priority Critical patent/RO127451A2/ro
Publication of RO127451A2 publication Critical patent/RO127451A2/ro

Links

Landscapes

  • Image Processing (AREA)

Abstract

Invenţia se referă la o metodă optimizată de determinare a histogramei imaginilor în tonuri de gri, pe platforme de procesare paralelă. Metoda conform invenţiei constă în încărcarea unei imagini () de prelucrat şi dacă această este o imagine () color, se transformă într-o imagine () în tonuri de gri, se determină histograma () imaginii în tonuri de gri, aceasta urmând a fi salvată într-o bază de date () sau transmisă către alte blocuri () de prelucrare, pentru utilizare în timp real, iar dacă imaginea () de prelucrat este o imagine în tonuri de gri, determinarea histogramei () se face diferenţiat, în funcţie de dimensiunea imaginii () analizate, rezultând fragmentarea acesteia, analiza fiecărui fragment făcându-se independent, în mod paralel (), folosind o unitate de procesare grafică cu capabilităţi extinse, GPGPU (), apoi se determină histograma fiecărui fragment de imagine, iar histograma imaginii iniţiale se obţine prin însumarea histogramelor parţiale, determinate anterior.

Description

Domeniul tehnic în care se încadrează invenția este cel al procesării digitale a imaginii. Invenția poate fi utilizată ca etapă premergătoare în căutarea, analiza și interpretarea imaginilor, pe bază de conținut, în domenii precum: medicină, astronomie, criminalistică. Invenția face uz de GPGPU (Def. 2)
Operațiile de achiziție de imagini (scanare de radiografii, fotografii sau achizițiile directe în format digital precum: computer-tomograf, rezonanță magnetică, fotografii) generează un volum impresionant de informații. Provocarea actuală constă în prelucrarea acestora într-un timp cât mai scurt, cu un consum cât mai redus de resurse hardware și cu parametri de calitate ridicați. Este cunoscută ca etapă de prelucrare digitală a imaginilor în tonuri de gri (alb-negru) determinarea histogramei acestor imagini. Calculul histogramei (Def. 9) în tonuri de gri prin metode tradiționale duce la timpi de procesare mari și consum nejustificat de resurse hardware (Def. 7). De exemplu, pentru obținerea histogramei folosind resursele obișnuite ale sistemului de calcul (procesor, memorie RAM - Def. 3) și metodele tradiționale, timpul de determinare a histogramei unei imagini de dimensiuni mari (de ex., 10000x10000 pixeli - Def. 8) este mai mare de 600ms.
Marea majoritate a aplicațiilor de procesare digitală a imaginilor includ ca etapă obligatorie determinarea histogramei în tonuri de gri. Problema tehnică pe care o rezolvă invenția este reducerea considerabilă a duratei de prelucrare a imaginilor în tonuri de gri în vederea determinării histogramelor acestora. Prin aplicarea metodei timpul de determinare a histogramei unei imagini în tonuri de gri de dimensiuni mari (de ex., 10000x10000 pixeli) este mai mic de 75ms.
Prin aplicarea invenției se obțin următoarele avantaje:
1. Metoda este independent de tipul sistemului de calcul și al SO (Def. 6) singura constrângere fiind existența unui procesor grafic GPGPU cu suport CUDA.
2. Prin utilizarea sa se obțin timpi de prelucrare considerabil îmbunătățiți. în cazuri ce se întâlnesc frecvent în domeniile menționate anterior (imagini de mari dimensiuni) s-au înregistrat reduceri de până la 20 de ori pentru timpii de procesare (Tabel 1)
3. Folosind metoda descrisă, resurse critice ale sistemului de calcul (CPU, RAM), sunt degrevate de eforturi nejustificate.
Se dă în continuare un exemplu concret de realizare a invenției în legătură cu figurile 1 -3 care reprezintă:
- figura 1 - arhitectura sistemului de calcul pe care se implementează efectiv invenția;
- figura 2 - organigrama metodei optimizate de determinare a histogramei imaginilor in tonuri de gri pe platforme de procesare paralelă, conform invenției;
- figura 3 - organigrama deteminării histogramei
Invenția de față se referă la o metodă optimizată de determinare a histogramei imaginilor în tonuri de gri folosind o platformă de procesare paralelă formata dintr-un sistem de calcul 1 prevăzut cu o placă video 4 având o unitate de procesare grafică cu capabilitați extinse 7.
Metoda poate fi implementată pe orice sistem de calcul dotat cu un procesor grafic GPGPU cu suport CUDA (Def. 5). Cu mici modificări ale aplicației de test, metoda poate fi aplicată și pe alte tipuri de GPGPUuri.
Figura 1 prezintă arhitectura hardware minimală a unui sistem de calcul necesară pentru a putea aplica metoda. Elementele majore ale sistemului sunt reprezentate de unitatea centrală de procesare 2, memorie RAM 3, placa video 4 dotată cu memorie proprie 5 și
6V 2 3 1 O - o o 9 3 6 - =
O 4 -W- 20W
unitate de procesare grafică cu capabilități extinse 7. Aceasta, la rândul său, este formată din mai multe multiprocesoare 8 și o memorie rapidă 6.
Noutatea și originalitatea metodei sunt concretizate în pasul 12. Ceilalți pași pot fi implementați și într-o abordare tradițională. Prin abordare tradițională înțelegem derularea secvențială a calculului histogramei folosind pentru aceasta un CPU (Def. 4). într-o astfel de abordare, rularea metodei presupune execuția aplicației de test exclusiv pe CPU și stocarea rezultatelor (temporară sau nu) exclusiv în memoria centrală a sistemului. Un prim dezavantaj al abordării tradiționale constă în ocuparea inutilă a procesorului central (CPU) și a memoriei centrale care nu mai pot deservi eficient și alte cereri. Un alt dezavantaj major constă în timpul mare de așteptare a rezultatului, timp care depinde foarte mult și de mărimea imaginii analizate.
Metoda supusă atenției degrevează CPUul și memoria centrala folosind resursele GPGPU-ului (memorie și procesoare). Pentru determinarea efectivă a histogramei, imaginea dreptunghiulara testată este împartiță în mai multe sub-imagini de aceeași formă geometrică. Fiecare astfel de sub-imagine este prelucrată de către un procesor al GPGPU, obținându-se astfel mai multe sub-histograme. în final sub-histogramele sunt asamblate (tot la nivelul GPGPU) și se obține histograma imaginii inițiale. Cu referire la figura 2, pașii 9-11 reprezintă pași preliminări. Indiferent de arhitectură, încărcarea imaginii 9 se face secvențial prin citirea matricei grafice (pe linii) și interpretarea informațiilor. Dacă se constată ca imaginea este color 10 aceasta este transformată într-o imagine în tonuri de gri 11. Pașii 13-15 reprezintă etape de valorificare a rezultatelor obținute. Dacă metoda va fi parte componentă a unei aplicații mai ample, se va opta pentru transmiterea rezultatelor către blocuri ulterioare de prelucrare în timp real 14. Dacă metoda va fi utilizată pentru o clasificare a imaginilor într-o bază de date, se va opta pentru scrierea rezultatelor în baza de date 15.
Etapa preliminară de determinare a histogramei în tonuri de gri este foarte importantă pentru aplicațiile de procesare a imaginilor digitale. în cazul sistemelor de calcul dotate cu placă video cu suport CUDA metoda descrisă conduce la optimizarea performanțelor legate de timp și resurse.
Figura 2 este figura principală a cererii de brevet. Metoda descrisă se derulează secvențial după cum este evidențiat prin pașii 9-15 în continuare este prezentat modul în care metoda a fost implementată și testată de către autori prin dezvoltarea unui program de calculator în limbajul C++. Acest tip de aplicație este o modalitate bună de test, având în vedere faptul că o imagine digitală este reprezentată ca o matrice de pixeli. Mai mult, numărul elementelor acestei matrici variază în funcție de dimensiunea imaginii, astfel încât pentru o imagine cu o rezoluție mare este necesar un volum de calcul substanțial. Pasul 9 reprezintă o secvență de program care are ca efect încărcarea unei imagini în memoria calculatorului. Pasul 10 reprezintă secvența de program prin care se decide dacă imaginea este color sau nu. Dacă imaginea este color, se procedează la transformarea acesteia într-o imagine în tonuri de gri 11 folosindu-se o formula derivata din formula generala Y=a*R+b * V+ c * A unde Y reprezintă valoarea intensității luminoase a unui pixel, R valoarea de roșu, V valoarea de verde, iar A valoarea de albastru a unui pixel. Forma particulară a formulei folosite în cadrul invenției este Y = 0.293 * R +0.595 * V + 0.112 * A, coeficienții indicați fiind validați de către autori după numeroase teste efectuate.
Dacă imaginea este direct în tonuri de gri, se sare peste pasul 11. Pasul 12 reprezintă secvența care determină histograma imaginii. Acest pas face uz de GPGPU pentru calculul paralel al histogramei. în funcție de decizia luată la pasul 13, metoda poate transmite histograma către un alt modul sau bloc de prelucrare în timp real 14 sau poate stoca histograma și imaginea într-o bază de date 15 pentru utilizări ulterioare. O aplicație tipică în acest sens o reprezintă căutarea imaginilor în baze de date de imagini. Histograma imaginii (V 2010-00936-Ο 4 -10- 2010
poate fi utilizată ca element de bază în reducerea volumului de căutări și, implicit, a timpului de oferire a unui rezultat. De exemplu, la căutarea unei imagini nocturne vor fi ignorate rapid acele imagini pentru care histogramele indică existența multor pixeli de nuanțe deschise.
Etapele determinării histogramei 12 sunt detaliate în Figura 3. Imaginea în tonuri de gri este analizată 16 pentru a i se determina dimensiunea. în funcție de aceasta se stabilește gradul de fragmentare al imaginii 17. Fiecare fragment este analizat independent 18, paralel, obținându-se câte o sub-histogramă sau histogramă parțială 19. Determinarea unei histograme se face numărând exact câți pixeli dintr-o anumită nuanță de gri (ton de gri) se găsesc în fragmentul de imagine analizat. Prin însumarea tuturor histogramelor parțiale obținute se obține histograma imaginii complete 20.
Rezultatele experimentale obținute sunt prezentate în tabelul 1 din care rezultă (coloana 1) că, prin metode tradiționale, histogramele unor imagini cu dimensiuni de la mari (4000x4000 pixeli) la foarte mari (10000x10000 pixeli) se obțini în timpi cuprinși între 100,70ms și 634,37ms. Folosind metoda cf. Invenției (coloana 3, coloana 4 și coloana 5) timpii de determinare a histogramelor se reduc astfel:
- între 8,30ms și 72,30ms pentru grad mic de fragmentare
- între 7,96ms și 63,3 lms pentru grad mediu de fragmentare între 5,72 ms și 44,1 lms pentru grad mare de fragmentare
Tabelul 1. Performantele metodei în funcție de dimensiunea imaginilor analizate și de gradul de fragmentare a imaginii
Dimensiune imagine (pixeli) (Def. 8) Rezultate
CPU GPU - PI GPU - P2 GPU - P3
4000 x 4000 100,70 ms 8,30 ms 7,96 ms 5,72 ms
5000 x 5000 158,70 ms 13,46 ms 12,85 ms 9,40 ms
6000 x 6000 228,90 ms 20,80 ms 19,93 ms 14,00 ms
7000 x 7000 310,57 ms 30,22 ms 28,98 ms 20,23 ms
8000 x 8000 406,721 ms 42,17 ms 40,25 ms 26,74 ms
9000x9000 513,21 ms 55,63 ms 53,46 ms 34,68 ms
10000 x 10000 634,37 ms 72,30 ms 63,31 ms 44,11 ms
CV 2 Ο 1 Ο - Ο Ο 9 3 6 - Ο 4 -10- 2010
Definiții:
1. GPU = Graphic Processing Unit (eng.)- Unitate de Procesare Grafică. Este un procesor dedicat prelucrărilor necesare afișării imaginii pe un dispozitiv de redare (monitor, televizor, proiector video). Se regăsește, de obicei, pe placa video a unui calculator dar si a altor dispozitive cum ar fi: telefon mobil, consola jocuri, etc.
2. GPGPU = General Purpose Graphic Processing Unit (eng.) - Unitate de Procesare Grafică cu Capabilități Extinse. Este un procesor grafic care depășește cu mult capabilitățile unui simplu procesor grafic prin faptul că o mare parte din resursele sale pot fi folosite și în alte scopuri decât prelucrările grafice. Un GPGPU este compus din mai multe procesoare care, la rândul lor, sunt compuse din mai multe sub-procesoare.
3. RAM = Random Access Memory (eng.) - Memorie cu acces aleator. Este un suport volatil de stocare a informației specific calculatoarelor. închiderea sau repomirea calculatorului duce la pierderea informațiilor din această memorie. Scrierea și citirea acestora pot fi făcute în/din orice zonă liberă a memoriei într-un timp foarte scurt și constant, spre deosebire de dispozitivele de stocare cu componente mecanice de tip disc optic sau disc magnetic.
4. CPU = Central Processing Unit (eng.) - Unitatea principală de prelucrare a unui calculator
5. CUDA = Compute Unified Device Architecture (eng.) - Arhitectură destinată prelucrărilor parelele dezvoltată de compania Nvidia. Inițial a fost concepută doar pentru utilizarea în unitățile de procesare grafică (GPU - Def 1). CUDA oferă posibilitatea de a rula aplicații paralele de interes general pe GPU
6. SO = Sistem de Operare. Ansamblu de programe de mare importanță pentru sistemul de calcul. Sistemul de Operare gestionează dispozitivele de intrare și ieșire ale sistemului de calcul precum si modul în care aplicațiile utilizatorilor interacționează cu acestea.
7. Resurse hardware (eng.) = Totalitatea resurselor fizice din care este compus un sistem de calcul.
8. Pixel = Cel mai mic element al unei imagini digitale. Este punctul dat de intersecția unei linii cu o coloană.
9. Histograma = Grafic format din coloane verticale alăturate a căror dimensiune (înălțime) este proporțională cu numărul de apariții ale unor componente aparținând obiectului studiat, în cazul imaginilor în tonuri de gri, coloanele histogramei reprezintă numărul de pixeli având o anumită nuanță de gri. Stocarea si prelucrarea histogramei se face folosind un vector de tip linie. Numărul de ordine al fiecărei componente reprezintă codul componentei iar valoarea componentei reprezintă cantitatea în care aceasta se regăsește în obiectul studiat, în acest caz particular acesta fiind o imagine.

Claims (4)

  1. Revendicări:
    1. Metodă optimizată de determinare a histogramei imaginilor în tonuri de gri pe platforme digitale de procesare paralelă formate dintr-un sistem de calcul (1) prevăzut cu o placa video (4) având o unitate de procesare grafică cu capabilitați extinse (GPGPU - 7), caracterizată prin aceea că aceasta constă în încărcarea unei imagini de prelucrat (9) și, dacă aceasta este color fi), se tranformă într-o imagine în tonuri de gri (11), se determină histograma imaginii în tonuri de gri (12) folosind pentru realizarea aplicațiilor biblioteci de funcții specifice unității procesare grafică cu capabilitați extinse, histograma determinată urmând a fi, fie salvată într-o bază de date (15), fie transmisă către alte blocuri de prelucrare pentru utilizare în timp real (14).
  2. 2. Metodă ca la revendicarea 1 caracterizată prin aceea că determinarea histogramei unei imaginii în tonuri de gri se face diferențiat, în funcție de dimensiunea imaginii analizate, imaginea fiind fragmentată în funcție de dimensiunea sa (17) și analiza fiecărui fragment se face independent, în mod paralel (18), folosind unitatea de procesare grafică cu capabilitați extinse (7), se determină histograma fiecărui fragment de imagine, iar histograma imaginii inițiale obținându-se prin însumarea histogramelor parțiale determinate la pasul anterior.
  3. 3. Metodă ca la revendicarea 1 caracterizată prin aceea că transformarea unei imagini color în imagine în tonuri de gri se face folosind formula 7 = 0.293 * R +0.595 * V+ 0.112 *A, unde Y este valoarea intensității luminoase a unui pixel, R valoarea de roșu a unui pixel, V valoarea de verde a unui pixel și A este valoarea de albastru a unui pixel.
  4. 4. Metodă ca la revendicările 1 și 2 caracterizată prin aceea că unitatea de procesare grafică cu capabilități extinse are o arhitectură destinată prelucrărilor paralele de tip CUDA.
ROA201000936A 2010-10-04 2010-10-04 Metodă optimizată de determinare a histogramei imaginilor în tonuri de gri, pe platforme de procesare paralelă RO127451A2 (ro)

Priority Applications (1)

Application Number Priority Date Filing Date Title
ROA201000936A RO127451A2 (ro) 2010-10-04 2010-10-04 Metodă optimizată de determinare a histogramei imaginilor în tonuri de gri, pe platforme de procesare paralelă

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ROA201000936A RO127451A2 (ro) 2010-10-04 2010-10-04 Metodă optimizată de determinare a histogramei imaginilor în tonuri de gri, pe platforme de procesare paralelă

Publications (1)

Publication Number Publication Date
RO127451A2 true RO127451A2 (ro) 2012-05-30

Family

ID=46160497

Family Applications (1)

Application Number Title Priority Date Filing Date
ROA201000936A RO127451A2 (ro) 2010-10-04 2010-10-04 Metodă optimizată de determinare a histogramei imaginilor în tonuri de gri, pe platforme de procesare paralelă

Country Status (1)

Country Link
RO (1) RO127451A2 (ro)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020176087A1 (en) * 2019-02-27 2020-09-03 Google Llc Grayscale histogram generation

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020176087A1 (en) * 2019-02-27 2020-09-03 Google Llc Grayscale histogram generation
US11379945B2 (en) 2019-02-27 2022-07-05 Google Llc Grayscale histogram generation
US11710208B2 (en) 2019-02-27 2023-07-25 Google Llc Grayscale histogram generation

Similar Documents

Publication Publication Date Title
US10186068B2 (en) Method, apparatus and system for rendering an image
KR101639852B1 (ko) 그래픽 프로세싱을 위한 픽셀 값 압축
CA2880345C (en) Hit testing method and apparatus
KR101609079B1 (ko) 그래픽 프로세싱 유닛에서의 명령 선별
EP3259753B1 (en) Systems and methods for reducing memory bandwidth using low quality tiles
US20120287151A1 (en) Partitioning high resolution images into sub-images for display
CN105096235B (zh) 图形处理方法及图形处理装置
US11430130B2 (en) Image processing method and computer-readable recording medium having recorded thereon image processing program
US20200027189A1 (en) Efficient dependency detection for concurrent binning gpu workloads
US7847798B1 (en) Clipping and culling artwork using a graphics processing unit
US9148544B2 (en) System, process, and computer program product for implementing a document scanner in a hand-held device
US20190220411A1 (en) Efficient partitioning for binning layouts
CN104766082A (zh) 基于安卓系统的图像识别方法和装置
KR102897357B1 (ko) 타일-기반 렌더링을 수행하는 방법 및 장치
RO127451A2 (ro) Metodă optimizată de determinare a histogramei imaginilor în tonuri de gri, pe platforme de procesare paralelă
Tsiktsiris et al. Accelerated seven segment optical character recognition algorithm
US11025924B2 (en) Image processing method and recording medium
US8264503B1 (en) Batch early engagement rules graphics processing
Lan et al. Parallel implementations of structural similarity based no-reference image quality assessment
US20160275700A1 (en) Method, apparatus and system for rendering regions of an image
CN109712547B (zh) 一种显示屏平面亮度测量方法、装置、计算机设备及存储介质
CN105139333B (zh) 一种图片加载显示方法及装置
CN114443872B (zh) 图像存储方法、图像显示方法及相关装置
WO2024243716A1 (en) Panel aging conditional recording strategy for oled anti-aging
KR102192484B1 (ko) 3차원 영상 렌더링 방법 및 이를 적용한 영상 출력 장치