ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN THỊ NHIỄU
NÂNG CAO CHẤT LƢỢNG ẢNH
DỰA VÀO CÁC QUÁ TRÌNH KHUẾCH TÁN
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên - 2015
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN THỊ NHIỄU
NÂNG CAO CHẤT LƢỢNG ẢNH
DỰA VÀO CÁC QUÁ TRÌNH KHUẾCH TÁN
Chuyên ngành: Khoa học máy tính
Mã số:
60.48.01.01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. PHẠM ĐỨC LONG
Thái Nguyên - 2015
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
i
MỤC LỤC MỤC LỤC .......................................................................................................... i
LỜI CAM ĐOAN ............................................................................................ iii
LỜI CẢM ƠN .................................................................................................. iv
DANH MỤC CHỮ VIẾT TẮT ........................................................................ v
DANH MỤC CÁC HÌNH ................................................................................ vi
MỞ ĐẦU .......................................................................................................... 1
NỘI DUNG ....................................................................................................... 3
Chƣơng 1. TỔNG QUAN VỀ NÂNG CAO CHẤT LƢỢNG ẢNH ................ 3
1.1. Ảnh số và chất lƣợng ảnh ....................................................................... 3
1.1.1. Hệ thống xử lý ảnh............................................................................... 3
1.1.2 Các vấn đề cơ bản trong xử lý ảnh ....................................................... 5
1.2 Một số loại nhiễu ................................................................................... 11
1.3 Sử dụng các bộ lọc ................................................................................. 12
1.3.1 Cải thiện ảnh dùng toán tử không gian ............................................... 13
1.3.2 Sử dụng các bộ lọc tuyến tính (Linear Filter) ..................................... 13
1.3.3 Kỹ thuật làm trơn nhiễu bằng lọc phi tuyến ....................................... 15
1.3.3.1 Lọc trung vị ...................................................................................... 16
1.3.3.2 Lọc giả trung vị ................................................................................ 20
1.3.3.3 Lọc ngoài (Outlier Filter)................................................................ 22
1.4 Bảo toàn thông tin ảnh trong quá trình tìm biên .................................... 22
1.4.1 Phƣơng pháp phát hiện biên ............................................................... 22
1.4.2 Một số đặc trƣng dựa trên biên ảnh .................................................... 23
1.5. Một số chỉ tiêu đánh giá xử lý ảnh thƣờng dùng .................................. 24
1.5.1 MSE (Mean Squared Error) ................................................................ 24
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
1.5.2 SNR (Signal to Noise Ratio) .............................................................. 25
ii
1.5.3 PSNR (Peak Signal to Noise Ratio) ................................................... 25
1.5.4 MAE (Mean Absolute Error). ............................................................. 26
Chƣơng 2. MỘT SỐ KỸ THUẬT PHÁT HIỆN BIÊN VÀ NÂNG CAO
CHẤT LƢỢNG ẢNH DỰA VÀO CÁC QUÁ TRÌNH KHUẾCH TÁN ...... 28
2.1. Một số kỹ thuật phát hiện biên tiêu biểu .............................................. 28
2.1.1 Kỹ thuật phát hiện biên Gradient ........................................................ 28
2.1.2 Kỹ thuật Laplace ................................................................................. 31
2.1.3 Kỹ thuật đạo hàm tích chập – Phƣơng pháp Canny ........................... 32
2.2. Một số kỹ thuật nâng cao chất lƣợng ảnh dựa vào các quá trình khuếch
tán .................................................................................................................... 38
2.2.1 Khuếch tán đẳng hƣớng - khuếch tán tuyến tính [3] ......................... 39
2.2.2 Khuếch tán không đẳng hƣớng [3] .................................................... 40
2.2.3 Khuếch tán phức kết hợp giảm nhiễu tìm biên .................................. 46
Chƣơng 3. KẾT QUẢ CÀI ĐẶT THỬ NGHIỆM ...................................... 52
3.1 Các kết quả cài đặt ................................................................................. 52
3.1.1 Thực hiện lọc trên ảnh "Lena" bằng các phƣơng pháp khác nhau: .... 52
3.1.2 Thực hiện lọc trên ảnh "nhà C5" bằng phƣơng pháp khuếch tán: ...... 53
3.1.3 Thực hiện lọc trên ảnh "đền Kiếp Bạc" bằng phƣơng pháp khuếch tán
phức: ................................................................................................................ 53
3.2 Đánh giá việc thực hiện các bộ lọc: ....................................................... 57
3.3 Nhận xét, đánh giá ................................................................................. 57
KẾT LUẬN ..................................................................................................... 60
TÀI LIỆU THAM KHẢO ............................................................................... 61
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
PHỤ LỤC ........................................................................................................ 63
iii
LỜI CAM ĐOAN
Tôi xin cam đoan những kết quả nghiên cứu trong luận vắn là công
trình nghiên cứu của tôi dƣới sự hƣớng dẫn của TS. Phạm Đức Long.
Các kết quả trình bày trong luận văn là hoàn toàn trung thực, chƣa từng
đƣợc công bố trong các công trình khoa học nào khác.
Tôi xin chịu trách nhiệm về những lời cam đoan trên.
Thái Nguyên, ngày 10 tháng 5 năm 2015
Tác giả
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Nguyễn Thị Nhiễu
iv
LỜI CẢM ƠN
Luận văn “Nâng cao chất lƣợng ảnh dựa vào các quá trình khuếch tán”
đƣợc thực hiện và hoàn thành tại Trƣờng Đại học Công nghệ thông tin và
Truyền thông – Đại học Thái Nguyên.
Trƣớc hết, tôi muốn gửi lời cảm ơn đến các thầy cô giáo ở Viện
Công nghệ thông tin - Viện Hàn lâm khoa học Việt Nam và các thầy cô
giáo ở Trƣờng Đại học Công nghệ thông tin và Truyền thông – Đại học
Thái Nguyên đã quan tâm tổ chức chỉ đạo và trực tiếp giảng dạy khóa cao
học của chúng tôi.
Kết quả nghiên cứu đạt đƣợc trong luận văn là nhờ sự định hƣớng và
chỉ dẫn tận tình của TS. Phạm Đức Long. Phƣơng pháp tƣ duy khoa học mà
thầy truyền thụ đã giúp tác giả có đƣợc phƣơng pháp nghiên cứu lý thuyết
ứng dụng trong suốt quá trình thực hiện luận văn. Tác giả xin gửi lời tri ân tới
thầy về sự quan tâm, giúp đỡ quý báu này.
Cũng qua đây, tác giả xin bày tỏ lòng biết ơn tới PGS.TS Phạm Việt
Bình, PGS.TS Đỗ Năng Toàn đã góp ý, nhận xét về chuyên môn giúp cho
luận văn đƣợc cải tiến nhiều trong nội dung.
Chân thành cảm ơn sự khích lệ, động viên và hỗ trợ của các bạn đồng
nghiệp trong thời gian tác giả nghiên cứu.
Cuối cùng, tôi xin cảm ơn gia đình, những ngƣời đã luôn ủng hộ và
động viên để tôi yên tâm nghiên cứu và hoàn thành luận văn.
Thái Nguyên, ngày 10 tháng 5 năm 2015
Tác giả
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Nguyễn Thị Nhiễu
v
DANH MỤC CHỮ VIẾT TẮT
CCD Bộ cảm biến (Charge Coupled Device)
MSE Sai số bình phƣơng trung bình (Mean squared error)
SNR Tỷ số tín hiệu/nhiễu (Signal-to-Noise Ratio)
PSNR Tỷ số tín hiệu/nhiễu đỉnh (Peak Signal-to-Noise Ratio)
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
PDE Phƣơng trình đạo hàm riêng (Partial Differential Equations)
vi
DANH MỤC CÁC HÌNH (Hình vẽ, ảnh chụp…) Hình 1.1 Các giai đoạn chính trong xử lý ảnh ................................................. 3
Hình 1.2 Các thành phần chính của hệ thống xử lý ảnh ................................... 5
Hình 1.3 Ảnh biến dạng do nhiễu ..................................................................... 8
........................................................... 18
Hình 1.5 Ảnh thu đƣợc qua lọc trung vị ........................................................ 19
Hình 1.6 Đƣờng biên của ảnh ........................................................................ 24
Hình 2.1. Gradient của ảnh theo hƣớng ....................................................... 29
Hình 2.2. Đạo hàm hàm Gauss theo hai hƣớng x và y .................................. 34
Hình 2.3. Hình mô tả các điểm biên lân cận ................................................... 35
Hình 2.4 Lọc khuếch tán phục hồi các thuộc tính của ảnh. (a) trên trái: ảnh
nhiễu. (b) ảnh khuếch tán. tuyến tính. (c) khuếch tán phi tuyến đẳng
hƣớng (d) khuếch tán phi tuyến không đẳng hƣớng. ..................... 39
Hình 2.5 Khuếch tán ảnh y học: ảnh gốc Cột ảnh trái: Từ trên xuống dƣới:
khuếch tán tuyến tính. Cột ảnh giữa: Khuếch tán phi tuyến đẳng
hƣớng Cột ảnh phải: khuếch tán phi tuyến không đẳng hƣớng. .... 39
Hình 2.6 Làm trơn ảnh nhiễu có bảo toàn biên dùng khuếch tán không đẳng
hƣớng sau 10, 20, 30, 40 và 50 lần lặp. ......................................... 39
Hình 2.7 Phƣơng pháp khuếch tán của Perona-Malik [3] .............................. 44
Hình 2.8 Thực hiện khuếch tán phức tuyến tính trên một ảnh kích thƣớc
256x216 thành phần thực làm mờ ảnh, thành phần ảo thực hiện tìm
biên. a): Ảnh gốc, b) Quá trình với thành phần thực làm mờ ảnh, c)
Quá trình với thành phần phức tìm biên ảnh ................................. 48
Hình 2.9 a) biên kiểu dốc b) biên kiểu bƣớc ................................................. 49
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Hình 2.10 Quan hệ giữa biên dốc và biên bƣớc và các đạo hàm ................... 49
vii
Hình 2.11 Khuếch tán phức của ảnh ngƣời chụp ảnh với nhỏ ( = /30).
Phía trên là các giá trị thực. Phía dƣới là giá trị ảo. Từ trái qua phải
là các ảnh nguyên bản và ảnh biến đổi sau 0.25, 2.5 và 25 giây. .. 50
Hình 2.12 Khuếch tán phức của ảnh cameraman với lớn ( = 14 /30). Phía
trên là các giá trị thực, phía dƣới là các giá trị ảo. Mỗi một frame
ảnh từ trái qua phải là ảnh nguyên bản và các các ảnh sau mỗi
khoảng thời gian: 0.25, 2.5, 25. ..................................................... 51
Hình 3.1 Các kết quả phục hồi ảnh bằng một số bộ lọc khác nhau: (a) Ảnh
"Lena" có nhiễu; (b) Lọc bằng bộ lọc median; (c) bộ lọc song
phƣơng (bilateral filter); (d) Bộ lọc khuếch tán phi tuyến đẳng
hƣớng của Perona-Malik; (e) Dùng khuếch tán phi tuyến không
đẳng hƣớng; (f) khuếch tán phức. .................................................. 52
Hình 3.3 Ảnh gốc Đền Kiếp Bạc .................................................................... 53
Hình 3.4 Ảnh gốc Đền Kiếp Bạc có nhiễu ...................................................... 54
Hình 3.5 Ảnh đền Kiếp Bạc đã đƣợc khử nhiễu ............................................. 54
Hình 3.6 Ảnh gốc màu .................................................................................... 55
Hình 3.7 Ảnh gốc (gray) có nhiễu ................................................................. 55
Hình 3.8 Ảnh đã đƣợc khử nhiễu bằng khuếch tán ......................................... 56
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Hình 3.9 Ảnh kết quả thực hiện tìm biên trên ảnh đƣợc khuếch tán .............. 56
1
MỞ ĐẦU
Lọc nhiễu nâng cao chất lƣợng ảnh là một trong những vấn đề đƣợc
nghiên cứu phổ biến và quan trọng nhất trong xử lý ảnh. Đã có nhiều
phƣơng pháp làm giảm nhiễu ảnh nhƣng lại đồng thời làm mờ biên ảnh.
Việc nghiên cứu xử lý ảnh hiện hƣớng tới một phƣơng pháp thực hiện tìm
biên ảnh với chất lƣợng tốt hơn các phƣơng pháp tìm biên thông dụng sao
cho giảm nhiễu nhƣng không làm mờ biên. Khuếch tán phi tuyến là một
phƣơng pháp sử dụng có hiệu quả nhất trong những năm gần đây. Khuếch
tán phi tuyến (thực và phức) cho phép thực hiện tìm biên ảnh với chất
lƣợng tốt hơn các phƣơng pháp tìm biên thông dụng nhƣ Canny, Sobel do
các chi tiết mỏng mảnh của biên đã đƣợc bảo toàn và quá trình tìm biên và
lọc nhiễu đƣợc kết hợp đồng thời.
Mục tiêu của nghiên cứu này là nâng cao chất lƣợng ảnh dựa vào các
quá trình khuếch tán. Thực hiện việc tìm hiểu về xử lý ảnh cơ bản [1], [2], về
khuếch tán tuyến tính, phi tuyến đẳng hƣớng, không đẳng hƣớng và phức
trong xử lý ảnh. Qua đó đƣa ra hƣớng xây dựng các ứng dụng giảm nhiễu kết
hợp tìm biên ảnh [3], [6], [7] trong thực tiễn đối với các dạng ảnh có tỷ số
nhiễu trên tín hiệu cao.
Áp dụng khuếch tán đặc biệt là khuếch tán phức trong xử lý ảnh với
điều kiện khởi tạo là ảnh cần xử lý (ảnh rada, ảnh y học là các dạng có tỷ số
nhiễu trên tín hiệu cao) thu đƣợc 2 kết quả đó là: Quá trình với thành phần
thực làm giảm nhiễu và quá trình với thành phần ảo để tìm biên.
Luận văn đã nghiên cứu một số phƣơng trình PDE khuếch tán của ảnh.
Thực hiện thực nghiệm xử lý một ảnh trong hai trƣờng hợp khuếch tán tuyến
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
tính và khuếch tán phi tuyến (thực và phức) để giảm nhiễu và tìm biên ảnh.
2
Ngoài phần mở đầu và kết luận, luận văn đƣợc chia làm 3 chƣơng, nội
dung cụ thể của các chƣơng nhƣ sau:
Chƣơng 1. Tổng quan về nâng cao chất lƣợng ảnh
Trong chƣơng này trình bày lý thuyết cơ bản về xử lý ảnh (ảnh số và
chất lƣợng ảnh, một số loại nhiễu, sử dụng các bộ lọc, bảo toàn thông tin ảnh
trong quá trình tìm biên… đƣợc trình bày nhƣ là các khái niệm.
Chƣơng 2. Một số kỹ thuật phát hiện biên và nâng cao chất lƣợng
ảnh dựa vào các quá trình khuếch tán
Chƣơng này trình bày một số kỹ thuật phát hiện biên tiêu biểu và các
quá trình khuếch tán: Khuếch tán đẳng hƣớng, khuếch tán không đẳng hƣớng
(thực và phức). Trong đó, khuếch tán đẳng hƣớng giới thiệu phƣơng trình
khuếch tán tìm biên và nêu lên nhƣợc điểm sử dụng hệ số khuếch tán hằng số.
Tiếp theo sử dụng quá trình khuếch tán trong xử lý ảnh: Khuếch tán thực thực
hiện giảm nhiễu, tìm biên ảnh và khuếch tán phức kết hợp giảm nhiễu tìm
biên.
Chƣơng 3. Kết quả cài đặt thử nghiệm
Chƣơng cuối cùng, tiến hành thực nghiệm dùng các quá trình khuếch
tán tuyến tính, phi tuyến (thực và phức) để lọc nhiễu cho ảnh. Thực nghiệm
sử dụng công cụ Matlab. Việc đánh giá chất lƣợng xử lý, so sánh các phƣơng
pháp đƣợc thực hiện bằng sự đánh giá PSNR (Peak Signal-to-Noise Ratio)
giữa ảnh gốc và ảnh sau xử lý.
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Phần phụ lục giới thiệu các mã nguồn của thực nghiệm.
3
NỘI DUNG
Chƣơng 1. TỔNG QUAN VỀ NÂNG CAO CHẤT LƢỢNG ẢNH
1.1. Ảnh số và chất lƣợng ảnh
1.1.1. Hệ thống xử lý ảnh
Xử lý ảnh là một khoa học còn tƣơng đối mới mẻ so với nhiều ngành
khoa học khác, nhất là trên qui mô công nghiệp. Để có thể hình dung cấu
hình một hệ thống xử lý ảnh chuyên dụng hay một hệ thống xử lý ảnh dùng
trong nghiên cứu, đào tạo, trƣớc hết chúng ta sẽ xem xét các bƣớc cần thiết
trong xử lý ảnh.
Trƣớc hết là quá trình thu nhận ảnh. Ảnh có thể thu nhận qua camera.
Thƣờng ảnh thu nhận qua camera là tín hiệu tƣơng tự (loại camera ống kiểu
CCIR), nhƣng cũng có thể là tín hiệu số hoá (loại CCD - Charge Coupled
Lƣu trữ
CAMERA
Số hóa
Nhận dạng
Phân tích ảnh
Thu nhận ảnh
SENSORS
HỆ QUYẾT ĐỊNH
Lƣu trữ
Device).
Hình 1.1 Các giai đoạn chính trong xử lý ảnh
Ảnh cũng có thể thu nhận từ vệ tinh qua các bộ cảm ứng (sensor), hay
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
ảnh, tranh đƣợc quét trên scanner. Tiếp theo là quá trình số hoá (digitalizer)
4
để biến đổi tín hiệu tƣơng tự sang tín hiệu rời rạc (lấy mẫu) và số hoá bằng
lƣợng hoá, trƣớc khi chuyển sang giai đoạn xử lý, phân tích hay lƣu trữ.
Quá trình phân tích ảnh thực chất bao gồm nhiều công đoạn nhỏ. Trƣớc
hết là công việc tăng cƣờng ảnh để nâng cao chất lƣợng ảnh. Do những
nguyên nhân khác nhau: Có thể do chất lƣợng thiết bị thu nhận ảnh, do nguồn
sáng hay do nhiễu, ảnh có thể bị suy biến.
Do vậy cần phải tăng cƣờng và khôi phục lại ảnh để làm nổi bật một số
đặc tính chính của ảnh, hay làm cho ảnh gần giống nhất với trạng thái gốc -
trạng thái trƣớc khi ảnh bị biến dạng. Giai đoạn tiếp theo là phát hiện các đặc
tính nhƣ biên, phân vùng ảnh, trích chọn các đặc trƣng, v.v...
Cuối cùng, tuỳ theo mục đích của ứng dụng, sẽ là giai đoạn nhận dạng,
phân lớp hay các quyết định khác. Các giai đoạn chính của quá trình xử lý ảnh
có thể mô tả ở hình 1.1.
Với các giai đoạn trên, một hệ thống xử lý ảnh (cấu trúc phần cứng
theo chức năng) gồm các thành phần tối thiểu nhƣ hình 1.2.
Đối với một hệ thống xử lý ảnh thu nhận qua camera-camera nhƣ là con
mắt của hệ thống. Có 2 loại camera: camera ống loại CCIR và camera
CCD. Loại camera ứng với chuẩn CCIR quét ảnh với tần số 1/25 và mỗi
ảnh gồm 625 dòng. Loại CCD gồm các photo điốt và làm tƣơng ứng một
cƣờng độ sáng tại một điểm ảnh ứng với một phần tử ảnh (pixel). Nhƣ vậy,
ảnh là tập hợp các điểm ảnh. Số pixel tạo nên một ảnh gọi là độ phân giải
(resolution).
Bộ xử lý tƣơng tự (analog processor). Bộ phận này thực hiện các chức
năng sau:
- Chọn camera thích hợp nếu hệ thống có nhiều camera.
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
- Chọn màn hình hiển thị tín hiệu
5
- Thu nhận tín hiệu video thu nhận bởi bộ số hoá (digitalizer). Thực
hiện lấy mẫu và mã hoá.
- Tiền xử lý ảnh khi thu nhận: dùng kỹ thuật bảng tra (Look Up Table -
LUT).
Màn hình đồ họa
camera
Bộ xử lý tƣơng tự
Bộ nhớ ảnh
Máy chủ
Bộ xử lý ảnh số
Bộ nhớ ngoài
Màn hình
Bàn phím
Máy in
Hình 1.2 Các thành phần chính của hệ thống xử lý ảnh
Bộ xử lý ảnh số: Gồm nhiều bộ xử lý chuyên dụng: xử lý lọc, trích chọn
đƣờng bao, nhị phân hoá ảnh. Các bộ xử lý này làm việc với tốc độ 1/25
giây.
Máy chủ: Đóng vai trò điều khiển các thành phần miêu tả ở trên.
Bộ nhớ ngoài: Dữ liệu ảnh cũng nhƣ các kiểu dữ liệu khác, để có thể
chuyển giao cho các quá trình khác, nó cần đƣợc lƣu trữ.
1.1.2 Các vấn đề cơ bản trong xử lý ảnh
Nhƣ đã đề cập trong phần giới thiệu, chúng ta đã thấy đƣợc một cách
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
khái quát các vấn đề chính trong xử lý ảnh. Để hiểu chi tiết hơn, trƣớc tiên ta
6
xem xét hai khái niệm (thuật ngữ) thƣờng dùng trong xử lý ảnh đó là Pixel
(phần tử ảnh) và gray level (mức xám), tiếp theo là tóm tắt các vấn đề chính.
a) Một số khái niệm
Pixel (Picture Element): phần tử ảnh
Ảnh trong thực tế là một ảnh liên tục về không gian và về giá trị độ
sáng. Để có thể xử lý ảnh bằng máy tính cần thiết phải tiến hành số hoá ảnh.
Trong quá trình số hoá , ngƣời ta biến đổi tín hiệu liên tục sang tín hiệu rời
rạc thông qua quá trình lấy mẫu (rời rạc hóa về không gian) và lƣợng hoá
thành phần giá trị mà thể về nguyên tắc bằng mắt thƣờng không phân biệt
đƣợc hai điểm kề nhau. Trong quá trình này, ngƣời ta sử dụng khái niệm
Picture element mà ta quen gọi hay viết là Pixel - phần tử ảnh. Ở đây cũng
cần phân biệt khái niệm pixel hay đề cập đến trong các hệ thống đồ hoạ máy
tính. Để tránh nhầm lẫn ta tạm gọi khái niệm pixel này là pixel thiết bị. Khái
niệm pixel thiết bị có thể xem xét nhƣ sau: khi ta quan sát màn hình (trong
chế độ đồ hoạ), màn hình không liên tục mà gồm nhiều điểm nhỏ, gọi là pixel.
Mỗi pixel gồm một cặp toạ độ x, y và màu.
Cặp toạ độ x, y tạo nên độ phân giải (resolution). Nhƣ màn hình máy
tính có nhiều loại với độ phân giải khác nhau: màn hình CGA có độ phân giải
là 320 x 200; màn hình VGA là 640 x 350,...
Nhƣ vậy, một ảnh là một tập hợp các điểm ảnh. Khi đƣợc số hoá, nó
thƣờng đƣợc biểu diễn bởi bảng hai chiều I(n,p): n dòng và p cột. Ta nói
ảnh gồm n x p pixels. Ngƣời ta thƣờng kí hiệu I(x,y) để chỉ một pixel.
Thƣờng giá trị của n chọn bằng p và bằng 256. Hình 1.2 cho ta thấy việc
biểu diễn một ảnh với độ phân giải khác nhau. Một pixel có thể lƣu trữ
trên 1, 4, 8 hay 24 bit.
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Gray level: Mức xám của ảnh
7
Một điểm ảnh (Pixel) có hai đặc trƣng cơ bản là vị trí (x, y) của điểm
ảnh và độ xám của nó. Dƣới đây chúng ta xem xét một số khái niệm và thuật
ngữ thƣờng dùng trong xử lý ảnh.
- Mức xám là kết quả sự mã hoá tƣơng ứng một cƣờng độ sáng của mỗi
điểm ảnh với một giá trị số tại điểm đó - kết quả của quá trình lƣợng hoá.
Cách mã hoá kinh điển thƣờng dùng 16, 32 hay 64 mức. Mã hoá 256 mức là
phổ dụng nhất Lý do từ kỹ thuật máy tính dùng 1 byte (8 bits) để biểu diễn mức xám. Mức xám dùng 1 byte biểu diễn: 28 = 256 mức (0, 1… 255), nên
với 256 mức, mỗi pixel sẽ đƣợc mã hoá bởi 8 bit.
- Ảnh đen trắng: là ảnh có hai màu đen, trắng (không chứa màu khác)
với mức xám ở các điểm ảnh có thể khác nhau.
- Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng phân biệt tức dùng 1 bit mô tả 21 mức khác nhau. Nói cách khác mỗi điểm ảnh của ảnh nhị phân chỉ có thể
là 0 hoặc 1.
- Ảnh màu: Trong hệ màu RGB(Red, Blue, Green) để tạo nên thế giới
màu, ngƣời ta thƣờng dùng 3 byte để mô tả mức màu, khi đó các giá trị màu:
28*3= 24 16,7 triệu màu.
b) Biểu diễn ảnh
Trong biểu diễn ảnh, ngƣời ta thƣờng dùng các phần tử đặc trƣng của
ảnh là pixel. Nhìn chung có thể xem một hàm hai biến chứa các thông tin nhƣ
biểu diễn của một ảnh. Các mô hình biểu diễn ảnh cho ta một mô tả lô gic
hay định lƣợng các tính chất của hàm này. Trong biểu diễn ảnh cần chú ý đến
tính trung thực của ảnh hoặc các tiêu chuẩn “thông minh” để đo chất lƣợng
ảnh hoặc tính hiệu quả của các kỹ thuật xử lý.
Việc xử lý ảnh số yêu cầu ảnh phải đƣợc mẫu hoá và lƣợng tử hoá. Thí
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
dụ một ảnh ma trận 512 dòng gồm khoảng 512 x 512 pixel. Việc lƣợng tử hoá
8
ảnh là chuyển đổi tín hiệu tƣơng tự sang tín hiệu số (Analog Digital Convert)
của một ảnh đã lấy mẫu sang một số hữu hạn mức xám.
Một số mô hình thƣờng đƣợc dùng trong biểu diễn ảnh: Mô hình toán,
mô hình thống kê. Trong mô hình toán, ảnh hai chiều đƣợc biểu diễn nhờ các
hàm hai biến trực giao gọi là các hàm cơ sở. Với mô hình thống kê, một ảnh
đƣợc coi nhƣ một phần tử của một tập hợp đặc trƣng bởi các đại lƣợng nhƣ:
kỳ vọng toán học, hiệp biến, phƣơng sai, moment.
c) Tăng cƣờng ảnh - khôi phục ảnh
Nâng cao chất lƣợng là bƣớc cần thiết trong xử lý ảnh nhằm hoàn thiện
một số đặc tính của ảnh. Nâng cao chất lƣợng ảnh gồm hai công đoạn khác
nhau: tăng cƣờng ảnh và khôi phục ảnh. Tăng cƣờng ảnh nhằm hoàn thiện các
đặc tính của ảnh nhƣ:
Lọc nhiễu, hay làm trơn ảnh
Tăng độ tƣơng phản, điều chỉnh mức xám của ảnh
Làm nổi biên ảnh
Tăng cƣờng ảnh là bƣớc quan trọng, tạo tiền đề cho xử lý ảnh. Nó gồm
g(x,y)
h(x,y;
, )
f(a,ß)
nhiễu
ảnh đầu
Hệ thống Thu nhận
ß
ảnh đầu ra g(x,y)
vào f( ,ß)
ß
một loạt các kỹ thuật nhƣ: Lọc độ tƣơng phản, khử nhiễu, nổi màu, v...v.
Hình 1.3 Ảnh biến dạng do nhiễu
Hình 1.3 ở trên cho ta thí dụ về sự biến dạng của ảnh do nhiễu. Khôi
phục ảnh là nhằm loại bỏ các suy giảm (degradation) trong ảnh. Với một hệ
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
thống tuyến tính, ảnh của một đối tƣợng có thể biểu diễn bởi:
9
g(x,y) = (1.1)
Trong đó:
- (x,y) là hàm biểu diễn nhiễu cộng.
- f(a,ß) là hàm biểu diễn đối tƣợng.
- g(x,y) là ảnh thu nhận.
- h(x,y; a,ß) là hàm tán xạ điểm (Point Spread Function - PSF).
Một vấn đề khôi phục ảnh tiêu biểu là tìm một xấp xỉ của f(a,ß) khi
PSF(Point spread function) của nó có thể đo lƣờng hay quan sát đƣợc, ảnh mờ
và các tính chất sác xuất của quá trình nhiễu.
d) Biến đổi ảnh
Thuật ngữ biến đổi ảnh (Image Transform) thƣờng dùng để nói tới một
lớp các ma trận đơn vị và các kỹ thuật dùng để biến đổi ảnh. Cũng nhƣ các tín
hiệu một chiều đƣợc biểu diễn bởi một chuỗi các hàm cơ sở, ảnh cũng có thể
đƣợc biểu diễn bởi một chuỗi rời rạc các ma trận cơ sở gọi là ảnh cơ sở.
Phƣơng trình ảnh cơ sở có dạng:
*T, với ak là cột thứ k của ma trận A. A là ma trận đơn vị. Có nghĩa là A A*T = I. Các A*k,l định nghĩa ở trên với k,l = 0,1, ..., N-1 là
A*k,l = ak al
ảnh cơ sở.
Có nhiều loại biến đổi đƣợc dùng nhƣ:
- Biến đổi Fourier, Sin, Cosin, Hadamard, ...
- Tích Kronecker (*)
- Biến đổi KL (Karhumen Loeve): biến đổi này có nguồn gốc từ khai
triển của các quá trình ngẫu nhiên gọi là phƣơng pháp trích chọn các thành
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
phần chính.
10
Do phải xử lý nhiều thông tin, các phép toán nhân và cộng trong khai
triển là khá lớn. Do vậy, các biến đổi trên nhằm làm giảm thứ nguyên của ảnh
để việc xử lý ảnh đƣợc hiệu quả hơn.
(*) Trong xử lý ảnh, việc phân tích có thể được đơn giản hơn khá nhiều do
làm việc với ma trận khối goị là tích Kronecker.
Ma trận khối là ma trận mà các phần tử của nó lại là một ma trận.
Ma trận A
với Ai,j là ma trận m x n; i = 1, 2,...,m và j = 1, 2, ..., n.
Tích Kronecker
Cho A là ma trận kích thước M1 x M2 và B ma trận kích thước N1 x N2.
Tích Kronecker của A và B ký hiệu là A B là ma trận khối được định
nghĩa:
với a i,j là các phần tử của ma trận A.
Thí dụ ma trận A ma trận B
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
thì
11
1.2 Một số loại nhiễu
a) Khái niệm
Nhiễu là những phần tử ảnh mà giá trị của nó trội so với các phần tử
xung quanh. Xét theo tần số, các phần tử nhiễu có tần số cao so với các điểm
xung quanh. Tuy nhiên, khái niệm trên chỉ mang tính tƣơng đối.
b) Phân loại nhiễu
Trƣớc khi xem xét chi tiết các kỹ thuật áp dụng, cần phân biệt các loại
nhiễu hay can thiệp trong quá trình xử lý ảnh. Trên thực tế tồn tại nhiều loại
nhiễu, tuy nhiên ngƣời ta thƣờng xem xét 3 loại nhiễu chính: nhiễu cộng,
nhiễu nhân và nhiễu xung.
Nhiễu cộng: Nhiễu cộng thƣờng phân bố khắp ảnh. Nếu ta gọi ảnh quan
sát (ảnh thu đƣợc) là Xqs, ảnh gốc là Xgoc và nhiễu là η. Ảnh thu đƣợc có thể
biểu diễn bởi:
Xqs = Xgoc + η.
Nhiễu nhân: Nhiễu nhân thƣờng phân bố khắp ảnh. Nếu ta gọi ảnh quan
sát (ảnh thu đƣợc) là Xqs, ảnh gốc là Xgoc và nhiễu là η. Ảnh thu đƣợc có thể
biểu diễn bởi:
Xqs = Xgoc × η.
Nhiễu xung (Impulse noise): là một loại nhiễu khá đặc biệt có thể sinh
ra bởi nhiều lý do khác nhau chẳng hạn: lỗi truyền tín hiệu, lỗi bộ nhớ, hay lỗi
định thời trong quá trình lƣợng tử hóa. Nhiễu này thƣờng gây đột biến tại một
số điểm ảnh.
Có 2 loại: Nhiễu xung đơn cực và nhiễu xung lƣỡng cực. Nhiễu xung
lƣỡng cực có hàm phân bố là:
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
p(z) =
12
Nếu b>a, mức xám b xuất hiện nhƣ là điểm sáng của ảnh, a là điểm tối.
Nếu a>b, ngƣợc lại.
a=b=0 là nhiễu xung đơn cực
Nhiễu muối tiêu (Salt-pepper noise) - một ví dụ điển hình nhất của loại
nhiễu xung này – sẽ cho thấy rõ hơn tính chất “đột biến” của nó. Các điểm
ảnh bị nhiễu (noise pixel) có thể nhận các giá trị cực đại hoặc cực tiểu trong
khoảng giá trị [0, 255].
Với ảnh mức xám (gray scale), nếu một điểm ảnh có giá trị cực đại (tức
cƣờng độ sáng bằng 255) thì nó sẽ tạo ra một đốm trắng trên ảnh, trông giống
nhƣ hạt “muối”.
Và ngƣợc lại nếu một điểm ảnh có giá trị cực tiểu (tức cƣờng độ sáng
bằng 0) thì sẽ tạo ra một đốm đen, giống nhƣ “tiêu”. Vậy nên còn gọi là ảnh
muối tiêu. Thông thƣờng, khi nói một ảnh nhiễu muối tiêu 30% nghĩa là trong
đó tỉ lệ các điểm ảnh nhiễu mang giá trị cực tiểu là 15% và cực đại là 15%.
Nhiễu Gaussian: Bởi vì khả năng dễ ứng dụng toán của nó trong cả
lĩnh vực không gian và tần số, nhiễu Gaussian đƣợc sử dụng phổ biến
trong thực tiễn.
Nhiễu Uniform: Đƣợc cho bởi Digital Image Processing của Gonzalez
1.3 Sử dụng các bộ lọc
Nhiễu là điều không thể tránh khỏi trong các hệ thống xử lý tín hiệu.
Các ảnh số có thể có nhiều loại nhiễu khác nhau. Có một số cách mà nhiễu có
thể thâm nhập vào trong ảnh phụ thuộc vào việc ảnh đƣợc tạo ra nhƣ thế nào.
Chẳng hạn:
Nếu ảnh đƣợc scan từ một ảnh đƣợc chụp trên phim, các hạt trên
phim là một nguồn nhiễu. Nhiễu có thể là kết quả của việc phim bị hƣ
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
hỏng hoặc do chất lƣợng của scanner.
13
Nếu ảnh đƣợc thu thập trực tiếp từ định dạng số, cơ chế của việc thu
thập dữ liệu (chẳng hạn nhƣ bộ cảm biến CCD) có thể tạo ra nhiễu.
Sự truyền dữ liệu cũng có thể bị nhiễu tác động.
Dù là loại nhiễu nào cũng phải loại bỏ hoặc làm giảm tối đa ảnh hƣởng
của nó. Tùy theo từng loại nhiễu mà áp dụng các kỹ thuật lọc. Trên thực tế có
thể sử dụng một số cách để loại bỏ hoặc giảm nhiễu trong một ảnh. Các cách
khác nhau đƣợc sử dụng cho các loại nhiễu khác nhau. Một trong số đó là:
+ Sử dụng bộ lọc tuyến tính (Linear Filter)
+ Sử dụng các bộ phi tuyến (median filter, pseumedian filter, outlier
filter)
1.3.1 Cải thiện ảnh dùng toán tử không gian
Cải thiện ảnh là làm cho ảnh có chất lƣợng tốt hơn theo ý đồ sử dụng.
Thƣờng là ảnh thu nhận có nhiễu cần phải loại bỏ nhiễu hay ảnh không sắc
nét bị mờ hoặc cần làm rõ các chi tiết nhƣ biên. Các toán tử không gian dùng
trong kỹ thuật tăng cƣờng ảnh đựoc phân theo nhóm theo công dụng: làm trơn
nhiễu, nổi biên.
Để làm trơn nhiễu hay tách nhiễu ngƣời ta sử dụng các bộ lọc tuyến
tính (lọc trung bình, thông thấp) hay lọc phi tuyến (trung vị, giả trung vị, lọc
đồng hình). Do bản chất của nhiễu là ứng với tần số cao và cơ sở lý thuyết của
lọc là bộ lọc chỉ cho tín hiệu có tần số nào đó thông qua (dải tần bộ lọc). Do
vậy, để lọc nhiễu ta dùng lọc thông thấp (theo quan điểm tần số không gian)
hay lấy tổ hợp tuyến tính để san bằng (lọc trung bình).
Để làm nổi cạnh (ứng với tần số cao), ngƣòi ta dùng các bộ lọc thông
cao, Laplace. Chi tiết và các cách áp dụng đƣợc trình bày ở tài liệu [1].
1.3.2 Sử dụng các bộ lọc tuyến tính (Linear Filter)
Ta có thể sử dụng các bộ lọc tuyến tính để loại bỏ nhiễu trong ảnh. Các
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
bộ lọc này chẳng hạn nhƣ bộ lọc trung bình hoặc bộ lọc Gauss là thích hợp.
14
Ví dụ, một bộ lọc trung bình đƣợc sử dụng để loại bỏ các hạt nhiễu từ một
ảnh chụp trên phim. Do mỗi pixel đƣợc thiết lập tới giá trị trung bình của các
pixel xung quanh nó, do vậy sự biến động địa phƣơng gây ra bởi các hạt nhiễu
bị giảm bớt.
Lọc trung bình
Với lọc trung bình, mỗi điểm ảnh đƣợc thay thế bằng trung bình trọng
số của các điểm lân cận và đƣợc định nghĩa nhƣ sau:
(1.2)
Nếu trong kỹ thuật lọc trên, ta dùng các trọng số nhƣ nhau, phƣơng
trình (1.2) trở thành:
(1.3)
với
- y(m,n) : ảnh đầu vào
- v(m,n) : ảnh đầu ra
- w(m,n) : là cửa sổ lọc
- a(k,l) : là trọng số lọc
với ak,l = và Nw là số điểm ảnh trong cửa sổ lọc W.
Lọc trung bình có trọng số chính là thực hiện chập ảnh đầu vào với
nhân chập H. Nhân chập H trong trƣờng hợp này có dạng:
H =
Trong lọc trung bình, đôi khi ngƣời ta ƣu tiên cho các hƣớng để bảo vệ
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
biên của ảnh khỏi bị mờ đi do làm trơn ảnh. Các kiểu mặt nạ đƣợc sử dụng
15
tuỳ theo các trƣờng hợp khác nhau. Các bộ lọc trên là bộ lọc tuyến tính theo
nghĩa là điểm ảnh ở tâm cửa sổ sẽ đƣợc thay bởi thế bởi tổ hợp tuyến tính các
điểm lân cận chập với mặt nạ.
Giả sử ảnh đầu vào biểu diễn bởi ma trận I:
Ảnh số thu đƣợc bởi lọc trung bình Y = H I có dạng:
Y =
Một bộ lọc trung bình không gian khác cũng hay đƣợc sử dụng và
phƣơng trình của bộ lọc có dạng:
Y[m,n] = (1.4)
Ở đây, nhân chập H là nhân chập 2*2 và mỗi điểm ảnh kết quả có giá
trị bằng trung bình cộng của nó với trung bình cộng của 4 lân cận gần nhất.
1.3.3 Kỹ thuật làm trơn nhiễu bằng lọc phi tuyến
Các bộ lọc phi tuyến cũng hay đƣợc dùng trong tăng cƣờng ảnh. Trong
kỹ thuật này ngƣời ta dùng bộ lọc trung vị (Median Filtering), giả trung vị
(Pseudo Median Filtering), lọc ngoài (Outlier). Với lọc trung vị, điểm ảnh đầu
vào sẽ đƣợc thay thế bởi trung vị các điểm ảnh. Còn lọc giả trung vị sẽ dùng
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
trung bình cộng của 2 giá trị "trung vị" (trung bình cộng của max và min).
16
1.3.3.1 Lọc trung vị
a) Mô tả khái quát phương pháp:
- Một trong những khó khăn của phƣơng pháp làm trơn ảnh là nó làm
nhòe đƣờng biên của ảnh.
- Nếu ảnh vật thể cần làm giảm nhiễu và không bị nhòe (blurring), thì
sử dụng lọc median.
- Ở một mức độ nào đó nó có phần giống mạch lọc trung bình. Tuy
nhiên, nó làm việc tốt hơn mạch lọc trung bình trong lĩnh vực sử dụng cho
việc xử lý ảnh.
b) Nguyên tắc hoạt động:
Mức xám của mỗi pixel đƣợc thay bằng giá trị trung vị của các mức
xám trong lân cận của pixel đó. Phƣơng pháp median đƣợc tính toán nhƣ sau:
Sắp xếp tất cả các giá trị pixel trong ma trận trƣợt ảnh thành trật tự số
học Thay thế giá trị pixel đang đƣợc xem xét với giá trị trung vị.
.
- Trong trường hợp một chiều (1D):
Trung vị Xa của một chuỗi n phần tử {Xn} đƣợc định nghĩa là:
+ Nếu n lẻ có (n-1)/2 phần tử lớn hơn Xa và có (n-1)/2 phần tử nhỏ hơn
hay bằng Xa.
+ Nếu n chẵn Xa là trung bình cộng của 2 phần tử Xi và Xj {Xn} sao
cho có (n-2)/2 phần tử nhỏ hơn hay bằng Xi và (n-2)/2 phần tử lớn hơn hay
bằng Xj.
Thực hiện lọc trung vị bằng cách trƣợt trên mặt phẳng ảnh, mỗi lần
trƣợt di chuyển một cột điểm. Những phần tử trong cửa sổ đƣợc xem nhƣ là
một chuỗi {Xn} và điểm quan tâm đƣợc thay thế bởi giá trị Xa của chuỗi.
Tìm phần tử trung vị:
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Sắp xếp chuỗi n phần tử tăng dần;
17
Nếu n là số lẻ thì Median (M) = giá trị của phần tử thứ ((n + 1)/2).
Nếu n là số chẵn Median (M) = [(giá trị của phần tử ( )+(giá trị của
phần tử ( ))].
Nếu giá trị tính ra nếu không nguyên thì làm tròn.
Ví dụ:
1. Tìm trung vị của chuỗi 1, 5, 2, 8, 7. (n=5)
Sắp xếp đƣợc: 1, 2, 5, 7, 8.
Median (M) = giá trị của phần tử (5+1)/2 = giá trị của phần tử thứ 3 và
bằng 5.
2. Tìm trung vị của chuỗi 1, 6, 2, 8, 7, 2. (n=6)
Sắp xếp đƣợc: 1, 2, 2, 6, 7, 8.
Median (M) = [(giá trị của phần tử thứ ( )+giá trị của phần tử
( )]; Median (M) = (2+6) = 4.
Ví dụ: Áp dụng lọc trung vị với mảng tín hiệu 1D x = [2 80 6 3]
Dùng cửa sổ 3:
Nhƣ vậy trung vị của tín hiệu đầu ra y sẽ là:
y[1] = Median[2 2 80] = 2
(phần tử trước phần tử 1 không có được lấy bằng phần tử 1; trung vị
của dãy này = 2 nên thay thế phần tử thứ nhất = 2)
y[2] = Median[2 80 6] = Median[2 6 80] = 6
(trung vị của dãy này = 6 nên thay thế phần tử này bằng 6)
y[3] = Median[80 6 3] = Median[3 6 80] = 6
(trung vị của dãy này = 6 nên thay thế phần tử này bằng 6)
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
y[4] = Median[6 3 3] = Median[3 3 6] = 3
18
(phần tử sau phần tử 4 lấy không có được lấy bằng phần tử 4; trung vị
của dãy này bằng 3 nên phần tử thức 4 được thay bằng giá trị 3)
Cuối cùng chuỗi tín hiệu ảnh sau khi lọc sẽ là:
y = [2 6 6 3].
- Lọc trung vị hai chiều (2D):
Median Filtering
Hình 1.4
- Median filtering [9
, di chuyển mặt nạ lên ảnh và mỗi điểm ảnh trung tâm giá trị
trung vị của các dữ liệu bên trong cửa sổ đƣợc thực hiện nhƣ đầu ra
.
trong MATLAB nhƣ sau:
for i=1:M-2
for j=1:N-2
B(1:3,1:3)= X2(i-1:i+1,j-1:j+1);
y(i,j)= med(B(:));
end
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
end
19
.
Ảnh gốc (chuyển đổi từ ảnh màu sang ảnh mức xám)
Hình 1.5 Ảnh thu được qua lọc trung vị
Nhận xét :
- Lọc trung vị có ích cho việc loại bỏ các điểm ảnh hay các hàng mà
vẫn bảo toàn độ phân giải.
Hiệu quả giảm khi số điểm nhiễu trong cửa sổ lớn hơn hay bằng một
nửa số điểm trong cửa sổ. Điều này dễ giải thích vì trung vị là (Nw +1)/2 giá
trị lớn nhất nếu Nw lẻ. Lọc trung vị cho trƣờng hợp 2 chiều coi nhƣ lọc trung
vị tách đƣợc theo từng chiều, có nghĩa là ngƣời ta tiến hành lọc trung vị cho
cột tiếp theo cho hàng.
Bộ lọc median cho phép phần lớn các chi tiết ảnh có tần số không gian
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
cao đi qua trong khi đó nó sẽ loại trừ có hiệu quả nhiễu trên ảnh (kết quả của
20
việc này là bộ lọc median ít có tác dụng trong việc khử nhiễu xảy ra trên ảnh
với nhiễu Gauss).
1.3.3.2 Lọc giả trung vị
(pseudomedian)
[10].
Bộ lọc lần đầu tiên đƣợc phát triển bởi Pratt, Cooper, và
Kabir [11] vào năm 1985 đáp ứng của bộ lọc trung vị. Bộ
lọc pseudomedian 1D cửa sổ rộng 5 ( là
(1.5)
Theo "
"minimax". Trong [13] Schulze và Pearce định nghĩa một bộ lọc
median hai chiều tƣơng tự nhƣ định nghĩa 1-D trong (1.5).
Trong thực hiện phép
(1.5
sau:
(1.6)
Trong đó f(x) là tín hiệu n chiều đƣợc lọc và N là phần tử cấu trúc của
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
các toán tử hình thái học. Sự phản ứng của bộ lọc giả trung vị giống nhƣ của
21
bộ lọc trung vị không kể dến hai ngoại lệ quan trọng. Thứ nhất là lọc giả trung
vị không loại bỏ hoàn toàn các xung riêng biệt hoặc là giá trị cao hoặc là giá
trị thấp nhƣng làm giảm biên độ của chúng đến một nửa giá trị ban đầu. Điều
này có thể đƣợc xác minh lại bằng sự lƣu ý rằng khi bắt đầu các xung âm thì
đƣợc bảo tồn nhƣng các xung dƣơng thì bị loại bỏ, ngƣợc lại khi kết thúc các
xung dƣơng đƣợc bảo toàn nhƣng các xung âm lại bị loại bỏ. Thứ hai là trong
khi đầu ra của lọc trung vị bị hạn chế với giá trị chỉ có trong tín hiệu ban đầu
thì đầu ra lọc giả trung vị có thể lấy các giá trị mà các giá trị này không có
trong các tín hiệu ban đầu bởi chúng lấy trong các giá trị trung bình của hai
giá trị. Điều này là quan trọng khi làm việc với các tín hiệu đã đƣợc lƣợng tử
hóa. Đầu ra của lọc giả trung vị cũng có thể đƣợc làm tròn hoặc cắt để có các
giá trị cùng mức nhƣ nhau. Các sự khác nhau khác nữa giữa lọc trung vị và
giả trung vị đặc biệt là hiệu quả của kiểu phần tử cấu trúc nhƣ đƣợc diễn tả
trong [13]. Tập tín hiệu gốc độ dài giới hạn 1-D của bộ lọc giả trung vị đƣợc
xem là giống với bộ lọc trung vị trong [14].
Mã nguồn của bộ lọc giả trung vị 2D xử lý 1 kênh màu
allocate outputPixelValue[image width][image height]
edgex := (window width / 2) rounded down
edgey := (window height / 2) rounded down
for x from edgex to image width - edgex
for y from edgey to image height - edgey
allocate colorArray[window width][window height]
for fx from 0 to window width
for fy from 0 to window height
colorArray[fx][fy] := inputPixelValue[x + fx - edgex][y + fy -
edgey]
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
sort all entries in colorArray[][]
22
outputPixelValue[x][y] := colorArray[window width / 2][window
height / 2]
1.3.3.3 Lọc ngoài (Outlier Filter)
Giả thiết rằng có một mức ngƣỡng nào đó cho các mức nhiễu (có thể
dựa vào lƣợc đồ xám). Tiến hành so sánh giá trị của một điểm ảnh với trung
bình số học 8 lân cận của nó. Nếu sự sai lệch này lớn hơn ngƣỡng, điểm ảnh
này đƣợc coi nhƣ nhiễu. Trong trƣờng này ta thay thế giá trị của điểm ảnh
bằng giá trị trung bình 8 lân cận vừa tính đƣợc. Bộ lọc ngoài có thể diễn tả
bằng công thức:
(1.7)
Với là trung bình cộng các điểm trong lân cận w; là ngƣỡng ngoài
Các cửa sổ tính toán thƣờng là 3x3. Tuy nhiên cửa sổ có thể mở rộng
đến 5x5 hay 7x7 để đảm bảo tính tƣơng quan giữa các điểm ảnh. Vấn đề quan
trọng là xác định ngƣỡng để loại nhiễu mà vẫn không làm mất thông tin ảnh.
1.4 Bảo toàn thông tin ảnh trong quá trình tìm biên
1.4.1 Phƣơng pháp phát hiện biên
Nói chung, một phƣơng pháp phát hiện biên có thể đƣợc chia thành ba
giai đoạn.
Trong giai đoạn đầu tiên, một quá trình giảm nhiễu đƣợc thực hiện. Để
đạt đƣợc hiệu suất tốt hơn về phát hiện biên, nhiễu ảnh cần đƣợc giảm càng
nhiều càng tốt. Giảm nhiễu này thƣờng đạt đƣợc bằng cách thực hiện lọc
thông thấp vì nhiễu cộng thông thƣờng là một tín hiệu tần số cao. Tuy nhiên,
các biên có khả năng bị loại bỏ cùng thời điểm vì chúng cũng là những tín
hiệu tín hiệu tần số cao. Do đó, một tham số thông thƣờng đƣợc sử dụng để
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
làm việc lựa chọn tốt nhất giữa giảm nhiễu và bảo toàn thông tin biên.
23
Trong giai đoạn thứ hai, một bộ lọc thông cao nhƣ một phép vi phân
thƣờng đƣợc sử dụng để tìm biên.
Giai đoạn sau cùng, xử lý cục bộ hóa biên đƣợc thực hiện để xác
định các biên chính, để phân biệt đƣợc từ những đáp ứng tƣơng tự gây ra
bởi nhiễu.
1.4.2 Một số đặc trƣng dựa trên biên ảnh
Các đặc trƣng của ảnh thƣờng gồm: mật độ xám, phân bố xác suất,
phân bố không gian, biên ảnh. Vì biên ảnh có tầm quan trọng đặc biệt
trong phân tích ảnh nên phần này đƣợc dành riêng để mô tả và các
phƣơng pháp dò biên.
Biên là một vấn đề chủ yếu trong phân tích ảnh vì các kỹ thuật phân
đoạn ảnh chủ yếu dựa vào biên.
Điểm biên: Một điểm ảnh đƣợc gọi là điểm biên nếu có sự thay đổi
nhanh hoặc đột ngột về mức xám (hoặc màu).
Đường biên (đường bao - boundary): tập hợp các điểm biên liên
tiếp tạo thành một đƣờng biên hay đƣờng bao.
Ý nghĩa của đường biên trong xử lý: đƣờng biên là một loại đặc
trƣng cục bộ tiêu biểu trong phân tích, nhận dạng ảnh; ngoài ra, biên đƣợc
sử dụng làm phân cách các vùng xám (màu) cách biệt; ngƣợc lại, các vùng
ảnh cũng đƣợc sử dụng để tìm đƣờng phân cách.
Tầm quan trọng của biên: chỉ cần đƣờng biên, ngƣời ta có thể nhận
biết đƣợc đối tƣợng.
Mô hình biểu diễn đường biên: theo toán học, điểm ảnh có sự biến
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
đổi mức xám u(x) một cách đột ngột theo hình sau:
u
u
24
x
x
x
b. Đƣờng biên bậc thang
c. Đƣờng biên thực
a. Đƣờng biên lý tƣởng
u
Hình 1.6 Đường biên của ảnh
Phát hiện biên một cách lý tƣởng là xác định đƣợc tất cả các đƣờng
bao trong các đối tƣợng. Sự biến thiên mức xám giữa các điểm ảnh trong
một vùng thƣờng là nhỏ, trong khi đó biến thiên mức xám của điểm ở
vùng giáp ranh (khi qua biên) lại khá lớn.
Một trong những phƣơng pháp phát hiện biên nhằm làm nổi biên
dựa vào sự biến thiên về giá trị độ sáng của điểm ảnh là các kỹ thuật
Gradient, kỹ thuật Laplace. Cách tiếp cận theo đạo hàm bậc nhất của ảnh
dựa trên kỹ thuật Gradient, nếu lấy đạo hàm bậc hai của ảnh ta có kỹ thuật
Laplace. Các phƣơng pháp này tỏ ra khá hiệu quả vì ít ảnh hƣởng của
nhiễu, dễ cài đặt. Chi tiết về kỹ thuật áp dụng đƣợc trình bày ở chƣơng
tiếp theo.
1.5. Một số chỉ tiêu đánh giá xử lý ảnh thƣờng dùng
Các thông số thƣờng đƣợc sử dụng trong đánh giá các bộ lọc là Signal
to Noise Ratio (SNR), Roor Mean Square Error (RMSE), Peack Signal to
Noise Ratio (PSNR), Correlation Coefficient (COC), and Mean Structural
Similarity Index Measure (MSSIM).
1.5.1 MSE (Mean Squared Error)
MSE đƣợc tính theo công thức:
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
(1.8)
25
trong đó f là ảnh nguyên bản, F là ảnh đƣợc lọc và N là kích thƣớc của ảnh.
RMSE là một trong nhiều cách ƣớc lƣợng đánh giá sự khác biệt giữa ảnh
nhiễu và ảnh đã lọc
1.5.2 SNR (Signal to Noise Ratio)
Tỷ số tín hiệu trên nhiễu SNR so sánh mức tín hiệu yêu cầu với mức
của nhiễu nền. Tỷ số này càng cao thì nhiễu càng ít gây ảnh hƣởng. SNR tính
theo dexibel:
(1.9)
trong đó là phƣơng sai của ảnh nhiễu tự do và là phƣơng sai của sai
hỏng (căn bậc hai của phƣơng sai, gọi là độ lệch chuẩn). Vùng sáng có tín
hiệu mạnh hơn có SNR cao hơn.
1.5.3 PSNR (Peak Signal to Noise Ratio)
Chỉ số PSNR (Peak Signal-to-Noise Ratio) phản ảnh sự thay đổi tỷ lệ
của tỷ số tín hiệu trên nhiễu của ảnh qua xử lý. Khi PSNR lớn hơn chất lƣợng
của ảnh tốt hơn và ngƣợc lại thì chất lƣợng kém hơn.
(1.10)
(1.11)
Trong đó: MSE (Mean-Square error): Sai hỏng bình phƣơng trung bình
M, N Kích thƣớc ảnh theo chiều hàng và cột.
Iij và I'ij: Giá trị dữ liệu thực và giá trị ƣớc lƣợng.
PSNR càng cao thì chất lƣợng dữ liệu đƣợc khôi phục càng tốt. Thông
thƣờng, nếu PSNR 40dB thì hệ thống mắt ngƣời gần nhƣ không phân biệt
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
đƣợc giữa ảnh gốc và ảnh khôi phục.
26
1.5.4 MAE (Mean Absolute Error).
Trong thống kê, sai số tuyệt đối trung bình (MAE) là một đại lƣợng
đƣợc sử dụng để đo mức độ dự báo gần nhƣ thế nào với kết quả cuối cùng.
(1.12)
Sai hỏng tuyệt đối . fi là dự đoán và yi là kết quả đúng.
Mối tƣơng quan cung cấp cho mối quan hệ tuyến tínhữa -1 đế giữa hai
tín hiệu quan tâm đến cả hƣớng và cƣờng độ và giá trị của nó nằm gin +1. Sự
tƣơng quan là 1 thì tăng mối quan hệ tuyến tính, là -1 thì giảm mối quan hệ
tuyến tính, cho tất cả các trƣờng hợp khác có giá trị nằm giữa -1 đến +1. Các
điểm càng gần -1 và 1 thì mối tƣơng quan giữa các tín hiệu càng mạnh.
(1.13)
trong đó g và là các ảnh nguyên bản và ảnh đã đƣợc khử nhiễu, và là
các giá trị trung bình của các ảnh nguyên bản và ảnh đã đƣợc khử nhiễu.
Ước lượng MSSIM
MSSIM đƣợc sử dụng để đo sự giống nhau giữa hai hình ảnh có nghĩa
là giống nhau giữa ảnh gốc có nhiễu và hình ảnh lọc. Giá trị cao của MSSIM
cho nhiễu ít hơn trong ảnh đã lọc. Nó đƣợc tính theo công thức:
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
(1.14)
27
L là phạm vi giá trị các điểm ảnh (bằng 255 với ảnh xám 8 bit).
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
K1 << 1 và K2 << 1 là các hằng số nhỏ.
28
Chƣơng 2. MỘT SỐ KỸ THUẬT PHÁT HIỆN BIÊN
VÀ NÂNG CAO CHẤT LƢỢNG ẢNH
DỰA VÀO CÁC QUÁ TRÌNH KHUẾCH TÁN
Trong xử lý ảnh, làm trơn, tăng cƣờng ảnh là bƣớc cải thiện, nâng cấp
chất lƣợng ảnh nhằm làm nổi bật một số đặc tính của ảnh nhƣ thay đổi độ
tƣơng phản, lọc nhiễu, tăng độ nét, tăng độ phân giải ảnh,…Xử lý nâng cao
chất lƣợng ảnh không phải là làm tăng lƣợng thông tin dữ liệu vốn có trong
ảnh mà làm tăng khả năng biểu diễn các đặc trƣng của ảnh, đồng thời phải
duy trì các thông tin hữu ích. Trong chƣơng này một số kỹ thuật nâng cao
chất lƣợng ảnh bằng quá trình khuếch tán sẽ đƣợc giới thiệu. Nét ƣu điểm của
kỹ thuật này là nâng cao chất lƣợng ảnh và vẫn bảo toàn đƣợc thông tin của
ảnh.
2.1. Một số kỹ thuật phát hiện biên tiêu biểu
Trong xử lý ảnh phát hiện biên là một công việc kinh điển. Phát hiện
biên theo các hƣớng của ảnh là rất cần thiết trong kỹ thuật xử lý ảnh bằng
khuếch tán vì trong kỹ thuật này thƣờng phải ƣớc lƣợng xem theo hƣớng đang
khảo sát có phải là biên không để thay đổi hệ số khuếch tán cho phù hợp để
thực hiện mức độ khuếch tán.
2.1.1 Kỹ thuật phát hiện biên Gradient
Phƣơng pháp gradient là phƣơng pháp tìm biên cục bộ dựa vào cực
đại của đạo hàm. Theo định nghĩa, gradient là một vector có các thành
phần biểu thị tốc độ thay đổi giá trị của điểm ảnh theo 2 hƣớng x và y.
Các thành phần của gradient đƣợc tính bởi:
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
(2.1)
29
Trong đó dx,dy là khoảng cách giữa 2 điểm kế cận theo hƣớng x, y
tƣơng ứng (khoảng cách tính bằng số điểm, thực tế chọn dx=dy=1). Đây
là phƣơng pháp dựa theo đạo hàm riêng bậc nhất theo hƣớng x, y.
Tuy ta nói là lấy đạo hàm nhƣng thực chất chỉ là mô phỏng và xấp
xỉ đạo hàm bằng kỹ thuật nhân chập do ảnh số là tín hiệu rời rạc, do vậy
đạo hàm không tồn tại.
Với một ảnh liên tục f(x,y), các đạo hàm riêng của nó cho phép xác
định vị trí cực đại cục bộ theo hƣớng của biên. Thực vậy, gradient của
một ảnh liên tục, biểu diễn bởi một hàm f(x,y), dọc theo r với góc , đƣợc
định nghĩa bởi:
(2.2)
df/dx đối với đạt cực đại khi (df/d )(df/dr)=0 hay -fxsin + fycos = 0
Do vậy ta có thể xác định hƣớng cực đại của nó:
(2.3)
r là hƣớng của biên.
y
f(x,y)
n
r
fy
r
x
fx
Ta gọi
Hình 2.1. Gradient của ảnh theo hướng
Theo định nghĩa về gradient, nếu áp dụng nó vào xử lý ảnh, việc
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
tính toán sẽ rất phức tạp. Để đơn giản mà không mất tính chất của phƣơng
30
pháp gradient, ngƣời ta sử dụng kỹ thuật gradient sử dụng một cặp mặt nạ
H1 và H2 trực giao (theo 2 hƣớng vuông góc). Nếu định nghĩa g1 và g2 là
gradient tƣơng ứng theo hai hƣớng x và y, thì biên độ của gradient, ký
hiệu là g tại điểm (m,n) đƣợc tính theo công thức:
(2.4)
Để giảm tính toán, công thức trên đƣợc tính gần đúng bởi:
(2.5) A0=|g1(m,n)|+|g2(m,n)|
Các toán tử đạo hàm đƣợc áp dụng là khá nhiều, trong luận văn này, chúng tôi
chỉ đề cập đến một số toán tử tiêu biểu: toán tử Robert, Prewitt, Sobel.
Toán tử Robert
Toán tử Robert đƣợc Robert đề xuất vào năm 1965. Nó là áp dụng trực tiếp
của công thức đạo hàm tại điểm (x,y). Với mỗi điểm mảnh I(x,y) của I, đạo
hàm theo x, theo y đƣợc ký hiệu tƣơng ứng bởi gx, gy đƣợc tính:
(2.6)
Điều này tƣơng đƣơng với việc chập ảnh với 2 mặt nạ H1 và H2:
Ta gọi H1, H2 là mặt nạ Robert.
Trong trƣờng hợp tổng quát, giá trị gradient biên độ g và gradient
r đƣợc tính bởi công thức… Thƣờng để giảm thời gian tính toán,
hƣớng
ngƣời ta còn tính gradient theo các chuẩn sau :
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
A1=|g1(m,n)+g2(m,n) |
31
Hoặc A2 = max(|g1(m,n)|,|g2(m,n)|)
Toán tử (mặt nạ) Sobel
Toán tử Sobel đƣợc Duda và Hart đặt ra năm 1973 với các mặt nạ tƣơng tự
nhƣ của Robert nhƣng cấu hình khác nhƣ sau:
và
Hƣớng ngang (x) Hƣớng dọc (y)
Mặt nạ Prewitt
Toán tử đƣợc Prewitt đƣa ra vào năm 1970 có dạng:
và
Hƣớng ngang (x) Hƣớng dọc (y)
Gradient đƣợc xấp xỉ bởi công thức:
I Gx = Hx I và Gy = Hy
Thực tế cho thấy toán tử Sobel, Prewitt tốt hơn so với toán tử
Robert bởi chúng ít nhậy cảm với nhiễu. Việc lấy đạo hàm một tín hiệu có
xu hƣớng làm tăng nhiễu trong tín hiệu đó. Độ nhạy cảm này có thể làm
giảm xuống nhờ thao tác lấy trung bình cục bộ trong miền phủ bởi mặt nạ.
Tóm lại: Các kỹ thuật sử dụng phƣơng pháp Gradient khá tốt khi độ
sáng có tốc độ thay đổi nhanh, khá đơn giản trên cơ sở các mặt nạ theo
các hƣớng. Nhƣợc điểm của các kỹ thuật Gradient là nhạy cảm với nhiễu
và tạo các biên kép làm chất lƣợng thu đƣợc không cao.
2.1.2 Kỹ thuật Laplace
Để khắc phục hạn chế và nhƣợc điểm của phƣơng pháp Gradient,
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
trong đó sử dụng đạo hàm riêng bậc nhất ngƣời ta nghĩ đến việc sử dụng
32
đạo hàm riêng bậc hai hay toán tử Laplace. Phƣơng pháp dò biên theo
toán tử Laplace hiệu quả hơn phƣơng pháp toán tử Gradient trong trƣờng
hợp mức xám biến đổi chậm, miền chuyển đổi mức xám có độ trải rộng.
Toán tử Laplace đƣợc định nghĩa nhƣ sau:
(2.7)
Toán tử Laplace dùng một số kiểu mặt nạ khác nhau nhằm tính gần
đúng đạo hàm riêng bậc hai. Các dạng mặt nạ theo toán tử Laplace thƣờng
dùng:
và
Với mặt nạ H1, đôi khi ngƣời ta dùng phần tử ở tâm có giá trị là 8
thay vì giá trị 4.
Trong kỹ thuật Laplace, điểm biên đƣợc xác định bởi điểm cắt điểm
không. Và điểm không là điểm duy nhất do vậy, kỹ thuật này cho đƣờng
biên mảnh, tức là đƣờng biên có độ rộng bằng 1 pixel. Nhƣợc điểm của kỹ
thuật này rất nhạy với nhiễu, do vậy đƣờng biên thu đƣợc thƣờng kém ổn
định.
2.1.3 Kỹ thuật đạo hàm tích chập – Phƣơng pháp Canny
Phƣơng pháp này do John Canny ở phòng thí nghiệm MIT khởi
xƣớng vào năm 1986. Canny đã đƣa một tập hợp các ràng buộc mà một
phƣơng pháp phát hiện biên cần phải đạt đƣợc. Ông đã trình bày một
phƣơng pháp tối ƣu nhất để thực hiện đƣợc các ràng buộc đó. Và phƣơng
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
pháp này đƣợc gọi là phƣơng pháp Canny.
33
Phƣơng pháp này dựa trên cặp đạo hàm riêng bậc nhất với việc làm
sạch nhiễu. Đây là phƣơng pháp tác đƣờng biên khá phổ biến đƣợc dùng
theo toán tử đạo hàm. Nhƣ đã nói, phƣơng pháp đạo hàm chịu ảnh hƣởng
lớn của nhiễu. Phƣơng pháp đạt hiệu quả cao khi xấp xỉ đạo hàm bậc nhất
của Gauss:
Thuật toán đƣợc tiến hành quan bốn bƣớc cơ bản sau:
Bƣớc 1: Đọc ảnh I cần xử lý: tiến hành làm trơn ảnh bằng cách nhân
xoắn ảnh với bộ lọc Gauss. Cách thức tiến hành giống nhƣ tiến hành ở
Laplace of Gauss.
Bƣớc 2: Đạo hàm bậc nhất kết quả trên theo hai hướng x và y:điều này
tƣơng ứng với việc nhân chập ảnh kết quả ở bƣớc 1 theo hai hƣớng (x và y)
với một bộ lọc dựa trên đạo hàm bậc nhất (các bộ lọc của kỹ thuật Gradient).
Từ đó đƣa ra kết quả đạo hàm ảnh sau khi tiến hành nhân chập với Gauss.
Sau khi làm trơn ảnh ở bƣớc 1 (nhân ảnh với bộ lọc Gauss) ta tiến hành
đạo hàm bậc nhất kết quả đó. Kết quả đạo hàm S là đạo hàm của tích ảnh I và
hàm Gauss (x,y). Điều này tƣơng ứng với đạo hàm của hàm Gauss sau đó
nhân với ảnh I.
(2.8)
Với:
Nhƣ vậy, kết quả ảnh bƣớc hai chính là sự tổng hợp của đạo hàm của
Gauss theo hƣớng x nhân với ảnh I và đạo hàm của Gauss theo hƣớng y nhân
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
với ảnh I.
34
Nghĩa là ta có thể đạo hàm hàm Gauss theo hai hƣớng rồi mới tiến hành
nhân chập với ảnh thay vì nhân chập ảnh với hàm Gauss rồi mới đạo hàm.
Hình 2.2. Đạo hàm hàm Gauss theo hai hướng x và y
Nhƣ vậy cách thực hiện bƣớc thứ 2 nhƣ sau:
Sau khi tiến hành nhân chập ảnh I với bộ lọc Gauss ở bƣớc 1 ta có một
ảnh mới S đƣợc làm trơn. Tiến hành thực hiện bƣớc hai bằng cách lấy đạo
hàm ảnh mới đó theo hai hƣớng x và y rồi tổng hợp kết quả lại.
Nhƣ đã biết, phƣơng pháp Gradient là phƣơng pháp dò biên cục bộ dựa
vào cực đại của đạo hàm, đó chính là phƣơng pháp đạo hàm bậc nhất. Chính
vì vậy ta có thể thực hiện việc đạo hàm ở bƣớc thứ 2 bằng cách nhân ảnh kết
quả S ở bƣớc 1 với các mặt nạ trong phƣơng pháp Gradient dựa theo các toán
tử nhƣ Sobel:
Sau khi tiến hành nhân chập ảnh theo hai hƣớng x và y ta đƣợc hai ảnh
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
theo hai hƣớng là Sx và Sy, ta tiến hành tổng hợp hai kết quả đó để cho ra kết quả đó để cho ra kết quả cuối cùng S‟:
35
(2.9)
Hƣớng của biên nhƣ sau:
(2.10)
Ảnh S‟ tìm đƣợc là kết quả của bƣớc thứ hai
Bƣớc 3: Cho ảnh kết quả ở bƣớc trên tiến hành “Non – maximum
Suppression” nghĩa là loại bỏ bớt các điểm cạnh (loại bỏ bớt nhiễu),
chỉ giữ lại điểm có mức xám cao.
Đối với mỗi điểm ảnh trên ảnh S‟ ta tiến hành so sánh giá trị của điểm
đó với giá trị của hai điểm lân cận điểm đó. Hai điểm lân cận này là hai điểm
nằm trên đƣờng thẳng chứa hƣớng của đƣờng biên .
Giả sử ta có điểm biên đang xét tại vị trí (x,y), ta có 8 điểm biên lân cận
điểm biên này nhƣ hình 2.3:
Hình 2.3. Hình mô tả các điểm biên lân cận
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
36
Tại điểm biên đó, ta tiến hành tính giá trị góc của hƣớng đƣờng biên .
Nếu hƣớng của đƣờng biên <= 22.50 hoặc > 157.50 thì đặt giá trị
của = 00 và khi đó hai điểm biên lân cận điểm biên này tại vị trí (x-1,y) và
(x+1,y).
Tƣơng tự ta có kết quả hai điểm biên lân cận theo các hƣớng biên khác
nhau nhƣ bảng dƣới đây:
Bảng 2.1. Điểm biên lân cận theo các hƣớng biên khác nhau
Phƣơng hƣớng Điểm ảnh Giá trị
(x-1,y) (x+1,y) =00 <=22.50 hoặc >157.50
(x-1,y-1) (x+1,y+1) =450 22.50 < 67.50
(x-1,y-1) (x+1,y-1) =900 67.50 < 112.50
(x,y+1) (x,y-1) =1350 112.50 < 157.50
Ta tiến hành thực hiện:
Tại mỗi điểm ảnh ta tiến hành tính hƣớng của đƣờng biên, sau đó so
sánh kết quả đó tìm ra hai điểm biên lân cận.
So sánh giá trị điểm ảnh đang xét với hai điểm biên trên:
Nếu điểm ảnh này là lớn nhất thì giữ lại điểm biên này (đánh dấu
điểm biên này), ngƣợc lại nếu nó nhỏ hơn một trong hai điểm biên lân cận
thì điểm biên này bị loại đi (cho giá trị điểm biên này bằng 0)
Ta đƣợc kết quả ảnh sau khi đã loại đi một số điểm biên không phù
hợp, lúc này số lƣợng biên trên ảnh nhìn thấy sẽ ít đi. Điều này đặc biệt
có giá trị tốt để loại bỏ một số biên dƣ thừa đặc biệt với ảnh có nhiễu.
Bƣớc 4: Tiến hành thực hiện áp dụng ngƣỡng (ngƣỡng cao và ngƣỡng
thấp) để loại bỏ một số cạnh xấu.
Sau khi tiến hành bƣớc 3, ta tiến hành áp dụng ngƣỡng: sử dụng hai
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
ngƣỡng, ngƣỡng cao Th và ngƣỡng thấp Tl
37
Những điểm biên đƣợc đánh dấu (không bị loại) ta tiếp tục tiến hành áp
dụng ngƣỡng cao và ngƣỡng thấp:
- Xét điểm ảnh I tại vị trí (x,y)
- So sánh I(x,y) với hai ngƣỡng Th và Tl
+ Nếu I(x,y) Th: đánh dấu và giữ lại điểm biên này (đặt giá trị
bằng 1)
+ Nếu I(x,y) I(x,y) + Nếu Tl Th : ta tiến hành so sánh giá trị I(x,y) với giá trị của các điểm của 8 điểm lân cận: Nếu một trong 8 điểm lân cận có giá trị >Th: tiến hành đánh dấu và giữ lại điểm biên này. Ngƣợc lại: loại bỏ điểm biên này (đặt giá trị bằng 0) Phƣơng pháp Canny đƣợc sử dụng rất nhiều trong các ứng dụng của xử lý ảnh do đây là phƣơng pháp có khả năng loại bỏ nhiễu rất tốt. Phƣơng pháp Canny với độ lệch tiêu chuẩn khác nhau và các ngƣỡng khác nhau cho kết quả có sự khác nhau. Khi thay đổi độ lệch tiêu chuẩn thì ảnh kết quả cũng thay đổi. Và càng tăng độ lớn của độ lệch tiêu chuẩn thì số lƣợng các điểm biên xác định đƣợc càng giảm. Nghĩa là đối với ảnh có nhiều nhiễu thì càng tăng độ lệch tiêu chuẩn thì số lƣợng điểm nhiễu cũng giảm đi, khi đó chỉ những biên rõ nét mới phát hiện ra. Khi thay đổi ngƣỡng thấp và ngƣỡng cao thì số lƣợng biên đƣợc phát hiện cũng thay đổi. Do các điểm ảnh có giá trị nhỏ hơn ngƣỡng thấp thì loại điểm đó và lớn hơn ngƣỡng cao thì xác định đó là điểm biên (giữa hai ngƣỡng thì còn tùy thuộc vào các điểm biên lân cận). Vậy: + Khi ngƣỡng thấp và ngƣỡng cao đều thấp thì số lƣợng biên phát Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ hiện ra rất nhiều. 38 + Khi cả hai ngƣỡng đều cao thì số lƣợng điểm biên đƣợc phát hiện là rất ít, chỉ những điểm có mức xám cao mới có thể là biên. + Khi ngƣỡng rất thấp và ngƣỡng rất cao, tức là khoảng cách giữa hai ngƣỡng là lớn thì điểm biên phụ thuộc vào các điểm lân cận. Tùy từng ảnh cụ thể và tùy từng cách lấy ngƣỡng khác nhau mà ta có các kết quả khác nhau. 2.2. Một số kỹ thuật nâng cao chất lƣợng ảnh dựa vào các quá trình khuếch tán Sử dụng các phƣơng trình khuếch tán [3], [4], [5], [6], [7] là một phƣơng pháp hiện đại để tăng hiệu quả của việc làm trơn nhiễu, bảo toàn và tăng cƣờng biên ảnh dựa vào phƣơng pháp phƣơng trình đạo hàm riêng trong xử lý ảnh. Thực hiện phƣơng pháp này cho phép thu đƣợc các kết quả tốt hơn so với các phƣơng pháp cũ khi điều chỉnh hợp lý các hệ số của các phƣơng trình khuếch tán. Dƣới đây là một số hình ảnh của xử lý ảnh bằng quá trình Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ khuếch tán: 39 Sau đây chúng ta sẽ lần lƣợt khảo sát các quá trình khuếch tán: 2.2.1 Khuếch tán đẳng hƣớng - khuếch tán tuyến tính [3] Khuếch tán đẳng hƣớng là quá trình khuếch tán thực hiện với hệ số khuếch tán (hoặc còn gọi là hệ số dẫn) đều và không đổi theo mọi hƣớng. Một ví dụ cho quá trình này là khuếch tán ảnh bằng phƣơng trình parabolic: (2.11) Trong đó I(x,y,t) là độ sáng của ảnh, x, y và t là các biến không gian và Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ thời gian, là toán tử Laplace. Gabor đã nhận xét từ năm 1960 rằng sự khác 40 nhau giữa ảnh nguyên bản và ảnh đã đƣợc làm mờ thì xấp xỉ tƣơng ứng với Laplace của nó. Nhƣ vậy, ảnh sau khi khuếch tán bằng phƣơng trình này thì đã đƣợc làm mờ. Hạn chế trong phƣơng trình khuếch tán tuyến tính là khi thực hiện khuếch tán ảnh thì các đặc tính tín hiệu cục bộ và cả nhiễu đều đƣợc làm trơn đồng đều. Hạn chế này đã đƣợc nhiều nhà nghiên cứu giải quyết đƣa đến giải pháp sử dụng khuếch tán phi tuyến. 2.2.2 Khuếch tán không đẳng hƣớng [3] Khuếch tán không đẳng hƣớng (hay còn gọi là khuếch tán dị hƣớng) là phƣơng pháp khuếch tán phi tuyến, áp dụng quá trình khuếch tán không đồng nhất giảm hệ số khuếch tán ở những vị trí mà tại đó có nhiều khả năng là biên. Quá trình khuếch tán này có hệ số khuếch tán thay đổi tùy theo đặc điểm cụ thể của ảnh. Trƣớc khi khuếch tán thì thử kiểm tra xem liệu rằng ở vị trí ở đó có thể là biên hay không. Nếu đó không phải là biên thì hệ số khuếch tán lấy bằng 1, nếu đó có thể là biên thì hệ số khuếch tán sẽ thay đổi lấy bằng 0. Việc xác định khả năng vị trí đó liệu có phải là biên hay không bằng cách tính giá trị của tại vị trí đó để ƣớc lƣợng. Phƣơng pháp của Perona-Malik Theo cách đó trong [3] (1990) Perona-Malik đã đề xuất thay thế phƣơng trình truyền nhiệt tuyến tính bằng phƣơng trình khuếch tán phi tuyến với điều kiện biên Neumann: (2.12) trong đó: - đạo hàm của ảnh u tại t, Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ div – toán tử phân kỳ (divergence); 41 - độ lớn gradient của hàm ảnh u; - hàm dừng biên phụ thuộc gradient của hàm ảnh u. Khi tìm nghiệm hay giá trị mức xám trên đƣờng bao của miền Ω r 2 ,
để bảo toàn Perona- Malik giả thiết đạo hàm riêng của u bị triệt tiêu tại biên biên ảnh. Ý tƣởng là sử dụng một hàm khuếch tán làm giảm dần và dừng sự khuếch tán khi gần tới biên ảnh mà tại đó gradient của hàm ảnh trở nên lớn. Perona-Malik [8] đề xuất hai hàm dừng biên và . (2.13) (2.14) Với K là ngƣỡng tƣơng phản cho trƣớc (0 Hàm dừng biên sử dụng trong mô hình Perona-Malik là các hàm phi thì g(s) là hàm nghịch biến với . tuyến với . Đặt Biến đổi phƣơng trình khuếch tán phi tuyến Perona-Malik với hàm (2.15) dừng biên ta có: Tại điểm O(x,y) bất ký trong hệ tọa độ Decac, bằng cách xoay theo Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ hƣớng xác định bởi góc 42 Biểu diễn phƣơng trình (2.15) theo hệ tọa độ ta có: Ta có hệ tọa độ cục bộ (2.16) Phƣơng trình khuếch tán chứa với có ngƣỡng tƣơng phản K, là: - Khuếch tán thuận (forward) khi , tƣơng ứng với vùng ảnh có độ tƣơng phản thấp - Khuếch tán ngƣợc (backward) khi , tƣơng ứng với vùng ảnh có độ tƣơng phản cao (s>K). Vùng ảnh có gradient nhỏ hoặc biến đổi không lớn đƣợc coi là vùng đồng nhất của ảnh. Miền có gradient lớn (s>K) đƣợc coi là biên ảnh (đƣờng bao các chi tiết của ảnh) hay đƣờng có các điểm ảnh đồng mức xám (isophote). Ta thấy rằng phƣơng trình (2.16) có thể đƣợc xem nhƣ tổng của thành phần khuếch tán theo hƣớng cộng với thành phần khuếch tán theo hƣớng . Quan hệ trong phƣơng trình (2.16) có thể đƣợc giải thích nhƣ sau: - Thành phần biểu diễn khuếch tán theo hƣớng tiếp tuyến với biên ảnh hay đƣờng có các điểm ảnh đồng mức xám (isophote) của ảnh. Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Thành phần này có hàm luôn không âm. 43 - Thành phần biểu diễn khuếch tán thuận hoặc khuếch tán ngƣợc theo hƣớng vuông góc với đƣờng bao chi tiết hay đƣờng có các điểm ảnh đồng mức xám (isophote) của ảnh phụ thuộc vào độ lớn gradient của hàm ảnh. Thành phần này có có thể bị âm khi gradient lớn. Phƣơng trình (2.16) chỉ đạt đƣợc sự duy nhất của nghiệm và là phƣơng trình khuếch tán thuận khi thỏa mãn điều kiện . Thực tế hàm dừng biên trong mô hình Perona-Malik không thỏa mãn điều kiện . Thực nghiệm đã chỉ ra rằng mô hình này loại trừ đáng kể nhiễu trƣớc khi làm mờ biên ảnh. Mô hình này đƣợc Weickert chỉ ra thuộc lớp bộ lọc khuếch tán phi tuyến đẳng hƣớng. Mô hình khuếch tán dị hƣớng Perona- Malik là một mô hình anisotropic, có hệ số dẫn giá trị vô hƣớng đã thực hiện chuyển đổi phƣơng trình khuếch tán tuyến tính đơn giản thành phƣơng trình khuếch tán không đồng nhất (tức là hệ số dẫn c có thể thay đổi theo vị trí trong ảnh) bằng cách cho c phụ thuộc vào ảnh. Kết quả là giảm hiệu ứng làm trơn ở gần sƣờn. Trong hình 2.7 cho thấy hiệu quả của phƣơng pháp này so Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ với các phƣơng pháp kinh điển. 44 Mô hình khuếch tán tăng cƣờng biên ảnh (EED) của Weickert [5] Mô hình khuếch tán tăng cƣờng biên ảnh EED (Edge-Enhancing Diffusion) đã đƣợc Weickert đề xuất. Trong trƣờng hợp khuếch tán bất đẳng hƣớng, mô hình EED không chỉ thích nghi cục bộ đối với dữ liệu mà còn thích nghi với hƣớng làm trơn, cho phép làm trơn dọc theo biên ảnh trong khi hạn chế làm mờ biên ảnh. Điều này có thể đạt đƣợc bằng cách thay thế hàm khuếch tán giá trị vô hƣớng trong các mô hình khuếch tán phi tuyến đẳng hƣớng bằng một tenso khuếch tán dạng ma trận. Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ (2.17) 45 trong đó là vector vuông góc hƣớng ra ngoài biên ảnh. Weickert xây dựng tenso khuếch tán D là một ma trận phụ thuộc vào các giá trị riêng và các vecto riêng của tenso cấu trúc . Tenso là ma trận đối xứng, trong đó từng phần tử của nó chứa thông tin về hƣớng và cƣờng độ mức xám vùng ảnh cục bộ của ảnh . Tenso đƣợc tính từ gradient của hàm ảnh chính là tích tenso. , Ma trận này tồn tại cơ sở trực giao của các vecto riêng v1, v2 với tƣơng ứng với các giá trị riêng của nó. Tenso đƣợc nhân chập với hàm Gauss có độ rộng thang để hạn chế ảnh hƣởng của nhiễu. (2.18) Tenso khuếch tán D là một ma trận đƣợc xây dựng theo . Ta có công thức biểu diễn của tenso D trong mô hình khuếch tán tăng cƣờng biên ảnh EED. Với các giá trị riêng tƣơng ứng với các vector riêng và . Vecto riêng v1 và v2 mô tả hƣớng khuếch tán vùng ảnh cục bộ, hay hƣớng làm trơn cục bộ của ảnh. Các giá trị riêng có tác dụng mô tả cấu trúc cục bộ của ảnh: chỉ ra vùng ảnh có gradient nhỏ, Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ cho biết biên ảnh và tƣơng ƣng với các góc của ảnh. 46 Mô hình EED nhằm mục đích làm trơn vùng cục bộ và tăng cƣờng cấu trúc của ảnh, do vậy Weickert chọn các hệ số khuếch tán: Trong đó hệ số khuếch tán của mô hình EED sẽ giảm khuếch tán theo hƣớng biến đổi lớn nhất của giá trị mức xám tại biên ảnh. Trong mô hình đề xuất của Weickert từng phần tử trong ma trận nhân chậpvới hàm Gauss cs độ lệch chuẩn để có tensor cấu trúc . Phƣơng pháp này mở rộng không gian thang, cho phép lấy trung bình các giá trị mức xám trên toàn vùng cục bộ, làm trơn, mịn cả vùng đồng nhất và biên ảnh. Tuy vậy, phép chập Gauss đồng nhất là tƣơng đồng với khuếch tán tuyến tính, do vậy tensor cấu trúc truyền thống này có dạng khuếch tán tuyến tính. Mô hình của Weickert đòi hỏi phải thực hiện m2 phép nhân và m2 – 1 phép cộng để thực hiện phép chập trong miền không gian cho từng điểm ảnh của ma trận với mặt nạn Gauss có kích thƣớc để có đƣợc nhƣ (2.18), dẫn tới làm tăng độ phức tạp tính toán. 2.2.3 Khuếch tán phức kết hợp giảm nhiễu tìm biên Quá trình khuếch tán của Perona và Malik [3] vẫn còn một số hạn chế là nhiễu ở gần biên chƣa đƣợc giảm, cần phải cho cơ hội thêm khuếch tán dọc theo biên cùng với xuyên qua nó. Gilboa và các đồng tác giả đã tổng quát hoá không gian tỷ lệ tuyến tính trong vùng phức bởi kết hợp phƣơng trình khuếch tán với phƣơng trình Schrödinger tự do và sử dụng mô hình khuếch tán phức để đạt đƣợc mục đích giảm nhiễu, tìm biên (không làm mờ biên) có nhiều ƣu điểm hơn. Guy Gilboa đã thực hiện quá trình khuếch tán Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ phức để cải thiện quá trình khuếch tán. Đây là trƣờng hợp các thành phần tín 47 hiệu là số phức và hệ số khuếch tán là số phức. Giá trị phức trong quá trình khuếch tán đƣợc dùng nhƣ một bộ tìm biên mạnh kháng nhiễu tốt và quá trình khuếch tán cho kết quả ra hai ảnh đồng thời: Phần thực là ảnh đã đƣợc giảm nhiễu và Phần ảo là ảnh đã đƣợc tìm biên. Quá trình khuếch tán phức đƣợc chia làm 2 loại: Khuếch tán phức tuyến tính và Khuếch tán phức phi tuyến. a) Khuếch tán phức tuyến tính Phƣơng trình khuếch tán phức tuyến tính đuợc Gilboa [6] đƣa ra có dạng (2.19) dựa trên cơ sở phƣơng trình khuếch tán tuyến tính và phƣơng trình Schrödinger. Ở đây c và I là các số phức. Hệ số khuếch tán phức đƣợc chọn c = rej và để tồn tại một giá trị c thực dƣơng, chúng ta giới hạn (r dương trong góc phần tư thứ nhất và thứ 4 của vòng tròn toạ độ phức). Lời giải xấp xỉ với nhỏ 0 với lời giải cơ sở và phân tách các thành phần Khi xem xét giá trị
thực IR và ảo II của tín hiệu và hệ số khuếch tán với ta thu đƣợc tập hai phƣơng trình: (2.20) xx >> II xx giữ cho đủ nhỏ, nó cho trong đó cR = cos , cI = sin . Quan hệ IR phép chúng ta loại bỏ số hạng bên phải của phƣơng trình thứ nhất để nhận đƣợc xấp xỉ với nhỏ (Khi nhỏ cos 1 và sin ) . Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ (2.21) 48 Trong phƣơng trình này IR chịu tác động của quá trình khuếch tán còn II thì chịu ảnh hƣởng của cả phƣơng trình thực và ảo. Có thể nhìn nhận thành phần ảo nhƣ là + "một quá trình làm trơn". Thành phần trong phần thứ hai của công thức (2.21) sẽ là thành phần làm nổi biên lên trong quá trình khuếch tán. Nhƣ vậy, nếu chúng ta áp dụng quá trình khuếch tán phức trong xử lý ảnh với điều kiện khởi tạo là ảnh cần xử lý thì chúng ta thu đƣợc hai kết quả đồng thời nhƣ trong hình 2.8. c) Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 49 b) Khuếch tán phức phi tuyến Chúng ta khảo sát một trƣờng hợp cụ thể đó là dùng PDE để giảm nhiễu giữ gìn biên dốc. Các biên trong ảnh thực tế ngoài biên kiểu bƣớc (step edge) còn có biên kiểu dốc (ramp edges), kiểu đỉnh (peak), cong (roof) hoặc là tổ hợp các kiểu này. Sự biến đổi về độ sáng của biên dốc không phải đột ngột nhƣ biên bƣớc. a) biên kiểu dốc b) đạo hàm bậc nhất của biên dốc thành biên kiểu bƣớc c) đạo hàm bậc hai và các điểm đầu cuối của biên bƣớc d) các điểm cắt không của đạo hàm bậc ba của biên dốc. Quá trình khuếch tán giảm nhiễu ảnh với các biên kiểu dốc cũng khác với quá trình giảm nhiễu cho ảnh với biên kiểu bƣớc. Phƣơng trình khuếch tán phi tuyến tổng quát nhằm mục đích bảo toàn biên dốc: (2.22) Chúng ta cần tìm một toán tử vi sai s thoả mãn cho quá trình bảo toàn biên dốc. Với biên kiểu bƣớc có thể sử dụng gradient của ảnh nhƣng với biên Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ kiểu dốc chúng ta không sử dụng gradient vì hai nguyên nhân: thứ nhất là 50 gradient không tìm ra các đặc điểm chính của biên dốc đó là các điểm đầu và cuối của nó; ngoài ra gradient có một giá trị ít thay đổi với biên dốc. Chúng ta chọn đạo hàm bậc hai do nó có biên độ cao ở gần các điểm đầu và cuối của biên dốc và nó có biên độ thấp ở trong biên, nhƣ vậy chúng ta có quá trình khuếch tán phi tuyến hạ nhiễu trong vùng biên dốc. c(s) đƣợc công thức hoá nhƣ là một hàm không giảm của s (2.23) trong đó s = |Ixx|, c(s) = c(|Ixx|) Thay c ở (2.23) vào (2.22) chúng ta nhận đƣợc (2.24) Tuy nhiên chúng ta đã biết là theo lý thuyết sự có mặt đạo hàm bậc hai và đạo hàm bậc ba của ảnh trong công thức (2.24) sẽ làm cho quá trình bị ảnh hƣởng rất lớn của nhiễu và việc tính toán phức tạp hơn. Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 51 Nhƣng cả hai vấn đề này đã đƣợc giải quyết bằng sử dụng khuếch tán phức phi tuyến. Phƣơng trình khuếch tán phức đƣợc sử dụng là: (2.25) trong đó k là một thông số ngƣỡng. II ký hiệu giá trị ảo của tín hiệu độ sáng I. Góc pha nhỏ ( << 1). Các bƣớc không gian và thời gian đƣợc chọn thích hợp để thành phần thực trong khi biến đổi ít sai số và thành phần ảo đảm bảo Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ nhƣ ở (2.21) . . 52 Chƣơng 3. KẾT QUẢ CÀI ĐẶT THỬ NGHIỆM Thực nghiệm sử dụng Matlab để cài đặt các phƣơng pháp xử lý. Hiệu
quả xử lý của cùng một ảnh có nhiễu với các phƣơng pháp khác nhau đƣợc so
sánh trên chỉ số PNSR. 3.1.1 Thực hiện lọc trên ảnh "Lena" bằng các phƣơng pháp khác nhau: Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 53 3.1.2 Thực hiện lọc trên ảnh "nhà C5" bằng phƣơng pháp khuếch tán: 3.1.3 Thực hiện lọc trên ảnh "đền Kiếp Bạc" bằng phƣơng pháp khuếch
tán phức: a) Khuếch tán phức giảm nhiễu Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 54 Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 55 b) Khuếch tán phức thực hiện tìm biên ảnh Hình 3.6 Ảnh gốc màu Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 56 Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 57 3.2 Đánh giá việc thực hiện các bộ lọc: Để đánh giá hiệu quả của việc xử lý chúng tôi sử dụng chỉ số PSNR (Peak Signal-to-Noise Ratio). Chỉ số này đã phản ảnh sự thay đổi tỷ lệ của tỉ số tín hiệu trên nhiễu của ảnh qua xử lý. So với bộ lọc Median, bộ lọc khuếch tán tuyến tính và khuếch tán phi tuyến có chỉ số PSNR lớn hơn nghĩa là chất lƣợng ảnh tốt hơn. Các kết quả PSNR của khuếch tán phi tuyến đạt gần đến giá trị 40. Về mặt lý thuyết (xem mục 1.5.3) khi giá trị này đạt đến 40 có nghĩa là khôi phục ảnh nhiễu đạt đến tƣơng đƣơng ảnh gốc khi chƣa có nhiễu. Bảng 3.1 So sánh hiệu quả lọc của một số phương pháp. Ảnh Lọc Median Khuếch tán
tuyến tính Khuếch tán
phi tuyến 30.40 32.39 35.93 35.28 35.67 37.21 36.69 39.36 39.87 Kết quả thực nghiệm làm trơn nhiễu trên biên ảnh của một số mô hình Các mô hình khuếch tán trong thực nghiệm khử nhiễu, tăng cƣờng biên ảnh có thuộc tính chung là khi dòng khuếch tán mức xám của các điểm ảnh suy giảm nhanh tạo ra sự tăng cƣờng biên và làm trơn từng vùng ảnh cục bộ. Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Biên ảnh đƣợc duy trì ổn định trong một khoảng thời gian dài, sau quá trình 58 tăng cƣờng độ tƣơng phản, tốc độ khuếch tán suy giảm rất chậm cho tới khi triệt tiêu khuếch tán ngƣợc. Khi đó, ảnh hội tụ một cách nhanh chóng và cho kết quả là ảnh không đổi. Kết quả lọc median: Lọc median chỉ thực sự cho kết quả tốt khi lọc ảnh với nhiễu xuất hiện làm cho pixel ảnh có cƣờng độ thay đổi mạnh nằm ngoài các giá trị pixel khác Trong lọc median thì mỗi pixel đơn không có tính chất đặc trƣng thì sẽ không ảnh hƣởng đến mức giữa giá trị tín hiệu. Giá trị giữa chính xác sẽ là giá trị của một trong các pixels lân cận, lọc median sẽ không tạo ra pixel mới có giá trị không chân thật khi bộ lọc tăng mức độ lọc. Vì lý do này mà lọc median thì tốt hơn trong việc đảm bảo mức sắc nét của hình ảnh. Một trong các vấn đề chủ yếu với bộ lọc median là chi phí thiết kế đắt tiền và tính toán phức tạp. Để thực thi lọc thì phƣơng pháp median cần phải xắp xếp tất cả các giá trị ảnh lân cận thành trật tự số học và nhƣ thế việc xử Kết quả sử dụng các PDE trong xử lý ảnh lý rất chậm. Đây là phƣơng pháp hiện nay đang đƣợc phát triển vì nó là một phƣơng pháp xử lý ảnh có nhiều ƣu điểm. Ngƣời ta có thể thay đổi hệ số khuếch tán của phƣơng trình PDE khuếch tán để thu đƣợc hiệu quả xử lý mong muốn. Khi hệ số khuếch tán là hằng số theo mọi hƣớng chúng ta có quá trình khuếch tán đẳng hƣớng tuyến tính. Khi giá trị hệ số khuếch tán thay đổi theo đặc tính của ảnh ở các hƣớng nhƣ nhau chúng ta có quá trình khuếch tán phi tuyến đẳng hƣớng (isotropic). Khi giá trị hệ số khuếch tán thay đổi theo đặc tính của ảnh ở các hƣớng nhƣ nhau chúng ta có quá trình khuếch tán phi tuyến không đẳng hƣớng (anisotropic). Khi hệ số khuếch tán là số phức chúng ta có quá trình khuếch tán phức. Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Khi khuếch tán phức tồn tại một quá trình ổn định trên phạm vi rộng của các 59 định hƣớng góc của hệ số khuếch tán phức. Khuếch tán phức là một phƣơng pháp hiệu quả cho việc tăng cƣờng các ảnh có nhiều nhiễu. Khuếch tán phức cho phép vừa giảm nhiễu vừa tìm biên. Các chi tiết mỏng mảnh của biên đã đƣợc bảo toàn trong quá trình giảm nhiễu và tìm biên đƣợc kết hợp đồng thời. Đánh giá chất lƣợng ảnh Thông qua so sánh chỉ tiêu đo lƣờng chất lƣợng PSNR chúng ta đã đánh giá đƣợc hiệu quả lọc của một số phƣơng pháp khác nhau khi thực hiện thực nghiệm. Nhƣ đã nói ở trên các kết quả theo bảng 3.1 chỉ ra rằng lọc bằng khuếch tán cho kết quả tốt hơn các phƣơng pháp truyền thống. Luận văn đã tập trung tìm hiểu những kiến thức lý thuyết liên quan tới phƣơng trình khuếch tán phi tuyến, ứng dụng phƣơng trình khuếch tán trong lọc nhiễu ảnh và đƣa ra hƣớng xây dựng các ứng dụng giảm nhiễu kết hợp tìm biên các ảnh trong thực tiễn nhƣ xử lý ảnh rada, ảnh y học là các dạng có tỷ số nhiễu Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ trên tín hiệu cao. 60 KẾT LUẬN Trong quá trình nghiên cứu các tài liệu tham khảo và thực hiện dƣới sự định hƣớng của thầy hƣớng dẫn luận văn đã đạt đƣợc một số kết quả nhƣ sau: - Tìm hiểu đƣợc một cách tổng quan các vấn để về xử lý ảnh, hệ thống hoá đƣợc các quá trình khuếch tán: Từ các phƣơng pháp khuếch tán tuyến tính, phi tuyến đẳng hƣớng, phi tuyến không đẳng hƣớng đến khuếch tán phức trong xử lý ảnh và ứng dụng của chúng ứng dụng trong xử lý ảnh. - Bên cạnh việc nghiên cứu về lý thuyết để đƣợc hiểu bản chất của từng phƣơng pháp, tác giả đã cài đặt các phƣơng pháp giảm nhiễu và tìm biên trên MATLAB, thực hiện thực nghiệm xử lý một số file ảnh trong một số trƣờng hợp bằng bộ lọc median và bằng khuếch tán (tuyến tính, phi tuyến thực và phức). Việc so sánh hiệu quả của các phƣơng pháp với nhau thông qua chỉ tiêu đo lƣờng chất lƣợng PSNR. Qua quá trình nghiên cứu tôi cũng tự tích lũy thêm cho mình các kiến thức về toán học, về kỹ thuật lập trình, ... và quan trọng là rèn luyện kỹ năng để thực hiện nghiên cứu khoa học. Tuy mới chỉ là bƣớc đầu, nhƣng những kết quả này sẽ giúp ích cho tôi trong những nghiên cứu sau này để thu đƣợc kết Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ quả tốt hơn. 61 TÀI LIỆU THAM KHẢO Tiếng Việt: [1]. Lƣơng Mạnh Bá, Nguyễn Thanh Thủy, Nhập môn xử lý ảnh số, NXB Khoa học và kỹ thuật, 2002. [2]. Nguyễn Kim Sách, Xử lý ảnh và video số, NXB Khoa học kỹ thuật, Hà Tiếng Anh: Nội, 1997. [3]. P.Perona and J.Malik, “Scale-Space and Edge Detection Using Anisotropic Diffusion”, IEEE Transaction on Pattern Analysis and Machine Intelligence, Vol. 12, No. 7, July 1990. [4]. J. Weickert, “Theoretical foundations of anisotropic diffusion in image processing”, Computing, Suppl. 11, pg. 231-236, 1996. [5]. Joachim Weickert, “Anisotropic Diffusion in Image Processing”, B.G. Teubner Stuttgart, 1998. [6]. Guy Gilboa, Nir Sochen, Yehoshua Y. Zeevi (2001), "Complex Diffusion Processes for Image Filtering," Scale-Space 2001, LNCS 2106, Springer- Verlag, pp. 299-307. [7]. Guy Gilboa, Nir Sochen, and Yehoshua Y. Zeevi (2004), ”Image Enhancement and Denoising by Complex Diffusion Processes", IEEE Transactions on Pattern Analysis and Machine Inlelligence, Vol. 26, No. 8, pp. 1020-1036. [8]. Selim Esedoglu–An Analysis the Perona-Malik Scheme, “Communications on Pure NAD Applied Mathematics”, John Wiley & Son, Inc., Vol. LIV, 0001-0046 (2001). [9]. V. Musoko and A. Proch´azka. “Non-Linear Median Filtering of
Images”, 10th Scientific Conference MATLAB2002, Biomedical
Humusoft, 2002. [10]. MacQueen, J. B., "Some Methods for classification and Analysis of Multivariate Observations", Proceedings of 5th Berkeley Symposium on Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Math. 62 [11]. Xue Wei, Yuan Pei-xin, Han Qing-da, Chen Chang-hai, Research on
an Automatic Counting Method for Steel Bars' Image, Electrical and
Control Engineering (ICECE), 2010 International Conference on, pg.
1644 – 1647, 2012. [12]. W. K. Pratt, Digital Image Processing, 2nd ed. New York:Wiley, 1991.
[13]. M. A. Schulze and J. A. Pearce, "Some properties of the two-
dimensional pseudomedian filter," in Nonlinear Image Processing III.,
Proc SPIE, vol. 1451, E. R. Dougherty, J.Astola, and C. G. Boncelet, Jr.,
Eds., pp. 48-57, 1991. [14]. M. A. Schulze, Mathematical Properties of thePseudomedian Filter, Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ M.S. thesis, University of Texas at Austin, 1990. 63 PHỤ LỤC
MỘT SỐ MÃ NGUỒN CHƢƠNG TRÌNH Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 64 Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 65 Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 66 Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 67 Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 68 Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ 69 Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/Hình 2.5 Khuếch tán ảnh y học: ảnh gốc
Cột ảnh trái: Từ trên xuống dưới: khuếch tán
tuyến tính.
Cột ảnh giữa: Khuếch tán phi tuyến đẳng
hướng
Cột ảnh phải: khuếch tán phi tuyến không
đẳng hướng.
Hình 2.4 Lọc khuếch tán phục hồi
các thuộc tính của ảnh. (a) trên trái:
ảnh nhiễu. (b) ảnh khuếch tán. tuyến
tính. (c) khuếch tán phi tuyến đẳng
hướng (d) khuếch tán phi tuyến không
đẳng hướng.
Hình 2.6 Làm trơn ảnh nhiễu có bảo toàn biên dùng khuếch tán
không đẳng hướng sau 10, 20, 30, 40 và 50 lần lặp.
Hình 2.7 Phương pháp khuếch tán của Perona-Malik [3]
a)
b)
Hình 2.8 Thực hiện khuếch tán phức tuyến tính trên một ảnh kích thước 256x216
thành phần thực làm mờ ảnh, thành phần ảo thực hiện tìm biên. a): Ảnh gốc, b) Quá
trình với thành phần thực làm mờ ảnh, c) Quá trình với thành phần phức tìm biên ảnh
Hình 2.9 a) biên kiểu dốc b) biên kiểu bước
Hình 2.10 Quan hệ giữa biên dốc và biên bước và các đạo hàm
Hình 2.11 Khuếch tán phức của ảnh người chụp ảnh với
nhỏ (
= /30).
Phía trên là các giá trị thực. Phía dưới là giá trị ảo. Từ trái qua phải là các ảnh
nguyên bản và ảnh biến đổi sau 0.25, 2.5 và 25 giây.
lớn ( = 14 /30). Phía trên là
Hình 2.12 Khuếch tán phức của ảnh cameraman với
các giá trị thực, phía dưới là các giá trị ảo. Mỗi một frame ảnh từ trái qua phải là
ảnh nguyên bản và các các ảnh sau mỗi khoảng thời gian: 0.25, 2.5, 25.
3.1 Các kết quả cài đặt
Hình 3.1 Các kết quả phục hồi ảnh bằng một số bộ lọc khác nhau: (a) Ảnh "Lena"
có nhiễu; (b) Lọc bằng bộ lọc median; (c) bộ lọc song phương (bilateral filter);
(d) Bộ lọc khuếch tán phi tuyến đẳng hướng của Perona-Malik; (e)
Dùng khuếch tán phi tuyến không đẳng hướng; (f) khuếch tán phức.
Hình 3.2 Từ trên xuống dưới, từ trái qua phải: Ảnh nhà C5 kích thước 290x270
ảnh màu gốc, ảnh xám gốc, ảnh có nhiễu, ảnh đã lọc nhiễu bằng khuếch tán.
Hình 3.3 Ảnh gốc Đền Kiếp Bạc
Hình 3.4 Ảnh gốc Đền Kiếp Bạc có nhiễu
Hình 3.5 Ảnh đền Kiếp Bạc đã được khử nhiễu
Hình 3.7 Ảnh gốc (gray) có nhiễu
Hình 3.8 Ảnh đã được khử nhiễu bằng khuếch tán
Hình 3.9 Ảnh kết quả thực hiện tìm biên trên ảnh được khuếch tán
PSNR
3.3 Nhận xét, đánh giá
1. Thực hiện làm trơn ảnh:
% Chuyển ảnh màu sang ảnh xám:
clear all
close all
clc
% Read the RGB image and convert to Grayscale
%img=rgb2gray(imread('Pantheon.png'));
%img=rgb2gray(imread('den_kiep_bac.jpg'));
img=rgb2gray(imread('D:\Google Driver\Luan van
Nhieu\Image\den_kiep_bac.jpg'));
% Perform Anisotropic Diffusion to smoothen the image such that
% unnecessary details are suppressed and the edges are preserved
diffusedImg=uint8(anisodiff2D(img,30,1/5,30,1));
% Display the images
subplot(1,2,1),imshow(img);
subplot(1,2,2),imshow(diffusedImg);
% Perform Canny edge detection on diffused image
edges=edge(diffusedImg,'canny',0.1);
% Display the edge map
figure, imshow(edges);
% Thực hiện khuếch tán không đẳng hƣớng
function diff_im = anisodiff2D(im, num_iter, delta_t, kappa, option)
%ANISODIFF2D Conventional anisotropic diffusion
% DIFF_IM = ANISODIFF2D(IM, NUM_ITER, DELTA_T, KAPPA, OPTION)
perfoms
% conventional anisotropic diffusion (Perona & Malik) upon a gray scale
% image. A 2D network structure of 8 neighboring nodes is considered for
% diffusion conduction.
%
% ARGUMENT DESCRIPTION:
% IM - gray scale image (MxN).
% NUM_ITER - number of iterations.
% DELTA_T - integration constant (0 <= delta_t <= 1/7).
% Usually, due to numerical stability this
% parameter is set to its maximum value.
% KAPPA - gradient modulus threshold that controls the conduction.
% OPTION - conduction coefficient functions proposed by Perona &
Malik:
% 1 - c(x,y,t) = exp(-(nablaI/kappa).^2),
% privileges high-contrast edges over low-contrast ones.
% 2 - c(x,y,t) = 1./(1 + (nablaI/kappa).^2),
% privileges wide regions over smaller ones.
%
% OUTPUT DESCRIPTION:
% DIFF_IM - (diffused) image with the largest scale-space parameter.
%
% Example
% -------------
% s = phantom(512) + randn(512);
% num_iter = 15;
% delta_t = 1/7;
% kappa = 30;
% option = 2;
% ad = anisodiff2D(s,num_iter,delta_t,kappa,option);
% figure, subplot 121, imshow(s,[]), subplot 122, imshow(ad,[])
%
% See also anisodiff1D, anisodiff3D.
% References:
% P. Perona and J. Malik.
% Scale-Space and Edge Detection Using Anisotropic Diffusion.
% IEEE Transactions on Pattern Analysis and Machine Intelligence,
% 12(7):629-639, July 1990.
%
% G. Grieg, O. Kubler, R. Kikinis, and F. A. Jolesz.
% Nonlinear Anisotropic Filtering of MRI Data.
% IEEE Transactions on Medical Imaging,
% 11(2):221-232, June 1992.
%
% MATLAB implementation based on Peter Kovesi's anisodiff(.):
% P. D. Kovesi. MATLAB and Octave Functions for Computer Vision and Image
Processing.
% School of Computer Science & Software Engineering,
% The University of Western Australia. Available from:
%
% http://www.civil.ist.utl.pt/~danlopes
%
% May 2007 original version.
% Convert input image to double.
im = double(im);
% PDE (partial differential equation) initial condition.
diff_im = im;
% Center pixel distances.
dx = 1;
dy = 1;
dd = sqrt(2);
% 2D convolution masks - finite differences.
hN = [0 1 0; 0 -1 0; 0 0 0];
hS = [0 0 0; 0 -1 0; 0 1 0];
hE = [0 0 0; 0 -1 1; 0 0 0];
hW = [0 0 0; 1 -1 0; 0 0 0];
hNE = [0 0 1; 0 -1 0; 0 0 0];
hSE = [0 0 0; 0 -1 0; 0 0 1];
hSW = [0 0 0; 0 -1 0; 1 0 0];
hNW = [1 0 0; 0 -1 0; 0 0 0];
% Anisotropic diffusion.
for t = 1:num_iter
% Finite differences. [imfilter(.,.,'conv') can be replaced by conv2(.,.,'same')]
nablaN = imfilter(diff_im,hN,'conv');
nablaS = imfilter(diff_im,hS,'conv');
nablaW = imfilter(diff_im,hW,'conv');
nablaE = imfilter(diff_im,hE,'conv');
nablaNE = imfilter(diff_im,hNE,'conv');
nablaSE = imfilter(diff_im,hSE,'conv');
nablaSW = imfilter(diff_im,hSW,'conv');
nablaNW = imfilter(diff_im,hNW,'conv');
% Diffusion function.
if option == 1
cN = exp(-(nablaN/kappa).^2);
cS = exp(-(nablaS/kappa).^2);
cW = exp(-(nablaW/kappa).^2);
cE = exp(-(nablaE/kappa).^2);
cNE = exp(-(nablaNE/kappa).^2);
cSE = exp(-(nablaSE/kappa).^2);
cSW = exp(-(nablaSW/kappa).^2);
cNW = exp(-(nablaNW/kappa).^2);
elseif option == 2
cN = 1./(1 + (nablaN/kappa).^2);
cS = 1./(1 + (nablaS/kappa).^2);
cW = 1./(1 + (nablaW/kappa).^2);
cE = 1./(1 + (nablaE/kappa).^2);
cNE = 1./(1 + (nablaNE/kappa).^2);
cSE = 1./(1 + (nablaSE/kappa).^2);
cSW = 1./(1 + (nablaSW/kappa).^2);
cNW = 1./(1 + (nablaNW/kappa).^2);
end
% Discrete PDE solution.
diff_im = diff_im + ...
delta_t*(...
(1/(dy^2))*cN.*nablaN + (1/(dy^2))*cS.*nablaS + ...
(1/(dx^2))*cW.*nablaW + (1/(dx^2))*cE.*nablaE + ...
(1/(dd^2))*cNE.*nablaNE + (1/(dd^2))*cSE.*nablaSE + ...
(1/(dd^2))*cSW.*nablaSW + (1/(dd^2))*cNW.*nablaNW );
% Iteration warning.
fprintf('\rIteration %d\n',t);
end
2. Tính PSRN
%READ AN 2D IMAGE
%A=imread('image_noise.bmp');
%title('IMAGE WITH SALT AND PEPPER NOISE');
%figure,imshow(A);
%I = imread('cameraman.tif');
%InputImage=imread(„image_noise.bmpInput.jpg‟);
%InputImage=imread('image_noise.bmp');
%%%%%%%%%%%%%% Computation PSNR %%%%%%%%%%%%%%%
%A=imread('image_origin.bmp');
Lena)
%%%%%%%%%%% Dua nhieu vao anh C5 %%%%%%%%%%%%%%
A=imread('C5.bmp');
figure(1);
imshow(A);
C5Gray=rgb2gray(imread('C5.bmp'));
imwrite(C5Gray,'C5Graynoise.BMP','BMP');
figure(2);
imshow(C5Gray);
J = imnoise(C5Gray,'salt & pepper',0.05); (Đƣa nhiễu vào ảnh C5)
figure(3);
imshow(J);
%%%%%%%%%%%%% Dua nhieu vao anh LENA %%%%%%%%%%%%
A=imread('lena_goc.bmp');
figure(4);
imshow(A);
lenaGray=rgb2gray(imread('lena_goc.bmp'));
imwrite(lenaGray,'lena_Graynoise.BMP','BMP');
figure(5);
imshow(lenaGray);
J = imnoise(lenaGray,'salt & pepper',0.05); (Đƣa nhiễu vào ảnh
figure(6);
imshow(J);
%%%%%%%%%% Processing photo "Kiep Bac" %%%%%%%%%%%%
InputImage=rgb2gray(imread('kiep_bac_noise.bmp'));
Y=medfilt2(InputImage,[5 5]);
YDifferen=anisotropic_diffusion(InputImage, 2, 1);
figure(6);
imshow(Y);
imwrite(Y,'newkiep_bacMedialFilter.BMP','BMP');
figure(7);
imshow(YDifferen);
imwrite(YDifferen,'newkiep_bacDifferenFilter.BMP','BMP');
%%%%%%%%%%% Tinh PSRN cua loc Median %%%%%%%%%%%%
ReconstructedImage=imread('newkiep_bacMedialFilter.BMP');
n=size(InputImage);
M=n(1);
N=n(2);
MSE = sum(sum((InputImage-ReconstructedImage).^2))/(M*N);
gtPSNR = 10*log10(256*256/MSE);
fprintf('\nMSE Kiep Bac Median: %7.2f ', MSE);
fprintf('\nPSNR Kiep Bac Median: %9.7f dB', gtPSNR);
%%%%%%%%%% Tinh PSRN cua loc khuechs tan Differen %%%%%%
ReconstructedImage=imread('newkiep_bacDifferenFilter.BMP');
n=size(InputImage);
M=n(1);
N=n(2);
MSE = sum(sum((InputImage-ReconstructedImage).^2))/(M*N);
gtPSNR = 10*log10(256*256/MSE);
fprintf('\nMSE Kiep Bac Differen: %7.2f ', MSE);
fprintf('\nPSNR Kiep Bac Differen: %9.7f dB', gtPSNR);
fprintf('\n');
%%%%%%%%%% Processing photo "C5" %%%%%%%%%%%%%
InputImage=imread('C5Graynoise.BMP');
Y1=medfilt2(InputImage,[5 5]);
YDifferen=anisotropic_diffusion(InputImage, 2, 1);
figure(8);
imshow(Y1);
imwrite(Y1,'newC5GrayMedialFilter.BMP','BMP');
figure(9);
imshow(YDifferen);
imwrite(YDifferen,'newC5GrayDifferenFilter.BMP','BMP');
%%%%%%%%%%% Tinh PSRN cua loc Median %%%%%%%%%%%%
ReconstructedImage=imread('newC5GrayMedialFilter.BMP');
n=size(InputImage);
M=n(1);
N=n(2);
MSE = sum(sum((InputImage-ReconstructedImage).^2))/(M*N);
gtPSNR = 10*log10(256*256/MSE);
fprintf('\nMSE C5 Median: %7.2f ', MSE);
fprintf('\nPSNR C5 Median: %9.7f dB', gtPSNR);
%%%%%%%%%%% Tinh PSRN cua loc Differen %%%%%%%%%%%%%
ReconstructedImage=imread('newC5GrayDifferenFilter.BMP');
n=size(InputImage);
M=n(1);
N=n(2);
MSE = sum(sum((InputImage-ReconstructedImage).^2))/(M*N);
gtPSNR = 10*log10(256*256/MSE);
fprintf('\nMSE C5 Differen: %7.2f ', MSE);
fprintf('\nPSNR C5 Differen: %9.7f dB', gtPSNR);
fprintf('\n');
%%%%%%%%%% Processing photo "Lena" %%%%%%%%%%%%%
InputImage=imread('lena_Graynoise.BMP');
Y1=medfilt2(InputImage,[5 5]);
YDifferen=anisotropic_diffusion(InputImage, 2, 1);
%figure(5);
%imshow(Y1);
imwrite(Y1,'newLenaGrayMedialFilter.BMP','BMP');
imwrite(YDifferen,'newLenaGrayDifferenFilter.BMP','BMP');
ReconstructedImage=imread('newLenaGrayMedialFilter.BMP');
n=size(InputImage);
M=n(1);
N=n(2);
MSE = sum(sum((InputImage-ReconstructedImage).^2))/(M*N);
gtPSNR = 10*log10(256*256/MSE);
fprintf('\nMSE Lena Median: %7.2f ', MSE);
fprintf('\nPSNR Lena Median: %9.7f dB', gtPSNR);
ReconstructedImage=imread('newLenaGrayDifferenFilter.BMP');
n=size(InputImage);
M=n(1);
N=n(2);
MSE = sum(sum((InputImage-ReconstructedImage).^2))/(M*N);
gtPSNR = 10*log10(256*256/MSE);
fprintf('\nMSE Lena Differen: %7.2f ', MSE);
fprintf('\nPSNR Lena Differen: %9.7f dB', gtPSNR);