Biến đổi curvelet

Một phần của tài liệu Nghiên cứu loại trừ nhiễu và phân đoạn ảnh bằng phương pháp lọc khuếch tán phi tuyến (Trang 80 - 85)

Chương 3 Các Mô Hình Lọc Khuếch Tán

3.4 Lọc khuếch tán kết hợp biến đổi curvelet

3.4.2 Biến đổi curvelet

Xuất phát điểm đầu tiên của curvelet dựa trên các ridgelet block [1]. Tuy nhiên một phần từ các hiệu ứng blocking, ứng dụng bị hạn chế, bởi vì hình dạng của các ridgelet là không rõ ràng khi chúng không phải là các hàm ridge thực sự trong các ảnh số. Trong phần này, chúng ta áp dụng phương pháp thứ hai được xem là đơn giản hơn để sử dụng là biến đổi curvelet rời rạc DCuT [2,3].

Cho 𝑉(𝑡) và 𝑊(𝑟) là một cặp làm trơn, các hàm cửa sổ giá trị thực không âm, như vậy 𝑉 được xét trên đoạn [−1,1] và 𝑊 trên [1

2, 2]. Các cửa sổ cần thỏa mãn các điều kiện chấp nhận được

∑ 𝑉2(𝑡 − 𝑙) = 1, 𝑡 ∈ ℝ , ∑ 𝑊2(2−𝑗𝑟) = 1, 𝑟 > 0 ∞

𝑗=−∞ ∞

𝑙=−∞

Những điều kiện này được thỏa mãn ví dụ các cửa sổ Meyer có quy mô

𝑉(𝑡) = { 1 |𝑡| ≤ 1/3 𝑐𝑜𝑠 [𝜋 2𝑣(3|𝑡| − 1)] 1/3 ≤ |𝑡| ≤ 2/3 0 𝑐ò𝑛 𝑙ạ𝑖 , 𝑊(𝑟) = { 1 5/6 ≤ 𝑟 ≤ 4/3 𝑐𝑜𝑠 [𝜋 2𝑣(5 − 6𝑟)] 2/3 ≤ 𝑟 ≤ 5/6 𝑐𝑜𝑠 [𝜋 2𝑣(3𝑟 − 4)] 4/3 ≤ 𝑟 ≤ 5/3 0 𝑐ò𝑛 𝑙ạ𝑖

trong đó 𝑣 là một hàm làm trơn thỏa mãn

𝑣(𝑥) = {0 𝑥 ≤ 0

1 𝑥 ≥ 1, 𝑣(𝑥) + 𝑣(1 − 𝑥) = 1, 𝑥 ∈ ℝ

Đối với trường hợp đơn giản 𝑣(𝑡) = 𝑡 các hàm cửa sổ 𝑉(𝑡) và 𝑊(𝑟) được vẽ trong Hình 5.1.

Tác giả: Nguyễn Xuân Việt 79 Cho biến đổi Fourier của 𝑓 ∈ 𝐿2(ℝ2) được định nghĩa bởi 𝑓̂(𝜉) ≔

1

2𝜋∫ 𝑓(𝑥)𝑒ℝ2 −𝑖〈𝑥,𝜉〉𝑑𝑥. Bây giờ với 𝑗 ≥ 0 cho cửa sổ 𝑈𝑗(𝜉), 𝜉 = (𝜉1, 𝜉2) ∈ ℝ2 trong miền tần số được biểu diễn bởi

𝑈𝑗(𝜉) = 2−3𝑗/4𝑊(2−𝑗|𝜉|)𝑉(2|𝑗/2|𝜃), 𝜉 ∈ ℝ2

trong đó (|𝜉|, 𝜃) biểu thị tọa độ cực tương ứng với 𝜉. Giá của 𝑈𝑗 là một cực ‘wedge’ được xác định bởi supp𝑊(2−𝑗) = [2𝑗−1, 2𝑗+1] và supp𝑉(2|𝑗/2|) = [−2|𝑗/2|, 2|𝑗/2|].

Hình 3.2 Cửa sổ 𝑈0(𝜉) (bên trái) và hình chiếu đứng (bên phải)

Hệ curvelet lúc này được biểu diễn bởi ba tham số; một tham số quy mô 2−𝑗, 𝑗 ∈ ℕ0; một chuỗi cách đều các góc quay 𝜃𝑗,𝑙 = 2𝜋𝑙 ∙ 2−|2𝑗|, 0 ≤ 𝑙 ≤ 2|𝑗2|− 1, và một tọa độ 𝑥𝑘(𝑗,𝑙) = 𝑅𝜃−1𝑗,𝑙(𝑘12−𝑗, 𝑘22−|

𝑗

2|)𝑇, (𝑘1, 𝑘2) ∈ 𝕫2, trong đó 𝑅𝜃𝑗,𝑙 biểu thị ma trận quay với góc 𝜃𝑗,𝑙. Curvelet được định nghĩa bởi

𝜑𝑗,𝑙,𝑘(𝑥) ≔ 𝜑𝑗(𝑅𝜃𝑗,𝑙(𝑥 − 𝑥𝑘(𝑗,𝑙))) , 𝑥 = (𝑥1, 𝑥2) ∈ ℝ2

trong đó 𝜑̂𝑗(𝜉) ≔ 𝑈𝑗(𝜉), 𝑈𝑗 là biến đổi Fourier của 𝜑𝑗. Chúng ta thấy rằng trong miền không gian, 𝜑𝑗,𝑙,𝑘 là suy giảm nhanh chóng từ 2−𝑗 bởi 2−𝑗/2 hình chữ nhật với tâm 𝑥𝑘(𝑗,𝑙) và hướng 𝜃𝑗,𝑙 cùng với trục tung theo x. Hơn nữa, việc đưa vào các giá trị thực, cửa số thông thấp không âm 𝑊0 bởi

𝑊0(𝑟)2+ ∑ 𝑊(2−𝑗𝑟)2 = 1 𝑗≥0

Tác giả: Nguyễn Xuân Việt 80

𝜑−1,0,𝑘(𝑥) ≔ 𝜑−1(𝑥 − 𝑘), 𝜑̂−1(𝜉) ≔ 𝑊0(|𝜉|)

là vô hướng. Để đơn giản, cho 𝜇 = (𝑗, 𝑙, 𝑘) là tập hợp của ba hệ số. Hệ curvelet (𝜑𝜇)

biểu diễn một khung kín trong 𝐿2(ℝ2), mỗi hàm 𝑓 ∈ 𝐿2(ℝ2) có thể được biểu diễn bởi

𝑓 = ∑ 𝑐𝜇(𝑓)𝜑𝜇 𝜇

Sử dụng đồng nhất thức của Parsenval, các hệ số curvelet được cho bởi

𝑐𝜇(𝑓) ≔ 〈𝑓, 𝜑𝜇〉 = ∫ 𝑓̂(𝜉)𝜑̂̅̅̅̅̅̅̅̅̅̅̅𝜇(𝜉)𝑑𝜉 ℝ2 = ∫ 𝑓̂(𝜉)𝑈̅̅̅̅̅̅̅̅̅̅̅̅̅̅𝑗(𝑅𝜃𝑗,𝑙, 𝜉) ℝ2 𝑒𝑖〈𝑥𝑘 (𝑗,𝑙),𝜉〉𝑑𝜉 (3.55)

Trong các hệ thống xử lý thực tế người ta muốn có các mảng Cartesian thay vì lát cắt cực của mặt phẳng tần số. Coronae Cartesian dựa trên các hình vuông có tâm (thay vì hình tròn) và các chuyển vị. Candes đã áp dụng một lưới pseudo-polar bằng cách thay thế cửa sổ 𝑊𝑗(𝜉) ≔ 𝑊(2−𝑗𝜉) bởi một cửa sổ có dạng

𝑊̃𝑗(𝜉) = 𝜒[0,∞)(𝜉1)√ɸ2(2−𝑗−1𝜉1) − ɸ2(2−𝑗𝜉1), 𝑗 ≥ 0

trong đó cửa sổ một chiều ɸ thỏa mãn 0 ≤ ɸ ≤ 1, suppɸ ⊂ [−2,2] vàɸ(𝑟) = 1 với

𝑟 ∈ [−1/2,1/2]. Như trước đó, 𝜑 có thể được coi là một cửa sổ Meyer.

Với 𝑉𝑗(𝜉) ≔ 𝑉(2𝑏𝑗/2𝑐𝜉2/𝜉1) cửa sổ Cartesian,

𝑈̃𝑗(𝜉) ≔ 2−3𝑗/4𝑊̃𝑗(𝜉)𝑉𝑗(𝜉)

có thể xác định được, theo cách tương tự với 𝑈𝑗 và xác định các tần số gần wedge

{(𝜉1, 𝜉2): 2𝑗 ≤ 𝜉1 ≤ 2𝑗+1, −2|𝑗/2| ≤ 𝜉2/𝜉1 ≤ 2|𝑗/2|}

Tác giả: Nguyễn Xuân Việt 81 Hình 5.3 là một ví dụ cho 𝑈̃0. Cho 𝑡𝑎𝑛𝜃𝑗,𝑙 ≔ 𝑙2−|𝑗2|, 𝑙 = −2|𝑗2|, … , 2|2𝑗|− 1 được thiết lập cách đều các đường dốc và để

𝜑̃𝜇(𝑥) = 𝜑̃𝑗,𝑘,𝑙(𝑥) ≔ 𝜑̃𝑗(𝑆𝜃𝑇𝑗,𝑙(𝑥 − 𝑥̃𝑘(𝑗,𝑙))) , 𝑥 = 𝑥 = (𝑥1, 𝑥2) ∈ ℝ2, 𝜑̃̂𝑗(𝜉) ≔ 𝑈̃𝑗(𝜉) Khi đối ứng cartesian của 𝜑𝑗,𝑙,𝑘, trong đó 𝑥̃𝑘(𝑗,𝑙) ≔ 𝑆𝜃−𝑇𝑗,𝑙(𝑘12−𝑗, 𝑘22−|2𝑗|

) =: 𝑆𝜃−𝑇𝑗,𝑙𝑘𝑗, và với ma trận chuyển vị

𝑆𝜃 = ( 1 0 −𝑡𝑎𝑛𝜃 1)

Chúng ta thấy rằng các góc 𝜃𝑗,𝑙 nằm trong dải −𝜋/4 và 𝜋/4 không được cách đều ở đây, nhưng gradient giảm. Biểu thức curvelet 𝜑̃𝜇 cần được hoàn thiện bởi tính đối xứng và bởi phép quay ±𝜋/2 radian để thu được hầu hết tập hợp. Chúng ta tìm thấy đối ứng cartesian của các hệ số trong (3.62) bởi

𝑐̃𝜇(𝑓) = 〈𝑓, 𝜑̃𝜇〉 = ∫ 𝑓̂(𝜉)𝑈̃𝑗 ℝ2 (𝑆𝜃−1𝑗,𝑙𝜉)𝑒𝑖〈𝑥̅𝑘 (𝑗,𝑙) ,𝜉〉𝑑𝜉 =∫ 𝑓̂ (𝑆𝜃−1𝑗,𝑙𝜉) 𝑈̃𝑗 ℝ2 (𝜉)𝑒𝑖〈𝑘𝑗,𝜉〉𝑑𝜉 Đối với các ứng dụng của chúng ta, chúng ta cần biến đổi curvelet cho các hàm (các ảnh) bình phương. Đối với mục đích đó chúng ta xét N-phân kỳ của 𝜑̃𝜇,

𝜑̃𝜇𝑝(𝑥) ≔ ∑ 𝜑̃𝜇(𝑥 − 𝑁𝑛), 𝑥 ∈ ℝ2, 𝑛 = (𝑛1, 𝑛2) 𝑛∈𝕫2

trong đó 𝑁 ∈ ℕ là cố định. N-chu kỳ hàm 𝑓 ∈ 𝐿2(Ω), Ω = [0, 𝑁]2, lúc này có thể được viết dưới dạng

𝑓 = ∑ 𝑐̃𝜇𝐷 𝜇∈𝑀

(𝑓)𝜑̃𝜇𝑝,

với một tập hệ số đã biết M mà chúng ta sẽ xác định dưới đây, và với

𝑐̃𝜇𝐷(𝑓) ≔ ∫ 𝑓(𝑥)𝜑̃̅̅̅̅̅̅̅̅𝑑𝑥 = ∫ 𝑓(𝑥)𝜑̃𝜇𝑝(𝑥) ̅̅̅̅̅̅̅̅𝑑𝑥𝑢(𝑥) ℝ2

(3.56)

Chúng ta thấy rằng trong trường hợp phân kỳ chúng ta có

𝜑̃𝑗,𝑙,(𝑘

1,𝑘2)

𝑝 (𝑥) = 𝜑̃𝑗,𝑙,(𝑘𝑝 1+2𝑗𝑁,𝑘2)(𝑥)

Tác giả: Nguyễn Xuân Việt 82 𝜑̃𝑗,𝑙,(𝑘 1,𝑘2) 𝑝 (𝑥) = 𝜑̃ 𝑗,𝑙,(𝑘1,𝑘2+22|𝑗/2|−𝑡𝑁) 𝑝 (𝑥)

Do vậy, trong trường hợp N-chu kỳ tập hệ số M có dạng

𝑀 = {(−1,0, (𝑘1, 𝑘2)): 𝑘1, 𝑘2 = 0, … , 𝑁 − 1} ∪ {(𝑗, 𝑙, (𝑘1, 𝑘2)): 𝑗 ∈ ℕ0} (3.64)

𝑙 = −2|𝑗2|, … , 2|2𝑗| − 1, 𝑘1 = 0, … , 2𝑗𝑁 − 1, 𝑘2 = 0, … , 22|𝑗2|−𝑡𝑁 − 1

Việc sử dụng chuỗi Fourier của 𝑓,

𝑓(𝑥) = ∑ 𝑑𝑚(𝑓)𝑒2𝜋𝑖〈𝑚,𝑥〉/𝑁, 𝑑𝑚(𝑓) ≔ 1 𝑁2∫ 𝑓(𝑥)𝑒2𝜋𝑖〈𝑚,𝑥〉/𝑁𝑑𝑥 Ω 𝑚∈𝕫2 Suy ra với 𝑘𝑗 ≔ (𝑘12−𝑗, 𝑘22−𝑗/2) 𝑐̃𝜇𝐷(𝑓) = ∑ 𝑑𝑚(𝑓) ∫ 𝑒2𝜋𝑖〈𝑚,𝑥〉/𝑁𝜑̃̅̅̅̅̅̅̅̅𝑑𝑥𝜇(𝑥) ℝ2 𝑚∈𝕫2 = 𝑁 ∑ 𝑑𝑚(𝑓)𝜑̃̂𝜇(2𝜋𝑚 𝑁 ) ̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝑚∈𝕫2 = 𝑁 ∑ 𝑑𝑚(𝑓)𝑈̃𝑗(2𝜋 𝑁 𝑆𝜃𝑗,𝑙 𝑇 𝑚) 𝑒−2𝜋𝑖𝑁 〈𝑆𝜃𝑗,𝑙𝑇 𝑚,𝑘𝑗〉 𝑚∈𝕫2

Tuy nhiên chu kỳ của hệ curvelet được giải thích ở trên không được xét đến. Người ta có thể áp dụng phương pháp sau cho một số ước lượng của 𝑐̅𝜇𝐷(𝑓). Cố định

𝑗0 ∈ ℕ và tính 𝑐̅𝜇𝐷(𝑓) với 𝜇 ∈ 𝑀𝑗0, trong đó 𝑀𝑗0 = {𝜇 ∈ 𝑀: 𝑗 ≤ 𝑗0}. Một cách tương tự, tính 𝑐̅𝜇𝐷(𝑓) theo ba góc phần tư khác, nếu 𝜑̅𝜇(𝑥1, 𝑥2) được thay thế bởi

𝜑̅𝜇(−𝑥1, −𝑥2) một cách tương ứng.

Thuật toán.

1. Áp dụng FFT 2D để tính các hệ số Fourier 𝑑𝑚(𝑓) của 𝑓. 2. Với mọi m với 𝑆𝜃𝑇𝑗,𝑙𝑚 ∈ 𝑠𝑢𝑝𝑝𝑈𝑗 tính tích

𝑑𝑚(𝑓)𝑈𝑗(2𝜋

𝑁 𝑆𝜃𝑗,𝑙

𝑇 𝑚)

Tác giả: Nguyễn Xuân Việt 83 Trong các ứng dụng, 𝑓 thường được cho như một tập rời rạc, 𝑓 = (𝑓𝑖,𝑗)

𝑖,𝑗=0 𝑁−1

. Đối với việc tính toán 𝑑𝑚(𝑓), người ta có thể nội suy 𝑓 bởi các hàm spine tuyến tính từng mảng mà biến đổi Fourier của chúng đã biết.

Trong bước cuối cùng, một FFT không được cách đều có thể được sử dụng. Tiếp theo DcuT nghịch có cùng giá tính toán 𝑂(𝑁2𝑙𝑜𝑔𝑁) cho một ảnh (𝑁 × 𝑁).

Một phần của tài liệu Nghiên cứu loại trừ nhiễu và phân đoạn ảnh bằng phương pháp lọc khuếch tán phi tuyến (Trang 80 - 85)

Tải bản đầy đủ (PDF)

(131 trang)