Scale -invariant feature transform ( SIFT ) on piirteiden havaitsemisalgoritmi [ tietokonenäössä kuvien paikallisten piirteiden havaitsemiseen ja kuvaamiseen. Algoritmin patentoi Kanadassa Brittiläisen Kolumbian yliopisto [1] ja David Lowe julkaisi vuonna 1999 [2] . Sovelluksia ovat kohteen tunnistus , robottikartoitus ja robottinavigointi, kuvien yhdistäminen [ , 3D-mallinnus, eleiden tunnistus , seuranta , villieläinten tunnistus ja sijainnin seuranta .
Ensin objektien avainpisteet erotetaan SIFT:ssä viitekuvista [2] ja tallennetaan tietokantaan. Kohde tunnistetaan uudessa kuvassa vertaamalla kutakin piirrettä uudesta kuvasta tietokannan ominaisuuksiin ja etsimällä ehdokaspiirteitä piirrevektorien välisen euklidisen etäisyyden perusteella. Uuden kuvan kaikista vastaavuuksista valitaan avainpisteiden osajoukot, jotka vastaavat parhaiten kohdetta sen sijainnin, mittakaavan ja suunnan suhteen. Sopivien ominaisuuslohkojen määrittäminen on nopeaa yleisen Hough-muunnoksen tehokkaalla hash-taulukon toteutuksella . Jokaisen kolmen tai useamman ominaisuuden lohkon, joka on yhdenmukainen kohteen ja sen sijainnin kanssa, mallin sopivuus tarkistetaan tarkemmin, ja poikkeamat hylätään. Lopuksi lasketaan todennäköisyys, että tietty ominaisuusjoukko ilmaisee kohteen olemassaolon, mikä antaa tietoa osuman tarkkuudesta ja mahdollisten ohitusten lukumäärästä. Objekteja, jotka läpäisevät kaikki nämä testit, voidaan pitää oikeina suurella varmuudella [3] .
Kaikille kuvan kohteille voidaan poimia piirrepisteitä, jotka tarjoavat objektin "ominaisuuskuvauksen". Tätä harjoituskuvasta saatua kuvausta voidaan sitten käyttää kohteen tunnistamiseen, kun kohde yritetään paikantaa testikuvassa, joka sisältää monia muita kohteita. Luotettavan tunnistuksen kannalta on tärkeää, että harjoituskuvasta poimitut ominaisuudet voidaan havaita myös kuvan mittakaavan, kohinan ja valaistuksen muutoksilla. Tällaiset pisteet sijaitsevat yleensä suurikontrastisilla alueilla, kuten esineiden reunoilla.
Toinen näiden ominaisuuksien tärkeä ominaisuus on, että niiden väliset suhteet eivät saa muuttua kuvasta toiseen. Jos esimerkiksi vain oven neljää kulmaa käytettäisiin kyltteinä, ne toimisivat oven asennosta riippumatta. Mutta jos käytettäisiin myös ovenpitimen pisteitä, tunnistus saattaa epäonnistua, koska ovi saattaa olla auki tai kiinni. Samoin nivellettyihin tai joustaviin objekteihin sijoitetut ominaisuudet eivät yleensä toimi, jos käsittelyjoukon kahden kuvan välillä tapahtuu muutoksia sisäisessä geometriassa. Käytännössä SIFT kuitenkin havaitsee ja käyttää paljon suuremman määrän kuvaominaisuuksia, mikä vähentää kunkin näiden paikallisten muutosten aiheuttaman virheen osuutta kaikkien ominaisuuksien yhteensopivuusvirheiden kokonaisvirheeseen.
SIFT [1] voi valita kohteet luotettavasti myös melun ja osittaisen päällekkäisyyden yhteydessä, koska SIFT-ominaisuuden kuvaaja on muuttumaton suhteelliselle skaalalle , suunnalle , valaistuksen muutoksille ja on osittain invariantti affiineille vääristymille [2] . Tässä osiossa kuvataan alkuperäinen SIFT-algoritmi ja mainitaan useita kilpailevia tekniikoita, jotka ovat käytettävissä meluisten ja päällekkäisten kohteiden tunnistamiseen.
SIFT-kuvaaja perustuu kuvamittauksiin reseptorikenttien suhteen [4] [5] [6] [7] , joille muodostetaan paikalliset mittakaavaltaan muuttumattomat viitekehykset [8] [9] valitsemalla paikallinen asteikko [10] . [11] [9] . Algoritmin yleinen teoreettinen selitys on annettu Scholarpedian SIFT-projektipaperissa [12] .
Tehtävä | Tekniikka | Etu |
---|---|---|
avaimen sijainti / mittakaava / kierto | Gaussin ero / avaruuden asteikkojen pyramidi / suuntien antaminen | tarkkuus, vakaus, mittakaava ja kiertoinvarianssi |
geometrinen vääristymä | paikallisten kuvan suuntatasojen sumennus/näytteistys | affiininen invarianssi |
indeksointi ja sovittaminen | lähin naapuri / hae "Best Bin First" | Tehokkuus / nopeus |
Klusterin tunnistus | Hough muuttaa äänestää | luotettavia asentomalleja |
Mallin validointi / poikkeamien havaitseminen | Lineaariset pienimmän neliösumman | parempi virhetoleranssi vähemmällä yhdenmukaisuudella |
Hypoteesin hyväksyntä | Bayesin todennäköisyysanalyysi | luotettavuus |
Lowen menetelmä kuvan piirteiden luomiseksi muuntaa kuvan suureksi joukoksi piirrevektoreita, joista jokainen on muuttumaton (rinnakkaisen) kuvan muunnoksen, skaalauksen ja kierron aikana, osittain invariantti valaistuksen muutoksille ja kestää paikallisia geometrisia vääristymiä. Näillä ominaisuuksilla on samanlaiset ominaisuudet kuin päänäön aivokuoren neuroneilla, jotka koodaavat perusmuodon, värin ja esineen liikkeen havaitsemista kädellisten näössä [13] . Sijaintinäppäimet määritellään Gaussin erofunktion ja minimiarvoksi, jota sovelletaan skaalausavaruudessa tasoitettujen ja uudelleen hahmonnettujen kuvien sarjaan. Ehdokaspisteet, joissa on alhainen kontrasti ja pisteet reunoilla, hylätään. Lokalisoiduille avainpisteille on määritetty hallitsevat suuntaukset. Nämä vaiheet lisäävät vakautta vastaavuuden ja tunnistamisen avainpisteille. SIFT-kuvaajat, jotka kestävät paikallisia affiinirikkomuksia, saadaan sitten tarkastelemalla pikseleitä avaimen sijainnin ympärillä sumentamalla ja näyttelemällä uudelleen paikalliset kuvan suuntatasot.
Ominaisuuden haku ja indeksointiIndeksointi koostuu SIFT-avainten muistamisesta ja vastaavien avainten tunnistamisesta uudesta kuvasta. Lowe käytti muunnelmaa k-ulotteisesta puualgoritmista, jota kutsutaan best-bin-first (BBF) [14] -hakumenetelmäksi , joka pystyy tunnistamaan lähimmän naapurin suurella todennäköisyydellä käyttämällä vain rajoitettua määrää laskelmia. BBF-algoritmi käyttää muokattua hakujärjestystä k-ulotteiselle puualgoritmille siten, että piirreavaruuden alueita etsitään niiden lähimmän etäisyyden mukaan pyydetystä sijainnista. Tämä hakujärjestys edellyttää kasaan perustuvan prioriteettijonon käyttöä hakujärjestyksen määrittämiseksi tehokkaasti. Paras ehdokas kuhunkin avainpisteeseen löydetään perustamalla sen lähin naapuri avainpistetietokantaan harjoituskuvista. Lähimmät naapurit määritellään avainpisteiksi, joilla on pienin euklidinen etäisyys annetusta kuvaajavektorista. Todennäköisyys, että vastaavuus on oikea, voidaan määrittää laskemalla etäisyyden suhde lähimmästä naapurista toiseen lähimpään naapuriin.
Matala [3] hylkäsi kaikki ottelut, joissa etäisyyssuhde on suurempi kuin 0,8, mikä eliminoi 90 % virheellisistä osumista ja hylkäsi alle 5 % oikeista osumista. Parantaakseen suorituskykyä entisestään paras roskakori ensin -hakualgoritmi pysähtyy tarkistettuaan 200 ensimmäistä lähintä naapuriehdokasta. Tietokannassa, jossa on 100 000 avainpistettä, tämä lisää nopeutta verrattuna tarkkaan naapureiden etsimiseen 2 suuruusluokkaa, kun taas väärä valinta ei ylitä 5 % oikeista osumista.
Klusterin tunnistaminen äänestämällä Hough-muunnostaHough-muunnosta käytetään klusteroimaan vankka hypoteesimalli ja etsimään avaimia, jotka ovat yhdenmukaisia tietyn mallin sijainnin kanssa Hough-muunnos paljastaa piirteiden klustereita, joiden tulkinta on johdonmukainen, äänestämällä kunkin ominaisuuden puolesta kaikille ominaisuuden mukaisille objektipaikoille. Kun objektin samalle paikalle löydetään piirreryhmiä äänillä, oikean tulkinnan todennäköisyys on paljon suurempi kuin minkään yksittäisen ominaisuuden todennäköisyys. Luodaan hash-taulukon merkintä, joka sisältää arvioidun sijainnin, suunnan ja asteikon vastaavuushypoteesista. Hash-taulukosta etsitään tunnistaakseen kaikki klusterit, joissa on alueella vähintään 3 elementtiä, ja alueet lajitellaan pienenevän koon mukaan.
Jokainen SIFT-avainpiste määrittää 2D-sijainnin, mittakaavan ja suunnan, ja jokaisella tietokannan avainpisteellä on merkintä parametreineen, jotka liittyvät harjoituskuvaan, josta se löydettiin. Näistä neljästä parametrista johtuva analoginen muunnos on vain likiarvo 3D-objektien 6 vapausasteen koko sijaintiavaruuteen, eikä se myöskään ota huomioon joustavia muodonmuutoksia. Näin ollen Lowe [3] käytti 30 asteen aluekokoja sijainnin suuntaamiseen, kerrointa 2 mittakaavaan ja kerrointa 0,25 harjoituskuvan maksimiprojektiokoon (käyttämällä ennustettua skaalaa). Suuressa mittakaavassa luoduille SIFT-avaimille annetaan kaksinkertainen paino verrattuna pienemmän mittakaavan avaimiin. Tämä tarkoittaa, että suurempi mittakaava pystyy suodattamaan pois todennäköisempiä naapureita testaamaan pienemmässä mittakaavassa. Se myös parantaa tunnistussuorituskykyä antamalla enemmän painoa vähemmän meluisalle vaakalle. Rajausvaikutusten ongelman välttämiseksi aluetta määritettäessä jokainen avainpiste tarkastelee 2 lähimmän alueen ääniä kumpaankin suuntaan, jolloin kullekin hypoteesille saadaan yhteensä 16 arvoa ja hämärtää sijaintihajautta entisestään.
Pienimmän neliösumman mallin validointiJokaiseen perustettuun klusteriin sovelletaan tarkistusmenettelyä, joka suorittaa pienimmän neliösumman kuvamalliin liittyville affiinimuunnosparametreille . Mallipisteen [xy] T affiinimuunnos kuvapisteeksi [uv] T voidaan kirjoittaa seuraavasti
missä rinnakkaistranslaatio on [tx ty] T , ja affiinikiertoa, mittakaavaa ja venytystä edustavat parametrit m1, m2, m3 ja m4. Muunnosparametrien saamiseksi yhtälö voidaan kirjoittaa uudelleen niin, että kaikki tuntemattomat ovat sarakevektorissa.
Tasa-arvo näyttää yhden osuman, mutta voit lisätä minkä tahansa määrän osumia, jolloin jokainen vastaavuus lisää kaksi riviä ensimmäiseen ja viimeiseen matriisiin. Ratkaisun saamiseksi tarvitaan vähintään 3 osumaa. Voimme kirjoittaa tämän lineaarisen järjestelmän muodossa
missä A on tunnettu matriisi (yleensä m > n ), x on tuntematon n - ulotteinen parametrivektori ja b on tunnettu m - ulotteinen ulottuvuusvektori.
Näin ollen minimoiva vektori on ratkaisu normaaliyhtälöön
Lineaarisen yhtälöjärjestelmän ratkaisu on annettu matriisina, jota kutsutaan pseudoinversiomatriisiksi A : lle muodossa
,joka minimoi mallin sijaintiprojektioiden neliöetäisyyksien summan vastaaviin kuvapaikkoihin.
Poikkeamien tunnistaminenPoikkeamat voidaan nyt hylätä tarkistamalla kunkin kuvan ominaisuuden ja parametriratkaisun antaman mallin välinen sopimus. Kun pienimmän neliösumman ratkaisu on annettu, jokaisen vastaavuuden tulee olla korkeintaan puolet virhevälistä, jota käytettiin Hough-muunnosalueiden parametreille . Poikkeamat hylätään, pienimmän neliösumman ratkaisu lasketaan uudelleen jäljelle jääville pisteille ja prosessi toistetaan. Jos poikkeamien hylkäämisen jälkeen on jäljellä alle 3 pistettä , ottelu hylätään. Lisäksi ylhäältä alas -sovitusvaihetta käytetään lisäämään kaikki muut sovitukset, jotka ovat yhdenmukaisia projisoidun mallin sijainnin kanssa ja jotka Hough-muunnosalue voi jättää huomiotta samanlaisten muunnosten approksimoinnin tai muiden virheiden vuoksi.
Lopullinen päätös hyväksyä tai hylätä hypoteesimalli perustuu yksityiskohtaiseen todennäköisyysmalliin [15] . Tämä menetelmä laskee ensin sijaintimallin odotetun virhevastaavuuksien määrän mallin koon, alueen piirteiden lukumäärän ja sovituksen tarkkuuden perusteella. Bayes-analyysi antaa sitten todennäköisyyden, että objekti on läsnä, perustuen löydettyjen ominaisuusosumien todelliseen määrään. Malli hyväksytään, jos oikean tulkinnan lopullinen todennäköisyys on suurempi kuin 0,98. Lowen kehittämään SIFT-menetelmään perustuen kohteen tunnistus antaa erinomaisia tuloksia paitsi valaistuksen laajan leviämisen ja ei-jäykkien muunnosten yhteydessä.
Paikallisten kuvan ominaisuuksien havaitseminen ja kuvaus voi auttaa kohteen tunnistamisessa. SIFT-ominaisuudet ovat paikallisia ja perustuvat objektin ilmentymiin tietyissä yksittäispisteissä. Ne ovat skaalaus- ja kiertoinvariantteja. Ne kestävät myös valaistuksen muutoksia, melua ja pieniä muutoksia näkökulmassa. Näiden ominaisuuksien lisäksi ne ovat hyvin erotettavissa, suhteellisen helppo hakea ja mahdollistavat kohteen tunnistamisen pienellä virheellä. Ne on suhteellisen helppo löytää (suuresta) paikallisten ominaisuuksien tietokannasta, mutta ominaisuuksien suuri ulottuvuus voi kuitenkin aiheuttaa vaikeuksia, joten todennäköisyyspohjaiset algoritmit, kuten k-ulotteiset puut best-bin-first -haulla ( BBF) käytetään. Objektin kuvaus SIFT-ominaisuuksilla on vakaa myös osittaisen päällekkäisyyden suhteen, koska jopa kolme objektin SIFT-ominaisuutta riittää laskemaan kohteen paikan ja sijainnin. Tunnistus voidaan suorittaa lähes reaaliajassa, ainakin pienille tietokantoille nykyaikaisista tietokonelaitteistoista.
Aloitamme tunnistamalla pisteet, joita kutsutaan SIFT:n avainpisteiksi . Kuva konvoloidaan Gaussin suodattimilla eri mittakaavassa, ja sitten lasketaan peräkkäisten Gaussin sumeiden kuvien ero . Avainpisteet otetaan sitten näytteiksi Gaussin maksimi/minimi-erona, joka esiintyy eri asteikoissa. Gaussin ero saadaan lausekkeella
, missä on alkuperäisen kuvan konvoluutio, jossa on Gaussin sumeus mittakaavassa , eliNäin ollen kuva Gaussin erosta asteikkojen välillä ja on ero Gaussin sumennettujen kuvien asteikoilla ja . Skaalausavaruuden ääripään määrittämiseksi SIFT-algoritmissa kuva konvoloidaan ensin Gaussin sumealla eri mittakaavassa. Pikkukuvat ryhmitellään oktaavin mukaan (oktaavi vastaa arvon kaksinkertaistamista ) ja arvo valitaan siten, että saamme kiinteän määrän pikkukuvia oktaavia kohden. Sitten lasketaan Gaussin erotus vierekkäisistä Gaussin sumeista kuvista oktaavissa.
Kun kuvan Gauss-ero on saatu, avainpisteet määritellään kuvan Gaussin eron paikalliseksi minimi-/maksimiarvoksi mallien välillä. Tämä tehdään vertaamalla kutakin pikseliä kuvan Gaussin erotukseen sen kahdeksalla naapurialueella samassa mittakaavassa ja yhdeksässä vastaavassa naapuripikselissä kullakin naapuriasteikolla. Jos pikseliarvo on suurin tai pienin kaikkien vertailupisteiden joukossa, se valitaan avainpisteehdokkaaksi.
Tämä avainpisteen ilmaisuvaihe on muunnelma yhdestä Lindebergin pistehavaitsemismenetelmistä etsimällä ääriarvot asteikkoavaruudesta normalisoituna Laplacian asteikolle [10] [11] . Toisin sanoen sellaisten pisteiden määrittäminen, jotka ovat paikallisia äärimmäisyyksiä, ottaen huomioon sekä spatiaalisen sijainnin että mittakaavan, diskreetissä tapauksessa verrattuna lähimpään 26:een naapuriin diskretisoidussa tilavuudessa mittakaavatilassa. Gaussin erooperaattoria voidaan pitää laplacian approksimaationa, pyramidin implisiittisellä normalisoinnilla , joka sisältää myös diskreetin skaalanormalisoidun Laplacian approksimaation [12] . Lindeberg ja Bretzner esittelivät toisen reaaliaikaisen inkarnaation Laplace-operaattorin skaalaavaruuden äärimmäisyyksien etsinnästä, se perustuu hybridipyramidiesitykseen [16] , jota käytettiin tietokoneen ja ihmisen välisessä vuorovaikutuksessa reaaliaikaiseen eleiden tunnistamiseen. [17] .
Mittakaava-avaruuden ääriarvojen määrittäminen antaa liian monta ehdokasta avainpisteisiin, joista osa on epävakaita. Seuraava askel algoritmissa on suorittaa yksityiskohtainen naapurisovitus tarkan sijainnin, mittakaavan ja pääkaarevuussuhteen mukaan . Näiden tietojen avulla voit hylätä pisteet, joissa on pieni kontrasti (ja siksi herkkiä kohinalle) tai jotka sijaitsevat huonosti reunassa.
Viereisten tietojen interpolointi sijainnin tarkkuuteenEnsinnäkin kunkin vihjepisteehdokkaan kohdalla käytetään lähellä datan interpolointia sijainnin määrittämiseen tarkasti. Alkuperäinen lähestymistapa oli määrittää kunkin avainpisteen sijainti avainpisteehdokkaan sijainnin ja asteikon perusteella [2] . Uusi lähestymistapa laskee ääripään interpoloidun sijainnin, mikä parantaa merkittävästi istuvuutta ja vakautta [3] . Interpolointi suoritetaan käyttämällä Gaussin mittakaavaero-funktion neliöllistä Taylor - laajennusta avainpisteehdokkaan ollessa origossa. Tämä Taylor-laajennus saadaan yhtälöstä:
,missä D ja sen derivaatta lasketaan ehdokaspisteessä ja on siirtymä tästä pisteestä. Ekstreemumin sijainti määritetään ottamalla tämän funktion derivaatta suhteessa nollaan ja yhtälöllä se. Jos siirto on suurempi jompaankumpaan suuntaan, tämä osoittaa, että ääripiste on lähempänä toista avainpisteehdokasta. Tässä tapauksessa avainpisteehdokasta muutetaan ja tälle pisteelle suoritetaan interpolointi. Muussa tapauksessa avainpisteehdokkaaseen lisätään poikkeama interpoloidun arvion saamiseksi ääripisteen sijainnista. Samanlainen asteikkoavaruuden ääripisteiden sijainnin alipikselimääritys, jonka ovat kehittäneet Lindeberg et al., suoritetaan reaaliajassa hybridipyramidien perusteella [16] .
Alhaisen kontrastin tärkeimpien kohtien poistaminenVähäkontrastisten avainpisteiden hylkäämiseksi lasketaan toisen asteen Taylor-laajennus , jossa on harha . Jos tämä arvo on pienempi kuin , avainpisteehdokas hylätään. Muussa tapauksessa se tallennetaan sijainnilla äärellisessä mittakaavassa , missä on avainpisteen alkuperäinen sijainti.
Edge Contribution ExclusionGaussin erofunktiolla on voimakkaat arvot reunoilla, vaikka avainpisteehdokas ei olisi kestävä pienille kohinalle. Siksi vakauden lisäämiseksi sinun tulee sulkea pois avainpisteet, joiden sijainti on huonosti määritelty, mutta joilla on suuri osuus reunoista.
Huonosti määritellyillä Gaussin erofunktion huipuilla pääkaarevuus reunan poikki on paljon suurempi kuin pääkaarevuus sitä pitkin. Näiden pääkaarevien löytäminen vastaa toisen kertaluvun Hessian matriisin H ominaisarvojen löytämistä :
H :n ominaisarvot ovat verrannollisia matriisin D pääkaareviin. Osoittautuu, että kahden ominaisarvon suhde, eli niistä suurempi, a on pienempi, suhteella , on riittävä SIFT:n tarkoituksiin. . Matriisin H jälki , eli , antaa meille kahden ominaisarvon summan, kun taas determinantti eli , antaa meille tulon. Suhde voidaan osoittaa olevan , joka riippuu vain ominaisarvojen suhteesta, ei yksittäisistä arvoista. R on minimi, jos ominaisarvot ovat yhtä suuret. Siten mitä suurempi on kahden ominaisarvon välisen eron itseisarvo, joka vastaa kahden pääkaarevuuden D välisen eron suurinta absoluuttista arvoa, sitä suurempi on R:n arvo. Tästä seuraa, että jollekin ominaisarvojen kynnyssuhteelle , jos R koska avainpisteehdokas on suurempi kuin , avainpiste sijaitsee huonosti ja siksi hylätään. Uusi lähestymistapa käyttää [3] .
Tämä reunavasteen vaimennusvaihe on siirtää sopiva lähestymistapa Harris-operaattorille kulman havaitsemista varten . Erona on se, että kynnyksen mitta lasketaan Hessenin matriisista, ei sekuntien matriisista [ .
Tässä vaiheessa kullekin avainpisteelle määrätään yksi tai useampi suunta paikallisen kuvan liukuvärien suuntien perusteella. Tämä on avainvaihe kiertoinvarianssin saavuttamisessa , koska avainpisteen kuvaaja voidaan esittää suhteessa tähän orientaatioon, ja siksi siitä tulee kuvan kiertoinvariantti.
Ensinnäkin Gaussin sumea kuva otetaan keskeisistä kohdista mittakaavalla , jotta kaikki laskelmat suoritetaan mittakaava-invariantilla. Skaalatun kuvan gradientin arvo ja suunta on laskettu valmiiksi pikselieron perusteella .
Gradientin suuruus ja suunta lasketaan jokaiselle Gaussin sumean kuvan L avainpisteen läheisyydessä olevalle pikselille. Muodostetaan suuntahistogrammi, jossa on 36 aluetta, joista jokainen kattaa 10 astetta. Jokainen ympäröivän laatikon piste lisätään histogrammialueelle, painotettuna gradientin suuruudella ja Gaussin painotetulla pyöreällä ikkunalla , joka on 1,5 kertaa avainpisteen asteikko. Tämän histogrammin huiput vastaavat hallitsevia suuntia. Kun histogrammi on täytetty, avainpisteelle osoitetaan suunnat, jotka vastaavat korkeimpia huippuja ja paikallisia huippuja, jotka ovat 80 %:n sisällä korkeimmista huipuista. Jos useita suuntia on määritetty, luodaan ylimääräinen avainpiste, jolla on sama sijainti ja mittakaava kuin kunkin lisäsuunnan alkuperäisellä pisteellä.
Edelliset vaiheet etsivät avainpisteiden sijainnit tietyissä asteikoissa ja määrittävät niille suunnan. Tämä tarjoaa muuttumattomuuden pisteen sijainnille, mittakaavalle ja kierrolle. Nyt haluamme laskea kuvaajien vektorin kullekin avainpisteelle siten, että kuvaaja on hyvin erilainen ja osittain muuttumaton muihin muutoksiin, kuten valaistukseen, näkökulmiin ja niin edelleen. Tämä vaihe suoritetaan kuvalle, joka on mittakaavaltaan lähinnä avainpisteen mittakaavaa.
Ensinnäkin 4x4 vierekkäisille pikseleille luodaan joukko suuntahistogrammeja, joissa kussakin on 8 aluetta. Nämä histogrammit on laskettu avainpisteen ympärillä 16 × 16 -alueella olevien elementtien suuruus- ja suuntaarvoista siten, että jokainen histogrammi sisältää elementtejä alkuperäisen naapurialueen 4 × 4 -osa-alueelta. Arvoja painotetaan edelleen Gaussin funktiolla, joka on yhtä suuri kuin puolet kuvausikkunan leveydestä. Kahva muuttuu sitten kaikkien näiden histogrammien arvojen vektoriksi. Koska histogrammeja on 4×4=16, joissa kussakin on 8 aluetta, vektorissa on 128 elementtiä. Tämä vektori normalisoidaan yksikköpituuteen, jotta varmistetaan, että se on invariantti affinisiin valaistuksen muutoksiin nähden. Epälineaarisen valaistuksen vaikutuksen vähentämiseksi käytetään kynnysarvoa 0,2 ja vektori normalisoidaan uudelleen. Kynnysprosessi voi parantaa sovitustuloksia, vaikka ei olisi epälineaarisia valaistusefektejä [18] . Kynnysarvo 0,2 valitaan empiirisesti ja kiinteän kynnyksen korvaaminen tarkoituksenmukaisesti lasketulla kynnysarvolla voi parantaa vertailutuloksia [18] .
Vaikka deskriptoridimensio (eli 128) näyttää korkealta, pienemmät kuvaajat eivät toimi yhtä hyvin [3] ja laskentakustannukset pysyvät alhaisina, koska lähimmän naapurin etsimiseen käytetään likimääräistä BBF-menetelmää (katso alla). Pidemmät kuvaukset antaisivat parempia tuloksia, mutta eivät paljon, ja on olemassa vaara, että herkkyys vääristymille ja aliasoille kasvaa. On myös osoitettu, että ominaisuuksien täsmäystarkkuus on yli 50 % näkökulman muutoksilla 50 asteeseen asti. Siksi SIFT-kuvaajat ovat muuttumattomia pienille affiinisille muutoksille. SIFT-kuvaajien erottuvuuden testaamiseksi vastaavuustarkkuutta mitataan myös suhteessa eri avainpisteiden määrään testitietokannassa, ja on osoitettu, että täsmäytystarkkuus laskee vain hieman suurissa tietokannoissa, mikä osoittaa, että SIFT-ominaisuudet ovat hyvin erotettavissa. .
Intensiivistä tutkimusta on tehty erilaisten paikallisten kuvaajien, mukaan lukien SIFT:n, tehokkuuden arvioimiseksi [19] . Tärkeimmät tulokset näkyvät alla:
Suoritetut testit viittaavat vahvasti siihen, että SIFT-pohjaiset kuvaajat ovat vakaimpia ja erotettavissa olevia, ja siksi niitä suositellaan parhaiten ominaisuuksien yhteensovittamiseen. Äskettäin kehitettyjä ominaisuuskuvaajia, kuten SURF , ei kuitenkaan ole tutkittu näissä kokeissa.
SURF:n tehokkuuden on osoitettu olevan lähellä SIFT:tä, mutta samalla algoritmi on paljon nopeampi [20] . Muut tutkimukset ovat osoittaneet, että kun nopeus ei ole kriittinen tekijä, SIFT ylittää SURF:n [21] [22] . Erityisesti näytteenottotehosteet huomioimatta SIFT-kuvan kuvaaja on huomattavasti parempi kuin SURF-kuvan kuvaaja. Samanaikaisesti SURF:n yksinkertaisen singulaaripisteilmaisimen Hessenin determinantin skaalaavaruudessa oleva ääripää koostuu huomattavasti paremmista singulaaripisteistä verrattuna laplalaisen skaalaavaruuden ääripäähän, jolle algoritmi singulaarisen pisteen determinantin määrittämiseksi SIFT:n singulaaripiste suorittaa numeerisen approksimoinnin [21] .
SIFT-kuvaajien kuvansovituskykyä voidaan parantaa saavuttamalla parempi suorituskyky ja alhaisemmat 1-tarkkuuspisteet[ selventää ] ( englanninkieliset 1-tarkkuuspisteet ) korvaamalla alkuperäisen SIFT:n Gaussin erooperaattorin skaalautuva spatiaalinen ääripää Hessin-determinantin ääripäällä skaalautuvassa avaruudessa tai ottamalla huomioon yleisemmän yksikön yleisten singulaaristen pisteiden perhettä. skaalautuva tila [21] .
Hiljattain on ehdotettu kuvaajan hieman muunneltua versiota, jossa käytetään epäyhtenäistä histogrammihilaa, mikä parantaa merkittävästi laatua [23] . Histogrammin alueiden 4x4-ruudukon sijaan kaikki alueet laajenevat kohti ominaisuuden keskustaa. Tämä parantaa kuvaajien joustavuutta mittakaavamuutoksille.
SIFT-Rank-kuvaajan [24] on osoitettu parantavan standardin SIFT-kuvaajan suorituskykyä affinissa ominaisuussovituksessa. SIFT-Rank-kuvaaja luodaan tavallisesta SIFT-kuvaajasta määrittämällä jokaiselle histogrammin alueelle järjestys lajiteltuun aluetaulukkoon. Euklidinen etäisyys SIFT-Rank-kuvaajien välillä on invariantti mielivaltaisten monotonisten histogrammiarvojen muutosten yhteydessä ja liittyy Spearmanin rankkorrelaatiokertoimiin .
Jos SIFT-järjestelmän on mahdollista löytää erilaisia avainpisteitä, jotka ovat muuttumattomia sijainnin, mittakaavan ja pyörimisen suhteen ja jotka kestävät affiineja muunnoksia ( skaalan , rotation , shift ja sijainnin muutokset) ja valaistuksen muutoksia, ne ovat hyödyllisiä esineiden tunnistamisessa. Nämä vaiheet on annettu alla
SIFT-ominaisuuksia voidaan periaatteessa soveltaa kaikkiin ongelmiin, joissa vaaditaan kuvansovitusta. Työtä voidaan tehdä sovelluksissa, kuten tiettyjen objektiluokkien tunnistaminen 2D-kuvissa, 3D-objektien rekonstruktio, liikkeen seuranta ja segmentointi, robotin sijainti, panoraamakuvien ompeleminen ja epipolaarinen kalibrointi . Joitakin näistä sovelluksista käsitellään yksityiskohtaisemmin alla.
Tämä sovellus [26] käyttää stereotrinokulaarijärjestelmää arvioidakseen vihjepisteen 3D-sijainnin. Avainpisteitä käytetään vain, kun ne näkyvät kaikissa kolmessa kuvassa johdonmukaisine yhteensopimattomina, mikä johtaa erittäin harvinaisiin keskeytyksiin. Liikkuessaan robotti määrittää sijaintinsa käyttämällä ominaisuussuhteita olemassa olevan 3D-kartan kanssa ja lisää sitten karttaan asteittain ominaisuuksia samalla kun se päivittää 3D-sijainnin Kalman-suodattimen avulla. Tämä tarjoaa luotettavan ja tarkan ratkaisun robotin paikantamiseen tuntemattomassa ympäristössä.
SIFT-ominaisuuden yhdistämistä voidaan käyttää kuvien yhdistämiseen täysin automaattiseen panoraaman rakentamiseen ei-panoraamakehyksistä. Syötekuvista poimitut SIFT-ominaisuudet verrataan toisiinsa k lähimmän naapurin löytämiseksi kustakin kuvasta. Näitä osumia käytetään sitten etsimään m kuvaa vastaavaa ehdokasta jokaiselle kuvalle. Kuvaparien väliset homografiat lasketaan sitten käyttämällä RANSAC :ia ( Random sample consensus ) ja todentamiseen käytetään todennäköisyysmallia . Koska syöttökuville ei ole rajoituksia, kaaviohakua käytetään yhdistettyihin kuvaa vastaaviin komponentteihin, jotta jokainen yhdistetty komponentti vastaa panoraamaa. Lopuksi kullekin liitetylle komponentille suoritetaan lohkosäätö kameran parametrien ratkaisemiseksi, ja panoraama käsitellään käyttämällä monikaistasekoitusta . SIFT-vaikutteisen lähestymistavan ansiosta panoraamaompelun kohteen tunnistusta varten tuloksena oleva järjestelmä ei ole herkkä kuvien järjestykselle, suunnalle, mittakaavalle ja valaistukselle. Syötekuvat voivat sisältää useita panoraamoja ja kuvakohinaa (joista osa ei välttämättä edes ole osa yhdistelmäkuvaa) [27] .
Tämä sovellus käyttää SIFT-ominaisuuksia 3D-objektien tunnistamiseen ja 3D-mallinnukseen lisätyn todellisuuden , jossa luodut keinotekoiset esineet tarkassa asennossa asetetaan todellisten kuvien päälle. SIFT-osuma määritetään useille 2D-kuville kohtauksesta tai kohteesta, jotka on otettu eri kulmista. Tätä käytetään lohkosäädön kanssa rakentamaan niukasti 3D-malli kyseisestä kohtauksesta ja samalla palauttamaan kameran asennot ja kalibrointiparametrit. Sitten määritetään virtuaalisen kohteen sijainti, suunta ja koko suhteessa tarkasteltavan mallin kehyskoordinaatteihin. Online - paikannusseurantaa varten SIFT-ominaisuudet poimitaan nykyisestä videokehyksestä ja verrataan jo laskettuihin ominaisuuksiin, mikä johtaa 2D- ja 3D-vastaavuuksiin. Näitä osumia käytetään sitten laskemaan kameran nykyinen sijainti virtuaalista projisointia ja lopullista käsittelyä varten. Normalisointitekniikkaa käytetään vähentämään värinää virtuaalisessa projektiossa [28] . SIFT 3D -laajennukset on myös toteutettu tunnistamaan ja korostamaan todellisia 3D - objekteja [29] [30] .
SIFT-kuvaajan laajennuksia 2+1-ulotteiseen spatiotemporaaliseen dataan on tutkittu ihmisen toiminnan tunnistamisen yhteydessä videossa [29] [31] [32] [33] . Paikallisten sijainnista riippuvien histogrammien luominen 2D SIFT -algoritmissa laajenee 2D:stä 3D:ksi kuvaamaan aika-avaruusalueen SIFT-ominaisuuksia. Inhimillisten toimintojen tunnistamiseksi videossa harjoitusvideoita tehdään joko tietyistä spatiotemporaalisista pisteistä tai satunnaisessa paikassa, ajassa ja mittakaavassa. Näiden yksittäispisteiden ympärillä olevat tila-aika-alueet kuvataan sitten käyttämällä 3D SIFT -kuvaajaa. Nämä kuvaajat kootaan sitten " sanojen pussiksi " spatiotemporaaliseksi malliksi . Testileikkeistä poimitut 3D SIFT -kuvaukset verrataan näihin sanoihin ihmisten toiminnan luokittelemiseksi.
Kirjoittajat väittävät, että heidän 3D SIFT -kuvaajansa toimii huomattavasti paremmin kuin muut lähestymistavat, kuten yksinkertaiset 2D SIFT -kuvaajat ja gradienttiarvo [34] .
Ominaisuuspohjainen morfometria ( FBM ) [35] [35] käyttää Gaussin skaalausavaruuden analysointiin ja luokitteluunMRI(magneettiresonanssikuvienaivojen . FBM mallintaa kuvan todennäköisyydellä kollaasina itsenäisistä kuvan geometrian ja etikettiryhmien määrittämistä piirteistä, kuten terveistä esineistä ja Alzheimerin tautia vastaavista esineistä. Ominaisuudet erotetaan ensin yksittäisiksi kuviksi 4D Gaussin skaalausavaruuden erosta, minkä jälkeen ne mallinnetaan niiden ulkonäön, geometrian ja samanaikaisten esiintymistilastojen perusteella useiden kuvien ryhmässä. FBM on validoitu Alzheimerin taudin analyysissä noin 200 ihmisen aivojen tilavuuskuvauksen (MRI) sarjalla, joka havaitsee automaattisesti vakiintuneet Alzheimerin taudin indikaattorit aivoissa ja luokittelee ei-akuutit sairaudet uusissa kuvissa 80 %:lla [ 35] .
Kilpailevat menetelmät mittakaavamuuttumattomien objektien tunnistamiseksi kohinan ja osittaisen päällekkäisyyden alla ovat seuraavat.
RIFT [36] : SIFT :n rotaatio -invariantti yleistys . RIFT-kuvaaja rakennetaan käyttämällä pyöreitä normalisoituja viipaleita, jotka on jaettu samanleveisiin samankeskisiin renkaisiin, ja kunkin renkaan sisällä lasketaan gradientin suunnan histogrammi. Pyörimisinvarianssin saamiseksi orientaatio mitataan kussakin pisteessä suhteessa suuntaan keskustasta.
G-RIF [37] : Generalized Robust Invariant Feature on yleinen kontekstikuvaaja, joka koodaa reunasuunnan, reunatiheyden ja väritiedot yhdellä avaimella yhdistäen havainnointitiedon spatiaaliseen koodaukseen. Objektin tunnistusjärjestelmä käyttää naapuruuskontekstia objektimallien arvioimiseen äänestämisen perusteella.
"SURF" [38] : Speeded Up Robust -ominaisuudet ovat korkean suorituskyvyn mittakaava- ja kiertoinvariantteja ilmaisimia/kuvaajia, joiden väitetään lähestyvän tai jopa ylittävän aiemmin ehdotetut suunnitelmat toistettavuuden, selkeyden ja luotettavuuden suhteen. SURF luottaa täydelliseen konvoluutiokuviin laskenta-ajan lyhentämiseksi ja perustuu johtavien olemassa olevien ilmaisimien ja kuvaajien vahvuuteen (käytetään Hessin matriisiin perustuvaa nopeaa mittaa ilmaisimille ja todennäköisyysjakaumaan perustuville kuvaajille). Se kuvaa Haar-aaltovasteiden jakautumista singulaaripisteen naapureiden kesken. Täysi kuvia käytetään nopeuttamiseen, ja vain 64-ulotteisia piirrevektoreita käytetään vähentämään laskenta- ja sovitusaikaa. Indeksointivaihe perustuu laplalaisen merkkiin , mikä lisää täsmäämisnopeutta ja deskriptorin robustisuutta.
PCA-SIFT [39] ja GLOH [19] ovat SIFT:n muunnelmia. PCA-SIFT-kuvaaja on x- ja y-suuntien kuvagradienttien vektori, joka on laskettu tuetulla alueella. Gradienttialue on jaettu 39×39 paikkaan, joten vektorin mitta on 3042. Dimensio pienennetään 36 :een pääkomponenttien menetelmällä . Sijainti-orientaatiogradienttihistogrammi ( GLOH ) on SIFT-kuvaajan laajennus, ja se kehitettiin lisäämään sen kestävyyttä ja erotettavuutta. SIFT-kuvaaja lasketaan logaritmisina napakoordinaateina sijaintiruudukossa, jossa on kolme aluetta säteen suunnassa (säde asetettu 6, 11 ja 15) ja 8 kulmasuuntiin, jolloin tuloksena on 17 aluetta. Keskialuetta ei ole jaettu kulmasuuntiin. Gradienttisuunnat kvantisoidaan 16 alueelle, jolloin saadaan histogrammi, jossa on 272 aluetta. Tämän kuvaajan kokoa pienennetään pääkomponenttimenetelmällä . Pääkomponenttimenetelmän kovarianssimatriisi arvioidaan eri kuvista kerätyistä kappaleista. Kuvauksessa käytetään 128 suurinta ominaisvektoria .
Gauss-SIFT [21] on puhdas kuvakuvaaja, joka määritellään mittaamalla kaikki taustalla olevan SIFT-kuvaajan kuvat Gaussin derivaatalla sen sijaan, että approksimoidaan derivaatta kuvapyramidissa, kuten tavallisessa SIFT:ssä. Tällä lähestymistavalla tilan ja mittakaavan diskretoinnin vaikutus voidaan vähentää minimiin, mikä mahdollisesti johtaa tarkempiin kuvakuvauksiin. Lindeberg [21] yhdisti tällaiset Gauss-SIFT-kuvakuvaajat joukkoon yleistettyjä singulaarisia pistemitta-avaruuksia, mukaan lukien Gaussin laplalainen, Hessin-determinantti, neljä uutta etumerkittömän ja signeeratun Hessian piirremittaa sekä Harris-Laplacen ja Shean. - Thomasin yksittäiset kohdat. Intensiivisessä kokeellisessa ajossa mainostaulujen tietokannassa, joka sisälsi useita muunnoksia 12 mainostaulun zoomauksen osalta jopa 6x ja katselusuuntaa jopa 45 asteen kulmaan, osoitettiin, että kuvankäsittelyn tehokkuuden merkittävä parannus (parempi tehokkuus) pisteet ja alemmat pisteet 1 -tarkkuus) voidaan saada korvaamalla singulaaripisteiden Gaussin laplalainen yksikköpisteiden Hessenin determinantilla. Koska singulaarisen pisteen Gaussin ero olettaa numeerisen approksimaation singulaarisen pisteen Gaussin Laplaciasta, tämä osoittaa, että on mahdollista parantaa merkittävästi yhteensovitussuorituskykyä korvaamalla SIFT:n singulaaripisteen Hessin-erotus singulaaripisteen Hessin-determinantilla. Suorituskyvyn lisähyötyjä voidaan saada lisää ottamalla huomioon etumerkitön Hessenin piirteen vahvuusmitta tai 0 muussa tapauksessa. Numeerinen vertailu Gauss-SIFT-kuvaajan ja vastaavan Gauss-SURF-kuvaajan välillä osoitti myös, että Gauss-SIFT toimii yleensä huomattavasti paremmin kuin Gauss-SURF useille eri pisteen mittakaava-avaruusilmaisimille. Tutkimus osoittaa siis, että SIFT-kuvan kuvauksen diskretisointivaikutelman vähennys on huomattavasti parempi kuin SURF-kuvan kuvaaja, mutta SURF:n piirrepisteen ilmaisin, jota voidaan pitää numeerisena approksimaationa Hessin-determinantin skaalaavaruuden ääripäästä, on huomattavasti parempi kuin SIFT:n ominaisuuspisteilmaisin.
Wagner ja työtoverit ovat kehittäneet kaksi kohteen tunnistusalgoritmia, jotka on erityisesti mukautettu olemassa olevien matkapuhelinten rajoituksiin [40] . Toisin kuin klassisessa lähestymistavassa, SIFT Wagner ym. käyttävät FAST - kulmantunnistusalgoritmia piirteiden havaitsemiseen. Algoritmiin kuuluu myös offline-valmisteluvaihe, jossa ominaisuuksia luodaan eri zoomaustasoilla, sekä online-vaihe, jossa ominaisuuksia luodaan vain puhelimen kameran kiinteälle zoomaustasolle. Lisäksi ominaisuudet luodaan vain kiinteistä 15 × 15 pikselin alueista ja luodaan vain 36-ulotteinen SIFT-kuvaaja. Lähestymistapaa laajennettiin edelleen integroimalla Scalable Vocabulary Tree [41 ] . Tämä mahdollistaa suuren määrän esineiden tehokkaan tunnistamisen matkapuhelimella. Lähestymistapaa rajoittaa pääasiassa käytettävissä olevan RAM-muistin määrä .
KAZE ja A-KAZE (KAZE-ominaisuudet ja Kaze Boosted Features) on uusi 2D-ominaisuuksien tunnistus- ja karakterisointimenetelmä, joka toimii paremmin kuin SIFT ja SURF. Se on saavuttanut laajan suosion, koska sitä levitetään vapaasti ja sillä on avoin lähdekoodi. Algoritmia ei myöskään ole patentoitu. KAZEn loivat Pablo F. Alcantarilla, Adrien Bartoli ja Andrew J. Davison [42] .