সরাসরি প্রধান সামগ্রীতে চলে যান

ইমেজ ক্লাসিফিকেশন প্রজেক্ট: ডেটা ক্লিনিং বা তথ্যের শুদ্ধিকরণ

ভূমিকা

একটি ডেটা সায়েন্স বা মেশিন লার্নিং প্রজেক্টের সবচেয়ে গুরুত্বপূর্ণ অংশ হলো ডেটা ক্লিনিং (Data Cleaning)। আপনি ইন্টারনেট থেকে যে ছবিগুলো নামান, সেগুলো সবসময় সরাসরি ব্যবহারের উপযোগী থাকে না। এই টিউটোরিয়ালে আমরা শিখব কীভাবে পাইথন (Python) এবং ওপেনসিভি (OpenCV) ব্যবহার করে আমাদের সংগৃহীত ছবিগুলোকে পরিষ্কার বা 'ক্রপ' (Crop) করতে হয়, যাতে শুধুমাত্র প্রয়োজনীয় অংশ বা মানুষের মুখগুলোই আমাদের মডেলে প্রশিক্ষণের জন্য থাকে।


১. কেন ডেটা ক্লিনিং প্রয়োজন?

ভিডিও রেফারেন্স: [00:00] থেকে [02:22]

মেশিন লার্নিং মডেলে যখন আমরা কোনো ব্যক্তিকে শনাক্ত করতে বলি, তখন সেটি মূলত সেই ব্যক্তির মুখের বৈশিষ্ট্যের ওপর ভিত্তি করে কাজ করে। কিন্তু ইন্টারনেট থেকে ডাউনলোড করা অনেক ছবিতে মানুষের মুখ অস্পষ্ট থাকতে পারে, আবার অনেক ছবিতে একাধিক মানুষ থাকতে পারে। ভুল বা অস্পষ্ট ছবি দিয়ে মডেল তৈরি করলে মডেলটি ভুল ফলাফল দেবে। তাই অস্পষ্ট বা অপ্রয়োজনীয় ছবিগুলো বাদ দিয়ে শুধুমাত্র স্পষ্ট মুখগুলোর অংশ আলাদা করাই হলো আমাদের মূল লক্ষ্য।


২. ওপেনসিভি (OpenCV) এবং হার ক্যাসকেড (Haar Cascade) ব্যবহার

ভিডিও রেফারেন্স: [01:32] থেকে [15:17]

আমরা এখানে OpenCV ব্যবহার করছি, যা ইমেজ প্রসেসিংয়ের জন্য খুব জনপ্রিয় একটি টুল। আর মুখ ও চোখ শনাক্ত করার জন্য আমরা Haar Cascade প্রযুক্তি ব্যবহার করি।

  • সহজ ব্যাখ্যা: হার ক্যাসকেড হলো এমন একটি প্রযুক্তি যা ছবির পিক্সেল বা রঙের পার্থক্য দেখে বুঝতে পারে কোথায় চোখ বা নাক আছে। এটি একটি 'মুভিং উইন্ডো'র মতো কাজ করে যা পুরো ছবি খুঁজে দেখে কোথায় মানুষের মুখ আছে।

কোডিং স্নিপেট:

Python

# ফেস ডিটেকশনের জন্য কোড
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
faces = face_cascade.detectMultiScale(gray_image, 1.3, 5)

# মুখ শনাক্ত হলে সেটি ক্রপ করা বা আয়তাকার বক্সে আনা
for (x,y,w,h) in faces:
    cv2.rectangle(img, (x,y), (x+w, y+h), (255,0,0), 2) 
  • ব্যাখ্যা: এখানে আমরা প্রথমে একটি প্রি-ট্রেইনড এক্সএমএল (XML) ফাইল ব্যবহার করেছি। detectMultiScale কমান্ডটি ছবি থেকে মুখ খুঁজে বের করে। এরপর cv2.rectangle ব্যবহার করে শনাক্তকৃত মুখটির চারপাশে একটি লাল বক্স আঁকা হয়েছে।

৩. স্বয়ংক্রিয়ভাবে ডেটা ক্রপ করা

ভিডিও রেফারেন্স: [17:24] থেকে [35:10]

সব ছবি ম্যানুয়ালি বা হাতে পরিষ্কার করা অনেক কঠিন। তাই আমরা এমন একটি ফাংশন তৈরি করেছি যা প্রতিটি ফোল্ডারের ভেতর গিয়ে ছবিগুলো পরীক্ষা করে। যদি ছবিতে মুখ এবং দুই চোখ স্পষ্টভাবে পাওয়া যায়, তবেই সেটিকে একটি নতুন 'Cropped' ফোল্ডারে সেভ করবে।

  • সহজ ব্যাখ্যা: OS module ব্যবহার করে আমরা কম্পিউটারকে নির্দেশ দিয়েছি প্রতিটি ফোল্ডার চেক করতে। ফাংশনটি ছবি পড়ে, যদি দুই চোখ খুঁজে না পায়, তবে সেই ছবিটিকে বাতিল করে দেয়।

৪. ম্যানুয়াল ভেরিফিকেশন (মানুষের হস্তক্ষেপ)

ভিডিও রেফারেন্স: [36:16] থেকে [39:41]

স্বয়ংক্রিয়ভাবে কোড দিয়ে ডেটা পরিষ্কার করলেও ১০% ক্ষেত্রে ভুল হতে পারে (যেমন: অন্য কারো ছবি বা অস্পষ্ট ছবি থেকে যেতে পারে)। তাই সব শেষে আমাদের চোখ দিয়ে ছবিগুলো একবার দেখে ভুল ছবিগুলো ডিলিট করে দিতে হয়। একে বলে Manual Remediation বা মানুষের সাহায্যে ভুল সংশোধন।


বিশ্লেষণ এবং আমার মতামত

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

  • চিন্তা: অটোমেশন কোড এবং ম্যানুয়াল চেক—এই দুয়ের সমন্বয় একটি প্রফেশনাল অ্যাপ্রোচ।

  • পরামর্শ: যদি প্রজেক্ট আরও বড় হতো, তবে আমি 'Crowdsourcing' (যেমন Amazon Mechanical Turk) ব্যবহার করার পরামর্শ দিতাম, যেখানে অনেক মানুষকে সামান্য খরচে এই কাজগুলো করার জন্য নিয়োগ দেওয়া যায়।

  • সারসংক্ষেপ: এই প্রসেসটি অনুসরণ করলে আপনার মডেলের নির্ভুলতা (Accuracy) বহুগুণ বেড়ে যাবে। কোডগুলো বেশ সহজ এবং পাইথন জানা থাকলে যে কেউ এটি সহজে নিজের প্রজেক্টে ব্যবহার করতে পারবে।

অতিরিক্ত তথ্য: Requirement.txt ফাইলটি ব্যবহার করে লাইব্রেরিগুলো ইনস্টল করতে ভুলবেন না, নাহলে কোড রান করবে না।

[

Data Science & Machine Learning Project - Part 3 Data Cleaning | Image Classification

codebasics · 149K views

](http://www.youtube.com/watch?v=kwKfWBb6frs)

মন্তব্যসমূহ

এই ব্লগটি থেকে জনপ্রিয় পোস্টগুলি

সিজ্জিন (Sijjin) vs ইল্লিয়িন (Illiyin) পার্থক্য Difference

Sijjin (سِجِّين) এবং Illiyin (عِلِّيِّين) —এ দুটি শব্দ কুরআনে এসেছে এবং দুটোই মানুষের আমলনামা সংরক্ষণ সম্পর্কিত স্থানকে নির্দেশ করে। ১. সিজ্জিন (Sijjin) সিজ্জিন হলো পাপীদের (কাফের, মুনাফিক ও দুরাচারীদের) আমলনামা সংরক্ষণের স্থান। এটি সাত তলদেশের নীচে এক কারাগার বা অন্ধকার জগতে অবস্থিত বলে উল্লেখ রয়েছে। সূরা আল-মুতাফফিফীন (৮৩:৭-৯) তে বলা হয়েছে: "كَلَّا إِنَّ كِتَابَ الْفُجَّارِ لَفِي سِجِّينٍ ۝ وَمَا أَدْرَاكَ مَا سِجِّينٌ ۝ كِتَابٌ مَرْقُومٌ" অর্থ: "না, পাপীদের আমলনামা সিজ্জিনে সংরক্ষিত। তুমি কি জানো, সিজ্জিন কী? এটি এক লিখিত দলিল।" সিজ্জিনকে একটি কারাগার, সংকীর্ণ স্থান, বা নিচের স্তরে অবস্থিত এক অন্ধকার দুনিয়া হিসেবে ব্যাখ্যা করা হয়। ২. ইল্লিয়িন (Illiyin) ইল্লিয়িন হলো সৎকর্মশীলদের (মুমিন ও নেককারদের) আমলনামা সংরক্ষণের স্থান । এটি সপ্তম আসমানের ওপরে সংরক্ষিত এক সম্মানিত স্থান। সূরা আল-মুতাফফিফীন (৮৩:১৮-২১) তে বলা হয়েছে: "كَلَّا إِنَّ كِتَابَ الْأَبْرَارِ لَفِي عِلِّيِّينَ ۝ وَمَا أَدْرَاكَ مَا عِلِّيُّونَ ۝ كِتَابٌ مَرْقُومٌ ۝ يَش...

তারাবিহ সমগ্র - প্রথম আলো

রামাদান ২০২৪ উপলক্ষে প্রথম আলোর নিয়মিত আয়োজন - খতমে তারাবিহ'র সূরা গুলো নিয়ে সংক্ষিপ্ত আলোচনা'র লিংক  নিচে দেওয়া হলো।  লিংকে ক্লিক করলেই আপনাকে আলোচনা তে নিয়ে যাবে। তারাবিহ: ১ | একটি খুন ও গাভি নিয়ে বনি ইসরাইলের বাড়াবাড়ি তারাবিহ: ২ | নারীর মর্যাদা ও অধিকার এবং অলৌকিক তিন ঘটনা তারাবিহ: ৩ | যে ১৪ নারীকে বিয়ে করা হারাম তারাবিতে: ১২ | মহানবী (সা.)–এর আকাশভ্রমণ এবং আসহাবে কাহাফের কাহিনি

রেডমি নোট ৯ এর বিস্তারিত | Redmi Note 9 in Bangla

৩০ এপ্রিল, ২০২০ এ শাওমির ঘোষনা আসে এই ফোনটি নিয়ে। কিন্তু ফোনটি মার্কেটে আসে মে মাসের শেষের দিকে৷ করোনার কারনে ফোনটি বাংলাদেশে আসতে আরো সময় নেয়। বর্তমানে বাংলাদেশে আন অফিশিয়াল ভাবে ফোনটি পাওয়া যাচ্ছে৷ বাংলাদেশে অফিশিয়াল ভাবে এখনো ফোনটি আসার তথ্য নেয়৷ চলুন ফোনটি নিয়ে বিস্তারিত আলোচনা করা যাক। শাওমি নোট সিরিজের ফোন বের করে এদের রেডমি নামে সাব ব্যান্ড৷ এদের কাজ হল এই নোট সিরিজ নিয়ে কাজ করা৷ প্রতিবছর নোট সিরিজের ১/২ টা ফোন বাজারে আসে। সাথে সেই ফোন গুলার বিভিন্ন ভার্সন (যেমন - র‍্যাম ও রমের ভিত্তিতে) বাজারে আসে। এই বছরও তারা রেডমি সিরিজের নোট ৯ বাজারে আনে। এই বছর হয়তো এই সিরিজের আরো ফোন বাজারে আসবে। ডিস্পলেঃ ফোনটির ডিসপ্লে সাইজ ৬.৫৩ ইঞ্চি। এতে আইপিএস এলসিডি ডিসপ্লে ব্যবহার করা হয়েছে। এই ফোনের ডিসপ্লে প্রটেকশন হিসেবে আছে গরিলা গ্লাস ফাইভ। স্ক্রিন আর ফোনের বডির অনুপাত প্রায় ৮৩.৫%। এই ফোনের ডিসপ্লে ফুলএইচডি মানে ১০৮০পি। এই ডিস্পলের দৈর্ঘ্য ১৯.৫ একক এবং প্রস্থ হল ৯ একক। এত বড় ফোনের কারনে এই ফোনের পিপি আই ডেনসিটি ৩৯৫। যা একটু কম। প্লাটফর্মঃ এই ফোনের অপারেটিং সিস্টেম এন্ড্রয়েড ১০ এবং এর...