On rahustav teadmine, et oleme suutnud robotitesse imbuda meie sünnipärase võimega õppida eeskuju järgi ja tajuda ümbritsevat. Põhiline väljakutse seisneb selles, et arvutite inimeste moodi "nägemise õpetamine" vajaks palju rohkem aega ja vaeva.
Kui aga arvestada praktilist väärtust, mida see oskus praegu organisatsioonidele ja ettevõtetele pakub, on pingutus väärt. Sellest artiklist saate teada piltide klassifitseerimise, selle toimimise ja praktilise rakendamise kohta. Alustagem.
Mis on piltide klassifikatsioon?
Kujutise söötmise töö a Närvivõrgus ja selle pildile mingisuguse sildi väljastamist nimetatakse pildituvastuseks. Võrgu väljundsilt vastab eelnevalt määratletud klassile.
Pildile võib olla määratud mitu klassi või lihtsalt üks. Kui on ainult üks klass, kasutatakse sageli terminit "tuvastus", samas kui kui klasse on mitu, kasutatakse sageli terminit "klassifikatsioon".
Objektide tuvastamine on piltide klassifikatsiooni alamhulk, milles tuvastatakse teatud objektide juhtumid, mis kuuluvad teatud klassi, näiteks loomad, sõidukid või inimesed.
Kuidas piltide klassifitseerimine töötab?
Pikslite kujul olevat pilti analüüsib arvuti. See saavutatakse, käsitledes pilti maatriksite kogumina, mille suuruse määrab pildi eraldusvõime. Lihtsamalt öeldes on piltide klassifitseerimine statistiliste andmete uurimine, kasutades algoritme arvuti vaatenurgast.
Piltide klassifitseerimine toimub digitaalse pilditöötluse käigus, rühmitades pikslid etteantud rühmadesse või "klassidesse". Algoritmid jagavad pildi tähelepanuväärseteks tunnusteks, mis vähendab lõpliku klassifikaatori koormust.
Need omadused annavad klassifikaatorile teavet kujutise tähenduse ja võimaliku klassifikatsiooni kohta. Kuna ülejäänud pildi klassifitseerimise protsessid sõltuvad sellest, on iseloomulik ekstraheerimismeetod kõige kriitilisem faas.
. esitatud andmed Algoritmi järgimine on ülioluline ka kujutiste klassifitseerimisel, eriti järelevalve all. Võrreldes kohutava andmekogumiga, mille andmete tasakaalustamatus põhineb klassil ning madalal pildi- ja annotatsioonikvaliteedil, toimib hästi optimeeritud klassifitseerimisandmekogu imetlusväärselt.
Piltide klassifitseerimine pythonis Tensorflow & Keras abil
Me hakkame kasutama CIFAR-10 andmestik (mis sisaldab lennukeid, lennukeid, linde ja muud 7 asja).
1. Paigaldusnõuded
Allolev kood installib kõik eeltingimused.
2. Sõltuvuste importimine
Looge Pythonis fail train.py. Allolev kood impordib Tensorflow ja Keras sõltuvused.
3. Parameetrite lähtestamine
CIFAR-10 sisaldab vaid 10 pildikategooriat, seega viitab klasside arv lihtsalt klassifitseeritavate kategooriate arvule.
4. Andmestiku laadimine
Funktsioon kasutab andmestiku laadimiseks moodulit Tensorflow Datasets ja selle kohta teabe saamiseks määrame teabega väärtuseks True. Saate selle välja printida, et näha, millised väljad ja nende väärtused on, ning me kasutame seda teavet koolitus- ja testimiskomplektides olevate proovide arvu hankimiseks.
5. Mudeli loomine
Nüüd ehitame kolm kihti, millest igaüks koosneb kahest ConvNet-võrgust, millel on max-pooling ja ReLU aktiveerimise funktsioon, millele järgneb täielikult ühendatud 1024-ühikuline süsteem. Võrreldes ResNet50 või Xceptioniga, mis on tipptasemel mudelid, võib see olla suhteliselt väike mudel.
6. Modelli koolitamine
Kasutasin Tensorboardi, et mõõta täpsust ja kadu igal ajajärgul ning pakkuda meile pärast andmete importimist ja mudeli loomist kena kuva. Käivitage järgmine kood; olenevalt teie CPU-st/GPU-st võtab treenimine mitu minutit.
Tensorboardi kasutamiseks tippige praeguses kataloogis terminali või käsureale järgmine käsk:
Näete, et valideerimise kadu väheneb ja täpsus tõuseb umbes 81% -ni. See on fantastiline!
Mudeli testimine
Kui trenn on lõppenud, salvestatakse lõplik mudel ja raskused tulemuste kausta, mis võimaldab meil ühe korra treenida ja teha ennustusi alati, kui valime. Järgige koodi uues pythoni failis nimega test.py.
7. Utiliitide importimine testimiseks
8. Pythoni kataloogi tegemine
Looge Pythoni sõnastik, mis tõlgib iga täisarvu väärtuse andmestiku sobivaks sildiks:
9. Katseandmete ja mudeli laadimine
Järgmine kood laadib testi andmed ja mudeli.
10. Hindamine ja ennustamine
Järgmine kood hindab konnapilte ja teeb ennustusi.
11. Tulemused
Mudel ennustas konna 80.62% täpsusega.
Järeldus
Olgu, oleme selle õppetunniga lõpetanud. Kuigi 80.62% pole väikese CNN-i jaoks hea, soovitan teil tungivalt mudelit muuta või paremate tulemuste saamiseks vaadata ResNet50, Xceptioni või muid tipptasemel mudeleid.
Nüüd, kui olete Kerases oma esimese pildituvastusvõrgu loonud, peaksite mudeliga katsetama, et teada saada, kuidas erinevad parameetrid selle toimivust mõjutavad.
Jäta vastus