Estas trankviligite scii, ke ni sukcesis plenigi robotojn per niaj denaskaj kapabloj lerni per ekzemplo kaj percepti ilian ĉirkaŭaĵon. La fundamenta defio estas tiuj, kiuj instruas komputilojn "vidi" kiel homoj bezonus multe pli da tempo kaj peno.
Tamen, se ni konsideras la praktikan valoron, kiun ĉi tiu kapablo nuntempe provizas al organizoj kaj entreprenoj, la penado valoras. En ĉi tiu artikolo, vi lernos pri bilda klasifiko, kiel ĝi funkcias kaj ĝia praktika efektivigo. Ni komencu.
Kio estas bilda klasifiko?
La tasko nutri bildon en a Neŭra reto kaj havi ĝin eligi iun formon de etikedo por tiu bildo estas konata kiel bildrekono. La produktaĵetikedo de la reto respondas al antaŭdifinita klaso.
Eble estas multaj klasoj asignitaj al la bildo, aŭ simple unu. Kiam ekzistas nur unu klaso, la esprimo "rekono" estas ofte uzita, dum kiam ekzistas pluraj klasoj, la esprimo "klasifiko" estas ofte uzita.
Objekta detekto estas subaro de bildklasifiko en kiu specialaj kazoj de objektoj estas detektitaj kiel apartenantaj al antaŭfiksita klaso kiel ekzemple bestoj, veturiloj aŭ homoj.
Kiel funkcias bilda klasifiko?
Bildo en formo de pikseloj estas analizita per komputilo. Ĝi plenumas tion traktante la bildon kiel kolekton de matricoj, kies grandeco estas determinita per la bildrezolucio. Simple parolante, bildklasifiko estas la studo de statistikaj datenoj utiligantaj algoritmojn de la perspektivo de komputilo.
Bildklasifiko estas plenumita en cifereca bildprilaborado grupigante pikselojn en antaŭdestinitajn grupojn, aŭ "klasojn". La algoritmoj dividas la bildon en sinsekvon de rimarkindaj trajtoj, kiu reduktas la ŝarĝon por la fina klasigilo.
Tiuj kvalitoj informas la klasigilon pri la signifo kaj ebla klasifiko de la bildo. Ĉar la resto de la procezoj en klasifikado de bildo dependas de ĝi, la karakteriza eltira metodo estas la plej kritika fazo.
la datumoj provizitaj al la algoritmo estas ankaŭ decida en bildklasifiko, aparte kontrolita klasifiko. Kompare al terura datumaro kun datummalekvilibro bazita sur klaso kaj malalta bildo kaj komentario kvalito, bone optimumigita klasifika datumaro admirinde funkcias.
Bildklasifiko uzante Tensorflow & Keras en python
Ni uzos la CIFAR-10 datumaro (kiu inkluzivas aviadilojn, aviadilojn, birdojn kaj aliajn 7 aferojn).
1. Instalado de Postuloj
La suba kodo instalos ĉiujn antaŭkondiĉojn.
2. Importi dependecojn
Faru train.py dosieron en Python. La ĉi-suba kodo importos dependecojn de Tensorflow kaj Keras.
3. Inicialigaj parametroj
CIFAR-10 inkluzivas nur 10 bildkategoriojn, tial num-klasoj simple rilatas al la nombro da kategorioj por klasifiki.
4. Ŝargante la datumaron
La funkcio uzas la modulon Tensorflow Datasets por ŝargi la datumaron, kaj ni fiksas kun informoj al Vera por akiri iujn informojn pri ĝi. Vi povas presi ĝin por vidi kiaj kampoj kaj iliaj valoroj estas, kaj ni uzos la informojn por preni la nombron da specimenoj en la trejnado kaj testado.
5. Krei la modelon
Nun ni konstruos tri tavolojn, ĉiu konsistante el du ConvNets kun maksimuma kunigo kaj ReLU-aktiviga funkcio, sekvita de plene ligita 1024-unua sistemo. Kompare al ResNet50 aŭ Xception, kiuj estas pintnivelaj modeloj, ĉi tio povus esti relative eta modelo.
6. Trejnado de la modelo
Mi uzis Tensorboard por mezuri la precizecon kaj perdon en ĉiu epoko kaj provizi al ni belan ekranon post importado de la datumoj kaj generi la modelon. Rulu la sekvan kodon; depende de via CPU/GPU, trejnado daŭros plurajn minutojn.
Por uzi tensorboard, simple tajpu la sekvan komandon en la terminalo aŭ komanda prompto en la nuna dosierujo:
Vi vidos, ke validuma perdo malpliiĝas kaj precizeco pliiĝas al ĉirkaŭ 81%. Tio estas mirinda!
Testi la modelon
Kiam la trejnado estas finita, la fina modelo kaj pezoj estas konservitaj en la dosierujo de rezultoj, permesante al ni trejni unufoje kaj fari antaŭdirojn kiam ajn ni elektas. Sekvu la kodon en nova python-dosiero nomata test.py.
7. Importi la ilojn por testado
8. Farante python-dosierujon
Faru Python-vortaron, kiu tradukas ĉiun entjeran valoron al la taŭga etikedo de la datumaro:
9. Ŝarĝante provajn datumojn & modelon
La sekva kodo ŝarĝos la testajn datumojn kaj modelon.
10. Taksado & Antaŭdiro
La sekva kodo taksos kaj faros antaŭdirojn pri la ranbildoj.
11. Rezulto
La modelo antaŭdiris la ranon kun 80.62% precizeco.
konkludo
Bone, ni finis kun ĉi tiu leciono. Kvankam 80.62% ne estas bona por iom CNN, mi forte konsilas vin ŝanĝi la modelon aŭ rigardi ResNet50, Xception aŭ aliajn avangardajn modelojn por pli bonaj rezultoj.
Nun kiam vi konstruis vian unuan bildan rekonreton en Keras, vi devus eksperimenti kun la modelo por malkovri kiel malsamaj parametroj influas ĝian rendimenton.
Lasi Respondon