1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập lớn phần Đại số tuyến tính Đề tài phân tích svd (singular value decomposition) Để nén dữ liệu

18 1 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 đề Phân Tích SVD (Singular Value Decomposition) Để Nén Dữ Liệu
Tác giả Lê Tuấn Kiệt, Lý Minh Nhựt, Ngô Mỹ Dung, Lê Việt Sơn, Lê Ngọc Cát Tường, Lê Thị Lan Anh, Lương Quốc Bảo, Lê Vũ Minh Tuệ, Mạc Chỉ Hân, Lê Minh Phụng
Người hướng dẫn TS. Nguyễn Thị Xuân Mỹ
Trường học Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Chuyên ngành Khoa Học Ứng Dụng
Thể loại Bài Tập Lớn
Năm xuất bản 2024
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 18
Dung lượng 822,09 KB

Nội dung

PHẦN I: ĐỀ TÀI ỨNG DỤNG PHÂN TÍCH SVD ĐỂ NÉN DỮ LIỆU Trong thời đại bùng nổ dữ liệu hiện nay, việc lưu trữ và truyền tải thông tin trở thành một thách thức lớn đối với các hệ thống thôn

Trang 1

ĐẠ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

BÀI TẬP LỚN PHẦN ĐẠI SỐ TUYẾN TÍNH

ĐỀ TÀI

PHÂN TÍCH SVD (SINGULAR VALUE DECOMPOSITION) ĐỂ

NÉN DỮ LIỆU

LỚP L04 – NHÓM 04 – HK241 NGÀY NỘP: 13/11/2024

Giảng viên hướng dẫn: TS Nguyễn Thị Xuân Mỹ Sinh viên thực hiện Mã số sinh viên Điểm số Chữ ký

Lê Tuấn Kiệt 2411782

Lê Ngọc Cát Tường 2413889

Lê Thị Lan Anh 2410097

Lương Quốc Bảo 2410248

Lê Vũ Minh Tuệ 2413820

Lê Minh Phụng 2412772

Thành phố Hồ Chí Minh - 2024

Trang 3

TỔNG QUAN ĐÓNG GÓP CỦA CÁC THÀNH VIÊN

độ

Lê Tuấn Kiệt 2411782 -Tìm hiểu và viết code

-Trình bày và thiết kế báo cáo

-Thực hiện viết code

và kết luận phần V -Thiết kế bìa, hậu kì báo cáo

100%

Lý Minh Nhựt 2412554 -Tìm hiểu và phân tích

thông tin -Trình bày báo cáo

-Tìm hiểu và phân tích thông tin phần sai số SVD

-Hậu kì báo cáo

100%

Ngô Mỹ Dung 2410479 -Tìm hiểu chung về đề

tài -Trình bày báo cáo -Làm slide thuyết trình

-Tìm hiểu ứng dụng SVD để nén dữ liệu -Hậu kì báo cáo -Làm slide

100%

Lê Việt Sơn 2413008 -Tìm hiều và phân tích

thông tin -Trình bày báo cáo

-Tìm hiểu và phân tích thông tin phần rút gọn SVD

-Hậu kì báo cáo

100%

Lê Ngọc Cát Tường 2413889 -Tìm hiểu và phân tích

thông tin -Trình bày báo cáo

-Tìm hiểu và phân tích phần trị riêng vector riêng

-Hậu kì báo cáo

100%

Lê Thị Lan Anh 2410097 -Tìm hiểu và phân tích

thông tin

-Tìm hiểu và phân tích thông tin phần xử lí dữ liệu hình ảnh

100%

Lương Quốc Bảo 2410248 -Tìm hiểu và phân tích

thông tin

-Tìm hiểu và phân tích thông tin phần cách thức lưu trữ dữ liệu hình ảnh đã được xử lí

100%

Lê Vũ Minh Tuệ 2413820 -Tìm hiểu và phân tích

thông tin -Tìm hiểu và phân tích thông tin phần phân

tích SVD

100%

Mạc Chỉ Hân 2410946 -Tìm hiểu và phân tích

thông tin -Tìm hiểu và phân tích thông tin phần chéo

hóa ma trận

100%

Lê Minh Phụng 2412772 -Tìm hiểu và phân tích

thông tin -Tìm hiểu và phân tích thông tin phần hệ trực

giao và trực chuẩn

100%

Trang 4

MỤC LỤC

PHẦN I: ĐỀ TÀI……….5

ỨNG DỤNG PHÂN TÍCH SVD ĐỂ NÉN DỮ LIỆU………5

PHẦN II: CƠ SỞ LÝ THUYẾT……….6

1 Trị riêng và vector riêng……… 6

2 Chéo hóa ma trận……… 7

3 Hệ trực giao và trực chuẩn……… 10

PHẦN III: PHÂN TÍCH SVD……… 11

1 Singular Value Decomposition (SVD)……….11

2 Compact SVD (Rút gọn SVD)……… 11

3 Truncated SVD (Sai số SVD)……… 12

PHẦN IV: ỨNG DỤNG CỦA SVD TRONG NÉN ẢNH………13

1 Xử lí dữ liệu hình ảnh được lưu trữ như thế nào? 13

2 Xử lí dữ liệu hình ảnh……… 13

PHẦN V: CODE PYTHON……… 15

1 Đoạn code……… 15

2 Kết quả……… 16

3 Kết luận……….17

PHẦN VI: TƯ LIỆU THAM KHẢO………18

Trang 5

PHẦN I: ĐỀ TÀI

ỨNG DỤNG PHÂN TÍCH SVD ĐỂ NÉN DỮ LIỆU

Trong thời đại bùng nổ dữ liệu hiện nay, việc lưu trữ và truyền tải thông tin trở thành một thách thức lớn đối với các hệ thống thông tin Để giảm thiểu nhu cầu lưu trữ và tăng hiệu quả truyền tải, các phương pháp nén dữ liệu đóng vai trò vô cùng quan trọng Một trong những kỹ thuật nổi bật và có nhiều ứng dụng trong nén dữ liệu là phép phân tích giá trị suy biến (Singular Value Decomposition - SVD) Đây là một công cụ mạnh mẽ trong đại số tuyến tính, không chỉ hỗ trợ giảm chiều dữ liệu mà còn bảo toàn được các thông tin quan trọng trong dữ liệu ban đầu

Phép phân tích SVD đã chứng minh hiệu quả trong nhiều lĩnh vực, từ nén ảnh, giảm thiểu kích thước tập dữ liệu, đến xử lý tín hiệu và khai phá dữ liệu Đặc biệt, trong các ứng dụng nén ảnh và xử lý ảnh, SVD giúp giảm dung lượng lưu trữ của các tệp ảnh mà vẫn giữ được độ rõ nét và chất lượng hình ảnh tương đối cao

Bài viết này cung cấp cái nhìn tổng quan về phép phân tích giá trị suy biến (SVD), nguyên lý hoạt động và các bước thực hiện Bên cạnh đó, bài viết sẽ minh họa việc ứng dụng SVD trong nén dữ liệu, cụ thể là nén ảnh số, nhằm làm rõ cách thức mà kỹ thuật này giúp giảm dung lượng lưu trữ nhưng vẫn duy trì được các thông tin quan trọng của ảnh Qua đó, báo cáo nêu bật vai trò và tiềm năng ứng dụng của SVD trong các bài toán thực tiễn của khoa học dữ liệu hiện đại

Trang 6

PHẦN II: CƠ SỞ LÝ THUYẾT

1 Trị riêng và vector riêng

Trị riêng – vectơ trị riêng của ma trận vuông A ∈ Rnxn, số λ gọi là trị riêng của ma trận A nếu tồn tại vectơ x ≠ 0 ∈ Rn thỏa :

Ax = λx Thì λ được gọi là một trị riêng của A và x được gọi là vector riêng tương ứng với trị riêng của ma trận đó

Trong công thức trên x được viết dưới dạng cột

● Một vài tính chất:

1.1 Nếu x là một vector riêng của A ứng với λ thì kx, k ≠ 0 cũng là vector riêng ứng với trị riêng đó

1.2 Mọi ma trận vuông bậc n đều có n trị riêng (kể cả lặp) và có thể là các số phức

1.3 Với ma trận đối xứng, tất cả các trị riêng đều là các số thực

1.4 Với ma trận xác định dương, tất cả các trị riêng của nó đều là các số thực dương Với

ma trận nửa xác định dương, tất cả các trị riêng của nó đều là các số thực không âm

Tính chất cuối cùng có thể được suy ra từ định nghĩa của ma trận (nửa) xác định dương

Thật vậy, gọi u ≠ 0 là vector riêng ứng với một trị riêng λ của ma trận A xác định dương, ta có:

Au = λu ⇒uTAu= λ uTu=𝜆‖𝑢‖22

Vì A là nửa xác định dương nên với mọi u ≠ 0: uT Au ≥ 0, u ≠ 0 nên ||𝑢||22 > 0 Từ đó suy ra λ là một số không âm

● Ý nghĩa hình học

Về mặt hình học, vector trị riêng chỉ ra các hướng trong không gian mà khi ma trận

A tác động lên, các vector đó không thay đổi hướng (chỉ thay đổi độ dài) Điều này có ý nghĩa quan trọng trong nhiều lĩnh vực như phân tích dữ liệu, cơ học, và hệ thống động lực

● Ứng dụng:

- Phân tích chính PCA : Trị riêng và vector trị riêng được sử dụng trong phân tích chính để giảm chiều dữ liệu

Trang 7

- Giải phương trình vi phân: Trị riêng giúp trong việc tìm nghiệm của các hệ phương trình vi phân

- Kỹ thuật điều khiển: Trong lý thuyết điều khiển, chúng giúp xác định tính ổn định của hệ thống

2 Chéo hóa ma trận

2.1 Định nghĩa:

Chéo hóa ma trận là quá trình tìm ra ma trận khả nghịch T sao cho 𝐵 = 𝑇−1𝐴𝑇 là

ma trận chéo, trong đó B là dạng chéo của ma trận A Để tính 𝐴𝑛, ta sử dụng công thức:

𝐴𝑛 = (𝑇𝐵𝑇−1)𝑛 = 𝑇𝐵𝑛𝑇−1

2.2 Điều kiện chéo hóa:

Để ma trận A có thể chéo hóa, cần thỏa mãn các điều kiện sau:

Vectơ riêng độc lập: Ma trận A phải có n vectơ riêng độc lập tuyến tính

Phân tích đa thức đặc trưng: Đa thức đặc trưng det(A−λI) phải có thể phân tích thành các đa thức bậc 1

Trị riêng phân biệt: Nếu A có n trị riêng đôi một khác nhau, thì A chéo hóa được

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

Tìm trị riêng: Giải phương trình det(A−λI)=0

Tìm vectơ riêng: Giải hệ phương trình (A−λI)X=0

Lập ma trận TT: Xây dựng từ các vectơ riêng tìm được

Tính ma trận chéo: Xác định D=T-1AT

VD: Chéo hoá ma trận:

𝑎) 𝐴 = (2 5

4 1)

det(𝐴 − 𝜆𝐼)=|2 − 𝜆 5

4 1 − 𝜆|

= (2 − 𝜆)(1 − 𝜆) − 20

=𝜆2− 3𝜆 − 18

Trang 8

det(𝐴 − 𝜆𝐼) = 0  𝜆1= −3 hoặc 𝜆2 = 6

(𝐴 − 𝜆𝐼)𝑥 = 0

(2 − 𝜆 5

4 1 − 𝜆) (

𝑥1

𝑥2) = (0

0)

{(2 − 𝜆)𝑥1+ 5𝑥2 = 0

4𝑥1+ (1 − 𝜆)𝑥2 = 0

Với 𝜆1 = −3

=> {5𝑥1+ 5𝑥2 = 0

4𝑥1+ 4𝑥2 = 0  𝑥1+ 𝑥2 = 0  𝑥1 = −𝑥2

Chọn 𝑥2 = −1 => 𝑥1 = 1 => 𝑣1 = ( 1

−1) Với 𝜆2 = 6

=> {−4𝑥1+ 5𝑥2 = 0

4𝑥1− 5𝑥2 = 0 => 4𝑥1− 5𝑥2 = 0 => 𝑥1 =5𝑥2

4

Chọn 𝑥2 = 4 => 𝑥1 = 5 => 𝑣2 = (5

4)

T = (𝑣1, 𝑣2) = ( 1 5

−1 4) detT = 4+5=9≠ 0 => {𝑣1, 𝑣2} độc lập tuyến tính

 Ma trận A chéo hoá được

D = (𝜆1 0

0 𝜆2) = (

−3 0

0 6)

=> 𝐷 = 𝑇−1𝐴𝑇

Hay ( 1 5

−1 4)

−1

𝐴 ( 1 5

−1 4) = (−3 0

0 6)

Trang 9

b) 𝐴 = (2 1

0 2)

det(𝐴 − 𝜆𝐼)=|2 − 𝜆 1

0 2 − 𝜆|= (2 − 𝜆)(2 − 𝜆) det(𝐴 − 𝜆𝐼) = 0 <=> 𝜆1 = 𝜆2 = 2

(𝐴 − 𝜆𝐼)𝑥 = 0

 (2 − 𝜆 1

0 2 − 𝜆) (

𝑥1

𝑥2) = (0

0)

 {(2 − 𝜆)𝑥1+ 𝑥2 = 0

(2 − 𝜆)𝑥2 = 0

Thay 𝜆 = 2=> {𝑥2 = 0

0 = 0

 𝑥2 = 0

Chọn 𝑥1 = 1 => 𝑣1 = (1

0)

Ma trận A chỉ có 1 vector riêng độc lập tuyến tính

Ma trận A không chéo hoá được

2.4 Đặc điểm của ma trận đối xứng

Ma trận đối xứng thực có các đặc điểm quan trọng:

Trị riêng là số thực: Tất cả các trị riêng của ma trận đối xứng đều là số thực, điều này thuận lợi cho các tính toán

Chéo hóa trực giao: Ma trận đối xứng luôn có thể chéo hóa bằng ma trận trực giao, nghĩa là tồn tại ma trận trực giao P sao cho A=PDPT

Vectơ riêng vuông góc: Các vectơ riêng tương ứng với các trị riêng khác nhau sẽ vuông góc với nhau, đảm bảo tính chất độc lập tuyến tính

2.5 Chéo hóa ánh xạ tuyến tính

Ánh xạ tuyến tính f: V→V được coi là chéo hóa được nếu ma trận tương ứng A chéo hóa được Các bước thực hiện tương tự như chéo hóa ma trận, với bước xác định cơ sở là rất quan trọng để đảm bảo ma trận của f trong cơ sở mới là ma trận chéo

Trang 10

2.6 Kết luận

Chéo hóa ma trận là một công cụ quan trọng trong đại số tuyến tính, giúp đơn giản hóa tính toán và phân tích các thuộc tính của ma trận và ánh xạ tuyến tính Thông qua việc chéo hóa, ta có thể làm việc dễ dàng hơn với các phép toán và nghiên cứu sâu hơn về cấu trúc của không gian vectơ

3 Hệ trực giao và trực chuẩn

Một hệ cơ sở u1, u2, , um ∈ Rm được gọi là trực giao (orthogonal) nếu mỗi vector

là khác 0 và tích của hai vector khác nhau bất kỳ bằng 0:

𝑢𝑖 ≠ 0, 𝑢𝑖𝑇𝑢𝑗 = 0 ∀1 ≤ 𝑖 ≠ 𝑗 ≤ 𝑚

Một hệ cơ sở u1, u2, , um ∈ Rm được gọi là trực chuẩn (orthonormal) nếu nó là một

hệ trực giao và độ dài Euclidean (norm 2) của mỗi vector bằng 1:

𝑢𝑖𝑇𝑢𝑗 = {1 if

0 otherwise 𝑖 = 𝑗 (A) Gọi là trực chuẩn U = [u1, u2, , um] với u1, u2, , um ∈ Rm, thế thì từ (A) có thể suy ra ngay:

UUT=UTU=I -Trong đó I là ma trận đơn vị bậc m Ta gọi U là ma trận trực giao (orthogonal matrix) Ma trận loại này không được gọi là ma trận trực chuẩn, không có định nghĩa cho ma trận trực chuẩn

● Một vài tính chất

1 U-1=UT : nghịch đảo của một ma trận trực giao chính là chuyển vị của nó

2 Nếu U là ma trận trực giao thì chuyển vị của nó UT cũng là một ma trận trực giao

3 Định thức (determinant) của ma trận trực giao bằng 1 hoặc -1 Điều này có thể suy

ra từ việc det(U)=det(UT ) và det(U) det(UT)=det(I)=1

4 Ma trận trực giao thể hiện cho phép xoay (rotate) một vector Giả sử có hai vector x,y∈ Rm và ma trận trực giao U∈Rmxm Dùng ma trận này để xoay hai vector trên ta được Ux, Uy Tích vô hướng của hai vector mới là:

(Ux)T (Uy)=xT UT Uy=xTy

=> Như vậy phép xoay không làm thay đổi tích vô hướng giữa hai vector

5 Giả sử 𝑈̂∈Rmxr, r<m là môt ma trận con của ma trận trực giao U được tạo bởi r cột của U, ta sẽ có 𝑈̂𝑇𝑈̂ =Ir Việc này có thể được suy ra từ (A)

Trang 11

PHẦN III: PHÂN TÍCH SVD

1 Phân tích SVD (phân tích suy biến)

Singular Value Decomposition (SVD) là một phương pháp phân tích ma trận bất kỳ thành tích của ba ma trận thành phần

Phân tích SVD ma trận 𝐴𝑚×𝑛 , r(A)=r

𝐴𝑚×𝑛 = 𝑈𝑚×𝑚𝛴𝑚×𝑛(𝑉𝑛×𝑛)𝑇 Trong đó U và V là hai ma trận đều có họ véctơ cột là họ trực chuẩn Σ là ma trận đường chéo với các phân tử trên đường chéo 𝜎1, 𝜎2, 𝜎3,, … 𝜎𝑟 là những số thực dương được sắp xếp theo thứ tự giảm dần và được gọi là các singular values (giá trị suy biến) của ma trận A 𝜎1 ≥ 𝜎2 ≥ ⋯ ≥ 𝜎𝑟 số lượng các phần tử khác không trong Σ chính là rank của ma trận A

Hình 3.1:SVD cho ma trận A khi: m<n (hình trên), và m>n (hình dưới) Σ là một ma trận đường chéo với các phần tử trên đó giảm dần và không âm Màu đỏ càng đậm thể hiện giá trị càng cao Các ô màu trắng trên ma trận thể hiên giá trị 0

2 Compact SVD (Rút gọn SVD)

Viết lại biểu thức 𝐴𝑚𝑥𝑛 = 𝑈𝑚×𝑚𝛴𝑚×𝑛(𝑉𝑛×𝑛)𝑇 dưới dạng tổng các ma trận rank 1:

𝐴 = 𝜎1𝑢1𝑣1𝑇 + 𝜎2𝑢2𝑣2𝑇 + ⋯ + 𝜎𝑟𝑢𝑟𝑣𝑟𝑇 Chú ý: Với mỗi 𝑢𝑖𝑣𝑖𝑇, 1 ≤ 𝑖 ≤ 𝑟 là một ma trận có rank bằng 1

Như vậy, ma trận A chỉ phụ thuộc vào r cột đầu tiên của U, V và r giá trị khác không trên đường chéo của Σ Có thể phân tích gọn hơn của A và gọi nó là compact SVD:

𝐴 = 𝑈𝑟𝛴𝑟(𝑉𝑟)𝑇

Trang 12

Trong đó, các ma trận 𝑈𝑟 ,𝑉𝑟 lần lượt là các ma trận được tạo ra bởi r cột đầu tiên của 𝑈, 𝑉 𝛴𝑟 là ma trận con được tạo ra bởi r hàng đầu tiên và r cột đầu tiên của 𝛴 Nếu r

≪ m, n, cách tính này tiết kiệm được nhiều số lượng tính toán và lưu trữ hơn so với phương pháp làm mỏng SVD

Dưới đây là ví dụ minh họa với m = 4, n = 6, r = 2

Hình 3.2: Biểu diễn SVD dạng thu gọn và biểu diễn ma trận dưới dạng tổng các ma trận có rank bằng 1

3 Truncated SVD (Sai số SVD)

∑ là ma trận đường chéo không vuông với các phần tử trên đường chéo là không

âm và giảm dần: 𝜎1 ≥ 𝜎2 ≥ ⋯ ≥ 𝜎𝑟 ≥ 0 Vì vậy nên các giá trị: 𝜎𝑟, 𝜎𝑟−1,… mang giá trị nhỏ và gần với 0 Khi đó ta có ma trận A xấp xỉ ma trận 𝐴𝑘 với k < r:

𝐴 ≈ 𝐴𝑘 = 𝜎1𝑢1𝑣1𝑇 + 𝜎2𝑢2𝑣2𝑇 + 𝜎3𝑢3𝑣3𝑇 + ⋯ + 𝜎𝑘𝑢𝑘𝑣𝑘𝑇 (k<r)

Có thể chọn k lớn hoặc nhỏ tùy thuộc vào mục đích sử dụng

Đây là một định lý nói rằng sai số do cách xấp xỉ trên chính là căn bậc hai của tổng bình phương của các singular values mà ta đã bỏ qua ở phần cuối của Σ Trong đó sai số chính là chuẩn Frobineous của hiệu 2 ma trận:

||𝐴 − 𝐴𝑘||

𝐹

2

= ∑ 𝜎𝑖2 𝑟

𝑖 = 𝑘 + 1

Trang 13

PHẦN IV: ỨNG DỤNG CỦA SVD TRONG NÉN ẢNH

1 Dữ liệu hình ảnh được lưu trữ như thế nào?

Nén ảnh thực hiện được là do một thực tế: thông tin trong bức ảnh không phải là ngẫu nhiên mà có trật tự, có cấu trúc Vì thế, nếu bóc tách được tính trật tự, cấu trúc đó thì

sẽ biết phẩn thông tin nào quan trọng nhất trong bức ảnh để biểu diễn và truyền đi với số lượng ít bit hơn so với ảnh gốc mà vẫn đảm bảo tính đầy đủ cần thiết của thông tin Ở bên nhận, quá trình giải mã sẽ tổ chức, sắp xếp lại được bức ảnh xấp xỉ gần chính xác so với ảnh gốc nhưng vẫn thỏa mãn chất lượng yêu cầu Nén ảnh (nén mất thông tin) đạt được bằng cách loại bỏ các phần ít quan trọng trong ảnh đã được số hóa Những phần tử "dư thừa" này có thể là dư thừa thông tin về không gian, dư thừa vể cấp xám hay dư thừa vể thời gian

Phân tích SVD với đặc tính xác định được các phần tử có sự tập trung "năng lượng" cao của ảnh nên có thể được sử dụng trong nén ảnh Khi một hình ảnh được chuyển đổi bằng SVD, nó không bị nén Tuy nhiên, do dữ liệu có dạng trong đó giá trị số ít đầu tiên

có một lượng lớn thông tin hình ảnh, chúng ta chỉ có thể sử dụng một vài giá trị lớn nhất

để thể hiện hình ảnh thì kết quả đạt được cũng sẽ không có nhiều khác biệt so với bản gốc,

cụ thể

𝐴 = 𝑈𝛴𝑉𝑇 = ∑ 𝜎𝑖𝑢𝑖𝑣𝑖

𝑟

𝑖=1

= 𝜎1𝑢1𝑣1𝑇 + 𝜎2𝑢2𝑣2𝑇 + ⋯ + 𝜎𝑟𝑢𝑟𝑣𝑟𝑇

Khi cần nén một ảnh A, chúng ta chỉ sử dụng một số ít, k phần tử (với k < r) và loại

bỏ đi các phẩn tử còn lại Ma trận chính của hạng k có được bằng cách trích xuất các hạng

đó sau các chuyển đến hạng k đầu tiên và ảnh tương ứng với Ak có thể vẫn gần với hình ảnh gốc

𝐴𝑘 = 𝜎1𝑢1𝑣1𝑇 + 𝜎2𝑢2𝑣2𝑇 + ⋯ + 𝜎𝑘𝑢𝑘𝑣𝑘𝑇 Tổng dung lượng cho Ak sẽ là 𝑘 × (𝑚 + 𝑛 + 1) Để đo hiệu suất của phương pháp nén hình ảnh SVD, chúng ta có thể tính toán hệ số nén, có thể được tính bằng tỷ lệ nén

CR= 𝑚×𝑛

𝑘×(𝑚+𝑛+𝐷) Như vậy, giá trị CR càng lớn thể hiện độ nén càng cao và đóng thời chất lượng ảnh cũng sẽ kém hơn

2 Xử lí dữ liệu hình ảnh

Bước 1: Đọc và chuyển đổi ảnh thành ma trận

Ảnh (nếu là ảnh grayscale) sẽ được biểu diễn dưới dạng ma trận 2D, trong đó mỗi phần tử là mức độ xám của điểm ảnh Nếu là ảnh màu (RGB), chúng ta sẽ xử lý riêng từng kênh màu (R, G, B) rồi ghép lại sau

Trang 14

Bước 2: Áp dụng SVD

Với ma trận ảnh A có kích thước m×n , chúng ta thực hiện phân tích SVD từ ma trận ban đầu thành ba ma trận:

A = UΣVT

Trong đó:

● U: ma trận trực giao m x m

● Σ: ma trận đường chéo giữa các giá trị suy biến (singular values), sắp xếp theo thứ

tự giảm dần

● V: ma trận trực giao n x n

Bước 3: Giữ lại k giá trị suy biến lớn nhất

Để nén ảnh, chúng ta chỉ giữ lại k giá trị suy biến lớn nhất trong Σ và các cột tương ứng trong U và V Ma trận mới 𝐴𝑘 = 𝑈𝑘𝛴𝑘𝑉𝑘𝑇 có kích thước nhỏ hơn, giúp giảm dữ liệu

Bước 4: Tái tạo ảnh từ dữ liệu nén

Sử dụng 𝐴𝑘 = 𝑈𝑘𝛴𝑘𝑉𝑘𝑇để tái tạo ảnh nén Với k giá trị suy biến đủ lớn, ảnh vẫn giữ được chất lượng ban đầu với dung lượng thấp hơn

Khi tăng giá trị k, ảnh nén sẽ gần với ảnh gốc hơn nhưng sẽ sử dụng nhiều dữ liệu hơn

Ngày đăng: 01/12/2024, 16:01

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

TÀI LIỆU LIÊN QUAN

w