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

Báo cáo bài tập lớn ứng dụng svd vào nén dữ liệu

10 1 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Bài Tập Lớn Ứng Dụng Svd Vào Nén Dữ Liệu
Tác giả Trần Nhã Linh
Người hướng dẫn GVHD Th Nguyễn Hữu Hiệp
Trường học Đạ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
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 10
Dung lượng 1,58 MB

Nội dung

Tần quan trọng của vấn đ`ềnén ảnh có thể thấy rõ qua các số liệu cụ thể: với một bức ảnh trắng đen kích thước 512x512 pixels, mỗi pixel được biểu diễn bởi 8 bits biểu diễn một trong 256

Trang 1

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

KHOA KHOA HỌC ỨNG DỤNG

BK

TP.HCM

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

UNG DUNG SVD VAO NEN DU LIEU

Hiệp

Trang 2

DANH SÁCH THÀNH VIÊN NHÓM

Tr ân Nhã Linh

Trang 3

LOI NOI DAU

Mục đích của việc nén ảnh số là mã hoá các dữ liệu ảnh v`Šmột đạng thu gọn, tối thiểu hoá cả số bit dùng để biểu diễn ảnh lẫn các sai khác do quá trình nén gây ra Tần quan trọng của vấn đ`ềnén ảnh có thể thấy rõ qua các số liệu cụ thể: với một bức ảnh trắng đen kích thước 512x512 pixels, mỗi pixel được biểu diễn bởi 8 bits (biểu diễn một trong 256 giá trị mức xám), cần khoảng 256 Kbytes dữ liệu Với ảnh màu cẦn gấp ba lần con số này Với các đữ liệu video, ca 25 frames trên một giây, như vậy một đoạn video chỉ 30s phải cần đến

40MB dữ liệu, một con số quá lớn Do đó vấn đ`ềnén ảnh là hết sức

cần thiết

Nói chung, các phương pháp nén ảnh chủ yếu được phân thành 2 nhóm: nhóm không tổn hao và nhóm có tổn hao Các phương pháp nén ảnh không tổn hao cho phép biểu diễn ảnh với chất lượng hoàn toàn ngang bằng với ảnh gốc Các phương pháp này dựa trên các giải thuật nén được áp dụng cho tất cả các đối tượng dữ liệu nói chung chứ không chỉ riêng dữ liệu ảnh, ví dụ mã HulJH4Jman, mã số học, mã Golomb, Tuy nhiên, các phương pháp này không lợi dụng được những đặc tính riêng của dữ liệu ảnh và tỷ lệ nén rất thấp Do đó, trong thực tế, các phương pháp nén có tổn hao là các phương pháp được sử dụng chủ yếu Với các phương pháp này, luôn có sự đánh đổi giữa dung lượng ảnh với chất lượng ảnh

Trang 4

MUC LUC

CHƯƠNG 1: CO'SO LY THUYET sscecsssssssseeeesesssseeesseeseeessnsnsesene 5

1.1 Giới thiệu chung v`êphương pháp phân tích suy biến SVD 5

I0 na 5

sẻ na °”ađdd ÔỎ 5 II S620) 1 5

1.3.2 Cách phân tích SVD của một ma trận - - -++++ 6

In ¿on 6

CHƯƠNG 2: ỨNG DỤNG SVD TRONG NÉN ẢNH

2.1 Hướng giải quyết vấn đỀ SH eeey 7 2.2 Các lệnh Matlab được sử dụng 55c cccsexsrreerexres 8 2.3 Doan code Matlab - - << Q21 11111 111 111111182 18253251122 8 ` na na 8

Trang 5

CHUONG I: CƠ SỞ LÝ THUYẾT

1.1 Giới thiệu chung v`êphương pháp phân tích suy biến

SVD

Phương pháp phân tích suy biến( singular value decomposition) được viết tắt là SVD là một trong những phương pháp thuộc nhóm matrix factorization được phát triển Lần đầầi bởi những nhà hình học

vi phân Ban đi mục đích của phương pháp này là tìm ra một phép xoay không gian sao cho tích vô hướng của các vector không thay đổi Từ mối liên hệ này khái niệm v `êma trận trực giao đã hình thành

để tạo ra các phép xoay đặc biệt Phương pháp SVD đã được phát triển dựa trên những tính chất của ma trận trực giao và ma trận đường chéo để tìm ra một ma trận xấp xỉ với ma trận gốc Phương pháp này sau đó đã được ứng dụng rệng rãi trong các lĩnh vực như hình học vi phân, hỗ qui tuyến tính, xử lý hình ảnh, clustering, các

thuật toán nèn và giảm chi Yâi dữ liệu

1.2 Mục tiêu

Phương pháp 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 dựa trên khoảng cách norm Irobenios giữa 2

ma trận Người ta đã chứng minh được rằng ma trận xấp xÌ tốt nhất được biểu diễn dưới dạng tích của 3 ma trận rất đặc biệt bao g ân 2ma trận truc giao (orthogonal matrix) va l ma trận đường chéo (diagonal matrix) Quá trình nhân ma trận thực chất là quá trình biến đổi các điểm dữ liệu của ma trận gốc thông qua những phép xoay trục (rofation) và phép thay đổi độ lớn (scaling) và từ đó tạo ra những điểm dữ liệu mới trong không gian mới Đi`âi đặc biệt của ma trận đường chéo đó là các ph tử của nó chính là những giá trị riêng của ma trận gốc Những điểm dữ liệu trong không gian mới

có thể giữ được 100% thông tin ban đầ hoặc chỉ giữ một ph lớn thông tin của dữ liệu ban đầi thông qua các phép truncate SVD

Trang 6

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 toán SVD có thể thu được ma trận xấp xỉ tốt nhất

mà vẫn đảm bảo giảm được hạng của ma trận sau biến đổi và kích thước các ma trận nhân tử nằm trong giới hạn cho phép Do đó nó tiết kiệm được thời gian và chỉ phí tính toán và đ ô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

143 Cơ sở toán học

1.3.1 Định nghĩa

Mọi ma trận thực đ'âi có thể phân tích được thành:

A: Ma trận đầi vào g ôn các số thực, kích thước m xn

Q: Ma trận đơn vị thành phn trực giao, kích thước m x m

P: Ma trận đơn vị thành ph trực giao, kích thước n xn

Z ` A 2 AA s sta > é As H- `^

: Có D là ma trận chéo g ‘Gm cac tri riéng của M sấp xếp giảm dần, kích thước m x n

1.3.2 Cách phân tích SVD của một ma trận

Nhân cho ma trận chuyển vị hoặc nhân với

Các cột của Q là các vecto riêng cha AAT va Øi?; 0¿?;: ; Ơ; là các trị

riêng khác 0 của AAT

Các cột của P là các vecto riêng của A*A và Ø¡?; Øz7;: ; Ø;ˆ cũng là các trị riêng khác 0 của ATA

Trang 7

Trong D, ta sắp xếp các trị riêng của A theo thứ tự giảm dần

1.3.3 Ví dụ

Phân tích SVD của ma trận

Chéo hóa trực giao: voi

Chéo hóa trực giao : với

Phân tích SVD của với Q=,P=, 3=

CHƯƠNG 2: ỨNG DỤNG SVD TRONG NÉN ẢNH

2.1 Hướng giải quyết vấn đ`ề

n

Hình 1: Mô tả cách phân tích SVD bằng hình ảnh

được viết lại thành

A U, Đ, (V,)7

Hi

T

oy, Uy VỊ Ø2 ta vĩ

+

Hình 2: Viết lại cách phan tich SVD

Các trị riêng được sắp xếp theo thứ tự giảm đần, ta có thể xấp xỉ A

bằng cách bỏ đi các thành ph3n ảnh tương ứng với giá trị đơn có giá

trị nhỏ øgn bằng 0 Do đó những số hạng phía sau sẽ có ít ảnh

hưởng đến ảnh và có thể bỏ đi các số hạng này, ảnh sẽ không mất

nhi 'âi thông tin khi thay thế chúng bằng 0

Trang 8

Nếu ta giữ lại k trị néng d'& tiên,

Hình 3: Giữ lại k trị riêng đt tiên và loại bỏ các trị riêng còn lại

2.2 Doan code Matlab

function btl

clear all

%Get Input, which is a Black n White picture

A=imread('a.jpg');

B=double(A);

%Show original image

figure subplot(2,2,1)

imshow(uint&(B)), axis off;

title('Original’}

% Decomposing the image using singular value

decomposition

[U,S,V]=svd(B);

% Using different number of singular values (diagonal of

S) to compress and

% reconstruct the image

pLocation=2; %Location for subplot

for N=[5 20 100] %Loop: N=5, N=20, N=100

k=U(c,I:N)*S(I:N,I:N)*V€,1:N);

subplot(2,2,pLocation) pLocation=pLocation+1;

imshow(uint&(k)), axis off;title(sprintf('N = %d',N));

Trang 9

23 Vidu

Chạy thử code với một số ảnh đã chuẩn bị

“4 Figure 1 = n x File Edit View Insert Tools Desktop Window Help »

nøjds hà SS2®&z-3 ñg1)am

Original

Hình 4: Ví dụ 1

Trang 10

'@ Figure 1 - n

File Edit View Insert Tools Desktop Window Help

nđ ø ò| h | % % # ®@œ<-|ã| 3| am

Original

Hình 5: Ví dụ 2

A Figure 1 — ao File Edit View Insert Tools Desktop Window Help

Trrrrr=Z POT TTT TT

Hinh 6: Vi du3

Ngày đăng: 10/02/2025, 15:59