Computer Vision কী এবং কেন
Introduction
মেশিন কীভাবে ছবি দেখে এবং বোঝে।
এই “মেশিনের চোখ ও মস্তিষ্ক”-কে সম্ভব করার বিজ্ঞানই — Computer Vision।
Computer Vision আসলে কী?
Computer Vision (CV) হলো Artificial Intelligence-এর একটি শাখা যেখানে আমরা কম্পিউটারকে শেখাই কীভাবে ছবি বা ভিডিও থেকে অর্থপূর্ণ তথ্য (meaningful information) বের করতে হয়।
সহজ ভাষায়: যেমন মানুষ চোখ দিয়ে দেখে এবং মস্তিষ্ক দিয়ে চিনতে পারে যে “এটা একটা বিড়াল”, ঠিক তেমনি একটি Computer Vision সিস্টেম pixel-এর সমুদ্র থেকে বুঝতে পারে — এটা বিড়াল, কুকুর, গাড়ি বা মানুষ।
কেন এটি গুরুত্বপূর্ণ?
২০২৫ সালে এসে আমাদের চারপাশের প্রায় সব smart system-এর পেছনে কাজ করছে Computer Vision। কয়েকটি বাস্তব উদাহরণ —
- Facebook/Google আপনার ছবিতে অটো-ট্যাগ করে — face recognition দিয়ে।
- bKash/Nagad eKYC-তে NID যাচাই করে — OCR + face matching দিয়ে।
- Tesla-এর self-driving গাড়ি — multi-camera object detection দিয়ে।
- হাসপাতালে X-Ray/MRI বিশ্লেষণ — medical image segmentation দিয়ে।
- Amazon/Daraz warehouse-এ barcode-হীন product scan — visual recognition দিয়ে।
- ঢাকার নতুন smart traffic camera সিস্টেম — vehicle counting + plate recognition দিয়ে।
ভেতরে কীভাবে কাজ করে?
একটি সাধারণ Computer Vision pipeline-এ ৪টি ধাপ থাকে:
- Image Acquisition — ক্যামেরা/ফাইল থেকে ছবি নেওয়া।
- Preprocessing — resize, denoise, color correction।
- Feature Extraction / Model Inference — edge, corner, বা neural network feature বের করা।
- Decision / Output — classification, detection, segmentation, বা action।
Visual Intuition
মেশিনের কাছে একটি রঙিন ছবি মানে — একটি 3D সংখ্যার ম্যাট্রিক্স (height × width × 3 channel)। আপনি যেটাকে “লাল গোলাপ” বলে চিনছেন, মেশিনের কাছে সেটা শুধু কতগুলো সংখ্যা — যেমন R=220, G=20, B=60। CV-এর কাজ হলো এই সংখ্যাগুলোকে অর্থে রূপান্তর করা।
প্রথম Python কোড — ছবিকে সংখ্যা হিসেবে দেখা
চলুন OpenCV দিয়ে দেখি একটি ছবি কম্পিউটারের কাছে কেমন দেখায়।
import cv2
import numpy as np
# Read an image from disk
image = cv2.imread("sample.jpg")
# Print shape: (height, width, channels)
print("Shape:", image.shape)
print("Data type:", image.dtype)
print("Top-left pixel (BGR):", image[0, 0])
# Show the image in a window
cv2.imshow("First Look", image)
cv2.waitKey(0)
cv2.destroyAllWindows()import cv2import numpy as npcv2.imread("sample.jpg")image.shapeimage[0, 0]cv2.imshow(...)cv2.cvtColor(image, cv2.COLOR_BGR2RGB)।বাস্তব উদাহরণ — বাংলাদেশ থেকে
🚦 ঢাকা ট্রাফিক ক্যামেরা
🏥 হাসপাতালে X-Ray স্ক্রিনিং
Best Practices ও সাধারণ ভুল
- সব সময় BGR vs RGB মনে রাখুন — OpenCV BGR, Matplotlib/PyTorch RGB।
- ছবির dtype চেক করুন — uint8 (0–255) নাকি float32 (0.0–1.0)?
- Production-এ কখনো hard-coded path দেবেন না — pathlib ব্যবহার করুন।
- প্রথমেই deep learning দিয়ে শুরু করবেন না — classical CV ভিত্তি মজবুত করুন।
- নিজের একটি ছবি লোড করে তার shape, dtype এবং প্রথম ১০টি pixel value print করুন।
- ছবিটিকে BGR থেকে RGB-তে রূপান্তর করে matplotlib দিয়ে দেখান।
- ছবির শুধু blue channel আলাদা করে gray image হিসেবে save করুন।
সারসংক্ষেপ
- Computer Vision = মেশিনকে ছবি থেকে অর্থ বের করতে শেখানো।
- এর pipeline: Acquisition → Preprocessing → Feature/Model → Output।
- মেশিনের কাছে ছবি = সংখ্যার 3D matrix।
- Python + OpenCV + NumPy — আমাদের core toolkit।
- পরবর্তী অধ্যায়ে আমরা দেখব মানুষের দৃষ্টি বনাম মেশিন দৃষ্টির গভীর পার্থক্য।