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

11 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)

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 SVD vào nén dữ liệu
Tác giả Lưu Trần Huyền, Nguyễn Hoàn Ngọc, Nguyễn Quỳnh Như, Lương Trần Nhật Huyền, Trần Nguyễn Khánh Duy
Người hướng dẫn Thầy Nguyễn Hữu Hiệp
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
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 11
Dung lượng 1,59 MB

Nội dung

Tầm 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

Mon Đại số tuyến tính

Hiệp

Lớp L14

Nhóm 4

Trang 2

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

2111401 Luu Chan H

Trang 3

LỜI NÓI ĐẦU

Mục đích của việc nén ảnh số là mã hoá các dữ liệu ảnh về một dạ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ầm 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 dữ liệu video, cần 25

frames trên một giây, như vậy một đoạn video chỉ 30s phải cần đến 540MB 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ã Huf9fman, 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

MỤC LỤC

1.1 Giới thiệu chung về phương pháp phân tích suy biến SVD 1/3: .aaliña 1.3 Cơ sở toán hỌC 2Q HS TT ng HH HT Tn TK knn kh Kế kg ru

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

<6 OE CHƯƠNG 2: ỨNG DỤNG SVD TRONG NÉN ẢNH chi

2.1 Hướng giải quyết vấn đề LH HT HH SH TH Hào 2.2_ Các lệnh Matlab được sử dụng - .ccccccŸccsssS

Trang 5

CHƯƠNG 1: 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 đầu bởi những nhà hình học

vi phân Ban đầu 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ồi qui tuyến tính, xử lý hình ảnh, clustering, các thuật toán nèn và giảm chiều 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 Frobenios 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ồm

2 ma trận trực giao (orthogonal matrix) và 1ma 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 (rotation) 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ều đặc biệt của ma trận đường chéo đó là các phần 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 đầu hoặc chỉ giữ một phần lớn thông tin của dữ liệu ban đầu 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

1.3 Cơ sở toán học

1.3.1 Định nghĩa

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

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

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

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

: Có D là ma trận chéo gồm các trị riêng của M sắp xếp giảm dần, kích thước m xn

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 của AAT và ơ:?; ø;?;: ; ơ,? 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 ATA va ơ;?; Ø;?;::-; o,? cling la 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 : với

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

CHUONG 2: UNG DUNG SVD TRONG NEN ANH

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

n

m A 1 Q xX 5 X pT

Lo

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

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

Hình 2: Viết lại cách phân tích SVD Các trị riêng được sắp xếp theo thứ tự giảm dần, ta có thể xấp xỉ A bằng cách bỏ đi các thành phần ảnh tương ứng với giá trị đơn có giá trị nhỏ gân 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ều thông tin khi thay thế chúng bằng 0

Trang 8

Nếu ta giữ lại k trị riêng đầu tiên,

a na

k

Hình 3: Giữ lại k trị riêng đầu 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'}z

B=double (A);

$Show original image

figure, subplot (2,2,1)

imshow(uint8(B)), axis off;

title ('Original')

% Decomposing the image using singular value

decomposition

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

S) to compress and

%® reconstruct the image

k= U(:,1:N)*S(1:N,1:N)*V(:,1:N)'

subplot (2,2, pLocation), phocation=pLocationt1;

imshow(uint8(k)), axis off;title(sprintf('N = 3d',N));

Trang 9

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

ødi|h|SS#2zx-äã ñnR8mịam

Original

Hình 4: Ví dụ 1

Trang 10

'W Figure 1 = 0 x

ñøø||A^2%soswœzx-ia|nm|am

Original

Hình 5: Ví dụ 2

“A Figure 1 = o x File Edit View Insert Tools Desktop Window Help ™

Nees 2 QA2C9RLZ- 208 a0

Trrrrr=Z yrzzr-rtrr—~trr—rrrr

Hình 6: Ví dụ 3

Ngày đăng: 13/11/2024, 13:55

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

TÀI LIỆU LIÊN QUAN

w