arbeitsbereich sav/bv (kogs) sav/bvseppke/content/... · + img_src(x,y))/4 bildtransformaonen...
TRANSCRIPT
![Page 1: Arbeitsbereich SAV/BV (KOGS) SAV/BVseppke/content/... · + Img_src(x,y))/4 Bildtransformaonen (Rota7on) • Transformaon der Bildkoordinaten, nicht der Bildintensitäten! • Beispiel,](https://reader034.vdocuments.mx/reader034/viewer/2022051720/5a78e2f67f8b9a21538ece01/html5/thumbnails/1.jpg)
MIN-FakultätFachbereichInforma7kArbeitsbereichSAV/BV(KOGS)
WINTER
©GoogleInc.,2014
SAV/BV
![Page 2: Arbeitsbereich SAV/BV (KOGS) SAV/BVseppke/content/... · + Img_src(x,y))/4 Bildtransformaonen (Rota7on) • Transformaon der Bildkoordinaten, nicht der Bildintensitäten! • Beispiel,](https://reader034.vdocuments.mx/reader034/viewer/2022051720/5a78e2f67f8b9a21538ece01/html5/thumbnails/2.jpg)
DieAufgabe
• ImplemenBerungelementarer,häufigbenöBgterBildverarbeitungsfunkBonen(siehefolgendeFolien)
• ZeitmessungderLaufzeit• KomplePerCodemussC/C++kompilierbarsein• C/C++,ASM,OpenCL,CUDA,MulB-ThreadingundMulB-Processingsinderlaubt!
• Tipp:LegteinExperimenBer-TagebuchanunddokumenBerteureVersuchevonAnfangan!
![Page 3: Arbeitsbereich SAV/BV (KOGS) SAV/BVseppke/content/... · + Img_src(x,y))/4 Bildtransformaonen (Rota7on) • Transformaon der Bildkoordinaten, nicht der Bildintensitäten! • Beispiel,](https://reader034.vdocuments.mx/reader034/viewer/2022051720/5a78e2f67f8b9a21538ece01/html5/thumbnails/3.jpg)
DasZiel
• VergleichderMöglichkeitenzureffizientenBildverarbeitungaufaktuellenArchitekturen
• ErstellungvonEmpfehlungenaufgrundderStaBsBken
• UntersuchungvonLaufzeit,ArbeitsspeicherundAuslastung!
• Referenz:Python2.8+Numpy
![Page 4: Arbeitsbereich SAV/BV (KOGS) SAV/BVseppke/content/... · + Img_src(x,y))/4 Bildtransformaonen (Rota7on) • Transformaon der Bildkoordinaten, nicht der Bildintensitäten! • Beispiel,](https://reader034.vdocuments.mx/reader034/viewer/2022051720/5a78e2f67f8b9a21538ece01/html5/thumbnails/4.jpg)
Se>ng(1)
• AllefolgendenBildverarbeitungsoperaBonensollenauffolgendenBilddatenausgeführtwerden:– Grauwertbilder(2D-Arrays)– Farbbilder(3D-Arrays,3.Dimension:RGB)– Bildgrößen:2048x2048Pixel,4096x4096Pixel– Pixeldatentypen:UInt8,float(32)
àProTest:8VariaBonen!• Beiinsgesamt10OperaBonen:80TestsproTeam• Bei5Teams(+1Referenz):480Ergebnisse
![Page 5: Arbeitsbereich SAV/BV (KOGS) SAV/BVseppke/content/... · + Img_src(x,y))/4 Bildtransformaonen (Rota7on) • Transformaon der Bildkoordinaten, nicht der Bildintensitäten! • Beispiel,](https://reader034.vdocuments.mx/reader034/viewer/2022051720/5a78e2f67f8b9a21538ece01/html5/thumbnails/5.jpg)
Se>ng(II)
• EszähltnurdieLaufzeitderOperaBon,LadenundSpeicherndesBildeswerdennichtmitgezählt!
• Aber:– AlleTestsmüssenje100xlaufen!– MaßamEnde:Gesamtlaufzeit!
• 3TypenvonBildverarbeitungsverfahren:– Map/Reduce– Filter– TransformaBonen
![Page 6: Arbeitsbereich SAV/BV (KOGS) SAV/BVseppke/content/... · + Img_src(x,y))/4 Bildtransformaonen (Rota7on) • Transformaon der Bildkoordinaten, nicht der Bildintensitäten! • Beispiel,](https://reader034.vdocuments.mx/reader034/viewer/2022051720/5a78e2f67f8b9a21538ece01/html5/thumbnails/6.jpg)
Map/Reduce
• Algorithmus1(ImageBlending):Img_dest=MINMAXDToder(Img_src1+Img_src2)/2
• Algorithmus2(Schwellenwert):Img_dest=Img_src>Scalar/RGB
• Algorithmus3(Histogramm,Ann.:-1<I(x,y)<256)Hist(i)=card({(x,y)|I(x,y)=i})für-1<i<256
*MINMAXDTstelltsicher,dassdieGrenzendesDatentypsnichtüber/unterschriPenwerden!
![Page 7: Arbeitsbereich SAV/BV (KOGS) SAV/BVseppke/content/... · + Img_src(x,y))/4 Bildtransformaonen (Rota7on) • Transformaon der Bildkoordinaten, nicht der Bildintensitäten! • Beispiel,](https://reader034.vdocuments.mx/reader034/viewer/2022051720/5a78e2f67f8b9a21538ece01/html5/thumbnails/7.jpg)
Filter(Faltung)
• AlleFilterals5x5und11x11implemenBeren!• ImFolgendenwerdenbeispielhanFaltungenderGröße(5x5)gezeigt:
For(inty=2;y!=height-2;++y)For(intx=2;x!=width-2;++x) For(intj=-2;j!=3;++j) For(inti=-2;i!=3;++i) Img_dest(x,y) =Img_src(x,y)*mask(i+2,j+2)
![Page 8: Arbeitsbereich SAV/BV (KOGS) SAV/BVseppke/content/... · + Img_src(x,y))/4 Bildtransformaonen (Rota7on) • Transformaon der Bildkoordinaten, nicht der Bildintensitäten! • Beispiel,](https://reader034.vdocuments.mx/reader034/viewer/2022051720/5a78e2f67f8b9a21538ece01/html5/thumbnails/8.jpg)
Gauß’scheGläIung(σ=1,näherungsweise)
Mask(i,j):
![Page 9: Arbeitsbereich SAV/BV (KOGS) SAV/BVseppke/content/... · + Img_src(x,y))/4 Bildtransformaonen (Rota7on) • Transformaon der Bildkoordinaten, nicht der Bildintensitäten! • Beispiel,](https://reader034.vdocuments.mx/reader034/viewer/2022051720/5a78e2f67f8b9a21538ece01/html5/thumbnails/9.jpg)
Median-Filter
• Beispielhanfür5x5:
For(inty=2;y!=height-2;++y)For(intx=2;x!=width-2;++x) list=[] For(intj=-2;j!=3;++j) For(inti=-2;i!=3;++i) list.append(Img_src(x+i,y+j)) Img_dest(x,y)=median(list)
![Page 10: Arbeitsbereich SAV/BV (KOGS) SAV/BVseppke/content/... · + Img_src(x,y))/4 Bildtransformaonen (Rota7on) • Transformaon der Bildkoordinaten, nicht der Bildintensitäten! • Beispiel,](https://reader034.vdocuments.mx/reader034/viewer/2022051720/5a78e2f67f8b9a21538ece01/html5/thumbnails/10.jpg)
Subsampling(Binning)
• VerkleinerndesBildes(w,h)à(w/2,h/2)
For(inty=1;y<height;y+=2)For(intx=1;x<width;x+=2)Img_dest(x/2,y/2)=( Img_src(x-1,y-1) +Img_src(x-1,y) +Img_src(x,y-1) +Img_src(x,y))/4
![Page 11: Arbeitsbereich SAV/BV (KOGS) SAV/BVseppke/content/... · + Img_src(x,y))/4 Bildtransformaonen (Rota7on) • Transformaon der Bildkoordinaten, nicht der Bildintensitäten! • Beispiel,](https://reader034.vdocuments.mx/reader034/viewer/2022051720/5a78e2f67f8b9a21538ece01/html5/thumbnails/11.jpg)
Bildtransforma7onen(Rota7on)
• TransformaBonderBildkoordinaten,nichtderBildintensitäten!
• Beispiel,füreinenWinkelα:Img_dest(r_x,r_y)=Img_src(x,y)
mit: (r_x,r_y)T=Rα*(x,y)T
und:• Varianten:
– NächsteNachbarn(NN-)InterpolaBon– Bi-linearinterpolieren!
![Page 12: Arbeitsbereich SAV/BV (KOGS) SAV/BVseppke/content/... · + Img_src(x,y))/4 Bildtransformaonen (Rota7on) • Transformaon der Bildkoordinaten, nicht der Bildintensitäten! • Beispiel,](https://reader034.vdocuments.mx/reader034/viewer/2022051720/5a78e2f67f8b9a21538ece01/html5/thumbnails/12.jpg)
Zusammenfassung
1. Bild-Blending2. Schwellenwert3. Histogrammberechnung4. Gauß’scheGläPung(5x5)5. Gauß’scheGläPung(11x11)6. Medianfilter(5x5)7. Medianfilter(11x11)8. Binning(2x2->1x1)9. RotaBon(NN-InterpolaBon)10. RotaBon(Bi-lineareInterpolaBon)
![Page 13: Arbeitsbereich SAV/BV (KOGS) SAV/BVseppke/content/... · + Img_src(x,y))/4 Bildtransformaonen (Rota7on) • Transformaon der Bildkoordinaten, nicht der Bildintensitäten! • Beispiel,](https://reader034.vdocuments.mx/reader034/viewer/2022051720/5a78e2f67f8b9a21538ece01/html5/thumbnails/13.jpg)
Abgabe
• Abgabebiszum31.3.2015• PreisefürdieschnellstenImplementaBonen!• Format:ArchivmitallenDateienundHinweiseaufbenöBgteBibliotheken
• GutdokumenBerterCode!• DefiniBondereinzelnenFunkBonenundmehrfacherAufruf!
![Page 14: Arbeitsbereich SAV/BV (KOGS) SAV/BVseppke/content/... · + Img_src(x,y))/4 Bildtransformaonen (Rota7on) • Transformaon der Bildkoordinaten, nicht der Bildintensitäten! • Beispiel,](https://reader034.vdocuments.mx/reader034/viewer/2022051720/5a78e2f67f8b9a21538ece01/html5/thumbnails/14.jpg)
VielErfolg!Timestobeat[s]fürGrauwertbilder(2x2,66GHzXeonDualCore,5GBRAM)Quelltextverwendetnumpy/scipy(Bald)verfügbaraufderHomepage!
small,uint8 small,float large,uint8 large,floatBlending 0,52 3,96 2,52 22,84Schwellenwert 0,58 1,09 2,75 4,81Histogramm 19,76 25,46 79,04 101,752D-Faltung(5x5) 37,26 19,88 149,15 90,00Median-Filter(5x5) 213,82 210,31 856,19 851,17Subsampling 1,61 4,95 5,90 19,52RotaBon(bi-lin) 71,83 74,86 286,27 324,76
0,10
1,00
10,00
100,00
1000,00
small,uint8
small,float
large,uint8
large,float