1. Trang chủ
  2. » Tất cả

BTL ĐSTT nhóm10 l08

22 22 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Ứng dụng của Phân tích SVD để Khử Nhiễu Hình Ảnh
Tác giả Lớp L08, Nhóm 10
Người hướng dẫn GV. Nguyễn Xuân Mỹ, GV. Bùi Thị Khuyên
Trường học Trường Đại Học Bách Khoa - Đại Học Quốc Gia TP.Hồ Chí Minh
Chuyên ngành Đại số tuyến tính
Thể loại Báo cáo bài tập lớn
Năm xuất bản 2022
Thành phố TP.Hồ Chí Minh
Định dạng
Số trang 22
Dung lượng 2,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH Đề tài 10 “Ứng dụng của phân tích SVD để khử nhiễu hình ảnh” Giảng viên hướng dẫn GV Nguyễn Xuân Mỹ GV Bù.

Trang 1

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA

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

-ĐẠI SỐ TUYẾN TÍNH

Đề tài 10

“Ứng dụng của phân tích SVD để khử nhiễu hình ảnh”

Giảng viên hướng dẫn: GV Nguyễn Xuân Mỹ

GV Bùi Thị Khuyên

Lớp: L08

Tên nhóm :10

Trang 3

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 A ∈ Mn(K) Số λ0 K được gọi là giá trị riêng của ma trận A, nếu tồntại vectơ giá trị X0≠0 sao cho AX0= λ0X0 Vectơ X0 được gọi là vectơ riêng của ma trận Atương ứng với giá trị riêng X0

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 vuông A có giá trị riêng λ thì họ vectơ riêng ứng với λ là nghiệm của ( A- λI )x = 0

Trang 4

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

+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 hoá trực giao:

I.2.1 Cơ sở lí thuyết

Định nghĩa 1 Ma trận A Mn(R) gọi là ma trận đối xứng thực, nếu AT=A

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à AAT = 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

Trang 5

Ta có : Ai*A*j = {1, nếu i= j

0, nếu i≠ 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 :

√3

−2

√6 01

Đị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 :

Trang 6

1) Trị riêng của A là các số thực

2) A luông chéo hoá trực giao được

3) Hai vectơ riêng ứng với các giá trị riêng khác nhau vuông 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 hoá được khi đó A = PDPT Suy ra, AT = (PDP)T = (PT)T.DT.PT = P.D.PT = AHay 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 hoá 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

Ma trận A luôn chéo hoá trực giao được Tức là A=PDPT, trong đó ma trận chéo D có cácphầ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ácvectơ riêng trong các cơ sở trực chuẩn ở bước 2

Ví dụ 3 Chéo hoá trực giao ma trận đối xứng, thực:

Trang 7

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

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

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 saocho x2 x1

Suy ra ( x2,x1 ) = α + (-2) (-2α + 2β )+ 0 = 0

⟺ 5α - 4β = 0

Trang 8

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à 13 (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=

√45

−2

3 )

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 AATvà X0 làvectơ riêng của AAT tương ứng Khi đó:

là các singular values của A

Khi đó ta thu được :

AA T = QΣP T (QΣP T ) T =QΣP T PΣ T Q T =Q ΣΣ T Q T

A T A= (QΣP T ) T QΣP T =PΣ T Q T QΣP T =PΣ T ΣP T

Trang 9

Các cột của Q là các vectơ riêng của ATA và δ12 ; δ22 ;… ; δr2 là các trị riêng khác 0 khô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 ý : q i p i T 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àngthứ nhất của ma trận Tiếp tục lấy hàng thứ hai của vectơ qi 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 qi, ta sẽ thuđược một ma trận có hạng luôn 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 ngoài của vectơ q và vectơ pchuyển vị là :

Trang 10

qpT = (1∗3 1∗0 1∗1

2∗3 2∗0 2∗1 3∗3 3∗0 3∗1) = (3 0 1

6 0 2

9 0 3)

qpT có hạng bằng 1Như 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 đầutiê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ỉ :

Trang 11

Cơ sở trực giao của Eλ1 = (1

1) Cơ sở trực chuẩn của Eλ1 = ( 1

α) =

α( 1

−1)

Cơ sở trực giao của Eλ2 = ( 1

−1) Cơ sở trực chuẩn của Eλ2 = ( 1

Trang 12

 Cơ sở trực giao của Eλ1 = (1

2

1) Cơ sở trực chuẩn của Eλ1= ( 1

√6 2

√6 1

Trang 13

A = QΣPT = ( 1

√2

1

√2 1

Trang 14

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 quantrọ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),…

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ạngbậ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ựchiệ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 trongcá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ápnà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ợtoá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

Trang 15

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.

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

nguyên nhân như phóng xạ,…) là X, X true 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 X true và X noise

X = Xtrue + ℽXnoise ( ℽ là mức độ nhiễu )

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

Nhận xét:

Trang 16

+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ũnggầ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ưngké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ế

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,…

Trang 17

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

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ễuhình ảnh, nhiễu tín hiệu, nhiễu âm thanh ảnh hưởng không nhỏ đến quá 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 đưavà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àmchính là khử nhiễu của từng ảnh để đem lại hiệu quả học máy tốt nhất

Trang 18

Hình 16 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 quá

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 viphạ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 17 Ảnh chụp biển số xe vi phạm được khử nhiễu nhờ SVD

Trang 19

%open original image and convert it into gray colormap

%Here we use a MRI scan as original image

%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

Trang 20

*Kết quả thu được sau khi chạy chương trình:

Hình x: 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, nhưng lại 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ưngké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.

Trang 22

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 ngoà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

• Non-negative matrix factorization (NMF of NNMF)

• Principal component analysis (PCA)

Trang 23

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: https://machinelearningcoban.com/2017/06/07/svd/

[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ị

Ngày đăng: 27/11/2022, 23:19

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w