BÁO cáo ỨNG DỤNG SVD vào KHỬ NHIỄU HÌNH ẢNH PHÂN TÍCH SVD TRONG KHỬ NHIỄU ẢNH

19 7 0
BÁO cáo ỨNG DỤNG SVD vào KHỬ NHIỄU HÌNH ẢNH PHÂN TÍCH SVD TRONG KHỬ NHIỄU ẢNH

Đ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

TRƯỜNG ĐẠI HỌC BÁCH KHOA BỘ MÔN ĐẠI SỐ TUYẾN TÍNH – GIẢNG VIÊN: NGUYỄN HỮU HIỆP BÁO CÁO ỨNG DỤNG SVD VÀO KHỬ NHIỄU HÌNH ẢNH NHĨM: L10_7 DANH SÁCH THÀNH VIÊN STT Họ & tên Nguyễn Thị Ngọc Như MSSV 2212474 Nguyễn Thanh Phát 2212524 Trương Hữu Nhân 2212385 Nguyễn Thành Nhân 2212368 Lê Minh Nhật 2212391 Nguyễn Trọng Nghĩa Bùi Thị Cẩm Nhung 2212231 2212457 Lục Bùi Minh Phúc 2212618 NỘI DUNG I CƠ SỞ LÝ THUYẾT I.1 Trị riêng vector riêng ma trận I.2 Chéo hóa trực giao I.3.Phân tích SVD (Singular Value Decomposition) IIPHÂN TÍCH SVD TRONG KHỬ NHIỄU ẢNH II.1 Bài tốn SVD khử nhiễu ảnh II.2 Code Matlab II.3 Một số ví dụ minh họa I CƠ SỞ LÝ THUYẾT I.1 Trị riêng vector riêng ma trận I.1.1 Cơ sở lí thuyết  Chú Địnhýnghĩa -Cho Ma mớicó cómột trị riêng vàxvector riêng A trận  Mvng (K) Nếu vector ≠ số λ K thỏa n - Vector riêng bảo toan phương qua phép nhân ma trận Vector riêng phải khác Ax = λx ta riêng nói x hệ vector ứng với λ củahoặc ma trận A -ThìTrị số tỷriêng lệ tương ứng:trịcóriêng thể thực phức - Một ma trận có nhiều trị riêng vector riêng  Tính chất Cho x vector riêng ma trận A  Mn ứng với trị riêng λ - A có trị riêng λ = det(A) = - x vector riêng Ak ứng với trị riêng λk Tổng quát với đa thức f(x) bất kì, x vector riêng f(x) - Nếu x,y vector riêng ứng với trị riêng λ αx + βy vector riêng I CƠ SỞ LÝ THUYẾT I.1 Trị riêng vector riêng ma trận I.1.2 Các bước tìm trị riêng vector riêng ma trận A Bước (Tìm trị riêng) Lập phương trình đặc trưng det(A – λI)= Tính định thức, giải phương trình Tất nghiệm phương trình tất trị riêng A Bước (Tìm vector riêng) Tương ứng với trị riêng λ1 Giải hệ phương trình (A – λ1I)X= Tất nghiệm khác hệ tất vector riêng A ứng với trị riêng λ1 Tương tự tìm vector riêng A ứng với trị riêng lại I CƠ SỞ LÝ THUYẾT I.2 Chéo hóa trực giao I.2.1 Cơ sở lí thuyết Định chất Tính nghĩa Ma∈trận A Mn(R) P ∈gọi Mn(R) đối xứng trực giao thựcnếu nếucác cột(hàng) P tạo thành sở trực chuẩn P ∈ Mn(R) gọi trực giao Định lý (Ma đối xứng thực)giao tồn ma trận trực giao P ma trận chéo D thỏ Ma trận A gọitrận chéo hóa trực Cho A ma trận đối xứng thực     Khi Trị riêng A số thực BHH=BĐS Các VTR ứng với TR khác vng góc A ln chéo hóa trực giao Để chéo hố trực giao ma trận đối xứng thực, ta cần tìm sở trực chuẩn gồm véc tơ riêng I CƠ SỞ LÝ THUYẾT I.2 Chéo hóa trực giao I.2.2 Chéo hóa trực giao ma trận đối xứng CS trực chuẩn Cho ma trận đối xứng thực: Với   A= BƯỚC 1: Tìm trị riêng Chọn véc tơ nghiệm P1 = (1; 0; −1) Tìm véc tơ P2 = (1;4;1) vng góc với P1 Xét hệ (A − λ I) = CS trực chuẩn = => CS trực chuẩn BƯỚC 3: Ta kết luận ma trận A chéo hóa ⇒ BƯỚC 2: Tìm sở khơng gian riêng Với , Với  I CƠ SỞ LÝ THUYẾT I.3.Phân tích SVD (Singular Value Decomposition) I.3.1 Khái niệm SVD hay “singular value decomposition” phương pháp phân tích suy biến, dạng matrix factorization nhằm phân tích ma trận thành tích ma trận số thực ma trận số phức Cho ma trận hay phân tích thành dạng: I CƠ SỞ LÝ THUYẾT I.3.Phân tích SVD (Singular Value Decomposition) I.3.2 Các tính chất chung SVD • Σ2 chứa trị riêng ATA V chứa vector riêng tương ứng vị trí tương ứng Σ2 chứa trị riêng AAT U chứa vector riêng tương ứng vị trí tương ứng • Với ma trận Amxn bất kỳ, giá trị riêng ma trận ATA không âm (tức ma trận nửa xác định dương) I CƠ SỞ LÝ THUYẾT I.3.Phân tích SVD (Singular Value Decomposition) I.3.3 Các phép giảm chiều SVD I.3.3.a Phương pháp Compact SVD Ta biểu diễn ma trận A A dạng tổng vector cột u1 ∈ Rm Um×m = UrΣr(Vr)T(2) vector hàng vi ∈ Rn (Vn×n)T Với Ur ,Vr ma trận tạo r cột U V.Σr ma trận tạo r hàng r cột Σr Nếu ma trận A có hạng nhỏ với ma trận có hạng nhiều so với số hàng số cột ta lợi nhiều việc lưu trữ ⇒ Ma trận A phụ thuộc vào r cột U ,V r giá trị khác đường chéo ma trận Σ nên ta có cách phân tích gọn gọi compact SVD 10 I CƠ SỞ LÝ THUYẾT I.3.Phân tích SVD (Singular Value Decomposition) I.3.3 Các phép giảm chiều SVD I.3.3.b Phương pháp Truncated SVD Khi Hoặc Chỉđólấy ta tapháp có cịnthể t truncate dịng tính biểu vàdiễn cột khoảng ứng với cáchta tổng norm Frobenius tíchtỷvơlệhướng trăm  cácvà lượng A tổng Phương SVD cịndạng cho biếtcủa phần bình vector top phương ttin cột giá vàcủa trị dòng riêng trịma σ1 riêng U,V > σ2 Tcịn >lại sau: từ >thơng σt + qua đến σn thức: (với giả định A có n trị riêng) thơng lưu giữ trận xấp xỉ công sau: σt > lớn A từ U, Vt Phần lại ma trận bị loại bỏ Như phương pháp Truncate SVD ta thu ma trận xấp xỉ ma trận A ma trận: 11 I CƠ SỞ LÝ THUYẾT I.3.Phân tích SVD (Singular Value Decomposition) I.3.4 Phân tích SVD để nén liệu SVD Ví dụđược ứng hìnhdụng ảnh nhiều m×n pixels lĩnh đượcvực phân xử tích lý kỹthành thuật 3số,matrong trậnđó A,khơng B, C khơngđộnhắc lớn m×n đến mảng Giả sử xửma lí ảnh trận A SVD có phân giúp tích tối ưu SVD hóalà:thơng tin cần chứa mà đảm bảo chất lượng tối thiểu ảnh với giá trị k có A ≈ Ak ma trận xấp xỉ tốt A tạo thành lấy k singular value đầu tiên, đồng thời có sai số 12 II PHÂN TÍCH SVD TRONG KHỬ NHIỄU ẢNH II.1 Bài toán SVD khử nhiễu ảnh Hướng giải vấn đề Được viết lại thành 13 II PHÂN TÍCH SVD TRONG KHỬ NHIỄU ẢNH II.1 Bài toán SVD khử nhiễu ảnh II.2 Code Matlab clc; close all; Xnoisy = imnoise(X, 'gaussian', 0, 0.05); approx_sigmas(ranks(i):end) = 0; in_address = 'nao.png'; imwrite(Xnoisy, out_address); approx_S = S; out_address = 'output.jpg'; subplot(2,4,2), approx_S(1:ns,1:ns) = diag(approx_sigmas); if (exist(in_address) == 2) imshow(Xnoisy); title('Noisy Image'); approx_img = U * approx_S * V'; %open original image and convert it into gray colormap %Reconstruct image using SVD subplot(2, 4, i+2), [U, S, V] = svd(Xnoisy); imshow(approx_img); %Here we use a MRI scan as original image sigmas = diag(S); title(sprintf('Tuncate by r = %d', ranks(i))); X = rgb2gray(imread(in_address)); end X = im2double(imresize(X, 2)); %sigmas is a vector contain S(i,i) of the S matrix figure; %Problem subplot(2, 4,1), disp('Chung ta thu khoi phuc lai anh ban dau voi ma tran S co bac ngau nhien k'); imshow(X); title('Original Image'); else disp('File does not exist'); ranks = [20, 50, 100, 150, 250, 450]; for i = 1:length(ranks) end approx_sigmas = sigmas; %Add noise to original image ns = length(sigmas); 14 II PHÂN TÍCH SVD TRONG KHỬ NHIỄU ẢNH II.1 Bài toán SVD khử nhiễu ảnh II.2 Code Matlab Hình 4: Kết chạy chương trình Matlab 15 II PHÂN TÍCH SVD TRONG KHỬ NHIỄU ẢNH II.1 Bài toán SVD khử nhiễu ảnh II.2 Code Matlab Nhận xét: - => Vậy toán đặt cần xác định giá trị r phù hợp để thu ảnh có độ xác độ phức tạp vừa đủ để ta nhận diện sử dụng 16 II PHÂN TÍCH SVD TRONG KHỬ NHIỄU ẢNH II.1 Bài tốn SVD khử nhiễu ảnh II.2 Code Matlab II.3 Một số ví dụ minh họa •Trong lĩnh vực y tế Trong y tế việc hình ảnh X-ray hay hững ảnh MRI bị nhiễu thường xảy ra, việc ứng dụng khử nhiễu giúp tiết kiệm thời gian chi phí Và cịn nhiều lĩnh vực khác cần tới việc lọc khử nhiễu truyền thông đa phương tiện, phim ảnh, v.v… 17 KẾT LUẬN Ngoài ứng dụng để khử nhiễu hình ảnh ứng dụng với liệu lớn, SVD cịn có nhiều ứng dụng khác tối ưu cực trị rời rạc, lát cắt cực đại, Kmeans Clustering, Graph Partitioning, … Qua ta thấy tầm quan trọng SVD thiếu ngành kĩ thuật, đặc biệt thời đại khoa học kĩ thuật công nghệ phát triển mạnh mẽ ngày 18 THANK YOU! 19

Ngày đăng: 08/05/2023, 06:25