সুচিপত্র:

পাইথন ব্যবহার করে ওপেনসিভি ইমেজ ক্লাসিফায়ার তৈরি করুন: 7 টি ধাপ
পাইথন ব্যবহার করে ওপেনসিভি ইমেজ ক্লাসিফায়ার তৈরি করুন: 7 টি ধাপ

ভিডিও: পাইথন ব্যবহার করে ওপেনসিভি ইমেজ ক্লাসিফায়ার তৈরি করুন: 7 টি ধাপ

ভিডিও: পাইথন ব্যবহার করে ওপেনসিভি ইমেজ ক্লাসিফায়ার তৈরি করুন: 7 টি ধাপ
ভিডিও: Computer Vision with Python! Resizing Images 2024, নভেম্বর
Anonim
পাইথন ব্যবহার করে ওপেনসিভি ইমেজ ক্লাসিফায়ার তৈরি করুন
পাইথন ব্যবহার করে ওপেনসিভি ইমেজ ক্লাসিফায়ার তৈরি করুন

পাইথন এবং ওপেনসিভিতে হার ক্লাসিফায়ারগুলি বরং জটিল কিন্তু সহজ কাজ।

আমরা প্রায়ই ইমেজ সনাক্তকরণ এবং শ্রেণিবিন্যাসে সমস্যার সম্মুখীন হই। সেরা সমাধানটি হল আপনার নিজের ক্লাসিফায়ার তৈরি করা। এখানে আমরা কয়েকটি কমান্ড এবং দীর্ঘ অথচ সহজ পাইথন প্রোগ্রাম দিয়ে আমাদের নিজস্ব ইমেজ ক্লাসিফায়ার করতে শিখি

শ্রেণিবিন্যাসের জন্য প্রয়োজন বিপুল সংখ্যক নেতিবাচক এবং ইতিবাচক চিত্র নেতিবাচকগুলিতে প্রয়োজনীয় বস্তু থাকে না যখন ইতিবাচক বস্তু থাকে যা সনাক্ত করা যায়।

প্রায় 2000 নেতিবাচক এবং ইতিবাচক প্রয়োজন। পাইথন প্রোগ্রাম ছবিটিকে গ্রেস্কেল এবং উপযুক্ত আকারে রূপান্তরিত করে যাতে ক্লাসিফায়ার তৈরি করতে সর্বোত্তম সময় নেয়।

ধাপ 1: সফ্টওয়্যার প্রয়োজন

আপনার নিজের ক্লাসিফায়ার তৈরির জন্য আপনার নিম্নলিখিত সফ্টওয়্যারগুলির প্রয়োজন

1) ওপেনসিভি: আমি যে সংস্করণটি ব্যবহার করেছি তা হল 3.4.2। সংস্করণটি ইন্টারনেটে সহজেই পাওয়া যায়।

2) পাইথন: সংস্করণটি ব্যবহৃত হয় 3.6.2। Python.org থেকে ডাউনলোড করা যাবে

তাছাড়া আপনার একটি ওয়েবক্যাম প্রয়োজন (অবশ্যই)।

ধাপ 2: ছবি ডাউনলোড করা

প্রথম ধাপ হল শ্রেণীবদ্ধ করার জন্য বস্তুর স্পষ্ট ছবি তোলা।

আকারটি খুব বড় হওয়া উচিত নয় কারণ এটি কম্পিউটারে প্রক্রিয়া করতে বেশি সময় নেয়। আমি 50 বাই 50 সাইজ নিলাম।

পরবর্তী আমরা নেতিবাচক এবং ইতিবাচক ছবি ডাউনলোড করি। আপনি তাদের অনলাইনে খুঁজে পেতে পারেন। কিন্তু আমরা 'https://image-net.org' থেকে ছবি ডাউনলোড করতে পাইথন কোড ব্যবহার করি

পরবর্তীতে আমরা ছবিগুলিকে গ্রেস্কেল এবং একটি স্বাভাবিক আকারে রূপান্তর করি। এই কোডে alo প্রয়োগ করা হয়। কোডটি কোনও ত্রুটিপূর্ণ চিত্রও সরিয়ে দেয়

এখন পর্যন্ত আপনার ডিরেক্টরিতে অবজেক্ট ইমেজ থাকা উচিত যেমন watch5050-j.webp

যদি ডেটা ফোল্ডার তৈরি করা না হয়, এটি ম্যানুয়ালি করুন

. Py ফাইলে পাইথন কোড দেওয়া আছে

ধাপ 3: ওপেনসিভিতে ইতিবাচক নমুনা তৈরি করা

ওপেনসিভিতে ইতিবাচক নমুনা তৈরি করা
ওপেনসিভিতে ইতিবাচক নমুনা তৈরি করা
ওপেনসিভিতে ইতিবাচক নমুনা তৈরি করা
ওপেনসিভিতে ইতিবাচক নমুনা তৈরি করা

এখন opencv_createsamples ডিরেক্টরিতে যান এবং উপরে উল্লিখিত সমস্ত সামগ্রী যুক্ত করুন

কমান্ড প্রম্পটে C: / opencv342 / build / x64 / vc14 / bin এ যান opencv_createsamples এবং opencv_traincascade অ্যাপ খুঁজে পেতে

এখন নিম্নলিখিত কমান্ডগুলি চালান

opencv_createsamples -img watch5050-j.webp

এই কমান্ডটি 1950 বস্তুর ইতিবাচক নমুনা তৈরির জন্য এবং সঠিক ফাইলের তথ্য। ইতিবাচক চিত্রগুলির মধ্যে বর্ণনা এইরকম হওয়া উচিত 0001_0014_0045_0028_0028-j.webp

এখন ফোল্ডারে রয়েছে

তথ্য

নেগ ইমেজ ফোল্ডার

bg.txt ফাইল

খালি ডাটা ফোল্ডার

ধাপ 4: ইতিবাচক ভেক্টর ফাইল তৈরি করা

ইতিবাচক ভেক্টর ফাইল তৈরি করা
ইতিবাচক ভেক্টর ফাইল তৈরি করা

এখন ইতিবাচক ভেক্টর ফাইল তৈরি করুন যা ইতিবাচক চিত্রগুলির ডিক্স্রিপশন ফাইলটির পথ সরবরাহ করে

নিম্নলিখিত কমান্ডটি ব্যবহার করুন

opencv_createsamples -info info/info.lst -num 1950 -w 20 -h 20 -vec positives.vec

এখন পর্যন্ত ডিরেক্টরির বিষয়বস্তুগুলি অবশ্যই অনুসরণ করতে হবে:

-নেগে

---- negimages.jpg

--opencv

-তথ্য

-ডেটা

--positives.vec

--bg.txt

--watch5050-j.webp

ধাপ 5: ক্লাসিফায়ার প্রশিক্ষণ

ক্লাসিফায়ার প্রশিক্ষণ
ক্লাসিফায়ার প্রশিক্ষণ
ক্লাসিফায়ার প্রশিক্ষণ
ক্লাসিফায়ার প্রশিক্ষণ
ক্লাসিফায়ার প্রশিক্ষণ
ক্লাসিফায়ার প্রশিক্ষণ

এখন হার ক্যাসকেড প্রশিক্ষণ এবং xml ফাইল তৈরি করা যাক

নিম্নলিখিত কমান্ডটি ব্যবহার করুন

opencv_traincascade -data data -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20

পর্যায়গুলি হল 10 টি পর্যায় বাড়ানো আরও প্রক্রিয়াকরণ লাগে কিন্তু শ্রেণীবিভাগটি আরও দক্ষ।

এখন haarcascade তৈরি করা হয়েছে এটি সম্পূর্ণ করতে প্রায় দুই ঘন্টা সময় নেয় ডাটা ফোল্ডারটি খুলুন সেখানে আপনি cascade.xml পাবেন এই শ্রেণীবিভাগ যা তৈরি করা হয়েছে

ধাপ 6: ক্লাসিফায়ার পরীক্ষা করা

ডেটা ফোল্ডারে উপরের ছবিতে দেখানো ফাইল রয়েছে।

ক্লাসিফায়ার তৈরির পর আমরা দেখি বস্তু_detect.py প্রোগ্রামটি চালানোর মাধ্যমে ক্লাসিফায়ার কাজ করছে কি না। Classifier.xml ফাইলটি পাইথন ডিরেক্টরিতে রাখতে ভুলবেন না।

ধাপ 7: বিশেষ ধন্যবাদ

আমি Sentdex কে ধন্যবাদ জানাতে চাই যিনি একজন দুর্দান্ত পাইথন প্রোগ্রামার।

উপরে উল্লেখিত নামের সাথে তার একটি ইউটিউব নাম আছে এবং যে ভিডিওটি আমাকে অনেক সাহায্য করেছে তার এই লিঙ্ক আছে

বেশিরভাগ কোড সেন্ডডেক্স থেকে কপি করা হয়েছে। যদিও সেন্ডডেক্স থেকে অনেক সাহায্য নেওয়া হয়েছে, আমি এখনও অনেক সমস্যার মুখোমুখি হয়েছি। আমি শুধু আমার অভিজ্ঞতা শেয়ার করতে চেয়েছিলাম।

আমি আশা করি এই ব্যাখ্যাযোগ্য আপনাকে সাহায্য করেছে !!! আরো জানতে আমাদের সাথেই থাকুন।

বিআর

তাহির উল হক

প্রস্তাবিত: