ভূমিকা
মেশিন লার্নিং বা কৃত্রিম বুদ্ধিমত্তা দিয়ে কোনো কিছু শেখাতে হলে আমাদের প্রচুর ডেটা বা তথ্যের প্রয়োজন হয়। এই ভিডিওতে দেখানো হয়েছে কীভাবে ইন্টারনেট থেকে ডাউনলোড করা ছবিগুলোকে সাজাতে হয় যাতে সেগুলোকে মডেল প্রশিক্ষণের (training) জন্য ব্যবহার করা যায়। সহজ কথায়, খারাপ বা অস্পষ্ট ছবিগুলো বাদ দিয়ে শুধুমাত্র পরিষ্কার ছবিগুলো বেছে নেওয়াই হলো এই প্রক্রিয়ার মূল লক্ষ্য।
ছবির ডেটা কেন এবং কীভাবে পরিষ্কার করবেন?
ভিডিও রেফারেন্স: Data Science & Machine Learning Project - Part 3 Data Cleaning
মেশিন লার্নিং মডেল তখনই ভালো কাজ করে যখন তাকে সঠিক এবং পরিষ্কার তথ্য দেওয়া হয়। যদি মডেলকে ভুলভাল ছবি দেওয়া হয়, তাহলে সে ভুল শিখবে।
এখানে আমরা যা করছি: আমরা এখানে মূলত মানুষের মুখ শনাক্ত করার চেষ্টা করছি। এর জন্য আমরা OpenCV (ওপেনসিভি) লাইব্রেরি ব্যবহার করছি। এটি একটি জনপ্রিয় টুল যা দিয়ে কম্পিউটার ছবি বা ভিডিওর ভেতরে মানুষের মুখ বা চোখ খুঁজে বের করতে পারে।
কঠিন শব্দের সহজ ব্যাখ্যা:
-
Classifier (ক্লাসিফায়ার): সহজ ভাষায়, এটি একটি ডিজিটাল 'বাছাইকারী'। যেমন, একটি বক্সের ভেতর আপেল আর কমলা আছে, ক্লাসিফায়ার হলো সেই মেশিন যা আপেলগুলোকে একপাশে আর কমলাগুলোকে অন্যপাশে আলাদা করে দেয়।
-
Haar Cascades (হার ক্যাসকেড): এটি ওপেনসিভির একটি বিশেষ টেকনিক বা পদ্ধতি যা ছবি থেকে খুব দ্রুত মানুষের মুখ বা অবজেক্ট খুঁজে বের করতে পারে।
-
Data Cleaning (ডেটা ক্লিনিং): অপ্রয়োজনীয় বা ভুল তথ্য বাদ দিয়ে সঠিক তথ্যগুলো আলাদা করার প্রক্রিয়া।
কোডিং এবং বাস্তবায়ন
ছবিতে মানুষের চোখ ও মুখ আছে কি না তা যাচাই করার জন্য পাইথন কোড ব্যবহার করা হয়েছে।
Python
import cv2
import os
# হার ক্যাসকেড ফাইল লোড করা হচ্ছে যা মুখ শনাক্ত করবে
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
# ছবি পড়ার কোড
img = cv2.imread('image_path.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # রঙিন ছবিকে সাদা-কালো করা হচ্ছে দ্রুত প্রসেসিংয়ের জন্য
# মুখ শনাক্ত করা
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
# যদি মুখ এবং চোখ পাওয়া যায় তবেই ছবিটি রাখা হবে
for (x,y,w,h) in faces:
roi_gray = gray[y:h, x:w]
eyes = eye_cascade.detectMultiScale(roi_gray)
if len(eyes) >= 2:
print("ছবিটি সঠিক")
কোড ব্যাখ্যা: ১. প্রথমে আমরা ছবিটিকে সাদা-কালো (Grayscale) করে নিচ্ছি, কারণ এতে কম্পিউটার দ্রুত মুখ চিনতে পারে। ২. এরপর detectMultiScale ব্যবহার করে ছবির ভেতর মুখ খুঁজি। ৩. শেষে চেক করি ছবিতে অন্তত দুটি চোখ আছে কি না। যদি থাকে, তবেই আমরা ছবিটি রাখছি, নাহলে সেটি মুছে ফেলছি।
আমার বিশ্লেষণ এবং পরামর্শ
এই ভিডিওটি একজন ডেটা সায়েন্টিস্টের জন্য খুবই জরুরি কারণ মডেল তৈরির ৮০% সময় নষ্ট হয় ডেটা ঠিকঠাক করতে। কনটেন্ট ক্রিয়েটর এখানে খুব সুন্দরভাবে বুঝিয়েছেন যে কীভাবে অটোমেশনের মাধ্যমে হাজার হাজার ছবি থেকে সেরাগুলো বেছে নেওয়া যায়।
বাস্তবতা ও পরামর্শ:
-
অটোমেশনের সীমাবদ্ধতা: সবসময় কোড দিয়ে সব কাজ হয় না। কিছু ছবি ম্যানুয়ালি বা হাতে চেক করা ভালো।
-
বিকল্প উপায়: আজকের দিনে
Deep Learningএর মডেলগুলো (যেমন: CNN) ব্যবহার করলে আরও নিখুঁতভাবে ছবি যাচাই করা যায়। ওপেনসিভি একটু পুরনো পদ্ধতি হলেও এটি শেখার জন্য সেরা। -
পরামর্শ: যদি আপনার ছবির পরিমাণ অনেক বেশি হয়, তবে শুধুমাত্র মুখ চেনার ওপর নির্ভর না করে ছবির কোয়ালিটি বা রেজোলিউশন চেক করার আলাদা কোনো কোড লিখে নিতে পারেন।
এই পদ্ধতিটি মেনে চললে আপনার মেশিন লার্নিং মডেলের নির্ভুলতা (accuracy) অনেক বেড়ে যাবে।
[
0 views
](http://www.youtube.com/watch?v=kwKfWBb6fr0)
[
Data Science & Machine Learning Project - Part 3 Data Cleaning | Image Classification
codebasics · 149K views
](https://www.youtube.com/watch?v=kwKfWBb6frs)

মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন
আপনার সমস্যাটি কমেন্ট করে আমাদের জানান :-d