1 / 49

Presentatie titel

Computer Vision. Presentatie titel. Technische Informatica www.hogeschool-rotterdam.nl/cmi. Rotterdam, 00 januari 2007. Les 5. Hoofdstukken 2.3 Beeldpresentatie en kleurenmodellen 2.4 Homogene punt operatoren 2.5 Histogrammen. Beeldpresentatie. Beelden worden bewerkt

Download Presentation

Presentatie titel

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Vision Presentatie titel Technische Informatica www.hogeschool-rotterdam.nl/cmi Rotterdam, 00 januari 2007

  2. Les 5 Hoofdstukken 2.3 Beeldpresentatie en kleurenmodellen 2.4 Homogene punt operatoren 2.5 Histogrammen

  3. Beeldpresentatie • Beelden worden bewerkt • Hoe worden beelden in geheugen geplaatst • 3 delen: • 1. Keuze coördinatensysteem • 2. De codering van de grijswaarden • 3. Kleurendecodering • Er wordt een uniforme conventie aangehouden voor IVT (Integrated Vision Toolkit) en commerciële camera’s • Alleen dan kun je onafhankelijke algoritmen ontwikkelen

  4. Beschrijving 2D beeld • Het beeld coördinatensysteem is 2D met de oorsprong linksboven • De horizontale as is u . De vertikale as is v • Eenheden zijn pixels (tevens een discreet punt in een beeld) • Geheugens zijn lineair. Presentatie in fig. 2.7

  5. Beschrijving grijswaarde • Grijswaarde beelden zijn 8 bit (1 byte) • 256 verschillende grijswaarden • Datatype unsigned char , positieve getallen {0-255} 0=kleur zwart ; 255= kleur wit (fig 2.8)

  6. Beschrijving kleuren • Meest gebruikt RGB model: • Additief model met rood groen en blauw • Verschillend aantal bits 16 of 24 • Bij 16 bit: 5R 6G 5B bits (216= 65 536 kleuren) • Camera’s 24 bit per pixel 8R,8G,8B (224 =16 777 216 kleuren) • Voor IVT is RGB 24 bit standaard • Zie (fig 2.9) voor presentatie • De bandbreedte voor transmissie zo klein mogelijk houden • Daarom Bayer patroon overzenden wat 8 bit per pixel nodig heeft

  7. Beschrijving kleuren

  8. Beschrijving kleuren • Een ander model is YUV kleuren model http:// color_models.html • Dit is een TV-kleurensignaal • Gebruikt voor transmissie( heeft weinig bandbreedte nodig) • Nog een ander model is HSV model (Hue, Saturation,Value) • Gebruikt voor kleuren segmenten • Het scheidt de kleureninformatie van helderheid en verzadiging van de kleur • De H-waarde geeft de kleurenhoek in chromatisch spectrum van 0-3600

  9. Beschrijving kleuren • Datatype Integer • De H waarde =hue (kleurtint) van 0-179 • De S waarde =verzadiging ,hoe hoger de waarde hoe meer verzadigd. • De V waarde = helderheid, hoe hoger hoe helderder • S en V gecodeerd in 1 byte {0-255} • Voor berekeningen dient de RGB waarde geconverteerd te worden naar HSV waarde • Conversie van 3-tallen

  10. Beschrijving grijswaarde • In boeken wordt driehoeksmeting gebruikt voor omzetting van RGB naar HVS • Dit is echter te langzaam en ongeschikt voor implementatie • Een efficiente implementatie gebruikt integer berekeningen • In algoritme 6 en 7 zijn de omzettingen in pseudo code gegeven • h є {0…359} en s,v,r,g,bє {0…256} • De operator div implementeert integer-deling

  11. Beschrijving grijswaarde

  12. Beschrijving grijswaarde

  13. Beeldfuncties • De volgende beeldfuncties (I) zijn een formele schrijfwijze om beeldfuncties te benaderen • De basis voor verdere algoritmen • w= breedte van beeld in pixels • h = hoogte van beeld in pixels • q = geeft de grootste getal van een kanaal ( kleur) • De beeldfunctie I voor een 2D grijs beeld wordt:

  14. Beschrijving grijswaarde • De beeldfunctie I voor een 2D kleuren beeld wordt: • Bij RGB is de volgorde: rood (R), groen (G) en blauw (B) • Bij HSV is de volgorde: kleurenhoek (H),verzadiging (S) ,intensiteit (V)

  15. Conversie van grijsbeeld naar kleurenbeeld • Gegeven een RGB kleurenbeeld IRGB24 en een 8 bit grijs beeld IG van dezelfde grootte, dan is: • IG(u,v)= 0,299.r + 0,587.g + 0,114.b met (r,g,b) := IRGB24(u,v) (2.31) • De reden voor de verschillende gewichten is dat het menselijk oog een verschillende gevoeligheid voor de kleuren heeft • Het omgekeerde proces: • IRGB24(u,v) =( IG(u,v), IG(u,v), IG(u,v)) (2.32) • Geimplementeerd in IVT

  16. Homogene punt operatoren • Punt operatoren zijn operatoren die een nieuwe waarde toekennen aan elk beeldpunt(u,v) , afhankelijk van zijn huidige waarde I(u,v) en zijn positie (u,v) • De algemene afbeelding luidt: • I’(u,v):= f(I(u,v),u,v) (2.33) • 2 klassen: homogeen ( alleen afhankelijk van I(u,v)) niet-homogeen ( ook afhankelijk van (u,v)) • Alle operatoren zijn hier homogeen • I’(u,v):= f(I(u,v)) (2.33)

  17. Homogene punt operatoren • f = constant bij segmentatiemethoden • f = afhankelijk van de inhoud bij histogrammen (zie fig 2.10)

  18. Homogene punt operatoren • Affiene operatoren vormen een subklasse van de homogene punt operatoren. • Ze kennen een lineair verband , afhankelijk van de waarde van de pixel • I’(u,v) := a.I(u,v) + b ( a,b constanten) (2.35) • Afhankelijk van keus van a,b wordt de helderheid,contrast, inverse van een beeld veranderd. • Algoritme 8 implementeert de affiene punt operator in pseudo code

  19. Homogene punt operatoren • Hieronder een overzicht voor de parameters a en b • Voor inversie is een grenswaarde q nodig anders wordt beeld overstuurd

  20. Homogene punt operatoren • Helderheid vergroten: a=1 , b>0 • Helderheid verkleinen: a=1 , b<0 • Contrast vergroten: a>1 , b=0 • Contrast verkleinen: a>1 , b=0 • Inversie: a=-1 , b=q • Ook combinaties zijn mogelijk , voorbeelden zijn fig 2.11-2.15

  21. Homogene punt operatoren

  22. Homogene punt operatoren

  23. Homogene punt operatoren

  24. Histogrammen • Een histogram is een datastructuur die de verdeling van de intensiteit weergeeft van een foto. • Horizontale as: geeft de intensiteit (0-255) • Vertikale as: frequentie van voorkomen van die intensiteit • De toepassing zijn vele: Beeldvoorbewerken voor segmentatie Kleuren gebaseerde object herkening Enz.

  25. Grijswaarde Histogrammen • H is gedefinieerd als volgt: • H : {0,…q} -> {0,….w.h-1} • H(x) := #(u,v): I(u,v) = x (2.36) • Hierin is w de breedte en h de hoogte • Het # is een aantal keren dat pixel voorkomt • Voor iedere x є {0,..,q} wordt het aantal pixels die dezelfde grijswaarde (I(u,v)) heeft berekend • Algoritme 9 berekent het histogram van een foto en slaat dit op in een array met grootte q+1=256 • In fig 2.16 is een histogram gegeven

  26. Grijswaarde Histogrammen • Het histogram van fig 2.31 is in fig 2.16 gegeven

  27. Grijswaarde Histogrammen

  28. Kleuren Histogrammen • Kleuren histogrammen verschillen in de kleuren presentatie • Met 24 bit voorstellingen met RGB of HSV kleurenmodelllen heeft een diagram 224 eenheden op de X-as • Dit betekent voor 32 bit integerwaarden voor de Y-as een totale grootte van 64 Megabyte • Daarom maar histogrammen voor 2 van de 3 kanalen (meestal RG of HS histogrammen) • Een 2 dimensionaal histogram:

  29. Kleuren Histogrammen • H : {0,…q} x {0,…q} -> {0,….w.h-1} (2.37) • H(x,y) := #(u,v) :(h,s) = (x,y) met (h,s,v):= I(u,v) • Met algoritme 10 kan zo’n histogram berekend worden worden voor een HSV kleurenbeeld ( voor RGB is dit hetzelfde) • In fig 2.17 is een HS histogram voor een huidskleur uit fig 2.33 getekend. Het is karakteristiek dat in de buurt van rood ( bij 00 of 3600 de meeste verzadiging optreed

  30. Kleuren Histogrammen

  31. Kleuren Histogrammen

  32. Kleuren Histogrammen

  33. Uitrekken van histogrammen • Uitrekken van histogrammen is een methode om automatisch een verbetering van contrast of grijswaarde te verkrijgen • Eerst minimum intensiteit min en maximum max van een grijswaarde beeld I bepalen ( zie algoritme 11) • Het interval [min,max] wordt lineair afgebeeld op het interval [0,q]. Dit geeft het beeld I’

  34. Uitrekken van histogrammen • Dit kan anders geschreven worden als een affiene punt operatie (zoals in algoritme 8) • a = b = • Voor dat uitgerekt wordt moet gekeken worden of min ≠ max ( dan is het n.l een homogeen beeld en kan niet uitgerekt worden

  35. Uitrekken van histogrammen

  36. Uitrekken van histogrammen • Het nadeel van uitrekken is de robuustheid • 1 pixel met intensiteit 0 en 1 pixel met intensiteit q zijn al voldoende om het ineffectief te maken • (dan is a=1 en b=0) • Het gebruik van fracties ( quantiles) om de waarde max en min te bepalen is veel robuuster. ( statische berekeningen) • In de statistiek is de p-quantiel de waarde die onder de p.100 % ligt van voorkomen in de distributie • http://en.wikipedia.org/wiki/Quantile • Voorbeeld:

  37. Uitrekken van histogrammen • De 4-quantiel heet quartiel • Het 1e quartiel snijdt de laagste 25 % data af • Het 2e quartiel snijdt de laagste 50 % data af • Het 3e quartiel snijdt de laagste 75 % data af • Gegeven de reeks {3, 6, 7, 8, 8, 9, 10, 13, 15, 16, 20} van 11 getallen • De positie van de 1e quartiel is 11*(1/4)=2,75 (afgerond 3) De waarde van de 3e positie is 7 • De positie van de 2e quartiel is 11*(2/4)=5,5 (afgerond 6) De waarde van de 6e positie is 9

  38. Uitrekken van histogrammen • De positie van de 3e quartiel is 11*(3/4)=8,25 (afgerond 9) De waarde van de 9e positie is 15 • het infimum (inf) van een verzameling is het grootste element dat kleiner of gelijk is dan alle elementen in de verzameling • Vb inf{ 3,2,9} = 2 • Het histogram van een beeld komt overeen met de dichtheidsfunctie in de statistiek behalve dat de oppervlakte niet gelijk is aan 1 • De tegenhanger is de opgetelde histogram Ha die als volgt gedefinieerd is voor H

  39. Uitrekken van histogrammen • Ha(x)= H(0)+ H(1)+ H(2) …+H(x) • De berekening is in algoritme 13 • Het p-quantiel is de grijswaarde x die onder p.100 % ligt voor alle grijswaarden

  40. Uitrekken van histogrammen • De quantiel functie Hq kan wiskundig gedefinieerd worden voor Ha : • Hq := inf { x є {0…q} : Ha (x) ≥ p.Ha(q)} (2.41) • Hq wordt het infimum van x waarvoor geldt: Ha (x) ≥ p.Ha(q) • het infimum (inf) van een verzameling is het grootste element dat kleiner of gelijk is dan alle elementen in de verzameling (grootste ondergrens) • Vb inf{ 3,2,9} = 2

  41. Uitrekken van histogrammen • De berekening voor het p-quantiel voor Ha is samengevat in algoritme 14 • Het uitrekken van histogrammen kan worden gedefinieerd als een wijziging van de verdeling, het uitrekenen van de waarde max en min met behulp van quantielen • Het wordt samengevat in algoritme 15

  42. Uitrekken van histogrammen • Uit experimenten blijkt: dat de 0,1- quantiel pmin en de 0,9-quantiel pmax goede waarden zijn. Dat zijn default waarden in algoritmen

  43. Egaliseren van histogrammen • Egaliseren van histogrammen is een methode voor automatische regeling van contrast • Egaliseren verdeelt het histogram evenwichtig • Het doel is om het contrast te verbeteren van bepaalde grijswaarden in het beeld • Bij uitrekken wordt alleen het contrast van het hele beeld uniform verbeterd

  44. Egaliseren van histogrammen • Egalisatie gebruikt ook Ha • Het genormaliseerde histogram is Hn : • Hn dient als een loop-up table voor het opnieuw toekennen van de grijswaarden (zie algoritme 16) • Egalisatie is geen affiene punt operatie (geen linearisatie)

  45. Egaliseren van histogrammen • Verspreiden, uitrekken en egaliseren van histogrammen (algoritmes 12,15,16) zijn geimplementeerd in IVT

  46. Egaliseren van histogrammen • In fig 2.18 is een orgineel gegeven

  47. Egaliseren van histogrammen • In fig 2.19 is het uitgerekte beeld gegeven

  48. Egaliseren van histogrammen • In fig 2.20 is het geegaliseerde beeld gegeven

More Related