Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Linjär Algebra för Bildmanipulation | Introduktion till Datorseende
Grundläggande Datorseende
course content

Kursinnehåll

Grundläggande Datorseende

Grundläggande Datorseende

1. Introduktion till Datorseende
2. Bildbehandling med OpenCV
3. Konvolutionella Neurala Nätverk
4. Objektdetektering
5. Översikt över Avancerade Ämnen

book
Linjär Algebra för Bildmanipulation

Linjär algebra spelar en avgörande roll inom bildbehandling. Eftersom digitala bilder representeras som matriser av pixelvärden, kan matematiska operationer som transformationer, skalning och rotationer utföras med hjälp av matrismultiplikationer. Här går vi igenom de grundläggande linjäralgebrakoncepten som används inom datorseende.

Bildrepresentation som matriser

En digital bild är i grunden ett rutnät av pixlar, där varje pixel har ett intensitetsvärde. För gråskalebilder är detta en 2D-matris, där varje post motsvarar en ljusstyrkenivå (0 för svart, 255 för vitt). Till exempel kan en enkel 6×6 gråskalebild se ut så här:

Färgbilder å andra sidan är 3D-matriser (även kallade tensorer), med separata lager för Rött, Grönt och Blått (RGB).

Gråskalebilder har formen (60, 60), vilket innebär att de består av 60 rader och 60 kolumner, där varje pixel representerar ett enda intensitetsvärde – det finns endast en färgkanal. RGB-bilder har däremot formen (60, 60, 3), vilket anger samma rumsliga upplösning (60 rader och 60 kolumner), men med en extra dimension för färg: varje pixel innehåller tre värden som motsvarar de röda, gröna och blå kanalerna som tillsammans definierar den fullständiga färgen på den punkten.

Linjära algebraiska transformationer för bildbehandling

Flera bildmanipulationer bygger på matrismatematik, vilket gör linjär algebra till en central del av datorseende. Här går vi igenom de vanligaste transformationerna.

Bildskalning (ändring av storlek)

Skalning ökar eller minskar storleken på en bild. Detta uppnås genom att multiplicera bildmatrisen med en skalningsmatris:

S = [ sx 0 0 sy ]

där sx och sy är skalningsfaktorer för bredd respektive höjd. Exempel: Om vi vill fördubbla storleken på en bild använder vi:

S = [ 2 0 0 2 ]

Multiplicera denna matris med varje pixels koordinater skalar upp bilden.

Bildrotation

För att rotera en bild med en vinkel θ används en rotationsmatris:

R = [ cosθ -sinθ sinθ cosθ ]

Till exempel innebär att rotera en bild 90 grader medurs att använda:

θ = 90°

R = [ 0 1 -1 0 ]

Att tillämpa denna transformation flyttar varje pixel till en ny position, vilket effektivt roterar bilden.

Skjuvning (Förvrängning av en bild)

Skjuvning förvränger en bild genom att förskjuta dess rader eller kolumner. Transformationsmatrisen för skjuvning är:

Ω = [ 1 ωx ωy 1 ]

där ωx och ωy anger hur mycket bilden förskjuts horisontellt och vertikalt. Att förskjuta en bild 30% horisontellt och 20% vertikalt:

Ω = [ 1 0.3 0.2 1 ]

Varför linjär algebra är viktig inom datorseende

Linjär algebra utgör grunden för många bildbehandlingsuppgifter, inklusive:

  • Objektidentifiering (avgränsningsrutor bygger på transformationer);

  • Ansiktsigenkänning (egenvektorer och PCA för funktionsutvinning);

  • Bildförbättring (filtrering använder matris-konvolutioner);

  • Neurala nätverk (vikter lagras som matriser).

Genom att förstå dessa grundläggande operationer kan vi effektivt manipulera bilder och bygga mer avancerade datorseendetillämpningar.

question mark

Vilka av alternativen kan vara formen på en RGB-bild?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 3

Fråga AI

expand
ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

course content

Kursinnehåll

Grundläggande Datorseende

Grundläggande Datorseende

1. Introduktion till Datorseende
2. Bildbehandling med OpenCV
3. Konvolutionella Neurala Nätverk
4. Objektdetektering
5. Översikt över Avancerade Ämnen

book
Linjär Algebra för Bildmanipulation

Linjär algebra spelar en avgörande roll inom bildbehandling. Eftersom digitala bilder representeras som matriser av pixelvärden, kan matematiska operationer som transformationer, skalning och rotationer utföras med hjälp av matrismultiplikationer. Här går vi igenom de grundläggande linjäralgebrakoncepten som används inom datorseende.

Bildrepresentation som matriser

En digital bild är i grunden ett rutnät av pixlar, där varje pixel har ett intensitetsvärde. För gråskalebilder är detta en 2D-matris, där varje post motsvarar en ljusstyrkenivå (0 för svart, 255 för vitt). Till exempel kan en enkel 6×6 gråskalebild se ut så här:

Färgbilder å andra sidan är 3D-matriser (även kallade tensorer), med separata lager för Rött, Grönt och Blått (RGB).

Gråskalebilder har formen (60, 60), vilket innebär att de består av 60 rader och 60 kolumner, där varje pixel representerar ett enda intensitetsvärde – det finns endast en färgkanal. RGB-bilder har däremot formen (60, 60, 3), vilket anger samma rumsliga upplösning (60 rader och 60 kolumner), men med en extra dimension för färg: varje pixel innehåller tre värden som motsvarar de röda, gröna och blå kanalerna som tillsammans definierar den fullständiga färgen på den punkten.

Linjära algebraiska transformationer för bildbehandling

Flera bildmanipulationer bygger på matrismatematik, vilket gör linjär algebra till en central del av datorseende. Här går vi igenom de vanligaste transformationerna.

Bildskalning (ändring av storlek)

Skalning ökar eller minskar storleken på en bild. Detta uppnås genom att multiplicera bildmatrisen med en skalningsmatris:

S = [ sx 0 0 sy ]

där sx och sy är skalningsfaktorer för bredd respektive höjd. Exempel: Om vi vill fördubbla storleken på en bild använder vi:

S = [ 2 0 0 2 ]

Multiplicera denna matris med varje pixels koordinater skalar upp bilden.

Bildrotation

För att rotera en bild med en vinkel θ används en rotationsmatris:

R = [ cosθ -sinθ sinθ cosθ ]

Till exempel innebär att rotera en bild 90 grader medurs att använda:

θ = 90°

R = [ 0 1 -1 0 ]

Att tillämpa denna transformation flyttar varje pixel till en ny position, vilket effektivt roterar bilden.

Skjuvning (Förvrängning av en bild)

Skjuvning förvränger en bild genom att förskjuta dess rader eller kolumner. Transformationsmatrisen för skjuvning är:

Ω = [ 1 ωx ωy 1 ]

där ωx och ωy anger hur mycket bilden förskjuts horisontellt och vertikalt. Att förskjuta en bild 30% horisontellt och 20% vertikalt:

Ω = [ 1 0.3 0.2 1 ]

Varför linjär algebra är viktig inom datorseende

Linjär algebra utgör grunden för många bildbehandlingsuppgifter, inklusive:

  • Objektidentifiering (avgränsningsrutor bygger på transformationer);

  • Ansiktsigenkänning (egenvektorer och PCA för funktionsutvinning);

  • Bildförbättring (filtrering använder matris-konvolutioner);

  • Neurala nätverk (vikter lagras som matriser).

Genom att förstå dessa grundläggande operationer kan vi effektivt manipulera bilder och bygga mer avancerade datorseendetillämpningar.

question mark

Vilka av alternativen kan vara formen på en RGB-bild?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 3
Vi beklagar att något gick fel. Vad hände?
some-alt