Sisällysluettelo:
Video: Luo OpenCV -kuvan luokittelijoita Pythonilla: 7 vaihetta
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Haar -luokittelijat pythonissa ja opencv: ssä on melko hankala, mutta helppo tehtävä.
Meillä on usein ongelmia kuvan havaitsemisessa ja luokittelussa. paras ratkaisu on luoda oma luokittelija. Täällä opimme tekemään omia kuvan luokittelijoita muutamalla komennolla ja pitkillä mutta yksinkertaisilla python -ohjelmilla
Luokittelu vaatii suuren määrän negatiivisia ja positiivisia kuvia, negatiivit eivät sisällä vaadittua kohdetta, kun taas positiiviset sisältävät tunnistettavan kohteen.
Tarvitaan noin 2000 negatiivista ja positiivista. Python -ohjelma muuntaa kuvan harmaasävyiseksi ja sopivan kokoiseksi, jotta luokittelijat luovat optimaalisen ajan.
Vaihe 1: Tarvittavat ohjelmistot
Tarvitset seuraavat ohjelmistot oman luokittelijan luomiseen
1) OpenCV: käyttämäni versio on 3.4.2. versio on helposti saatavilla Internetistä.
2) Python: Käytetty versio on 3.6.2. Voidaan ladata osoitteesta python.org
Lisäksi tarvitset verkkokameran (tietysti).
Vaihe 2: Kuvien lataaminen
Ensimmäinen askel on ottaa selkeä kuva luokiteltavasta kohteesta.
Koko ei saisi olla kovin suuri, koska tietokoneen käsittely kestää kauemmin. Otin kokoa 50 x 50.
Seuraavaksi lataamme negatiiviset ja positiiviset kuvat. Löydät ne verkosta. Mutta käytämme python-koodia kuvien lataamiseen osoitteesta
Seuraavaksi muutamme kuvat harmaasävyiksi ja normaalikokoisiksi. Tämä on otettu käyttöön koodissa. Koodi poistaa myös kaikki vialliset kuvat
Tähän mennessä hakemistossasi pitäisi olla objektikuva (esim. Watch5050-j.webp
Jos tietokansiota ei luoda, tee se manuaalisesti
Python -koodi on.py -tiedostossa
Vaihe 3: Positiivisten näytteiden luominen OpenCV: ssä
Siirry nyt opencv_createsamples -hakemistoon ja lisää kaikki edellä mainittu sisältö
siirry commad -kehotteeseen osoitteeseen C: / opencv342 / build / x64 / vc14 / bin löytääksesi opencv_createsamples- ja opencv_traincascade -sovelluksia
suorita nyt seuraavat komennot
opencv_createsamples -img watch5050-j.webp
Tämä komento on luotu tarkasti objektin 1950 positiivisista näytteistä Ja kuvaustiedoston info.lst positiivisten kuvien kuvauksen tulisi olla seuraavanlainen 0001_0014_0045_0028_0028-j.webp
Nyt kansio sisältää
tietoa
neg kuvat -kansio
bg.txt -tiedosto
tyhjä tietokansio
Vaihe 4: Positiivisen vektoritiedoston luominen
Luo nyt positiivinen vektoritiedosto, joka tarjoaa polun positiivisten kuvien decsription -tiedostoon
Käytä seuraavaa komentoa
opencv_createsamples -info info/info.lst -num 1950 -w 20 -h 20 -vec positiiviset.vec
Tähän mennessä hakemiston sisällön on oltava seuraava:
--neg
---- negimages.jpg
--opencv
--tiedot
--tiedot
--positiiviset.vec
--bg.txt
--watch5050-j.webp
Vaihe 5: Kouluttajan luokittelu
Nyt opetellaan haar -kaskadia ja luodaan xml -tiedosto
Käytä seuraavaa komentoa
opencv_traincascade -datatiedot -vec positiiviset.vec -bg bg.txt -numeroPos 1800 -numeroNeg 900 -luku Vaiheet 10 -w 20 -h 20
Vaiheet ovat 10 Vaiheiden lisääminen vaatii enemmän käsittelyä, mutta luokittelija on paljon tehokkaampi.
Nyt haarcascade on luotu Kestää noin kaksi tuntia. Avaa sieltä datakansio, josta löydät cascade.xml Tämä on luotu
Vaihe 6: Luokittelijan testaaminen
Datakansio sisältää yllä olevan kuvan mukaiset tiedostot.
Luokittelun luomisen jälkeen näemme, toimiiko luokittelija vai ei, suorittamalla object_detect.py -ohjelma. Älä unohda sijoittaa classifier.xml -tiedostoa python -hakemistoon.
Vaihe 7: Erityinen kiitos
Haluan kiittää Sentdexiä täällä, joka on loistava python -ohjelmoija.
Hänellä on youtube -nimi yllä mainitulla nimellä, ja videossa, joka auttoi minua paljon, on tämä linkki
Suurin osa koodista on kopioitu senddexistä. Vaikka sain paljon apua sentdexistä, kohtasin edelleen monia ongelmia. Halusin vain jakaa kokemukseni.
Toivottavasti tämä selittämätön auttoi sinua !!! Pysy kuulolla lisää.
BR
Tahir Ul Haq