Tải bản đầy đủ (.pdf) (11 trang)

Cơ sở lý thuyết của phân tích svd và ứng dụng svd để khử nhiễu hình ảnh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (272.65 KB, 11 trang )

lOMoARcPSD|18034504

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC ỨNG DỤNG
MÔN ĐẠI SỐ TUYẾN TÍNH
-------*-------

Đề tài số 10:
CƠ SỞ LÝ THUYẾT CỦA PHÂN TÍCH SVD
VÀ ỨNG DỤNG SVD ĐỂ KHỬ NHIỄU HÌNH ẢNH
GV dạy lý thuyết: Đặng Văn Vinh
GV dạy bài tập: Bùi Thị Khun
Lớp : L10

Nhóm : 08

STT

Họ và tên

MSSV

1

Nguyễn Hồng Anh

2112778

2


Tạ Nguyễn Tiến Dũng

2110965

3

Võ Nguyên Giáp

2110142

4

Nguyễn Sỹ Lâm

2113883

5

Vũ Nhật Minh

2114089

6

Đoàn Minh Nhân

2114259

7


Vũ Tuấn Kha

2113649
Tp. HCM, tháng 04 năm 2022

MỤC LỤC
1


lOMoARcPSD|18034504

1. Lời nói đầu………………………………………………………….2
2. Cơ sở lí thuyết của phân tích SVD…………………………………3
2.1 Trị riêng, vector riêng của một ma trận………………………...3
2.2 Chéo hóa ma trận……………………………………………….4
2.3 Chéo hóa ma trận trực giao……………………………………..5
2.4 Phân tích SVD………………………………………………….7
3. Ứng dụng của phân tích SVD để khử nhiễu hình ảnh………………9
3.1 Các bước để khử nhiễu hình ảnh………………………………..9
3.2 Một số ứng dụng của phân tích SVD…………………………..10
4. Kết luận……………………………………………………………..
----------------------------------------------------------------------------------------------------

1. LỜI NÓI ĐẦU
Lời đầu tiên, em xin trân trọng bày tỏ lịng biết ơn chân thành 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 vì đã truyền dạt kiến
thức cho chúng em. Do chỉ là sinh viên năm nhất nên chúng em không thể tránh
khỏi những sai sót do kiến thức cịn hạn chế nên chúng em mong nhận được sự
góp ý và đánh giá từ các bạn để bài tập lớn của chúng em được hồn thiện hơn.

Phương pháp phân tích Singular Value Decompositions (SVD) là một trong
những phương pháp thuộc nhóm matrix factorization (phân tích nhân tử ma
trận) được phát triển lần đầu bởi những nhà hình học vi phân. Phương pháp này
được ứng dụng rộng rãi trong các lĩnh vực như hình học vi phân, xử lý hình
ảnh,.... các thuật tốn nền và giảm chiều dữ liệu, hiệu quả trong các bài toán. Để
hiểu rõ hơn về phương pháp này, ta sẽ tìm hiểu về cơ sở lý thuyết, các ứng dụng
và các ví dụ được trình bày cụ thể dưới đây. Ban đầu các nhà hình học vi phân
muốn xác định xem liệu một dạng song tuyến thực có thể được tạo ra bằng một
dạng khác thông qua các phép biến đổi trực giao độc lập của hai khơng gian mà
nó tác động hay không. Họ bắt đầu nghiên cứu và phát hiện ra phương pháp
phân tích Singular Value Decompositions (SVD), trong đó, nhà tốn học
2


lOMoARcPSD|18034504

Beltrami (Ý) và Jordan (Pháp) là những người khởi xướng cho phương pháp
này (1873). Đây là cơng trình của năm tác giả là các nhà toán học: Euginio
Beltrami (Ý), Camille Jordan (Pháp), James Sylvester (Anh), Erhard Schmidt
và Herman Weyl (Đức).
Phương pháp phân tích Singular Value Decompositions (SVD) là một trong
những phương pháp thuộc nhóm matrix factorization (phân tích nhân tử ma
trận) được phát triển lần đầu bởi những nhà hình học vi phân. Phương pháp này
được ứng dụng rộng rãi trong các lĩnh vực như hình học vi phân, xử lý hình
ảnh,.... các thuật tốn nền và giảm chiều dữ liệu, hiệu quả trong các bài toán. Để
hiểu rõ hơn về phương pháp này, ta sẽ tìm hiểu về cơ sở lý thuyết, các ứng dụng
và các ví dụ được trình bày cụ thể dưới đây. Ban đầu các nhà hình học vi phân
muốn xác định xem liệu một dạng song tuyến thực có thể được tạo ra bằng một
dạng khác thông qua các phép biến đổi trực giao độc lập của hai khơng gian mà
nó tác động hay khơng. Họ bắt đầu nghiên cứu và phát hiện ra phương pháp

phân tích Singular Value Decompositions (SVD), trong đó, nhà tốn học
Beltrami (Ý) và Jordan (Pháp) là những người khởi xướng cho phương pháp
này (1873). Đây là cơng trình của năm tác giả là các nhà toán học: Euginio
Beltrami (Ý), Camille Jordan (Pháp), James Sylvester (Anh), Erhard Schmidt
và Herman Weyl (Đức).
Cuối cùng, chúng em xin kính chúc thầy, cơ thật nhiều sức khỏe, hạnh phúc
bên gia đình, bình an trong cuộc sống và thành cơng trên con đường dạy học
của mình. Chúng em xin chân thành cảm ơn.

2. CƠ SỞ LÝ THUYẾT CỦA PHÂN TÍCH SVD.
2.1. Trị riêng, vector riêng của một ma trận
Định nghĩa 1 : Cho A ∈ Mn(K). Số λ0 ∈ K được gọi là giá trị riêng của ma trận A,
nếu tồn tại vector X0 0 sao cho AX0 = λ0X0.
- Khi đó vector X0 được gọi là vector 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 δ(A).
Tính chất:
1. Mỗi vector riêng có một giá trị riêng duy nhất.
3


lOMoARcPSD|18034504

2. Nếu x là vector riêng ứng với giá trị riêng λ của ma trận vng A thì kx cũng
là vector riêng ứng với λ : Ax = λx ⇔ A(kx) = λ(kx)
3. Số λ0 là trị riêng của A khi và chỉ khi λ0 là nghiệm của phương trình đặc trưng
det(A − λI) = 0.
4. Vector X0 là vector riêng của A ứng với trị riêng λ0 khi và chỉ khi X0 là một
nghiệm khác 0 của hệ phương trình (A − λ0I)X = 0

Các bước tìm giá trị riêng và vector riêng của ma trận A:
Bước 1 : Tìm giá trị riêng.
- Lập phương trình đặc trưng det (A – λI) = 0
- Tính định thức, giải phương trình.
Bước 2 : Tìm vector riêng.
- Tương ứng với trị riêng 1. Giải hệ phương trình (A - 1I) = 0.
- Tất cả các nghiệm khác 0 của hệ là tất cả các vector riêng của A ứng với trị
riêng 1.
- Tương tự tìm vector riêng của A ứng với các trị riêng cịn lại.
Tính chất của trị riêng, vector riêng.
1. Tổng tất cả các trị riêng của A bằng với vết của ma trận A, tức là bằng với
tổng các phần tử trên đường chéo của A.
2. Tích tất cả các trị riêng của A bằng với det(A).
3. 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 A.
4. 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 đại.
5. Nếu λ là trị riêng của A, thì λm là trị riêng của ma trận Am, m ∈ N.
2.2 Chéo hóa ma trận.
Định nghĩa : Ma trận vng A được gọi là chéo hóa được khi và chỉ khi tồn
tại
ma
-1
trận vuông P khả nghịch và ma trận chéo D thỏa mãn A = P DP .
4


lOMoARcPSD|18034504

Các bước chéo hóa ma trận A.
Bước 1: Tìm giá trị riêng.

- Lập phương trình đặc trưng det (A – λI) = 0.
- Nghiệm của phương trình dặc trưng là các trị riêng của A.
- Với mọi λk ∈ tìm bội đại số BĐS( λk)
Bước 2: Tìm cơ sở của các không gian con riêng.
- Với λk ∈ . Giải hệ phương trình (A – λkI)X = 0.
- Tìm nghiệm tổng quát, suy ra cơ sở của không gian con riêng EλK.
- Xác định bội hình học của λk : BHH(λk)= dim (EλK).
Bước 3: Kết luận.
1. Nếu tồn tại một trị riêng mà bội hình học nhỏ hơn bội đại sơ của nó thì ma
trận A khơng chéo hóa được.
2. Nếu với mọi trị riêng, bội hình học bằng bội đại số của nó, thì ma trận A
chéo hóa được. Tức là A = PDP-1, trong đó ma trận P có các cột là những cơ
sở của các khơng gian con riêng đã tìm được ở bước 2 và ma trận D có các
phần tử trên đường chéo là các giá trị riêng của A.
Ví dụ: Chéo hóa ma trận C =
Bước 1: Tìm trị riêng:
- det(A-λI) = 0 ⇔ ⇔ (4 – λ )( - 3 – λ ) – 3 (- 2 ) = 0 ⇔ λ1 = 3, λ2 = -2.
Bước 2: Tìm cơ sở của các không gian con riêng :
- Xét λ1 = 3, xét hệ (A – λ1I)X = 0 ⇒ ⇔ x1 = 2x2 ⇔ X = (2α; α) ⇒ Cơ sở của
không gian con Eλ1 = (2, 1).
- Xét λ2 = -2 , xét hệ (A – λ1I)X = 0 ⇒ ⇔ 3x1 = x2 ⇔ X = (α; 3α) ⇒ Cơ sở của
không gian con Eλ2 = (1, 3).
Bước 3: Ta kết luận ma trận A chéo hóa được ⇒ A = P DP-1 với P = và
D=.
2.3 Chéo hóa ma trận trực giao.
Định nghĩa 1: Cho A ∈ Mn(K) được gọi là ma trận đối xứng thực nếu AT = A
Định nghĩa 2: Cho A ∈ Mn[R] được gọi là ma trận trực giao nếu A-1 = AT.

5



lOMoARcPSD|18034504

Ví dụ: Trong R3, chọn cơ sở E = (1; 1; 1), (1; 2; 1), (1; 1; 2) Ta dùng q trình trực
giao hóa Gram-Smidth, ta được họ trực giao :
F = (1; 1; 1), (1; -2; , 1), (-1; 0; 1)
Chia mỗi vecto cho độ dài của nó, ta được họ trực chuẩn:
Q=
Lập ma trận trực giao có họ vecto cột là Q: A =
Định nghĩa 3: Ma trận vng A gọi là chéo hóa được nếu A = P DP-1 = P DPT, với
D là ma trận chéo còn P là ma trận trực giao.
Các bước để chéo hóa ma trận đối xứng A :
Bước 1: Tìm trị riêng của A
Bước 2: Tìm một cơ sở của trực chuẩn của từng không gian con riêng.
- Chọn cơ sở Ek tùy ý.
- Dùng q trình trực giao hóa Gram - Smidth để tìm cơ sở trực giao của Fk.
- Chia mỗi vector trong Fk cho độ dài của nó ta có cơ sở trực chuẩn Qk.
Bước 3: Kết luận ma trận A ln chéo hóa trực giao được. Tức là A = PDP T, trong
đó ma trận chéo D có các phần tử trên đương chéo là các trị riêng của 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.
Ví dụ: Chéo hóa trực giao ma trận đối xứng, thực sau: A =
Bước 1: Phương trình đặc trưng của A là (λ - 7) 2(λ + 2) = 0. Vậy A có 2 trị riêng
là λ1 = 7, λ2 = - 2.
Bước 2: Tìm một cơ sở của trực chuẩn của từng không gian con riêng.
- Ứng với λ1 = 7, giải hệ (A – λ 1I)X = 0 ⇔ X = α(-1, 2, 0) T + β(0, 2, 1)T. ⇒ Cơ
sở
của Eλ1 là e1 = (-1, 2, 0)T , e2 = (0, 2, 1)T.
- Dùng q trình trực giao hóa Gram - Smidth, ta được cơ sở trực giao:
= (−1, 2, 0)T , (4, 2, 5)T
- Ứng với λ2 = -2, giải hệ (A – λ2I)X = 0 ⇔ X = α(2, 1, -2)T. ⇒ Cơ sở trực giao

của Eλ2 là (2, 1, -2)T do đó cơ sở trực chuẩn là .
Bước 3: Kết luận ma trận A chéo hóa trực giao được. Tức là A = PDPT, trong đó:
6

Downloaded by vu ga ()


lOMoARcPSD|18034504

D= ,P=.
2.4 Phân tích SVD ( Singular Value Decomposition).
Cho A là một ma trận kích cỡ m×n. Ta chứng minh rằng tập hợp các trị riêng
khác không của là trùng nhau. Thật vậy, giả sử là một trị riêng khác 0 của và là
vector riêng của tương ứng. Khi đó:
= . Suy ra = .
Điều này tương đương với ) =, vì khác 0 nên khác 0. Suy ra là trị riêng của . Ma
trận là hai ma trận đối xứng, nên chúng chéo hóa trực giao được.
Phân tích SVD của ma trận A: Cho ma trận A ∈ , r(A)=r. Ma trận A có thể
phân tích thành dạng A =, trong đó Q và P đều là hai ma trận đều có họ vector cột
là họ trực chuẩn, Ʃ= là ma trận cỡ m×n, D là ma trận chéo, có các phần tử trên
đường chéo 1;2;…;r là những số thực dương và được gọi là các sigular values của A.
Khi đó:
và . Suy ra các cột Q là các vector riêng của và ;;…; là các trị riêng khác 0 của .
Các cột của P là các vector riêng của và ;;…; cũng là các trị riêng khác 0 của .
Trong D, ta sắp xếp các sigular values của A theo thứ tự giảm dần
12r

Gọi và ,
Ma trận A có thể ghi dạng: +…+, với mỗi là một ma trận có hạng bằng 1.
Như vậy ma trận A 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 A gọi là compact
SVD: , với , là các ma trận tạo nên từ các cột vủa Q và P tương ứng.
Trong lưu trữ hình ảnh, thơng thường chỉ một vài có giá trị cao và các cịn lại có
giá trị 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 sau:
.
Ví dụ: Tìm phân tích SVD của ma trận
Ta có . Chéo hóa trực giao: , với
.
7

Downloaded by vu ga ()


lOMoARcPSD|18034504

Ta có .
Chéo hóa trực giao : , với
Và . Vậy phân tích SVD của A là A =
Với Q, P ở trên và .
Trong thời đại kỹ thuật số hiện nay, phân tích SVD có một số ứng dụng trong khi
làm việc với dữ liệu lớn:
- Khử nhiễu âm thanh;
- Nén ảnh;
- Giảm số chiều dữ liệu;
- Ứng dụng trong phân tích thành phần chính (PCA: principle component
analysis);…

3. ỨNG DỤNG PHÂN TÍCH SVD ĐỂ KHỬ NHIỄU HÌNH ẢNH.

Phân tích SVD sẽ tìm ra một lớp các ma trận xấp xỉ tốt nhất với một ma trận cho
trước. Những điểm dữ liệu trong khơng gian mới có thể giữ được 100% thông tin
ban đầu hoặc chỉ giữ được một phần lớn so với thông tin của dữ liệu ban đầu thông
qua các phép “Truncate SVD“. Bằng cách sắp xếp các trị riêng theo thứ tự giảm
dần trên đường chéo chính, thuật tốn SVD có thể thu được ma trận xấp xỉ tốt nhất
mà vẫn đảm bảo được hạng của ma trận sau biến dổi và kích thước của các ma trận
nhân tử trong giới hạn cho phép. Do đó nó tiết kiệm được thời gian và chi phí tính
tốn, đồng thời cũng tìm ra được một giá trị dự báo cho ma trận gốc với mức độ
chính xác cao.
Phương pháp “Truncate SVD“ sẽ giữ lại k sigular values đầu tiên lớn nhất, và
lược bỏ những sigular values còn lại ( gần bằng 0).
3.1 Các bước khử nhiễu hình ảnh:
- Bước 1: Thu thập dữ liệu, file cần được xử nhiễu. Đưa dữ liệu từ dạng vector
cột về dạng ma trận M có kích cỡ m×n, có hạng bằng r.
8

Downloaded by vu ga ()


lOMoARcPSD|18034504

- Bước 2: Tìm phân tích SVD của ma trận M. Giữ lại k sigular values đầu tiên
của M, chọn k càng gần với r càng tốt, sao cho độ nhiễu của hình ảnh bị giảm đi
đáng kể và những chi tiết của ảnh gần như còn nguyên vẹn, khi đó ta thu được
ma trận Mk.
- Bước 3:Đưa ma trận Mk vừa thu được về vector cột, lưu hình ảnh đã được khử
nhiễu.

Hình 1: Hình ảnh trước và sau khi được khử nhiễu.
3.2 Một số ứng dụng của phân tích SVD để khử nhiễu hình ảnh trong thực tế:

-

9

Downloaded by vu ga ()


lOMoARcPSD|18034504

4. KẾT LUẬN
Ngồi ứng dụng để khử nhiễu hình ảnh và các ứng dụng với dữ liệu lớn, SVD
cịn có rất nhiều ứng dụng khác như trong tối ưu cực trị rời rạc, lát cắt cực đại, Kmeans Clustering, Graph Partitioning, …Qua đó ta có thể thấy SVD có tầm ảnh
hưởng rất quan trọng đối với các ngành kĩ thuật, đặc biệt là trong thời đại khoa học
kĩ thuật và công nghệ phát trển mạnh mẽ này.

***TÀI LIỆU THAM KHẢO:
[1] Giáo trình đại số tuyến tính 2020 - Đặng Văn Vinh.
[2]
[3] a/p/handbook-singular-values-decompocition-va-mot-so-ungdung-yMnKOoml7P
[4] />[5] />Value_Decomposition_in_image_noise_filtering
[6]
[7] />
10

Downloaded by vu ga ()


lOMoARcPSD|18034504

11


Downloaded by vu ga ()



×