Talaan ng mga Nilalaman:
Video: Lumikha ng OpenCV Image Classifiers Paggamit ng Python: 7 Mga Hakbang
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Ang mga haar classifier sa python at opencv ay medyo nakakalito ngunit madaling gawain.
Madalas naming nahaharap ang mga problema sa pagtuklas ng imahe at pag-uuri. ang pinakamahusay na solutio ay upang lumikha ng iyong sariling classifier. Dito natututunan naming gumawa ng aming sariling mga classifier ng imahe na may ilang mga utos at mahaba pa simpleng mga programa ng sawa
Ang pag-uuri ay nangangailangan ng isang malaking bilang ng mga negatibo at positibong imahe negatives ay hindi naglalaman ng kinakailangang object samantalang ang mga positibo ay ang isa na naglalaman ng mga object na nakita.
Mga 2000 na negatibo at positibo ang kinakailangan. Ang programang sawa ay nagko-convert ng imahe sa grayscale at isang angkop na sukat upang ang mga tagapag-uri ay tumatagal ng pinakamainam na oras upang lumikha.
Hakbang 1: Kinakailangan ang Mga Software
Kinakailangan mo ang mga sumusunod na softwares para sa paglikha ng iyong sariling classifier
1) OpenCV: ang bersyon na ginamit ko ay 3.4.2. ang bersyon ay madaling magagamit sa internet.
2) Python: Ang bersyon ay ginamit ay 3.6.2. Maaaring ma-download mula sa python.org
Bukod dito kailangan mo ng isang webcam (syempre).
Hakbang 2: Pag-download ng Mga Larawan
Ang unang hakbang ay kumuha ng isang malinaw na larawan ng bagay na maiuuri.
Ang laki ay hindi dapat napakalaki sapagkat tumatagal ng mas malaking oras para sa proseso ng computer. Kumuha ako ng 50 by 50 size.
Susunod na nai-download namin ang mga negatibo at positibong larawan. Mahahanap mo sila online. Ngunit ginagamit namin ang code ng sawa upang mag-download ng mga imahe mula sa 'https://image-net.org'
Susunod ay binago namin ang mga imahe sa greyscale at sa isang normal na laki. Ito ay ipinatupad sa code. Tinatanggal din ng code ang anumang mali na imahe
Sa ngayon ang iyong direktoryo ay dapat maglaman ng imahe ng object hal. Watch5050-j.webp
Kung ang data folder ay hindi nilikha, gawin ito nang manu-mano
Ang python code ay ibinibigay sa.py file
Hakbang 3: Lumilikha ng Positibong Mga Sampol sa OpenCV
Pumunta ngayon sa direktoryo ng opencv_createsamples at idagdag ang lahat ng nabanggit na nilalaman sa itaas
sa commad prompt pumunta sa C: / opencv342 / build / x64 / vc14 / bin upang makahanap ng opencv_createsamples at opencv_traincascade apps
ipatupad ngayon ang mga sumusunod na utos
opencv_createsamples -img watch5050-j.webp
Ang utos na ito ay para sa paglikha ng mga positibong sample ng object 1950 upang maging tumpak At ang paglalarawan ng file na impormasyon. Una sa mga positibong imahe ang paglalarawan ay dapat na katulad nito 0001_0014_0045_0028_0028-j.webp
Naglalaman ang folder ngayon
impormasyon
folder ng mga imahe neg
file na bg.txt
walang laman na folder ng data
Hakbang 4: Lumilikha ng Positive Vector File
Lumikha ngayon ng positibong vector file na nagbibigay ng landas sa mga positibong imahe ng decsrzava file
Gamitin ang sumusunod na utos
opencv_createsamples -info info / info.lst -num 1950 -w 20 -h 20 -vec positives.vec
Sa ngayon ang mga nilalaman ng direktoryo ay dapat na ang sumusunod:
--neg
---- negimages.jpg
--opencv
--info
--data
--positibo.vec
--bg.txt
--watch5050-j.webp
Hakbang 5: Pagsasanay sa Classifier
Hinahayaan ngayon sanayin ang haar cascade at likhain ang xml file
Gamitin ang sumusunod na utos
opencv_traincascade -data data -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20
yugto ay 10 Ang pagdaragdag ng mga yugto ay tumatagal ng mas maraming pagproseso ngunit ang classifier ay mas mahusay ang paraan.
Ngayon ang haarcascade ay nilikha Tumatagal ng halos dalawang oras upang makumpleto Buksan ang folder ng data doon makikita mo ang cascade.xml Ito ang classifier na nilikha.
Hakbang 6: Pagsubok sa Classifier
Naglalaman ang folder ng data ng mga file tulad ng ipinakita sa imahe sa itaas.
Matapos ang paglikha ng classifier nakikita natin kung gumagana ang classifier o hindi sa pamamagitan ng pagpapatakbo ng object_detect.py program. Huwag kalimutang ilagay ang classifier.xml file sa direktoryo ng sawa.
Hakbang 7: Espesyal na Salamat
Nais kong pasalamatan ang Sentdex dito na isang mahusay na programmer ng sawa.
Mayroon siyang isang pangalan sa youtube na may nabanggit na pangalan at ang video na nakatulong sa akin ng malaki ay may ganitong link
Karamihan sa code ay nakopya mula sa sentdex. Kahit na kumuha ng maraming tulong mula sa sentdex, naharap ko pa rin ang maraming mga problema. Nais ko lamang ibahagi ang aking karanasan.
Inaasahan kong nakatulong ito sa iyo !!! Abangan ang higit pa.
BR
Tahir Ul Haq