RANSAC

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 25. helmikuuta 2020 tarkistetusta versiosta . vahvistus vaatii 1 muokkauksen .

RANSAC ( lyhenne RANdom Sample Consensus ) on vakaa menetelmä mallin parametrien arvioimiseksi satunnaisotoksiin perustuen . RANSAC-järjestelmä kestää kohinaista syöttödataa. Menetelmää ehdottivat vuonna 1981 Fischler ja Bolles.

Usein on tietojenkäsittelytehtävä, jossa on tarpeen määrittää mallin parametrit, joiden on täytettävä lähtötiedot. Kaikki lähtötiedot voidaan jakaa kahteen tyyppiin: mallia tyydyttävät hyvät kohdat, "ei-outliers" tai "inlayers" ( englanniksi  inlier ) ja väärät pisteet, kohinat ovat satunnaisia ​​sisällytyksiä alkuperäiseen dataan, "outliers" tai "outlayers" ( englanti  ) .outlier

Esimerkki

Tarkastellaan yksinkertaisinta esimerkkiä algoritmin toiminnasta: suoran viivan kirjoittaminen 2D-pisteeseen . Olettaen, että tiedoissa on poikkeavuuksia, parametrien estimoiminen tavallisella tavalla, kuten pienimmän neliösumman , johtaa virheellisen mallin laskemiseen, koska malli rakennetaan kaikista pisteistä. RANSAC-menetelmä ottaa lähtökohtana vain kaksi suoran rakentamiseen tarvittavaa pistettä ja rakentaa niiden avulla mallin, jonka jälkeen se tarkistaa estimointifunktiolla tietyllä kynnysarvolla kuinka monta pistettä vastaa mallia.

Algoritmin kuvaus

Algoritmin syöte on:

  1. alkuperäinen tietojoukko
  2. toiminto , jonka avulla voit laskea mallin parametrit pisteiden tietojoukosta
  3. funktio pisteiden vastaavuuden arvioimiseksi tuloksena olevaan malliin
  4. arviointitoiminnon kynnys
  5. menetelmäiteraatioiden määrä _

Koko algoritmi koostuu yhdestä silmukasta, jonka jokainen iteraatio voidaan jakaa loogisesti kahteen vaiheeseen.

Silmukan loppuun jää viimeinen paras hypoteesi.

Menetelmän tulokset ovat:

  1. Mallin parametrit
  2. Lähdetietopisteet, jotka on merkitty lisäkerroksilla tai poikkeavilla arvoilla.

Lähtötietojen arviointi

Parametrin arvo tulee määrittää tiedoista riippuen erityisvaatimuksista riippuen, useimmiten vasta kokeellisten arvioiden jälkeen. Iteraatioiden lukumäärä voidaan määrittää teoreettisella estimoinnilla ennen kuin algoritmi suoritetaan. Olkoon  todennäköisyys, että RANSAC-algoritmi jossain iteraatiossa , valitessaan mallin perustana olevat pisteet, ottaa alkuperäisestä datajoukosta vain inlayers laskelmia varten. Tällaisessa tilanteessa näistä pisteistä rakennettu malli on todennäköisesti melko tarkka. Tämän perusteella voimme käyttää todennäköisyyttä p arvioimaan algoritmin tarkkuutta. Olkoon  todennäköisyys valita yksi kerros pisteiden kokonaismäärästä, eli missä on kerrosten lukumäärä ja pisteiden kokonaismäärä. Useimmissa tapauksissa inlayer-osien prosenttiosuutta ei tiedetä ennen algoritmin käynnistymistä, mutta lähes aina voidaan tehdä jokin karkea arvio. Todennäköisyys sille, että lähtötiedoista valitaan itsenäisesti n lisäkerrosta, on tässä tapauksessa ja todennäköisyys, että ainakin yksi piste joukosta on outlier eli että rakennetaan väärä malli, on . Todennäköisyys, että iteraatioiden aikana algoritmi ei koskaan valitse inlayeria, on , tämä tilanne tarkoittaa, että tarkkaa mallia ei rakenneta, ja tämän tapahtuman todennäköisyys on . Tällä tavalla

Ilmoitetaan tarvittavien iteraatioiden lukumäärä k

RANSAC-algoritmin edut ja haitat

RANSAC-algoritmin etuna on sen kyky antaa luotettava arvio mallin parametreista, eli kyky estimoida mallin parametrit suurella tarkkuudella, vaikka alkuperäisessä aineistossa olisi huomattava määrä poikkeavuuksia.

Yksi RNSAC-menetelmän haitoista on se, että malliparametrien laskemiseen tarvittavalle ajalle ei ole ylärajaa. Jos käytämme aikarajana iteraatioiden maksimimäärää, tuloksena oleva ratkaisu ei välttämättä ole optimaalinen, ja on myös hyvin pieni todennäköisyys, että mikään malli ei vastaa alkuperäistä dataa. Tarkka malli voidaan määrittää tietyllä todennäköisyydellä, joka kasvaa mitä enemmän iteraatioita käytetään. Toinen RANSAC-menetelmän haittapuoli on, että on tarpeen asettaa tietty kynnysarvo algoritmin suorittamiseksi. Lopuksi RANSAC-menetelmä voi määrittää vain yhden mallin tietylle tietojoukolle. Kuten missä tahansa yhden mallin lähestymistavassa, tässä on ongelma: kun syöttötiedoissa on kaksi (tai useampia) mallia, RANSAC ei välttämättä löydä yhtään mallia.

Sovellus

RANSAC - algoritmia käytetään usein tietokonenäössä , esimerkiksi ratkaisemaan kuvansovitusongelma ja perusmatriisiestimaatio kameran sijaintiparametrien määrittämiseksi.

Linkit