Агуулгын хүснэгт:

Python ашиглан OpenCV дүрс ангилагч үүсгэ: 7 алхам
Python ашиглан OpenCV дүрс ангилагч үүсгэ: 7 алхам

Видео: Python ашиглан OpenCV дүрс ангилагч үүсгэ: 7 алхам

Видео: Python ашиглан OpenCV дүрс ангилагч үүсгэ: 7 алхам
Видео: Data Science with Python! Extracting Metadata from Images 2024, Арваннэгдүгээр
Anonim
Python ашиглан OpenCV дүрс ангилагч үүсгэ
Python ашиглан OpenCV дүрс ангилагч үүсгэ

Python болон opencv хэл дээрх Haar ангилагчид нь нэлээд төвөгтэй боловч хялбар ажил юм.

Бид дүрсийг илрүүлэх, ангилах асуудалтай тулгардаг. Хамгийн сайн шийдэл бол өөрийн ангилагчийг бий болгох явдал юм. Эндээс бид хэд хэдэн команд, урт боловч энгийн питон програмуудаар өөрсдийн дүрсийг ангилагч хийж сурдаг

Ангилал нь олон тооны сөрөг ба эерэг зургуудыг шаарддаг бөгөөд сөрөг нь шаардлагатай объектыг агуулдаггүй бол эерэг нь илрүүлэх объектыг агуулсан зураг юм.

2000 орчим сөрөг ба эерэг шаардлагатай. Питон програм нь зургийг саарал, тохиромжтой хэмжээтэй болгож хөрвүүлдэг тул ангилагчдыг үүсгэхэд хамгийн тохиромжтой цаг зарцуулдаг.

Алхам 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 лавлах руу ороод дээр дурдсан бүх агуулгыг нэмнэ үү

командын мөрөнд 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

Одоо фолдерт агуулагдаж байна

мэдээлэл

neg зургийн хавтас

bg.txt файл

хоосон мэдээллийн хавтас

Алхам 4: Эерэг вектор файл үүсгэх

Эерэг вектор файл үүсгэх
Эерэг вектор файл үүсгэх

Одоо эерэг дүрсийг тайлах файлын замыг өгдөг эерэг вектор файлыг үүсгэнэ үү

Дараах тушаалыг ашиглана уу

opencv_createsamples -info info/info.lst -тоо 1950 -w 20 -h 20 -vec эерэгs.vec

Одоогийн байдлаар лавлахын агуулга дараах байдалтай байх ёстой.

-үгүй

---- negimages.jpg

-нээлттэй

-мэдээлэл

-өгөгдөл

-эерэг.vec

-bt.txt

--watch5050-j.webp

Алхам 5: Ангилагчийг сургах

Ангилагчийг сургах
Ангилагчийг сургах
Ангилагчийг сургах
Ангилагчийг сургах
Ангилагчийг сургах
Ангилагчийг сургах

Одоо haar cascade -ийг сургаж, xml файл үүсгэе

Дараах тушаалыг ашиглана уу

opencv_traincascade -data data -vec эерэгs.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: онцгой баярлалаа

Агуу питон програмист Sentdex -т баярлалаа гэж хэлмээр байна.

Тэр дээр дурдсан нэртэй youtube нэртэй бөгөөд надад маш их тусалсан видео энэ линктэй байна

Ихэнх кодыг sentdex -ээс хуулж авсан болно. Хэдийгээр sentdex -ээс маш их тусламж авсан ч надад олон асуудал тулгарсан хэвээр байна. Би туршлагаа хуваалцахыг хүссэн юм.

Энэхүү өгөгдөл танд тусалсан гэж найдаж байна !!! Илүү ихийг хүлээж байгаарай.

BR

Тахир Ул Хак

Зөвлөмж болгож буй: