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 2DANH SÁCH THÀNH VIÊN NHÓM
2111401 Luu Chan H
Trang 3LỜ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 4MỤ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 5CHƯƠ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 6Bằ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 7Trong 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 8Nế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