Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Tích chập (Convolution)

Tìm hiểu cách tích chập (convolution) cung cấp năng lượng cho AI trong thị giác máy tính, cho phép các tác vụ như nhận diện đối tượng, nhận dạng hình ảnh và chụp ảnh y tế với độ chính xác cao.

Tích chập là một phép toán chuyên biệt, đóng vai trò là nền tảng cơ bản của các hệ thống thị giác máy tính (CV) hiện đại. Trong bối cảnh trí tuệ nhân tạo (AI) , tích chập cho phép các mô hình xử lý dữ liệu dạng lưới, chẳng hạn như hình ảnh, bằng cách lọc dữ liệu đầu vào một cách có hệ thống để trích xuất các mẫu có ý nghĩa. Không giống như các thuật toán truyền thống đòi hỏi phải thiết lập quy tắc thủ công, tích chập cho phép mạng nơ-ron tự động học các hệ thống phân cấp không gian của các đặc điểm—từ các cạnh và kết cấu đơn giản đến các hình dạng vật thể phức tạp—mô phỏng các quá trình sinh học được quan sát thấy trong vỏ não thị giác.

Cơ chế của phép tích chập

Hoạt động này hoạt động bằng cách trượt một ma trận số nhỏ, được gọi là hạt nhân hoặc bộ lọc, trên ảnh đầu vào. Tại mỗi vị trí, hạt nhân thực hiện phép nhân từng phần tử với các giá trị pixel chồng lấn và cộng các kết quả lại để tạo ra một pixel đầu ra duy nhất. Quá trình này tạo ra một bản đồ đặc trưng , làm nổi bật các khu vực phát hiện ra các mẫu cụ thể.

Các tham số chính xác định cách hoạt động của phép tích chập bao gồm:

  • Kích thước hạt nhân: Kích thước của bộ lọc (ví dụ: 3x3 hoặc 5x5), xác định diện tích đầu vào được xem xét cùng một lúc, thường được gọi là trường tiếp nhận .
  • Bước nhảy: Kích thước bước mà bộ lọc di chuyển trên ảnh. Bước nhảy lớn hơn sẽ dẫn đến kích thước đầu ra nhỏ hơn, làm giảm hiệu quả lấy mẫu dữ liệu.
  • Đệm: Thêm pixel viền (thường là số không) vào đầu vào để kiểm soát kích thước không gian của đầu ra, một khái niệm được trình bày chi tiết trong tài liệu PyTorch .

Sự liên quan trong Học sâu

Tích chập là công cụ chính đằng sau Mạng Nơ-ron Tích chập (CNN) . Tầm quan trọng của nó nằm ở hai đặc tính chính: chia sẻ tham sốtính cục bộ không gian . Bằng cách sử dụng cùng một trọng số mô hình (kernel) trên toàn bộ hình ảnh, mạng vẫn duy trì hiệu quả tính toán và khả năng bất biến tịnh tiến , nghĩa là nó có thể nhận dạng một vật thể bất kể nó xuất hiện ở đâu trong khung hình. Hiệu quả này cho phép các kiến trúc tinh vi như YOLO11 thực hiện suy luận thời gian thực trên nhiều phần cứng khác nhau, từ GPU mạnh mẽ đến các thiết bị AI biên giới hạn chế về tài nguyên.

Các Ứng dụng Thực tế

Tiện ích của phép tích chập mở rộng trên hầu hết mọi ngành công nghiệp sử dụng dữ liệu trực quan:

  • Phân tích hình ảnh y tế: Trong AI trong chăm sóc sức khỏe , tích chập cho phép các thuật toán quét MRI và CT để xác định các bất thường nhỏ. Ví dụ, các hạt nhân cụ thể có thể được đào tạo để làm nổi bật các kết cấu bất thường liên quan đến khối u giai đoạn đầu, hỗ trợ các bác sĩ X quang đưa ra chẩn đoán chính xác.
  • Điều hướng Tự động: Xe tự lái chủ yếu dựa vào tích chập để phát hiện vật thểphân đoạn hình ảnh . Hệ thống xử lý dữ liệu video để phân biệt làn đường, người đi bộ và biển báo giao thông, cho phép AI ô tô đưa ra quyết định lái xe an toàn, chỉ trong tích tắc.

Tích chập so với các lớp được kết nối đầy đủ

Điều quan trọng là phải phân biệt tích chập với các lớp kết nối hoàn toàn (lớp dày đặc) . Trong một lớp kết nối hoàn toàn, mỗi nơ-ron đầu vào kết nối với mỗi nơ-ron đầu ra, điều này tốn kém về mặt tính toán và bỏ qua cấu trúc không gian của hình ảnh. Ngược lại, tích chập bảo toàn các mối quan hệ không gian và giảm đáng kể số lượng tham số, ngăn ngừa hiện tượng quá khớp trên dữ liệu đa chiều. Trong khi các lớp dày đặc thường được sử dụng cho phân loại cuối cùng, các lớp tích chập xử lý phần việc nặng nhọc của việc trích xuất đặc trưng .

Triển khai Convolution với Ultralytics

Bạn có thể hình dung kiến trúc tích chập của các máy dò đối tượng hiện đại bằng cách sử dụng ultralytics gói. Đoạn mã sau đây tải một YOLO11 mô hình và in cấu trúc của nó, tiết lộ Conv2d các lớp được sử dụng để xử lý.

from ultralytics import YOLO

# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")

# Print the model architecture to observe Conv2d layers
# These layers perform the convolution operations to extract features
print(model.model)

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay