Sadržaj:

Kreiranje OpenCV klasifikatora slika pomoću Pythona: 7 koraka
Kreiranje OpenCV klasifikatora slika pomoću Pythona: 7 koraka

Video: Kreiranje OpenCV klasifikatora slika pomoću Pythona: 7 koraka

Video: Kreiranje OpenCV klasifikatora slika pomoću Pythona: 7 koraka
Video: Python! Converting HEIC Images to PNG or JPG 2024, Novembar
Anonim
Kreirajte OpenCV klasifikatore slika pomoću Pythona
Kreirajte OpenCV klasifikatore slika pomoću Pythona

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

Kreiranje pozitivnih uzoraka u OpenCV -u
Kreiranje pozitivnih uzoraka u OpenCV -u
Kreiranje pozitivnih uzoraka u OpenCV -u
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

Stvaranje pozitivne vektorske datoteke
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

Obuka klasifikatora
Obuka klasifikatora
Obuka klasifikatora
Obuka klasifikatora
Obuka klasifikatora
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: