Kazalo[Skrij][Pokaži]
- Kaj je klasifikacija slik?
- Kako deluje klasifikacija slik?
Klasifikacija slik z uporabo Tensorflow & Keras v pythonu+-
- 1. Zahteve za namestitev
- 2. Uvoz odvisnosti
- 3. Inicializacija parametrov
- 4. Nalaganje nabora podatkov
- 5. Izdelava modela
- 6. Usposabljanje modela
- Testiranje modela
- 7. Uvoz pripomočkov za testiranje
- 8. Izdelava python imenika
- 9. Nalaganje testnih podatkov in modela
- 10. Vrednotenje in napovedovanje
- 11. Rezultati
- zaključek
Pomirjujoče je vedeti, da nam je robote uspelo prepojiti z našimi prirojenimi sposobnostmi učenja z zgledom in zaznavanja okolice. Temeljni izziv je, da bi učenje računalnikov, da »vidijo« kot ljudje, potrebovalo veliko več časa in truda.
Če pa upoštevamo praktično vrednost, ki jo ta veščina trenutno zagotavlja organizacijam in podjetjem, je trud vreden truda. V tem članku boste spoznali klasifikacijo slik, kako deluje in njeno praktično uporabo. Začnimo.
Kaj je klasifikacija slik?
Naloga podajanja slike v a nevronska mreža in da izpiše neko obliko oznake za to sliko, je znano kot prepoznavanje slike. Izhodna oznaka omrežja bo ustrezala vnaprej določenemu razredu.
Sliki so lahko dodeljeni številni razredi ali samo en. Kadar obstaja le en razred, se pogosto uporablja izraz »prepoznavanje«, medtem ko se za več razredov pogosto uporablja izraz »razvrstitev«.
Zaznavanje predmetov je podmnožica klasifikacije slik, v kateri so določeni primerki predmetov zaznani kot pripadajoči danemu razredu, kot so živali, vozila ali ljudje.
Kako deluje klasifikacija slik?
Sliko v obliki pikslov analizira računalnik. To doseže tako, da sliko obravnava kot zbirko matrik, katerih velikost je določena z ločljivostjo slike. Preprosto povedano, klasifikacija slik je preučevanje statističnih podatkov z uporabo algoritmov z računalniškega vidika.
Klasifikacija slik je dosežena pri digitalni obdelavi slik z združevanjem slikovnih pik v vnaprej določene skupine ali »razrede«. Algoritmi razdelijo sliko v zaporedje omembe vrednih značilnosti, kar zmanjša obremenitev končnega klasifikatorja.
Te lastnosti obveščajo klasifikatorja o pomenu slike in možni klasifikaciji. Ker so preostali procesi pri razvrščanju slike odvisni od tega, je značilna ekstrakcijska metoda najbolj kritična faza.
O podanih podatkov algoritmu je ključnega pomena tudi pri klasifikaciji slik, zlasti pri nadzorovani klasifikaciji. V primerjavi z grozljivim naborom podatkov z neravnovesjem podatkov na podlagi razreda in nizke kakovosti slike in pripisov se dobro optimiziran nabor podatkov o klasifikaciji obnese čudovito.
Klasifikacija slik z uporabo Tensorflow & Keras v pythonu
Uporabili bomo CIFAR-10 nabor podatkov (ki vključuje letala, letala, ptice in drugih 7 stvari).
1. Zahteve za namestitev
Spodnja koda bo namestila vse predpogoje.
2. Uvoz odvisnosti
Ustvarite datoteko train.py v Pythonu. Spodnja koda bo uvozila odvisnosti Tensorflow in Keras.
3. Inicializacija parametrov
CIFAR-10 vključuje samo 10 kategorij slik, zato se število razredov preprosto nanaša na število kategorij, ki jih je treba razvrstiti.
4. Nalaganje nabora podatkov
Funkcija uporablja modul Tensorflow Datasets za nalaganje nabora podatkov, mi pa nastavimo with info na True, da pridobimo nekaj informacij o njem. Lahko ga natisnete, da vidite, katera polja so in njihove vrednosti, mi pa bomo podatke uporabili za pridobitev števila vzorcev v nizih za usposabljanje in testiranje.
5. Izdelava modela
Sedaj bomo zgradili tri plasti, od katerih bo vsaka sestavljena iz dveh ConvNetov s funkcijo maksimalnega združevanja in aktivacijske funkcije ReLU, čemur bo sledil popolnoma povezan sistem s 1024 enotami. V primerjavi z ResNet50 ali Xception, ki sta najsodobnejša modela, je to morda sorazmerno majhen model.
6. Usposabljanje modela
Uporabil sem Tensorboard za merjenje natančnosti in izgube v vsaki epohi ter nam zagotovil čudovit prikaz po uvozu podatkov in generiranju modela. Zaženite naslednjo kodo; odvisno od vašega CPE/GPE bo usposabljanje trajalo nekaj minut.
Če želite uporabiti tensorboard, vnesite naslednji ukaz v terminal ali ukazni poziv v trenutnem imeniku:
Videli boste, da se izguba potrjevanja zmanjšuje, natančnost pa se dvigne na približno 81 %. To je fantastično!
Testiranje modela
Ko je vadba končana, se končni model in uteži shranijo v mapo z rezultati, kar nam omogoča, da vadimo enkrat in dajemo napovedi, kadarkoli se odločimo. Sledite kodi v novi datoteki python z imenom test.py.
7. Uvoz pripomočkov za testiranje
8. Izdelava python imenika
Naredite slovar Python, ki prevede vsako vrednost celega števila v ustrezno oznako nabora podatkov:
9. Nalaganje testnih podatkov in modela
Naslednja koda bo naložila testne podatke in model.
10. Vrednotenje in napovedovanje
Naslednja koda bo ovrednotila slike žab in naredila napovedi.
11. Rezultati
Model je žabo napovedal z 80.62-odstotno natančnostjo.
zaključek
V redu, končali smo s to lekcijo. Čeprav 80.62 % ni dobro za majhen CNN, vam toplo svetujem, da spremenite model ali si ogledate ResNet50, Xception ali druge vrhunske modele za boljše rezultate.
Zdaj, ko ste v Kerasu zgradili svoje prvo omrežje za prepoznavanje slik, bi morali eksperimentirati z modelom, da odkrijete, kako različni parametri vplivajo na njegovo delovanje.
Pustite Odgovori