1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng của phân tích svd để khử nhiễu hình ảnh viết chương trình matlab

35 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Khi đó vectơ

Trang 1

Đề Tài 10

Chủ Đề:

1) Nêu Cơ Sở Lý Thuyết Của Phân Tích Svd

2) Ứng Dụng Của Phân Tích Svd Để Khử Nhiễu Hình Ảnh Viết Chương Trình Matlab

NHÓM 5-LỚP P02

BÁO CÁO BÀI TẬP LỚN

GVHD: Đặng Văn Vinh

Trang 2

BÁO CÁO BÀI TẬP LỚN

Trang 3

Lời mở đầu

Lời đầu tiên, em xin trân trọng bày tỏ lòng biết ơn chân thành với những cá nhân, tổ chức đã giúp đỡ chúng em xuyên suốt quá trình hoàn thành bài tập lớn Trong suốt thời gian từ khi bắt đầu quá trình học tập của chúng em tại trường, chúng em đã và đang nhận được rất nhiều sự quan tâm và nhiệt tình giúp đỡ từ các thầy cô, các bạn và các anh chị

Cùng với lòng biết ơn chân thành và sâu sắc nhất, chúng em xin gửi lời cảm ơn tới các thầy cô mà chúng em đã có dịp học tập tại trường Đại học Bách Khoa đã truyền đạt kiến thức cho chúng em Đặc biệt là thầy Đặng Văn Vinh, người đã góp phần rất lớn cho việc chúng em có thể hoàn thành suôn sẻ đề tài trong lần làm bài tập lớn này Trong quá trình làm việc nhóm, những gì chúng em tiếp thu được không chỉ là kiến thức đơn thuần mà còn là thái độ và cách phối hợp làm việc nhóm,

những kinh nghiệm và kiến thức này sẽ là những vốn quý cho chúng em trong quá trình phát triển và hoàn thiện bản thân Do chỉ là sinh viên năm nhất, và cũng là lần đầu tiên làm bài tập lớn, không thể tránh khỏi những sai sót do kiến thức còn hạn chế Rất mong nhận được những đóng góp, xây dựng từ các bạn cũng như các thầy cô để bài tập lớn chúng em được hoàn thiện hơn nữa

Cuối cùng, một năm cũng đã sắp qua, em xin kính chúc thầy Đặng Văn Vinh thật nhiề sức khỏe, hạnh phúc và thành công hơn nữa trên công cuộc trồng người Chúng em xin gửi lời cảm ơn sâu sắc và chân thành nhất!

Trang 4

3.Các bước tìm giá trị riêng : 4

II Vector riêng của ma trận: 5

1.Định nghĩa: 5

2.Các bước tìm vector riêng của ma trận A: 6

3.Tính chất của trị riêng, vector riêng: 7

III Chéo Hóa Ma Trận: 10

Số 𝜆0 ∈ 𝐾 được gọi là giá trị riêng (gọi tắt là trị riêng – kí hiệu

GTR) của ma trận A, nếu tồn tại một vectơ 𝑋0 ≠ 0 sao cho: 𝐴𝑋0 = 𝜆0𝑋0

Trang 5

Khi đó vectơ 𝑋0 được gọi là vectơ riêng (VTR) của ma trận A ứng với giá trị riêng 𝜆0

Tập hợp tất cả các giá trị riêng của A được gọi là phổ của ma trận A và kí hiệu bởi 𝛿(𝐴)

2 Tính chất:

|𝐴 − 𝜆0𝐼| = 0 (được gọi là phương trình đặc trưng của ma trận A)

2 Một giá trị riêng có thể có nhiều vectơ riêng

3 Mỗi vectơ riêng chỉ ứng với một giá trị riêng duy nhất

nó (trong trường hợp này đa thức đặc trưng được coi là đa thức ma trận, nghĩa là biến số của nó không phải là biến số thực mà là biến ma trận)

5 Nếu 𝜆0 = 0 là giá trị riêng của ma trận A thì A không khả nghịch Ngược lại, nếu mọi GTR của A đều khác không thì A khả nghịch

6 Nếu 𝜆0 là GTR của ma trận A thì 𝜆0𝒌 là giá trị riêng của ma trận 𝐴𝑘

3 Các bước tìm giá trị riêng :

⇒Tất cả các nghiệm của phương trình là tất cả các trị riêng của

Trang 6

Bước 2: Giải phương trình đặc trưng, ta có: 𝜆1 = 1; 𝜆2 = 2

hướng λ và vector 𝑣 ≠ 0 ∈ Rnxn thỏa mãn:

Trang 7

thì 𝜆 là trị riêng của 𝐴 và 𝑣 được gọi là vector riêng tương ứng

Hệ thuần nhất (1) có nghiệm khác 0 ⇔ det(𝐴 − 𝜆𝐼) = 0 (2) Trong đó, 𝜆 là một nghiệm của phương trình (2)

trưng của A

𝑃𝐴(𝜆) = det(𝐴 − 𝜆𝐼) = 0 được gọi là đa thức ặc trưng của 𝐴

✓ Số 𝜆 là trị riêng cùa 𝐴 khi và chỉ khi 𝜆 là nghiệm của

phương trình đặc trưng

✓ Vector 𝑣 là vector riêng của 𝐴 ứng với trị riêng 𝜆 khi và

chỉ khi 𝑣 là một nghiệm khác 0 của hệ phương trình (1)

2 Các bước tìm vector riêng của ma trận A:

Trang 8

3 Tính chất của trị riêng, vector riêng:

✓ Tổng tất cả các trị riêng của 𝐴 bằng với vết của ma

trận 𝐴, tức là bằng với tổng các phần tử trên đường chéo của A

✓ Tích tất cả các trị riêng của 𝐴 bằng với 𝑑𝑒𝑡(𝐴)

✓ Tổng tất cả các bội đại số của các trị riêng bằng với cấp

của 𝐴

✓ Tổng tất cả các bội hình học của các trị riêng bằng với

số vector độc lập tuyến tính cực dại

✓ Nếu 𝜆 là trị riêng của 𝐴, thì 𝜆𝑚 là trị riêng của ma trận 𝐴𝑚, 𝑚 ∈ ℕ

Chứng minh:

Giả sử 𝜆 là trị riêng của 𝐴

Khi đó tồn tại vector 𝑣 ≠ 0, sao cho 𝐴𝑣 = 𝜆𝑣

Suy ra 𝐴𝑚𝑣 = 𝐴𝑚−1(𝐴𝑣) = 𝐴𝑚−1𝜆𝑣 = 𝜆𝐴𝑚−1𝑣 = 𝜆𝐴𝑚−2(𝐴𝑣) = 𝜆𝐴𝑚−2𝜆𝑣 = 𝜆2𝐴𝑚−2𝑣 = ⋯ = 𝜆𝑚𝑣

Vậy 𝐴𝑚𝑣 = 𝜆𝑚𝑣

Trang 9

Suy ra 𝜆𝑚 là trị riêng của 𝐴𝑚 và 𝑣 là vector riêng của 𝐴𝑚 ứng với trị riêng 𝜆𝑚

Ma trận vuông 𝐴 khả nghịch khi và chỉ khi không có trị riêng bằng 0 Nếu 𝜆 là trị riêng của 𝐴, thì 𝜆−1 là trị riêng của ma trận 𝐴−1

Chứng minh:

Giả sử 0 ∈ 𝛿(𝐴)

Phương trình đặc trưng của 𝐴 là 𝑑𝑒𝑡(𝐴 − 𝜆𝐼) = 0

Thế 𝜆 = 0 vào phương trình ta được det(𝐴 − 0 𝐼) = 0 ⇔ 𝑑𝑒𝑡(𝐴) = 0 ⇔ 𝐴 không khả nghịch

Giả sử 𝜆 là trị riêng của 𝐴 và 𝐴 khả nghịch Khi đó tồn tại vector 𝑣 ≠ 0, sao cho 𝐴𝑣 = 𝜆𝑣

Trang 11

2) Giá trị riêng của 𝐴10 là 𝛽1 = 210, 𝛽2 = 810

Vector riêng của 𝐴10 ứng với trị riêng 𝛽1: 𝑣 = (

-Trong trường hợp đặc biệt khi B là ma trận đường chéo thì ta nói ma trận 𝐴 là ma trận chéo hóa được và P là ma trận chéo hóa ma trận 𝐴

Chéo hóa ma trận:

Trang 12

-Cho 𝐴 ∈ 𝑀𝑛, ta có thể nói 𝐴 chính là 1 ma trận của ánh xạ tuyến tính f: 𝑅𝑛 → 𝑅𝑛 đối với cơ sở chính tắc 𝑅𝑛

-Nếu ma trận A chéo hóa được nghĩa là tồn tại 1 ma trận khả nghịch P sao cho 𝑃−1𝐴𝑃 là 1 ma trận chéo thì chính là ma trận đổi cơ sở từ cơ sở chính tắc 𝐵 = {e1 = (1,0,0 ,0); e2 =

(0,1,0 ,0); ; e1 = (0,0,0 ,1)} qua một cơ sở B’ nào đó của 𝑅𝑛 mà trong cơ sở, ma trận AXTT f là ma trận chéo

Nói đơn giản, thì khi 1 ma trận vuông có thể biểu diễn dưới dạng

𝐴 = 𝑃𝐴𝑃−1thì đó là ma trận chéo hóa được và phép biến đổi trên được gọi là chéo hóa ma trận

2.1 Các bước chéo hóa:

giá trị riêng của 𝐴

riêng 𝑉𝜆

sở cho các không gian riêng nhận được ở bước 2

✓ Nếu số phần tử của B’ bằng n (tức là: 𝑑𝑖𝑚(𝑉𝜆) = 𝑛) thì 𝐴 chéo hóa được Ma trận P chéo hóa ma trận 𝐴 chính là ma trận đổi cơ sở chính tắc từ B sang B’

✓ Nếu số phần tử của B’ nhỏ hơn n, nghĩa là ∑ 𝑑𝑖𝑚𝑉𝜆 𝜆 < 𝑛 thì a không chéo hóa được

Bước 4: Ma trận làm chéo hóa 𝐴 cần tìm là ma trận P có các

cột là các vector riêng tìm được

Ta giải các ví dụ sau: Ví dụ 1:

Trang 14

Với 𝐷 là 1 ma trận đường chéo

IV Chéo hóa trực giao

Kiểm tra thấy 𝐴𝑇 = 𝐴.Như vậy A là ma trận đối xứng

Các phần tử của A đối xứng với nhau qua đường chéo chính

nếu 𝐴−1 = 𝐴𝑇 Từ định nghĩa ta có 𝐴𝐴−1 = 𝐴𝐴𝑇 ⟺ 𝐴𝐴𝑇 =

1.Như vậy nếu tích của 𝐴 và 𝐴𝑇 là ma trận đơn vị I, thì 𝐴 là ma trận trực giao

Trang 15

Mệnh đề 1: Ma trận 𝐴 là ma trận trực giao khi và chỉ khi họ vector cột (hoặc họ vector hàng) của 𝐴 là họ trực chuẩn

Chứng minh :

Cho 𝐴 là ma trận trực giao Tức là 𝐴𝐴𝑇 = 𝐼 Để ý phép nhân 2 ma trận với nhau, ta thấy: hàng i của 𝐴 nhân với cột j của ma trận𝐴𝑇 ta được phần tử ở hàng I và cột j của ma trận đơn vị Cột j của 𝐴𝑇 là hàng j của 𝐴

Ta có 𝐴𝑖∗𝐴𝑗∗ = {1, 𝑛ế𝑢 𝑖 = 𝑗 0, 𝑛ế𝑢 𝑖 ≠ 𝑗

Suy ra họ vector hàng của 𝐴 là họ trực chuẩn

Hoàn toàn tương tự, khi xét 𝐴𝑇𝐴 = 𝐼 ta có họ vector cột của 𝐴 là họ trực chuẩn

Sử dụng mệnh đề này để tìm 1 ma trận trực giao 𝐴 cấp n tùy ý như sau

được cơ sở trực giao F

trực chuẩn Q Tạo ma trận 𝐴 có họ vector hàng/cột là Q

Trang 16

Chia mỗi vector cho độ dài của nó, ta có họ trực chuẩn

giao được nếu 𝐴 = 𝑃𝐷𝑃−1là ma trận chéo và P là ma trận trực giao

Các khẳng định sau đây là đúng

2) 𝐴 luôn chéo hóa trực giao được

Trang 17

Như vậy chỉ ma trận đối xứng thực mới chéo hóa trực giao được

2 Chéo hóa trực giao ma trận đối xứng A

riêng

Để tìm cơ sở trực chuẩn của không gian con riêng 𝐸𝜆𝑘, ta theo các bước sau

giao Fk

chuẩn Qk của Eλk

Tức la 𝐴 = 𝑃𝐷𝑃𝑇, trong đó ma trận chéo là các trị riêng của 𝐴, họ vector cột của ma trận trực giao P từ các vector riêng trong các cơ sở trực chuẩn ở bước 2

Trang 19

các trị riêng khác không của 𝐴𝐴𝑇và ATA là trùng nhau Thật vậy, giả sử 𝜆0là một trị riêng khác 0 của 𝐴𝐴𝑇và 𝑋0 vectơ riêng của 𝐴𝐴𝑇tương ứng Khi đó

𝐴𝐴𝑇𝑋0=𝜆0𝑋0.Suy ra𝐴𝑇𝐴𝐴𝑇𝑋0=𝐴𝑇𝜆0𝑋0

Điều này tương đương với 𝐴𝑇𝐴(𝐴𝑇𝑋0) = (𝐴𝑇𝑋0), Vì 𝜆0 ≠ 0 nên 𝐴𝑇𝑋0 ≠ 0 suy ra 𝐴𝑇𝐴 = 𝜆0, dễ dàng nhìn thấy 𝜆0 là trị riêng của 𝐴𝑇𝐴

Trang 20

Ma trận 𝐴𝐴𝑇 và ma trận 𝐴𝑇𝐴 là hai ma trận đối xứng, nên chúng có thể chéo hóa trực giao được

Phân tích SVD của ma trận 𝐴: Cho ma trận 𝐴 ∈

𝑀𝑚,𝑛 [𝑅], 𝑟(𝐴) = 𝑟 Ma trận 𝐴 có thể phân tích thành dạng 𝐴 = 𝑄⅀𝑃𝑇 , trong đó Q (Left singular vector) và P(Right singular vector) là hai ma trận đều có họ vecto cột là trực chuẩn, ⅀ = (𝐷 0

0 0) là ma trận cỡ 𝑚 × 𝑛, D là ma trận chéo, có các phần tử trên dường chéo σ1; σ2 ; σ3; ; σ𝑟 là những số thực dương và được gọi là các singular values của 𝐴

Trang 21

Như vậy ma trận 𝐴 chỉ phụ thuộc vào r cột đầu tiên của P,Q và r phần tử khác không trên đường chéo của ⅀ Ta có phân tích gọn hơn của 𝐴 là compact SVD: 𝐴 = 𝑄𝑟𝐷𝑃𝑟 , với 𝑄𝑟 𝑃𝑟 là các ma trận tạo nên từ các cột cua Q và P tương ứng.

hướng, ta tính ra được ma trận của 𝑞𝑖𝑝𝑖𝑇bằng cách lấy hàng đầu tiên của vectơ 𝑞𝑖 nhân với các phần tử của vector 𝑝𝑖ta được hàng thứ nhất của ma trận Tiếp tục lấy hàng thứ hai của vector 𝑞𝑖 nhân với các phần tử của vector 𝑝𝑖ta thu được hàng thứ hai của ma trận Tiếp tục đến hàng cuối cùng của 𝑞𝑖ta thu được 1 ma trận có hạng luôn bằng 1 vì số độc lập tuyến tính tối

Trong lưu trữ hình ảnh, thông thường chỉ 1 vài σ𝑚 có giá trị cao và các σ𝑛 còn lại xấp xỉ bằng 0 nên có thể bỏ qua Khi đó ta có xấp xỉ và sai số trong xấp xỉ trên được xác định bởi công thức

Trang 22

Ta có 𝐴𝐴𝑇 = (17 8 8 17)

Giải phương trình đặc trưng 𝑑𝑒𝑡 (𝐴 − 𝐼𝜆)

(17 − 𝜆)2 = 64 ⟹ 𝜆 = 25 ℎ𝑜ặ𝑐 𝜆 = 9 Chéo hóa trực giao 𝐴𝐴𝑇=𝑄𝐷1𝑄𝑇

𝐷1là ma trận đường chéo chứa các trị riêng cuả 𝐴𝐴𝑇 theo chiều giảm dần( theo định nghĩa tích phân SVD) ⇒ 𝐷1 = (25 0

Giải 𝑑𝑒𝑡 (𝐴 − 𝐼𝜆)𝑋 = 0 với 𝜆 = 25, 𝜆 = 9 và áp dụng Gram-Schmidt, ta thu được P=

Trang 23

Phân tích SVD của 𝐴 = 𝑄⅀𝑃𝑇, Với Q,P đã tìm được ở trên và

Một ứng dụng đơn giản của SVD là giảm nhiễu trong hình ảnh Ví dụ ở đây là hình ảnh của một hình chữ nhật màu đen và trắng:

Hình ảnh được coi như một ma trận trong đó 1 là màu trắng và 0 là màu đen Sử dụng SVD dẫn đến các singular values (các mục đường chéo của) là 14,72, 5,13 và 3,314

Có ba singular values vì thứ hạng của ma trận là 3 Bây giờ, hãy thêm một số nhiễu ngẫu nhiên đồng nhất vào hình ảnh:

Trang 24

Xếp hạng của ma trận hình ảnh mới hiện là 15 Sử dụng SVD để tìm các singular values của ma trận hình ảnh mới cho ba singular values đầu tiên là 13,17, 3,85 và 2,52 Phần còn lại của các singular values nhỏ hơn 0,6

Nếu chúng ta đặt tất cả các singular values nhỏ hơn 0,6 thành 0, chúng ta nhận được hình ảnh sau:

Bằng cách đặt tất cả các singular values thành 0 nhỏ hơn 0,6, chúng ta đã giảm nhiễu trong hình ảnh Tiếng ồn vẫn có thể nhìn thấy, nhưng nó ít hơn nhiều

II Tối ưu khử nhiễu

Trang 25

Có nhiều phương pháp giúp ta đưa ra được giá trị ngưỡng nhiễu (tạm đặt là 𝜏 trong threshold), trong số đó thì phương pháp của Matan Gavish và David L.Donoho đưa ra trong bài báo của mình mang lại hiệu quả cao nhất

Ta có :

𝑋 = 𝑋𝑡𝑟𝑢𝑒 + 𝛾𝑋𝑛𝑜𝑖𝑠𝑒

Nếu như mức cường độ nhiễu 𝛾 đã biết trước, thì công thức của ngưỡng nhiễu 𝜏 được :

Trang 26

Nếu như mức cường độ nhiễu chưa được xác định , điều thường thấy trong những ứng dụng thực tế, ta có thể ước tính được mức cường độ nhiễu và và tỉ lệ phân phối singular values dựa trên giá trị singular value trung tâm (không phải giá trị singular value trung bình ) 𝜎𝑚𝑒𝑑 Trong trường hợp đó, không có một nghiêm hoàn toàn chính xác cho 𝜏 được, chỉ

Trang 27

Để thuận tiện cho việc tính toán, chúng ta có thể lấy gần đúng:

𝜔(𝛽) = 0,56𝛽3 − 0,95𝛽22 + 1,82β + 1,4

Đồ thị 𝑙𝑜𝑔(𝜎) theo r với ngưỡng nhiễu 𝜏 = 13,439335 ứng với r = 283

Trang 28

𝑟 = 700

𝑟 = 283

Trang 30

% Replicate boundaries of noisy image

Trang 31

% neighborhood of pixel 'j' being compared with % neighbourhood of concerned pixel

W2 = noisy2(r-f:r+f, s-f:s+f); % Performing svd over W2 [temp1,temp2]=size(W2);

Trang 34

KẾT QUẢ XUẤT ẢNH:

D KẾT LUẬN :

Tóm lại, với sự phát triển công nghệ đặc biệt là ở lĩnh vực machine learning như hiện nay, phân tích SVD trở thành 1

thuật toán vô cùng quan trọng đóng vai trò không thể thay thiếu đối với ngành kỹ thuật máy tính nói riêng và toàn bộ ngành kỹ thuật nói chung Nhóm chúng em đã đưa ra những cơ sở lý thuyết cơ bản cho thuật toán cũng như một trong số nhiều ứng dụng của phân tích này chính là khử nhiễu ảnh Ngoài ứng dụng khử nhiễu ảnh được áp dụng cho nhiều ứng dụng như y tế, AI, giám sát giao thông, etc thì phân tích SVD còn có nhiều

Bên cạnh đó, ngoài SVD, ta còn một số phương pháp khác được ứng dụng trong khử nhiễu ảnh như:

-Non-negative matrix factorization (NMF hay NNMF)

Trang 35

-Principal component analysis (PCA) -Median Filter

-Non local mean filter -Gaussian filter

NGUỒN THAM KHẢO:

1 Tsegaselassie Workalemahu , Singular Value Decomposition in Image Noise Filtering and Reconstruction, Georgia State

University

2 Steven L Brunton, and J Nathan Kutz , Data Driven Science & Engineering Machine Learning, Dynamical Systems, and Control , (2017) , University of Washington

3 Blog: https://machinelearningcoban.com/2017/06/07/svd/

4 The Optimal Hard Threshold for Singular Values is, Mathan Gavish & David Donoh

5 The Optimal Hard Threshold for Singular Values is, Mathan Gavish & David Donoh

6 Báo cáo bài tập lớp nhóm 05 lớp L10

Ngày đăng: 02/04/2024, 11:28

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w