Мазмуну:

Python аркылуу OpenCV сүрөт классификаторлорун түзүңүз: 7 кадам
Python аркылуу OpenCV сүрөт классификаторлорун түзүңүз: 7 кадам

Video: Python аркылуу OpenCV сүрөт классификаторлорун түзүңүз: 7 кадам

Video: Python аркылуу OpenCV сүрөт классификаторлорун түзүңүз: 7 кадам
Video: Data Science with Python! Extracting Metadata from Images 2024, Июль
Anonim
Python аркылуу OpenCV сүрөт классификаторлорун түзүңүз
Python аркылуу OpenCV сүрөт классификаторлорун түзүңүз

Python жана opencvдеги Haar классификаторлору татаал, бирок оңой иш.

Биз көбүнчө сүрөттөрдү аныктоодо жана классификациялоодо көйгөйлөргө туш болобуз. эң жакшы чечим - бул өзүңүздүн классификаторуңузду түзүү. Бул жерде биз бир нече буйруктар жана узак, бирок жөнөкөй питон программалары менен өзүбүздүн сүрөт классификаторлорубузду жасоону үйрөнөбүз

Классификация көптөгөн терс жана оң сүрөттөрдү талап кылат, негативдер талап кылынган объектини камтыбайт, ал эми позитивдер табылуучу объектти камтыйт.

2000ге жакын негатив жана позитив талап кылынат. Python программасы сүрөттү боз масштабга жана ылайыктуу өлчөмгө айлантат, андыктан классификаторлор түзүү үчүн оптималдуу убакытты алат.

1 -кадам: Программалар талап кылынат

Өз классификаторуңузду түзүү үчүн сизге төмөнкү программалар керек

1) OpenCV: мен колдонгон версия 3.4.2. версия Интернетте оңой жеткиликтүү.

2) Python: 3.6.2 версиясы колдонулат. Python.org сайтынан жүктөп алса болот

Мындан тышкары, сизге веб -камера керек (албетте).

2 -кадам: Сүрөттөрдү жүктөө

Биринчи кадам - классификациялануучу объекттин так сүрөтүн тартуу.

Көлөмү өтө чоң болбошу керек, анткени компьютерди иштетүү үчүн көбүрөөк убакыт талап кылынат. Мен 50 менен 50 өлчөмүн алдым.

Андан кийин биз терс жана оң сүрөттөрдү түшүрөбүз. Сиз аларды интернеттен таба аласыз. Бирок биз "https://image-net.org" дан сүрөттөрдү жүктөө үчүн питон кодун колдонобуз

Андан кийин биз сүрөттөрдү боз масштабга жана кадимки өлчөмгө айландырабыз. Бул кодексте жүзөгө ашырылат. Код ошондой эле ар кандай туура эмес сүрөттү жок кылат

Азырынча сиздин каталог объекттин сүрөтүн камтышы керек, мисалы watch5050-j.webp

Эгерде маалымат папкасы түзүлбөсө, аны кол менен жасаңыз

Python коду.py файлында берилген

3 -кадам: OpenCVде оң үлгүлөрдү түзүү

OpenCVде оң үлгүлөрдү түзүү
OpenCVде оң үлгүлөрдү түзүү
OpenCVде оң үлгүлөрдү түзүү
OpenCVде оң үлгүлөрдү түзүү

Эми opencv_createsamples каталогуна өтүңүз жана жогоруда айтылган бардык мазмунду кошуңуз

Command чакыруусунан C: / opencv342 / build / x64 / vc14 / bin барып, opencv_createsamples жана opencv_traincascade колдонмолорун табыңыз

азыр төмөнкү буйруктарды аткарыңыз

opencv_createsamples -img watch5050-j.webp

Бул буйрук так 1950 объектисинин оң үлгүлөрүн түзүү үчүн жана оң сүрөттөрдүн info.lst сыпаттамасы ушундай болушу керек 0001_0014_0045_0028_0028-j.webp

Азыр папка камтылган

маалымат

нег сүрөттөр папкасы

bg.txt файлы

бош папка

4 -кадам: Позитивдүү вектордук файлды түзүү

Позитивдүү вектордук файлды түзүү
Позитивдүү вектордук файлды түзүү

Эми позитивдүү вектордук файлды түзүңүз, ал оң сүрөттөргө decsription файлына жол ачат

Төмөнкү буйрукту колдонуңуз

opencv_createsamples -info info/info.lst -сана 1950 -w 20 -h 20 -vec позитивдүү.vec

Азырынча каталогдун мазмуну төмөнкүдөй болушу керек:

-жок

---- negimages.jpg

--opencv

--info

-маалыматтар

--positives.vec

--bg.txt

--watch5050-j.webp

5 -кадам: Классификаторду окутуу

Классификаторду окутуу
Классификаторду окутуу
Классификаторду окутуу
Классификаторду окутуу
Классификаторду окутуу
Классификаторду окутуу

Эми haar каскадын үйрөтүп, xml файлын түзөлү

Төмөнкү буйрукту колдонуңуз

opencv_traincascade -маалыматтар -vec Postss.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20

этаптары 10 Этаптарды жогорулатуу көбүрөөк иштетүүнү талап кылат, бирок классификатор кыйла эффективдүү.

Азыр haarcascade түзүлдү Дайындар папкасын ачуу үчүн болжол менен эки саат талап кылынат cascade.xml Бул түзүлгөн классификатор

6 -кадам: классификаторду сыноо

Маалымат папкасы жогоруда сүрөттө көрсөтүлгөндөй файлдарды камтыйт.

Классификатор түзүлгөндөн кийин, классификатор иштеп жатканын же иштебей турганын object_detect.py программасын иштетүү аркылуу көрөбүз. Classifier.xml файлын python каталогуна коюуну унутпаңыз.

7 -кадам: Өзгөчө рахмат

Мен бул жерде улуу Python программисти болгон Sentdexке рахмат айткым келет.

Анын жогоруда аталган аты бар ютубдун аты бар жана мага көп жардам берген видеодо бул шилтеме бар

Коддун көбү sentdexтен көчүрүлгөн. Sentdexтен көп жардам алганыма карабай, мен дагы көптөгөн көйгөйлөргө туш болдум. Мен жөн гана тажрыйбам менен бөлүшкүм келди.

Бул табышмактуу сизге жардам берди деп үмүттөнөм !!! Дагы көп нерселерди күтүп туруңуз.

BR

Тахир Ул Хак

Сунушталууда: