Table of Contents[Ferstopje][Toanje]
- Wat is ôfbyldingsklassifikaasje?
- Hoe wurket ôfbyldingsklassifikaasje?
Ofbyldingsklassifikaasje mei Tensorflow & Keras yn python+-
- 1. Ynstallearje Requirements
- 2. Ymportearje ôfhinklikens
- 3. Inisjalisearjen fan parameters
- 4. It laden fan de dataset
- 5. It meitsjen fan it model
- 6. Training it model
- Testen fan it model
- 7. It ymportearjen fan de nutsbedriuwen foar testen
- 8. It meitsjen fan in python-map
- 9. Laden test gegevens & model
- 10. Evaluaasje & Foarsizzing
- 11. Resultaten
- Konklúzje
It is gerêststellend om te witten dat it ús slagge is om robots mei ús oanberne kapasiteiten troch te jaan om troch foarbyld te learen en har omjouwing te waarnimmen. De fûnemintele útdaging is dejingen dy't kompjûters leare om te "sjen" lykas minsken folle mear tiid en muoite nedich hawwe.
As wy lykwols de praktyske wearde beskôgje dy't dizze feardigens op it stuit leveret oan organisaasjes en bedriuwen, is de ynspanning de muoite wurdich. Yn dit artikel sille jo leare oer ôfbyldingsklassifikaasje, hoe't it wurket en de praktyske ymplemintaasje dêrfan. Litte wy begjinne.
Wat is ôfbyldingsklassifikaasje?
De baan fan feeding in byld yn in neuronale netwurk en it hawwen fan ien of oare foarm fan label foar dy foto is bekend as ôfbyldingsherkenning. It útfierlabel fan it netwurk sil oerienkomme mei in foarôf definieare klasse.
D'r kinne ferskate klassen wurde tawiisd oan 'e foto, of gewoan ien. As d'r mar ien klasse is, wurdt de term "erkenning" faak brûkt, wylst as d'r meardere klassen binne, de term "klassifikaasje" faak brûkt wurdt.
Objektdeteksje is in subset fan ôfbyldingsklassifikaasje wêryn bepaalde eksimplaren fan objekten wurde ûntdutsen as hearrend ta in bepaalde klasse lykas bisten, auto's of minsken.
Hoe wurket ôfbyldingsklassifikaasje?
In ôfbylding yn 'e foarm fan piksels wurdt analysearre troch in kompjûter. It docht dit troch de ôfbylding te behanneljen as in samling matriksen, wêrfan de grutte wurdt bepaald troch de ôfbyldingsresolúsje. Gewoan sprutsen, ôfbyldingsklassifikaasje is de stúdzje fan statistyske gegevens mei algoritmen út it perspektyf fan in kompjûter.
Ofbyldingsklassifikaasje wurdt berikt yn digitale ôfbyldingsferwurking troch piksels te groepearjen yn foarbepaalde groepen, of "klassen". De algoritmen ferdiele it byld yn in opienfolging fan opmerklike skaaimerken, wat de lêst foar de definitive klassifikaasje ferminderet.
Dizze kwaliteiten ynformearje de klassifikaasje oer de betsjutting en potensjele klassifikaasje fan it byld. Om't de rest fan de prosessen by it klassifisearjen fan in byld derfan ôfhinklik binne, is de karakteristike ekstraksjemetoade de meast krityske faze.
De gegevens levere oan it algoritme is ek krúsjaal yn ôfbylding klassifikaasje, benammen tafersjoch klassifikaasje. Yn ferliking mei in skriklike dataset mei gegevens ûnbalâns basearre op klasse en lege byld- en annotaasje kwaliteit, in goed optimalisearre klassifikaasje dataset docht bewûnderenswurdich.
Ofbyldingsklassifikaasje mei Tensorflow & Keras yn python
Wy sille brûke de CIFAR-10 dataset (dy't fleantugen, fleantugen, fûgels en oare 7 dingen omfettet).
1. Ynstallearje Requirements
De koade hjirûnder sil alle betingsten ynstallearje.
2. Ymportearje ôfhinklikens
Meitsje in train.py-bestân yn Python. De koade hjirûnder sil Tensorflow- en Keras-ôfhinklikens ymportearje.
3. Inisjalisearjen fan parameters
CIFAR-10 omfettet mar 10 byldkategoryen, dus num klassen ferwize gewoan nei it oantal kategoryen om te klassifisearjen.
4. It laden fan de dataset
De funksje brûkt de module Tensorflow Datasets om de dataset te laden, en wy sette mei ynfo op Wier om wat ynformaasje deroer te krijen. Jo kinne it útdrukke om te sjen hokker fjilden en har wearden binne, en wy sille de ynfo brûke om it oantal samples yn 'e training- en testsets op te heljen.
5. It meitsjen fan it model
No sille wy trije lagen bouwe, elk besteande út twa ConvNets mei in funksje foar max-pooling en ReLU-aktivearring, folge troch in folslein ferbûn 1024-ienheidsysteem. Yn ferliking mei ResNet50 of Xception, dy't state-of-the-art modellen binne, kin dit in relatyf lyts model wêze.
6. Training it model
Ik brûkte Tensorboard om de krektens en ferlies yn elke epoch te mjitten en ús in prachtige werjefte te jaan nei it ymportearjen fan de gegevens en it generearjen fan it model. Run de folgjende koade; ôfhinklik fan jo CPU / GPU, training sil nimme ferskate minuten.
Om tensorboard te brûken, typ it folgjende kommando yn 'e terminal of kommando-prompt yn' e hjoeddeistige map:
Jo sille sjen dat falidaasjeferlies ferminderet en de krektens nimt ta oant sawat 81%. Dat is fantastysk!
Testen fan it model
As de training klear is, wurde it definitive model en gewichten bewarre yn 'e resultatenmap, wêrtroch't wy ien kear kinne traine en foarsizzings meitsje as wy kieze. Folgje de koade yn in nije python-bestân mei de namme test.py.
7. It ymportearjen fan de nutsbedriuwen foar testen
8. It meitsjen fan in python-map
Meitsje in Python-wurdboek dat elke heule getalwearde oerset nei it passende label fan 'e dataset:
9. Laden test gegevens & model
De folgjende koade sil de testgegevens en model lade.
10. Evaluaasje & Foarsizzing
De folgjende koade sil evaluearje en meitsje foarsizzingen op de kikkertôfbyldings.
11. Resultaten
It model foarsei de kikkert mei 80.62% krektens.
Konklúzje
Okee, wy binne klear mei dizze les. Wylst 80.62% net goed is foar in bytsje CNN, advisearje ik jo sterk om it model te feroarjen of te sjen nei ResNet50, Xception, of oare moderne modellen foar bettere resultaten.
No't jo jo earste ôfbyldingsherkenningsnetwurk yn Keras hawwe boud, moatte jo eksperimintearje mei it model om te ûntdekken hoe't ferskate parameters de prestaasjes beynfloedzje.
Leave a Reply