Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet INF 160 Digital bildebehandling Eksamensdag: Mandag 12. mai - mandag 26. mai 2003 Tid for eksamen: 12. mai 2003 kl 09:00 26. mai 2003 kl 14.00 Oppgavesettet er på 6 sider. Vedlegg: Tillatte hjelpemidler: Ingen Kontroller at oppgavesettet er komplett før du begynner å besvare spørsmålene. (Fortsettes på side 2.)
Eksamen i INF 160, Mandag 12. mai - mandag 26. mai 2003 Side 2 Prosjektoppgaven er et individuelt arbeid, slik at hver student skal levere egen besvarelse. Det anbefales at arbeidet med besvarelsen utføres ved Institutt for informatikk (Ifi), hvor både maskin- og programvare er tilrettelagt for å løse de oppgavene som er gitt. I eksamensperioden vil ekspedisjonen ved Ifi kunne formidle kontakt til kursansvarlige. Send ikke mail til en lærer. Hvis det skulle være nødvendig med presiseringer til oppgaven vil det bli publisert på kursets hjemmeside. Resultatene skal presenteres i en skriftlig rapport der teori, utskrifter av program-kode, og figurer og bilder vises. Det er en fordel om rapporten er laget med en egnet tekstbehandler, men deler som er teknisk vanskelige å produsere kan være håndtegnet. Ønsker du å konvertere et PNG-bilde til postscript for utskrift, kan du f.eks. bruke programmet display eller convert. Frist for innlevering er mandag 26. mai 2003 kl 14:00. Besvarelsen leveres i Ifi s ekspedisjon i form av en utskrift på papir i tre - 3 - eksemplarer. Sett ikke navn på besvarelsen. Besvarelsen skal påføres et kandidatnummer før innlevering, slik at kandidatnavn skal være ukjent for sensorene. Du får ditt kandidatnummer i ekspedisjonen på Ifi. Hvis ikke annet er spesifikt avtalt på forhånd, er det bare den innleverte besvarelsen - i den form det er bedt om - som blir bedømt. Merk at den skriftlige besvarelsen skal leveres i tre identiske eksemplarer! Ettersom arbeidet med oppgaven er fordelt over to uker, vil det ikke bli gitt utsettelse med innlevering pga kollisjoner med andre eksamener i denne perioden. Eventuell sykdom under eksamen behandles etter gjeldende regler. Et tilfeldig utvalg av studentene vil i tillegg komme opp til muntlig eksamen, som avholdes torsdag 12. juni. Dersom sensor og faglærere ut fra en foreløpig gjennomgang av de skriftlige besvarelsene føler behov for å avklare noen tvilstilfeller, vil disse også bli innkalt til muntlig eksamen 12. juni. De som skal opp til muntlig eksamen vil få beskjed om dette en uke før muntlig eksamen, dvs torsdag 5. juni. Beskjed om dette vil bli gitt på kursets nettside, og ved oppslag på www.ifi.uio.no/studinf/sistenytt. Studentene må selv sørge for å skaffe seg denne informasjon ved å sjekke kursets hjemmeside, eller lese oppslag på Ifi. Den muntlige eksaminasjonen vil først og fremst dreie seg om punkter i det innleverte skriftlige arbeidet. Besvarelsen på oppgaven skal derfor være et selvstendig arbeid! (Fortsettes på side 3.)
Eksamen i INF 160, Mandag 12. mai - mandag 26. mai 2003 Side 3 Oppgave 1 Histogramutjevning Gitt et bilde med pikseltype unsigned byte. Bildet har gråtoner med pikselverdier fra 15 til 75 og et histogram med form som en Gauss-funksjon som illustrert under. Anta at bildets middelverdi er 50. % pix histogram of Gaussian 6.74 5.05 3.37 1.68 0.00 0 64 128 192 256 1a Tenk at vi utfører histogramutjevning slik som algoritmen i forelesningsnotatene beskriver. Skisser grovt hvordan det histogramutjevnede bildet ser ut. Hva kan vi si om bildets middelverdi og median etter histogramutjevningen? 1b Tenk deg at du terskler det utjevnede histogrammet med Ridler og Calvard s metode. Gi et omtrentlig anslag på hva terskelverdien blir. Hvor stor prosentdel av bildet ligger under terskelen? 1c Ridler og Calvards metode bruker bildets middelverdi som første estimat på terskelverdien. Hva blir terskelverdien etter Ridler og Calvards metode dersom du starter med en annen gråtone som første terskelverdi? Ligger det noen begrensinger på valg av startverdi? 1d Histogramutjevningsalgoritmen gitt i pensum gir ikke alltid opphav til et flatt histogram fordi histogramsøyler ikke kan splittes. Hvis vi tillater en splitting av søylene i det opprinnelige histogrammet, er det mulig å konstruere en alternativ histogramutjevningsalgoritme som gir eksakt flatt histogram. Kom med forslag til en slik algoritme og forklar kort hvilke valg du har underveis. Formuler algoritmen for et generelt unsigned byte bilde med N x N y piksler. (Fortsettes på side 4.)
Eksamen i INF 160, Mandag 12. mai - mandag 26. mai 2003 Side 4 1e Implementer en slik algoritme i Java. Test algoritmen på bildet inf160/bilder/bilde1.png. I besvarelsen din skal du legge ved plott av histogrammer. Bruker du Efford-programmene til å lage histogrammer f.eks. ved HistogramTool, kan du lage en screendump av histogrammet ved å velge funksjonen grab i programmet xv, og lagre resultatet som ønsket format. Du kan også plotte histogrammet i Matlab. Legg ved en utskrift av programkoden, et plott av det originale histogrammet, en utskrift av bildet etter histogramutjevning med din algoritme, og et plott av det utjevnede histogrammet. Sammenlign det histogramutjevnede bildet med bildet som du får ved å bruke en tradisjonell histogramutjevningsalgoritme. Hvilken metode gir det beste bildet etter din mening? Oppgave 2 Bilder og histogrammer Anta at vi har et N x N y = 512 512 bilde med 256 trinn i gråtoneskalaen. Tenk deg en ett piksel bred diagonal fra nedre venstre til øvre høyre hjørne i bildet. På oppsiden av diagonalen øker intensiteten jevnt fra 64 langs hele venstre kant av bildet til 191 i øvre høyre hjørne. På nedsiden av diagonalen faller intensiteten jevnt fra 191 i øvre høyre hjørne til 64 langs hele nedre kant av bildet. Hvert piksel på diagonalen har samme intensitet som pikslet ovenfor og til høyre. 2a Beskriv bildets histogram med en skisse. Hvor mange forekomster er det av høyeste og laveste pikselverdi i bildet? Sett opp et uttrykk for histogramverdiene som funksjon av gråtoneverdien. Vis hvordan et estimat på sannsynligheten for høyeste og laveste pikselverdi kan finnes fra dette bakgrunns-histogrammet. 2b På denne bakgrunnen ligger det store og små objekter, slik at hvis vi summerer mengden av objektpiksler horisontalt og vertikalt, så finner vi like mange objektpiksler på alle rader og kolonner i bildet. 1/4 av alle pikslene i bildet er objektpiksler. Hvordan vil dette endre uttrykket for bakgrunnshistogrammet? 2c Pikselverdiene til objektpikslene er H gråtonetrinn høyere enn bakgrunnen over diagonalen, og L lavere enn bakgrunnen under diagonalen. Vi antar at det ikke ligger noen objektpiksler på diagonalen. Beskriv i detalj objekt-histogrammet. Sett gjerne opp et uttrykk for objekt-histogrammet. (Fortsettes på side 5.)
Eksamen i INF 160, Mandag 12. mai - mandag 26. mai 2003 Side 5 2d Er det mulig å finne verdier for L og H slik at histogrammene for objekt og bakgrunn ikke overlapper? Begrunn svaret kort. Hvis objektene utnytter hele gråtoneskalaen, hva er da terskelverdiene som gir minst mulig feilklassifikasjon ved terskling? Hvor stor andel av objekt-pikslene og bakgrunnspikslene blir da feilklassifisert? Hvor i bildet vil du finne de objekt-pikslene som er riktig klassifisert? 2e Hvis vi differanse-transformerer hver linje i det opprinnelige bakgrunnsbildet fra innledningen (uten objekter) fra venstre mot høyre, og så run-length -koder resultatet kolonne for kolonne, ovenfra og ned, hva blir da resultatet? Hvor mange heltall trenger vi for å beskrive bildet (vi ser bort fra end-of-line -symboler)? Kan bildet gjenskapes fra en slik representasjon? Gi en kort begrunnelse for svarene. Oppgave 3 Konvolusjon og Fourier-transform 3a Laplace-operatoren er gitt ved 2 (I(x, y)) = ( 2 ) I(x, y) x 2 + 2 I(x, y) y 2. Dette er et høypassfilter som f.eks. kan realiseres ved hjelp av Sobel-operatorens to komponenter: 1 0 1 1 0 1 1 2 1 1 2 1 2 (I(x, y)) = 2 0 2 2 0 2 + 0 0 0 0 0 0 1 0 1 1 0 1 1 2 1 1 2 1 Utfør denne konvolusjonen og summasjonen ved å skrive et program, bruke Matlab, eller utfør operasjonene for hånd. Hvis du programmerer eller bruker Matlab, så skal koden legges ved. Gjør du det for hånd, så skal du vise mellomregningene. Og i alle tilfeller skal du vise hva resultatet blir. 3b Demonstrer at når resultatet ovenfor konvolveres med lavpassfiltret [1 2 1] [1 2 1] T så får vi et 7 7 LoG-filter. Her vil vi også se koden hvis du programmerer eller bruker Matlab, og mellomregningene/beskrivelsen hvis du gjør det for hånd. Og resultatet skal selvsagt med. (Fortsettes på side 6.)
Eksamen i INF 160, Mandag 12. mai - mandag 26. mai 2003 Side 6 3c Null-utvid dette 7 7 LoG-filteret til 32 32 piksler og bruk Fourier-spektret til å demonstrere at dette er et båndpass-filter. 3d Gjenta alt ovenfor med bare den ene av Sobel-operatorens to komponenter, men rotert π/4, dvs 2 1 0 2 1 0 2 π/4 (I(x, y)) = 1 0 1 1 0 1 0 1 2 0 1 2 og [1 2 1] [1 2 1] T som lavpassfilter. Vis hvordan spektret til dette asymmetriske LoG-filtret ser ut. Diskuter kort hvilke kanter i bilder dette filteret kan detektere, og hvordan dette må gjøres. 3e Vis hvordan det symmetriske LoG 7 7 filteret kan forenkles ved å utnytte separabilitet og at konvolusjon er kommutativ, assosiativ og distributiv. Lykke til!