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

Bao cao btl dstt bao cao bai tap lon

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 (1.6 MB, 24 trang )

lOMoARcPSD|32516391

Báo Cáo BTL ĐSTT - Báo cáo bài tập lớn
Đại số tuyến tinh (Trường Đại học Công nghệ Thành phố Hồ Chí Minh)

Studocu is not sponsored or endorsed by any college or university
Downloaded by lin lin ()


lOMoARcPSD|32516391

TRƯỜNG ĐẠI HỌC BÁCH KHOA
ĐẠI HỌC QUỐC GIA TPHCM


BÀI TẬP LỚN
MƠN: ĐẠI SỐ

TUYẾN TÍNH

CƠ SỞ


ĐỀ TÀI:

THUYẾT CỦA
SVD
ỨNG DỤNG PHÂN TÍCH SVD ĐỂ KHỬ NHIỄU ẢNH

LỚP L06 - NHÓM 05 – HK211
Giáo viên hướng dẫn: Đặng Văn Vinh


Bùi Thị Khuyên

Downloaded by lin lin ()


lOMoARcPSD|32516391

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

CƠ SỞ LÝ THUYẾT CỦA SVD
ỨNG DỤNG PHÂN TÍCH SVD ĐỂ KHỬ NHIỄU ẢNH

Nhóm 5: 1.
2.
3.
4.
5.
6.
7.

NGUYỄN MINH TÂM
NGUYỄN THỊ THU VÂN
PHAN TUẤN BẢO
NGUYỄN THỊ MINH THƠ
TRẦN HỮU ĐỨC
LÊ THỊ THẢO LY
HUỲNH TRẦN CÔNG VỤ

TP. HCM, ngày 04 tháng 12 năm 2021


Downloaded by lin lin ()

MSSV: 2112237
MSSV: 2110664
MSSV: 2112879
MSSV: 2112386
MSSV: 2113236
MSSV: 2114001
MSSV: 2115332


lOMoARcPSD|32516391

THƯ CẢM ƠN

Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép chúng em được bày tỏ
lòng biết ơn đến tất cả các cá nhân và tổ chức đã tạo điều kiện hỗ trợ, giúp đỡ trong
suốt quá trình học tập và làm bài tập lớn. Trong suốt thời gian từ khi bắt đầu học tập tại
trường đến nay, chúng em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy
Cô, bạn bè và anh chị.
Với lịng biết ơn sâu sắc nhất, nhóm em chân thành cảm ơn q Thầy, Cơ trong khoa Cơ
Khí của Trường Đại Học Bách Khoa đã tận tình truyền đạt kiến thức suốt quá trình học
tập. Đặc biệt là thầy Đặng Văn Vinh và cô Bùi Thị Khuyên – người đã trực tiếp giúp đỡ,
quan tâm, hướng dẫn chúng em hồn thành tốt bài tập lớn này. Nhờ có những lời hướng
dẫn, dạy bảo của Thầy Cô nên đề tài của nhóm em mới có thể hồn thiện tốt đẹp. Với
vốn kiến thức được tiếp thu trong quá trình học không chỉ là nền tảng cho chúng em làm
bài tập lớn mà còn là hành trang quý báu để chúng em bước vào đời vững chắc và tự tin.
Do chưa có nhiều kinh nghiệm làm đề tài cũng như những hạn chế về kiến thức, trong
bài chắc chắn sẽ khơng tránh khỏi nhiều thiếu sót. Rất mong nhận được sự nhận xét, ý
kiến đóng góp, phê bình từ phía Thầy Cơ để bài tập lớn của nhóm em được hồn thiện

hơn.
Cuối cùng xin kính chúc thầy cơ năm mới sức khỏe dồi dào, gia đình hạnh phúc, gặp
nhiều may mắn và sự nghiệp nở hoa trên con đường nhà giáo cao quý.

Chúng em xin chân thành cảm ơn!

Downloaded by lin lin ()


lOMoARcPSD|32516391

MỤC LỤC
trang
MỤC LỤC

LỜI MỞ ĐẦU

1

I. CƠ SỞ LÝ THUYẾT

2

I.1. Trị riêng và vectơ riêng của matrận.....................................2
I.1.1. Cơ sở lý thuyết................................................................2
I.1.2. Các bước tìm trị riêng và vectơ riêng của ma trận.........2
I.2. Chéo hoá trực giao.................................................................3
I.2.1. Cơ sở lý thuyết................................................................3
I.2.2. Chéo hố trực giao ma trận đối xứng A..........................4
I.3. Phân tích SVD (Singular Value Decomposition)………….6

I.3.1. Cơ sở lý thuyết................................................................6
I.3.2. Bài toán ví dụ..................................................................8

II. PHÂN TÍCH SVD TRONG KHỬ NHIỄU ẢNH.....................13
II.1. Bài toán SVD trong khử nhiễu ảnh...................................... 13
II.2. Code MATLAB khử nhiễu hình ảnh.................................... 14
II.3. Một số ví dụ minh họa..........................................................16
KẾT LUẬN

20

TÀI LIỆU THAM KHẢO

21

Downloaded by lin lin ()


lOMoARcPSD|32516391

LỜI MỞ ĐẦU

Đại số tuyến tính là một mơn học đại cương có tầm quan trọng đối với sinh viên học về các khối
ngành khoa học kĩ thuật-cơng nghệ nói chung và sinh viên của trường Đại Học Bách Khoa nói
riêng. Do đó, việc sinh viên phải dành một lượng thời gian nhất định để học tập và thực hành là
điều tất yếu để giúp cho sinh viên làm bài thật tốt đạt được điểm số cao cũng như là có được cơ sở
vững chắc để học các mơn khoa học tự nhiên và làm tiền đề để sinh viên lĩnh hội những kiến thức
thuộc lĩnh vực các môn chuyên ngành trong tương lai.
Nhờ vào sự ra đời và sự phát triển nhanh chóng của tốn tin đã hỗ trợ rất lớn trong q trình phát
triển của mơn học đại số tuyến tính. Việc ứng dụng tin học trong quá trình giải thích các cơ sở dữ

liệu của các ma trận, giảng dạy và giải các bài toán giúp cho chúng ta rút ngắn được thời gian hơn
và giúp sinh viên hiểu rõ hơn đôi nét bài tập của môn học này hơn mang lai hiểu quả rất cao. Và
một trong những ứng dụng giúp ta giải quyết các vấn đề đó chính là phần mềm ứng dụng Matlab
điều tất yếu của mỗi sinh viên.
Sau khi tìm hiểu về Matlab thì ở bài tập lớn này, nhóm em thực hiện nội dụng “Cơ sở lý thuyết của
SVD và ứng dụng phân tích SVD để khử nhiễu hình ảnh” trên phần mềm này. Đây là một bài toán
rất quan trọng của phần Ma Trận và đó là tiền đề để làm những bài tập nâng cao hơn trong phần này
cùng với việc ứng dụng thực tiễn trong cuộc sống cũng như là tiền đề để nghiên cứu học tập các
môn chuyên ngành.
Sau đây là nội dung tìm hiểu bài tập lớn của nhóm em ạ!

Downloaded by lin lin ()


lOMoARcPSD|32516391

I. CƠ SỞ LÍ THUYẾT
I.1 Trị riêng và vectơ riêng của ma trận
I.1.1 Cơ sở lí thuyết
Định nghĩa: Cho AMn(K). Số λ0K được gọi là giá trị riêng của ma trận A, nếu tồn tại vectơ
giá trị X0≠0 sao cho AX0= λ0X0. Vectơ X0 được gọi là vectơ riêng của ma trận A tương ứng
với giá trị riêng X0.
Tính chất 1.
Mỗi vectơ riêng có một giá trị riêng duy nhất. Giả sử ma trận vương A có vectơ riêng x ứng
với hai giá trị riêng λ1, λ2 thì Ax= λ1x= λ2x ⟺ ( λ1- λ2)x=0 ⟺ λ1= λ2.
Tính chất 2.
Nếu x là vectơ riêng ứng với giá trị riêng λ của ma trận vng A thì kx cũng là vectơ riêng
với λ: Ax = λx  A(kx) = λ(kx)
Tính chất 3
Nếu λ là trị riêng của ma trận vuông A thì λn là trị riêng của ma trận An .

Tính chất 4
Giá trị riêng của ma trận vuông A là nghiệm của phương trình( A-λI ) = 0.
Giả sử λ là giá trị riêng của ma trận A, khi đã tồn tại x ≠ 0 mà Ax = λx ⟺ ( A- λI )x = 0.
Đây là một hệ phương trình tuyến tunhs, hệ này có nghiệm x ≠ 0 khi và chỉ khi det ( A- λI )
= 0.
Tính chất 5
Ma trận vng A có giá trị riêng λ thì họ vectơ riêng ứng với λ là nghiệm của ( A- λI )x = 0
I.1.2.Các bước tìm trị riêng và vectơ riêng của ma trận
Bước1: Tìm giá trị riêng
+ Lập phương trình det ( A- λI ) = 0
+ Tính định thức, giải phương trình
2
Downloaded by lin lin ()


lOMoARcPSD|32516391

+Tất cả các nghiệm của phương trình là tất cả các trị riêng của A
Bước 2: Tìm vectơ riêng
+ Tương ứng với trị riêng λ1. Giải hệ phương trình
( A- λ1I )x = 0
+ Tất cả các nghiệm khác 0 của hệ là tất cả các vectơ riêng của A ứng với trị riêng λ1.
+ Tương tự tìm vectơ riêng của A ứng với các trị riêng còn lại
I.2 Chéo hố trực giao:
I.2.1 Cơ sở lí thuyết
Định nghĩa 1. Ma trận AMn(R) gọi là ma trận đối xứng thực, nếu AT=A
Ví dụ 1: Ma trận A= . Kiểm tra thấy AT = A. 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.
Định nghĩa 2. Ma trận AMn(R) gọi là ma trận trực giao, nếu A -1 = AT. Từ định nghĩa ta
có A.A-1 = A.AT ⟺ A.AT = I. Như vậy nếu tích của A và A T là ma trận đơn vị I, thì A là

ma trận trực giao.
Mệnh đề 1: Ma trận A là ma trận trực giao khi và chỉ khi họ vectơ cột (hoặc họ vectơ
hàng) của A là họ trực chuẩn.
Chứng minh
Cho A là ma trận trực giao. Tức là AA T = I. Để ý phép nhân hai ma trận với nhau, ta thấy :
hàng i của A nhân với cột j của ma trận AT là hàng j của A.
Ta có : Ai*A*j =
Suy ra họ vectơ hàng của A là họ trực chuẩn.
Hoàn toàn tương tự, xét ATA = I ta cs họ vectơ cột của A là họ trực chuẩn.
Sử dụng mệnh đề này để tìm một ma trận trực giác A cấp n tuỳ ý như sau :
a) Trong Rn, chọn một cơ sở E.
b) Dùng quá trình Gram-Schmidt (nếu cần), trực giao hoá E để được cơ sở trực giao F.
c) Chia một vectơ hàng trong F cho độ dài cả nó ta có cơ sở trực chuẩn Q.
3
Downloaded by lin lin ()


lOMoARcPSD|32516391

Khi đó A là ma trận trực giao.
Ví dụ 2: Trong R3, chọn cơ sở E=
Dùng quá trình trực giao hoá Gram-Schmidt, ta được họ trực giao:
F=
Chia mỗi vectơ cho độ dài của nó, ta có họ trực chuẩn:
Q=
Lập ma trận trực giao có họ vectơ cột (hoặc họ vectơ hàng) là Q
A=
Định nghĩa 3. Ma trận vuông, thực A gọi là chéo hoá trực giao được, nếu
A = PDP-1 = PDPT, với D là ma trận chéo và P là ma trận trực giao.
Định lí 1. Cho A là ma trận đối xứng thực

Các khẳng định sau đây là đúng :
1) Trị riêng của A là các số thực
2) A lng chéo hố trực giao được
3) Hai vectơ riêng ứng với các giá trị riêng khác nhau vng góc với nhau.
Mệnh đề 2. Nếu ma trận A chéo hoá trực giao được, thì A là ma trrận đối xướng.
Chứng minh
Giả sử A chéo hố được. khi đó A = PDPT. Suy ra, AT = (PDP)T = (PT)T.DT.PT = P.D.PT = A
Hay A là ma trận đối xứng.
Như vậy chỉ có ma trận đối xứng thực mới chéo hố trực giao được
I.2.2 Chéo hoá trực giao 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
Để tìm cơ sở trực chuẩn của khơng gian con riêng Eλk, ta theo các bước sau:
a) Chọn cơ sở Ek tuỳ ý của Eλk
b) Dùng quá trình Gram-Schmidt (nếu cần) để tìm cơ sở trực giao Fk
c) Chia mỗi vectơ trong Fk cho độ dài của nó ta có cơ sở trực chuẩn Qk của Eλk
Bước 3. Kết luận

4
Downloaded by lin lin ()


lOMoARcPSD|32516391

Ma trận A ln chéo hố 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 dường chéo là các giá trị riêng của A, họ vectơ cột của a trận trực giao P. Từ các
vectơ riêng trong các cơ sở trực chuẩn ở bước 2.
Ví dụ 3. Chéo hố trực giao ma trận đối xứng, thực:
A=
Lời giải:

Bước 1. Tìm các giá trị riêng
A có hai trị riêng λ1 = 1, λ2 = 18
Bước 2. Tìm cơ sở trực chuẩn của các khơng gian con riêng
Ứng với 1 = 1.
Giải hệ ( A- λ1I )x = 0 ⟺ x = ( 4α : α )T.
Cơ sở của Eλ1 là (4 ; 1)T
Cơ sở trực chuẩn của Eλ1 là (4 ;1)T
Ứng với λ2 = 18
Giải hệ ( A- λ2I )x = 0 ⟺ x = ( α; -4 α )T. Cơ sở của Eλ2 là ( 1; -4 )T
Cơ sở trực chuẩn của Eλ2 là ( 1; -4 )T
Bước 3. Kết luận
Ma trận A chéo hoá trực giao được và A = PDPT , trong đó :
D = và P=
Ví dụ 4. Chéo hố trực giao ma trận đối xứng, thực :
A=
Lời giải
Bước 1. Tìm cá trị riêng
Phương trình đặc trưng của A là ( x-7 )2 ( λ+2 ) = 0
A có hai trị riêng λ1 = 7, λ2 = -2
Bước 2. Tìm cơ sở trực chuẩn của các không gian con riêng ứng với λ1 = 7
Giải hệ: (A- λ1I)x = 0 ⟺ x = ( α; -2 α+2β; β)T
= α ( 1;-2;0 )T + β( 0;2;1 )T
Cơ sở của E λ1 là e1 = ( 1 ;-2 ;0 )T
Dùng quá trình trực giao hoá Gram-schmictt, ta được cơ sở trực giao :
=
Vậy, cơ sở trực chuẩn của Eλ1 là
Lưu ý: Khi số chiều của không gian con riêng không lớn, ta có thể khơng dùng q trình
Gram-schmidt để tìm cở trục giao.

5

Downloaded by lin lin ()


lOMoARcPSD|32516391

Chẳng hạn như ta có thể tìm cơ sở trực giao của Eλ1 như
Chọn một vectơ riêng x1 = ( 1 ;-2 ;0 )T và tìm vectơ riêng thứ hai x2 = ( α; -2α + 2β; β )T sao
cho x2x1
Suy ra ( x2,x1 ) = α + (-2) (-2α + 2β ) + 0 = 0
⟺ 5α - 4β = 0
Cho α = 4 ta được p = 5. Vậy vectơ riêng x2= (4 ;2 ;5)T ứng với λ2 = -2
Giải hệ ( A - λ2I )x = 0 ⟺ x = ( 2α; α; -2α )T
=α( 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 của Eλ2 là (2 ; 1 ; -2 )T
Bước 3. Kết luận : ma trận A chéo hoá trực giao được và A= PDPT, trong đó D= và P=
I.3 Phân tích SVD ( Singular Value Decomposition )
I.3.1 Cơ sở lý thuyết
Định nghĩa
Cho A là một ma trận thực cỡ m*n. Ta chứng minh rằng tập hợp các trị riêng khác không của
AAT và ATA là trùng nhau. Thật vậy, giả sử λ0 là một trị riêng khác 0 của AA T và là vectơ
riêng của AAT tương ứng. Khi đó:
AATX0 = λ0X0. Suy ra ATAATX0 = AT λ0X0
Điều này tương đương với ATA ( ATX0 ) = λ0( ATX0 ), vì λ0 0 nên ATX0 0. Suy ra λ0 là trị
riêng của ATA
Ma trận AAT và ma trận AAT và ma trận ATA là hai ma trận đối xứng, nên chéo hoá trực giao
được.
Phân tích SVD của ma trận A
Cho ma trận [ R ], r( A ) = r. Ma trận A có thể phân tích thành dạng A= Q ΣP T trong đó Q và
P là hai ma trận đều có họ vectơ cột là họ trực chuẩn, Q được gọi là left singular vectors P

được gọi là right singular vectors, Σ= 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 singular values
của A.
Khi đó ta thu được :
AAT= QΣPT(QΣPT)T=QΣPT.PΣTQT=QTQT
ATA= (QΣPT)TQΣPT=PΣTQTQΣPT=PΣTΣPT
Các cột của Q là các vectơ riêng của A TA và δ12 ; δ22 ;… ; δr2 là các trị riêng khác 0 không
AAT.

6
Downloaded by lin lin ()


lOMoARcPSD|32516391

Các cột của P là các vectơ riêng của A TA và δ12 ; δ22 ;… ; δr2 cũng là các trị riêng khác 0 của
ATA.
Trong D, ta sắp xếp các singular values của A theo tứ tự giảm dần:
δ1≥ δ2≥…≥ δr
Gọi Q=(q1|q2|…|qn) và P=(p1|p2|…|pn), D =
Từ đó ma trận A có thể ghi dưới dạng
A=δ1q1p1T + δ2q2p2T với mọi qipiT là một ma trận có hạng bằng 1

Hình 1. Biểu diễn SVD dạng thu gọn và ma trận dưới dạng bằng các ma trận có hạng bằng 1

Lưu ý : qipiT là một ma trận chứ không phải là một vơ hướng, ta tính ra được ma trận của
qipiT bằng cách lấy hàng đầu tiên vectơ qi nhân với các phần tử của vectơ pi, ta được hàng
thứ nhất của ma trận. Tiếp tục lấy hàng thứ hai của vectơ q i nhân với các phần tử của vectơ
pi, ta được hàng thứ hai của ma trận. Cứ như thế cho đến hàng cuối cùng của q i, ta sẽ thu
được một ma trận có hạng ln bằng 1 bởi vì số vectơ độc lập tuyến tính cực đại bằng 1.

Ví dụ : Cho hai vectơ q = (1,2,3)T và p = (3,0,1)T ta có tích ngồi của vectơ q và vectơ p
chuyển vị là :
qpT = =
qpT 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 đầu
tiên đường chéo của . Ta có phân tích gọn hơn của A gọi là compact SVD : A = QrDPr với
Qr,Pr là các ma trận tạo nên từ các cột của Q và P tương ứng.
Trong lưu trữ hình ảnh, thơng thường chỉ có một vài δ m có giá trị cao và δn cịn lại xấp xĩ
bằng khơng nên có thể bỏ qua. Khi đó ta có xấp xỉ :
7
Downloaded by lin lin ()


lOMoARcPSD|32516391

A Ak = δ1q1p1T + δ2q2p2T + … + δkqkpkT
và sai số trong xấp xĩ trên được xác định bởi công thức sau :
||A-Ak|| = δk+12 + δk+22 + … + δk+r2
I.3.2 Bài tốn ví dụ
Tìm phân tích SVD của ma trận A
Lời giải :
A= =
Chéo hoá trực giao AAT = QD1QT
Det ( AAT – λI ) = 0 = 0
⟺ (11 - )2 – 1 = 0
⟺ 2 - 22 + 120 = 0 ⟺ 1 = 12; 2 = 10

 Với 1 = 12
Xét hệ ( AAT - 1I )X = 0 ⟺ = 0 x1 + x2 = 0 x =
 Cơ sở trực giao của Eλ1 = Cơ sở trực chuẩn của Eλ1 =

 Với 2 = 10
Xét hệ ( AAT – 2I )X = 0 ⟺ = 0 x1 + x2 = 0 x = =
Cơ sở trực giao của Eλ2 = Cơ sở trực chuẩn của Eλ2 =
Vậy D1 = ; Q =
+ Ta có ATA = =
Chéo hố trực giao ATA = PD2PT
Det( ATA – λI ) = 0 = 0
⟺ λ3 - 22λ2 + 120λ = 0 ⟺ 1 = 12; 2 = 10; 3 = 0
 Với 1 = 12
Xét hệ ( ATA - 1I )X = 0 ⟺ = 0
X= =
 Cơ sở trực giao của Eλ1 = Cơ sở trực chuẩn của Eλ1=
 Với

2

= 10
8
Downloaded by lin lin ()


lOMoARcPSD|32516391

Xét hệ ( ATA – 2I )X = 0 ⟺ = 0 X = =
 Cơ sở trực giao của Eλ2 = Cơ sở trực chuẩn của Eλ2=

3 = 0
T
Xét hệ ( A A - 1I )X = 0 ⟺ = 0


X= =

 Cơ sở trực giao của Eλ3 = Cơ sở trực chuẩn của Eλ3=
 Vậy D2 = ; P =
Vậy phân tích SVD của A là A = QΣPT ; với Q, P ở trên và Σ =
A = QΣPT =
Ví dụ 5: Tìm phân tích SVD của ma trận sau:

Nhận xét: Để tìm phân tích SVD của ma trận , chúng ta phải thực hiện tiến
hành chéo hóa trực giao hai ma trận và . Trong khi ma trận là ma ttrận
vng bậc bốn, cịn là ma trận vng bậc năm, việc giải bài tốn chéo hố trực
giao hai bài toán này tốn rất nhiều thời gian nếu khơng có cơng cụ hỗ trợ máy
tính. Để tiết kiệm thời gian tính tốn, chúng ta có thể sử dụng một cơng cụ hỗ trợ
tốn học rất hữu ích đó là MATLAB.

Giải tốn bằng MATLAB
Bước 1: Nhập vào ma trận A ( hay ma trận nào mà ta muốn phân tích
SVD )

Hình 2. Nhập vào ma trận A
9
Downloaded by lin lin ()


lOMoARcPSD|32516391

Bước 2: Sử dụng hàm được lập trình sẵn của Matlab để phân tích SVD của ma trận A
với cú pháp:

[Q, S, P] =svd(A)

*Ở đây ta thay bằng S để thuận tiện tính tốn
Bước 3: Ta thu được kết quả sau khi phân tích SVD

Hình 3. Kết quả phân tích SVD sử dụng Matlab

10
Downloaded by lin lin ()


lOMoARcPSD|32516391

II PHÂN TÍCH SVD TRONG KHỬ NHIỄU ẢNH
II.1 Bài tốn SVD trong khử nhiễu hình ảnh
Tổng quan:
Trong thời đại kỹ thuật số hiện nay, phân tích SVD có một số ứng dụng rất quan
trọng 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 giữ liệu
 Ứng dụng trong phân tích thành phân chính (PCA: Principle component
analysis),…

11
Downloaded by lin lin ()


lOMoARcPSD|32516391

Hình 4. Truncated SVD
Có lẽ chức năng hữu ích nhất của phân tích SVD đó chính là cung cấp một xấp xỉ hạng

bậc thấp tối ưu cho ma trận ban đầu (giả sử ma trận là X). Chức năng này được thực
hiện bằng cách chỉ giữ lại r singular value đầu tiên của X và r vector đầu tiên của trong
các ma trận singular vectors, đồng thời lược bỏ đi những phần tử còn lại. Phương pháp
này gọi là Truncate SVD.
Ảnh sạch và ảnh bị nhiễu
Ta có ảnh gốc ban đầu là ảnh chụp cộng hưởng từ MRI. Sử dụng cơng cụ hỗ trợ
tốn học matlab ta thêm nhiễu cũng vào ảnh này để tạo ra ảnh chụp MRI bị nhiễu

Hình 5. Bên trái là ảnh chụp MRI gốc, bên phải là ảnh chụp MRI chứa nhiễu.

12
Downloaded by lin lin ()


lOMoARcPSD|32516391

Ta gọi ma trận biểu diễn ảnh chúng ta chụp được (ảnh chứa nhiễu bởi vì các
ngun nhân như phóng xạ,…) là X, Xtrue là ma trận biểu diễn các thành phần
nhiễu trên ảnh gốc. Có thể hình dung ảnh của chúng ta thu được chính là tổng hợp
hai ma trận Xtrue và Xnoise.

X = Xtrue + ℽXnoise ( ℽ là mức độ nhiễu )
II.2: Code MATLAB
Code matlab TruncateSVD.m
clc; close all;
in_address = 'MRI.jpg';
out_address = 'output.jpg';
if (exist(in_address) == 2)
%open original image and convert it into gray colormap
%Here we use a MRI scan as original image

X = rgb2gray(imread(in_address));
X = im2double(imresize(X, 2));
figure;
subplot(2, 4,1),
imshow(X);
title('Original Image');
else
disp('File does not exist');
end
%Add noise to original image
Xnoisy = imnoise(X, 'gaussian', 0, 0.1);
imwrite(Xnoisy, out_address);
subplot(2,4,2),
imshow(Xnoisy);
title('Noisy Image');
%Reconstruct image using SVD
[U, S, V] = svd(Xnoisy);
sigmas = diag(S);
%sigmas is a vector contain S(i,i) of the S matrix
%Problem
disp('Chung ta thu khoi phuc lai anh ban dau voi ma tran S co bac ngau nhien k');
ranks = [20, 50, 100, 150, 250, 450];
for i = 1:length(ranks)
approx_sigmas = sigmas;
ns = length(sigmas);
approx_sigmas(ranks(i):end) = 0;
approx_S = S;
approx_S(1:ns,1:ns) = diag(approx_sigmas);
approx_img = U * approx_S * V';
subplot(2, 4, i+2),

imshow(approx_img);
title(sprintf('Tuncate by r = %d', ranks(i)));
end

13
Downloaded by lin lin ()


lOMoARcPSD|32516391

Hình 6: Kết quả chạy chương trình khử nhiễu SVD MATLAB

Nhận xét:
+Từ giá trị r = 250 trở đi, ảnh rõ nét nhưng có dấu hiệu nhiễu trở lại.
+Từ giá trị r = 150 trở về trước, ảnh được khữ nhiễu khá tốt, và khá rõ nét.
+Với những giá trị r nhỏ (r = 20), ảnh thu được hoàn toàn khơng rõ nét, và cũng
gần như khử được nhiễu.
+Có một mối liên hệ giữa độ phức tạp và độ chính xác khi khôi phục lại ảnh ban
đầu. Nếu chúng ta khôi phục lại ảnh ban đầu bằng giữ lại càng nhiều giá trị
singular values thì độ chính xác của ảnh cao nhưng đồng thời độ phức tạp cũng
cao (ở đây chính là nhiễu). Nếu chúng ta khơi phục lại ảnh ban đầu bằng cách
giữ lại một số rất ít singular values thì độ phức tạp của ảnh khơi phục thấp nhưng
kéo theo đó là độ chính xác của ảnh cũng thấp (trường hợp r = 20).
+Vậy bài toán đặt ra là chúng ta cần xác định được giá trị r phù hợp để
thu được một ảnh có độ chính xác và độ phức tạp vừa đủ để ta có thể nhận
diện và sử dụng.

III.3.MỘT SỐ VÍ DỤ MINH HỌA KHÁC
Trong lĩnh vực y tế
14

Downloaded by lin lin ()


lOMoARcPSD|32516391

Ngoài ứng dụng để khử nhiễu ảnh, khi chụp cộng hưởng từ MRI như ví dụ minh
họa ở trên, phân tích SVD cịn được ứng để khử nhiễu các ảnh chụp khác như PET,
XRAY,…

Hình 15. Khử nhiễu ảnh scan PET bằng SVD

Hình 16. Khử nhiễu ảnh scan XRAY bằng SVD

15
Downloaded by lin lin ()


lOMoARcPSD|32516391

Trong lĩnh vực trí tuệ nhân tạo
Trong trí tuệ nhân tạo, machine learning, có nhiều dạng nhiễu khác nhau, nhiễu
hình ảnh, nhiễu tín hiệu, nhiễu âm thanh ảnh hưởng khơng nhỏ đến q trình xử lý
thơng tin. Do đó việc khử nhiễu nói chung và khử nhiễu ảnh nói riêng đóng vai trị
rất quan trọng. Trước khi đưa dữ liệu vào máy tính, dữ liệu phải được làm sạch
(quy trình này gọi là Data Cleaning). Nhờ đó khả năng xử lý thơng tin của máy
tính đạt hiệu quả cao hơn.
Lấy ví dụ chúng ta cho máy học về nhận diện khuôn mặt. Tập dữ liệu chúng ta đưa
vào là ảnh chứa khuôn mặt của hàng triệu người khác nhau. Bước đầu tiên cần làm
chính là khử nhiễu của từng ảnh để đem lại hiệu quả học máy tốt nhất.


Hình 17. Khử nhiễu ảnh nhận diện Barrack Obama sử dụng SVD

Trong lĩnh vực giám sát giao thông
Khử nhiễu ảnh sử dụng phân tích SVD cũng có thể trở thành một cơng cụ hữu ích
trong lĩnh vực giám sát giao thơng. Khái niệm giám sát giao thơng khơng cịn q
xa lạ với chúng ta ngày nay. Chất lượng hình ảnh thu được bước vởi camera hay
máy ảnh giám giát đóng vai trị thiết yếu trong việc xử lý đúng người, đúng hành vi

16

Downloaded by lin lin ()


lOMoARcPSD|32516391

phạm. Khi đó, việc áp dụng phân tích SVD để khử nhiễu ảnh giám sát sẽ hỗ trợ
giảm thiểu tối đa thời gian xử lý, cũng như là công sức của người giám sát.

Hình 16. Ảnh chụp biển số xe vi phạm được khử nhiễu nhờ SVD

Và còn nhiều hơn nữa những ứng dụng của phân tích SVD khử nhiễu ảnh trong đời
sống.

17

Downloaded by lin lin ()


lOMoARcPSD|32516391


KẾT LUẬN
Tóm lại, với sự phát triển của cơng nghệ thì SVD trở thành một phần khơng thể
thiếu đối với các khối ngành kỹ thuật. Nhóm của tụi em đã giải quyết được phần
SVD trong khử nhiễu ảnh. Theo nhóm đã trình bày, SVD ngồi ứng dụng để khử
nhiễu ảnh trong lĩnh vực y tế, trí tuệ nhân tạo, học máy, iám sát giao thông nằm ở
phần III) ở trên thì cũng cịn có những ứng dụng tuyệt vời khác như:


Giảm chiều của ảnh



Nén ảnh



Hồi quy tuyến tính



Lát cắt cực đại



Cực trị rời rạc

Bên cạnh đó, ngồi SVD chúng ta cũng có một số phương pháp khác được ứng
dụng trong khử nhiễu ảnh như:
• Non-negative matrix factorization (NMF of NNMF)
• Principal component analysis (PCA)

• Median Filter
• Non-local mean filter
• Gaussian filter
• Total variation filter

18

Downloaded by lin lin ()


lOMoARcPSD|32516391

TÀI LIỆU THAM KHẢO
[1] Giáo trình Đại Số Tuyến Tính (2020), Đặng Văn Vinh
[2] Data-Driven Science and Engineering: Machine Learning, Dynamical Systems,
and Control, Steven L’Brunton & J’ Nathan Kutz
[3] The Optimal Hard Threshold for Singular Values is, Mathan Gavish & David
Donoho
[4] Blog: />[5] Tài liệu báo cáo của các anh chị sinh viên các khóa trước và sự hỗ trợ của các anh
chị

19

Downloaded by lin lin ()



×