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

bookLineaarialgebra 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 matriisimanipulaatioiden avulla. Tarkastellaan tietokonenäössä käytettyjä olennaisia 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ä:

harmaasävyinen matriisi

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

RGB_grid
Note
Huomio

Tensori on yleistermi moniulotteiselle lukutaulukolle. Vektorit (1D) ja matriisit (2D) ovat tensoreiden erikoistapauksia. Yleisesti ottaen tensoreilla voi olla mikä tahansa määrä ulottuvuuksia, ja ne toimivat perustana datan esittämiselle monissa tietokonenäön ja koneoppimisen sovelluksissa.

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. Sen sijaan RGB-kuvien koko on (60, 60, 3), mikä osoittaa saman spatiaalisen resoluution (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 kanavia, ja yhdessä nämä määrittävät kyseisen kohdan täyden 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 kuvamatriisi skaalausmatriisilla:

S=[sx00sy]S = \begin{bmatrix} s_x & 0 \\ 0 & s_y \end{bmatrix}

missä sxs_x ja sys_y ovat leveyden ja korkeuden skaalauskertoimet. Esimerkki: Jos haluamme kaksinkertaistaa kuvan koon, käytämme:

S=[2002]S = \begin{bmatrix} 2 & 0 \\ 0 & 2 \end{bmatrix}
koon muuttaminen

Kertomalla tämä matriisi jokaisen pikselin koordinaateilla kuva skaalataan suuremmaksi.

Kuvan kierto

Kuvan kiertämiseksi kulmalla θ\theta käytetään kiertomatriisia:

R=[cosθsinθsinθcosθ]R = \begin{bmatrix} \cos{\theta} & -\sin{\theta} \\ \sin{\theta} & \cos{\theta} \end{bmatrix}

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

θ=90°R=[0110]\theta = 90\degree \\[6pt] R = \begin{bmatrix} 0&1\\-1&0 \end{bmatrix}
kierrä

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ωy1]\Omega = \begin{bmatrix} 1 & \omega_x \\ \omega_y & 1 \end{bmatrix}

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

Ω=[10.30.21]\Omega = \begin{bmatrix} 1 & 0.3 \\ 0.2 & 1 \end{bmatrix}
siirto

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);
  • Kuvanparannus (suodatus käyttää matriisikonvoluutioita);
  • Neuroverkot (painot tallennetaan matriiseina).

Ymmärtämällä nämä perusoperaatiot voidaan käsitellä kuvia tehokkaasti ja rakentaa kehittyneempiä tietokonenäö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

Kysy tekoälyä

ChatGPT

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

Awesome!

Completion rate improved to 3.45

bookLineaarialgebra Kuvankäsittelyssä

Pyyhkäise näyttääksesi valikon

Lineaarialgebra on keskeisessä roolissa kuvankäsittelyssä. Koska digitaaliset kuvat esitetään matriiseina, joissa on pikseliarvoja, matemaattisia operaatioita kuten muunnoksia, skaalausta ja kiertoja voidaan suorittaa matriisimanipulaatioiden avulla. Tarkastellaan tietokonenäössä käytettyjä olennaisia 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ä:

harmaasävyinen matriisi

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

RGB_grid
Note
Huomio

Tensori on yleistermi moniulotteiselle lukutaulukolle. Vektorit (1D) ja matriisit (2D) ovat tensoreiden erikoistapauksia. Yleisesti ottaen tensoreilla voi olla mikä tahansa määrä ulottuvuuksia, ja ne toimivat perustana datan esittämiselle monissa tietokonenäön ja koneoppimisen sovelluksissa.

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. Sen sijaan RGB-kuvien koko on (60, 60, 3), mikä osoittaa saman spatiaalisen resoluution (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 kanavia, ja yhdessä nämä määrittävät kyseisen kohdan täyden 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 kuvamatriisi skaalausmatriisilla:

S=[sx00sy]S = \begin{bmatrix} s_x & 0 \\ 0 & s_y \end{bmatrix}

missä sxs_x ja sys_y ovat leveyden ja korkeuden skaalauskertoimet. Esimerkki: Jos haluamme kaksinkertaistaa kuvan koon, käytämme:

S=[2002]S = \begin{bmatrix} 2 & 0 \\ 0 & 2 \end{bmatrix}
koon muuttaminen

Kertomalla tämä matriisi jokaisen pikselin koordinaateilla kuva skaalataan suuremmaksi.

Kuvan kierto

Kuvan kiertämiseksi kulmalla θ\theta käytetään kiertomatriisia:

R=[cosθsinθsinθcosθ]R = \begin{bmatrix} \cos{\theta} & -\sin{\theta} \\ \sin{\theta} & \cos{\theta} \end{bmatrix}

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

θ=90°R=[0110]\theta = 90\degree \\[6pt] R = \begin{bmatrix} 0&1\\-1&0 \end{bmatrix}
kierrä

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ωy1]\Omega = \begin{bmatrix} 1 & \omega_x \\ \omega_y & 1 \end{bmatrix}

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

Ω=[10.30.21]\Omega = \begin{bmatrix} 1 & 0.3 \\ 0.2 & 1 \end{bmatrix}
siirto

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);
  • Kuvanparannus (suodatus käyttää matriisikonvoluutioita);
  • Neuroverkot (painot tallennetaan matriiseina).

Ymmärtämällä nämä perusoperaatiot voidaan käsitellä kuvia tehokkaasti ja rakentaa kehittyneempiä tietokonenäö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
some-alt