So sánh một số phương pháp phát hiện biên

Tóm tắt So sánh một số phương pháp phát hiện biên: ... Đạo hàm bậc nhất theo hướng ngang và dọc được tính theo (4) (4)x y f G xf fG y ∂⎡ ⎤⎢ ⎥⎡ ⎤ ∂⎢ ⎥Δ = =⎢ ⎥ ∂⎢ ⎥⎣ ⎦ ⎢ ⎥∂⎣ ⎦ Biên độ của gradient vector hay độ lớn tổng cộng của giá trị đạo hàm nằm tại biên là kết hợp của cả hai giá trị này theo công thức (5) 2 2 (5)x yf f G GΔ = Δ = + ... đường biên giả cũng xuất hiện càng nhiều). Ngược lại nếu ta đặt mức ngưỡng càng cao, ta có thể bị mất những đường biên mờ hoặc các đường biên sẽ bị đứt đoạn. Phương pháp Canny có các ưu điểm sau: • Cực đại hóa tỷ số tín hiệu trên nhiễu làm cho việc phát hiện các biên thực càng chính x...được đánh giá thông qua các tiêu chí như sai số trung bình bình phương (MSE) và tỷ số tín hiệu/nhiễu (PSNR). a) Sai số trung bình bình phương MSE đánh giá mức độ sai khác giữa biên nhận được do tính toán và biên thực thông qua công thức: ( )21 2 1 1 1 ( , ) ( , ) M N i j MSE f i j...

pdf7 trang | Chia sẻ: havih72 | Lượt xem: 109 | Lượt tải: 0download
Nội dung tài liệu So sánh một số phương pháp phát hiện biên, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tạp chí Khoa học ĐHQGHN: Khoa học Tự nhiên và Công nghệ, Tập 31, Số 2 (2015) 1-7 
 1
So sánh một số phương pháp phát hiện biên 
Nguyễn Vĩnh An* 
Bộ Thông tin và Truyền thông, 18 Nguyễn Du, Hà Nội, Việt Nam 
Nhận ngày 18 tháng 7 năm 2014 
Chỉnh sửa ngày 20 tháng 8 năm 2014; Chấp nhận đăng ngày 28 tháng 5 năm 2015 
Tóm tắt: Phát hiện biên của ảnh là một trong những nhiệm vụ quan trọng trong xử lý ảnh. Nhận 
dạng ảnh dùng máy tính liên quan tới việc nhận dạng và phân loại các đối tượng trong bức ảnh do 
đó phát hiện biên là một công cụ quan trọng. Phát hiện biên sẽ làm giảm một cách đáng kể khối 
lượng dữ liệu cần xử lý và loại bỏ các thông tin không cần thiết trong khi vẫn đảm bảo các thuộc 
tính quan trọng về cấu trúc của ảnh. Có rất nhiều kỹ thuật phát hiện biên hiện đang được sử dụng, 
mỗi kỹ thuật này thường làm việc một cách có hiệu quả cao đối với một loại đường biên cụ thể. 
Trong bài báo này, tác giả tiến hành so sánh một số kỹ thuật phát hiện biên thông dụng thông qua 
các thuật toán được lập trình trên MATLAB. 
Từ khóa: Canny, Laplacian of Gaussian (LOG), Sobel, Prewitt, Robert. 
1. Giới thiệu chung* 
Phát hiện biên là một công cụ quan trọng 
trong xử lý ảnh số. Nó làm giảm một cách đáng 
kể khối lượng dữ liệu cần tính toán, chỉ giữ lại 
một số ít những thông tin cần thiết đồng thời 
vẫn bảo toàn được những cấu trúc quan trọng 
trong bức ảnh. Trong [1] phát hiện biên dùng 
mathematical morphology được so sánh với 
một số phương pháp phát hiện biên. Các tác giả 
trong [2] đã tiến hành so sánh một số phương 
pháp phát hiện biên áp dụng cho một số bức 
ảnh có nội dung khác nhau. Độ nhạy của các 
phương pháp phát hiện biên đối với tác động 
của nhiễu được so sánh trong [3]. Phát hiện 
biên bằng thông qua việc xử lý các pixels dùng 
các ma trận, đạo hàm riêng, convolution được 
_______ 
* ĐT.: 84- 913508067 
 Email: annv@pvu.edu.vn 
trình bày trong [4]. Trong bài này tác giả sẽ so 
sánh một số phương pháp phát hiện biên đang 
được sử dụng phổ biến hiện nay thông qua 
matlab toolbox và viết chương trình trên 
MATLAB 7.0 để tiến hành so sánh cả về định 
tính và định lượng. Bố cục của bài báo gồm các 
phần sau: Trong phần 2 sẽ liệt kê một số dạng 
đường biên cơ bản. Phần 3 trình bày cơ sở lý 
luận của một số phương pháp phát hiện biên 
thông dụng. Phần 4 sẽ so sánh hiệu quả của các 
phương pháp phát hiện biên này và cuối cùng là 
phần kết luận. 
2. Một số kiểu đường biên 
Đường biên là nơi mà các điểm ảnh lân cận 
nhau có cường độ thay đổi mạnh một cách đột 
ngột. Một số kiểu đường biên hay gặp trên thực 
tế được minh họa trên hình 1. 
N.V. An / Tạp chí Khoa học ĐHQGHN: Khoa học Tự nhiên và Công nghệ, Tập 31, Số 2 (2015) 1-7 
2 
Hình 1. Một số kiểu đường biên thông dụng 
(a) Biên dạng nhảy bậc; (b) Biên dốc; (c) Biên dạng xung vuông; (d) Biên dạng hình nón. 
3. Các phương pháp phát hiện biên 
Các phương pháp phát hiện biên truyền 
thống thường dựa trên kết quả của phép tích 
chập (convolution) giữa bức ảnh cần nghiên 
cứu ( , )f x y và một bộ lọc 2D (filter) 
( , )h x y thường được gọi là mặt nạ (mask). 
1 2 1 2 1 2( , )* ( , ) ( , ) ( , )h x y f x y h k k f x k y k dk dk
+∞ +∞
−∞ −∞
= − −∫ ∫     (1) 
Nếu h(x,y) và f(x,y) có dạng rời rạc thì công thức (1) sẽ được viết lại thành 
1 2
1 2 1 2 1 2 1 1 2 2( , )* ( , ) ( , ) ( , )
k k
h n n f n n h k k f n k n k
∞ ∞
=−∞ =−∞
= − −∑ ∑     (2) 
Trên thực tế người ta hay dùng 1 2( , )h n n là ma trận [3 3× ] như sau: 
( 1,1) (0,1) (1,1)
( 1,0) (0,0) (1,0)
( 1, 1) (0, 1) (1, 1)
h h h
h h h h
h h h
−⎛ ⎞⎜ ⎟= −⎜ ⎟⎜ ⎟− − − −⎝ ⎠
  (3) 
Cấu trúc và giá trị của các toán tử phát hiện 
biên sẽ xác định hướng đặc trưng mà toán tử 
nhạy cảm với biên. Có một số toán tử thích hợp 
cho các đường biên có hướng nằm ngang, một 
(a)) (b)
(d) (c) 
N.V. An / Tạp chí Khoa học ĐHQGHN: Khoa học Tự nhiên và Công nghệ, Tập 31, Số 2 (2015) 1-7 3
số toán tử lại thích hợp cho việc tìm kiếm biên 
dạng thẳng đứng hay theo hướng đường chéo. 
Có nhiều phương pháp phát hiện biên đang 
được áp dụng, tuy nhiên ta có thể phân thành 
hai nhóm cơ bản là phát hiện biên dùng 
Gradient và phương pháp Laplacian. Phương 
pháp phát hiện biên dùng Gradient (sử dụng các 
toán tử Roberts, Prewitt, Sobel, Canny) dựa vào 
tính giá trị cực đại và cực tiểu của đạo hàm bậc 
nhất của ảnh. Phương pháp Laplacian sẽ tìm 
kiếm những điểm có giá trị 0 khi lấy đạo hàm 
bậc hai của ảnh (Mars-Hildreth). 
3.1. Phương pháp Gradient 
Đạo hàm bậc nhất theo hướng ngang và dọc 
được tính theo (4) 
 (4)x
y
f
G xf fG
y
∂⎡ ⎤⎢ ⎥⎡ ⎤ ∂⎢ ⎥Δ = =⎢ ⎥ ∂⎢ ⎥⎣ ⎦ ⎢ ⎥∂⎣ ⎦
Biên độ của gradient vector hay độ lớn tổng 
cộng của giá trị đạo hàm nằm tại biên là kết hợp 
của cả hai giá trị này theo công thức (5) 
2 2 (5)x yf f G GΔ = Δ = + 
Hướng của gradient vector được xác định 
theo 
1angle of tan (6)y
x
G
G
− ⎛ ⎞∇ = ⎜ ⎟⎝ ⎠
f 
Hướng của biên sẽ vuông góc với hướng 
của gradient vector này. 
3.1.1. Toán tử Sobel 
Trên thực tế Sobel sử dụng hai mặt nạ có 
kích thước [3 x 3] trong đó một mặt nạ chỉ đơn 
giản là sự quay của mặt nạ kia đi một góc 900 
như ở hình 2. Các mặt nạ này được thiết kế để 
tím ra các đường biên theo chiều đứng và chiều 
ngang một cách tốt nhất. Khi thực hiện phép 
convolution giữa ảnh và các mặt nạ này ta nhận 
được các gradient theo chiều đứng và chiều 
ngang Gx, Gy. Toán tử Sobel có dạng như hình 2. 
Hình 2. Toán tử Sobel. 
3.1.2. Toán tử Prewitt 
Phương pháp Prewitt gần giống với Sobel. 
Đây là phương pháp lâu đời nhất, cổ điển nhất. 
Toán tử Prewitt được mô tả trên hình 3 
Hình 3.Toán tử Prewitt. 
3.1.3. Toán tử Robert 
Tương tự như Sobel, ta tính đường biên 
ngang và dọc một cách riêng rẽ dùng 2 mặt nạ 
như hình 4, sau đó tổng hợp lại để cho đường 
biên thực của ảnh. Tuy nhiên do mặt nạ của 
Robert khá nhỏ nên kết quả là bị ảnh hưởng khá 
nhiều của nhiễu. 
Hình 4. Toán tử Roberts. 
N.V. An / Tạp chí Khoa học ĐHQGHN: Khoa học Tự nhiên và Công nghệ, Tập 31, Số 2 (2015) 1-7 
4 
3.1.4. Phương pháp Canny 
Phương pháp này sử dụng hai mức ngưỡng 
cao và thấp. Ban đầu ta dùng mức ngưỡng cao 
để tìm điểm bắt đầu của biên, sau đó chúng ta 
xác định hướng phát triển của biên dựa vào các 
điểm ảnh liên tiếp có giá trị lớn hơn mức 
ngưỡng thấp. Ta chỉ loại bỏ các điểm có giá trị 
nhỏ hơn mức ngưỡng thấp. Các đường biên yếu 
sẽ được chọn nếu chúng được liên kết với các 
đường biên khỏe. 
Phương pháp Canny bao gồm các bước sau: 
Bước 1. Trước hết dùng bộ lọc Gaussian 
(3.4) để làm mịn ảnh. 
2
22'
2( ) (7)
x
xG x e σσ
⎛ ⎞−⎜ ⎟⎜ ⎟⎝ ⎠⎛ ⎞= −⎜ ⎟⎝ ⎠ 
Bước 2. Sau đó tính toán gradient (8) và (9) 
của đường biên của ảnh đã được làm mịn. 
[ ]
2 2
22
2, (8)
x y
x
jC x y e σσ
⎛ ⎞+−⎜ ⎟⎜ ⎟⎝ ⎠⎛ ⎞= −⎜ ⎟⎝ ⎠
[ ]
2 2
22
2, (9)
x y
y
iC x y e σσ
⎛ ⎞+−⎜ ⎟⎜ ⎟⎝ ⎠⎛ ⎞= −⎜ ⎟⎝ ⎠ 
Bước 3. Tiếp theo là loại bỏ những điểm 
không phải là cực đại. 
Bước 4. Bước cuối cùng là loại bỏ những 
giá trị nhỏ hơn mức ngưỡng. 
Phương pháp này hơn hẳn các phương pháp 
khác do ít bị tác động của nhiễu và cho khả 
năng phát hiện các biên yếu. Nhược điểm của 
phương pháp này là nếu chọn ngưỡng quá thấp 
sẽ tạo ra biên không đúng, ngược lại nếu chọn 
ngưỡng quá cao thì nhiều thông tin quan trọng 
của biên sẽ bị loại bỏ. Căn cứ vào mức ngưỡng 
đã xác định trước, ta sẽ quyết định những điểm 
thuộc biên thực hoặc không thuộc biên. Nếu 
mức ngưỡng càng thấp, số đường biên được 
phát hiện càng nhiều (nhưng kèm theo là nhiễu 
và số các đường biên giả cũng xuất hiện càng 
nhiều). Ngược lại nếu ta đặt mức ngưỡng càng 
cao, ta có thể bị mất những đường biên mờ 
hoặc các đường biên sẽ bị đứt đoạn. 
Phương pháp Canny có các ưu điểm sau: 
• Cực đại hóa tỷ số tín hiệu trên nhiễu làm 
cho việc phát hiện các biên thực càng chính 
xác. 
• Đạt được độ chính xác cao của đường 
biên thực. 
• Làm giảm đến mức tối thiểu số các điểm 
nằm trên đường biên nhằm tạo ra các đường 
biên mỏng, rõ. 
3.2. Laplacian of Gaussian (LOG) 
Dùng phương pháp gradient sẽ cho kết quả 
là ảnh nhận được có cấu trúc không rõ nét do 
tạo nên những đường biên dày, không sắc nét. 
Để nhận được các đường biên mỏng và rõ nét, 
ta phải tiến hành các bước xử lý tiếp theo như 
loại bỏ những điểm không phải là cực trị (non-
maximum suppression) đồng thời áp dụng kỹ 
thuật liên kết biên (edge linking). Ngoài ra ta 
còn gặp phải vấn đề là làm thế nào để xác định 
được mức ngướng một cách chính xác. Việc 
chọn đúng giá trị ngưỡng phụ thuộc rất nhiều 
vào nội dung của từng bức ảnh. Nếu ta tăng gấp 
đôi kích thước của một bức ảnh mà không thay 
đổi giá trị cường độ của các điểm ảnh, ta sẽ 
nhận được gradients bị suy giảm đi một nửa. 
Mặt khác kích thước của mặt nạ (masks) cũng 
ảnh hưởng nhiều đến giá trị của gradients trong 
ảnh. 
Phương pháp gradient chỉ thích hợp cho các 
vùng ảnh độ tương phản thay đổi có tính nhảy 
bậc, điều này gây khó khăn cho phát hiện các 
đường thẳng. Để khắc phục nhược điểm này ta 
thường dùng đạo hàm bậc hai. Phương pháp 
Laplacian cho phép xác định đường biên dựa 
N.V. An / Tạp chí Khoa học ĐHQGHN: Khoa học Tự nhiên và Công nghệ, Tập 31, Số 2 (2015) 1-7 5
vào giá trị 0 của đạo hàm bậc hai của ảnh. 
Laplacian của một ảnh tại điểm I(x,y) được tính 
theo (10): 
2 2
2 2( , )
I IL x y
x y
∂ ∂= +∂ ∂ (10) 
Laplacian được kết hợp với bộ lọc làm mịn 
ảnh để tìm biên [5]. Xét công thức sau: 
2
22( )
r
h r e σ
−= − (11) 
Ở đây 2 2 2r x y= + và ơ là độ lệch chuẩn 
(standard deviation). Nếu thực hiện phép tích 
chập của hàm này với ảnh cần tìm biên, kết quả 
là ảnh sẽ bị mờ đi, mức độ mờ phụ thuộc vào 
giá trị của ơ. Laplacian của h tức đạo hàm bậc 
hai của h theo r là: 
2
22
2 2
2
4( )
rrh r e σσσ
−⎡ ⎤−∇ = − ⎢ ⎥⎣ ⎦
 (12) 
Hàm này thường được gọi là Laplacian of a 
Gaussian (LoG) do (11) có dạng Gaussian. 
Trong phương pháp này, bộ lọc Gaussian 
được kết hợp với Laplacian cho phép hiển thị 
những vùng ảnh có cường độ thay đổi nhanh do 
đó làm tăng hiệu quả phát hiện biên. Nó cho 
phép làm việc với một diện tích rộng hơn xung 
quanh điểm ảnh đang được nghiên cứu nhằm 
phát hiện chính xác hơn vị trí của đường biên. 
Nhược điểm của phương pháp này là không xác 
định được hướng của biên do sử dụng hai bộ 
lọc Laplacian quá khác nhau có dạng như trên 
hình 5. 
Hình 5. Toán tử Laplacian. 
4. Kết quả thực nghiệm 
Ta tiến hành so sánh hiệu quả phát hiện 
biên khi áp dụng các toán tử nêu trên dùng 
MATLAB. Chất lượng phát hiện biên được 
đánh giá thông qua các tiêu chí như sai số trung 
bình bình phương (MSE) và tỷ số tín hiệu/nhiễu 
(PSNR). 
a) Sai số trung bình bình phương MSE đánh 
giá mức độ sai khác giữa biên nhận được do 
tính toán và biên thực thông qua công thức: 
( )21 2
1 1
1 ( , ) ( , )
M N
i j
MSE f i j f i j
MN = =
= −∑∑ và 
RMSE MSE= (13) 
Với 1( , )f i j và 2 ( , )f i j là các điểm ảnh trên 
biên theo tính toán và trên biên thực. 
b) Tỷ số tín hiệu/nhiễu được tính theo công 
thức 
 ( )210log 255 /PSNR MSE= (14) 
a. Kết quả tính toán đối với 2 bức ảnh 
“moon.jpg” và “Lena.jpg” được cho trong bảng 
1 và bảng 2. 
Bảng 1. So sánh MSE và PSNR của ảnh mặt trăng 
(moon.jpg) 
STT Phương pháp MSE PSNR 
1 Sobel 9.9033e+003 8.1730 
2 Prewitt 9.9035e+003 8.1729 
3 Canny 9.8804e+003 8.1830 
4 LoG 9.8881e+003 8.1797 
Bảng 2. So sánh MSE và PSNR của ảnh cô gái Lena 
(Lena.jpg) 
STT Phương pháp MSE PSNR 
1 Sobel 1.1028e+004 7.7058 
2 Prewitt 1.1028e+004 7.7058 
3 Canny 1.1017e+004 7.7103 
4 LoG 1.1022e+004 7.7081 
N.V. An / Tạp chí Khoa học ĐHQGHN: Khoa học Tự nhiên và Công nghệ, Tập 31, Số 2 (2015) 1-7 
6 
Qua số liệu ở bảng 1 và bảng 2 thấy phương 
pháp Canny cho kết quả MSE có giá trị nhỏ 
nhất và PSNR cho giá trị lớn nhất so với các 
phương pháp khác. Hình 5 và hình 6 cho ta kết 
quả khi áp dụng các toán tử nêu trên cho hai 
bức ảnh có nội dung khác nhau. Ta thấy rằng 
phương pháp Canny cho phép hiện đầy đủ hơn 
các biên có thể có trên các bức ảnh. Phương 
pháp LoG cho ta thấy rõ hơn các đường thảng 
thuộc biên, đồng thời chỉ số MSE và PSNR 
cũng đạt được tương đối tốt. 
Original Prewitt Sobel 
Canny LoG 
Hình 5. Kết quả phát hiện biên sử dụng các toán tử Prewitt, Sobel, Canny và LoG cho ảnh “moon.jpg” 
 Original Prewitt Sobel 
 Canny LoG 
Hình 6. Kết quả phát hiện biên sử dụng các toán tử Prewitt, Sobel, Canny và LoG cho ảnh “Lena.jpg”.
N.V. An / Tạp chí Khoa học ĐHQGHN: Khoa học Tự nhiên và Công nghệ, Tập 31, Số 2 (2015) 1-7 7
5. Kết luận 
Bài báo đã phân tích và so sánh một số 
phương pháp phát hiện biên dùng Gradients và 
phương pháp Laplacian. Mỗi phương pháp đều 
có những ưu điểm nhất định. Tuy nhiên, tùy 
thuộc vào tính chất phức tạp của nội dung trong 
từng bức ảnh, các phương pháp đều có những 
nhược điểm khó khắc phục. Phương pháp 
Canny cho độ méo MSE nhỏ nhất do sử dụng 
bộ lọc Gaussian và tỷ số PSNR tốt nhất do sử 
dụng nhiều mức ngưỡng. Dùng Laplacian cho 
kết quả khá tốt trong trường hợp các đường 
biên thẳng. Tuy nhiên chưa có phương pháp 
nào thỏa mãn tốt được các tiêu chí về độ chống 
nhiễu, phát hiện chính xác vị trí các đường biên 
thực, không tạo ra những ảnh quá phức tạp mà 
vẫn thể hiện đầy đủ các đặc điểm quan trọng 
của ảnh. Do đó việc tìm kiếm một phương pháp 
mới phải được tiếp tục nghiên cứu. 
Tài liệu tham khảo 
[1] Beant Kaur, Anil Garg, Comparative study of 
different edge detection techniques, International 
journal of Engineering Science and Technology 
(IJEST), vol. 3, No. 3 March 2011. 
[2] Raman Maini and Dr. Himanshu Aggarwai, Study 
and Comparison of various Image Edge Detection 
Techniques, International journal of Image 
Processing, Volume 3, Issue 1. 
[3] Bindu Bansal, Jasbir Singh Saini, Vipan Bansal 
and Gurjit Kaur, “Comparison of various edge 
detection techniques”, Journal of Information and 
Operations Management, Vol 3, Issue 1, 2012, pp. 
103-106. 
[4] John Schmeelk, AC2011-279: “Edge Detectors in 
Image Processing”, American Society for 
Engineering Education Annual Conference and 
Exposition, 26-29 June 2011, Vancouver, BC, 
Canada, 
[5] Rafael C. Gonzalez and Richard E. Woods, 
“Digital Image Processing”, 2nd edition, Prentice-
Hall,Inc, 2002. 
Comparison of Edge Detection Techniques 
Nguyễn Vĩnh An 
Ministry of Information and Communications, 18 Nguyễn Du, Hanoi, Vietnam 
Abstract: Image Edge detection is very important in image processing since computer vision 
involves the identification and classification of objects in an image. Image Edge detection reduces 
significantly the amount of data and filters out the useless information while preserving all important 
structural properties of an image. There are many edge detection techniques available, each of them is 
designed to be sensitive to a certain type of edges. This paper compares several popular techniques for 
edge detection in image processing using MATLAB. 
Keywords: Canny, Laplacian of Gaussian (LOG), Sobel, Prewitt, Robert. 

File đính kèm:

  • pdfso_sanh_mot_so_phuong_phap_phat_hien_bien.pdf