Miền tần số biểu thị điều gì trong trường hợp hình ảnh?


110

Tôi chỉ học về miền tần số trong hình ảnh.

Tôi có thể hiểu phổ tần số trong trường hợp sóng. Nó biểu thị tần số nào có trong một sóng. Nếu chúng ta vẽ phổ tần số của cos(2πft) , chúng ta sẽ nhận được tín hiệu xung tại f+f . Và chúng ta có thể sử dụng các bộ lọc tương ứng để trích xuất thông tin cụ thể.

Nhưng phổ tần có nghĩa là gì trong trường hợp hình ảnh? Khi chúng ta lấy FFT của một hình ảnh trong OpenCV, chúng ta sẽ nhận được một hình ảnh kỳ lạ. Hình ảnh này biểu thị điều gì? Và ứng dụng của nó là gì?

Tôi đọc một số cuốn sách, nhưng chúng đưa ra rất nhiều phương trình toán học hơn là hàm ý vật lý. Vì vậy, bất cứ ai cũng có thể cung cấp một lời giải thích đơn giản về miền tần số trong hình ảnh với một ứng dụng đơn giản của nó trong xử lý hình ảnh?


5
Cách tốt nhất để hiểu những gì một biến đổi làm là chơi xung quanh với việc cung cấp các đầu vào đơn giản cho biến đổi nghịch đảo .
endolith

1
Xem thêm lời giải thích thú vị này của Steve Eddins blog.mathworks.com/steve/2009/12/04/ Kẻ
Alessandro Jacopson

@endolith Vâng! bạn cần có một số kiến ​​thức về tên miền trước để hiểu đầy đủ những gì đang xảy ra và tại sao nó lại xảy ra ..
SIslam

thân yêu miền tần số của hình ảnh đại diện cho cường độ năng lượng trong watt đối với các tần số nhất định trong hertiz với như (thành phần dc, tần số thấp và tần số cao)
mntaser

Câu trả lời:


93

Nhưng phổ tần có nghĩa là gì trong trường hợp hình ảnh?

"Phương trình toán học" rất quan trọng, vì vậy đừng bỏ qua chúng hoàn toàn. Nhưng FFT 2d cũng có một diễn giải trực quan. Để minh họa, tôi đã tính FFT nghịch đảo của một vài hình ảnh mẫu:

nhập mô tả hình ảnh ở đây

Như bạn có thể thấy, chỉ có một pixel được đặt trong miền tần số. Kết quả trong miền hình ảnh (tôi chỉ hiển thị phần thực) là "mẫu cosin xoay" (phần ảo sẽ là hình sin tương ứng).

Nếu tôi đặt một pixel khác trong miền tần số (ở viền trái):

nhập mô tả hình ảnh ở đây

Tôi nhận được một mẫu tần số 2d khác nhau.

Nếu tôi đặt nhiều hơn một pixel trong miền tần số:

nhập mô tả hình ảnh ở đây

bạn có được tổng của hai cosin.

Vì vậy, giống như sóng 1d, có thể được biểu diễn dưới dạng tổng của sin và cosin, bất kỳ hình ảnh 2d nào cũng có thể được biểu diễn (nói một cách lỏng lẻo) như một tổng của "sin và cosin xoay", như được hiển thị ở trên.

Khi chúng ta chụp fft một hình ảnh trong opencv, chúng ta nhận được hình ảnh kỳ lạ. Hình ảnh này biểu thị điều gì?

Nó biểu thị biên độ và tần số của sin / cosin, khi được thêm vào, sẽ cung cấp cho bạn hình ảnh gốc.

Và ứng dụng của nó là gì?

Thực sự có quá nhiều để đặt tên cho tất cả. Tương quan và tích chập có thể được tính toán rất hiệu quả bằng cách sử dụng FFT, nhưng đó là tối ưu hóa nhiều hơn, bạn không "nhìn" vào kết quả FFT cho điều đó. Nó được sử dụng để nén hình ảnh, bởi vì các thành phần tần số cao thường chỉ là nhiễu.


3
bạn có thể chỉ định phần nào là tần số cao và phần nào là tần số thấp trong hình ảnh miền tần số không?
Abid Rahman K

4
@arkiaz: Trong các hình ảnh tôi đã hiển thị, tần số cao nhất nằm ở trung tâm của hình ảnh, tần số thấp nhất (nghĩa là trung bình của hình ảnh đầu vào) là pixel trên cùng bên trái trong kết quả FFT. Đó là những gì hầu hết các triển khai FFT cung cấp cho bạn. Nếu bạn hiển thị kết quả FFT, việc di chuyển tần số thấp nhất đến trung tâm của hình ảnh được hiển thị là điều phổ biến.
Niki Estner

1
@Mohammad: Tôi đã sử dụng InverseFourierchức năng của Mathematica . Không octave / matlab ifft2làm như vậy?
Niki Estner

1
@JimClay Đối với hình ảnh màu, tôi thực sự khuyên bạn nên sử dụng tên miền YUV . Y = cường độ tuyệt đối và UV = màu. Ngay cả đối với hình ảnh màu, hầu hết thông tin bạn quan tâm đều nằm ở phần cường độ của hình ảnh. Bạn sử dụng tất cả các công cụ toán học giống nhau, chỉ cần nhớ để chuyển đổi trở lại.
Atav32

4
Đây sẽ là tuyệt vời như hình ảnh động, giống như di chuyển điểm xung quanh và hiển thị như thế nào những con sóng thay đổi chiều rộng và góc
endolith

29

Tôi nghĩ rằng điều này đã được đặt rất tốt trong "hướng dẫn DSP" nổi tiếng ( chương 24, phần 5 ):

Phân tích Fourier được sử dụng trong xử lý hình ảnh theo cách tương tự như với tín hiệu một chiều. Tuy nhiên, hình ảnh không được mã hóa thông tin trong miền tần số, khiến các kỹ thuật trở nên ít hữu ích hơn nhiều. Ví dụ, khi biến đổi Fourier được lấy tín hiệu âm thanh, dạng sóng miền thời gian khó hiểu được chuyển đổi thành phổ tần số dễ hiểu.

Để so sánh, lấy biến đổi Fourier của hình ảnh sẽ chuyển đổi thông tin đơn giản trong miền không gian thành dạng hỗn hợp trong miền tần số. Nói tóm lại, đừng mong đợi biến đổi Fourier sẽ giúp bạn hiểu thông tin được mã hóa trong hình ảnh.

Tất nhiên, có một số cấu trúc và ý nghĩa đằng sau mô hình dường như ngẫu nhiên thu được bằng cách lấy DFT của một hình ảnh điển hình (ví dụ như ví dụ dưới đây), nhưng nó không ở dạng mà bộ não con người được chuẩn bị để hiểu theo trực giác, ít nhất là về nhận thức trực quan.

Imgur

Dưới đây là một giải thích thú vị và khá dễ đọc khác về những gì có trong một biến đổi Fourier của một hình ảnh, và làm thế nào nó có thể được diễn giải. Nó có một loạt các hình ảnh làm cho nó khá rõ ràng sự tương ứng giữa hình ảnh biến đổi Fourier và hình ảnh gốc.

chỉnh sửa: hãy xem trang này , trong đó thể hiện cách màgầngần cuối cùng, cách thức hầu hết các thông tin quan trọng về hình ảnh được lưu trữ trong thành phần pha (góc) của biểu diễn tần số.

chỉnh sửa 2: một ví dụ khác về ý nghĩa của pha và cường độ trong biểu diễn Fourier: "Phần 3.4.1, Tầm quan trọng của pha và cường độ" của sách giáo khoa " Nguyên tắc cơ bản của xử lý ảnh " của TU Delft cho thấy điều này khá rõ ràng:

Imgur


Chào! Tôi đã thử theo liên kết thứ hai trong câu hỏi của bạn ( "một giải trình thú vị và khá dễ đọc khác ..." ) nhưng liên kết không hoạt động. Tôi cũng đã thử liên kết được cung cấp trong các ý kiến, nhưng không hoạt động. Bạn có thể tìm và chỉnh sửa trong một liên kết làm việc không?
Penelope

@penelope bạn là người thứ hai nhận thấy vấn đề với liên kết (xem bình luận trước của tôi). Các trang dường như không ổn định, thực sự. Như tôi đã nói trước đây, tôi sẽ thay thế liên kết bằng phiên bản Lưu trữ web. Cảm ơn đã chỉ ra điều này!
waldyrious

1
Trên thực tế, các ví dụ và giải thích tại liên kết (cuối cùng hoạt động) là tuyệt vời :)
Penelope

12

Sóng là sóng một chiều; nó chỉ phụ thuộc vào . Sóng là sóng hai chiều. Nó phụ thuộc vào và . Như bạn thấy, bạn có hai tần số, theo một trong hai hướng.f(t)=cos(ωt)f ( x , y ) = c o s ( ω x + ψ y ) x ytf(x,y)=cos(ωx+ψy)xy

Do đó, biến đổi Fourier (FFT) của sẽ cung cấp cho bạn , giống như FFT của mang đến cho bạn . Và nếu đầu vào của bạn là một hàm tổng các cosin 2D, thì FFT 2D của bạn sẽ là tổng tần số của các cosin đó - lại là một dạng tương tự trực tiếp của FFT 1D.ω , ψ c o s ( ω x ) ωcos(ωx+ψy)ω,ψcos(ωx)ω


10

Có thể đáng chú ý rằng Phân tích Fourier là trường hợp đặc biệt của một khái niệm gọi là các hàm trực giao . Ý tưởng cơ bản là bạn chia tín hiệu phức tạp thành chồng chập tuyến tính của các hàm "cơ sở" đơn giản hơn. Bạn có thể thực hiện xử lý hoặc phân tích trên các hàm cơ sở và sau đó tổng hợp kết quả cho các hàm cơ sở để lấy kết quả cho tín hiệu gốc.

Để làm việc này, có một số yêu cầu toán học nhất định cho các hàm cơ sở, tức là chúng lý tưởng tạo thành một cơ sở trực giao. Trong trường hợp Biến đổi Fourier, các hàm cơ bản là các hàm mũ phức tạp. Tuy nhiên, có nhiều chức năng khác cũng có thể được sử dụng cho điều đó.


Đúng. Những loại chức năng cơ bản khác là gì? Tôi đang nghĩ sóng conubechies, nhưng cũng có những cái khác? Điều gì sẽ phân biệt chúng?
Spacey

Có lẽ nổi tiếng nhất là đa thức; đại diện của một hàm như một tập hợp đa thức được gọi là serie Taylor của nó . Serie này được tính toán dễ dàng từ các dẫn xuất chức năng.
MSalters

2
Một cách để tìm các chức năng cơ bản là áp dụng Phân tích thành phần chính . Kết quả 'hình ảnh bản địa' thường có hình thức trực quan hơn con người so với các hàm sin / cos. Ví dụ, xem Eigenfaces . Miền tần số vẫn phù hợp với nhận thức (mắt / não của chúng ta có máy dò cạnh nhạy với tần số, đặc biệt là khi có chuyển động); các chức năng cơ bản chỉ là không có ý nghĩa như hình ảnh.
Dan Bryant

PCA là một kỹ thuật tính toán cơ sở tốt đẹp được hiểu rộng rãi, nhưng có nhiều kỹ thuật khác đưa ra các giả định khác nhau về cách dữ liệu được tạo ra; Phân tích thành phần độc lập (ICA) là một ví dụ phổ biến. Xa hơn một chút, có các thuật toán cho việc học chức năng cơ bản chung bằng cách sử dụng mã hóa thưa thớt (ví dụ: J Mairal và cộng sự, "Học từ điển trực tuyến cho mã hóa thưa thớt", ICML 2009), và sau đó là phương pháp "học tính năng" được phát triển bởi mạng lưới sâu lớp người, dân chúng, dân gian.
lmjohns3

1
Tại sao các chức năng phải trực giao?
quantum231

8

Trong hình ảnh tần số tăng có liên quan đến sự chuyển đổi đột ngột hơn về độ sáng hoặc màu sắc. Hơn nữa, nhiễu thường được nhúng trong dải cao của phổ, vì vậy lọc thông thấp có thể được sử dụng để giảm nhiễu.


1
vì vậy bạn có nghĩa là chuyển đổi đột ngột đôi khi được coi là tiếng ồn?
Abid Rahman K

1
Vâng, thỉnh thoảng. Các ví dụ phổ biến bao gồm tiếng ồn của muỗi (vòng quanh các cạnh), tiếng ồn khối JPEG ở các cạnh của macroblocks và, tất nhiên, hạt. Hãy xem xét một hình ảnh của một gradient đơn giản. Thêm hạt vào hình ảnh này làm tăng nội dung tần số cao của nó bằng cách giới thiệu các chuyển tiếp phút trong suốt hình ảnh.
Emre

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.