এই নিবন্ধে আমরা পাইথন ৩.x-এ কনভোলিউশন নিয়ে আলোচনা করব। এই আর্টিকেল নিউরাল নেটওয়ার্ক এবং ফিচার এক্সট্রাকশনের অধীনে পড়ে।
পছন্দের IDE - Jupyter Notebook
পূর্বশর্ত - Numpy ইনস্টলড, Matplotlib ইনস্টলড
ইনস্টলেশন
>>> pip install numpy >>> pip install matplotlib
কনভোলিউশন
কনভোলিউশন হলো একটি অপারেশন যা একটি ইমেজে পারফর্ম করা যায় যাতে একটি ছোট কন্টেইনারের মতো কার্নেল/কো-অর্ডিনেট কন্টেইনারের মতো স্লাইডিং উইন্ডো ইমেজের ওপর প্রয়োগ করে সেটি থেকে ফিচার বের করা যায়। কনভোলিউশনাল কো-অর্ডিনেট কন্টেইনারের ভ্যালুগুলোর উপর নির্ভর করে, আমরা ইমেজ থেকে স্পেসিফিক প্যাটার্ন/ফিচার পিক আপ করতে পারি। এখানে, আমরা উপযুক্ত কো-অর্ডিনেট কন্টেইনার ব্যবহার করে একটি ইমেজে হরিজন্টাল এবং ভার্টিকাল এন্ডপয়েন্ট ডিটেকশন শিখব।
এখন প্র্যাক্টিক্যাল বাস্তবায়নটি দেখা যাক।
উদাহরণ
import numpy as np
from matplotlib import pyplot
# ইমেজগুলো ইনিশিয়ালাইজ
img1 = np.array([np.array([100, 100]), np.array([80, 80])])
img2 = np.array([np.array([100, 100]), np.array([50, 0])])
img3 = np.array([np.array([100, 50]), np.array([100, 0])])
coordinates_horizontal = np.array([np.array([3, 3]), np.array([-3, -3])])
print(coordinates_horizontal, 'is a coordinates for detecting horizontal end points')
coordinates_vertical = np.array([np.array([3, -3]), np.array([3, -3])])
print(coordinates_vertical, 'is a coordinates for detecting vertical end points')
# এটি এলিমেন্ট-ওয়াইজ মাল্টিপ্লিকেশন ফলোড বাই অ্যাডিশন
def apply_coordinates(img, coordinates):
return np.sum(np.multiply(img, coordinates))
# img1 ভিজ্যুয়ালাইজ
pyplot.imshow(img1)
pyplot.axis('off')
pyplot.title('sample 1')
pyplot.show()
# ইমেজ১-এ হরিজন্টাল এবং ভার্টিকাল ফিচার চেক
print('Horizontal end points features score:', apply_coordinates(img1, coordinates_horizontal))
print('Vertical end points features score:', apply_coordinates(img1, coordinates_vertical))
# img2 ভিজ্যুয়ালাইজ
pyplot.imshow(img2)
pyplot.axis('off')
pyplot.title('sample 2')
pyplot.show()
# ইমেজ২-এ হরিজন্টাল এবং ভার্টিকাল ফিচার চেক
print('Horizontal end points features score:', apply_coordinates(img2, coordinates_horizontal))
print('Vertical end points features score:', apply_coordinates(img2, coordinates_vertical))
# img3 ভিজ্যুয়ালাইজ
pyplot.imshow(img3)
pyplot.axis('off')
pyplot.title('sample 3')
pyplot.show()
# ইমেজ৩-এ হরিজন্টাল এবং ভার্টিকাল ফিচার চেক
print('Horizontal end points features score:', apply_coordinates(img3, coordinates_horizontal))
print('Vertical end points features score:', apply_coordinates(img3, coordinates_vertical))
আউটপুট

উপসংহার
এই নিবন্ধে আমরা পাইথন ৩.x-এ কনভোলিউশনের পরিচিতি এবং এর বাস্তবায়ন শিখেছি।