Reunojen korostus

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 26. kesäkuuta 2016 tarkistetusta versiosta . tarkastukset vaativat 14 muokkausta .

Edge Detection ( Edge Detection ) - termi kuvankäsittelyn ja tietokonenäön teoriassa , osittain kohteen haun ja kohteen valinnan alalta, perustuu algoritmeihin, jotka valitsevat digitaalisen kuvan kohdat, joissa kirkkaus muuttuu jyrkästi tai on muitakin epähomogeenisuuksia.

Tapaaminen

Kuvan kirkkauden terävien muutosten havaitsemisen päätarkoitus on tallentaa tärkeitä tapahtumia ja muutoksia maailmassa. Ne voivat heijastaa erilaisia ​​oletuksia kuvantamismallista, kuvan kirkkauden muutokset voivat viitata:

Ihannetapauksessa rajojen valinnan tulos on joukko toisiinsa liittyviä käyriä, jotka edustavat pinnalla olevien kohteiden, kasvojen ja vaikutelmien rajoja, sekä käyriä, jotka edustavat pintojen sijainnin muutoksia. Siten reunantunnistussuodattimen käyttäminen kuvaan voi vähentää merkittävästi käsiteltävän datan määrää johtuen siitä, että kuvan suodatettua osaa pidetään vähemmän merkittävänä ja kuvan tärkeimmät rakenteelliset ominaisuudet säilyvät. Aina ei kuitenkaan ole mahdollista erottaa rajoja keskikokoisen todellisen maailman kuvista. Tällaisista kuvista poimituissa rajoissa on usein puutteita, kuten pirstoutuminen (rajojen käyrät eivät ole yhteydessä toisiinsa), rajojen puuttuminen tai väärien rajojen olemassaolo, jotka eivät vastaa tutkittavaa kohdetta.

Border Properties

3D-näkymän 2D-kuvassa korostetut rajat voidaan jakaa näkökulmasta riippuvaisiin tai näkökulmasta riippumattomiin. Näkökulmasta riippumattomat rajat heijastavat tyypillisesti 3D-näkymän kohteista perittyjä ominaisuuksia, kuten pinnan väritystä ja muotoa. Näkökulmasta riippuvat rajat voivat muuttua näkökohdan mukana ja heijastaa näkymän geometriaa, kuten päällekkäisiä objekteja.

Normaali reunus voi olla esimerkiksi punaisten ja keltaisten lohkojen välinen reunus. Toisaalta viiva voi olla joukko erivärisiä pikseleitä vakiolla taustalla. Siksi viivalla voi olla reunus sen kummallakin puolella.

Reunat ovat varsin tärkeitä monissa kuvankäsittelysovelluksissa, erityisesti konenäköjärjestelmissä, jotka analysoivat keinotekoisten esineiden kohtauksia kiinteissä valaistusolosuhteissa. Viime vuosina on kuitenkin tehty johdonmukaisia ​​(ja onnistuneita) tutkimuksia tietokonenäkömenetelmistä, jotka eivät perustu reunan havaitsemiseen esikäsittelyvaiheena.

Yksinkertainen reunamalli

Vaikka jossain kirjallisuudessa harkitaan ihanteellisten porrastettujen reunojen valintaa, luonnollisen kuvan reunat eivät yleensä ole sitä. Niihin vaikuttaa yleensä yksi tai useampi seuraavista vaikutuksista:

ja siksi monet tutkijat käyttävät Gaussin funktiolla tasoitettua porrastettua reunaa (virhefunktio) yksinkertaisimpana approksimaationa ihanteellisen reunamallin mallintamiseen sovellettujen ongelmien epäselvien rajojen mallintamiseen. Siten yksiulotteinen kuva , jolla on täsmälleen yksi reuna pisteessä, voidaan mallintaa seuraavasti:

Tässä

.

Reunuksen vasemmalla puolella on kirkkaus , oikealla - . Parametria kutsutaan reunan sumennuksen kooksi.

Miksi reunan valinta ei ole triviaali tehtävä

Havainnollistaaksesi, miksi reunantunnistus on ei-triviaali ongelma, harkitse seuraavan yksiulotteisen signaalin reunan havaitsemisen ongelmaa. Tässä voimme heti intuitiivisesti sanoa, että rajan tulee olla 4. ja 5. pikselin välissä.

5 7 6 neljä 152 148 149

Jos kirkkauden muutos 4. ja 5. pikselin välillä olisi pienempi ja kirkkauden muutos naapureiden välillä suurempi, ei olisi enää niin helppoa sanoa, että rajan pitäisi olla tässä paikassa. Lisäksi voitaisiin väittää, että rajaa pitäisi olla enemmän kuin yksi.

5 7 6 41 113 148 149

Siksi tietyn kynnyksen tiukka vahvistaminen kahden vierekkäisen pikselin välisen kirkkauden muutoksen tulisi olla, jotta voimme sanoa, että raja on olemassa, ei ole aina helppoa. Tämä on yksi syistä, miksi reunantunnistus ei ole triviaali tehtävä, elleivät kohteet ole melko yksinkertaisia ​​ja valaistusolosuhteet ovat hyvin säädettyjä.

Lähestymistavat rajan havaitsemiseen

Reunojen havaitsemiseen on monia lähestymistapoja, mutta lähes kaikki voidaan jakaa kahteen kategoriaan: maksimien hakuun perustuvat menetelmät ja nollien etsimiseen perustuvat menetelmät. Huippupohjaiset menetelmät korostavat reunat laskemalla "reunavoimakkuuden", yleensä ensimmäisen derivaatan lausekkeen, kuten gradientin suuruuden, ja etsivät sitten reunan vahvuuden paikallisia maksimiarvoja käyttämällä oletettua reunan suuntaa, yleensä kohtisuorassa gradienttiin nähden. vektori. Nollapohjaiset menetelmät etsivät toisen derivaatan lausekkeen abskissan leikkauskohtia, tyypillisesti laplalaisen lausekkeen nollia tai epälineaarisen differentiaalilausekkeen nollia, kuten myöhemmin kuvataan. Esikäsittelyvaiheena reunojen havaitsemiseen käytetään lähes aina kuvan tasoitusta, yleensä Gauss-suodattimella.

Julkaistut reunantunnistusmenetelmät eroavat käytetyissä anti-aliasing-suodattimissa ja reunalujuuden laskentatavassa. Vaikka monet reunantunnistusmenetelmät perustuvat kuvan gradientin laskemiseen, ne eroavat toisistaan ​​x- ja y-suuntien gradientin laskemiseen käytettyjen suodattimien suhteen.

Cannyn rajojen korostaminen

John Cannytutki matemaattista ongelmaa sellaisen suodattimen saamiseksi, joka on optimaalinen yhden reunan useiden vasteiden valinnan, lokalisoinnin ja minimoinnin kannalta. Hän osoitti, että haluttu suodatin on neljän eksponentiaalin summa. Hän osoitti myös, että tämä suodin voidaan approksimoida hyvin Gaussin ensimmäisellä derivaatalla. Canny esitteli käsitteen Non-Maximum Suppression (ei-maksimien tukahduttaminen), mikä tarkoittaa, että reunapikselit ovat pikseleitä, joissa gradientin paikallinen maksimi gradienttivektorin suunnassa saavutetaan.

Vaikka hänen työnsä tehtiin tietokonenäön alkuaikoina, Canny-reunailmaisin on edelleen yksi parhaista ilmaisimista nykyään. Erikoistapauksia lukuun ottamatta on vaikea löytää ilmaisinta, joka toimisi huomattavasti paremmin kuin Canny-ilmaisin.

Canny-Deriché-detektori johdettiin samanlaisista matemaattisista kriteereistä kuin Canny-detektori, vaikkakin eri näkökulmasta katsottuna se johti sarjaan rekursiivisia suodattimia kuvan tasoitusta varten eksponentiaalisten ja Gaussin suodattimien sijaan.

Muut ensimmäisen tilauksen menetelmät

Kuvagradientin tai sen tasoitetun version suuruuden arvioimiseksi voidaan käyttää erilaisia ​​gradienttioperaattoreita. Yksinkertaisin tapa on käyttää keskeisiä eroja:

vastaa seuraavien suodattimien käyttöä kuvaan:

Tunnettu Sobel-operaattori perustuu seuraaviin suodattimiin:

Näillä arvioilla voimme laskea gradientin suuruuden seuraavasti:

ja gradientin suunta lasketaan seuraavasti:

Judith Prewitt ja Lawrence Roberts ehdottivat muita operaattoreita kuvan gradientin laskemiseen, ja ne tunnetaan Pruitt-operaattorina ja vastaavasti Robertsin ristioperaattorina .

Kynnys ja yhdistäminen

Kun olemme löytäneet reunuksen voimakkuuden (yleensä gradientin suuruuden), seuraava vaihe on käyttää kynnysarvoa sen päättämiseksi, onko reunus tietyssä kuvan kohdassa vai ei. Mitä pienempi kynnys, sitä enemmän reunoja on, mutta sitä herkempi tulos on kohinalle, joka korostaa tarpeettomia kuvatietoja. Päinvastoin, korkea kynnys voi jättää huomiotta heikot reunat tai saada reunuksen fragmenteissa.

Jos kynnystä sovelletaan yksinkertaisesti gradientin suuruuskuvaan, tuloksena olevat reunat ovat paksut ja vaatii jonkin verran jälkikäsittelyä reunan tekemiseksi ohueksi ja tarkaksi. Jos rajat kuitenkin valitaan käyttämällä ei-maksimia vaimennusta, rajat ovat määritelmän mukaan ohuita ja ne voidaan liittää monikulmioiksi reunaliitosproseduurilla (rajojen jäljitys). Diskreetissä ruudukossa ei-maksimivaimennusvaihe voidaan toteuttaa arvioimalla gradientin suunta ensimmäisten derivaattojen avulla, pyöristämällä suunta arvoilla 45 asteen askelin ja lopuksi vertaamalla gradientin arvoja tuloksena olevaan gradientin suuntaan.

Perinteinen lähestymistapa sopivan kynnyksen löytämisen ongelman ratkaisemiseen on "myöhäiset" kynnykset. Menetelmässä käytetään useita kynnysarvoja. Käytämme yläkynnystä löytääksemme rajan aloituspisteen. Kun meillä on aloituspiste, seuraamme reunaa kohta kohdalta, kunnes reunan vahvuusarvo on alemman kynnyksen yläpuolella. Tämä algoritmi olettaa, että reunat ovat todennäköisimmin jatkuvia käyriä ja sallii meidän jäljittää reunojen heikot alueet ilman oletusta, että kaikki kuvan kohinaiset kohdat merkitään reunoksi. Asianmukaisten kynnysarvojen valitseminen tälle menetelmälle on kuitenkin edelleen ongelma, koska optimaaliset parametrit voivat vaihdella kuvasta toiseen.

Rajan tarkennus

Reunojen tarkentaminen on prosessi, joka tekee rajoista ohuen poistamalla ei-toivotut vääriä kohdat, jotka näkyvät reunoilla. Tätä tekniikkaa käytetään sen jälkeen, kun kuva on tasoitettu (mediaani- tai Gauss-suodattimella), reunaoperaattori (kuten edellä kuvattu) on käytetty reunan voimakkuuden laskemiseen ja sen jälkeen, kun reunat on puhdistettu sopivilla kynnyksillä. Tämä menetelmä poistaa kaikki ei-toivotut pisteet ja varovasti käytettynä tuottaa yhden pikselin paksuiset reunat.

Plussat:

On olemassa monia suosittuja menetelmiä tämän ongelman ratkaisemiseksi. Yksi niistä on kuvattu alla:

  1. Valitse yhteystyyppi: 8, 6 tai 4
    • 8-liitettävyys on edullinen, mikä ottaa huomioon kaikki nykyistä pikseliä välittömästi ympäröivät pikselit
  2. Poista pisteet pisteen ylä-, ala-, vasemmalla ja oikealla puolella
    • Tämä tulee tehdä useassa ajossa, eli ensin poistettava pisteet yhteen suuntaan ja sitten pisteet toiseen suuntaan käsitellystä kuvasta.
    • Kohta poistetaan seuraavassa tapauksessa:
      1. Tällä pisteellä ei ole naapureita ylhäältä (jos käsitellään "ylempää" suuntaa, muuten - vastaavaan suuntaan)
      2. Tämä kohta ei ole rivin loppu
      3. Tämän pisteen poistaminen ei vaikuta sen naapureiden yhteyksiin millään tavalla.
      4. TAI onko se yksittäinen kohta
    • Muuten pistettä ei poisteta.
  3. Edellinen vaihe voidaan toistaa useita kertoja riippuen reunuksen halutusta "siivousasteesta".

Toisen asteen lähestymistavat rajan havaitsemiseen

Jotkut reunavalintaoperaattorit käyttävät kuvan kirkkauden toisia johdannaisia ​​gradientin sijaan. Tämä luonnollisesti määrittää gradientin muutoksen voimakkuuden. Siten ideaalisessa tapauksessa toisen derivaatan nollien löytäminen mahdollistaa gradientin paikallisten maksimien löytämisen.

Marr-Hildreth-operaattori perustuu Laplace-operaattorin juurien laskemiseen Gauss-suodattimella tasoitettuun kuvaan. Tämän operaattorin on kuitenkin osoitettu korostavan vääriä reunoja kuvan homogeenisilla alueilla, joissa gradientilla on paikallinen minimi. Lisäksi tämä operaattori lokalisoi huonosti pyöristetyt reunat. Siksi tällä operaattorilla on nyt melko historiallista arvoa.

Differentiaalisen reunan tunnistus

Edistyksellisempi tapa havaita toisen kertaluvun reunat, joka myös erottaa reunat pikselitarkkuudella, on käyttää seuraavaa differentiaalista lähestymistapaa toisen derivaatan nollien havaitsemiseen gradienttivektorin suunnan suhteen.

Esitetään jokaiseen kuvan pisteeseen paikallinen koordinaattijärjestelmä , jossa on gradientin suuntainen suunta. Olettaen, että kuva on tasoitettu Gauss-suotimella ja mittakaavaesitys asteikolla on laskettu, voidaan vaatia, että asteikkoesitysgradientin arvolla, joka on yhtä suuri kuin -suunnan ensimmäinen derivaatta, on ensimmäinen derivaatta -suunnassa . yhtä kuin nolla

,

kun taas toisen derivaatan - suunnassa from on oltava negatiivinen, koska olemme kiinnostuneita vain maksimista, eli:

.

Tämä reunamääritelmä voidaan ilmaista differentiaalisen invariantin nollariveinä, kun se on kirjoitettu paikallisten osittaisten derivaattojen eksplisiittiseksi ilmaisuksi.

joka täyttää seuraavan ehdon:

jossa , ... tarkoittaa osittaisia ​​derivaattoja, jotka on laskettu skaalausesityksen perusteella, joka on saatu suodattamalla alkuperäinen kuva Gauss-suodattimella.

Tässä tapauksessa reunat ovat automaattisesti jatkuvia käyriä pikselitarkkuudella. Tuloksena olevia reunoja voidaan lisäksi soveltaa korostukseen käyttämällä viivästettyä kynnysarvoa.

Käytännössä ensimmäiset derivaatat voidaan laskea edellä kuvatulla tavalla, kun taas toiset derivaatat voidaan laskea skaalausesityksestä seuraavasti:

jotka vastaavat seuraavia operaattoreita:

Korkeamman asteen johdannaiset voidaan laskea samalla tavalla.

Vaihesovitusmenetelmät

Viimeisin kehitys reunantunnistustekniikoissa käyttää taajuuslähestymistapaa reunan havaitsemiseen. Vaihesovitusmenetelmät yrittävät löytää kuvasta alueita, joissa kaikki taajuusavaruuden sinimuodot ovat samassa vaiheessa. Nämä alueet vastaavat yleensä havaitun reunan alueita riippumatta siitä, kuinka paljon kirkkauden muutos siellä on. Tämän menetelmän tärkein etu on, että se korostaa voimakkaasti " Mach-kaistaa " ja välttää tyypillisiä vääriä rajoja karkean reunan ympärillä.

Linkit

Katso myös