Sự khác biệt giữa tích chập tròn và tuyến tính là gì? Khi nào tôi sẽ chọn cái này hơn cái kia? Trong xử lý ảnh trong đó bộ lọc được áp dụng cho ảnh có mặt nạ nên chọn loại tích chập nào?
Sự khác biệt giữa tích chập tròn và tuyến tính là gì? Khi nào tôi sẽ chọn cái này hơn cái kia? Trong xử lý ảnh trong đó bộ lọc được áp dụng cho ảnh có mặt nạ nên chọn loại tích chập nào?
Câu trả lời:
Nếu bạn có một vectơ dữ liệu, , bao gồm các phần tử , thì tích chập tuyến tính hoạt động theo chúng theo thứ tự, bắt đầu bằng và kết thúc bằng .
Hãy tưởng tượng rằng vectơ dữ liệu được biểu thị bằng một tờ giấy với các phần tử được viết theo thứ tự. Bây giờ, hãy tưởng tượng hình thành một mảnh giấy thành một vòng tròn bằng cách chạm vào đầu (nơi ) vào đầu (nơi ). Kết luận đó là tích chập tuần hoàn. Trong thực tế tích chập tuyến tính và tích chập tuần hoàn gần như nhau, sự khác biệt xảy ra ở đầu và cuối của tích chập tuyến tính. Trong tích chập tuyến tính, bạn giả sử rằng có 0 trước và sau dữ liệu của bạn (nghĩa là chúng tôi giả sử rằng " " và " " là 0), trong khi với tích chập tròn, chúng tôi bọc dữ liệu để tạo thành dữ liệu định kỳ (nghĩa là " " và " " bằng với ).
Các nguyên tắc tương tự giữ cho các mảng đa chiều. Đối với tích chập tuyến tính, có một điểm bắt đầu và kết thúc xác định cho mỗi trục, với các số không được giả định trước và sau. Đối với tích chập tròn, dữ liệu bao quanh trong mỗi trục.
When would I choose one over the other?
Với một vài trường hợp ngoại lệ rất hiếm, chúng tôi không "chọn" tích chập tuần hoàn. Chúng tôi hầu như luôn muốn tích chập tuyến tính. Lý do mà các cấu trúc vòng tròn bật lên nhiều như chúng là vì các cấu trúc thông qua FFT (FFT, bội, FFT nghịch đảo) là các cấu trúc tròn, không phải là tuyến tính.
Khi bạn triển khai tích chập trong hình ảnh, bạn phải quan tâm đến các giá trị biên, bởi vì tại một số điểm, mặt nạ tích chập của bạn sẽ "xử lý" hình ảnh để xử lý. Tùy thuộc vào cách bạn điền các giá trị còn thiếu sẽ xác định thời tiết hay không, bạn có thực hiện tích chập tuần hoàn không:
Lưu ý rằng nếu bạn triển khai tích chập trong miền Fourier thì bạn không có lựa chọn nào khác ngoài tích chập tuần hoàn, bởi vì thuật toán FFT sẽ ngầm định kỳ hình ảnh của bạn.
-- BIÊN TẬP --
Chuyển đổi thường được triển khai trong miền Fourier (=> tích chập tuần hoàn) vì nó nhanh hơn đáng kể trong hầu hết các trường hợp nhờ thuật toán FFT. Các thuật toán tích chập tuyến tính nhanh tồn tại, nhưng thường được dành riêng cho trường hợp hạt nhân có thể tách rời trong đó bạn có thể lọc hình ảnh theo chiều ngang và chiều dọc riêng biệt, điều này cũng mang lại ít thao tác hơn so với triển khai 2D ngây thơ.