Computer Vision হল কৃত্রিম বুদ্ধিমত্তার একটি শাখা যা কম্পিউটারকে ছবির এবং ভিডিওর মাধ্যমে তথ্য বিশ্লেষণ করতে সক্ষম করে। এটি প্রক্রিয়াকৃত চিত্রের তথ্য থেকে বিভিন্ন তথ্য বের করার জন্য অ্যালগরিদম এবং মডেল ব্যবহার করে। Leonardo AI একটি শক্তিশালী কৃত্রিম বুদ্ধিমত্তা প্ল্যাটফর্ম যা কম্পিউটার ভিশনসহ বিভিন্ন AI প্রযুক্তির সাথে কাজ করে।
১. Computer Vision
পরিচিতি
Computer Vision হল কম্পিউটারকে ছবির তথ্য বিশ্লেষণ করার ক্ষমতা প্রদান করে, যাতে এটি চিত্রের বিষয়বস্তু বুঝতে পারে এবং তার ভিত্তিতে সিদ্ধান্ত নিতে পারে।
মৌলিক উপাদানসমূহ
- Image Processing: ছবির মান উন্নত করার জন্য বিভিন্ন অ্যালগরিদম ব্যবহার করা হয়।
- Feature Extraction: চিত্রের থেকে গুরুত্বপূর্ণ বৈশিষ্ট্য বের করা (যেমন, edges, textures)।
- Object Detection: ছবি বা ভিডিওতে বিভিন্ন অবজেক্ট শনাক্ত করা।
- Image Classification: চিত্রের বিষয়বস্তু অনুযায়ী শ্রেণীবদ্ধ করা।
- Semantic Segmentation: চিত্রের প্রতিটি পিক্সেলকে একটি ক্যাটেগরিতে শ্রেণীবদ্ধ করা।
ব্যবহার ক্ষেত্র
- চেহারা শনাক্তকরণ: নিরাপত্তা এবং নজরদারিতে ব্যবহৃত।
- স্বয়ংক্রিয় গাড়ি: রাস্তার পরিস্থিতি বিশ্লেষণের জন্য।
- স্বাস্থ্যসেবা: মেডিকেল ইমেজ বিশ্লেষণ এবং রোগ নির্ণয়ে।
২. Leonardo AI
পরিচিতি
Leonardo AI একটি কৃত্রিম বুদ্ধিমত্তা প্ল্যাটফর্ম যা মেশিন লার্নিং, ডেটা বিশ্লেষণ এবং কম্পিউটার ভিশন প্রযুক্তি নিয়ে কাজ করে। এটি ব্যবহারকারীদের জন্য ডেটা বিশ্লেষণের কাজকে সহজ এবং কার্যকর করতে ডিজাইন করা হয়েছে।
Computer Vision এর সাথে Leonardo AI এর সম্পর্ক
- ভিজ্যুয়ালাইজেশন টুলস: Leonardo AI ব্যবহারকারীদের জন্য উন্নত ভিজ্যুয়ালাইজেশন টুলস প্রদান করে যা কম্পিউটার ভিশন অ্যানালাইসিসে সাহায্য করে।
- মডেল ট্রেনিং: ব্যবহারকারীরা কম্পিউটার ভিশন মডেলগুলি দ্রুত প্রশিক্ষণ দিতে পারে।
- ডেটা ইন্টিগ্রেশন: বিভিন্ন উৎস থেকে ছবি বা ভিডিও ডেটা সংগ্রহ করে বিশ্লেষণের জন্য ইন্টিগ্রেট করা।
- স্মার্ট রিপোর্টিং: কম্পিউটার ভিশন অ্যানালাইসিসের ফলাফলগুলি সহজে বুঝতে পারার জন্য স্বয়ংক্রিয় রিপোর্ট তৈরি।
ব্যবহার উদাহরণ
- অবজেক্ট ডিটেকশন: Leonardo AI ব্যবহার করে ছবি বা ভিডিওতে অবজেক্ট শনাক্তকরণ করা।
- রোগ নির্ণয়: মেডিকেল ইমেজের উপর ভিত্তি করে রোগ নির্ণয়ের জন্য কম্পিউটার ভিশন প্রযুক্তি ব্যবহার।
সারসংক্ষেপ
Computer Vision হল একটি কৃত্রিম বুদ্ধিমত্তার শাখা যা চিত্র ও ভিডিও বিশ্লেষণের জন্য ব্যবহৃত হয়, এবং Leonardo AI হল একটি শক্তিশালী প্ল্যাটফর্ম যা এই প্রযুক্তিকে কার্যকরভাবে ব্যবহার করতে সাহায্য করে। Leonardo AI ব্যবহারকারীদের জন্য কম্পিউটার ভিশন টাস্কগুলি সম্পাদন করা সহজ করে তোলে, যা স্বাস্থ্যসেবা, নিরাপত্তা, এবং অন্যান্য শিল্পে ব্যবহৃত হয়।
Computer Vision হল একটি কৃত্রিম বুদ্ধিমত্তার শাখা যা কম্পিউটারগুলিকে ছবির মাধ্যমে তথ্য উপলব্ধি করতে, বিশ্লেষণ করতে এবং বুঝতে সক্ষম করে। এটি বাস্তব জগতের দৃশ্য এবং চিত্র থেকে তথ্য প্রক্রিয়া ও বিশ্লেষণ করার জন্য অ্যালগরিদম এবং প্রযুক্তি ব্যবহার করে।
Computer Vision-এর প্রধান ভূমিকা:
চিত্র ও ভিডিও বিশ্লেষণ:
- Computer Vision ছবি এবং ভিডিও থেকে তথ্য আহরণ করে, যা স্বয়ংক্রিয় পর্যবেক্ষণ এবং বিশ্লেষণের জন্য গুরুত্বপূর্ণ।
অবজেক্ট শনাক্তকরণ:
- এটি বিভিন্ন অবজেক্ট, যেমন গাড়ি, মুখ, বা প্রাণী শনাক্ত করতে সক্ষম, যা নিরাপত্তা, পরিবহন এবং চিকিৎসায় ব্যবহৃত হয়।
ছবির প্রক্রিয়াকরণ:
- চিত্রগুলির মান উন্নত করা, ফিল্টারিং, এবং রূপান্তর করার মতো কাজগুলি সম্পাদন করে।
চিত্রের বৈশিষ্ট্য Extraction:
- চিত্রের বৈশিষ্ট্যগুলি (যেমন আকৃতি, আকার, এবং রং) استخراج করে যা পরবর্তী বিশ্লেষণের জন্য সহায়ক।
মেশিন লার্নিং এবং AI-এর সাথে সংযোগ:
- Computer Vision মেশিন লার্নিং এবং AI-এর বিভিন্ন অ্যাপ্লিকেশনের জন্য ভিত্তি প্রদান করে, যেমন মুখ শনাক্তকরণ, দৃশ্য বিশ্লেষণ এবং স্বয়ংক্রিয় ড্রাইভিং।
অটোমেশন:
- উৎপাদন শিল্পে এবং অন্যান্য ক্ষেত্রগুলিতে স্বয়ংক্রিয়তা বাড়াতে Computer Vision প্রযুক্তি ব্যবহৃত হয়, যেমন স্বয়ংক্রিয় মান নিয়ন্ত্রণ এবং পণ্য শনাক্তকরণ।
Computer Vision এর প্রয়োজনীয়তা
উন্নত নিরাপত্তা:
- সিকিউরিটি সিস্টেমে অবজেক্ট শনাক্তকরণ এবং ট্র্যাকিং ব্যবহৃত হয়, যা নিরাপত্তা বৃদ্ধি করে।
স্বাস্থ্যসেবা:
- চিকিৎসা চিত্র বিশ্লেষণের জন্য ব্যবহৃত হয়, যেমন এক্স-রে, সিটি স্ক্যান এবং এমআরআই ইমেজ বিশ্লেষণ।
স্বয়ংক্রিয় ড্রাইভিং:
- গাড়ির নিরাপত্তা এবং রাস্তায় অবজেক্ট শনাক্তকরণের জন্য Computer Vision ব্যবহার করা হয়, যা স্বয়ংক্রিয় ড্রাইভিং প্রযুক্তির মূল অংশ।
বাণিজ্যিক অ্যাপ্লিকেশন:
- ই-কমার্স এবং রিটেইল সেক্টরে পণ্য শনাক্তকরণ, রকমারি বিশ্লেষণ এবং গ্রাহকের আচরণ বিশ্লেষণের জন্য Computer Vision প্রযুক্তি ব্যবহার করা হয়।
রোবোটিক্স:
- রোবটগুলিকে তাদের পরিবেশ বুঝতে এবং পরিচালনা করতে সক্ষম করে। এটি রোবটের জন্য অটোমেশন এবং কার্যকরী ক্ষমতা বৃদ্ধি করে।
গবেষণা ও উন্নয়ন:
- Computer Vision গবেষণা ক্ষেত্রে গুরুত্বপূর্ণ ভূমিকা পালন করে, বিশেষ করে ডিপ লার্নিং এবং নিউরাল নেটওয়ার্কে।
উপসংহার
Computer Vision একটি উন্নত প্রযুক্তি যা বাস্তব জগতের তথ্য প্রক্রিয়াকরণ এবং বিশ্লেষণে গুরুত্বপূর্ণ ভূমিকা পালন করে। এটি বিভিন্ন শিল্প এবং ক্ষেত্রের জন্য অত্যাবশ্যক, যেমন স্বাস্থ্যসেবা, নিরাপত্তা, এবং অটোমেশন। এর মাধ্যমে উন্নত প্রযুক্তি এবং অটোমেশন ব্যবস্থা গড়ে তোলা সম্ভব, যা মানবিক কার্যক্রমকে আরও সহজ এবং কার্যকর করে তোলে।
Image Classification এবং Object Detection হল কম্পিউটার ভিশন এর দুটি গুরুত্বপূর্ণ শাখা, যা বিভিন্ন অ্যাপ্লিকেশনে ব্যবহৃত হয়। এখানে উভয় ক্ষেত্রে মডেল তৈরি করার প্রক্রিয়া আলোচনা করা হলো।
১. Image Classification
কৌশল এবং পদ্ধতি
Image Classification মডেলটি একটি ইমেজকে নির্দিষ্ট শ্রেণীতে শ্রেণীবদ্ধ করতে ব্যবহৃত হয়। নিচে একটি সাধারণ Image Classification মডেল তৈরির ধাপগুলি আলোচনা করা হলো।
ধাপ ১: পরিবেশ প্রস্তুতি
pip install tensorflow keras numpy matplotlib
ধাপ ২: ডেটাসেট লোড করা
আপনার ক্লাসিফিকেশন কাজের জন্য একটি ডেটাসেট নির্বাচন করুন। উদাহরণস্বরূপ, আমরা CIFAR-10 ডেটাসেট ব্যবহার করতে পারি।
import tensorflow as tf
from tensorflow.keras import datasets
# CIFAR-10 ডেটাসেট লোড করুন
(X_train, y_train), (X_test, y_test) = datasets.cifar10.load_data()
# ডেটাকে 0-1 স্কেলে নিন
X_train = X_train.astype('float32') / 255.0
X_test = X_test.astype('float32') / 255.0
ধাপ ৩: মডেল তৈরি করা
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
# মডেল তৈরি করা
model = Sequential([
Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
MaxPooling2D(pool_size=(2, 2)),
Conv2D(64, (3, 3), activation='relu'),
MaxPooling2D(pool_size=(2, 2)),
Flatten(),
Dense(128, activation='relu'),
Dense(10, activation='softmax') # 10 শ্রেণীর জন্য
])
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
ধাপ ৪: মডেল প্রশিক্ষণ
# মডেল প্রশিক্ষণ করা
model.fit(X_train, y_train, epochs=10, validation_data=(X_test, y_test))
ধাপ ৫: মডেল মূল্যায়ন
# মডেল মূল্যায়ন
test_loss, test_acc = model.evaluate(X_test, y_test, verbose=2)
print('\nTest accuracy:', test_acc)
২. Object Detection
Object Detection হল একটি প্রক্রিয়া যা একটি ইমেজের মধ্যে বিভিন্ন অবজেক্ট শনাক্ত করে এবং তাদের সীমানা বক্সের মাধ্যমে চিহ্নিত করে।
কৌশল এবং পদ্ধতি
Object Detection এর জন্য সাধারণত প্রি-ট্রেইনড মডেলগুলি ব্যবহার করা হয়, যেমন YOLO (You Only Look Once), SSD (Single Shot Multibox Detector), অথবা Faster R-CNN।
ধাপ ১: পরিবেশ প্রস্তুতি
pip install tensorflow opencv-python
ধাপ ২: ডেটাসেট নির্বাচন
Object Detection-এর জন্য COCO বা Pascal VOC ডেটাসেট ব্যবহার করতে পারেন। এই ডেটাসেটগুলি সাধারণত সীমানা বক্স এবং লেবেল সহ ইমেজ ধারণ করে।
ধাপ ৩: মডেল লোড করা
এখানে আমরা TensorFlow এর Model Zoo থেকে একটি প্রি-ট্রেইনড YOLO মডেল ব্যবহার করব।
import cv2
import numpy as np
# YOLO মডেল লোড করা
model = cv2.dnn.readNet('yolov3.weights', 'yolov3.cfg')
layer_names = model.getLayerNames()
output_layers = [layer_names[i[0] - 1] for i in model.getUnconnectedOutLayers()]
ধাপ ৪: ইমেজ লোড এবং প্রিপ্রসেসিং
# ইমেজ লোড করা
image = cv2.imread('image.jpg')
height, width, _ = image.shape
# ইমেজের জন্য ব্লব তৈরি
blob = cv2.dnn.blobFromImage(image, 0.00392, (416, 416), (0, 0, 0), True, crop=False)
model.setInput(blob)
ধাপ ৫: অবজেক্ট ডিটেকশন
# আগত ডেটা নিয়ে অবজেক্ট ডিটেকশন করা
outs = model.forward(output_layers)
# ফলাফল প্রক্রিয়াকরণ
for out in outs:
for detection in out:
scores = detection[5:]
class_id = np.argmax(scores)
confidence = scores[class_id]
if confidence > 0.5: # থ্রেশহোল্ড
# বক্সের তথ্য সংগ্রহ করা
center_x = int(detection[0] * width)
center_y = int(detection[1] * height)
w = int(detection[2] * width)
h = int(detection[3] * height)
# সীমানা বক্সের কো-অর্ডিনেট
x = int(center_x - w / 2)
y = int(center_y - h / 2)
# বক্স আঁকা
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.putText(image, str(classes[class_id]), (x, y - 5), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
# ফলস্বরূপ ইমেজ দেখানো
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
উপসংহার
Image Classification এবং Object Detection হল কম্পিউটার ভিশনের দুটি গুরুত্বপূর্ণ এলাকা। প্রথমটি একটি ইমেজকে শ্রেণীবদ্ধ করতে ব্যবহৃত হয়, যখন দ্বিতীয়টি একটি ইমেজের মধ্যে বিভিন্ন অবজেক্ট শনাক্ত করে। উভয় প্রক্রিয়াই প্রশিক্ষণ, মডেল তৈরি, এবং মূল্যায়নের মাধ্যমে সম্পন্ন হয়, এবং এদের উদ্দেশ্য অনুযায়ী বিভিন্ন অ্যালগরিদম এবং টুলস ব্যবহার করা হয়।
Image Segmentation এবং Feature Extraction হল কম্পিউটার ভিশন ও ইমেজ প্রক্রিয়াকরণে গুরুত্বপূর্ণ দুটি পদক্ষেপ। এদের মাধ্যমে একটি ছবি থেকে অর্থপূর্ণ তথ্য বের করা হয় এবং বিভিন্ন অবজেক্ট বা অঞ্চল চিহ্নিত করা হয়। নিচে উভয়ের পদ্ধতি এবং প্রযুক্তি আলোচনা করা হলো।
১. Image Segmentation
Image Segmentation হল একটি প্রক্রিয়া যার মাধ্যমে একটি ছবিকে বিভিন্ন অংশ বা সেগমেন্টে বিভক্ত করা হয়, যাতে প্রতিটি অংশের মধ্যে অভ্যন্তরীণ বৈশিষ্ট্যগুলো একাধিকভাবে নির্ধারিত হয়। এটি সাধারণত ছবির মধ্যে অবজেক্ট, অঞ্চল বা আকৃতি শনাক্ত করতে ব্যবহৃত হয়।
পদ্ধতি:
Thresholding:
- ছবির পিক্সেলের মানের উপর ভিত্তি করে সেগমেন্টেশন করা হয়। একটি থ্রেশোল্ড মান নির্ধারণ করে, পিক্সেলগুলোকে দুই বা ততোধিক শ্রেণীতে বিভক্ত করা হয়।
- উদাহরণ:
import cv2
import numpy as np
img = cv2.imread('image.jpg', 0) # গ্রেস্কেল ইমেজ
_, segmented = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
Clustering:
- K-means Clustering: পিক্সেলগুলোকে ক্লাস্টার করা হয় যাতে একই রঙের বা প্যাটার্নের পিক্সেলগুলো একসাথে আসে।
- উদাহরণ:
from sklearn.cluster import KMeans
import cv2
img = cv2.imread('image.jpg')
img_data = img.reshape((-1, 3))
kmeans = KMeans(n_clusters=3).fit(img_data)
segmented = kmeans.labels_.reshape(img.shape[:2])
Edge Detection:
- ছবির প্রান্ত চিহ্নিত করার জন্য সিগন্যাল প্রক্রিয়াকরণ ব্যবহার করা হয়। সাধারণভাবে Canny Edge Detection ব্যবহার করা হয়।
- উদাহরণ:
edges = cv2.Canny(img, 100, 200)
Region-Based Segmentation:
- Watershed Algorithm: এটি ছবির অংশগুলোকে বিভিন্ন অঞ্চলে বিভক্ত করার জন্য ব্যবহৃত হয়, যা চিত্রের টেক্সচার ও প্যাটার্নের উপর ভিত্তি করে।
- উদাহরণ:
# Watershed example (assuming a pre-processed binary image)
markers = cv2.watershed(img, markers)
Deep Learning Approaches:
- U-Net এবং Mask R-CNN: এই মডেলগুলি ইমেজ সেগমেন্টেশনের জন্য প্রশিক্ষিত হয় এবং বিভিন্ন ধরণের সেগমেন্টেশন কাজের জন্য উচ্চ কার্যকারিতা প্রদান করে।
- উদাহরণ:
from keras.models import load_model
model = load_model('unet_model.h5')
predictions = model.predict(test_images)
২. Feature Extraction
Feature Extraction হল একটি প্রক্রিয়া যেখানে একটি ছবির বৈশিষ্ট্যগুলি চিহ্নিত করা হয়, যাতে মডেল প্রশিক্ষণের জন্য প্রয়োজনীয় ইনফরমেশন পাওয়া যায়। বৈশিষ্ট্যগুলি অবজেক্ট সনাক্তকরণ, শ্রেণীবিভাগ, এবং অন্যান্য কম্পিউটার ভিশন টাস্কে গুরুত্বপূর্ণ।
পদ্ধতি:
Traditional Methods:
- SIFT (Scale-Invariant Feature Transform): রোটেশন ও স্কেল ইনভেরিয়েন্ট বৈশিষ্ট্য বের করে।
- HOG (Histogram of Oriented Gradients): অবজেক্টের আকৃতি এবং প্যাটার্ন বুঝতে সাহায্য করে।
- উদাহরণ:
sift = cv2.SIFT_create()
keypoints, descriptors = sift.detectAndCompute(img, None)
Statistical Features:
- Color Histograms: একটি ছবির রঙের বন্টন চিহ্নিত করে।
- Texture Features: গ্লাসিয়ার ইমেজের টেক্সচার বুঝতে সাহায্য করে, যেমন GLCM (Gray Level Co-Occurrence Matrix)।
Deep Learning Features:
- Pre-trained CNN Models: VGG16, ResNet, Inception ইত্যাদি মডেল ব্যবহার করে বৈশিষ্ট্য বের করা। এগুলি স্থানান্তর শেখার জন্য ব্যবহার করা যেতে পারে।
- উদাহরণ:
from keras.applications import VGG16
model = VGG16(weights='imagenet', include_top=False)
features = model.predict(img_array)
Autoencoders:
- অসংরক্ষিত শেখার পদ্ধতি, যা ইমেজের সংকুচিত প্রতিনিধি তৈরি করে।
- উদাহরণ:
from keras.models import Model
from keras.layers import Input, Dense
input_img = Input(shape=(img_size,))
encoded = Dense(encoding_dim, activation='relu')(input_img)
autoencoder = Model(input_img, encoded)
উপসংহার
Image Segmentation এবং Feature Extraction হল কম্পিউটার ভিশন প্রকল্পগুলির জন্য অপরিহার্য পদক্ষেপ। সেগমেন্টেশন মডেলটিকে অবজেক্টগুলি চিহ্নিত করতে সাহায্য করে, যেখানে ফিচার এক্সট্রাকশন মডেলের প্রশিক্ষণের জন্য প্রয়োজনীয় ইনফরমেশন সরবরাহ করে। উভয় প্রক্রিয়া মিলিতভাবে মেশিন লার্নিং মডেলের কার্যকারিতা এবং সঠিকতা বাড়াতে সহায়ক।
কম্পিউটার ভিশন একটি শক্তিশালী প্রযুক্তি যা মেশিন লার্নিং এবং কৃত্রিম বুদ্ধিমত্তার সাহায্যে ছবি ও ভিডিও বিশ্লেষণ করতে ব্যবহৃত হয়। এখানে একটি উদাহরণের মাধ্যমে কম্পিউটার ভিশন প্রকল্প তৈরি করার প্রক্রিয়া দেখানো হবে। আমরা একটি সহজ প্রকল্প তৈরি করবো যেখানে আমরা একটি কনভলিউশনাল নিউরাল নেটওয়ার্ক (CNN) ব্যবহার করে MNIST ডেটাসেট থেকে হাতের লেখা সংখ্যাগুলি শনাক্ত করবো।
প্রজেক্টের উদ্দেশ্য: হাতের লেখা সংখ্যা শনাক্তকরণ
ধাপ ১: লাইব্রেরি ইনস্টল করা
প্রথমে প্রয়োজনীয় লাইব্রেরিগুলি ইনস্টল করুন।
pip install tensorflow matplotlib
ধাপ ২: ডেটাসেট লোড করা
আমরা MNIST ডেটাসেট ব্যবহার করবো, যা 0 থেকে 9 পর্যন্ত হাতের লেখা সংখ্যার ইমেজ নিয়ে গঠিত।
import tensorflow as tf
from tensorflow.keras.datasets import mnist
import matplotlib.pyplot as plt
# ডেটাসেট লোড করা
(X_train, y_train), (X_test, y_test) = mnist.load_data()
# ডেটা দেখুন
print("Training data shape:", X_train.shape)
print("Testing data shape:", X_test.shape)
# একটি উদাহরণ ইমেজ দেখুন
plt.imshow(X_train[0], cmap='gray')
plt.title(f'Label: {y_train[0]}')
plt.show()
ধাপ ৩: ডেটা প্রিপ্রসেসিং
# ডেটা প্রিপ্রসেসিং
X_train = X_train.reshape((X_train.shape[0], 28, 28, 1)).astype('float32') / 255 # 0-1 এর মধ্যে স্কেলিং
X_test = X_test.reshape((X_test.shape[0], 28, 28, 1)).astype('float32') / 255
# লেবেল এক-হট এনকোডিং
y_train = tf.keras.utils.to_categorical(y_train, 10)
y_test = tf.keras.utils.to_categorical(y_test, 10)
ধাপ ৪: CNN মডেল তৈরি
# মডেল তৈরি করা
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
tf.keras.layers.MaxPooling2D(pool_size=(2, 2)),
tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(pool_size=(2, 2)),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(10, activation='softmax')
])
# মডেল সংক্ষিপ্ত বিবরণ
model.summary()
ধাপ ৫: মডেল কম্পাইল করা
# মডেল কম্পাইল
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
ধাপ ৬: মডেল প্রশিক্ষণ
# মডেল প্রশিক্ষণ
model.fit(X_train, y_train, epochs=5, batch_size=64, validation_split=0.2)
ধাপ ৭: মডেল মূল্যায়ন
# মডেল মূল্যায়ন
test_loss, test_acc = model.evaluate(X_test, y_test)
print(f'Test accuracy: {test_acc:.4f}')
ধাপ ৮: পূর্বাভাস করা
# একটি নমুনা ইমেজের পূর্বাভাস করা
sample_image = X_test[0].reshape(1, 28, 28, 1)
predicted_class = model.predict(sample_image)
print(f'Predicted label: {predicted_class.argmax()}')
সারসংক্ষেপ
এই প্রকল্পে, আমরা একটি CNN মডেল ব্যবহার করে MNIST ডেটাসেট থেকে হাতের লেখা সংখ্যা শনাক্ত করেছি। আমরা ডেটাসেট লোড করেছি, প্রিপ্রসেসিং করেছি, মডেল তৈরি ও প্রশিক্ষণ করেছি এবং শেষ পর্যন্ত মডেলটির কার্যকারিতা মূল্যায়ন করেছি।
কম্পিউটার ভিশন প্রকল্পগুলি বাস্তব জীবনের বিভিন্ন ক্ষেত্রে যেমন স্বচালিত গাড়ি, ফেস রিকগনিশন, এবং সুরক্ষা সিস্টেমে প্রয়োগ করা হয়। এই প্রকল্পের মাধ্যমে আপনি কম্পিউটার ভিশনের মৌলিক ধারণাগুলি বুঝতে পারবেন এবং ভবিষ্যতে আরও জটিল প্রকল্পগুলির জন্য প্রস্তুতি নিতে পারবেন।
Read more