Pregled sadržaja[Sakriti][Pokazati]
- Što je klasifikacija slika?
- Kako funkcionira klasifikacija slika?
Klasifikacija slika pomoću Tensorflowa i Kerasa u pythonu+-
- 1. Zahtjevi za instalaciju
- 2. Uvoz ovisnosti
- 3. Inicijaliziranje parametara
- 4. Učitavanje skupa podataka
- 5. Izrada modela
- 6. Uvježbavanje modela
- Ispitivanje modela
- 7. Uvoz uslužnih programa za testiranje
- 8. Izrada python direktorija
- 9. Učitavanje testnih podataka i modela
- 10. Evaluacija i predviđanje
- 11. Rezultati
- Zaključak
Utješno je znati da smo robote uspjeli prožeti našim urođenim sposobnostima da uče vlastitim primjerom i percipiraju svoju okolinu. Temeljni izazov je da bi onima koji poučavaju računala da "vide" poput ljudi trebalo mnogo više vremena i truda.
Međutim, kada uzmemo u obzir praktičnu vrijednost koju ova vještina trenutno pruža organizacijama i poduzećima, trud se isplati. U ovom ćete članku naučiti o klasifikaciji slika, kako funkcionira i njezinoj praktičnoj primjeni. Započnimo.
Što je klasifikacija slika?
Posao ubacivanja slike u a neuronska mreža a njegovo ispisivanje nekog oblika oznake za tu sliku poznato je kao prepoznavanje slike. Izlazna oznaka mreže odgovarat će unaprijed definiranoj klasi.
Slici mogu biti dodijeljene brojne klase ili jednostavno jedna. Kada postoji samo jedna klasa, često se koristi izraz "prepoznavanje", dok kada postoji više klasa, često se koristi termin "klasifikacija".
Otkrivanje predmeta je podskup klasifikacije slika u kojem se otkriva da određeni objekti pripadaju određenoj klasi kao što su životinje, vozila ili ljudi.
Kako funkcionira klasifikacija slika?
Sliku u obliku piksela analizira računalo. To postiže tretirajući sliku kao skup matrica, čija je veličina određena razlučivošću slike. Jednostavno govoreći, klasifikacija slika je proučavanje statističkih podataka koji koriste algoritme iz perspektive računala.
Klasifikacija slike postiže se u digitalnoj obradi slike grupiranjem piksela u unaprijed određene grupe ili "klase". Algoritmi dijele sliku u niz značajki vrijednih pažnje, što smanjuje opterećenje konačnog klasifikatora.
Ove kvalitete informiraju klasifikatora o značenju slike i potencijalnoj klasifikaciji. Budući da ostali procesi u klasifikaciji slike ovise o tome, metoda izdvajanja karakteristika je najkritičnija faza.
Korištenje električnih romobila ističe dostavljeni podaci algoritmu također je ključan u klasifikaciji slika, posebno nadziranoj klasifikaciji. U usporedbi s užasnim skupom podataka s neuravnoteženošću podataka temeljenom na klasi i niskoj kvaliteti slike i komentara, dobro optimiziran skup podataka o klasifikaciji ima izvanredne rezultate.
Klasifikacija slika pomoću Tensorflowa i Kerasa u pythonu
Koristit ćemo se CIFAR-10 skup podataka (koji uključuje zrakoplove, avione, ptice i ostalih 7 stvari).
1. Zahtjevi za instalaciju
Kod u nastavku će instalirati sve preduvjete.
2. Uvoz ovisnosti
Napravite datoteku train.py u Pythonu. Kod u nastavku uvest će Tensorflow i Keras ovisnosti.
3. Inicijaliziranje parametara
CIFAR-10 uključuje samo 10 kategorija slika, stoga se broj klasa jednostavno odnosi na broj kategorija koje treba klasificirati.
4. Učitavanje skupa podataka
Funkcija koristi modul Tensorflow Datasets za učitavanje skupa podataka, a mi postavljamo s info na True kako bismo dobili neke informacije o njemu. Možete ga ispisati da biste vidjeli koja su polja i njihove vrijednosti, a mi ćemo iskoristiti informacije za dohvaćanje broja uzoraka u skupovima za obuku i testiranje.
5. Izrada modela
Sada ćemo izgraditi tri sloja, od kojih se svaki sastoji od dva ConvNeta s funkcijom max-pooling i ReLU aktivacije, nakon čega slijedi potpuno povezani sustav od 1024 jedinice. U usporedbi s ResNet50 ili Xception, koji su vrhunski modeli, ovo bi mogao biti relativno malen model.
6. Uvježbavanje modela
Koristio sam Tensorboard za mjerenje točnosti i gubitaka u svakoj epohi i pružio nam lijep prikaz nakon uvoza podataka i generiranja modela. Pokrenite sljedeći kod; ovisno o vašem CPU/GPU-u, obuka će trajati nekoliko minuta.
Da biste koristili tensorboard, samo upišite sljedeću naredbu u terminal ili naredbeni redak u trenutnom direktoriju:
Vidjet ćete da se gubitak valjanosti smanjuje, a točnost raste na oko 81%. To je fantastično!
Ispitivanje modela
Kada je trening gotov, konačni model i težine spremaju se u mapu s rezultatima, što nam omogućuje da treniramo jednom i dajemo predviđanja kad god želimo. Slijedite kod u novoj python datoteci pod nazivom test.py.
7. Uvoz uslužnih programa za testiranje
8. Izrada python direktorija
Napravite Python rječnik koji prevodi svaku vrijednost cijelog broja u odgovarajuću oznaku skupa podataka:
9. Učitavanje testnih podataka i modela
Sljedeći kod će učitati testne podatke i model.
10. Evaluacija i predviđanje
Sljedeći kod će procijeniti i napraviti predviđanja na slikama žabe.
11. Rezultati
Model je predvidio žabu s 80.62% točnosti.
Zaključak
U redu, završili smo s ovom lekcijom. Iako 80.62% nije dobro za mali CNN, toplo vam savjetujem da promijenite model ili pogledate ResNet50, Xception ili druge vrhunske modele za bolje rezultate.
Sada kada ste izgradili svoju prvu mrežu za prepoznavanje slika u Kerasu, trebali biste eksperimentirati s modelom kako biste otkrili kako različiti parametri utječu na njegovu izvedbu.
Ostavi odgovor