Obsah:
- Krok 1: Je vyžadován software
- Krok 2: Stažení obrázků
- Krok 3: Vytvoření pozitivních vzorků v OpenCV
- Krok 4: Vytvoření pozitivního vektorového souboru
- Krok 5: Školení klasifikátoru
- Krok 6: Testování klasifikátoru
- Krok 7: Zvláštní poděkování
Video: Vytvořte klasifikátory obrázků OpenCV pomocí Pythonu: 7 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Klasifikátory Haar v pythonu a opencv jsou poměrně složité, ale snadné.
Často se potýkáme s problémy v detekci a klasifikaci obrazu. nejlepším řešením je vytvořit si vlastní klasifikátor. Zde se učíme vytvářet vlastní klasifikátory obrázků s několika příkazy a dlouhými, ale jednoduchými pythonovými programy
Klasifikace vyžaduje velký počet negativních a pozitivních obrazů, negativy neobsahují požadovaný objekt, zatímco pozitivy jsou ty, které obsahují detekovaný objekt.
Je vyžadováno asi 2 000 negativů a pozitiv. Program python převádí obrázek na stupně šedi a vhodnou velikost, takže vytváření klasifikátorů zabere optimální čas.
Krok 1: Je vyžadován software
K vytvoření vlastního klasifikátoru potřebujete následující software
1) OpenCV: verze, kterou jsem použil, je 3.4.2. verze je snadno dostupná na internetu.
2) Python: Používá se verze 3.6.2. Lze stáhnout z python.org
Kromě toho potřebujete webovou kameru (samozřejmě).
Krok 2: Stažení obrázků
Prvním krokem je udělat jasný obrázek o předmětu, který má být klasifikován.
Velikost by neměla být příliš velká, protože zpracování počítače trvá delší dobu. Vzal jsem velikost 50 na 50.
Dále stáhneme negativní a pozitivní obrázky. Najdete je na internetu. Ke stahování obrázků z 'https://image-net.org' ale používáme kód pythonu
Dále převedeme obrázky na stupně šedi a na normální velikost. Toto je také implementováno v kódu. Kód také odstraní jakýkoli vadný obrázek
Nyní by váš adresář měl obsahovat obrázek objektu, např. Watch5050-j.webp
Pokud datová složka není vytvořena, proveďte to ručně
Kód pythonu je uveden v souboru.py
Krok 3: Vytvoření pozitivních vzorků v OpenCV
Nyní přejděte do adresáře opencv_createsamples a přidejte veškerý výše uvedený obsah
v příkazové řádce přejděte na C: / opencv342 / build / x64 / vc14 / bin a vyhledejte aplikace opencv_createsamples a opencv_traincascade
nyní proveďte následující příkazy
opencv_createsamples -img watch5050-j.webp
Tento příkaz slouží k vytvoření pozitivních vzorků objektu 1950, aby byly přesné. A popisný soubor info.lst pozitivních obrázků, popis by měl vypadat takto 0001_0014_0045_0028_0028-j.webp
Nyní složka obsahuje
informace
složka s neg obrázky
soubor bg.txt
prázdná datová složka
Krok 4: Vytvoření pozitivního vektorového souboru
Nyní vytvořte soubor pozitivního vektoru, který poskytuje cestu k souboru s popisem pozitivních obrázků
Použijte následující příkaz
opencv_createsamples -info info/info.lst -num 1950 -w 20 -h 20 -vec posatives.vec
Obsah adresáře již musí být následující:
--neg
---- negimages.jpg
--opencv
--info
--data
--positive.vec
--bg.txt
--watch5050-j.webp
Krok 5: Školení klasifikátoru
Nyní můžeme vycvičit kaskádu haarů a vytvořit soubor xml
Použijte následující příkaz
opencv_traincascade -data data -vec pozitiva.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20
etapy jsou 10 Zvýšení fází vyžaduje více zpracování, ale klasifikátor je mnohem efektivnější.
Nyní je vytvořena haarcascade. Dokončení trvá asi dvě hodiny. Otevřete složku s daty, kde najdete cascade.xml Toto je klasifikátor, který byl vytvořen
Krok 6: Testování klasifikátoru
Datová složka obsahuje soubory, jak je znázorněno na obrázku výše.
Po vytvoření klasifikátoru uvidíme, zda klasifikátor funguje nebo ne, spuštěním programu object_detect.py. Nezapomeňte umístit soubor classifier.xml do adresáře python.
Krok 7: Zvláštní poděkování
Chtěl bych poděkovat Sentdexu, který je skvělým programátorem pythonu.
Má jméno na youtube s výše uvedeným jménem a video, které mi hodně pomohlo, má tento odkaz
Většina kódu byla zkopírována ze sentdex. I když si od sentdexu vzal velkou pomoc, stále jsem se potýkal se spoustou problémů. Jen jsem se chtěl podělit o své zkušenosti.
Doufám, že vám tato nestrukturální pomohla !!! Zůstaňte naladěni na další.
BR
Tahir Ul Haq
Doporučuje:
Skener QR kódu pomocí OpenCV v Pythonu: 7 kroků
Skener QR kódů pomocí OpenCV v Pythonu: V dnešním světě vidíme, že QR kód a čárový kód jsou používány téměř všude, od balení produktů po online platby a dnes vidíme QR kódy i v restauraci, abychom viděli menu. teď pochybuji, že je to velká myšlenka. Ale už jste někdy měli
Detekce barev v Pythonu pomocí OpenCV: 8 kroků
Detekce barev v Pythonu pomocí OpenCV: Dobrý den! Tento instruktáž slouží k tomu, jak extrahovat konkrétní barvu z obrázku v pythonu pomocí knihovny openCV. Pokud jste v této technice nováčkem, nebojte se, na konci této příručky budete moci naprogramovat vlastní barvu
Monitorování akcelerace pomocí Raspberry Pi a AIS328DQTR pomocí Pythonu: 6 kroků
Monitorování akcelerace pomocí Raspberry Pi a AIS328DQTR pomocí Pythonu: Podle některých fyzikálních zákonů je akcelerace konečná.- Terry Riley Gepard při pronásledování využívá úžasné zrychlení a rychlé změny rychlosti. Nejrychlejší tvor na břehu jednou za čas využije svého nejvyššího tempa k ulovení kořisti
Jak rozebrat počítač pomocí jednoduchých kroků a obrázků: 13 kroků (s obrázky)
Jak rozebrat počítač pomocí jednoduchých kroků a obrázků: Toto je návod, jak rozebrat počítač. Většina základních komponent je modulární a lze je snadno odstranit. Je však důležité, abyste o tom byli organizovaní. To vám pomůže zabránit ztrátě součástí a také při opětovné montáži
Vytvořte jednoduchý EPUB ze série obrázků: 13 kroků
Vytvořte jednoduchý EPUB ze série obrázků: Toto není technický projekt. Nebudu se zabývat tím, co je EPUB a co EPUB není. Nebudu vám říkat, jak se liší od jiných formátů souborů. EPUB je super cool formát, který lze použít pro mnohem, mnohem víc než publis