gbms szz in progress1. Fakulta elektrotechniky a informatiky
VŠB-TUO
Gaussian Blurring Mean Shift
segmentace obrazu pomocí
technologie NVIDIA CUDA
Vedoucí práce: Ing. Milan Šurkala
Vojtěch Cima
Oponent práce: Ing. Karel Mozdřeň 2012
2. Osnova
• Segmentace obrazu
• Algoritmus GBMS
• NVIDIA CUDA
• Implementace
• Výsledky a dosažený výkon.
3. Segmentace obrazu Detekce hran
Segmentační metody
Lékářství Průmysl
Prahování
Bezpečnost
Clusterovací metody
Doprava
9. Implementace GBMS Vnitřní cyklus
Vypočítá novou pozici
Paralelizace smyček bodu na základě prvků
výpočetního okna.
Vnější cyklus
Prochází vstupní množinu bodů.
Paralelizace vnitřního cyklu
Paralelizace vnějšího cyklu
Block(0,0) Block(0,1) Block(m,n)
… … …. …
….
B(0,0) B(0,1) B(m,n)
10. Výsledky
18000
16000
14000
Počet segmentů
12000
10000
8000
6000
4000
2000
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Počet iterací
11. Dosažený výkon
60
Čas [s]
50
40
GPU kernel 1
GPU kernel 2
30
GPU kernel 3
CPU (1 jádro)
20
CPU (2 jádra)
10 CPU (2 jádra + HT)
0
Nvidia GeForce Nvidia GeForce Intel Core i5 2410M Intel C2D T8300
GT525M 8600GT @2.3GHz @2,4GHz
GPU kernel1 GPU kernel 2 GPU kernel 3 CPU (1 jádro) CPU (2 jádra) CPU (2 jádra + HT)
Nvidia GeForce GT525M 0.5 0.4 0.4
Nvidia GeForce 8600GT 2.0 1.6 1.6
Intel Core i5 2410M @2.3GHz 37.8 22.8 16.1
Intel C2D T8300 @2,4GHz 54.9 32.0
12. Dosažený výkon
130x rychlejší
60
Čas [s]
50
40
GPU kernel 1
GPU kernel 2
30
GPU kernel 3
CPU (1 jádro)
20
CPU (2 jádra)
10 CPU (2 jádra + HT)
0
Nvidia GeForce Nvidia GeForce Intel Core i5 2410M Intel C2D T8300
GT525M 8600GT @2.3GHz @2,4GHz
GPU kernel1 GPU kernel 2 GPU kernel 3 CPU (1 jádro) CPU (2 jádra) CPU (2 jádra + HT)
Nvidia GeForce GT525M 0.5 0.4 0.4
Nvidia GeForce 8600GT 2.0 1.6 1.6
Intel Core i5 2410M @2.3GHz 37.8 22.8 16.1
Intel C2D T8300 @2,4GHz 54.9 32.0
13. 35x 110x
60
Čas [s]
50
40
GPU kernel 1
GPU kernel 2
30
GPU kernel 3
CPU (1 jádro)
20
CPU (2 jádra)
10 CPU (2 jádra + HT)
0
Nvidia GeForce Nvidia GeForce Intel Core i5 2410M Intel C2D T8300
GT525M 8600GT @2.3GHz @2,4GHz
GPU kernel1 GPU kernel 2 GPU kernel 3 CPU (1 jádro) CPU (2 jádra) CPU (2 jádra + HT)
Nvidia GeForce GT525M 0.5 0.4 0.4
Nvidia GeForce 8600GT 2.0 1.6 1.6
Intel Core i5 2410M @2.3GHz 37.8 22.8 16.1
Intel C2D T8300 @2,4GHz 54.9 32.0
14. Porovnání CPU implementací
60
Čas [s]
Přidání fyzického jádra
50
40
>40%
1 jádro
30
2 jádra
20 2 jádra + HT
10
0
Intel C2D T8300 @2.4GHz Intel Core i5 2410M @2.3GHz
1 jádro 2 jádra 2 jádra + HT
C2D T8300 54.8 31.9
Core i5 2410M 37.7 22.8 16.1
15. Porovnání CPU implementací
60
Čas [s]
Přidání fyzického jádra
50
40
>40%
1 jádro
30
2 jádra
20 2 jádra + HT
Přínos technologie HT
10
0
>57%
Intel C2D T8300 @2.4GHz Intel Core i5 2410M @2.3GHz
1 jádro 2 jádra 2 jádra + HT
C2D T8300 54.8 31.9
Core i5 2410M 37.7 22.8 16.1
16. Porovnání GPU implementací
2.5
Čas [s]
2
>20%
1.5
GPU kernel 1
GPU kernel 2
1
GPU kernel 3
0.5
0
Nvidia GeForce 8600GT Nvidia GeForce GT525M
Kernel 1 Kernel 2 Kernel 3
GeForce 8600GT 2.0 1.6 1.6
GeForce GT525M 0.5 0.42 0.49