Sadržaj:
- Korak 1: Potreban softver
- Korak 2: Preuzimanje slika
- Korak 3: Kreiranje pozitivnih uzoraka u OpenCV -u
- Korak 4: Stvaranje pozitivne vektorske datoteke
- Korak 5: Obuka klasifikatora
- Korak 6: Testiranje klasifikatora
- Korak 7: Posebno hvala
Video: Kreiranje OpenCV klasifikatora slika pomoću Pythona: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Haar klasifikatori u pythonu i opencvu prilično su škakljiv, ali lak zadatak.
Često se suočavamo s problemima u otkrivanju i klasifikaciji slika. najbolje rješenje je stvoriti vlastiti klasifikator. Ovdje učimo napraviti vlastite klasifikatore slika s nekoliko naredbi i dugim, ali jednostavnim programima za python
Klasifikacija zahtijeva veliki broj negativnih i pozitivnih slika. Negativi ne sadrže traženi objekt, dok su pozitivni oni koji sadrže objekt koji treba otkriti.
Potrebno je oko 2000 negativa i pozitiva. Program Python pretvara sliku u nijanse sive i odgovarajuće veličine tako da klasifikatorima treba optimalno vrijeme za stvaranje.
Korak 1: Potreban softver
Za izradu vlastitog klasifikatora potreban vam je sljedeći softver
1) OpenCV: verzija koju sam koristio je 3.4.2. verzija je lako dostupna na internetu.
2) Python: Koristi se verzija 3.6.2. Može se preuzeti sa python.org
Štaviše, potrebna vam je web kamera (naravno).
Korak 2: Preuzimanje slika
Prvi korak je snimiti jasnu sliku objekta koji se klasificira.
Veličina ne bi trebala biti velika jer računaru treba više vremena za obradu. Uzeo sam dimenzije 50 na 50.
Zatim preuzimamo negativne i pozitivne slike. Možete ih pronaći na internetu. Ali koristimo python kod za preuzimanje slika sa 'https://image-net.org'
Zatim slike pretvaramo u nijanse sive i u normalnu veličinu. Ovo je također implementirano u kod. Kod takođe uklanja sve neispravne slike
Do sada bi vaš direktorij trebao sadržavati sliku objekta, npr. Watch5050-j.webp
Ako mapa s podacima nije stvorena, učinite to ručno
Python kôd se nalazi u.py datoteci
Korak 3: Kreiranje pozitivnih uzoraka u OpenCV -u
Sada idite u direktorij opencv_createsamples i dodajte sav gore spomenuti sadržaj
u naredbenom retku idite na C: / opencv342 / build / x64 / vc14 / bin da pronađete opencv_createsamples i opencv_traincascade aplikacije
sada izvršite sljedeće naredbe
opencv_createsamples -img watch5050-j.webp
Ova naredba služi za stvaranje pozitivnih uzoraka objekta 1950. Tačnije. Opisna datoteka info.lst pozitivnih slika opis bi trebao biti ovakav 0001_0014_0045_0028_0028-j.webp
Sada mapa sadrži
info
neg folder sa slikama
bg.txt datoteka
prazna mapa s podacima
Korak 4: Stvaranje pozitivne vektorske datoteke
Sada kreirajte pozitivnu vektorsku datoteku koja pruža put do pozitivnih slika u datoteci za opis
Koristite sljedeću naredbu
opencv_createsamples -info info/info.lst -broj 1950 -w 20 -h 20 -vec positives.vec
Sadržaj direktorija do sada mora biti sljedeći:
--neg
---- negimages.jpg
--opencv
--info
--data
--positives.vec
--bg.txt
--watch5050-j.webp
Korak 5: Obuka klasifikatora
Sada hajde da istreniramo haar kaskadu i kreiramo xml datoteku
Koristite sljedeću naredbu
opencv_traincascade -podaci podataka -vec pozitivi.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20
Faze su 10 Povećanje faza zahtijeva više obrade, ali je klasifikator mnogo efikasniji.
Sada je kreirana haarcascade Potrebno je oko dva sata da dovršite. Otvorite mapu s podacima tamo ćete pronaći cascade.xml Ovo je klasifikator koji je kreiran
Korak 6: Testiranje klasifikatora
Mapa sa podacima sadrži datoteke kako je prikazano na gornjoj slici.
Nakon kreiranja klasifikatora vidimo da li klasifikator radi ili ne pokretanjem programa object_detect.py. Ne zaboravite postaviti datoteku classicfier.xml u direktorij python.
Korak 7: Posebno hvala
Želeo bih da se zahvalim Sentdexu koji je odličan programer za python.
Ima ime na youtube -u sa gore navedenim imenom, a video koji mi je puno pomogao ima ovu vezu
Većina koda je kopirana sa sentdex -a. Iako sam primio veliku pomoć od senddexa, ipak sam se suočio s mnogo problema. Samo sam htjela podijeliti svoje iskustvo.
Nadam se da vam je ovo neumoljivo pomoglo !!! Pratite nas za još.
BR
Tahir Ul Haq
Preporučuje se:
Prepoznavanje lica i identifikacija - Arduino Face ID pomoću OpenCV Pythona i Arduina .: 6 koraka
Prepoznavanje lica i identifikacija | Arduino Face ID koristeći OpenCV Python i Arduino .: Prepoznavanje lica AKA Face ID jedna je od najvažnijih značajki na mobilnim telefonima u današnje vrijeme. Dakle, imao sam pitanje "mogu li imati identifikacijski broj lica za svoj Arduino projekt" i odgovor je da … Moje putovanje je počelo ovako: Korak 1: Pristup nama
Kreiranje-upozorenje-pomoću-Ubidots-ESP32+Senzor temperature i vlažnosti: 9 koraka
Kreiranje-Upozorenje-Upotreba-Ubidots-ESP32+Senzor temperature i vlažnosti: U ovom vodiču ćemo mjeriti različite podatke o temperaturi i vlažnosti zraka pomoću senzora za temperaturu i vlažnost. Naučit ćete i kako poslati te podatke na Ubidots. Tako da ga možete analizirati s bilo kojeg mjesta za različite aplikacije. Također stvaranjem e -pošte
Kreiranje bloga pomoću Blogger.com: 19 koraka
Kreiranje bloga pomoću Blogger.com: Sljedeća uputstva će vam pokazati kako napraviti blog pomoću Blogger.com. Za korištenje Blogger.com potrebna vam je Google adresa e -pošte
Nadgledanje ubrzanja pomoću Raspberry Pi i AIS328DQTR pomoću Pythona: 6 koraka
Nadgledanje ubrzanja pomoću Raspberry Pi i AIS328DQTR Korištenje Pythona: Ubrzanje je konačno, mislim prema nekim zakonima fizike.- Terry Riley Gepard koristi nevjerojatno ubrzanje i brze promjene brzine pri jurenju. Najbrže stvorenje s vremena na vrijeme iskoristi svoj najveći tempo za hvatanje plijena
Kreiranje upozorenja e-poštom o NCD bežičnom senzoru temperature i vlažnosti pomoću Node-Red-a: 22 koraka
Kreiranje upozorenja e-poštom o NCD bežičnom senzoru temperature i vlažnosti pomoću Node-Red: Ovdje koristimo NCD-ov senzor temperature i vlažnosti, ali koraci ostaju jednaki za bilo koji od ncd proizvoda, pa ako imate druge ncd bežične senzore, slobodno posmatrajte pored pored. Zaustavljanjem ovog teksta morate