Signaler och System Höstterminen -02 IT3 Rasha Alshammari Andreas Nissemark Zakai kass-saliba Pavel Carballo



Relevanta dokument
Bildbehandling i frekvensdomänen

Laplace, Fourier och resten varför alla dessa transformer?

Övervakningssystem. -skillnader i bilder. Uppsala Universitet Signaler och System ht Lärare: Mathias Johansson

Laplace, Fourier och resten varför alla dessa transformer?

Exempelsamling Grundläggande systemmodeller. Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University

Exempelsamling Grundläggande systemmodeller. Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University

FÖRELÄSNING 13: Analoga o p. 1 Digitala filter. Kausalitet. Stabilitet. Ex) på användning av analoga p. 2 filter = tidskontinuerliga filter

Spektrala Transformer

DT1130 Spektrala transformer Tentamen

Signal- och bildbehandling TSBB03

Resttentamen i Signaler och System Måndagen den 11.januari 2010, kl 14-19

Bildbehandling i frekvensdomänen. Erik Vidholm

Signal- och bildbehandling TSBB03

DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1. Frekvensfunktioner FREKVENSSVAR FÖR ETT TIDSDISKRET SYSTEM. x(n)= Asin(Ωn)

Laboration 3 Sampling, samplingsteoremet och frekvensanalys

Numeriska metoder, grundkurs II. Dagens program. Gyllenesnittminimering, exempel Gyllenesnittetminimering. Övningsgrupp 1

DT1130 Spektrala transformer Tentamen

Laboration i tidsdiskreta system

Bildförbättring i spatial domänen (kap. 3) Bildförbättring (enhancement) Spatial domän. Operatorer. Tröskling (threshold) Gråskale-transformationer

Ulrik Söderström 20 Jan Signaler & Signalanalys

Ulrik Söderström 19 Jan Signalanalys

TSIU61: Reglerteknik

DT1120 Spektrala transformer för Media Tentamen

Lab lanserade R.A. Moog Inc. en ny synt: Minimoog. Den var designad av Bill Hemsath och Robert Moog och kom att revolutionera musikhistorien.

TSDT18/84 SigSys Kap 4 Laplacetransformanalys av tidskontinuerliga system. De flesta begränsade insignaler ger upphov till begränsade utsignaler

DT1130 Spektrala transformer Tentamen

Signal- och bildbehandling TSBB03

Signal- och bildbehandling TSBB14

2 Ortogonala signaler. Fourierserier. Enkla filter.

RÄKNEEXEMPEL FÖRELÄSNINGAR Signaler&System del 2

Signal- och bildbehandling TSBB14

Blandade problem från elektro- och datateknik

Signal- och bildbehandling TSBB03, TSBB14

Signal- och bildbehandling TSBB14

Signal- och bildbehandling TSBB14

Innehåll. Innehåll. sida i

TSRT91 Reglerteknik: Föreläsning 5

Tillämpning av komplext kommunikationssystem i MATLAB

Spektrala Transformer

TIDSDISKRETA SYSTEM SYSTEMEGENSKAPER. Minne Kausalitet Tidsinvarians. Linjäritet Inverterbarhet Stabilitet. System. Tillämpad Fysik och Elektronik 1

Signal- och Bildbehandling FÖRELÄSNING 4. Multiplikationsteoremet. Derivatateoremet

Introduktion Digitala filter. Filter. Staffan Grundberg. 12 maj 2016

Exercises Matlab/simulink V

KRAMERS-KRONIGS DISPERSIONSRELATIONER

Laboration ( ELEKTRO

Blixtkurs i komplex integration

AKTIVA FILTER. Laboration E42 ELEKTRO. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Sverker Johansson Rev 1.0.

Laboration i Fourieroptik

Flerdimensionella signaler och system

Signal- och bildbehandling TSBB14

7 MÖNSTERDETEKTERING

En översikt av Kap 7. Tillbakablick, återkoppling Informationsteknologi Reglering av vätskenivån i en tank. Framkoppling. Informationsteknologi

DIGITALA FILTER DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1

fredag den 11 april 2014 M I N P O O L

Signal- och bildbehandling TSBB03 och TSEA70

Passiva filter. Laboration i Elektronik E151. Tillämpad fysik och elektronik UMEÅ UNIVERSITET Ulf Holmgren. Ej godkänd. Godkänd

Projekt 3: Diskret fouriertransform

Signal- och bildbehandling TSEA70

Kompletterande räkneuppgifter i Spektrala Transformer Komplex analys, sampling, kvantisering, serier och filter Laura Enflo & Giampiero Salvi

TSBB16 Datorövning A Samplade signaler Faltning

Laboration 3. Ergodicitet, symplektiska scheman och Monte Carlo-integration

Komprimering av ljudsignaler

Spektrala Transformer

Implementering av digitala filter

Teori... SME118 - Mätteknik & Signalbehandling SME118. Johan Carlson 2. Teori... Dagens meny

Signal- och bildbehandling TSEA70

7. Sampling och rekonstruktion av signaler

Spektrala Transformer för Media

Signalbehandling Röstigenkänning

4-8 Cirklar. Inledning

1, 2, 3, 4, 5, 6,...

MMA132: Laboration 2 Matriser i MATLAB

Tentamen i ESS 010 Signaler och System E3 V-sektionen, 16 augusti 2005, kl

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

EKG-klassificering. Andreas Bergkvist, Michael Sörnell,

Reglerteknik AK, FRT010

Tentamen i Elektronik, ESS010, del 2 den 17 dec 2007 klockan 8:00 13:00 för inskrivna på elektroteknik Ht 2007.

Laboration - Va xelstro mskretsar

TENTAMEN Elektronik för elkraft HT

5B Portföljteori fortsättningskurs

Signaler några grundbegrepp

Datoraritmetik. Från labben. Från labben. Några exempel

Facit Tentamen i Beräkningsvetenskap I, STS ES W K1

Spä nningsmä tning äv periodiskä signäler

Bildbehandling i spatialdomänen och frekvensdomänen

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning

Föreläsning 11 Reglerteknik AK

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

DT1120/DT1130 Spektrala transformer Tentamen

TAMS79: Föreläsning 10 Markovkedjor

Tentamen i Teknisk-Vetenskapliga Beräkningar

Föreläsning 11. Reglerteknik AK. c Bo Wahlberg. 8 oktober Avdelningen för reglerteknik Skolan för elektro- och systemteknik

Signalanalys med snabb Fouriertransform

TEM Projekt Transformmetoder

i(t) C i(t) = dq(t) dt = C dy(t) dt y(t) + (4)

Projekt 1 (P1) Problembeskrivning och uppdragsspecifikation

Graärgning och kromatiska formler

Tentamen del 2 SF1511, , kl , Numeriska metoder och grundläggande programmering

Transkript:

Finn Fem Fel - ett försök att hitta skillander i bilder Signaler och System Höstterminen -02 IT3 Rasha Alshammari Andreas Nissemark Zakai kass-saliba Pavel Carballo

Innehållsförteckning Introduktion 3 Sammanfattning 4 Implementering 5 Resultat 7 Slutsatser och funderingar 10 Bibliografi 11 Appix 12 2

Introduktion Finn fem fel - det ultimata mandomsprovet. Det är ingen hemlighet att vår tids mest spektakulära paradox är människans genialitet i förhållande till hennes inkompetens. I och med alla teknikdeterministiska idéernas födelse i mitten slutet av 1980 talet, har vi kunnat ge tekniken, dess förtjänade betydelse för vår utveckling. Tekniken har frälsat oss från oss själva. Nej, detta är inte ett utdrag ur någon sorts teknisk-deterministiskt manifest, vars sidor präglas av slangord som Tekniker, förena eder! Detta handlar istället om ett försök att uppmana läsaren till att inte förlora perspektivet när det handlar om teknisk utveckling och tekniska lösningar. Vi har, med hjälp av ett superkraftfullt verktyg kallad Matlab och en dator som klarar att räkna flera tusen flyttalsoperationer per sekund, utvecklat ett program, som kan lösa ett problem som gäckat människorna sedan tidernas begynnelse, Finn fem fel i två bilder. 3

Sammanfattning Det finns ett antal kända metoder och algoritmer för att hitta skillnader i bilder. Bortsett från vår något sarkastiska introduktionsförfattare, är vi alla överens om att vår applikation har oändliga tillämpningsområden. Från polisarbete, till enkla nöjen som Finn Fem Fel underlättas avsevärt av vårt mycket kraftfulla program. Efter ett antal dagars teoretisk förberedelse bestämdes det i vår grupp att vi skulle använda oss av två kända algoritmer för den sortens bildbehandling som vi hade tänkt oss, nämligen att hitta den absoluta skillnaden mellan bilderna och att räkna korrelationen mellan dessa och jämföra det med ett bestämt tröskelvärde. Ännu en fråga, som gruppen försökt besvara är filtrens möjliga påverkan på vara resultat. Kan vi förbättra resultaten genom att lågpass- eller högpassfiltrera bilderna innan beräkningarna skedde? 4

Implementering Absoluta skillnaden Vårt första steg vår att försöka räkna ut den absoluta skillnaden mellan två bilder. c = a b Med ovanståe formel lyckades vi skapa en bild c, där man kunde se var skillnaderna låg, mellan bilderna a och b. Detta fungerade väldigt bra då man exempelvis ville upptäcka borttagandet av något i den ursprungliga bilden a. Det är viktigt att ta upp att vår applikation inte hanterar bilder, som är olika stora. Det är alltså väsentligt att förstå att vårt programs styrka ligger i att upptäcka hur en bild a, har modifierats av olika faktorer och blivit en bild b. Funktionen fungerar dock inte särskilt väl när modifikationerna handlar om färg- eller kontrastbyten. Korrelation Ett sätt att få ett kvantitativt mått på hur lika signalerna x(t) och y(t) är, skulle kunna vara att bilda tidsmedelvärde av skillnaden x(t) y(t), som skulle kunna förväntas bli 0 om signalerna är identiska. Denna metod är dock mindre lyckad då stora positiva och negativa skillnader mellan signalerna kan ta ut varandra och resultera i att medelvärdet blir litet även om de båda signalerna är mycket olika. För att komma förbi denna begränsning räknar vi istället tidsmedelvärdet för skillnaden i kvadrat, d.v.s. effekten, som också måste vara 0 för identiska signaler. 1 P = lim T T T / 2 T / 2 ( x( t) y( t)) 2 1 dt = lim T T T / 2 T / 2 2 x ( t) dt + T / 2 2 T / 2 x ( t) dt 2 T / 2 T / 2 x( t) y( t) dt Ingen av dessa storheter har någonting att göra med hur lika signalerna är, varför denna information måste återfinnas i följande integral, betecknad ρ xy ρ xy 1 = lim T T T / 2 T / 2 x( t) y( t) dt Den ovanståe integralen kallas för korrelationen mellan x(t) och y(t) och dess värde är större, ju större likheterna är mellan x(t) och y(t). För tidsdiskreta sekvenser ges korrelationen av ρ xy = 1 1 N N n= 0 x( n) y( n) 5

Det absoluta värdet beror dessutom på signalernas amplitudsnivåer, vilket inte säger någonting om likheten mellan signalerna varför vi subtraherar signalernas eventuella likspänningsnivåer och normaliserar med avsee på signalernas effektivvärde. Det normaliserade värdet kallas korrelationskoefficienten och ges i det diskreta fallet av: r = ( m n ( A ( A mn A)( B A) )( mn 2 mn m n m n B) ( B mn 2 B) ), A = mean( A), B = mean( B) Korrelationskoefficienten r kan ast ligga mellan 1 och 1. Om r = 1, brukar man säga att A och B har full korrelation. Vid den andra extrempukten i r = -1 säger man att matriserna har full omvänd korrelation. Om r = 0 så är inte matriserna korrelaterade. Magnituden av r, abs(r) representerar mängden korrelation (positiv eller negativ) mellan A och B. Korrelationskoefficienten är ett mått på relationen två bilder emellan. Man får exempelvis att korrelationskoefficienten blir lika med 1 om två bilder är identiska. Om man istället inverterar färgerna i en av bilderna, kommer r att bli lika med 1. Filter Det filtret vi använde oss av för att kontrollera filterpåverkan på våra signaler var ett Butterworthfilter. Butterworthfiltret är konstruerat för att ge ett så jämnt passband som möjligt. Ett lågpass Butterworthfilter karaktäriseras av att det saknar nollställen och att filtrets poler ligger jämnt fördelade på en halvcirkel i vänstra halvplanet. Filtrets gränsfrekvens ω c svarar mot halvcirkelns radie. Man kan visa att frekvens gången för ett n:te ordningens lågpass Butterworthfilter med gränsfrekvens ω c ges av: H ( ω ) = 1 ω 1+ ω c 2n Med Matlab-anropen butter(n,k) samt butter(n,k, high ),där n = ordningen och k = Wn som är cutoff frekvensen delad med Nyquistfrekvensen (halva samplingsfrekvensen), kunde vi lågpass- och högpassfiltrera bilderna. De a slutsatserna vi kan dra av våra försök med olika n och k (se ovan) är att det INTE går att förbättra resultaten bara för att man högpass- eller lågpassfiltrerar bilderna. 6

Resultat Meningen med vår projekt var att Finna fem fel. Nedan ser man att detta lyckades. Bild 1 Bild2 Absoluta skillnaden Korrelationen Vår slutsats när det gäller filter var att det inte hjälpte alls att låg-/högpassfiltrera bilderna. Nedan ser man beviset: Lågpass. Ordning 1, gränsfrekv 0,1 Lågpass. Ordning 1, gränsfrekv 0,5 7

Lågpass. Ordning 3, gränsfrekv 0,1 Lågpass. Ordning 3, gränsfrekv 0,5 Högpass. Ordning 1, gränsfrekv 0,1 Högpass. Ordning 1, gränsfrekv 0,5 Högpass. Ordning 3, gränsfrekv 0,1 Högpass. Ordning 3, gränsfrekv 0,5 8

Vi testade ännu 2 bilder Bild 1 Bild 2 Absoluta skillnaden Korrelationen 9

Slutsatser och funderingar Det är förvånasvärt enkelt att implementera ett program som hittar skillnader i bilder, trots det känner vi i gruppen att det är iochmed detta projekt som vi för första gången skapar något som kan ha RIKTIGA tillämpningar i den RIKTIGA världen. Det faktumet att vi skapat något riktigt var en inspirations- och motivationskälla för vår projektgrupp. Att filtrering inte gav bra resultat var oerhört oväntat, men lärorikt. Med tanke på de begränsningar vi har kan man utveckla vårt projekt väldigt mycket. Vi skulle kunna tänka oss att förbättra projektet genom att jämföra delar av bilderna...om man exempelvis vill hitta ett ansikte i ett klassfoto. Sedan skulle man kunna implementera en funktion trim, som ser till att göra bilderna lika stora, på det sättet skulle vi kunna jämföra förstoringar eller förminskningar med den ursprungliga bilden utan att skillnader upptäcks. Ännu en utveckling är att markera saker som lagts till i bilderna med en viss färg och saker som tagits bort med en annan, för att på så sätt få ett mer överskådligt intryck av förändringarna i bilderna. Det lämnar vi dock till de kommande generationerna. God jul! 10

Bibliografi 1) Signaler och System. Anders Svärdström 2) ECE 197H Multimedia Systems http://www-unix.oit.umass.edu/~keropie3/ece197h/project1homepage.htm 11

Appix Kod function mycorr /* I denna funktion räknar vi ut korrelationen mellan 2 bilder och jämför det med ett tröskelvärde, som användaren bestämmer */ clear; close all; a = input('orginalbild ','s'); b = input('bild att testa ','s'); th = input('threshold? '); a=imread(a); b=imread(b); %FILTER %c = input('ord:'); %d = input('frek:'); %[X, map] = butter(c, d,'high'); %a=imfilter(a,[x,map]); %b=imfilter(b,[x,map]); if (length(size(a))) ~= 2 a = rgb2gray(a); if (length(size(b))) ~= 2 b = rgb2gray(b); a=double(a); b=double(b); function absdiff /* I denna function räknar vi ut den absoluta skillnaden mellan 2 bilder */ clear; close all; a = input('orginalbild: ','s'); b = input('bild att testa: ','s'); a = imread(a); b = imread(b); if (length(size(a))) ~= 2 a = rgb2gray(a); if (length(size(b))) ~= 2 b = rgb2gray(b); a = double(a); b = double(b); c=abs(a-b); figure(1); colormap(gray(2)); imagesc(c); a = a - mean2(a); b = b - mean2(b); c = (a.*b)./ sqrt((a.^2).* (b.^2)); sizec = size(c); for x = 1:sizeC(1) for y = 1:sizeC(2) if double(c(x,y)) >= th c(x,y) = 255; else c(x,y) = 0; figure(2); colormap(gray(2)); image(c); 12

13