Sisukord:
- Samm: nõutavad tarkvarad
- Samm: piltide allalaadimine
- 3. samm: positiivsete proovide loomine OpenCV -s
- Samm: positiivse vektorfaili loomine
- Samm: klassifikaatori koolitamine
- 6. samm: klassifikaatori testimine
- Samm: eriline tänu
Video: Looge OpenCV pildiklassifikaatorid Pythoni abil: 7 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:50
Haari klassifikaatorid pythonis ja opencv -is on üsna keeruline, kuid lihtne ülesanne.
Sageli seisame silmitsi piltide tuvastamise ja klassifitseerimise probleemidega. parim lahendus on luua oma klassifikaator. Siin õpime mõne käsu ja pikkade, kuid lihtsate python -programmide abil oma pildiklassifikaatoreid tegema
Klassifikatsioon nõuab suurt hulka negatiivseid ja positiivseid pilte, negatiivid ei sisalda nõutavat objekti, samas kui positiivsed on need, mis sisaldavad tuvastatavat objekti.
Vaja on umbes 2000 negatiivset ja positiivset. Python programm muudab pildi halltoonideks ja sobiva suurusega, nii et klassifikaatorite loomine võtab optimaalse aja.
Samm: nõutavad tarkvarad
Oma klassifikaatori loomiseks vajate järgmisi tarkvara
1) OpenCV: minu kasutatav versioon on 3.4.2. versioon on Internetis hõlpsasti kättesaadav.
2) Python: kasutatakse versiooni 3.6.2. Saab alla laadida saidilt python.org
Lisaks vajate veebikaamerat (muidugi).
Samm: piltide allalaadimine
Esimene samm on klassifitseeritava objekti selge pildi tegemine.
Suurus ei tohiks olla väga suur, kuna arvuti töötlemine võtab rohkem aega. Võtsin 50x50 suuruse.
Järgmisena laadime alla negatiivsed ja positiivsed pildid. Neid leiate Internetist. Kuid piltide allalaadimiseks saidilt https://image-net.org kasutame püütoni koodi
Järgmisena teisendame pildid halltoonideks ja normaalsuuruseks. See on koodis rakendatud. Kood eemaldab ka kõik vigased pildid
Nüüdseks peaks teie kataloog sisaldama objekti pilti, nt watch5050-j.webp
Kui andmekausta ei looda, tehke seda käsitsi
Python -kood on.py -failis
3. samm: positiivsete proovide loomine OpenCV -s
Nüüd minge kataloogi opencv_createsamples ja lisage kogu ülaltoodud sisu
minge komadaviibal aadressile C: / opencv342 / build / x64 / vc14 / bin, et leida rakendusi opencv_createsamples ja opencv_traincascade
täitke nüüd järgmised käsud
opencv_createsamples -img watch5050-j.webp
See käsk on täpse objekti 1950 positiivsete näidiste loomiseks Ja kirjeldusfaili info.lst positiivsete piltide kirjeldus peaks olema selline 0001_0014_0045_0028_0028-j.webp
Nüüd sisaldab kaust
info
neg piltide kaust
fail bg.txt
tühi andmekaust
Samm: positiivse vektorfaili loomine
Nüüd looge positiivne vektorfail, mis pakub teed positiivsete piltide dekriptsioonifaili juurde
Kasutage järgmist käsku
opencv_createsamples -info info/info.lst -num 1950 -w 20 -h 20 -vec positiivsed.vec
Praeguseks peab kataloogi sisu olema järgmine:
--neg
---- negimages.jpg
--opencv
--info
--andmed
--positiivsed.vec
--bg.txt
--watch5050-j.webp
Samm: klassifikaatori koolitamine
Nüüd treenime haar kaskaadi ja loome xml -faili
Kasutage järgmist käsku
opencv_traincascade -andmete andmed -vec positiivsed.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStage 10 -w 20 -h 20
etappe on 10 Etappide suurendamine võtab rohkem tööd, kuid klassifikaator on palju tõhusam.
Nüüd on haarcascade loodud Kulub umbes kaks tundi. Avage andmekaust, kust leiate cascade.xml See on loodud klassifikaator
6. samm: klassifikaatori testimine
Andmete kaust sisaldab ülaltoodud pildil näidatud faile.
Pärast klassifikaatori loomist näeme, kas klassifikaator töötab või mitte, käivitades programmi object_detect.py. Ärge unustage paigutada faili classifier.xml kataloogi python.
Samm: eriline tänu
Tahaksin siinkohal tänada Sentdexi, kes on suurepärane püütoniprogrammeerija.
Tal on ülalnimetatud nimega YouTube'i nimi ja mind palju aidanud videol on see link
Suurem osa koodist on kopeeritud senddexist. Kuigi sain palju abi senddexist, seisin silmitsi paljude probleemidega. Tahtsin lihtsalt oma kogemust jagada.
Loodan, et see arusaamatu aitas teid !!! Olge rohkem kursis.
BR
Tahir Ul Haq
Soovitan:
Näotuvastus ja tuvastamine - Arduino näotuvastus OpenCV Pythoni ja Arduino abil .: 6 sammu
Näotuvastus ja tuvastamine | Arduino näotuvastus OpenCV Pythoni ja Arduino abil .: Näotuvastus AKA näo ID on tänapäeval üks olulisemaid funktsioone mobiiltelefonides. Niisiis, mul tekkis küsimus " kas ma saan oma Arduino projekti jaoks näo -id " ja vastus on jaatav … Minu teekond algas järgmiselt: 1. samm: juurdepääs meile
Orienteerumise õppimine Raspberry Pi ja MXC6226XU abil Pythoni abil: 6 sammu
Orienteerumise õppimine Raspberry Pi ja MXC6226XU abil Pythoni kasutamine: mürad on lihtsalt osa sõiduki töötamisest. Väga häälestatud sõidukimootori sumin on suurepärane heli. Rehvimustrid nurisevad vastu teed, tuul karjub peeglite, plastkildude ja armatuurlaua ümber liikudes
Kiirenduse jälgimine Raspberry Pi ja AIS328DQTR abil Pythoni abil: 6 sammu
Kiirenduse jälgimine Raspberry Pi ja AIS328DQTR abil Pythoni kasutamine: Kiirendus on piiratud, ma arvan, et mõne füüsikaseaduse kohaselt.- Terry Riley Gepard kasutab jälitamisel hämmastavat kiirendust ja kiireid kiiruse muutusi. Kiireim olend kaldal kasutab aeg -ajalt oma tipptempot saagi püüdmiseks
Kiirenduse variatsioonide jälgimine Raspberry Pi ja MMA7455 abil Pythoni abil: 6 sammu
Kiirenduse variatsioonide jälgimine Raspberry Pi ja MMA7455 abil Pythoni abil: ma ei komistanud, vaid testisin gravitatsiooni. See töötab endiselt … Kiirendava kosmosesüstiku esitus selgitas, et süstiku kõrgeimas punktis olev kell valib gravitatsioonilise aja laienemise tõttu kiiremini kui baasi. Mõned
Looge oma juurdepääsukontroll palun-open.it abil: 4 sammu
Ehitage oma juurdepääsukontroll saidiga Please-open.it: Please-open.it asub Prantsusmaal ja oleme selle projektiga täistööajaga. Soovime, et ettevõtted (hotellid, kämpingud, jaamad, rent…) saaksid paindlikumaid lahendusi ja loomulikult madalama hinnaga. Ühendage kõik sisemised andmed (kohtumine