Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Lineaarialgebra Kuvankäsittelyssä | Johdatus Tietokonenäköön
Konenäön Perusteet
course content

Kurssisisältö

Konenäön Perusteet

Konenäön Perusteet

1. Johdatus Tietokonenäköön
2. Kuvankäsittely OpenCV:llä
3. Konvoluutioneuroverkot
4. Esineentunnistus
5. Edistyneiden Aiheiden Yleiskatsaus

book
Lineaarialgebra Kuvankäsittelyssä

Lineaarialgebra on keskeisessä roolissa kuvankäsittelyssä. Koska digitaaliset kuvat esitetään matriiseina, joissa on pikseliarvoja, matemaattisia operaatioita kuten muunnoksia, skaalausta ja kiertoja voidaan suorittaa matriisien avulla. Tarkastellaan tietokonenäön kannalta olennaisimpia lineaarialgebran käsitteitä.

Kuvan esittäminen matriiseina

Digitaalinen kuva on pohjimmiltaan pikseliruudukko, jossa jokaisella pikselillä on intensiteettiarvo. Harmaasävykuvissa tämä on 2D-matriisi, jossa jokainen alkio vastaa kirkkaustasoa (0 tarkoittaa mustaa, 255 valkoista). Esimerkiksi yksinkertainen 6×6 harmaasävykuva voisi näyttää tältä:

Värikuvat puolestaan ovat 3D-matriiseja (joita kutsutaan myös tensoriksi), joissa on omat kerrokset punaiselle, vihreälle ja siniselle (RGB).

Harmaasävykuvien koko on (60, 60), mikä tarkoittaa, että niissä on 60 riviä ja 60 saraketta, ja jokainen pikseli edustaa yhtä intensiteettiarvoa – käytössä on vain yksi värikanava. RGB-kuvien koko on puolestaan (60, 60, 3), mikä tarkoittaa samaa spatiaalista tarkkuutta (60 riviä ja 60 saraketta), mutta mukana on lisäulottuvuus väreille: jokainen pikseli sisältää kolme arvoa, jotka vastaavat punaisen, vihreän ja sinisen kanavan arvoja, ja yhdessä nämä määrittävät kyseisen kohdan värin.

Lineaarialgebran muunnokset kuvankäsittelyssä

Useat kuvamanipulaatiot perustuvat matriisioperaatioihin, joten lineaarialgebra on keskeinen osa tietokonenäköä. Käydään läpi yleisimmät käytetyt muunnokset.

Kuvan skaalaus (koon muuttaminen)

Skaalaus suurentaa tai pienentää kuvan kokoa. Tämä toteutetaan kertomalla kuvan matriisi skaalausmatriisilla:

S = [ sx 0 0 sy ]

missä sx ja sy ovat leveyden ja korkeuden skaalauskertoimet. Esimerkki: Jos halutaan kaksinkertaistaa kuvan koko, käytetään:

S = [ 2 0 0 2 ]

Tämän matriisin kertominen jokaisen pikselin koordinaateilla suurentaa kuvaa.

Kuvan kierto

Kuvan kiertämiseen kulmalla θ käytetään kiertomatriisia:

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

Esimerkiksi kuvan kiertäminen 90 astetta myötäpäivään tarkoittaa seuraavaa:

θ = 90°

R = [ 0 1 -1 0 ]

Tämän muunnoksen soveltaminen siirtää jokaisen pikselin uuteen sijaintiin, mikä käytännössä kiertää kuvaa.

Leikkaus (Kuvan vinouttaminen)

Leikkaus vääristää kuvaa siirtämällä sen rivejä tai sarakkeita. Leikkausmuunnoksen matriisi on:

Ω = [ 1 ωx ωy 1 ]

missä ωx ja ωy määrittävät, kuinka paljon kuvaa vinoutetaan vaakasuunnassa ja pystysuunnassa. Kuvan siirtäminen 30 % vaakasuunnassa ja 20 % pystysuunnassa:

Ω = [ 1 0.3 0.2 1 ]

Miksi lineaarialgebra on tärkeää tietokonenäössä

Lineaarialgebra muodostaa perustan monille kuvankäsittelytehtäville, kuten:

  • Objektien tunnistus (rajauslaatikot perustuvat muunnoksiin);

  • Kasvojentunnistus (ominaisuuksien poiminta ominaisvektoreilla ja PCA:lla);

  • Kuvan parantaminen (suodatus käyttää matriisikonvoluutioita);

  • Neuroverkot (painot tallennetaan matriiseina).

Ymmärtämällä nämä perusoperaatiot voimme käsitellä kuvia tehokkaasti ja rakentaa kehittyneempiä tietokonenäön sovelluksia.

question mark

Mikä seuraavista vaihtoehdoista voi olla RGB-kuvan muoto?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 3

Kysy tekoälyä

expand
ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

course content

Kurssisisältö

Konenäön Perusteet

Konenäön Perusteet

1. Johdatus Tietokonenäköön
2. Kuvankäsittely OpenCV:llä
3. Konvoluutioneuroverkot
4. Esineentunnistus
5. Edistyneiden Aiheiden Yleiskatsaus

book
Lineaarialgebra Kuvankäsittelyssä

Lineaarialgebra on keskeisessä roolissa kuvankäsittelyssä. Koska digitaaliset kuvat esitetään matriiseina, joissa on pikseliarvoja, matemaattisia operaatioita kuten muunnoksia, skaalausta ja kiertoja voidaan suorittaa matriisien avulla. Tarkastellaan tietokonenäön kannalta olennaisimpia lineaarialgebran käsitteitä.

Kuvan esittäminen matriiseina

Digitaalinen kuva on pohjimmiltaan pikseliruudukko, jossa jokaisella pikselillä on intensiteettiarvo. Harmaasävykuvissa tämä on 2D-matriisi, jossa jokainen alkio vastaa kirkkaustasoa (0 tarkoittaa mustaa, 255 valkoista). Esimerkiksi yksinkertainen 6×6 harmaasävykuva voisi näyttää tältä:

Värikuvat puolestaan ovat 3D-matriiseja (joita kutsutaan myös tensoriksi), joissa on omat kerrokset punaiselle, vihreälle ja siniselle (RGB).

Harmaasävykuvien koko on (60, 60), mikä tarkoittaa, että niissä on 60 riviä ja 60 saraketta, ja jokainen pikseli edustaa yhtä intensiteettiarvoa – käytössä on vain yksi värikanava. RGB-kuvien koko on puolestaan (60, 60, 3), mikä tarkoittaa samaa spatiaalista tarkkuutta (60 riviä ja 60 saraketta), mutta mukana on lisäulottuvuus väreille: jokainen pikseli sisältää kolme arvoa, jotka vastaavat punaisen, vihreän ja sinisen kanavan arvoja, ja yhdessä nämä määrittävät kyseisen kohdan värin.

Lineaarialgebran muunnokset kuvankäsittelyssä

Useat kuvamanipulaatiot perustuvat matriisioperaatioihin, joten lineaarialgebra on keskeinen osa tietokonenäköä. Käydään läpi yleisimmät käytetyt muunnokset.

Kuvan skaalaus (koon muuttaminen)

Skaalaus suurentaa tai pienentää kuvan kokoa. Tämä toteutetaan kertomalla kuvan matriisi skaalausmatriisilla:

S = [ sx 0 0 sy ]

missä sx ja sy ovat leveyden ja korkeuden skaalauskertoimet. Esimerkki: Jos halutaan kaksinkertaistaa kuvan koko, käytetään:

S = [ 2 0 0 2 ]

Tämän matriisin kertominen jokaisen pikselin koordinaateilla suurentaa kuvaa.

Kuvan kierto

Kuvan kiertämiseen kulmalla θ käytetään kiertomatriisia:

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

Esimerkiksi kuvan kiertäminen 90 astetta myötäpäivään tarkoittaa seuraavaa:

θ = 90°

R = [ 0 1 -1 0 ]

Tämän muunnoksen soveltaminen siirtää jokaisen pikselin uuteen sijaintiin, mikä käytännössä kiertää kuvaa.

Leikkaus (Kuvan vinouttaminen)

Leikkaus vääristää kuvaa siirtämällä sen rivejä tai sarakkeita. Leikkausmuunnoksen matriisi on:

Ω = [ 1 ωx ωy 1 ]

missä ωx ja ωy määrittävät, kuinka paljon kuvaa vinoutetaan vaakasuunnassa ja pystysuunnassa. Kuvan siirtäminen 30 % vaakasuunnassa ja 20 % pystysuunnassa:

Ω = [ 1 0.3 0.2 1 ]

Miksi lineaarialgebra on tärkeää tietokonenäössä

Lineaarialgebra muodostaa perustan monille kuvankäsittelytehtäville, kuten:

  • Objektien tunnistus (rajauslaatikot perustuvat muunnoksiin);

  • Kasvojentunnistus (ominaisuuksien poiminta ominaisvektoreilla ja PCA:lla);

  • Kuvan parantaminen (suodatus käyttää matriisikonvoluutioita);

  • Neuroverkot (painot tallennetaan matriiseina).

Ymmärtämällä nämä perusoperaatiot voimme käsitellä kuvia tehokkaasti ja rakentaa kehittyneempiä tietokonenäön sovelluksia.

question mark

Mikä seuraavista vaihtoehdoista voi olla RGB-kuvan muoto?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 3
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?
some-alt