Käyttää kehittyneitä kuvankäsittelyalgoritmeja varmistaakseen tarkat kuvat. Järjestelmän käyttöönotto. Kuvan esikäsittelyalgoritmit

1

Tässä artikkelissa on kehitetty sumeaan logiikkaan ja hermoverkkoihin perustuvia algoritmeja kuvankäsittelyyn älykkäillä mobiilirobotteilla, jotka mahdollistavat kuvan rajojen tunnistamisen Sobel-operaattorilla. Kuvankäsittelyn ydin on pienentää kohtauksen alkuperäinen kuva muotoon, joka mahdollistaa sen kohteiden tunnistamisongelman ratkaisemisen. Tärkeimmät ongelmat sekä tapoja ratkaista ne pohditaan kuvan alustavan valmistelun aikana tunnistamista varten. Sumeaa logiikkaa käyttävää esikäsittelyalgoritmia ja kuvan binarisointiprosessia analysoidaan yksityiskohtaisesti. Sumea käsittelyalgoritmi on rakennettu tunnistamaan kuvan rajat Sobel-operaattorilla.

kuvankäsittely

sumea logiikka

älykäs järjestelmä

kohteen tunnistus

1. Vesnin E.N., Veto A.V., Tsarev V.A. Kysymys adaptiivisten optoelektronisten näköjärjestelmien kehittämisestä ja soveltamisesta // Teollisuuden automaatio, 2009.- Nro 11.- s. 48-52.

2. Grishin V.A. Tekniset näköjärjestelmät miehittämättömien ilma-alusten ohjausongelmien ratkaisemisessa // Sensors and Systems, nro 2, 2009.- s. 46-52.

3. Klevalin V.A., Polivanov A.Yu. Digitaaliset tunnistusmenetelmät teollisuusrobottien teknisissä näköjärjestelmissä // Mekatroniikka, automaatio, ohjaus, 2008, nro 5.- s. 56-56.

4. Mikhailov S.V., Romanov V.V., Zaikin D.A. Tekninen näköjärjestelmä materiaalien leikkausprosessin diagnosointiin // Tiedote tietokone- ja tietotekniikasta, 2007, nro 3.- s. 12-19.

5. Semin M.S. Katsaus sovellettujen ongelmien ratkaisemiseen teknisten näköjärjestelmien avulla// http://www.videoscan.ru/page/718#13.

Tällä hetkellä automaattinen kuvankäsittely on yksi tärkeimmistä osa-alueista tekoälyn alalla, ja se sisältää kuvantunnistusta suorittavien robottijärjestelmien kehittämisen. Yksi tehokkaimmista työkaluista hahmontunnistukseen ovat sumeaan logiikkaan ja keinotekoisiin hermoverkkoihin rakennetut järjestelmät. Tekninen visiojärjestelmä (TVS) vaatii useita menetelmiä ja algoritmeja, jotka ratkaisevat saman ongelman eri tavoin ja tarjoavat samalla tarvittavat indikaattorit tunnistamisen nopeudelle ja luotettavuudelle.

Mobiilirobottijärjestelmien (MRC) SZ:n hybridikuvankäsittelyalgoritmin olemus on pelkistää näkymän alkuperäinen kuva muotoon, joka mahdollistaa sen kohteiden tunnistamisongelman ratkaisemisen.

Algoritmi kuvan esikäsittelyyn käyttämällä sumeaa järjestelmää STS:ssä

Kuvankäsittelyssä sumea käsittely edustaa monia erilaisia ​​sumeita lähestymistapoja, joita ovat ymmärtäminen, esitys, kuvankäsittely, segmentointi ja sumeat joukot. Kuviontunnistusprosessissa alustava sumean kuvankäsittelyn prosessi on erittäin tärkeä, koska siitä riippuu sen tiedon laatu, joka sitten tulee neuroverkon tuloihin. Ratkaistavan ongelman puitteissa kehitetty esisumean käsittelyalgoritmi voidaan esittää seuraavana vaihesarjana (kuva 1): kuvanotto web-kameralla; muunnetaan tuloksena saatu värikuva harmaasävykuvaksi; sumea kuvankäsittely.

Riisi. 1. Algoritmi alustavaan sumean kuvankäsittelyyn

Näin ollen esisumean käsittelyn ensimmäinen vaihe on muuntaa kuva värillisestä harmaasävyksi. Kuvan värit muunnetaan harmaasävyiksi seuraavasti. Koko väripaletti on esitetty kuution muodossa, jonka kärjet vastaavat eri värejä. Harmaa-asteikko sijaitsee mustan ja valkoisen kärjet yhdistävän kuution diagonaalissa.

Kuvan muuntamiseksi harmaan sävyiksi eristetään värin punaisten, vihreiden ja sinisten komponenttien intensiteetit jokaiselle kuvan pisteelle ja sitten väri muunnetaan seuraavalla kaavalla:

missä on uusi väriarvo, on värin punaisen komponentin intensiteetti, on värin vihreän komponentin intensiteetti ja on värin sinisen komponentin intensiteetti. Kunkin algoritmin tulos on harmaasävy välillä 0–1. On olemassa joitakin tekniikoita kuvien muuntamiseksi vain harmaasävykuviksi. Vaaleusmenetelmä käyttää keskiarvoa kahden tärkeimmän ja vähiten merkitsevän värin välillä: . Keskimääräinen menetelmä käyttää kaikkien kolmen värin keskiarvoa: . Kirkkausmenetelmä käyttää kaikkien kolmen värin painotettua keskiarvoa ottaakseen huomioon ihmisen havainnon. Siksi, koska ihmissilmä on herkin vihreälle värille, sen painoa pidetään tärkeimpänä: . Kirkkauden tunnistusmenetelmää käyttää kuvankäsittelyohjelmisto. Se toteutti toiminnon " rgb2gray" MATLABissa, ja sitä käytetään usein tietokonenäkemiseen. Sumeassa esikäsittelyssä kuvat muunnetaan värillisistä (RGB) harmaasävyiksi käyttämällä kirkkauden tunnistusmenetelmää. Seuraavaksi kuva muunnetaan harmaasävystä mustavalkoiseksi (kuva 2).

Riisi. 2. prosessi, jossa kuvat muunnetaan värillisistä harmaasävyiksi

Kuvan binarisointi esikäsittelyn aikana

Alustavan sumean kuvankäsittelyn tarkoituksena on kuvan muodostaminen ja myöhempi parantaminen, sen binarisointi ja koodaus (erityisesti ääriviivaesityksen saaminen). Kuvan binarisointi on prosessi, jossa yhden värin (tässä tapauksessa harmaa) asteittaisesta kuvasta muodostuva muunnetaan binäärikuvaksi, ts. kuva, jossa jokaisella pikselillä voi olla vain kaksi väriä (tässä tapauksessa musta ja valkoinen). Tämän muunnoksen seurauksena pikselin väriä pidetään perinteisesti nollana tai ykkönä, kun taas nollaarvoisia pikseleitä (tässä tapauksessa nämä ovat valkoisia pikseleitä) kutsutaan taustaksi ja pikseleitä, joiden arvo on yksi. (musta) kutsutaan etualalla. Mutta tällaisen muunnoksen tuloksena saatu binäärikuva on vääristynyt alkuperäiseen verrattuna, jolle on ominaista katkosten ja epäselvyyden esiintyminen esineissä, kuvan kohinan esiintyminen homogeenisilla alueilla sekä eheyden menetys. esineiden rakenteesta.

Kohteen eheyden menetys sekä kohteen repeäminen johtuu useista syistä, kuten kohteen suuri epätasainen valaistus tai kosketus (tai päällekkäisten esineiden päällekkäisyys). Se on peittokuva (tai koskettaminen - peittokuvan erikoistapauksena) aiheuttaa erityisiä vaikeuksia käsittelyssä, koska toisaalta usean kohteen kuva voidaan tulkita yhdeksi objektiksi, ja toisaalta kohteen geometrista eheyttä tarkistavat algoritmit muodostavat päällekkäisyyksiin epäjatkuvuuksia esittäen nämä alueet taustana. Käsittelyn vaikeus johtuu teoreettisen ratkaisun puutteesta objektien päällekkäisyyden tulkintaongelmaan, koska osa tiedoista katoaa. Toteutettaessa algoritmeja käytännössä yksi ilmoitetuista vaihtoehdoista valitaan oikeaksi päätökseksi - joko leikkausta pidetään nykyisen kohteen jatkona tai päällekkäinen alue katsotaan taustaksi.

Kynnys muuntaa värillisen tai harmaan kuvan mustavalkoiseksi. Kynnysmuunnokset ovat keskeisellä sijalla sovelletuissa kuvan segmentointiongelmissa niiden intuitiivisten ominaisuuksien ja helppokäyttöisyyden vuoksi. Jokaisen kuvan pikselin intensiteettitasoa tutkitaan, jos sen arvo on tietyn kynnystason yläpuolella, se vastaa valkoista väriä. Jos se on asetetun kynnyksen alapuolella, se on musta. Kynnystaso on välillä 0-255.

Tällä hetkellä on olemassa suuri määrä binarisointimenetelmiä. Tämän rasterikuvamuunnoksen ydin on nykyisen pikselin kirkkauden vertaileva analyysi tietyllä kynnysarvolla: jos nykyisen pikselin kirkkaus ylittää kynnysarvon, ts. , silloin binaarikuvan pikselien väri on valkoinen, muuten väri on musta. Kynnyspinta on matriisi, jonka mitat vastaavat alkuperäisen kuvan mittaa.

Binarisointiprosessissa kaikki menetelmät jaetaan kahteen ryhmään kynnyspinnan rakentamisperiaatteen mukaisesti - nämä ovat binarisoinnin globaalin ja paikallisen käsittelyn menetelmiä. Globaaleissaissä kynnyspinta on taso, jonka kynnyskirkkausarvo on vakio, ts. kynnysarvo lasketaan koko kuvan histogrammin analyysin perusteella ja on sama kaikille alkuperäisen kuvan pikseleille. Globaalilla kynnyksellä on merkittävä haittapuoli - jos lähdekuvassa on epätasainen valaistus, vähemmän valaistut alueet luokitellaan kokonaan etualalla. Paikallisissaissä kynnysarvo muuttuu jokaiselle pisteelle tämän pisteen tiettyyn naapuriin kuuluvan alueen joidenkin piirteiden perusteella. Tämän tyyppisen muunnoksen haittana on kunkin kuvapisteen kynnysarvojen uudelleenlaskentaan liittyvien algoritmien alhainen nopeus.

Menetelmänä ongelman ratkaisemiseksi käytämme Bernsenin menetelmää. Menetelmä perustuu ajatukseen verrata muunnetun pikselin kirkkaustasoa sen ympäristössä laskettujen paikallisten keskiarvojen arvoihin. Kuvapikselit käsitellään yksitellen vertaamalla niiden voimakkuutta keskimääräisiin kirkkausarvoihin ikkunoissa, jotka on keskitetty pisteisiin (kuva 3).

Riisi. 3. Kuvapikselin muuntaminen

Sumea käsittelyalgoritmi reunan havaitsemiseen ja kuvan segmentointiin

Kun kuva on muutettu mustavalkoiseksi, saadaan gradienttikuva käyttämällä Sobel-operaattoria ja syötetään sumean kuvankäsittelyn (FIP) tuloihin (kuva 4).

Sumea kuvankäsittely koostuu kolmesta päävaiheesta: kuvan sumeuttaminen, sumea päättelyjärjestelmä jäsenarvoista ja kuvan sumeuttaminen. Pääasiallinen sumea kuvankäsittely on keskivaiheessa (sumea päättelyjärjestelmä). Kun kuvatiedot on siirretty harmaalta tasolta sumeaksi, sumea päättelyjärjestelmä määräytyy jäsenarvojen perusteella. Sumeus on kuvadatan koodaus ja defuzzification on tulosten dekoodaus, joka mahdollistaa kuvankäsittelyn sumeilla menetelmillä.

Kuva - koko harmaasävyillä ja se voidaan määritellä joukoksi sumeita yhden pisteen joukkoja (sumeita joukkoja voidaan tukea vain yhdellä pisteellä), joka ilmaisee kunkin pikselin jäsenyysarvon suhteessa kuvan esiominaisuuksiin (esimerkiksi kirkkaus, sileys jne.). ).

(1)

missä ja ovat pikselijäsenyydet sumeiden joukkojen merkinnöissä. Jäsenyysarvojen määrittäminen riippuu tietyn sovelluksen erityisvaatimuksista ja asiaankuuluvasta tietopohjasta.

Syöttöjärjestelmän järjestelmän lähtö saadaan seuraavalla kaavalla:

(2)

Riisi. 4. Sumea kuvankäsittelyalgoritmi reunan havaitsemiseen

Neuroverkkojen sovellus hahmontunnistukseen

Monikerroksinen perceptroni on keinotekoinen hermoverkko, joka koostuu useista tulosolmuista, jotka muodostavat syöttökerroksen, yhdestä tai useammasta neuronien laskennallisesta kerroksesta ja yhdestä lähtökerroksesta (kuva 6). Tällaisissa verkoissa syöttökerrokseen syötetty signaali lähetetään peräkkäin eteenpäin suunnassa kerroksesta kerrokseen. Tämän tyyppistä ANN:ta käytetään menestyksekkäästi useiden ongelmien ratkaisemiseen, erityisesti hahmontunnistusongelmaan.

Takaisin etenevä neuroniverkko koostuu useista hermosolujen kerroksista, joista jokainen edellisen kerroksen hermosolu on yhteydessä jokaiseen seuraavan kerroksen neuroniin. Tällaisissa verkoissa kerrosten lukumäärän ja kunkin kerroksen elementtien lukumäärän määrittämisen jälkeen on tarpeen laskea verkon painojen ja kynnysten arvot siten, että ennustevirhe minimoidaan. Tämä ongelma ratkaistaan ​​käyttämällä erilaisia ​​​​oppimisalgoritmeja. Näiden algoritmien ydin on sovittaa verkko harjoitustietoihin. Toteutetun verkon virhe määritetään ajamalla kaikki syöttötiedot ja vertaamalla verkon lähdöstä saatuja todellisia arvoja tavoitearvoihin. Sitten tuloksena saadut erot summataan yhteiseksi, ns. virhefunktioksi, joka luonnehtii verkon kokonaisvirhettä. Mutta useammin neliöityjen virheiden summa otetaan virheiden funktiona.

Yksi yleisimmistä algoritmeista monikerroksisten hermoverkkojen harjoittamiseen on backpropagation-algoritmi. Tämä algoritmi laskee virhepinnan gradienttivektorin. Sitten siirretään tietty määrä vektorin suuntaan (se osoittaa meille jyrkimmän laskeutumisen suunnan), jossa virhearvo on pienempi. Tällainen johdonmukainen edistyminen johtaa vähitellen virheen minimoimiseen. Tässä syntyy vaikeus määritettäessä summaa, jolla ennakolta tulee. Jos askelkoko on suhteellisen suuri, tämä johtaa nopeimpaan laskeutumiseen, mutta "ylihyppy" on mahdollista.

haluttuun kohtaan tai mene väärään suuntaan, jos pinnalla on melko monimutkainen muoto. Jos pinta on esimerkiksi kapea rotko, jossa on jyrkkiä rinteitä, algoritmi liikkuu hyvin hitaasti hyppäämällä rinteestä toiseen. Jos askelkoko on pieni, tämä johtaa optimaalisimman suunnan löytämiseen, mutta voi merkittävästi lisätä iteraatioiden määrää. Optimaalisimman tuloksen saavuttamiseksi askelkoko otetaan suhteessa rinteen jyrkkyyteen tietyllä vakiolla - oppimisnopeudella. Tämän vakion valinta suoritetaan kokeellisesti ja riippuu tietyn tehtävän olosuhteista.

Otetaan käyttöön seuraava merkintä. Merkitään painokertoimien matriisi tuloista piilokerrokseen ja painokerrointen matriisi, joka yhdistää piilo- ja lähtökerrokset - . Indekseille käytämme seuraavaa merkintää: syötteet numeroidaan vain indeksin mukaan, piilokerroksen elementit - indeksin mukaan ja lähdöt - indeksin mukaan. Verkkotulojen määrä on , neuronien määrä piilokerroksessa on , neuronien lukumäärä lähtökerroksessa on . Koulutetaan verkosto näytteen perusteella . Sitten monikerroksinen perceptronin harjoitusalgoritmi näyttää tältä:

Vaihe 1. Verkon alustus. Painotuskertoimille annetaan pieniä satunnaisia ​​arvoja, esimerkiksi alueelta (-0,3, 0,3); on asetettu - oppimistarkkuusparametri, - oppimisnopeusparametri (yleensä ja voi laskea edelleen oppimisprosessin aikana), - suurin sallittu iteraatioiden lukumäärä.

Vaihe 2: Laske nykyinen lähtösignaali. Yksi harjoitusnäytteen kuvista syötetään verkon tuloon, ja neuroverkon kaikkien neuronien lähtöarvot määritetään.

Vaihe 3. Synoptisten painojen asettaminen. Laske hermoverkon lähtökerroksen painojen muutos kaavojen avulla:

Missä , . Laske piilotetun kerroksen painojen muutos kaavojen avulla: , Missä

Vaihe 4. Vaiheet 2-3 toistetaan kaikille harjoitusvektoreille. Harjoittelu päättyy, kun jokainen harjoituskuva saavuttaa virhefunktion arvon, joka ei ylitä e:tä tai suurimman sallitun iteraatiomäärän jälkeen.

Vaiheessa 2 on parempi esittää vektorit opetusjaksosta syötteeseen satunnaisessa järjestyksessä.

Verkon tulojen ja lähtöjen määrä määräytyy pääsääntöisesti ongelman ehtojen mukaan ja piilokerroksen koko löydetään kokeellisesti. Tyypillisesti siinä olevien neuronien määrä on 30-50 % sisääntulojen määrästä. Liian monta neuroneja piilokerroksessa johtaa siihen, että verkko menettää yleistyskykynsä (se yksinkertaisesti muistaa harjoitusnäytteen elementit perusteellisesti eikä vastaa samanlaisiin näytteisiin, mikä ei ole hyväksyttävää tunnistustehtävissä). Jos neuronien määrä piilokerroksessa on liian pieni, verkko ei yksinkertaisesti voi oppia.

Johtopäätös

Tärkeimmät ongelmat sekä tapoja ratkaista ne pohditaan kuvan alustavan valmistelun aikana tunnistamista varten. Sumeaa logiikkaa käyttävää esikäsittelyalgoritmia ja kuvan binarisointiprosessia analysoidaan yksityiskohtaisesti. Sumea käsittelyalgoritmi on rakennettu tunnistamaan kuvan rajat Sobel-operaattorilla.

Arvostelijat:

Gagarina L.G., teknisten tieteiden tohtori, professori, Informatiikan ja tietokonejärjestelmäohjelmistojen osaston johtaja, National Research University MIET, Moskova.

Portnov E.M., teknisten tieteiden tohtori, tietojenkäsittelytieteen ja tietokonejärjestelmien ohjelmistojen laitoksen professori, Moskovan kansallisen tutkimusyliopiston "MIET" "Control Information Systems" -tutkimuslaboratorion johtaja.

Bibliografinen linkki

Aung C.H., Tant Z.P., Fedorov A.R., Fedorov P.A. KUVANKÄSITTELYALGORITMEJEN KEHITTÄMINEN ÄLYKKEIDEN MOBIILIROBOTTIEN KEHITTÄMISEKSI SUMMALOGIIKKAAN JA NEURAALIVERKKOIHIN // Tieteen ja koulutuksen nykyaikaiset ongelmat. – 2014. – Nro 6.;
URL-osoite: http://science-education.ru/ru/article/view?id=15579 (käyttöpäivä: 01.2.2020). Tuomme huomionne "Luonnontieteiden Akatemian" kustantajan julkaisemat lehdet

Kuvien esittely

Kuvaesitysten päätyyppejä on kahta päätyyppiä – vektori ja rasteri.

Vektorikuvauksessa kuvaa kuvataan joukko viivoja (vektoreita), jotka sisältävät aloitus- ja loppupisteiden koordinaatit, viivojen kaarevuuden ja muut geometriset ominaisuudet kuvataan myös erilaisten alueiden ja väriominaisuuksien muodostamiseen . Toisin sanoen rasteriesitystä varten on tarpeen muodostaa jokin matemaattinen malli. Siksi vektoriesitystä käytetään pääasiassa kuvasynteesin ongelmien ratkaisemisessa. Vaikka jotkut kuvantunnistusalgoritmit vaativat työhönsä vektoriesityksen, joka on hankittava lähdekuvasta.

Rasterikuva on yksi tai useampi matriisi, joka kuvaa kuvan ominaisuuksien spatiaalista jakautumista jossakin suorakulmaisessa koordinaattiruudukossa. Tässä tapauksessa kuva on rakennettu useista pisteistä ja sillä on rasterirakenne. Kuvan rasteriesityksen pääelementti on pikseli (lyhenne sanoista "kuvaelementit" - kuvaelementit), jolla on koordinaatit rasterikoordinaattijärjestelmässä ja joitain attribuutteja (väri, kirkkaus, läpinäkyvyys jne.). Pikselien määrä X- ja Y-koordinaateissa (vaaka- ja pystysuorassa) määrittää kuvan esityksen resoluution (mitan). Pikselin väri määräytyy syvyyden mukaan - minkä tahansa värin määrittämiseen vaadittavien bittien määrällä.

Rasterikuvat jaetaan pikselin värin asetusmenetelmistä ja lähdekuvan ominaisuuksista riippuen:

Binääri

Rasteri

Paletti

Täysvärinen

Binääriesityksessä pikselin väri voi olla joko valkoinen tai musta ja se on koodattu yhdeksi bitiksi. Kuva on matriisi. Tämän matriisin jokaisen elementin I (i, j) arvo on joko 0 tai 1, missä i on rivin numero ja on tiettyä pikseliä vastaavan elementin sarakkeen j numero (kuvio 1).

Harmaasävykuvissa pikselit edustavat kirkkausarvoja, jotka vastaavat harmaan sävyjä. Rasterikuvaa kuvaavat matriisiindeksit määrittelevät pikselin sijainnin rasterilla ja matriisielementin arvon

– asettaa kirkkauden I (i, j) (kuva 2).

Palettikuvat kuvataan kahdella matriisilla (kuva 3). Yksi tallentaa indeksiarvoja, jotka määrittävät pääsyn palettimatriisin riville. Palettimatriisi on värikartta. Se sisältää 3 sarakeryhmää - jotka vastaavat punaista "R", vihreää "G" ja sinistä "B" värejä. Ne asettavat vastaavan pikselin värin.

Paletti on matriisi, jonka mitat ovat Nc 3, missä Nc on värien lukumäärä.

Kuvan esikäsittelyalgoritmit

Täysväriset kuvat on rakennettu RGB-muotoon ja ne edustavat kolmea matriisia R (i, j), G (i, j), B (i, j). Jokaisen matriisin vastaavat elementit sisältävät punaisen, vihreän ja sinisen värin intensiteetit matriisiindeksien määrittelemälle pikselin pisteelle. Näin ollen täysvärikuvalla ei ole värikarttaa ja kunkin pikselin väriä edustaa kolme numeroa, jotka on otettu vastaavista matriiseista (kuva 4).

Matriisien lukujen muoto voi olla joko kokonaisluku tai liukuluku. Ensimmäinen tapaus viittaa ns. digitoituihin kuviin, jotka on saatu eri laitteilla - skannereilla, digikameroilla, televisiokameroilla jne. Tässä muodossa kuvien tiedot tallennetaan tavallisiin grafiikkatiedostoihin.

Toista vaihtoehtoa käytetään kuvien sisäiseen esittämiseen niiden käsittelyn aikana. Tässä tapauksessa on kätevää normalisoida intensiteettitiedot yhdelle alueelle, esimerkiksi alueelle , ja suorittaa erilaisia ​​laskelmia kelluvilla luvuilla ja muuntaa sitten tulos alkuperäiseen kokonaislukumuotoon. Tämän menetelmän avulla voit vähentää laskentavirheitä ja parantaa käsittelytuloksen tarkkuutta.

Täysvärikuvissa yksi parametreista on värien enimmäismäärä, joka voidaan esittää kyseisessä muodossa. Yleisimmin käytetyt kuvat, joissa on 16, 256, 65536 (High Color) ja 10,7 miljoonaa (True Color) väriä.

Kuvan esikäsittelyalgoritmit

0 0 0 0 1 1 1 0 0

120 122 125 128 115 117 118

1 0 0 0 1 1 1 1 0

119 121 124 125 128 130 133

1 1 0 0 1 1 0 0 1

122 122 124 123 127 126 128

120 121 123 125 127 125 126

1 1 1 0 1 1 0 0 0

118 110 109 108 108 109 110

0 0 1 0 0 1 0 0 1

Kuvan esikäsittelyalgoritmit

Indeksimatriisi

31 15 03 09

Paletti Matrix

Kuvan esikäsittelyalgoritmit

Täysvärikuva voidaan esittää paitsi RGB-muodossa myös muilla värijärjestelmillä.

HSB-järjestelmässä väriä edustavat seuraavat väriominaisuudet: Hue – värisävy;

Kylläisyys – kylläisyys; Kirkkaus – kirkkaus.

Uskotaan, että tämä värijärjestelmä vastaa ihmisen värin havaitsemisen erityispiirteitä.

LAB-järjestelmässä väriä pidetään kirkkauden (vaaleuden) ja kahden riippumattoman värikkyysarvon yhdistelmänä, jotka määrittävät pikselin todellisen värin. Chroma A – värikomponentti valitaan violetista vihreään. Kromaattisuus B - toinen värikomponentti valitaan keltaisesta siniseen.

On muitakin värinesitysjärjestelmiä. Luonnollisesti ne kaikki liittyvät toisiinsa ja yhtä esitystä voidaan käyttää toisen saamiseksi. Värijärjestelmien monimuotoisuus määräytyy niiden avulla ratkaistujen tehtävien perusteella. Esimerkiksi on kätevämpää suorittaa värinkorjaus LAB-järjestelmässä, on parempi toistaa kuva näytön näytöllä RGB-järjestelmässä, on parempi tulostaa,

Kuvan esikäsittelyalgoritmit

käyttämällä CMYK-esitystä. Kuvia käsiteltäessä ja tunnistaessaan ne kuitenkin toimivat joka tapauksessa yhden tai useamman matriisin sisältävien kuvien rasteriesityksen kanssa.

Esikäsittelyalgoritmien luokittelu

Kuvan esikäsittelyalgoritmit on jaettu eri ryhmiin luokitteluominaisuuden mukaan. Kaikkien esikäsittelyalgoritmien on joko parannettava kuvien laatua jossain mielessä tai muutettava se sellaiseen muotoon, joka on mukavin myöhempää käsittelyä varten.

Algoritmeja, joiden tarkoituksena on parantaa kuvan värintoistoa, kutsutaan värinkorjausalgoritmeiksi. Tämä ryhmä sisältää myös algoritmeja, jotka toimivat rasterikuvien kanssa, jotka muuttavat niiden kirkkautta ja kontrastia.

Algoritmeja, joiden tarkoituksena on käsitellä kuvien spatiaalisia ominaisuuksia, kutsutaan algoritmeiksi spatiaalinen suodatus. Tähän ryhmään kuuluvat kohinanvaimennusalgoritmit, spatiaaliset tasoitusalgoritmit ja tilavahvistusalgoritmit, algoritmit tilataajuuksien vaimentamiseen ja vahvistamiseen.

Algoritmeja, jotka suorittavat geometrisia operaatioita kuvalle, kutsutaan geometriset käsittelyalgoritmit. Nämä sisältävät:

Kuvan esikäsittelyalgoritmit

Kuvan rajaus – tietyn osan suorakaiteen muotoisesta muodosta valitseminen alkuperäisestä kuvasta;

Muuta kuvan kokoa. Nämä algoritmit käyttävät erilaisia ​​interpolointimenetelmiä joko täydentämään puuttuvat pikselit oikein suurennetussa kuvassa tai laskemaan pikseliarvot uudelleen, kun kuvaa pienennetään.

Kierrä kuvaa. Nämä algoritmit kiertävät alkuperäistä kuvaa tietyllä kulmalla laskemalla pikseliarvot oikein uudelleen erilaisilla interpolointimenetelmillä.

Algoritmeja, jotka suorittavat muunnoksia värijärjestelmästä toiseen, kutsutaan värin muunnosalgoritmit. Näitä ovat myös algoritmit värikuvien muuntamiseksi harmaasävyiksi ja binaarisointialgoritmit, jotka muuntavat alkuperäisen kuvan binäärikuvaksi.

Algoritmeja, jotka korostavat alkuperäisen kuvan tiettyjä alueita erilaisten, usein epävirallisten ehtojen mukaisesti, kutsutaan segmentointialgoritmeiksi. Esimerkki tällaisesta algoritmista olisi algoritmi, jonka pitäisi korostaa tekstin ja graafisen tiedon alueita asiakirjan kuvassa, tai algoritmi, joka korostaa tekstikuvan alueita, jotka liittyvät yksittäisiin sanoihin.

Kuvan esikäsittelyalgoritmit

Tilasuodatusalgoritmit

Tilakuvan suodatus matemaattisessa muodossa on diskreetin kuvan diskreetti konvoluutio jossa spatiaalisen suodattimen impulssivaste

Jos (i, j)

Im(i m , j n )h (m , n ), missä:

m N11 n N21

Im, jos alkuperäisen ja suodatetun kuvan matriisit, h suodattimen impulssivasteen matriisi,

N 11, N 21 ovat impulssivastesarakkeiden ala- ja ylärajat, N 12, N 22 ovat impulssivasterivien vasen ja oikea raja.

Impulssivastematriisi voidaan saada laskemalla spatiaalinen suodatin määritettyjen parametrien perusteella. Suuri määrä digitaalista suodatusta koskevaa kirjallisuutta on omistettu esimerkiksi tilasuodattimien laskentamenetelmille. Käytännön laskelmissa voit käyttää tavallisia matemaattisia paketteja, esimerkiksi MATLAB-järjestelmä sisältää Image Filter Design -suodatinlaskentajärjestelmän.

Huomaa, että suodatus voidaan suorittaa myös taajuusalueella. Siinä

Kuvan esikäsittelyalgoritmit

Tässä tapauksessa suodatusjärjestys on seuraava:

Muunna kuva spatiaalisesta alueesta taajuusalueeksi käyttämällä kaksiulotteista diskreettiä Fourier-muunnosta

Suorita kuvataajuusmatriisin elementtikohtainen kertominen suodatintaajuusmatriisilla

Muunna saatu tulos spatiaaliseksi alueeksi käänteisellä kaksiulotteisella diskreetillä Fourier-muunnolla.

Im(x, y)

im(f x , f y)

Jos (f x , f y ) Im(f x , f y ) H (f x , f y )

jos(fx,fy)

Jos (x, y).

Taajuusalueen kuvien suodatusta käytetään melko harvoin suuren laskelman vuoksi. Tätä suodatusmenetelmää käytetään kuitenkin laajalti teoreettisissa laskelmissa analysoitaessa kuvankäsittelyvaihtoehtoja. Sen avulla voit melko selvästi kuvitella, millaista suodatusta tarvitaan. Jos esimerkiksi haluat korostaa teräviä muutoksia kuvan kirkkaudessa, on selvää, että sinun on käytettävä ylipäästösuodattimia. Päinvastoin, jos sinun on päästävä eroon matalataajuisista häiriöistä - vapinaista piireistä, yksittäisistä päästöistä jne., sinun on käytettävä alipäästösuodattimia. Tietyt suodatinparametrit valitaan kohinan taajuusanalyysin ja alkuperäisen kuvan ominaisuuksien perusteella.

Digitaalinen kohina on kuvavirhe, joka sijaitsee satunnaisesti lähellä pikselikokoa ja eroaa alkuperäisestä kuvasta kirkkaudeltaan tai väriltään. Kohinanpoistolla on tärkeä rooli videojaksojen ja kuvien siirtämisessä, käsittelyssä ja pakkaamisessa.

Videossa voi esiintyä kohinaa useista syistä:

1. Vähemmän kuin ihanteellinen videokaappauslaitteet.

2. Huonot kuvausolosuhteet - esimerkiksi yökuvaus/videokuvaus, kuvaus huonolla säällä.

3. Häiriöt analogisten kanavien kautta tapahtuvan lähetyksen aikana - häiriöt sähkömagneettisten kenttien lähteistä, siirtolinjan aktiivisten komponenttien (vahvistimien) luontainen kohina. Esimerkkinä voisi olla televisiosignaali.

4. Suodatusepätarkkuudet erotettaessa luminanssi- ja värierosignaaleja analogisesta komposiittisignaalista jne.

Kuvan kohinan määrä voi vaihdella hyvässä valaistuksessa otetun digitaalisen valokuvan lähes huomaamattomasta täplästä tähtitieteellisiin kuviin, joissa kohina peittää suuren osan hyödyllisestä tiedosta, joka voidaan saada vain työvoimavaltaisella kuvankäsittelyllä.

Kohinatyyppejä on erilaisia ​​riippuen kuvan kohinan satunnaisen jakautumisen luonteesta. Käytännössä yleisimmät tyypit ovat:

Valkoinen Gaussin kohina

Yksi yleisimmistä kohinoista on additiivinen Gaussin kohina, jolle on ominaista normaalijakauman ja nollakeskiarvojen lisääminen jokaiseen kuvan pikseliin. Termi "lisäaine" tarkoittaa, että tämäntyyppinen kohina lisätään hyödylliseen signaaliin. Ilmenee, kun signaalin vastaanottoolosuhteet ovat huonot.

Digitaalinen kohina

Digitaalisen kohinan syy liittyy useimmiten kuvaamiseen käytettyjen laitteiden ominaisuuksiin - yleensä matriisin riittämättömään valoherkkyyteen. Tämän tyyppiselle kohinalle on ominaista joidenkin kuvan pikselien korvaaminen kiinteän tai satunnaismuuttujan arvoilla. Jos pisteiden kirkkaus on suunnilleen sama, digitaalista kohinaa kutsutaan myös "pulssiksi". Jos pisteiden voimakkuus voi muuttua mustasta valkoiseksi, kohinaa kutsutaan suola-pippurikohinaksi.

Tyypillisesti tämäntyyppinen kohina vaikuttaa vain pieneen määrään kuvan pikseleitä.

Yhdistetty melu

Paljon harvinaisempia ovat tapaukset, joissa kuva on yhtä kohinainen Gaussin kohinan ja satunnaisten pulssien kanssa. Tätä yhdistelmää kutsutaan yhdistetyksi meluksi.

Kuvan skannausvirheitä

Lisäksi kuvassa voi näkyä ylimääräisiä vaikutuksia, kuten halkeamia, naarmuja tai mustelmia. Näillä esineillä ei ole homogeenista rakennetta, ja niiden muodon ja sijainnin määrittäminen ei yleensä ole matemaattisen analyysin kohteena. Tällaisia ​​vikoja voidaan korjata vain manuaalisella kuvankäsittelyllä, joten niitä ei käsitellä tässä työssä.

Kohinanpoistoalgoritmit

Kohinan poistamiseen kuvista on olemassa suuri määrä algoritmeja, ja niitä voivat käyttää paitsi erityiset käsittelyohjelmat, myös jotkut valokuva- ja videokamerat. Tästä huolimatta yleistä suodatusalgoritmia ei vieläkään ole, koska kuvaa prosessoitaessa on aina valittava ei-toivottujen vaikutusten eliminointiasteen ja pienten yksityiskohtien, joilla on kohinaa muistuttavia ominaisuuksia, välillä. Lisäksi algoritmi, joka selviytyy helposti yhden tyyppisestä kohinasta, voi vain pilata kuvan toisen tyyppisellä kohinalla.

Katsotaanpa useita tunnetuimpia kuvan kohinanvaimennusalgoritmeja.

Lineaarinen pikselien keskiarvo

Yksinkertaisin idea kohinan poistamiseksi on laskea pikseliarvot spatiaalisessa ympäristössä. Koska kohina vaihtelee riippumattomasti pikseleistä toiseen, vierekkäisten pikselien kohina kumoaa toisensa, kun ne lasketaan yhteen. Määritetään suorakaiteen muotoinen ikkuna, joka on vuorollaan kuvan jokaisen pikselin päällä. Keskipikselin arvo lasketaan kaikkien sen viereisten ikkuna-alueella olevien pikselien analyysin perusteella. Vastaavasti mitä suurempi ikkuna otetaan, sitä keskiarvoisempi arvo loppujen lopuksi on, mikä johtaa vahvaan hämärtymisvaikutukseen.

Yksinkertaisimmassa versiossa naapuripikseleiden analyysi koostuu niiden aritmeettisen keskiarvon löytämisestä. Vähentääksesi sellaisten pikselien vaikutusta, jotka eivät kuulu samalle alueelle kuin tarkasteltava (esimerkiksi tumma ääriviiva vaalealla taustalla), voit ottaa käyttöön tietyn numeerisen kynnysarvon ja ottaa huomioon vain ne naapurit, joiden ero on keskipikselistä ei ylitä tätä kynnystä. Mitä suurempi kynnysarvo on, sitä vahvempi keskiarvo muodostuu. Harkittua vaihtoehtoa voi monimutkaista ottamalla käyttöön painokertoimet jokaiselle viereiselle pikselille riippuen niiden etäisyydestä tarkasteltavan alueen keskustasta.

Tätä menetelmää voidaan soveltaa myös aikatasolla laskemalla kunkin pikselin keskiarvo videovirran vierekkäisten kehysten yli (jokainen pikselin keskiarvo lasketaan vierekkäisten kehysten samassa paikassa sijaitsevien pikselien perusteella).

Tämä algoritmi on hyvin yksinkertainen, mutta se ei anna hyvää tulosta, mikä johtaa samalla kuvan yksityiskohtien vakavaan hämärtymiseen.

Gaussin suodatin

Sen toimintaperiaate on samanlainen kuin edellisessä menetelmässä, ja se kuuluu myös anti-aliasing-suodattimien ryhmään. Melun vähentämisessä lineaarisen keskiarvosuodattimen avulla on kuitenkin merkittävä haittapuoli: kaikilla prosessoidun pikselin naapurilla on sama vaikutus tulokseen riippumatta niiden etäisyydestä siihen. Gauss-suodatin laskee myös keskipikselin ja sen naapurit tietyllä alueella, mutta tämä tapahtuu tietyn lain mukaan, joka asetetaan Gaussin funktiolla.

Kun parametri y määrittää epäterävyyden asteen, ja parametri A tarjoaa normalisoinnin. Tämän seurauksena tarkasteltavan alueen keskipikselillä on suurin Gaussin jakauman huippua vastaava arvo. Jäljellä olevien elementtien arvoilla on yhä vähemmän vaikutusta, kun ne siirtyvät pois keskustasta.

Määritellyllä kaavalla laskettua matriisisuodatinta kutsutaan Gaussin; mitä suurempi sen koko, sitä voimakkaampi sumennus (kiinteällä y:llä). Koska tämä suodatin on erotettavissa, se voidaan esittää seuraavasti:

Tästä seuraa, että konvoluutio voidaan suorittaa peräkkäin riveissä ja sarakkeissa, mikä johtaa menetelmän merkittävään kiihtymiseen suurilla suodatinkooilla.

2Dcleaner-algoritmi

Korvaa kuvan jokaisen pikselin naapuripikseleiden keskiarvolla, joka on otettu tietyn säteen rajoittamalla alueella. Tässä tapauksessa ei huomioida kaikkia säteen sisällä olevia pisteitä, vaan vain niitä, joiden arvo poikkeaa keskipikselistä enintään tietyn ennalta määrätyn arvon (kynnyksen) verran. Tämä johtaa siihen, että tasaväriset alueet sumentuvat enemmän kuin esineiden terävät reunat. Tämä vähentää kuvan matalaa kohinaa ja säilyttää hienot yksityiskohdat ennallaan.

Mediaanisuodatus

Lineaariset algoritmit osoittautuvat erittäin tehokkaiksi vaimentamaan Gaussin kohinaa, kun viereiset pikselit, vaikka niillä on jonkin verran satunnaista arvojen hajontaa, pysyvät silti tietyn keskiarvon sisällä, joka on ominaista alueelle, johon ne kuuluvat. Joskus joudut kuitenkin käsittelemään muuntyyppisten häiriöiden vääristämiä kuvia. Esimerkki tällaisesta häiriöstä on impulssikohina, joka ilmenee satunnaisesti hajallaan olevien satunnaisen kirkkaiden pisteiden läsnä ollessa kuvassa. Keskiarvon laskeminen tässä tapauksessa "tahroittaa" jokaisen tällaisen pisteen viereisiin pikseleihin, mikä johtaa kuvanlaadun heikkenemiseen.

Vakiomenetelmä impulssikohinan vaimentamiseen on mediaanisuodatus. Tämä epälineaarinen kuvankäsittelymenetelmä eliminoi terävät poikkeamat, mutta toisin kuin keskiarvoistavat lineaariset algoritmit, jättää monotoniset pikselisekvenssit ennalleen. Tämän ansiosta mediaanisuodattimet pystyvät säilyttämään kohteiden ääriviivat ja erot eri kirkkausalueiden välillä ilman vääristymiä, samalla kun ne vaimentavat tehokkaasti korreloimatonta kohinaa ja pienikokoisia yksityiskohtia.

Suodatusperiaate: Tietty pariton kokoinen ikkuna määritetään peräkkäin kuvan jokaisen pikselin päällä. Kaikista tarkasteltavalle alueelle osuvista pikseleistä, mukaan lukien keskipiste, etsitään mediaaniarvo, joka lopulta määrätään alueen keskipikselille. Tässä tapauksessa mediaani ymmärretään alueelle kuuluvan lajiteltujen pikseliarvojen joukon keskielementiksi. Pariton ikkunan koko valitaan tarkasti, jotta varmistetaan keskimmäisen pikselin olemassaolo.

On myös mahdollista käyttää mediaanisuodatinta kuvan valkoisen Gaussin kohinan vaimentamiseen. Tutkimus kohinan vähentämisestä mediaanisuodatuksella osoittaa kuitenkin, että sen tehokkuus tämän ongelman ratkaisemisessa on pienempi kuin lineaarisen suodatuksen.

Mediaanisuodatus ei ole ilman useimpien kohinanvaimennussuodattimien yhteistä haittaa - kun maskin kokoa suurennetaan kohinanvaimennusasteen parantamiseksi, kuvan selkeys heikkenee ja sen ääriviivat sumentuvat. Negatiiviset vaikutukset on kuitenkin mahdollista minimoida käyttämällä mediaanisuodatusta dynaamisen maskin koolla (additiivinen mediaanisuodatus Sen periaate pysyy samana, vain liukuvan suodatusikkunan koko voi muuttua viereisen kirkkauden mukaan). pikseliä.

Kuvan terävöittäminen

Lähes kaikki algoritmit kuvan kohinan vähentämiseksi sumentavat kuvaa, mikä johtaa pienten yksityiskohtien katoamiseen ja vaikeuttaa kuvan havaitsemista. Kuvan terävöintisuodatin voi osittain kompensoida tämän negatiivisen vaikutuksen ja palauttaa kadonneen ääriviivakontrastin ja värisiirtymät. Terävyys voi riippua myös monista muista tekijöistä - objektiivin laadusta, käytetystä aukosta, useimpien digitaalikameroiden matriisissa sijaitsevan anti-moire-suodattimen paksuudesta, joka sumentaa kuvaa vaihtelevasti. Myös kuvien terävyyttä on usein lisättävä niiden koon pienentämisen jälkeen, koska tämä väistämättä menettää jonkin verran tietoa ja sen mukana ääriviivojen selkeyttä.

Epäterävä maskaus on tekniikka, joka lisää kuvan sävyjen välisten siirtymien kontrastia ja parantaa sen visuaalista havaintoa lisääntyneen terävyyden illuusion vuoksi. Itse asiassa terävyys pysyy samalla tasolla, koska periaatteessa kuvan kadonneita yksityiskohtia ei voida palauttaa, mutta kontrastin parantaminen eri kirkkaiden alueiden välillä johtaa kuvan näkemiseen terävämpänä.

Kuva 5.1 - Kuva "reunan terävyyden" käsitteestä

Kuvan terävyys riippuu sen ääriviivat muodostavien alueiden välisen kirkkauseron suuruudesta (W) ja tämän eron muutoksen terävyydestä (H).

Epäterävän maskauksen tekniikkaa käytettiin ensin filmivalokuvien käsittelyyn. Digitaaliseen kuvankäsittelyyn soveltuva menetelmä eroaa vähän alkuperäisestä: kuvasta vähennetään niin sanottu "epäterävä maski" - sen epäselvä ja käänteinen kopio. Tuloksena on uusi kuva, joka sisältää vain alkuperäisen vaaleat ääriviivat. Tummat ääriviivat voidaan saada yksinkertaisesti kääntämällä tulos ylösalaisin.

Jos myöhemmin vähennät alkuperäisestä kuvasta tummat ääriviivat ja lisäät vaaleita, saat kontrastin merkittävän lisäyksen jokaisella kirkkauden muutoksella.

Voit sumentaa alkuperäistä ja saada "epäterävän maskin" käyttämällä mitä tahansa kohinanvaimennussuodatinta, esimerkiksi Gauss-suodatinta.

Kuva 5.2 - Tulos epäterävästä maskista

Konvoluutiooperaatiota käytetään melko usein kuvankäsittelyssä. Teroituksen lisäksi sitä käytetään hämärtämiseen, kirkkauden lisäämiseen, kirkastukseen jne.

Kuvakonvoluutio on toimenpide, jolla lasketaan uusi arvo tietylle pikselille, joka ottaa huomioon sitä ympäröivien naapuripikseleiden arvot. Yleensä tämä termi tarkoittaa jotakin toimintoa, joka suoritetaan jokaiselle kuvan osalle.

Konvoluution pääelementti on konvoluutiomaski - tämä on matriisi (mitunnainen koko ja kuvasuhde). Tätä maskia kutsutaan usein suodattimeksi, ytimeksi, malliksi tai ikkunaksi. Matriisielementtien arvoja kutsutaan yleensä kertoimiksi.

Useimmiten neliömatriisia käytetään konvoluutioytimenä.

Kuvankäsittely konvoluutiooperaatiolla tapahtuu seuraavasti: Keskimatriisielementti, jota kutsutaan "ankkuriksi", asetetaan peräkkäin kuvan jokaisen pikselin päälle. Kyseisen pikselin uusi arvo lasketaan naapuripikseleiden arvojen summana kerrottuna niitä vastaavilla konvoluutiomaskikertoimilla.

Tuloksena oleva vaikutus riippuu valitusta konvoluutioytimestä.

Kontrastia tehostavan suodattimen ytimen arvo on suurempi kuin 1 kohdassa (0, 0), ja kaikkien arvojen yhteissumma on 1. Esimerkiksi kontrastia parantava suodatin on suodatin, jonka ytimet on määritetty matriisien mukaan:

Kontrastia tehostava vaikutus saavutetaan sillä, että suodatin korostaa viereisten pikselien intensiteettien välistä eroa siirtäen nämä intensiteetit poispäin toisistaan. Tämä vaikutus on sitä voimakkaampi, mitä suurempi on ytimen keskustermin arvo.

Konvoluutiopohjainen lineaarinen kontrastinparannussuodatus voi johtaa näkyviin värikehoihin kuvan reunojen ympärillä.

Valaistuserojen kompensointi

Kuvan valaistusongelmat syntyvät useimmiten, kun ikkunat, aurinko tai muut säätelemättömät valonlähteet pääsevät kehykseen.

Tätä tilannetta kutsutaan "ylimääräiseksi valoksi" ja se johtaa siihen, että liian kirkkaan tukivalaistuksen vuoksi liian kirkkaiden objektien taustalla olevien esineiden yksityiskohdat ja värit katoavat, jolloin niitä on vaikea erottaa.

Usein esiintyy myös valonpuutetilanne. Syynä voi olla kuvaaminen pimeissä huoneissa, joissa on huono valaistus, sekä videolaitteiden rajallinen herkkyysalue.

Yhden mittakaavan retinex-algoritmi

Kun yrität kirkastaa kuvaa lisäämällä kunkin pikselin kirkkautta tietyllä kiinteällä arvolla, alunperin vaaleat alueet voivat osoittautua täysin ylivalottuneiksi.

Tällaisissa tapauksissa on tarpeen käyttää "älykästä" värinkorjausta, joka pystyisi tasoittamaan kuvan valaistuksen ja käsittelemään vaaleita alueita vähemmän kuin tummia.

Nämä vaatimukset täyttää verkkokalvon reseptorien periaatteisiin perustuva Single Scale Retinex -algoritmi. Algoritmin päätavoite on jakaa kuva komponentteihin, jotka vastaavat erikseen valaistuksesta ja yksityiskohdista. Koska kuvan ongelmat liittyvät kohtauksen valaistukseen, on valaistuksesta vastaavan komponentin saatuaan mahdollista muuntaa se erilleen kuvasta, mikä parantaa merkittävästi sen laatua.

Mikä tahansa kuva voidaan esittää korkeataajuisen signaalin (heijastus - R) ja matalataajuisen signaalin (valaistus - I) tulona.

S(x,y) = I(x,y) * R(x,y)(5,6)


Kuva 5.3 - Kuvan esitys Retinex-algoritmissa.

Likimääräinen kuva valaistuksesta voidaan saada käyttämällä alipäästösuodatusta eli yksinkertaisesti sumentamalla alkuperäinen kuva esimerkiksi Gauss-suodattimella.

missä G -- Gaussin suodatin

Koska signaalin logaritmi ei muuta taajuutta ja johtuen logaritmisen funktion ominaisuuksista (tulon logaritmi on yhtä suuri kuin tekijöiden logaritmien summa), signaalien tulon jakamisongelma voidaan ratkaista yksinkertaistettu signaalien summan jakamisongelmaan.

Tämän jälkeen ei jää enää muuta kuin ottaa eksponentiaali vastaanotetusta signaalista sen palauttamiseksi alkuperäiselle amplitudiasteikolle. Tuloksena oleva korkeataajuinen komponentti voidaan yhdistää sumeaan ja kirkastettuun alkuperäiseen kuvaan, joka toimii uutena valaistusmallina.

Valaistuksen tasoittamisesta saatu vaikutus voi olla liian voimakas (tummien alueiden kirkkaus tulee yhtä suureksi kuin vaaleiden). Vähentääksesi vaikutusta, voit yksinkertaisesti sekoittaa käsitellyn kuvan alkuperäiseen tietyssä suhteessa.

Gamma-korjaus

Gammakorjauksen alkuperäinen tarkoitus on kompensoida eri tulostuslaitteiden värien eroja siten, että kuva näyttää samalta eri monitoreilta katsottuna. Käytetyn tehofunktion epälineaarisen muodon ansiosta gammakorjaus mahdollistaa myös kuvan tummien alueiden kontrastin lisäämisen paljastamatta kirkkaita yksityiskohtia ja menettämättä kuvaobjektien rajojen näkyvyyttä.

Analogiset luminanssitiedot televisiossa sekä digitaaliset luminanssitiedot yleisimmissä grafiikkamuodoissa tallennetaan epälineaariseen asteikkoon. Näyttöruudun pikselin kirkkautta voidaan pitää verrannollisena

missä I on näytön pikselin kirkkaus (tai värikomponenttien kirkkaus, punainen, vihreä ja sininen erikseen),

V -- numeerinen väriarvo 0 - 1 ja

g - gammakorjauksen ilmaisin.

Jos r on pienempi kuin 1, tasonsiirtokäyrä on kupera ja tuloksena oleva kuva on alkuperäistä vaaleampi. Jos r on suurempi kuin 1, tasonsiirtokäyrä on kovera ja tuloksena oleva kuva on alkuperäistä tummempi.

Oletusarvoisesti parametri r on yhtä suuri kuin 1, mikä vastaa lineaarista tasonsiirron ominaisuutta ja gammakorjauksen puuttumista.

Kuvan ääriviivojen korostaminen

Ääriviiva-analyysin avulla voidaan kuvata, tunnistaa, vertailla ja etsiä ulkoisina ääriviivoina esitettyjä graafisia objekteja. Koska ääriviivojen käyttö jättää kohteen sisäiset pisteet huomioimatta, tämä voi merkittävästi vähentää näiden toimintojen laskennallista ja algoritmista monimutkaisuutta.

Kuva 5.4 - Tehotoiminnon tyypin muuttaminen parametrin g mukaan

Objektin ääriviivat ovat luettelo pisteistä, jotka edustavat kuvan tiettyä käyrää, joka erottaa kohteen taustasta. Useimmiten ääriviivaa pitkin havaitaan kirkkauden tai värin hyppy.

Voit yksinkertaistaa kuvan ääriviivojen hakua binaarisoimalla sen etukäteen.

Sobel-suodatin valitsee kohteiden reunat niiden kirkkauden perusteella. Koska värikomponenttia ei oteta huomioon, kuvat on ensin muutettava harmaasävyiksi.

Sobel-suodatinta käytetään peräkkäin jokaiseen pikseliin laskemalla sen kirkkausgradientin likimääräinen arvo. Kunkin kuvapisteen gradientti (luminanssifunktio) on kaksiulotteinen vektori, jonka komponentit ovat kuvan kirkkauden vaaka- ja pystysuorat derivaatat.

Gradienttivektori on kuvan jokaisessa kohdassa suunnattu suurimman kirkkauden lisäyksen suuntaan ja sen pituus vastaa kirkkauden muutoksen suuruutta. Näiden tietojen avulla voimme tehdä oletuksen todennäköisyydestä löytää kyseinen piste tietyn kohteen rajalta sekä tämän rajan suunnasta.

Että. Sobel-operaattorin tulos vakiokirkkauden alueen pisteessä on nollavektori ja eri kirkkaiden alueiden rajalla sijaitsevassa pisteessä rajan ylittävä vektori kirkkauden lisääntymisen suuntaan.

Laskeakseen derivaattojen likimääräiset arvot kussakin kuvan kohdassa, Sobel-suodatin käyttää konvoluutiota 3x3-matriisin kanssa.

Sobel-matriisikertoimet:

Lopullinen gradienttiarvo lasketaan likiarvolla kaavalla:

|G| = |Gx| + |Gy|

Kenny Edgen ilmaisin

Vaikka Kennyn työ tehtiin tietokonenäön alkuaikoina (1986), Kennyn reunatunnistin on edelleen yksi parhaista ilmaisimista. Kennyn menetelmä on monivaiheinen algoritmi, ja se sisältää seuraavat vaiheet:

1. Kuvan puhdistaminen kohinasta ja tarpeettomista yksityiskohdista.

2. Kuvan puhdistaminen kohinasta ja tarpeettomista yksityiskohdista.

3. Hae kuvagradientteja esimerkiksi Sobel-operaattorilla.

4. Ei-maksimien tukahduttaminen. Vain paikalliset maksimit on merkitty rajoksi.

5. Kaksinkertainen kynnyssuodatus. Potentiaaliset rajat määräytyvät kynnyksellä.

6. Jäljitä ääriviivat (linkitä reunat ääriviivoiksi)

Koska kuvan pieninkin kohina voi häiritä sen ääriviivojen eheyttä, on suositeltavaa suodattaa kuva ennen haun aloittamista millä tahansa kohinanvaimennusmenetelmällä. Suuren toimintanopeuden ja toteutuksen helppouden vuoksi Gauss-suodatinta käytetään useimmiten. Kuvan rajat voivat olla eri suuntiin, joten Kennyn algoritmi käyttää neljää suodatinta tunnistaakseen vaaka-, pysty- ja diagonaaliset rajat. Käyttämällä reunantunnistusoperaattoria (esimerkiksi Sobel-operaattoria) saadaan arvo ensimmäiselle derivaatalle vaakasuunnassa (Gу) ja pystysuunnassa (Gx). Tästä gradientista saamme rajan suuntakulman:

Reunuksen suuntakulma pyöristetään yhteen neljästä kulmasta, jotka edustavat pystysuoraa, vaakasuoraa ja kahta diagonaalia (esimerkiksi 0, 45, 90 ja 135 astetta). Vain ne pikselit, joissa gradientin paikallinen maksimi saavutetaan gradienttivektorin suunnassa, ilmoitetaan rajoilla. Suunta-arvon on oltava 45°:n kerrannainen. Ei-maksimien poistamisen jälkeen reunat tarkentuvat ja ohuet.

Seuraavassa vaiheessa kynnyssuodatus määrittää kunkin tarkastellun pikselin osalta, kuuluuko se kuvan rajoihin. Mitä korkeampi kynnys, sitä tasaisempia löydetyt ääriviivat ovat, mutta heikot reunat voidaan jättää huomiotta. Toisaalta, kun kynnys pienenee, algoritmin herkkyys melulle kasvaa. Kennyn rajavalinnassa käytetään kahta suodatuskynnystä: jos pikseliarvo on ylärajan yläpuolella, se ottaa suurimman arvon (rajaa pidetään luotettavana, jos se on alapuolella, pisteet jäävät kynnysten väliin); ota kiinteä keskiarvo (ne tarkentuvat seuraavassa vaiheessa).

Viimeinen vaihe kuvankäsittelyssä on liittää yksittäiset reunat homogeenisiksi ääriviivoiksi. Pikselit, jotka saivat keskiarvon edellisessä vaiheessa, joko tukahdutetaan (jos ne eivät kosketa mitään jo havaituista reunoista) tai liitetään vastaavaan ääriviivaan.

Segmentointi

Suurin osa valokuva- ja videolaitteilla otetuista kuvista on rasterimuotoisia, eli ne koostuvat suorakaiteen muotoiseen ruudukkoon järjestetyistä värillisistä pisteistä. Ihmiset näkevät kuitenkin ympäröivän maailman kiinteiden esineiden kokoelmana, eivät pisteiden matriisina. Ihmisaivot pystyvät yhdistämään kuvan erilaiset yksityiskohdat homogeenisiksi alueiksi jakaen sen selvästi kohteiksi alitajunnan tasolla. Tätä prosessia kutsutaan segmentoinniksi, ja se voidaan toteuttaa ohjelmallisesti, kun ratkaistaan ​​tietokonekuva-analyysin ja kuviontunnistuksen ongelma. Segmentointi suoritetaan analyysin ensimmäisissä vaiheissa, ja sen suorittamisen laadulla voi olla vahva vaikutus sen nopeuteen ja tarkkuuteen.

Segmentointimenetelmät voidaan jakaa kahteen luokkaan: automaattinen - ei vaadi käyttäjän vuorovaikutusta ja interaktiivinen - käyttämällä käyttäjän syötettä suoraan toiminnan aikana.

Ensimmäisessä tapauksessa ei käytetä ennakkotietoa alueiden ominaisuuksista, vaan itse kuvajakolle asetetaan joitain ehtoja (esimerkiksi kaikkien alueiden tulee olla yhtenäisiä väriltään ja tekstuuriltaan). Koska tämä segmentointiongelman muotoilu ei käytä ennakkotietoa kuvatuista objekteista, tämän ryhmän menetelmät ovat universaaleja ja soveltuvia kaikkiin kuviin.

Menetelmän laadun arvioimiseksi karkeasti tietyssä tehtävässä kirjataan yleensä useita ominaisuuksia, jotka hyvällä segmentoinnilla tulisi olla:

§ alueiden tasaisuus (värin tai tekstuurin tasaisuus);

§ naapurialueiden erilaisuus;

§ alueen rajan sileys;

§ pieni määrä pieniä "aukkoja" alueiden sisällä;

Kynnyksen segmentointi

Kynnys on yksinkertaisin menetelmä, joka keskittyy kuvien prosessointiin, joiden yksittäiset homogeeniset alueet eroavat keskimääräisestä kirkkaudesta. Jos kuva on kuitenkin epätasaisesti valaistu, jotkin kohteet saattavat sopia taustan voimakkuudesta, mikä tekee kynnyksen segmentoinnista tehotonta.

Yksinkertaisin ja samalla usein käytetty kynnyssegmentoinnin tyyppi on binäärisegmentointi, jolloin kuvassa tunnistetaan vain kahdenlaisia ​​homogeenisia alueita.

Tässä tapauksessa lähdekuvan jokaisen pisteen muuntaminen lähtöpisteeksi suoritetaan säännön mukaisesti:

jossa x0 on ainoa käsittelyparametri, jota kutsutaan kynnysarvoksi. Lähtökirkkaustasot y0 ja y1 voivat olla mielivaltaisia, ne toimivat vain merkkeinä, joiden avulla tuloksena oleva kartta merkitään - jakamalla sen pisteet luokkiin K1 tai K2. Jos tuloksena oleva valmiste valmistetaan visuaalista havaitsemista varten, niiden arvot vastaavat usein mustan ja valkoisen tasoja. Jos luokkia on enemmän kuin kaksi, kynnysarvon on määritettävä kynnysarvojen perhe, joka erottaa eri luokkien kirkkauden toisistaan.

Kynnyssegmentointi soveltuu hyvin tunnistamaan kuvassa pieni määrä ei-päällekkäisiä objekteja, joilla on homogeeninen rakenne ja jotka erottuvat terävästi taustasta. Kun kuvan heterogeenisyysaste kasvaa ja siten segmenttien määrä ja niiden monimutkaisuus lisääntyvät, tämän tyyppinen segmentointi tulee tehottomaksi.

Segmentointi perustuu graafin osiointiin

Graafiteorian menetelmät ovat yksi aktiivisesti kehittyvistä kuvien segmentoinnin alueista.

Tämän ryhmän menetelmien yleinen idea on seuraava. Kuva esitetään painotettuna graafina, jonka kärjet ovat kuvan pisteissä. Graafisen reunan paino heijastaa pisteiden samankaltaisuutta jossain mielessä (pisteiden välinen etäisyys jonkin mittarin mukaan). Kuvan osiointi mallinnetaan kuvaajaleikkauksilla.

Tyypillisesti graafiteorian menetelmät ottavat käyttöön "kustannus"-funktion, joka heijastaa tuloksena olevan segmentoinnin laatua. Siten ongelma kuvan jakamisesta homogeenisiksi alueiksi rajoittuu optimointiongelmaksi, joka liittyy minimaalisen kustannusleikkauksen löytämiseen kaaviosta. Tämä lähestymistapa mahdollistaa segmenttien värin ja tekstuurin tasaisuuden lisäksi myös segmenttien muodon, koon, rajojen monimutkaisuuden jne.

Minimikustannusleikkauksen löytämiseksi käytetään erilaisia ​​menetelmiä: ahneita algoritmeja (jokaisessa vaiheessa valitaan reuna siten, että leikkauksen kokonaiskustannus on minimaalinen), dynaamisia ohjelmointimenetelmiä (varmistetaan, että valitsemalla jokaisessa vaiheessa optimaalinen reuna , saamme lopulta optimaalisen polun), algoritmi Dijkstra jne.

Interpolointi

Tietokonegrafiikassa interpolointia käytetään usein kuvien skaalaamisessa. Muuttamalla kuvan pikselien määrää interpolointi auttaa välttämään kuvan liiallisen pikseloitumisen sitä suurennettaessa tai tärkeiden yksityiskohtien menettämisen pienennettäessä.

Interpolointiprosessin aikana kuvan pikselien väliin lisätään lisäpisteitä, joiden arvioitu sävy ja väri lasketaan erityisellä algoritmilla, joka perustuu saatavilla olevien naapurialueiden tietojen analysointiin. Valitettavasti, koska mikä tahansa interpolointi on vain likiarvo, kuvan laatu heikkenee aina interpoloitaessa.

Lähimmän naapurin interpolointi

Tämä algoritmi on yksinkertaisin interpolointityyppi, joka yksinkertaisesti kasvattaa kuvan jokaista pikseliä vaadittuun mittakaavaan. Vaatii vähiten käsittelyaikaa, mutta tuottaa huonoimmat tulokset.

Bilineaarinen interpolointi

Tämän tyyppinen interpolointi suoritetaan jokaiselle kaksiulotteisen ruudukon koordinaatille. Kuvaa pidetään pintana, väri on kolmas ulottuvuus. Jos kuva on värillinen, interpolointi suoritetaan erikseen kolmelle värille. Jokaiselle uuden kuvan tuntemattomalle pisteelle bilineaarinen interpolointi ottaa huomioon neljän tunnetun pikselin neliön, joka ympäröi sitä. Näiden neljän pikselin painotettua keskiarvoa käytetään interpoloituna arvona. Tuloksena on kuvia, jotka näyttävät huomattavasti tasaisemmilta kuin lähin naapuri -menetelmän tulos.

Bilineaarinen interpolointi toimii hyvin skaalaustekijöiden suurilla kokonaislukuarvoilla, mutta se hämärtää kuvan teräviä reunoja melko voimakkaasti.

Bikuutiointerpolointi menee askeleen pidemmälle kuin bilineaarinen interpolointi, kun tarkastellaan ympäröivien pikselien 4 x 4 matriisia – yhteensä 16, koska ne ovat eri etäisyyksillä tuntemattomasta pikselistä, läheisille pikseleille annetaan enemmän painoarvoa laskennassa. Bicubic-interpolointi tuottaa huomattavasti terävämpiä kuvia kuin kaksi edellistä menetelmää ja on luultavasti paras käsittelyajan ja tulosteen laadun suhteen. Tästä syystä siitä on tullut standardi monissa kuvankäsittelyohjelmissa (mukaan lukien Adobe Photoshop), tulostinajureissa ja sisäänrakennetussa kameran interpoloinnissa.

Skaalatusta kuvasta voi tulla huomattavasti vähemmän terävä. Interpolointialgoritmit, jotka säilyttävät terävyyden paremmin, ovat myös herkempiä moireelle, kun taas ne, jotka eliminoivat muiren, tuottavat yleensä pehmeämmän tuloksen. Valitettavasti tätä kompromissia ei voida välttää skaalattaessa.

Yksi parhaista tavoista torjua tätä on levittää epäterävä maski heti hilseilyn jälkeen, vaikka alkuperäinen olisi jo teroitettu.

5.2 Osajärjestelmässä käytettyjen algoritmien valinnan perustelut

Kehitetyn ohjelmistopaketin päävaatimus oli minimoida viive videovirran toistossa sen esikäsittelyn aikana laskentaklusterissa. Lisäksi ammunta voi tapahtua missä tahansa olosuhteissa, mikä tarkoittaa, että lyhyessä ajassa oli tarpeen ottaa käyttöön suuri määrä yksinkertaisia ​​suodattimia erilaisten negatiivisten vaikutusten neutraloimiseksi. Lisäksi oli tarpeen tutkia lyhyessä ajassa suuri joukko videossa esiintyviä negatiivisia tekijöitä ja ottaa käyttöön yksinkertaisia ​​suodattimia niiden neutraloimiseksi. Esitetyt vaatimukset täyttävien algoritmien tulee olla helposti saavutettavia, hyvin optimoituja, erittäin luotettavia ja samalla helppoja toteuttaa. OpenCV-kirjaston toiminnoilla on tällaisia ​​​​ominaisuuksia, joten valittaessa tiettyjä menetelmiä videovirran käsittelysuodattimien toteuttamiseen, etusija annettiin tässä kirjastossa muodossa tai toisessa muodossa oleville algoritmeille.

Kaikki loppututkintotyön teoreettisessa osassa käsitellyt algoritmit toteutettiin testimuodossa, jotta niiden ominaisuuksia voitiin verrata käytännössä. Erityisesti suositeltiin kompromissia videovirran kehyksen käsittelynopeuden ja tuloksena olevan tuloksen laadun välillä.

Tämän seurauksena valittiin seuraavat algoritmit videovirran käsittelysuodattimien toteuttamiseen laskentaklusterissa:

1. "Additiivisen valkoisen" kohinan poistamiseksi valittiin Gaussin algoritmi. Yleisimpänä melunvaimennusmenetelmänä se on erittäin hyvin optimoitu ja siksi sen toimintanopeus on korkea.

2. "Additiivisen valkoisen" kohinan poistamiseksi valittiin Gaussin algoritmi. Yleisimpänä melunvaimennusmenetelmänä se on erittäin hyvin optimoitu ja siksi sen toimintanopeus on korkea.

3. "Impulssi" kohinan poistamiseksi valittiin mediaanisuodatus. Tämä menetelmä on myös erittäin optimoitu, ja se on suunniteltu erityisesti poistamaan impulssi- ​​ja suola-pippurimelu.

4. Kuvan terävöittämiseksi valittiin konvoluutio, koska se toimii paljon nopeammin kuin epäterävä maskaus ja antaa samalla hyväksyttäviä tuloksia.

5. OpenCV-kirjasto ei sisällä värinkorjausalgoritmeja - siksi päätettiin toteuttaa yleisin ja hyvin dokumentoitu Single Scale Retinex -algoritmi. Tämä menetelmä on erittäin tehokas, mutta vaatii optimoinnin työnopeuden nopeuttamiseksi.

6. Reunojen havaitsemismenetelmäksi valittiin Kenny-algoritmi, koska se antaa parempia tuloksia kuin Sobel-suodatin.

7. OpenCV-kirjastossa esitetty pyramidisegmentointialgoritmi toimii erittäin hitaasti, joten päätettiin käyttää aiemmin käsiteltyä graafisegmentointialgoritmia.

8. interpolointi - kaksikuutioinen interpolointimenetelmä valittiin järkevimmäksi kompromissiksi työn nopeuden ja tuloksen laadun välillä.

Käytettyjen ohjelmistojen asennus ja konfigurointi.

GNU Linux (Ubuntu) asennettiin käytettyyn laskentaklusteriin.

Käyttöjärjestelmän asennuksen jälkeen sinun on asennettava useita kirjastoja, jotka tukevat kuvatiedostojen lukemista ja kirjoittamista, piirtämistä näytölle, työskentelyä videon kanssa jne.

Asenna CMake

Projekti on rakennettu käyttämällä CMakea (vaatii version 2.6 tai uudemman). Voit asentaa sen komennolla:

apt-get install cmake

Saatat tarvita myös seuraavia kirjastoja:

build-essential libjpeg62-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev libeigen2-dev libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev

Asenna ffmpeg

Jotta opencv voi käsitellä videotiedostoja oikein, sinun on asennettava ffmpeg-kirjasto. Tämä tehdään seuraavilla komennoilla:

1) Kirjaston lähdekoodien lataaminen

wget http://ffmpeg.org/releases/ffmpeg-0.7-rc1.tar.gz

2) arkiston purkaminen lähdekoodien kanssa

tar -xvzf ffmpeg-0.7-rc1.tar.gz

3) Kirjaston konfigurointi

configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc

Enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb

Enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab

Enable-swscale --enable-shared

4) Kirjaston kokoaminen ja asennus

GTK asennus

OpenCV-ikkunoiden näyttämiseen tarvitaan GTK+ 2.x tai uudempi, mukaan lukien otsikkotiedostot (libgtk2.0-dev)

apt-get install libgtk2.0-dev

Opencv:n asentaminen

Kun kaikki mukana tulevat kirjastot on asennettu, opencv2.2 asennetaan seuraavilla komennoilla:

1) Lataa OpenCV-kirjaston lähdekoodit

http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.2/OpenCV-2.2.0.tar.bz2

2) arkiston purkaminen lähdekoodien kanssa

tar -xvf OpenCV-2.2.0.tar.bz2

3) Maketiedoston luominen käyttämällä CMakea.

4) OpenCV-kirjaston kokoaminen ja asennus

5) Sinun on ehkä myös määritettävä polku kirjastoihin

vie LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

Kehitetyn ohjelmistopaketin asennus ja kokoaminen

Ohjelmien lähdekoodit on kopioitava tämän selittävän huomautuksen liitteenä olevalta levyltä. Sinun on kopioitava build_all.sh erätiedosto samaan kansioon ja suoritettava se. Jos gcc-kääntäjä on asennettu järjestelmään, rakennus tapahtuu automaattisesti.

Kuvankäsittelyn ydin on pienentää kohtauksen alkuperäinen kuva muotoon, joka mahdollistaa sen kohteiden tunnistamisongelman ratkaisemisen.

VS:n kuvankäsittelyn perimmäinen tavoite on valmistaa kohtausobjektit tunnistettaviksi, ts. kohdistamalla kuvansa joihinkin ennalta määritettyihin luokkiin. Huolimatta esitettyjen tietojen muunnosmenettelyjen moninaisuudesta, VS:ssä erotetaan yleensä kolme pääkäsittelyvaihetta:

1) kuvan esikäsittely;

2) segmentointi;

3) kuvaus.

Esikäsittelyssä puolestaan ​​on kaksi perusvaihetta: kuvan muodostus ja sen koodaus (pakkaus). Vaihejärjestys ei ole jäykkä ja riippuu tietystä tehtävästä.

Kuvan esikäsittely

Kaikki kuvan esikäsittelymenetelmät STS:ssä on jaettu spatiaaliseen ja taajuuteen. Spatiaaliset menetelmät ovat toimenpiteitä, jotka toimivat suoraan kuvan pikseleillä. Kirkkautta käytetään kuvan ominaisuutena Y(x, y). Taajuusmenetelmät liittyvät kuvan muuntamiseen kompleksitasoon Fourier-muunnoksen avulla.

Esikäsittelymenetelmiä harkitessamme rajoitamme vain spatiaalisiin menetelmiin ja alkuperäinen kuva katsotaan rasteriksi.

Esikäsittelyn ensimmäisessä vaiheessa kuvanmuodostus. Kuvanmuodostus on toimenpide, jolla kuva saadaan suoraan videoprosessorin muistissa olevien erillisten elementtien - pikselien - joukon muodossa, joka muodostaa matriisin tai ääriviivan.

VS:ssä kuvanmuodostusvaiheessa valitaan kirkkauskynnys säätämällä valaistusta ja kuva suodatetaan.

Suodatus kuva on esikäsittelyn aikaa vievin ja monimutkaisin vaihe. Yleensä suodatus ratkaisee seuraavat pääongelmat:

· tasoitus (korkeataajuisten häiriöiden, kuten "lumen" vaimennus);

Lisääntynyt kontrasti

· ääriviivavalinta.

Tasoitustoimenpide toteutetaan heti kirkkauskynnyksen valinnan jälkeen. Sen merkitys on keskiarvoistaa kirkkausfunktion arvot tietyn säännön mukaan Y(X, y) analysoidun kuvafragmentin sisällä.

Korkeataajuisten häiriöiden, kuten "lumen", poistamiseksi käytetään alipäästösuodatinta. Epäkohta alipäästösuodatus on kuvan kontrastin heikkeneminen.

Segmentointi



Esikäsittelyn tuloksena kuva sisältää yhden tai useamman kohteiden ääriviivaesityksen. Proseduuria näiden ääriviivojen erottamiseksi ja niiden korreloimiseksi tiettyjen kohteiden kanssa kutsutaan segmentointi.

Jos tiedetään etukäteen, että kuva sisältää useita objekteja, segmentointi suoritetaan reunanpoiston jälkeen ennen kuvan koodausvaihetta.

Segmentointialgoritmit perustuvat yleensä ääriviivojen ja alueiden samankaltaisuuden epäjatkuvuuksien etsimiseen. Ensimmäisessä tapauksessa piiri löydetään ja sen ohjelmiston ohitus suoritetaan vahvistetun säännön mukaisesti. Jos ääriviiva on suljettu, sen katsotaan kuuluvan esineeseen. Toisessa tapauksessa määritetään kuvan alueet, joilla on yhteisiä ominaisuuksia (esimerkiksi sama pikselin kirkkaus). Kun tällaisia ​​alueita löytyy, ne määritetään joko taustalle tai objektille.

Kuvan koodaus

Järjestelmille, jotka käsittelevät rasterikuvia tilamenetelmillä, on kaksi pääkoodausmenetelmää:

· itse kuvan koodaaminen run pituuskoodimenetelmällä;

· kuvan ääriviivojen koodaus Freeman-ketjukoodilla.

Molemmissa tapauksissa koodauksen aikana kuvaa kuvaavan datan määrä vähenee merkittävästi. Koodauksen tehokkuus määräytyy kuvan pakkausasteen mukaan.

Koodauksen ydin koodimenetelmällä sarjan pituudet, RLE-algoritmilla toteutettu, koostuu kuvan esittämisestä yhtenäisillä skannausviivan segmenteillä, joissa pikselien kirkkaus ja värit ovat samat. Lisäksi jokaiselle sarjalle on tunnusomaista vastaava arvo ja sarjan pituus (pikseleiden määrä).

Kuvan ääriviivan koodaamiseksi suoraan käytetään ketjukoodausta. Freeman koodi(Kuva 6.22, b). Tässä tapauksessa kohteen ääriviiva, alkaen tietystä pisteestä, määritetään vektoreiden sarjalla, jotka ottavat diskreetit arvot ja joiden moduulin kaltevuuskulma on 45:n kerrannainen. Moduulin arvo on 2, jos vektorin kaltevuuskulma on 45 ja 1, jos sen sijainti on pysty- tai vaakasuora. Vektorin suunnan muutos käyrän pisteestä toiseen siirryttäessä kuvastaa mallinnetun käyrän muutoksen luonnetta.



Kuvan kuvaus

Alla kuvaus viittaa kohteen ominaisparametrien määrittämiseen - merkkejä(syrjittäjä), jotka ovat välttämättömiä sen erottamiseksi kaikista kohtauksen muodostavista joukosta.

Fyysisen olemuksensa mukaan merkit jaetaan globaaleihin ja paikallisiin. Globaali merkki kuvat on ominaisuus, joka voidaan laskea mille tahansa kohteen kuvalle.

Paikallisia merkkejä käytetään harvemmin; ne eivät luonnehdi koko kuvaa, vaan vain osaa siitä. Näitä ovat kahden ääriviivan välinen kulma, kohteen kuvassa olevien reikien lukumäärä ja parametrit jne.

Kuvantunnistus

Tunnustus on prosessi, jossa objektin tietyn kuvan ominaisuuksien joukon perusteella määritetään sen kuuluminen tiettyyn luokkaan.

Tunnistus toteuttaa visuaalisen kuva-analyysin toiminnon.

Perinteisesti kaikki tunnistusmenetelmät voidaan jakaa kahteen ryhmään: teoreettisiin ja rakenteellisiin. Yleisimmät teoreettiset tunnistusmenetelmät käyttävät päätösteorian periaatteita.

Objektin attribuuttien todellista arvoa on mahdotonta määrittää, koska arvot vaihtelevat jokaisessa mittauksessa. Siksi tunnistustehtävä asetetaan seuraavasti: määritä todennäköisyys, että objekti kuuluu tiettyyn luokkaan.

Yksi STZ:n kiinnostavimmista kuvantunnistuksen alueista liittyy kasvojentunnistusalgoritmien kehittämiseen. Tunnistus (varmennus) -algoritmi on lähellä rekisteröintialgoritmia. Nykyisestä kuvasta poimitut piirteet yhdistetään piirrevektoriksi, jonka komponentteja verrataan kaikkien tietokannan sisältämien vektorien vastaaviin komponentteihin.