Përmbajtje[Fshih][Shfaqje]
- Çfarë është klasifikimi i imazhit?
- Si funksionon klasifikimi i imazheve?
Klasifikimi i imazheve duke përdorur Tensorflow & Keras në python+-
- 1. Kërkesat e instalimit
- 2. Varësi importuese
- 3. Inicializimi i parametrave
- 4. Ngarkimi i të dhënave
- 5. Krijimi i modelit
- 6. Trajnimi i modelit
- Testimi i modelit
- 7. Importimi i shërbimeve komunale për testim
- 8. Krijimi i një drejtorie python
- 9. Ngarkimi i të dhënave dhe modelit të testit
- 10. Vlerësimi & Parashikimi
- 11. rezultatet
- Përfundim
Është qetësuese të dimë se ne kemi arritur t'i mbushim robotët me aftësitë tona të lindura për të mësuar me shembull dhe për të perceptuar rrethinën e tyre. Sfida themelore është që ata t'i mësojnë kompjuterët të "shikojnë" si njerëzit do të kishin nevojë për shumë më tepër kohë dhe përpjekje.
Megjithatë, kur marrim parasysh vlerën praktike që kjo aftësi u ofron aktualisht organizatave dhe ndërmarrjeve, përpjekja ia vlen. Në këtë artikull, do të mësoni rreth klasifikimit të imazheve, si funksionon dhe zbatimit të tij praktik. Le të fillojmë.
Çfarë është klasifikimi i imazhit?
Puna e ushqyerjes së një imazhi në a Rrjeti nervoz dhe nxjerrja e një forme etikete për atë foto njihet si njohja e imazhit. Etiketa e daljes së rrjetit do të korrespondojë me një klasë të paracaktuar.
Mund të ketë shumë klasa të caktuara për figurën, ose thjesht një. Kur ka vetëm një klasë, termi "njohje" përdoret shpesh, ndërsa kur ka shumë klasa, termi "klasifikim" përdoret shpesh.
Zbulimi i objekteve është një nëngrup i klasifikimit të fotografive në të cilin raste të veçanta të objekteve zbulohen se i përkasin një klase të caktuar si kafshët, automjetet ose njerëzit.
Si funksionon klasifikimi i imazheve?
Një imazh në formë pikselësh analizohet nga një kompjuter. Ai e realizon këtë duke e trajtuar figurën si një koleksion matricash, madhësia e të cilave përcaktohet nga rezolucioni i imazhit. Thjesht, klasifikimi i fotografive është studimi i të dhënave statistikore duke përdorur algoritme nga këndvështrimi i një kompjuteri.
Klasifikimi i imazhit realizohet në përpunimin dixhital të imazhit duke grupuar pikselët në grupe të paracaktuara ose "klasa". Algoritmet e ndajnë imazhin në një sërë karakteristikash të rëndësishme, gjë që zvogëlon ngarkesën për klasifikuesin përfundimtar.
Këto cilësi informojnë klasifikuesin për kuptimin e imazhit dhe klasifikimin e mundshëm. Për shkak se pjesa tjetër e proceseve në klasifikimin e një fotografie varen prej saj, metoda karakteristike e nxjerrjes është faza më kritike.
La të dhënat e ofruara ndaj algoritmit është gjithashtu vendimtar në klasifikimin e imazheve, veçanërisht në klasifikimin e mbikëqyrur. Në krahasim me një grup të dhënash të tmerrshme me çekuilibër të dhënash bazuar në klasën dhe cilësinë e ulët të figurës dhe shënimit, një grup i të dhënave klasifikimi i optimizuar mirë funksionon në mënyrë të shkëlqyeshme.
Klasifikimi i imazheve duke përdorur Tensorflow & Keras në python
Ne do të përdorim CIFAR-10 grup i të dhënave (që përfshin avionë, aeroplanë, zogj dhe 7 gjëra të tjera).
1. Kërkesat e instalimit
Kodi më poshtë do të instalojë të gjitha parakushtet.
2. Varësi importuese
Krijoni një skedar train.py në Python. Kodi më poshtë do të importojë varësitë Tensorflow dhe Keras.
3. Inicializimi i parametrave
CIFAR-10 përfshin vetëm 10 kategori fotografish, prandaj klasat numerike thjesht i referohen numrit të kategorive për t'u klasifikuar.
4. Ngarkimi i të dhënave
Funksioni përdor modulin Tensorflow Datasets për të ngarkuar grupin e të dhënave dhe ne vendosëm me informacionin në True për të marrë disa informacione rreth tij. Ju mund ta printoni atë për të parë se cilat janë fushat dhe vlerat e tyre, dhe ne do të përdorim informacionin për të tërhequr numrin e mostrave në grupet e trajnimit dhe testimit.
5. Krijimi i modelit
Tani do të ndërtojmë tre shtresa, secila e përbërë nga dy ConvNets me një funksion max-pooling dhe aktivizimi ReLU, e ndjekur nga një sistem plotësisht i lidhur me 1024 njësi. Në krahasim me ResNet50 ose Xception, të cilat janë modele më të fundit, ky mund të jetë një model relativisht i vogël.
6. Trajnimi i modelit
Kam përdorur Tensorboard për të matur saktësinë dhe humbjen në çdo epokë dhe për të na ofruar një ekran të bukur pas importimit të të dhënave dhe gjenerimit të modelit. Drejtoni kodin e mëposhtëm; në varësi të CPU/GPU-së tuaj, trajnimi do të zgjasë disa minuta.
Për të përdorur tensorboard, thjesht shkruani komandën e mëposhtme në terminal ose në vijën e komandës në drejtorinë aktuale:
Do të shihni se humbja e vërtetimit po zvogëlohet dhe saktësia po rritet në rreth 81%. Kjo është fantastike!
Testimi i modelit
Kur mbaron trajnimi, modeli përfundimtar dhe peshat ruhen në dosjen e rezultateve, duke na lejuar të stërvitemi një herë dhe të bëjmë parashikime sa herë që zgjedhim. Ndiqni kodin në një skedar të ri python të quajtur test.py.
7. Importimi i shërbimeve komunale për testim
8. Krijimi i një drejtorie python
Bëni një fjalor Python që përkthen çdo vlerë të plotë në etiketën e duhur të grupit të të dhënave:
9. Ngarkimi i të dhënave dhe modelit të testit
Kodi i mëposhtëm do të ngarkojë të dhënat dhe modelin e provës.
10. Vlerësimi & Parashikimi
Kodi i mëposhtëm do të vlerësojë dhe bëjë parashikime mbi imazhet e bretkosave.
11. rezultatet
Modeli e parashikoi bretkosën me 80.62% saktësi.
Përfundim
Mirë, mbaruam me këtë mësim. Ndërsa 80.62% nuk është e mirë për një CNN të vogël, unë ju këshilloj fuqimisht të ndryshoni modelin ose të shikoni ResNet50, Xception ose modele të tjera të fundit për rezultate më të mira.
Tani që keni ndërtuar rrjetin tuaj të parë të njohjes së imazhit në Keras, duhet të eksperimentoni me modelin për të zbuluar se si parametra të ndryshëm ndikojnë në performancën e tij.
Lini një Përgjigju