You are on page 1of 10

III.

Ứng dụng của phân tích SVD để khử nhiễu ảnh


- Trong cuộc sống ngày nay, mỗi một người đều luôn muốn lưu giữ những giá
trị, những kỉ niệm khó quên vào trong những bức ảnh bằng những thiết bị điện tử
như điện thoại, máy ảnh,... Tuy là chụp bằng các thiết bị hiện đại nhưng cũng sẽ có
vài lần chúng ta cũng bị những tình huống chụp hình bị nhiễu, nhèo thế nhưng
những bức ảnh đó lại quan trọng không thể chụp lại được thì ta chỉ có thể tìm cách
để khử nhiễu hình ảnh đó. Và qua đó ta có thể thấy các loại nhiễu ảnh và kèm theo
các bộ xử lí nhiễu ảnh:
3.1. Các bộ nhiễu ảnh:
a) Nhiễu Salt and Pepper:
- Còn gọi là nhiễu xung, nhiễu nhị phân.

- Nếu b > a, mức xám b sẽ xuất hiện tương ứng là điểm sáng trên ảnh còn mức xám
a sẽ tương ứng với điểm đen xuất hiện trên ảnh.
- Để cộng nhiễu “Salt and pepper” vào một ảnh ta dùng câu lệnh sau :
t = imnoise(image,’salt & pepper’)
- Số lượng nhiễu được cộng vào mặc định là 10%. Ta có thể cung cấp thêm các
thông số để thay đổi lượng nhiễu được cộng vào này.
b.Nhiễu Gaussian:
- Là một dạng lý tưởng của nhiễu trắng, được gây ra bởi những dao động ngẫu
nhiên của tín hiệu. Nhiễu Gaussian là nhiễu trắng có phân bố chuẩn.

- Nếu ta có ảnh I, nhiễu Gaussian là N ta sẽ có ảnh nhiễu = I +N. Để tạo ra ảnh với
nhiễu Gaussian ta dùng câu lệnh sau :
t = imnoise(image,’gaussian’)
- Giá trị mặc định của kỳ vọng và phương sai của nhiễu là 0 và 0.01.

c.Nhiễu Speckle:
- Có thể được mô hình bằng cách nhân các giá trị ngẫu nhiên với giá trị của các
pixel. Nhiễu Speckle là vấn đề quan tâm chủ yếu trong các ứng dụng radar.
- Trong Matlab ảnh với nhiễu Speckle được tính toán : I*(1 + N)
t = imnoise(t,’speckle’)
- Nhiễu N có phân phối chuẩn với giá trị trung bình =0. Có thể cung cấp thêm
thông số để xác định giá trị kỳ vọng của N, giá trị mặc định của nó là 0.04.
- Nếu tín hiệu hình ảnh là tín hiệu tuần hoàn, chúng ta có thể có ảnh bị ảnh hưởng
bởi nhiễu tuần hoàn.
- Hàm imnoise không có tùy chọn để tạo ra nhiễu tuần hoàn. Ta có thể tạo ra một
dạng đơn giản của nhiễu tuần hoàn bằng cách cộng vào ảnh một ma trận tuần hoàn.
3.2.Các loại bộ lọc ảnh.
a. Mean filtering( bộ lọc trung bình)
- Bộ lọc trung bình là thay thế mỗi giá trị điểm ảnh trong một hình ảnh với giá trị
trung bình của giá trị các điểm ảnh lân cận, trong đó có điểm ảnh đó. Đây là một
bộ lọc tuyến tính đơn giản với tác dụng làm mịn ảnh, khử nhiễu,..
-Bộ lọc trung bình hiệu quả nhất trong việc khử nhiễu Gaussian nhưng đổi lại là sự
mất các chi tiết hình ảnh cao tần. Kích thước kernel lớn hơn sẽ có hiệu quả lọc lơn
hơn nhưng làm giảm chất lượng hình ảnh nên lọc này không hiệu quả trong việc
khử nhiễu ‘salt and pepper’ .
CODE MATLAB:
I=imread('eight.tif'); % Read in image
Isp = imnoise(I,'salt & pepper'); % add 3% (0.03) salt and pepper noise
Ig = imnoise(I,'gaussian',0.02); % add Gaussian noise (with 0.02 variance)
k = ones(3,3) / 9; % define mean filter
I_m = imfilter(I,k); % apply to original image
Isp_m = imfilter(Isp,k); % apply to salt and pepper image
Ig_m = imfilter(Ig,k); % apply tp gaussian image
subplot(1,3,1), imshow(I_m); % Display result image
subplot(1,3,2), imshow(Isp_m); % Display result image
subplot(1,3,3), imshow(Ig_m); % Display result image
KẾT QUẢ
b. Median filtering ( Lọc trung vị)
- Bộ lọc thường được sử dụng trong xử lý ảnh. Lọc Median vượt qua những hạn
chế của bộ lọc Mean. Bộ lọc này thay thế điểm ảnh đích bằng giá trị trung vị của
các điểm ảnh lân cận và chính điểm ảnh đó. Bộ lọc Median sẽ tìm giá trị trung vị
trong tất cả các điểm anh và thay vào điểm ảnh trung tâm. Các bộ lọc trung vị là
cấp trên bộ lọc trung bình ở chỗ nó giữ độ nét tần số cao trong khi vẫn loại bỏ
nhiễu.
CODE MATLAB
I=imread('eight.tif'); % Read in image
Isp = imnoise(I,'salt & pepper'); % add 3% (0.03) salt and pepper noise
Ig = imnoise(I,'gaussian',0.02); % add Gaussian noise (with 0.02 variance)
I_m = medfilt2(I,[3 3]); % apply to original image
Isp_m = medfilt2(Isp,[3 3]); % apply to salt and pepper image
Ig_m =medfilt2(Ig,[3 3]); % apply tp gaussian image
subplot(1,3,1), imshow(I_m); % Display result image
title('loc anh goc');
subplot(1,3,2), imshow(Isp_m); % Display result image
title('loc salt and pepper');
subplot(1,3,3), imshow(Ig_m); % Display result image
title('loc gaussian');
KẾT QUẢ

c. Rank filtering
- Các bộ lọc trung vị chỉ là một trường hợp đặc biệt của bộ lọc Rank. Bộ lọc Rank
là một bộ lọc phi tuyến tính với các bước thực hiện như sau:
(1) Xác định các vùng lân cận của điểm ảnh mục tiêu (N × N).
(2) Sắp xếp chúng theo thứ tự tăng dần (đầu tiên là giá trị thấp nhất, (N × N), giá trị
cao nhất).
(3) Chọn bậc của các bộ lọc (từ 1 đến N).
(4) Thiết lập giá trị lọc bằng với giá trị của điểm ảnh đã chọn.
CODE MATLAB
I=imread('eight.tif'); % Read in image
Isp = imnoise(I,'salt & pepper'); % add 3% (0.03) salt and pepper noise
Ig = imnoise(I,'gaussian',0.02); % add Gaussian noise (with 0.02 variance)
I_m = ordfilt2(I,25,ones(5,5)); % apply to original image
Isp_m = ordfilt2(Isp,25,ones(5,5)); % apply to salt and pepper image
Ig_m =ordfilt2(Ig,25,ones(5,5)); % apply tp gaussian image
subplot(1,3,1), imshow(I_m); % Display result image
title('loc anh goc');
subplot(1,3,2), imshow(Isp_m); % Display result image
title('loc salt and pepper');
subplot(1,3,3), imshow(Ig_m); % Display result image
title('loc gaussian');
d. Lọc Gaussian
- Bộ lọc Gaussian rất quan trọng đối với cả lý thuyết và thực tiễn. Chúng ta lọc
hình
ảnh bằng cách sử dụng một kernel dạng đối xứng xuyên tâm của hàm Gauss 2-D
liên
tục.
- Xấp xỉ rời rạc để hàm liên tục này sử dụng hai tham số tự do là :
(1) các kích thước mong muốn của các kernel (như là một mặt nạ lọc N × N);
(2) giá trị độ lệch chuẩn của hàm Gaussian.
- Ứng dụng của bộ lọc Gaussian là làm mịn ảnh, nó khác với bộ lọc trung bình ở
chổ
là: thứ nhất,mức độ làm mịn được điều khiển bởi sự lựa chọn các tiêu chuẩn thông
số độ lệch, chứ không phải bởi giá trị tuyệt đối của kích thước hạt nhân,thứ 2, hàm
Gaussian có một thuộc tính khá đặc biệt, đó là biến đổi Fourier của nó là một hàm
Gaussian, điều đó rất thuận tiện cho việc phân tích miền tần số của bộ lọc.
- Một hàm Gauss với giá trị lớn của s là một ví dụ về bộ lọc thông thấp, trong đó
hàm lượng tần số không gian cao(ví dụ: các tính năng cạnh sắc nét) của hình ảnh
được loại bỏ. Để hiểu được điều này đòi hỏi chúng ta có nền tảng tốt trong các biến
đổi Fourier và phân tích trong miền tần số.
CODE MATLAB
I=imread('eight.tif'); % Read in image
Isp = imnoise(I,'salt & pepper'); % add 3% (0.03) salt and pepper noise
Ig = imnoise(I,'gaussian',0.02); % add Gaussian noise (with 0.02 variance)
12
k = fspecial('gaussian', [5 5], 2); % define Gaussian filter
I_g = imfilter(I,k); % apply to original image
Isp_g = imfilter(Isp,k); % apply to salt and pepper image
Ig_g = imfilter(Ig,k); % apply tp gaussian image
subplot(1,3,1), imshow(I_g); % Display result image
subplot(1,3,2), imshow(Isp_g); % Display result image
subplot(1,3,3), imshow(Ig_g); % Display result image
KẾT QUẢ
Bộ lọc trung bình hài ( Harmonic Mean filter):

+ Bộ lọc này làm việc tốt với nhiễu Salt, nhưng lại không hiệu quả với nhiễu
Pepper.
- Bộ lọc điểm giửa ( Midpoint filter):
Bộ lọc tính điểm trung bình giữa giá trị Max và giá trị Min trong vùng bao quanh
bởi S xy .
Bộ lọc làm việc tốt với những nhiễu có phân phối.
c) Và ứng dụng khử ảnh vào các lĩnh vực đời sống
Khử nhiễu ảnh sử dụng phân tích SVD cũng có thể trở thành một công cụ hữu ích
trong lĩnh vực giám sát giao thông. Khái niệm giám sát giao thông không còn quá
xa lạ với chúng ta ngày nay. Chất lượng hình ảnh thu được bước vởi camera hay
máy ảnh giám giát đóng vai trò thiết yếu trong việc xử lý đúng người, đúng hành vi
phạm. Khi đó, việc áp dụng phân tích SVD để khử nhiễu ảnh giám sát sẽ hỗ trợ
giảm
thiểu tối đa thời gian xử lý, cũng như là công sức của người giám sát.

Hình 16. Ảnh chụp biển số xe vi phạm được khử nhiễu nhờ SVD
Hình 17. Ảnh chụp tàu hỏa được khử nhiễu SVD

Không chỉ áp dụng vào lĩnh vực giao thông vận tải mà ứng dụng để khử
nhiễu ảnh còn áp dụng, ứng dụng trong những lĩnh vực như: Y tế, trí tuệ nhân
tạo,... Ứng dụng này đã giúp cho nhiều người biết rõ bệnh mình (lĩnh vực y tế),
giúp cảnh sát bắt được những tội phạm qua những chiếc camera quay mờ, hay bị
nhiễu,...

IV. KẾT LUẬN


-Những ứng dụng phân tích SVD để khử nhiễu ảnh dường như đã nắm một vai
trò quan trọng trong các ngành nghề, lĩnh vực trong cuộc sống, xã hội nay.
Nhất là đối với những ngành kĩ thuật. Và bên cạnh việc ứng dụng để khử nhiễu
hinh ảnh thì từ cơ sở lý thuyết phân tích SVD cũng có nhiều ứng dụng giúp
ích cho xã hội này vô cùng:
+ Khử nhiễu âm thanh
+ Nén ảnh
+ Giảm số chiêu của dữ liệu
+ Cực trị rời rạc
+ ...

You might also like