Tartalomjegyzék:

OpenCV képosztályozók létrehozása Python használatával: 7 lépés
OpenCV képosztályozók létrehozása Python használatával: 7 lépés

Videó: OpenCV képosztályozók létrehozása Python használatával: 7 lépés

Videó: OpenCV képosztályozók létrehozása Python használatával: 7 lépés
Videó: OpenCV Course - Full Tutorial with Python 2024, Július
Anonim
Hozzon létre OpenCV képosztályozókat Python használatával
Hozzon létre OpenCV képosztályozókat Python használatával

A Haar osztályozók pythonban és opencv -ben meglehetősen trükkös, de könnyű feladat.

Gyakran szembesülünk a képfelismerés és osztályozás problémáival. a legjobb megoldás a saját osztályozó létrehozása. Itt megtanuljuk saját képosztályozókat készíteni néhány paranccsal és hosszú, mégis egyszerű python programokkal

A besorolás nagy számú negatív és pozitív képet igényel, a negatívok nem tartalmazzák a szükséges objektumot, míg a pozitívok tartalmazzák az észlelni kívánt objektumot.

Körülbelül 2000 negatív és pozitív dolog szükséges. A python program a képet szürkeárnyalatossá és megfelelő méretűvé alakítja, így az osztályozók optimális időt vesznek igénybe.

1. lépés: Szoftverek szükségesek

Az alábbi szoftverekre van szüksége saját osztályozójának létrehozásához

1) OpenCV: az i használt verzió a 3.4.2. verziója könnyen elérhető az interneten.

2) Python: A használt verzió a 3.6.2. Letölthető a python.org oldalról

Ezenkívül szükség van egy webkamerára (természetesen).

2. lépés: A képek letöltése

Az első lépés az, hogy világos képet kell készíteni az osztályozandó tárgyról.

A méret nem lehet túl nagy, mivel a számítógép feldolgozása hosszabb időt vesz igénybe. 50-50 -es méretet vettem.

Ezután letöltjük a negatív és pozitív képeket. Megtalálhatja őket az interneten. De a python kódot használva töltünk le képeket a „https://image-net.org” oldalról

Ezután a képeket szürkeárnyalatosra és normál méretűre konvertáljuk. Ezt végre is hajtják a kódban. A kód eltávolítja a hibás képeket is

A könyvtárnak mostanáig tartalmaznia kell az objektumképet, pl. Watch5050-j.webp

Ha az adatmappa nem jön létre, akkor manuálisan kell elvégezni

A python kód a.py fájlban található

3. lépés: Pozitív minták létrehozása OpenCV -ben

Pozitív minták létrehozása OpenCV -ben
Pozitív minták létrehozása OpenCV -ben
Pozitív minták létrehozása OpenCV -ben
Pozitív minták létrehozása OpenCV -ben

Most lépjen az opencv_createsamples könyvtárba, és adja hozzá az összes fent említett tartalmat

a Commad parancssorban lépjen a C: / opencv342 / build / x64 / vc14 / bin címre, hogy megtalálja az opencv_createsamples és az opencv_traincascade alkalmazásokat

most hajtsa végre a következő parancsokat

opencv_createsamples -img watch5050-j.webp

Ez a parancs pontos az 1950 -es objektum pozitív mintáinak létrehozásához. A leíró fájl info.lst. A pozitív képek leírásának ilyennek kell lennie. 0001_0014_0045_0028_0028-j.webp

Most a mappa tartalmazza

info

neg képek mappa

bg.txt fájl

üres adatmappa

4. lépés: Pozitív vektorfájl létrehozása

Pozitív vektor fájl létrehozása
Pozitív vektor fájl létrehozása

Most hozza létre a pozitív vektorfájlt, amely megadja a leírás fájl pozitív képeinek elérési útját

Használja a következő parancsot

opencv_createsamples -info info/info.lst -1950. szám 20 -h 20 -h 20 -vec pozitiv.vec

Eddig a könyvtár tartalmának a következőnek kell lennie:

--neg

---- negimages.jpg

--opencv

--info

--adat

--pozitív.vec

--bg.txt

--watch5050-j.webp

5. lépés: Az osztályozó betanítása

Az osztályozó képzése
Az osztályozó képzése
Az osztályozó képzése
Az osztályozó képzése
Az osztályozó képzése
Az osztályozó képzése

Most tanítsuk meg a haar kaszkádot, és hozzuk létre az xml fájlt

Használja a következő parancsot

opencv_traincascade -adatadatok -vec pozitiv.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStage 10 -w 20 -h 20

szakaszok 10 A szakaszok növelése több feldolgozást igényel, de az osztályozó sokkal hatékonyabb.

Most létrejön a haarcascade Körülbelül két óra alatt elkészül Nyissa meg az adatmappát, ahol megtalálja a cascade.xml Ezt az osztályozót

6. lépés: Az osztályozó tesztelése

Az adatmappa a fenti képen látható fájlokat tartalmazza.

Az osztályozó létrehozása után az object_detect.py program futtatásával láthatjuk, hogy az osztályozó működik -e vagy sem. Ne felejtse el elhelyezni a classifier.xml fájlt a python könyvtárban.

7. lépés: Külön köszönet

Szeretném megköszönni Sentdexnek, aki nagyszerű python programozó.

Van egy youtube neve a fent említett névvel, és a videó, amely sokat segített nekem, ezen a linken található:

A kód nagy része a sentdex -ből lett másolva. Bár sok segítséget kaptam a sentdextől, sok problémával szembesültem. Csak a tapasztalataimat akartam megosztani.

Remélem segített neked ez az áttekinthetetlen !!! Maradjon velünk.

BR

Tahir Ul Haq

Ajánlott: