Top Ad unit 728 × 90


Biến đổi Fourier (Fourier Transform) trong xử lý ảnh

1.  Fourier transform

1.1.      Mục đích

Tìm hiểu về biến đổi Fourier và cách biểu diễn kết quả trong miền tần số.
Tìm hiểu về phép chập 1 chiều, 2 chiều, thực hiện phép chập trong miền tần số.

1.2.      Các công thức được sử dụng

Tích phân với hàm mũ:
1.PNG
Công thức Euler:
2.PNG
Từ công thức Euler có quan hệ lượng giác:
3.PNG
Tổng cấp số nhân:
4.PNG

1.3.      Biến đổi Fourier cho tín hiệu liên tục

Fourier Transform là phương pháp biến đổi tín hiệu liên tục từ miền thời gian sang miền tần số.
Công thức biến đổi Fourier như sau:
5.PNG
Trong đó:
  • F(w) là kết quả biến đổi tín hiệu từ miền thời gian sang miền tần số.
  • w là tần số góc, w = 2πf, đơn vị rad/s.
  • là biến phức (kỹ sư điện, điện tử sử dụng j thay cho i để phân biệt với ký hiệu dòng điện).
  • p(t) là tín hiệu liên tục trong miền thời gian.
Ví dụ: Biến đổi Fourier cho tín hiệu
6.PNG
Sử dụng công thức (1.5):
7.PNG
Sử dụng quan hệ (1.3) cho (1.7), thu được kết quả:
8.PNG


Hình 1: Tín hiệu p(t) và biến đổi Fourier
Kết quả của biến đổi Fourier có biểu diễn phức như sau:
9.PNG
Trong đó,  Re(w) và Im(w) tương ứng là phần thực và phần ảo của biến đổi Fourier.
Giá trị biên độ (Modulus) tính như sau:
10.PNG
Giá trị pha (phase) tính như sau:
11.PNG
Có thể dùng dấu của Re(w) và Im(w) để xác định pha đang ở góc phần tư nào (do pha biến đổi từ 0 đến 2π).
Untitled2.png
Hình 2: Biên độ và pha của F(w)
Ta có biến đổi Fourier ngược cho phép biến đổi tín hiệu từ miền tần số về miền thời gian. Phép biến đổi ngược định nghĩa theo công thức sau:
12.PNG
Biến đổi Fourier cho biết các tần số tạo nên tín hiệu trong miền thời gian và giá trị biên độ của tần số đó tính theo F(w). Nếu cộng tất cả các tín hiệu đó thì ta thu được tín hiệu giống hệt tín hiệu ban đầu.
Các hình sau minh họa cho quá trình tổng hợp tín hiệu p(t) trong ví dụ trên với w trong dải (-6, 6). Với dải tần càng rộng, kết quả càng giống tín hiệu ban đầu.
Untitled3.png
Hình 3: Tổng hợp tín hiệu
Có 1 phép toán rất quan trọng trong biến đổi Fourier đó là phép chập (Convoulution). Phép chập trong miền thời gian của tín hiệu  và tín hiệu , ký hiệu là *, định nghĩa bởi công thức sau:
13.PNG
Sử dụng công thức (1.5), ta có biến đổi Fourier của phép chập như sau:
14.PNG
Trong đó,  14_1.PNG tương ứng là biến đổi Fourier của  14_2.PNG
  • Thêm một cách thực hiện phép chập:
  • Biến đổi tín hiệu sang miền tần số.
  • Thực hiện phép nhân.
  • Biến đổi ngược tín hiệu về miền thời gian.
   Cách này chỉ hiệu quả khi tín hiệu có kích thước lớn, việc thực hiện phép chập cần rất nhiều phép nhân. Chi tiết hơn sẽ được trình bày ở phần sau.

1.4.      Biến đổi Fourier rời rạc

Ảnh số là tín hiệu rời rạc. Do đó, ta cần có cách biến đổi Fourier với loại tín hiệu này, hay còn gọi là biến đổi Fourier rời rạc, viết tắt là DFT (Discrete Fourier Transform).
DFT của một tập N điểm  là một tập cá điểm  trong miền tần số, tính theo công thức sau:
15.PNG
Ví dụ: Áp dụng DFT cho chuỗi tín hiệu xung  điểm có biên độ A:
16.PNG
Áp dụng (1.4) cho (1.16):
17.PNG
Biên độ (Modulus) của số phức :
18.PNG
Untitled4.png
Hình 4: Hàm xung và biến đổi DFT
Tương tự như biến đổi Fourier, ta cũng có thể dùng kết quả của DFT để tổng hợp lại tín hiệu rời rạc trong miền thời gian từ các thành phần tần số dạng sin. Các hệ số của DFT cho biết biên độ của các thành phần tần số.
Công thức biến đổi DFT ngược:
19.PNG
Untitled5.png
Hình 5: Tổng hợp tín hiệu  từ kết quả DFT
Bên trên ta mới chỉ xét biến đổi DFT 1 chiều. Tuy nhiên, để xử lý ảnh số, ta cần phép biến đổi DFT 2 chiều. Ta sẽ xét sự biến đổi giá trị điểm ảnh theo 2 chiều tọa độ Ox và Oy, tương ứng có 2 chiều trong miền tần số, đặt là u và v.
Biến đổi DFT cho ảnh kích thước N × N tính theo công thức sau:

Untitled6.png
Hình 6: Biến đổi DFT 2 chiều
Hình 6 minh họa biến đổi DFT 2 chiều. Ảnh gốc chỉ có sự biến đổi giá trị theo chiều Ox nên tương ứng trong miền tần số chỉ có sự thay đổi giá trị theo u.
Giống như các biến đổi trước, DFT 2 chiều có biến đổi ngược theo công thức sau:
23.PNG

Một đặc tính quan trọng của biến đổi DFT là tính lặp lại, hay chu kỳ. Ta sẽ chứng minh DFT 2 chiều có đặc tính này. Với biến đổi DFT của ảnh kích thước N × N , với  n là các số nguyên, ta tính:
24.PNG
Do m, n nguyên nên  nguyên. Áp dụng (1.2) được:
26.PNG
Kết quả (1.27) cho thấy Capture24_1.PNG tuần hoàn với chu kỳ N, với N × N là kích thước của ảnh đầu vào.
Như vậy, mặc dù các biến u và v không bị chặn (từ -∞ đến ∞ ), nhưng do tính chất tuần hoàn nên kết quả của biến đổi DFT 2 chiều của ảnh N × N chỉ cần biểu diễn dưới dạng ma trận N × N.
Giá trị Capture27_2.PNG còn gọi là hệ số DC (Direct Current). Thay u = v = 0  vào phương trình (1.17) ta được:
 28.PNG
Hay Capture27_2.PNG là tổng giá trị tất cả các điểm ảnh chia cho .
Hình 7 bên trái biểu diễn kết quả biến đổi DFT dưới dạng ma trận. Ta sử dụng phép dịch để được kết quả như hình bên phải, điểm tần số 0 (hệ số DC) nằm ở giữa ma trận, các điểm biểu diễn tần số tăng dần theo chiều tiến ra biên.
Untitled7.png
Hình 7: Dịch hệ số DC vào giữa ma trận kết quả
29.PNG
Phương trình (1.29) cho thấy khi nhân mỗi điểm ảnh với 29.1.PNG, điểm biểu diễn DFT bị dịch đi một đoạn 29.2.PNG theo cả 2 trục. Tức là điểm tần số 0 sẽ nằm chính giữa ma trận kết quả biểu diễn miền tần số.
Thực tế là biến đổi DFT theo định nghĩa khá chậm khi thực hiện trên ảnh có kích thước lớn do phải thực hiện rất nhiều phép nhân. Biến đổi DFT thường được thực hiện bằng thuật toán Fast Fourier Transform (FFT) giúp cải thiện rất nhiều khối lượng tính toán. Tài liệu này không trình bày chi tiết FFT.
Ví dụ: Tính DFT 1 chiều cho tín hiệu rời rạc có 29.3.PNG phần tử cần tới 29.4.PNG
 phép nhân. Tuy nhiên, FFT chỉ cần n29.3  . Do đó, tốc độ xử lý tăng 29.5.PNG lần.
Bảng 1: So sánh thực hiện DFT theo định nghĩa và sử dụng FFT
Kích thước (2n)Số phép nhânTỉ lệ
(Định nghĩa/FFT)
Định nghĩaFFT
41682.0
884242.67
16256644.0
3210241606.4
64409638410.67
1281638489618.3
25665536204832.0
512262144460856.0
1024104857610240102.4
Phép chập giữa 2 ảnh A và B, hay chập 2 chiều, định nghĩa theo công thức sau:
30.PNG
Phép chập này được sử dụng rất nhiều trong xử lý ảnh. Nó chính là cách sử dụng mặt nạ để lọc biên (Sobel, Prewit, Robert), nhiễu , lọc thông thấp thông cao (Gaussian). Giống như chập tín hiệu 1 chiều, phép chập tín hiệu 2 chiều trong miền thời gian tương đương phép nhân trong miền tần số.
Untitled8.png
Hình 8: Phép chập trong xử lý ảnh
Lưu ý: Như đã đề cập ở trên, kết quả của phép DFT thường chỉ biểu diễn dạng ma trận   N × N, với N × N là kích thước ảnh. Nhưng trong miền tần số, u và v không bị giới hạn và kết quả DFT có tính lặp lại theo N.
Giả sử ta cần lọc ảnh N × N sử dụng mặt nạ m × n. Độ phức tạp của FFT 2 chiều là 30_1.PNG. Nếu mặt nạ dùng để lọc đã được biến đổi trước thì ta chỉ cần dùng FFT 2 lần. Sau đó, cần N² phép nhân để nhân 2 ảnh và mặt nạ trong miền tần số. Tổng hợp độ phức tạp:
31.PNG
Thực hiện lọc theo định nghĩa cần  phép nhân cho mỗi điểm ảnh. Số phép nhân cho toàn bộ quá trình lọc theo định nghĩa là:
32.PNG
Ví dụ: Với ảnh kích thước 256×256, ta sử dụng chập trực tiếp với bộ lọc có mặt nạ kích thước 3×3, 5×5 hoặc 7×7. Với mặt nạ lớn hơn, sử dụng FFT cho kết quả nhanh hơn.

2.  Ứng dụng Fourier transform

2.1.      Bộ lọc thông thấp, thông cao

Ta đã biết, trong ảnh xám, vùng ảnh mà giá trị giữa các Pixel thay đổi đột ngột là vùng ảnh tần số cao, ví dụ như biên hoặc nhiễu. Ngược lại, vùng ảnh mà giá trị các Pixel thay đổi rất ít là vùng ảnh có tần số thấp, ví dụ như vùng nền (Background).
Giả sử, ta có ma trận kết quả biến đổi DFT của 1 ảnh xám, hệ số DC được dịch vào giữa. Do các thành phần tần số thấp ở gần tâm ma trận, ta có thể thực hiện các bộ lọc tần số thấp bằng cách loại bỏ các hệ số ở cách xa tâm.
Untitled9.png
Hình 9: Ảnh xám (trái) và biến đổi DFT (phải)
Untitled10.png
Hình 10: Lọc thông thấp (trái) và kết quả (phải)
Hình trên minh họa lọc thông thấp trong miền tần số. Với kích thước hình tròn càng nhỏ thì hình càng bị mờ do các thành phần tần số cao bị lọc đi nhiều.
Untitled11.png
Hình 11: Lọc thông thấp với các kích thước bộ lọc
Ngược lại với lọc thông thấp. Lọc thông cao sẽ loại bỏ các hệ số ở gần tâm và giữa lại các hệ số cách xa tâm. Với kích thước hình tròn càng lớn thì biên của đối tượng trong ảnh càng hiện rõ. Tuy nhiên, bộ lọc này không lọc được nhiễu.
Untitled12.png
Hình 12: Lọc thông cao (trái) và kết quả (phải)
Untitled13.png
Hình 13: Lọc thông cao với kích thước lớn hơn
Biến đổi Fourier (Fourier Transform) trong xử lý ảnh Reviewed by Jacky on tháng 11 04, 2017 Rating: 5

Không có nhận xét nào:

All Rights Reserved by Cộng Đồng OpenCV © 2017
Edit bởi: Jacky Le | Youtube Channel: JACKY LE

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.