Tensorflow-luokittelu - Täydellinen opas kuvien luokittelusta

Sisällysluettelo:

Anonim

Yleiskatsaus Tensorflow-kuvaluokitukseen

Kuvien luokittelu on prosessi / tehtävä, jota käytetään informaatioluokkien erottamiseen kuvasta tai toisin sanoen se on prosessi, jolla kuva luokitellaan kuvan visuaalisen sisällön perusteella. Tensorflow-kuvaluokitukseen viitataan tietokoneen visioprosessina.

Voimme esimerkiksi löytää, millainen esine näkyy kuvassa, missä se on ihminen, eläin tai mikä tahansa esine.

Mikä on Tensorflow-kuvaluokitus?

  • Tensorflow tarjoaa jonkin erityisen esikuvatun ja optimoidun kuvien luokittelumallin, joka sisältää monenlaisia ​​kohteita, ja se on tehokas, että se pystyy tunnistamaan satoja erilaisia ​​esineitä, jotka sisältävät ihmisiä, aktiviteetteja, eläimiä, kasveja ja paikkoja ja monia muita.
  • Ensinnäkin se koulutetaan etukäteen eri luokkien kuvilla.
  • Sitten sen päätehtävänä on ennustaa, mitä kuva edustaa.

Esimerkki: Jos minulla on yksi malli, joka on koulutettu kahteen erityyppiseen luokkaan - koira tai kissa

Sen jälkeen toimitetaan kuva tulona, ​​se antaa todennäköisyyssuhteen tulosteena

Tämän mallin koulutuksen jälkeen sen tulisi ennustaa oikea tulos annetusta kuvasta.

lähtö:

EläinlajiTodennäköisyys
Koira0, 04
Kissa0, 96

Yllä olevasta tuotosta voidaan luokitella, että on olemassa vain 4% todennäköisyys, että kuva sisältää koiran, ja 96% todennäköisyys, että annettu syötekuva sisältää kissan.

Kuva voi sisältää yhden tai useamman erityyppisen luokan, johon mallimme on koulutettu. Se voi myös luokitella useita objekteja.

Väärinkäsitys kuvan luokittelusta

  • Lisäksi monet ihmiset ymmärtävät väärin kuvan luokittelun ja tietokoneen näkemyksen
  • Ihmiset ajattelevat, että kuvan luokittelu voi kertoa objektin sijainnin tai tunnistaa kuvan objektit. Kuvien luokittelu voi antaa vain todennäköisyyden, että kuva sisältää yhden tai useamman luokan.
  • Jos haluat tunnistaa objektin tai haluat tietää objektin sijainnin kuvassa, sinun tulee käyttää objektintunnistusta.

Kuvien luokitteluvaiheet

Alla on eri vaiheet, joita on noudatettava kuvan luokittelussa:

1. Luokkien määritelmä

Määritä luokkasi selkeästi kuvadatan tavoitteen ja ominaisuuksien mukaan, mikä tarkoittaa luokan luokituksen määrittelemistä selvästi.

2. Ominaisuuksien valinta

Ominaisuudet, jotka etsivät suhteita luokkien välillä, jotka voidaan muodostaa käyttämällä kuvan väriä, kuvan tekstuuria, kuvan monispektrisiä ja multi-ajallisia ominaisuuksia.

3. Harjoitustietojen näyte

Tarkista pieni harjoitustietojoukko päättääksesi tehdä asianmukaisia ​​päätöksiä. Pääasiassa on kahta ohjattavaa tekniikkaa ja opastamatonta oppimista, jotka valitaan koulutustietojen perusteella.

4. Etsi päätöksensääntö

Tarkoituksenmukainen päätös tehdään luokituksen vertaamisen perusteella harjoitustietoihin.

5. Luokitus

Luokittele kaikki pikselit yhdeksi luokkaksi yllä olevien sääntöjen perusteella. Luokittelussa se käyttää kahta pikselikohtaista pikseliluokitusta ja kenttäkohtaista luokittelua, joka perustuu aluejakoon.

6. Viimeinkin tarkista tulokset

Tarkista tarkkuus ja luotettavuus ja tarkista tulos siitä, kuinka se luokitteli luokittelut. Nämä ovat tärkeimpiä asioita, joita sinun tulee noudattaa minkä tahansa tyyppiselle kuvan luokittelulle.

Vaiheet Tensorflow-kuvaluokituksen arkistointiin - käyttämällä hermoverkkoa

  • Tensorflow tarjoaa tf.kerasille korkean tason sovellusliittymän mallien rakentamiseen ja kouluttamiseen Tensorflowissa.
  • Tuo tarvittavat paketit
  • Hanki tiedot ulkoisesta lähteestä tai avaa tietojoukko. Keras tarjoaa laajan valikoiman tietojoukkoja.
  • Varmista, että kuvasi tiedot on merkitty oikein.
  • Jaa tietojoukko junakuviin, joissa on etiketit, ja testijoukot sisältävät myös kuvat ja tarrat.
  • Tutki tietoja tutkimalla tietojen muotoa, pituutta ennen mallin harjoittelua. Joten voit ymmärtää, kuinka tietojoukossa ei ole esimerkkejä.
  • Esiprosessoi tiedot, aseta kuvan koko 0 - 255 pikseliin tietojoukon mukaan. Näytä 20-25 kuvaa otsikolla.
  • Rakenna malli - luodaan hermoverkko, määritetään mallin kerrokset, käännetään malli
  • Asenna verkkokerrokset - sitä käytetään edustajien poimimiseen annetusta tiedosta. Monet yksinkertaiset kerrokset ketjuutetaan koko verkon luomiseksi. Tasoille Tensorflow tarjoaa tf.keras.layers-paketin erityyppisten kerrosten luomiseen.
  • Käännä malli - mallin kääntämisen aikana on 3 tarvittavaa käännösvaihetta
    • Optimoija - optimoija, jota käytetään päivittämiseen ja mallin parametreille sopivan ja optimaalisen arvon laskemiseen. Tensorflow Keras tarjoaa erityyppisiä optimoijia, kuten Adam, SGD ja Adagrad.
    • Häviofunktio - häviötä käytetään mallin tarkkuuden laskemiseen mallin koulutuksen aikana. Jos menetystoiminto minimoituu harjoittelun aikana, se tarkoittaa, että malli toimii hyvin.
    • Metrics - käytetään mittaamaan ja tarkkailemaan mallien koulutusta ja testausta. Esimerkiksi mallin tarkkuuden tarkistaminen jokaisessa vaiheessa, jossa kuva luokitellaan oikein vai ei.
  • Junamalli - Syötä harjoitustiedot ja niiden etiketti malliin. Sovita toiminnot ja aseta ajanjaksot, jotka ovat iteraatioita mallin kouluttamiseksi.
  • Arvioi tarkkuus - nyt malliamme on koulutettu, mutta kuinka varmistaa, että ennusteet ovat totta. Tätä varten meidän on tarkistettava, kuinka koulutettu malli toimii testijoukossa. Käytä mallia. Arvioi toiminto ja lähetä testikuva ja merkitse se funktioon.
  • Ennustaminen - nyt mallimme on valmis tekemään ennustuksen käyttömallin. Ennusta toiminto kuvan tarrojen ennustamiseksi.

esimerkki

Kokeile itse kuvan luokitteluesimerkkiä saadaksesi paremman käsityksen kuvan luokittelusta. Tensorflow tarjoaa monia rakennustietokokonaisuuksia, kuten MNIST-tietoja, ja se sisältää erityyppisen kuvan tarroillaan. Yritä ennustaa kuvan luokkia kuvan luokittelun käsitteen avulla.

Tämä on linkki esimerkille, jonka Tensorflow itse antaa Tensorflow Keras -paketin avulla.

https://www.tensorflow.org/tutorials/keras/basic_classification

Seuraa vain samoja vaiheita kuvan luokittelun arkistoimiseksi.

johtopäätös

Tensorflow tarjoaa monta kirjastotukea kuvien luokittelun arkistointiin. Kuvien luokittelumalli, jonka tensorflow tarjoaa, on hyödyllinen pääasiassa yhden merkin luokittelussa. Heidän mallinsa koulutti tunnistamaan 1000 erilaista luokkaa. Jos haluat käyttää räätälöityä mallia kuin myös tensorflow, se tarjoaa mukautusvaihtoehdon.

Suositellut artikkelit

Tämä on opas Tensorflow-kuvaluokitukseen. Täällä olemme keskustelleet siitä, mikä on tensorflow-kuvan luokittelu? kuvan luokittelun eri vaiheet ja kuinka arkistoida tensorflow hermoverkkoja käyttämällä. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Mikä on TensorFlow?
  2. Johdatus Tensorflowiin
  3. TensorFlow-vaihtoehdot
  4. Kuinka asentaa TensorFlow
  5. Neuraaliverkkojen toteutus