Trong bài viết này, chúng ta sẽ tìm hiểu về Convolution trong Python 3.x hoặc các phiên bản trước đó. Bài viết này thuộc về mạng nơ-ron và trích xuất đặc trưng.
IDE ưu tiên − Jupyter notebook
Điều kiện tiên quyết − Numpy đã cài đặt, Matplotlib đã cài đặt
Cài đặt
>>> pip install numpy >>> pip install matplotlib
Convolution (Tích chập)
Convolution là một loại phép toán có thể thực hiện trên hình ảnh để trích xuất đặc trưng từ nó bằng cách áp dụng một container nhỏ hơn gọi là kernel/container tọa độ như một cửa sổ trượt qua hình ảnh. Tùy thuộc vào các giá trị trong container tọa độ tích chập, chúng ta có thể chọn các mẫu/đặc trưng cụ thể từ hình ảnh. Ở đây, chúng ta sẽ tìm hiểu về phát hiện các điểm cuối ngang và dọc trong hình ảnh sử dụng các container tọa độ phù hợp.
Bây giờ hãy xem triển khai thực tế.
Ví dụ
import numpy as np
from matplotlib import pyplot
# Khởi tạo hình ảnh
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, 'là tọa độ để phát hiện điểm cuối ngang')
coordinates_vertical = np.array([np.array([3, -3]), np.array([3, -3])])
print(coordinates_vertical, 'là tọa độ để phát hiện điểm cuối dọc')
# Đây sẽ là phép nhân phần tử theo sau là cộng
def apply_coordinates(img, coordinates):
return np.sum(np.multiply(img, coordinates))
# Trực quan hóa img1
pyplot.imshow(img1)
pyplot.axis('off')
pyplot.title('mẫu 1')
pyplot.show()
# Kiểm tra đặc trưng ngang và dọc trong hình ảnh 1
print('Điểm đặc trưng cuối ngang:', apply_coordinates(img1, coordinates_horizontal))
print('Điểm đặc trưng cuối dọc:', apply_coordinates(img1, coordinates_vertical))
# Trực quan hóa img2
pyplot.imshow(img2)
pyplot.axis('off')
pyplot.title('mẫu 2')
pyplot.show()
# Kiểm tra đặc trưng ngang và dọc trong hình ảnh 2
print('Điểm đặc trưng cuối ngang:', apply_coordinates(img2, coordinates_horizontal))
print('Điểm đặc trưng cuối dọc:', apply_coordinates(img2, coordinates_vertical))
# Trực quan hóa img3
pyplot.imshow(img3)
pyplot.axis('off')
pyplot.title('mẫu 3')
pyplot.show()
# Kiểm tra đặc trưng ngang và dọc trong hình ảnh 1
print('Điểm đặc trưng cuối ngang:', apply_coordinates(img3, coordinates_horizontal))
print('Điểm đặc trưng cuối dọc:', apply_coordinates(img3, coordinates_vertical))
Kết quả

Kết luận
Trong bài viết này, chúng ta đã tìm hiểu về giới thiệu Convolution sử dụng Python 3.x hoặc các phiên bản trước đó & triển khai của nó.