4.1 Giới thiệu biên ảnh và kỹ thuật phát hiện biên. 4.2 Phương pháp phát hiện biên trực tiếp. 4.3 Phương pháp phát hiện biên gián tiếp. 4.4 Các phương pháp khác.
Trang 1Chương 4: Các Phương Pháp Phát Hiện Biên
Chương 4 CÁC PHƯƠNG PHÁP PHÁT HIỆN BIÊN
4.1 Giới thiệu biên ảnh và kỹ thuật phát hiện biên
Hình 4.1 Các ñồ thị biểu diễn biên
Ý nghĩa của ñường biên trong xử lý: ý nghĩa ñầu tiên, ñườ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 Thứ hai, người ta sử dụng biên làm phân cách các vùng xám (màu) cách biệt Ngược lại, người ta cũng sử dụng các vùng ảnh ñể tìm ñường phân cách
Trang 2Chương 4: Các Phương Pháp Phát Hiện Biên
Tầm quan trọng của biên: ñể thấy rõ tầm quan trọng của biên, xét ví dụ sau: khi người họa sỹ muốn vẽ một danh nhân, họa sỹ chỉ cần vẽ vài ñường phát họa mà không cần vẽ một cách ñầy ñủ
o Mô hình biểu diễn ñường biên theo toán học: ñiểm ảnh có sự biến ñổi mức xám u(x) một cách ñột ngột theo hình dưới
Hình 4.2 Các ñồ thị biểu diễn biên theo toán học
o Phát hiện biên: là một phần trong phân tích ảnh, sau khi ñã lọc ảnh (hay tiền
xử lý ảnh) Các bước của phân tích ảnh có thể mô tả theo sơ ñồ dưới ñây Việc dò và tìm biên ảnh là một trong các ñặc trưng thuộc khối trích chọn ñặc trưng
Hình 4.3 Quy trình phát hiện biên 4.1.2 Phân loại các kỹ thuật phát hiện biên
a Phương pháp phát hiện biên trực tiếp
Tương tự như các phép toán làm trơn ảnh, khả năng lấy ñạo hàm theo tọa
ñộ các ñiểm là hết sức quan trọng Bài toán cơ bản ở ñây là nếu chiếu theo ñúng ñịnh nghĩa toán học về ñạo hàm thì chúng ta không thể thực hiện ñược việc lấy ñạo hàm các ñiểm ảnh, do một ảnh số hóa không phải là một hàm liên tục a[x,y] theo các biến tọa ñộ mà chỉ là một hàm rời rạc a[m,n] với các biến tọa ñộ nguyên Vì lý do ñó, những thuật toán mà chúng ta trình bày ở ñây chỉ có thể ñược xem các xấp xỉ cho ñạo hàm thật sự theo tọa ñộ của ảnh liên tục ban ñầu
Trang 3Chương 4: Các Phương Pháp Phát Hiện Biên
Nói tóm lại: Phương pháp phát hiện biên trực tiếp nhằm làm nổi ñường biên dựa vào biến thiên về giá trị ñộ sáng của ñiểm ảnh Kỹ thuật chủ yếu là dùng kỹ thuật ñạo hàm Nếu lấy ñạo hàm bậc nhất của ảnh ta có phương pháp Gradient, nếu lấy ñạo hàm bậc 2 ta có kỹ thuật Laplace
b Phương pháp phát hiện biên gián tiếp
Nếu bằng cách nào ñó ta phân ñược ảnh thành các vùng thì ranh giới giữa các vùng ñó gọi là biên Kỹ thuật dò biên và phân vùng ảnh là hai bài toán ñối ngẫu nhau vì dò biên ñể thực hiện phân lớp ñối tượng mà khi ñã phân lớp xong nghĩa là ñã phân vùng ñược ảnh và ngược lại, khi ñã phân vùng ảnh ñã ñược phân lớp thành các ñối tượng, do ñó có thể phát hiện ñược biên
Phương pháp phát hiện biên trực tiếp tỏ ra khá hiệu quả và ít chịu ảnh hưởng của nhiễu, song nếu sự biến thiên ñộ sáng không ñột ngột, phương pháp
tỏ ra kém hiệu quả, phương pháp phát hiện biên gián tiếp tuy khó cài ñặt, song lại áp dụng khá tốt trong trường hợp này
4.1.3 Quy trình phát hiện biên
o Bước 1: Lọc nhiễu theo các phương pháp ñã tìm hiểu ở các chương trước
o Bước 2: Làm nổi biên sử dụng các toán tử phát hiện biên
o Bước 3: ðịnh vị biên Chú ý rằng kỹ thuật nổi biên gây tác dụng phụ là gây nhiễu làm một số biên giả xuất hiện do vậy cần loại bỏ biên giả
o Bước 4: Liên kết và trích chọn biên
4.2 Phương pháp phát hiện biên trực tiếp
Phát hiện biên theo phương pháp cục bộ thường dùng một hàm biến ñổi theo một dạng thức nào ñó ñể tìm ra ñường biên Các hàm phát hiện biên thường dùng như sau:
Trang 4Hìn4.2.1 Phương pháp dùng
Hoặc:
=
⊗ T ( x , y ) I
121
554
112
421
eo cửa sổ T ñược xác ñịnh bởi công thức:
= 1
0
1 0
) , (
* ,
m i
n j
j i T i y i x I
) , (
* ,
m i
n j
j i T i y i x I
441
288
224
785
0 1 T
nhân chập theo công thức:
ương Pháp Phát Hiện Biên
Trang 5Chương 4: Các Phương Pháp Phát Hiện Biên
( ), ( , )* (, ) ( ), * (0,0) ( 1, 1)* (1,1)
1 0
1 0
Ty
xIT
yxIjiTiyixIy
=+
=
0
1 0
) , (
* ,
) , (
m i
n j
j i T i y i x I y
x T I
*1212666
*412967
*107832
TI
) , (
* ,
) , (
m i
n j
j i T i y i x I y
x T I
*
1212666
*
412967
*
107832
Trang 6h và di chuyển – nhân – cộng:
ương pháp như là lọc làm mờ (Blur Filter)
trong mặt nạ dịch và di chuyển Mỗi lần copảnh gốc bằng cách ñổi chổ các thành phần tươ
y sẽ nhân các phần tử tương ứng trong mặt nạ
à di chuyển và nhân của ảnh trên sau cùng s
ình 4.6 Ảnh minh họa phép nhân - dịch – cộn
n dạng xung ảnh số mà pixel có hai giá trị 0 hay 1, Một x
Trang 7Chương 4: Các Phương Pháp Phát Hiện Biên
Nếu một ảnh ñược dịch và di chuyển bằng cửa sổ xung tại vị trí (r, c), thì ảnh sẽ ñược dịch và di chuyển xuống r pixel và dịch và di chuyển qua phải c pixel
o Toán tử 4-lân cận (4-Neighbour Operator)
ðịnh nghĩa: Gradient là một vector f(x,y) có các thành phần biểu thị tốc ñộ thay ñổi mức xám của ñiểm ảnh (theo hai hướng x, y trong không gian hai chiều) ñược biểu diễn theo các biểu thức sau:
Trang 8Chương 4: Các Phương Pháp Phát Hiện Biên
Trang 9Hình 4.8 Ảnh
o Ví dụ với dx=dy
( ) ( )
,
,
f x y
f x
f x y
f y
1 B
ương Pháp Phát Hiện Biên
à hướng
(4.9)
Trang 103 3 0
3 3 0
0 0 0 I
0 3
0 0 A I
3 3
3 3
0 0
1B
* 0
* 0
* 0 0 0
* 3 3 0 B I
* 0 0 3
* 3 3 0 B
ật gradient, người ta chia nhỏ thành 2 kỹ thuật
ương Pháp Phát Hiện Biên
thuật (do dùng 2 toán tử
Trang 11Chương 4: Các Phương Pháp Phát Hiện Biên
o Kỹ thuật gradient dùng toán tử gradient lấy ựạo hàm theo một hướng
o Kỹ thuật la bàn dùng toán tử la bàn lấy ựạo hàm theo 8 hướng: Bắc, Nam, đông, Tây và đông Bắc, Tây Bắc, đông Nam, Tây Nam
Thực hiện kỹ thuật trên, với mỗi ựiểm ảnh I(m,n) của I, ựạo hàm theo x, theo y ựược kắ hiệu tương ứng bởi Ix, Iy
Trang 12Chương 4: Các Phương Pháp Phát Hiện Biên
0 1 0
1
1 0
y
H
(4.15)Coi như ñạo hàm tại ñiểm (i+1/2, j+1/2) theo hướng 2 ñường chéo
Hình 4.11 Tọa ñộ ñiểm sau khi dùng toán tử Robert ðối với ảnh số, các ñạo hàm vừa nêu có thể xấp xỉ bằng các sai phân (difference)
1 2
( , ) ( 1, 1)( 1, ) ( , 1)
Trang 13Chương 4: Các Phương Pháp Phát Hiện Biên
Toán tử Sobel dò biên theo hai chiều trực giao nhau bằng hai cửa sổ như sau:
o Dò biên dùng toán tử Sobel theo chiều x
202
101
202
101
(4.18)
Hình 4.13 ðồ thị mặt nạ lọc Sobel theo chiều x
o Dò biên dùng toán tử Sobel theo chiều y
000
121
121
(4.19)
Trang 14[ ]
1 2
1
4
1 1 0
2 0
1 0
112
00
12
ương Pháp Phát Hiện Biên
Trang 15+ ∇
toán tử Sobel:
ào: là giá trị các pixel có cùng kích thước
ên ảnh vào có dạng như sau:
P1 P2 P3 P4 P5 P6 P7 P8 P8
ạ sobel theo chiều ngang ñể tính S Giá trị ñượcsau ñó dịch từ trái sang phải rồi từ trên xuống d
Trang 16Chương 4: Các Phương Pháp Phát Hiện Biên
1 0 -1 + Mặt nạ sobel theo chiều dọc tính S2 Giá trị ñược tính theo từng giá trị
và sau ñó dịch từ trái sang phải rồi từ trên xuống dưới
-1 -2 -1
0 0 0
1 2 1 + Mặt nạ ra ñược tính ∇ và gán cho pixel S như trong hình sau
0 0 0 0 0 0
0 0 5 5 5 5
0 0 5 5 5 5
0 0 5 5 5 5
0 0 0 0 0 0
202
101
000
121
y
H
Tìm: ∇1; ∇2; ∇ Cho ngưỡng =3
Trang 17Chương 4: Các Phươn
ình 4.16 Kết quả của ảnh dùng lọc Sobel
17 Ảnh kết quả làm nổi biên dùng toán tử So
ặt nạ có khả năng phát hiện ñường biên khác n
ện ñường biên sử dụng hai mặt nạ thì bằng gmặt nạ theo chiều ngang và theo chiều dọc
ỡng càng nhỏ thì khả năng phát hiện ñường
ương Pháp Phát Hiện Biên
Sobel
khác nhau
ằng ghép ñường biên sử
ờng biên càng lớn
Trang 1801
11
[ ]
0 1
0 1
0 1 3
13
Theo trên ta th
hướng nhờ phương tr
một bộ lọc ñều 1- chi
Chương 4: Các Phươn
rewitt dò biên theo hai chiều trực giao nhau C
án tử Prewitt là toán tử thực hiện lấy ñạo hàm bùng toán tử Prewitt theo chiều x
1
cho ra Iy
nạ sẽ thực hiện theo hai chiều có dạng như hình
Hai mặt nạ thực hiện theo hai chiều của toán
[ 1 0 − 1 ]
=
[ 1 0 1 ]
1 1
1 3
1 1 0
1 0
1 0
0
13
111
00
11
ương Pháp Phát Hiện Biên
ọc lấy ñạo hàm theo một
c giao với hướng ñó nhờ
Trang 19Chương 4: Các Phương Pháp Phát Hiện Biên
o Ví dụ toán tử Prewitt : kỹ thuật sử dụng 2 mặt nạ nhân chập xấp xỉ ñạo hàm theo 2 hướng x và y là:
000000
005555
005555
005555
000000
101
101
101
1 1 1
0 0 0
1 1 1
*
*5101515
*
*0000
*
*5101515
y
HI
*
*101000
*
*151500
*
*101000
x
HI
*
*15201515
*
*151500
*
*501515
y
x I HH
I
o Cách tính toán tử Prewitt:
Ta có thể sử dụng 2 mặt nạ theo dạng ñường chéo hD1 và hD2 ñều tách ñược, mỗi bộ lọc lấy ñạo hàm theo một ñường chéo nhờ phương trình [hD] và làm trơn theo hướng trực giao với hướng ñó nhờ một bộ lọc tam giác 1- chiều
+ Tương tự toán tử Sobel, toán tử Prewitt dùng mặt nạ vào là giá trị các pixel có cùng kích thước với mặt nạ cửa sổ ñược ñặt lên ảnh vào có dạng như sau
Z1 Z2 Z3 Z4 Z5 Z6
Trang 20Chương 4: Các Phương Pháp Phát Hiện Biên
Z7 Z8 Z8 + Mặt nạ Prewitt theo chiều PD1, toán tử Prewitt dùng mặt nạ vào theo chiều ngang ñể tính PD1 Giá trị ñược tính theo từng giá trị và sau ñó dịch từ trái sang phải rồi từ trên xuống dưới
0 1 1 -1 0 1 -1 -1 0 + Mặt nạ Prewitt theo chiều tính PD2, toán tử Prewitt dùng mặt nạ vào theo chiều ngang ñể tính PD2 Giá trị ñược tính theo từng giá trị và sau
ñó dịch từ trái sang phải rồi từ trên xuống dưới
-1 -1 0 -1 0 1
0 1 1 + Mặt nạ ra ñược tính ∇ và gán cho pixel P như trong hình sau
P
o Giải thuật:
Pd1 = (Z2+Z3+Z6) – (Z4+Z7+Z8) (4.30)
Pd2 = (Z6+Z8+Z9) – (Z1+Z2+Z4) (4.31) Tính giá trị P: (Z5)
Trang 21Chương 4: Các Phương Pháp Phát Hiện Biên
Hình 4.19 Ảnh kết quả làm nổi biên dùng toán tử Prewitt
Hình 4.20 Kết quả ảnh màu làm nổi biên dùng toán tử Prewitt
o Nhận xét:
+ Mỗi ma trận lọc có khả năng phát hiện các ñường biên ở các vị trí khác nhau Do ñó nếu áp dụng nhiều ma trận lọc khác nhau rồi ghép kết quả lại ta sẽ ñược kết quả tốt hơn
Trang 22Chương 4: Các Phương Pháp Phát Hiện Biên
+ Một số ñường biên bị mất, ñây là các ñường biên vuông góc (hoặc gần vuông góc) với các ñường chéo, do ñó với thuật toán này ta không phát hiện ñược
+ Nếu áp dụng thêm các ma trận lọc theo phương ngang hoặc phương ñứng sẽ cho kết quả tốt hơn
Toán tử 4 - lân cận ñược Chaudhuri và Chandor (1984) nêu ra, trong ñó mặt
nạ có kích thước 3x3 ñược thay cho mặt nạ 2x2 của toán tử Robert Các mặt nạ này ñược cho:
o Mặt nạ theo chiều tính trục x
0 -1 0
0 0 1
0 0 0
Trang 23Chương 4: Các Phương Pháp Phát Hiện Biên
o Mặt nạ theo chiều tính trục y
0 1 0 -1 0 0
0 0 0
f Khớp nối lỏng:
Với ñiểm P ñược bao phủ xung quanh bởi 8 ñiểm: P0, P1, …P8:
P3 P2 P1 P4 P P0 P5 P6 P7
o Ta có lân cận 8 của P gồm các ñiểm: P0, P1, P2, P3, P4, P5, P6, P7
o Lân cận 4 của P gồm các ñiểm: P0, P2, P4, P6
o Xét P và Q là 2 ñiểm có 4 lân cận:
o I(P) và I(Q): là 2 ñiểm xám của P và Q
o Nếu | I(P) - I(Q) |> θ thì ta có một cặp biên
o θ: gọi là giá trị ngưỡng
Ví dụ: cho ảnh có giá trị như hình và θ=3
1 4 2 8 5 7
4 2 8 5 7 1
2 8 5 7 1 4
Trang 24ử Robert và toán tử 4-lân cận có nhược ñiểm l
ñể ñạt ñược kết quả mong muốn các toán tử
àn ño gradient theo một số hướng ñã chọn
theo hướng θk=π/2 +2kπ với k=0,1, 2,…7 Nhược chiều kim ñồng hồ
cos θ hx + sin θ hy
Hình 4.21 Toán tử la bàn toán tử la bàn khác nhau Nhưng ở ñây, trình bàoán tử này sử dụng mặt nạ 3x3
ương Pháp Phát Hiện Biên
ử Sobel, chéo tốt hơn
iểm là nhạy với nhiễu toán tử Gradient thường
Trang 25Chương 4: Các Phương Pháp Phát Hiện Biên
Trong ñó H1, H2, H3, …H8 tương ứng với 8 hướng: 00, 450, 900, 1350,
1800, 2250, 3150 Nếu ta kí hiệu ∇i, i=1, 2, …8 là gradient thu ñược theo 8 hướng bởi 8 mặt nạ, biên ñộ gradient tại (x, y) ñược tính như sau:
121
111
111
121
111
111
121
111
3 2
121
111
111
121
111
111
121
111
6 5
121
111
111
121
111
8
H
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
Trang 26Chương 4: Các Phương Pháp Phát Hiện Biên
ñ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 biên thu ñược không cao
4.2.2.3 Kỹ thuật Laplace
Các phương pháp ñánh giá gradient ở trên làm việc khá tốt khi ñộ sáng thay ñổi rõ nét Khi mức xám thay ñổi chậm, miền chuyển tiếp trải rộng, phương pháp hiệu quả hơn ñó là phương pháp sử dụng ñạo hàm bậc 2, còn gọi là phương pháp Laplace Toán tử Laplace ñược ñịnh nghĩa như sau:
152
121
111
181
111
010
141
010
3 2
H
o 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ị là 4 như ñã chỉ ra ðể dễ hình dung việc xấp xỉ ñạo hàm bậc hai trong không gian rời rạc bởi mặt nạ H1 hay là ý nghĩa của mặt nạ H1, ta xét chi tiết cách tính ñạo hàm bậc 2
o Trong không gian rời rạc ñạo hàm bậc 2 có thể tính:
2 2 2 2
Trang 274 1
1 0 h
0 1
Hình 4.22 Mặt nạ lọc Laplace
nh theo phương pháp Canny
ờn ảnh theo Canny dựa trên cặp ñạo hàm riêng Mục này ñược ñể riêng vì ñây là phương phá
ợc dùng theo toán tử ñạo hàm nhưng phương pcủa nhiễu Phương pháp ñạt hiệu quả cao khi x
Quy trình tách sườn theo phương pháp lọc C
ương Pháp Phát Hiện Biên
riêng bậc nhất với việc
ng pháp tách ñường biên ương pháp ñạo hàm chịu khi xấp xỉ ñạo hàm bậc
ọc Canny
Trang 28Chương 4: Các Phương Pháp Phát Hiện Biên
2 2 2
y x y y
Hình 4.24 Mô hình tính của phương pháp Canny
o Do bộ lọc Gauss là tách ñược, ta có thể thực hiện riêng biệt các tích chập theo x và y:
Trang 29Chương 4: Các Phương Pháp Phát Hiện Biên
Hình 4.25 Ảnh kết quả của phương pháp lọc Canny 4.2.3 Dò biên theo quy hoạch ñộng
Trong phần trên: Dò biên theo phương pháp Gradient là xác ñịnh cực trị cục
bộ của Gradient theo các hướng Phương pháp Laplace dựa vào các ñiểm không của ñạo hàm bậc hai Phương pháp dò biên theo quy hoạch ñộng là phương pháp tìm cực trị tổng thể theo nhiều bước Nó dựa vào nguyên lý tối ưu của Bellman Nguyên lý này phát biểu như sau: “Con ñường tối ưu giữa 2 ñiểm cho trước cũng là tối ưu giữa 2 ñiểm bất kỳ nằm trên ñường tối ưu ñó”
Hình 4.26 Hình vẽ mô tả con ñường tối ưu cho nguyên lý Bellman
Thí dụ: nếu C là một ñiểm trên con ñường tối ưu giữa A và B thì ñoạn CB cũng là con ñường tối ưu từ C ñến B không kể ñến ta ñến C bằng cách nào
Trong kỹ thuật này, giả sử bản ñồ biên ñã ñược xác ñịnh và ñược biểu diễn dưới dạng ñồ thị liên thông N chặng Giả sử hàm ñánh giá ñược tính theo công thức:
Trang 30Chương 4: Các Phương Pháp Phát Hiện Biên
Với:
o xk, k=1, …, N: biểu diễn các ñỉnh của ñồ thị trong chặng thứ k;
o d(x ,y): khoảng cách giữa 2 ñỉnh x và y tính theo các ñịnh nghĩa tương ứng
+ Nếu “ñiểm ảnh hiện thời là ñen” rẽ sang trái
+ Ngược lại thì rẽ sang phải
Trang 31Chương 4: Các Phương Pháp Phát Hiện Biên
+ Dừng khi gặp ñiểm 1 ban ñầu
Hình 4.28 Dò biên theo phương pháp Freeman
ðể cải tiến thuật toán trên sử dụng thuật toán cải tiến Freeman
o Bước1: Quét ảnh ñến khi gặp ñiểm ñen Gọi nó là pixel 1
o Bước 2: Lặp
+ Nếu “ñiểm ảnh hiện thời là ñen” Thì “dò ngược”
+ Ngược lại “sang phải”
Trang 32Chương 4: Các Phương Pháp Phát Hiện Biên
o Ban ñầu có (n0, v0) dựa vào ñó ta tìm ñược (n1, v1), quá trình này cứ tiếp tục Tổng quát nếu có (ni, vi) ta sẽ tìm (ni+1, vi+1), sao cho ni và ni+1 là 8 lân cận, vi
và vi+1 là 8 lân cận
Hình 4.30 Dò biên theo phương pháp quy hoạch ñộng
o Quá trình dò biên theo nền vùng là: tìm 1 dãy các ñiểm (n0, v0), (n1, v1)…(nk,
vk) sao cho n0, n1, ….nk: chu tuyến nền v0, v1, ….vk: chu tuyến vùng
c Xấp xỉ bởi ñoạn thẳng
Nối ñiểm xuất phát R với ñiểm ñang xét Pc bởi một ñoạn thẳng Sau ñó tính toạ ñộ của Pi, một ñiểm nằm giữa R và Pc sao cho khoảng cách từ Pi ñến ñoạn thẳng là cực ñại Gọi khoảng cách này là di Nếu di lớn hơn một ngưỡng cho trước (ñộ chính xác của xấp xỉ) người ta phân ñoạn RPc thành 2 ñoạn RPi và
PiPc và tiếp tục thực hiện lấy mẫu với từng ñoạn cho tới khi ñoạn thẳng tìm ñược là “rất gần” với ñường bao
Hình 4.31 Xấp xỉ ñường biên bằng ñường gấp khúc
Cặp (ni+1, vi+1) 8 lân cận