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

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

Đ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

lOMoARcPSD|18034504 ĐẠ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 BÁO CÁO BÀI TẬP LỚN ỨNG DỤNG SVD VÀO NÉN DỮ LIỆU Mơn GVHD Lớp Nhóm Đại số tuyến tính Thầy Nguyễn Hữu Hiệp L14 lOMoARcPSD|18034504 DANH SÁCH THÀNH VIÊN NHÓM STT MSSV 2111203 2111401 2111454 2111472 2111507 2111578 2111654 HỌ TÊN Nguyễn Thanh Hiền Lưu Chấn Hưng Nguyễn Hoàng Duy Khang Lê Thanh Duy Khanh Nguyễn Quang Khải Lương Trung Kiên Võ Trần Nhã Linh lOMoARcPSD|18034504 LỜI NĨI ĐẦU Mục đích việc nén ảnh số mã hoá liệu ảnh dạng thu gọn, tối thiểu hoá số bit dùng để biểu diễn ảnh lẫn sai khác trình nén gây Tầm quan trọng vấn đề nén ảnh thấy rõ qua số liệu cụ thể: với ảnh trắng đen kích thước 512x512 pixels, pixel biểu diễn bits (biểu diễn 256 giá trị mức xám), cần khoảng 256 Kbytes liệu Với ảnh màu cần gấp ba lần số Với liệu video, cần 25 frames giây, đoạn video 30s phải cần đến 540MB liệu, số lớn Do vấn đề nén ảnh cần thiết Nói chung, phương pháp nén ảnh chủ yếu phân thành nhóm: nhóm khơng tổn hao 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 với ảnh gốc Các phương pháp dựa giải thuật nén áp dụng cho tất đối tượng liệu nói chung khơng riêng liệu ảnh, ví dụ mã Hu昀昀man, mã số học, mã Golomb, Tuy nhiên, phương pháp khơng lợi dụng đặc tính riêng liệu ảnh tỷ lệ nén thấp Do đó, thực tế, phương pháp nén có tổn hao phương pháp sử dụng chủ yếu Với phương pháp này, ln có đánh đổi dung lượng ảnh với chất lượng ảnh lOMoARcPSD|18034504 MỤC LỤC CHƯƠNG 1: CƠ SỞ LÝ THUYẾT .5 1.1 Giới thiệu chung phương pháp phân tích suy biến SVD 1.2 Mục tiêu .5 1.3 Cơ sở toán học 1.3.1 Định nghĩa 1.3.2 Cách phân tích SVD ma trận 1.3.3 Ví dụ .6 CHƯƠNG 2: ỨNG DỤNG SVD TRONG NÉN ẢNH 2.1 Hướng giải vấn đề 2.2 Các lệnh Matlab sử dụng 2.3 Đoạn code Matlab 2.4 Ví dụ .8 Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu chung 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) viết tắt SVD phương pháp thuộc nhóm matrix factorization phát triển lần đầu nhà hình học vi phân Ban đầu mục đích phương pháp tìm phép xoay khơng gian cho tích vơ hướng vector không thay đổi Từ mối liên hệ khái niệm ma trận trực giao hình thành để tạo phép xoay đặc biệt Phương pháp SVD phát triển dựa tính chất ma trận trực giao ma trận đường chéo để tìm ma trận xấp xỉ với ma trận gốc Phương pháp sau ứng dụng rộng rãi lĩnh vực hình học vi phân, hồi qui tuyến tính, xử lý hình ảnh, clustering, thuật toán nèn giảm chiều liệu 1.2 Mục tiêu Phương pháp SVD tìm lớp ma trận xấp xỉ tốt với ma trận cho trước dựa khoảng cách norm Frobenios ma trận Người ta chứng minh ma trận xấp xỉ tốt biểu diễn dạng tích ma trận đặc biệt bao gồm ma trận trực giao (orthogonal matrix) ma trận đường chéo (diagonal matrix) Quá trình nhân ma trận thực chất trình biến đổi điểm liệu ma trận gốc thông qua phép xoay trục (rotation) phép thay đổi độ lớn (scaling) từ tạo điểm liệu không gian Điều đặc biệt ma trận đường chéo phần tử giá trị riêng ma trận gốc Những điểm liệu khơng gian giữ 100% thông tin ban đầu giữ phần lớn thông tin liệu ban đầu thông qua phép truncate SVD Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 Bằng cách xếp trị riêng theo thứ tự giảm dần đường chéo thuật tốn SVD thu ma trận xấp xỉ tốt mà đảm bảo giảm hạng ma trận sau biến đổi kích thước ma trận nhân tử nằm giới hạn cho phép Do tiết kiệm thời gian chi phí tính tốn đồng thời tìm giá trị dự báo cho ma trận gốc với mức độ xác cao 1.3 Cơ sở tốn học 1.3.1 Định nghĩa Mọi ma trận thực phân tích thành: A: Ma trận đầu vào gồm số thực, kích thước m x n 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 x n : Có D ma trận chéo gồm trị riêng M xếp giảm dần, kích thước m x n 1.3.2 Cách phân tích SVD ma trận Nhân cho ma trận chuyển vị nhân với Các cột Q vecto riêng AAT σ12 ; σ22 ;⋯; σr2 trị riêng khác AAT Các cột P vecto riêng ATA σ12 ; σ22 ;⋯; σr2 trị riêng khác ATA Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 Trong D, ta xếp trị riêng A theo thứ tự giảm dần 1.3.3 Ví dụ Phân tích SVD ma trận Chéo hóa trực giao : với Chéo hóa trực giao : với Phân tích SVD với Q = , P = , Σ= CHƯƠNG 2: ỨNG DỤNG SVD TRONG NÉN ẢNH 2.1 Hướng giải vấn đề Hình 1: Mơ tả cách phân tích SVD hình ảnh 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 xếp theo thứ tự giảm dần, ta xấp xỉ A cách bỏ thành phần ảnh tương ứng với giá trị đơn có giá trị nhỏ gần Do số hạng phía sau có ảnh hưởng đến ảnh bỏ số hạng này, ảnh không nhiều thông tin thay chúng Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 Nếu ta giữ lại k trị riêng đầu tiên, Hình 3: Giữ lại k trị riêng loại bỏ trị riêng lại 2.2 Đoạn 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(uint8(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(:,1:N)*S(1:N,1:N)*V(:,1:N)'; subplot(2,2,pLocation),pLocation=pLocation+1; imshow(uint8(k)), axis off;title(sprintf('N = %d',N)); Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 end 2.3 Ví dụ Chạy thử code với số ảnh chuẩn bị Hình 4: Ví dụ Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 Hình 5: Ví dụ Hình 6: Ví dụ Downloaded by vu ga (vuchinhhp2@gmail.com) lOMoARcPSD|18034504 Downloaded by vu ga (vuchinhhp2@gmail.com)

Ngày đăng: 21/06/2023, 22:08

Tài liệu cùng người dùng

Tài liệu liên quan