You are on page 1of 137

Chương 4.

BIÊN VÀ CÁC PHƯƠNG


PHÁP PHÁT HIỆN BIÊN
1

TS. NGUYỄN TƯỜNG THÀNH

Xử lý ảnh – Image proccessing 6/23/2020


Nội dung
2

 3.1. Giới thiệu


 3.2. Các phương pháp phát hiện biên trực tiếp
 3.3. Phát hiện biên gián tiếp
 3.4. Phát hiện biên dựa vào trung bình cục bộ
 3.5. Phát hiện biên dựa vào các phép toán hình thái
3.1. Giới thiệu
3

 Điểm biên: Một điểm ảnh được coi 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).
 Ví dụ, trong ảnh nhị phân, điểm đen được gọi là điểm
biên nếu lân cận của nó có ít nhất một điểm trắng.
 Đường biên còn gọi là đường bao (boundary): Là tập
hợp các điểm biên liên tiếp.
4

KHÁI NIỆM BIÊN CỦA ẢNH (Image Edges)


Grayscale image  Edges
5

 Ý nghĩa của đường biê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.
 Người ta sử dụng biên làm phân cách các vùng xám (hoặc
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 phân cách.
6

 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:
7

 Phát hiện biên - Tìm biên


 Làm nổi lên những điểm ảnh mà tại đó có sự biến đổi lớn
về giá trị độ sáng.
 Làm nổi được các vùng khác nhau của ảnh ( Các vùng có
sự biến thiên độ sáng của các vùng là đều) thì có nghĩa là
làm nổi được biên của ảnh.
 Các phương pháp tìm biên (chú trọng 2 pp in đậm)
 Các phương pháp phát hiện biên trực tiếp
 Phát hiện biên gián tiếp
 Phát hiện biên dựa vào trung bình cục bộ
 Phát hiện biên dựa vào các phép toán hình thái
3.2. Các phương pháp phát hiện biên trực tiếp
8

 Phương pháp này chủ yếu dựa vào sự biến thiên độ sáng
của đểm ảnh để làm nổi biên bằng kĩ thuật đạo hàm.
 Nếu lấy đạo hàm bậc nhất của f(x,y) ta có phương pháp
Gradient
 Nếu lấy đạo hàm bậc hai của f(x,y) ta có phương pháp
Laplace
 Nội dung:
 3.2.1. Kỹ thuật phát hiện biên gradient
 3.2.2. Kỹ thuật phát hiện biên Laplace
 3.2.3. Kỹ thuật Canny
3.2.1. Kỹ thuật phát hiện biên gradient
9

 Gradient là một vectơ 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 đối
với ảnh 2 chiều) tức là:  f ( x, y ) 
 x 
f   
 f ( x, y ) 
 y 

f ( x, y) ' f ( x  dx, y)  f ( x, y)
 fx 
 Ta có: x dx
f ( x, y) f ( x, y  dy)  f ( x, y)
 f y' 
y dy
 Trong đó dx, dy là khoảng cách giữa 2 điểm kế cận theo
hướng x,y tương ứng (thực tế chọn dx=dy=1)
10
11

 Nếu áp dụng Gradient vào xử lý ảnh, việc 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 pháp
Gradient, người ta sử dụng kĩ thuật Gradient dùng cặp
mặt nạ H1,H2 trực giao. Nếu định nghĩa Gx, Gy tương
ứng là Gradient theo hai hướng x,y khi đó ta có vector
Gradient của một ảnh f(x,y) là:
 f 
Gx   x 
f    =   Ta có f  Gx2  Gy2
G y   f 
 y 
12

 Ví dụ biên độ G(m,n) tại điểm (m,n) được tính:


G(m, n)  G 2 (m, n)  G 2 (m, n)
x y

 Để giảm độ phức tạp tính toán, G(m,n) được tính gần


đúng như sau:
G(m, n)  Gx (m, n)  Gy (m, n)
 Một số toán tử Gradient tiêu biểu như toán tử Prewitt,
Sobel, Robert đẳng hướng (Isometric), 4-lân cận.
13

 Các công đoạn phát hiện biên theo kỹ thuật Gradient

I(x,y) I’(x,y) I’’(x,y)


Làm nổi biên So sánh ngưỡng

 Thực tế, việc làm nổi biên là nhân chập ảnh I với một
mặt nạ (ma trận) sẽ được giới thiệu trong phần tiếp theo
14

 3.2.1.1. Kỹ thuật Prewitt


 3.2.1.2. Kỹ thuật Sobel
 3.2.1.3. Kỹ thuật la bàn
3.2.1.1. Kỹ thuật Prewitt
15

 Kỹ thuật sử dụng 2 mặt nạ nhập chập xấp xỉ đạo hàm


theo 2 hướng x và y là:

 Bước 1: Tính I ⊗ Hx và I ⊗ Hy
 Bước 2: Tính I ⊗ Hx + I ⊗ Hy
16

 Ví dụ:
17
18

 Ngoài ra để phát hiện biên theo đường chéo ta sử dụng 2


mặt nạ:

 0 1 1  -1 -1 0
   
H   -1 0 1; H   -1 0 1
1   2  
 -1 -1 0   0 1 1
 
3.2.1.2. Kỹ thuật Sobel
19

 Tương tự như kỹ thuật Prewitt kỹ thuật Sobel sử dụng 2


mặt nạ nhân chập theo 2 hướng x, y là:

 Bước 1: Tính I ⊗ Hx và I ⊗ Hy
 Bước 2: Tính I ⊗ Hx + I ⊗ Hy
3.2.1.3. Kỹ thuật la bàn
20

 Kỹ thuật sử dụng 8 mặt nạ nhân chập theo 8 hướng 00,


450, 900, 1350, 1800, 2250, 2700, 3150
 Các bước tính toán thuật toán La bàn
 Bước 1: Tính I ⊗ Hi ; i = 1,8
8
 Bước 2: Tính 𝑖=1 𝐼⊗𝐻𝑖
21
3.2.2. Kỹ thuật phát hiện biên Laplace
22

 Các phương pháp đánh giá gradient ở trên làm việc khá
tốt khi mà độ 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 cho hiệu quả hơn đó là phương pháp sử
dụng đạo hàm bậc hai Laplace
 Toán tử Laplace được xây dựng trên cơ sở đạo hàm bậc
2 của hàm biến đổi mức xám.
2 2
2
𝜕 𝑓 𝜕 𝑓
∆ 𝑓= 2+ 2
𝜕𝑥 𝜕𝑦
23

𝜕2 𝑓 𝜕 𝜕𝑓 𝜕
 2 = ( ) ≈ 𝑓 𝑥 + 1, 𝑦 − 𝑓 𝑥, 𝑦
𝜕𝑥 𝜕𝑥 𝑑𝑥 𝜕𝑥
≈ 𝑓 𝑥 + 1, 𝑦 − 𝑓 𝑥, 𝑦 − [ 𝑓 𝑥, 𝑦 − 𝑓 𝑥 − 1, 𝑦 ]
≈ 𝑓 𝑥 + 1, 𝑦 − 2𝑓 𝑥, 𝑦 + 𝑓 𝑥 − 1, 𝑦
 Tương tự ta có
𝜕2 𝑓
 2 ≈ 𝑓 𝑥, 𝑦 + 1 − 2𝑓 𝑥, 𝑦 + 𝑓 𝑥, 𝑦 − 1
𝜕𝑦
2
 ∆ 𝑓 ≈ 𝑓 𝑥 + 1, 𝑦 + 𝑓 𝑥 − 1, 𝑦 − 4𝑓 𝑥, 𝑦 +
𝑓 𝑥, 𝑦 + 1 + 𝑓 𝑥, 𝑦 − 1
24

 Dưới đây là ba kiểu mặt nạ thường dùng:


3.2.3. Kỹ thuật Canny
25

 Đây là thuật toán tương đối tốt, đưa ra đường biên


mảnh, phát hiện chính xác điểm biên với điểm nhiễu
 Các bước của thuật toán
 Bước 1: Làm trơn ảnh. Tính tích chập G= I ⊗ H, với
2 4 5 4 2
4 9 12 9 4
H = 5 12 15 12 5
4 9 12 9 4
2 4 5 4 2
 Bước 2: Tính Gradient của ảnh bằng mặt nạ Prewitt theo
hai hướng x, y. Gọi là Gx, Gy.
26

 Bước 3: Tính Gradient theo 8 hướng tương ứng với 8 lân


cận của 1 điểm ảnh
 Bước 4: Loại bỏ những điểm không phải cực nhằm xóa bỏ
những điểm không thuộc biên
 Bước 5: Phân ngưỡng. Thực hiện lấy Gradient lần cuối.
3.3. Phát hiện biên gián tiếp
27

 Phân vùng ảnh dựa vào phép xử lý kết cấu đối tượng, cụ
thể là dựa vào sự biến thiên nhỏ và đồng đều của các
điểm ảnh thuộc một đối tượng.
 Dựa trên các vùng, đòi hỏi áp dụng lý thuyết về xử lý
kết cấu đối tượng phức tạp và khó cài đặt.
28

 Nội dung
 3.3.1. Một số khái niệm cơ bản
 3.3.2. Chu tuyến của một đối tượng ảnh
 3.3.3. Thuật toán dò biên tổng quát
3.3.1. Một số khái niệm cơ bản
29

 Ảnh và điểm ảnh


 Ảnh được gọi là ảnh nhị phân nếu các giá trị Iij chỉ nhận
giá trị 0 hoặc 1.
 Ở đây ta chỉ xét tới ảnh nhị phân vì ảnh bất kỳ có thể đưa
về dạng nhị phân bằng kỹ thuật phân ngưỡng. Ta ký hiệu
ℑ là tập các điểm vùng (điểm đen) và ℑ là tập các điểm
nền (điểm trắng).
30

 Các điểm 4 và 8-láng giềng


 Các điểm P0, P2, P4, P6 là các 4-láng giềng của điểm P
 Các điểm P0, P1, P2, P3, P4, P5, P6, P7 là các 8-láng giềng
của P.
31

 Đối tượng ảnh


 Hai điểm Ps, Pe ∈ E, với E ⊆ ℑ (hoặc E ⊆ ℑ) được gọi là
8-liên thông (hoặc 4-liên thông) trong E nếu tồn tại tập các
điểm được gọi là đường đi (i0,j0)...(in,jn) sao cho (i0,j0)=
Ps, (in,jn)= Pe, (ir,jr) ∈ E và (ir,jr) là 8-láng giềng (hoặc 4-
láng giềng tương ứng) của (ir-1,jr-1) với r = 1,2,...,n
3.3.2. Chu tuyến của một đối tượng ảnh
32

 Chu tuyến của một đối tượng ảnh là dãy các điểm của
đối tượng ảnh P1,…,Pn sao cho
 Pi và Pi+1 là các 8-láng giềng của nhau (i=1,...,n-1)
 P1 là 8-láng giềng của Pn,
 ∀i ∃Q không thuộc đối tượng ảnh và Q là 4-láng giềng của
Pi (hay nói cách khác ∀i thì Pi là biên 4). Kí hiệu
<P1P2..Pn>

Hình bên biểu diễn chu tuyến


của ảnh, trong đó, P là điểm
khởi đầu chu tuyến.
33

 Tổng các khoảng cách giữa hai điểm kế tiếp của chu
tuyến là độ dài của chu tuyến và kí hiệu Len(C) và
hướng PiPi+1 là hướng chẵn nếu Pi và Pi+1 là các 4 –
láng giềng (trường hợp còn lại thì P iPi+1 là hướng lẻ).
34

 Chu tuyến ngoài


 Chu tuyến trong
3.3.3. Thuật toán dò biên tổng quát
35

 Có hai kỹ thuật dò biên cơ bản.


 Xét ảnh biên thu được từ ảnh vùng sau một lần duyệt như
một đồ thị, sau đó áp dụng các thuật toán duyệt cạnh đồ
thị.
 Dựa vào ảnh vùng, kết hợp đồng thời quá trình dò biên và
tách biên. Ở đây ta quan tâm cách tiếp cận thứ hai.
 Về cơ bản, các thuật toán dò biên trên một vùng đều
bao gồm các bước sau:
 (1) Xác định điểm biên xuất phát
 (2) Dự báo và xác định điểm biên tiếp theo
 (3) Lặp bước 2 cho đến khi gặp điểm xuất phát
36

 Thuật toán dò biên tổng quát


 Bước 1: Xác định cặp nền-vùng (đen-trắng) xuất phát:
Duyệt ảnh lần lượt từ trên xuống dưới và từ trái sang phải
điểm đem đầu tiên gặp được cùng với điểm trắng trước đó
(theo hướng 4) để tạo nên cặp nền vùng xuất phát
 Bước 2: Xác định cặp nền-vùng tiếp theo
 Bước 3: Lựa chọn điểm biên vùng
 Bước 4: Nếu gặp lại cặp xuất phát thì dừng, nếu không
quay lại bước 2.
3.4. Phát hiện biên dựa vào trung bình cục bộ
37

 3.4.1. Biên và độ biến đổi về mức xám


 3.4.2. Phát hiện biên dựa vào trung bình cục bộ
3.4.1. Biên và độ biến đổi về mức xám
38

 Trong thực tế người ta thường dùng hai phương pháp


phát hiện biên trục tiếp và phát hiện biên gián tiếp.
 Một kỹ thuật khác dựa vào trung bình cục bộ dựa trên
cơ sở đánh giá sự chênh lệch mức xám các điểm ảnh so
với các điểm lân cận.
 Đối với một ảnh bất kỳ ta có thể chuyển sang ảnh xám
theo công thức: Gray=(R+G+B)/3
39

 Một cách lý tưởng (ảnh đen trắng) thì đồ thị sự biến


thiên mức xám của các điểm ảnh khi qua biên như sau:

 Đối với các ảnh đa mức xám thì đồ thị có dạng


40

 Các kỹ thuật dò biên đã nêu ở trên (Gradient, Laplace):


 Rất nhạy cảm với nhiễu.
 Thực tế chỉ làm nổi biên
 Khó điều chỉnh ảnh biên
 Khó sử dụng cho việc nhận dạng đối tượng
 Các kỹ thuật này chưa đạt được sự hoàn thiện mong
muốn
3.4.2. Phát hiện biên dựa vào trung bình cục bộ
41

 Ý tưởng:
 Xác định tất cả các điểm nằm trên biên không phụ thuộc
hướng tìm kiếm và sử dụng ma trận lọc, thông qua việc so
sánh độ lệch về mức xám của điểm ảnh đang xét với các
điểm lân cận (mức xám nền).
 Giải thuật:
 Tính toán giá trị trung bình mức xám của các điểm ảnh
thuộc ma trận 3x3 hoặc 5x5 với tâm là điểm đang xét.
 Nếu độ trên lệch mức xám của điểm đang xét và giá trị
trung bình lớn hơn một mức tối thiểu δ1 nào đó
(PTB+δ1< P) thì chúng được coi là điểm biên.
42

 Ví dụ:
 Dùng ma trận 5 x 5
3.5. Phát hiện biên dựa vào các phép toán hình thái
43

 3.5.1. Xấp xỉ trên và xấp xỉ dưới đối tượng ảnh


 3.5.2. Thuật toán phát hiện biên dựa vào phép toán hình
thái
Kết quả bài kiểm tra
44

Độ rộng mỗi bin = 32 I=[ 208 157 234 19 145 79


 Số bin của Histogram = 8 62 121 73 14 120 135
237 90 193 135 3 42
89 212 192 199 86 154
50 149 97 238 41 67
140 145 33 203 167]

10

1 220
9
200
8
2 180
7
160

3 140 6

120 5
4 100
4
80
3
5 60
2
40
6 20 1

1 2 3 4 5 6 0
-50 0 50 100 150 200 250 300
45

 Thực hiện bộ lọc trung bình với ngưỡng theta = 20


5.1. GIỚI THIỆU BIÊN VÀ KỸ THUẬT
PHÁT HIỆN BIÊN
• 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

Ảnh đầu của Trích Phân Phân


quá trình tiền chọn đặc đoạn loại
XL tính

Giải thích

4
6
5.1. GIỚI THIỆU BIÊN VÀ KỸ THUẬT
PHÁT HIỆN BIÊN
5.1.1 Một số khái niệm
• Điểm biên: Một điểm ảnh được coi 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). Ví dụ trong ảnh nhị phân, điểm đen gọi là điểm
biên nếu lân cận nó có ít nhất một điểm trắng.
• Đườ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ý: ý 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.

4
7
5.1. GIỚI THIỆU BIÊN VÀ KỸ THUẬT
PHÁT HIỆN BIÊN

• Biểu diễn biên


- Đối với hàm liên tục, sự biến thiên của hàm được xác
định thông qua đạo hàm các cấp.
- Ảnh: hàm liên tục hai biến là các tọa độ trong mặt
phẳng ảnh:
• Sự biến thiên hàm sẽ được biểu diễn bằng các đạo hàm riêng.
• Sự biến thiên của hàm ảnh biểu diễn bằng vector gradient;

- Gradient chỉ hướng biến thiên tăng cực đại của hàm
ảnh;
- Đối với ảnh số, phải xác định các gradient rời rạc
4
5.1. GIỚI THIỆU BIÊN VÀ KỸ THUẬT
PHÁT HIỆN BIÊN
• Biểu diễn biên
- Biên là thuộc tính cục bộ
của mỗi điểm và được tính
từ hàm ảnh tại những điểm
lân cận của điểm đang xét;
- Biên được xác định
bằng một vector có hai
thành phần:
• Độ lớn: xác định bằng độ
lớn của gradient;
• Hướng: hợp với hướng của
gradient một góc -90o. 5
5.1. GIỚI THIỆU BIÊN VÀ KỸ THUẬT
PHÁT HIỆN BIÊN
•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.
- Đường biên là tập hợp các điểm tại đó hàm ảnh biến
thiên và bao gồm những điểm với biên độ biên cao;
- Đường biên và các phần của nó ( các điểm biên ) luôn
trực giao với hướng của gradient;
u u u

x x x

Đường biên lý Đường biên


tưởng Đường biên bậc thang
thực 6
5.1. GIỚI THIỆU BIÊN VÀ KỸ THUẬT
PHÁT HIỆN BIÊN
5.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: phương pháp này chủ yếu
dựa vào sự biến thiên độ sáng của điểm ảnh để làm nổi biên bằ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 hai của ảnh: ta có phương pháp Laplace.
Hai phương pháp này được gọi chung là phương pháp dò biên cục bộ.
b, Phương pháp phát hiện biên gián tiếp: Nếu bằng cách nào đấy,
chúng ta phân ranh ảnh thành các vùng ảnh khác nhau thì đường
phân cách giữa các vùng đó chính là biên. Việc phân vùng đó dựa
vào kết cấu bề mặt của ảnh. Nói cách khác, việc xác định đường
bao của ảnh được thực hiện từ ảnh đã được phân vùng. Phương
pháp dò biên gián tiếp khó cài đặt nhưng áp dụng tốt khi sự biến
thiên độ sáng nhỏ.
Chú ý: Kỹ thuật dò biên và phân vùng ảnh là hai bài toán đối ngẫu của
nhau. 51
5.1. GIỚI THIỆU BIÊN VÀ KỸ THUẬT
PHÁT HIỆN BIÊN
5.1.3 Quy trình phát hiện biên.

B1: Do ảnh ghi được thường có nhiễu, bước một là phải lọc nhiễu theo
các phương pháp đã tìm hiểu ở các phần trước.
B2: Làm nổi biên sử dụng các toán tử phát hiện biên.
B3: Đị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ả.
B4: Liên kết và trích chọn biên.

52
5.2 PHƯƠNG PHÁP PHÁT HIỆN BIÊN CỤC
BỘ
• Phương pháp tìm biên Roberts
• Phương pháp tìm biên Sobel
• Phương pháp tìm biên Prewitt
• Phương pháp la bàn

53
5.2 PHƯƠNG PHÁP PHÁT HIỆN BIÊN CỤC
BỘ
5.2.1 Phương pháp Gradient
Định nghĩa: Gradient là một vec tơ 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
bối cảnh xử lý ảnh hai chiều) tức:
f x, y f x  dx, y  f (x, y)
 fx 
x dx
f x, y f x, y  dy  f (x, y)
 fx 
y dy
Trong đó dx, dy là khoảng cách giữa 2 điểm kế cận theo hướng x, y
tương ứng.

54
Gradient rời rạc

- Các gradient rời rạc theo hướng:


g1(m, n) = s( m, n )  h1( m, n )
g2(m, n) = s( m, n )  h2( m, n )
- Độ lớn của gradient được tính theo công thức

g(m, n ) = (((g1(m, n))2 + (g (m, n))2)1/2


2

Tính gần đúng theo công thức

g(m, n ) = |g1(m, n)| + |g2(m, n)|


11
PHƯƠNG PHÁP ROBERTS

 Toán tử Roberts do Roberts đề xuất vào năm 1965.


 Nó áp dụng trực tiếp của công thức đạo hàm tại điểm
(x, y).

0 1 1 0

-1 0 0 -1

Mặt nạ H1 Mặt nạ H2

 Mặt nạ này có thể nhận từ mặt nạ kia bằng cách


quay một góc 900. 5
6
PHƯƠNG PHÁP ROBERTS

0 1 a1 a2 1 0

-1 0 a3 a4 0 -1

Mặt nạ H1 Tổng quát Mặt nạ H2

Gx = a2 – a3 Gy = a1 – a4

 Độ lớn của Gradient là: G  G G


2 2
x y

 Hoặc: G  Gx  Gy 5
7
PHƯƠNG PHÁP ROBERTS

 Lý do chính để người ta sử dụng toán tử Roberts là


tốc độ tính toán nhanh.
 Chúng chỉ sử dụng 4 điểm ảnh để tính giá trị cấp
xám của ảnh đầu ra.
 Chỉ có phép toán cộng và trừ được thực hiện trong
ảnh.

5
8
PHƯƠNG PHÁP ROBERTS

a b c

a) Ảnh gốc
b) Ảnh sau khi áp dụng toán tử Roberts
c) Ảnh sau khi phân ngưỡng ảnh b) 15
PHƯƠNG PHÁP ROBERTS

 Cho ảnh I, sử dụng phương pháp tìm biên Roberts


để tìm biên ảnh sau:

1 1 2 6 7 7 0 1 1 0
1 2 2 7 7 6 -1 0 0 -1
2 2 2 6 7 6
2 2 3 7 7 6
2 3 1 7 7 6
3 1 4 6 7 5
6
0
PHƯƠNG PHÁP SOBEL

 Toán tử sau do Sobel đề nghị dùng để tìm biên của


ảnh.

-1 0 1 1 2 1
-2 0 2 0 0 0
-1 0 1 -1 -2 -1

Mặt nạ H1 Mặt nạ H2

 Mặt nạ này có thể nhận từ mặt nạ kia bằng cách


quay một góc 900. 6
1
PHƯƠNG PHÁP SOBEL

-1 0 1 a1 a2 a3 1 2 1
-2 0 2 a4 a5 a6 0 0 0
-1 0 1 a7 a8 a9 -1 -2 -1

Mặt nạ H1 Mặt nạ H2
Gx = a3 + 2a6 + a9 - (a1 + 2a4 + a7)
Gy = a1 + 2a2 + a3 - (a7 + 2a8 + a9)
 Độ lớn của Gradient là: G  G 2x  G 2y
Hoặc:

G  Gx  Gy 18
PHƯƠNG PHÁP SOBEL

a b

a) Ảnh gốc
b) Ảnh sau khi áp dụng toán tử Sobel 19
PHƯƠNG PHÁP SOBEL

 Cho ảnh I, sử dụng phương pháp tìm biên Sobel để


tìm biên ảnh sau:

1 1 2 6 7 7 -1 0 1 1 2 1
1 2 2 7 7 6 -2 0 2 0 0 0
2 2 2 6 7 6 -1 -2 -1
-1 0 1
2 2 3 7 7 6
2 3 1 7 7 6
3 1 4 7 7 5
6
4
PHƯƠNG PHÁP PREWITT

 Toán tử Prewitt có dạng như sau:

-1 0 1 1 1 1

-1 0 1 0 0 0
-1 -1 -1
-1 0 1
Mặt nạ H2
Mặt nạ H1

 Mặt nạ này có thể nhận từ mặt nạ kia bằng cách


quay một góc 900.
6
5
PHƯƠNG PHÁP PREWITT

-1 0 1 a1 a2 a3 1 1 1
-1 0 1 a4 a5 a6 0 0 0
-1 0 1 a7 a8 a9 -1 -1 -1

Mặt nạ H1 Mặt nạ H2
Gx = a3 + a6 + a9 - (a1 + a4 + a7)
Gy = a1 + a2 + a3 - (a7 + a8 + a9)
 Độ lớn của Gradient là: G  G 2x  G 2y
 Hoặc:
G  Gx  Gy 22
PHƯƠNG PHÁP PREWITT

a b

a) Ảnh gốc
b) Ảnh sau khi áp dụng toán tử Prewitt 23
PHƯƠNG PHÁP PREWITT

 Cho ảnh I, sử dụng phương pháp tìm biên Prewitt để


tìm biên ảnh sau:

1 1 2 6 7 7 -1 0 1 1 1 1
1 2 2 7 7 6
-1 0 1 0 0 0
2 2 2 6 7 6
-1 0 1 -1 -1 -1
2 2 3 7 7 6
2 3 1 7 7 6
3 1 4 7 7 5
6
8
Mặt nạ đẳng hướng:

Một mặt nạ khác cũng được nêu như dưới đây


gọi là mặt nạ đẳng hướng (Isometric).

 1 0 1   1  2  1
H   2  
0 2  H2   0 0 0
1 
  1 0 1  1 2 1
 

Hướng ngang (x) Hướng dọc (y)

6
9
b. Toán tử la bàn:
Toán tử la bàn đo gradient theo 1 số hướng đã chọn. Nếu kí hiệu gx là
gradient la bàn theo hướng k= /2+ 2k với k = 0,1,....7. Như vậy ta
đo gradient theo tám hướng ngược chiều kim đồng hồ, mỗi hướng
cách nhau 450 theo ngược chiều kim đồng hồ.

NW N NE

W E

SW S SE
Hình mặt nạ 8 hướng theo Kirsh.

7
0
b. Toán tử la bàn:

• Toán tử la bàn Kirsh:


Có nhiều toán tử la bàn khác nhau ta chỉ trình bày một cách chi tiết toán tử la
bàn Kirsh đặc trưng bởi 8 mặt nạ với kích thước 3x3 như sau:
5 5 5
H   3 0  3
1  
3  3  3

Mặt nạ H1 cho hướng gốc (hướng 00). Trên cơ sở đó định nghĩa thêm 7 mặt
nạ khác nhau từ H2 đến H8 cho 7 hướng cònlại

 3 5 5   3  3 5

H2  3 0 5 H    3 0 5
  3  
3  3  3 3  3 5
7
1
b. Toán tử la bàn:
  3  3  3   3  3  3   3  3  3
H   3 0 
5 H 5  3 0  3  H 6   5 0  3
4   
3 5 5   5 5 5   5 5  3

5  3  3  5 5  3
 
H 7  5 0  3  H  5 0  3
8  
5  3  3 3  3  3

• Toán tử la bàn khác:


Ngoài toán tử Kirsh, người ta còn sử dụng một số toán tử khác mà mặt nạ ở
hướng 00được định nghĩa tương ứng bởi :

1 1 1 1 1 1 1 2 1
M  1 2 1  M2  1  2 1  M  0 0 0
1     3  
1  1 1 1  1 1 1  2 1
28
5.2 PHƯƠNG PHÁP PHÁT HIỆN BIÊN
CỤC BỘ
5.2.2 Kỹ thuật Laplace
• Để khắc phục hạn chế và nhƣợc điểm của phương pháp Gradient,
trong đó sử dụng đạo hàm riêng bậc nhất người ta nghĩ đến việc sử
dụng đạ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 f 2 f
 f  2  2
2

dx dy
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 na theo toán tử Laplace
bậc 3x3 có thể:

 0 1 o   1  1 1 1 2 1 
  1 8 1

H 1   1 4  1 H  H 3   2 5  2
 2   
0  1 0  1  1 1 1  2 1 
29
Content

1. Giới thiêu
2. Các phương pháp phát hiện biên:
2.1. Phương pháp đạo hàm sử dụng bộ lọc
 Bô lọc Sobel
 Bộ lọc Prewitt
2.2. Phát hiện biên sử dụng Canny Detector
2.3. Phát hiện biên Derivative of Gaussian
2.4. Một số nhận xét
1. Giới thiệu
75

 Điểm biên: Một điểm ảnh được coi 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).
 Ví dụ: Trong ảnh nhị phân, điểm đen được gọi là điểm
biên nếu lân cận của nó có ít nhất một điểm trắng.
 Đường biên/đường bao (boundary): Là tập hợp các
điểm biên liên tiếp.
1. Giới thiệu
76

 Ý nghĩa của bài toán phát hiện biê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.
 Đường biên giúp phân đoạn các vùng trong ảnh (xám,
màu).
 <> Sử dụng các vùng ảnh để tìm đường biên.

Ảnh gốc Đường biên/bao Hai vùng phân tách


1. Giới thiệu- Khó khăn của bài toán phát hiện
biên
2. Phương pháp phát hiện biên
78

 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

 Nếu lấy đạo hàm bậc nhất của u(x)  Gradient


 Nếu lấy đạo hàm bậc hai của u(x)  Laplace
2.1. Phát hiện biên gradient
79
 Gradient là một vectơ 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 đối với ảnh 2 chiều) :
 f ( x, y )  f ( x, y) f ( x  dx, y)  f ( x, y)
  f x' 
x  x dx
f   
 f ( x, y )  f ( x, y) f ( x, y  dy)  f ( x, y)
 f y' 
 y  y dy

 Trong đó dx, dy là khoảng cách giữa 2 điểm kế


cận theo hướng x,y tương ứng (thực tế chọn
dx=dy=1)
2.1. Phát hiện biên gradient
80

 Để đơn giản tính toán, tính toán bằng hx,hy


 Một số cặp mặt nạ tiêu biểu như Prewitt, Sobel, Robert
đẳng hướng (Isometric)
 gx, gy: Gradient theo hai hướng x,y
 f 
 g x   x 
Edge normal: f  grad ( f )       G(m, n)  Gx2 (m, n)  Gy2 (m, n)
 g y   f 
 y 
Edge unit normal: f / mag(f )
In practice,sometimes the magnitude is approximated by
f f  f f 
mag(f )= + or mag(f )=max  | |,| | 
x y  x y 
2.1. Phát hiện biên gradient

 Các bước thực hiện

I(x,y) I’(x,y) I’’(x,y)


Làm trơn Tính đạo So sánh
ảnh hàm ngưỡng
2.1.1. Kỹ thuật Prewitt
82

 Sử dụng 2 mặt nạ và xấp xỉ đạo hàm theo 2 hướng x và


y là:

 Bước 1: Tính I ⊗ Hx và I ⊗ Hy
 Bước 2: Tính I ⊗ Hx + I ⊗ Hy
83

 Ví dụ:
84
Một số bộ lọc khác
85

 Để phát hiện biên theo đường chéo ta sử dụng 2 mặt nạ:

 0 1 1  -1 -1 0
   
H   -1 0 1; H   -1 0 1
1   2  
 Sử dụng bộ lọc
 -1 -1 0 
Sobel:  0
 1 1
Một số bộ lọc khác
86


87
6/23/
2020

88
6/23/
2020

89
6/23/
2020

90
6/23/
2020

91
6/23/
2020

92
2.2. Phương pháp Laplacian
93

 Các phương pháp đánh giá gradient ở trên làm việc khá
tốt khi mà độ 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 cho hiệu quả hơn đó là phương pháp sử
dụng đạo hàm bậc hai Laplace
 Toán tử Laplace được xây dựng trên cơ sở đạo hàm bậc
2 của hàm biến đổi mức xám.
2 2
2
𝜕 𝑓 𝜕 𝑓
∆ 𝑓= 2+ 2
𝜕𝑥 𝜕𝑦
Phương pháp Laplacian
94

𝜕2 𝑓 𝜕 𝜕𝑓 𝜕
 2 = ( ) ≈ 𝑓 𝑥 + 1, 𝑦 − 𝑓 𝑥, 𝑦
𝜕𝑥 𝜕𝑥 𝑑𝑥 𝜕𝑥
≈ 𝑓 𝑥 + 1, 𝑦 − 𝑓 𝑥, 𝑦 − [ 𝑓 𝑥, 𝑦 − 𝑓 𝑥 − 1, 𝑦 ]
≈ 𝑓 𝑥 + 1, 𝑦 − 2𝑓 𝑥, 𝑦 + 𝑓 𝑥 − 1, 𝑦
 Tương tự ta có
𝜕2 𝑓
 2 ≈ 𝑓 𝑥, 𝑦 + 1 − 2𝑓 𝑥, 𝑦 + 𝑓 𝑥, 𝑦 − 1
𝜕𝑦
2
 ∆ 𝑓 ≈ 𝑓 𝑥 + 1, 𝑦 + 𝑓 𝑥 − 1, 𝑦 − 4𝑓 𝑥, 𝑦 +
𝑓 𝑥, 𝑦 + 1 + 𝑓 𝑥, 𝑦 − 1
Phương pháp Laplacian
95

 Dưới đây là ba kiểu mặt nạ thường dùng:


Phương pháp Laplacian
6/23/
2020

96
Phương pháp Laplacian
6/23/
2020

1. Filter the input image with an nxn Gaussian lowpass filter. N is


the smallest odd integer greater than or equal to 6

2. Compute the Laplacian of the image resulting from step1

3. Find the zero crossing of the image from step 2


g ( x, y)   G( x, y) f ( x, y)
2

97
Phương pháp Laplacian
6/23/
2020

98
2.3. Kỹ thuật Canny
99

 Đây là thuật toán tương đối tốt, đưa ra đường biên


mảnh, phát hiện chính xác điểm biên với điểm nhiễu
 Các bước của thuật toán
 Bước 1: Làm trơn ảnh. Tính tích chập G= I ⊗ H, với
2 4 5 4 2
4 9 12 9 4
H = 5 12 15 12 5
4 9 12 9 4
2 4 5 4 2
 Bước 2: Tính Gradient của ảnh bằng mặt nạ Prewitt theo
hai hướng x, y. Gọi là Gx, Gy.
100

 Bước 3: Tính Gradient theo 8 hướng tương ứng với 8 lân


cận của 1 điểm ảnh
 Bước 4: Loại bỏ những điểm không phải cực nhằm xóa bỏ
những điểm không thuộc biên
 Bước 5: Phân ngưỡng. Thực hiện lấy Gradient lần cuối.
The Canny Edge Detector: Algorithm (1)
6/23/
2020

Let f ( x, y ) denote the input image and


G ( x, y ) denote the Gaussian function:
x2  y 2

G ( x, y )  e 2 2

We form a smoothed image, f s ( x, y ) by


convolving G and f :
f s ( x, y )  G ( x, y ) f ( x, y )

101
The Canny Edge Detector: Algorithm(2)
6/23/
2020

Compute the gradient magnitude and direction (angle):


M ( x, y)  g x 2  g y 2
and
 ( x, y)  arctan( g y / g x )
where g x  f s / x and g y  f s / y

Note: any of the filter mask pairs in Fig.10.14 can be used


to obtain g x and g y

102
The Canny Edge Detector: Algorithm(3)
6/23/
2020

The gradient M ( x, y ) typically contains wide ridge around


local maxima. Next step is to thin those ridges.
Nonmaxima suppression:
Let d1 , d 2 , d3 , and d 4 denote the four basic edge directions for
a 3  3 region: horizontal, -45o , vertical,+45 , respectively.
1. Find the direction d k that is closest to  ( x, y ).
2. If the value of M ( x, y ) is less than at least one of its two
neighbors along d k , let g N ( x, y )  0 (suppression);
otherwise, let g N ( x, y )  M ( x, y )

103
6/23/
2020

104
The Canny Edge Detector: Algorithm(4)
6/23/
2020

The final operation is to threshold g N ( x, y ) to reduce


false edge points.

Hysteresis thresholding:
g NH ( x, y)  g N ( x, y)  TH
g NL ( x, y)  g N ( x, y)  TL
and
g NL ( x, y)  g NL ( x, y )  g NH ( x, y )

105
The Canny Edge Detector: Algorithm(5)
6/23/
2020

Depending on the value of TH , the edges in g NH ( x, y )


typically have gaps. Longer edges are formed using
the following procedure:
(a). Locate the next unvisited edge pixel, p, in g NH ( x, y ).
(b). Mark as valid edge pixel all the weak pixels in g NL ( x, y )
that are connected to p using 8-connectivity.
(c). If all nonzero pixel in g NH ( x, y ) have been visited go to
step (d), esle return to (a).
(d). Set to zero all pixels in g NL ( x, y ) that were not marked as
valid edge pixels.
106
The Canny Edge Detection: Summary
6/23/
2020

 Smooth the input image with a Gaussian filter

 Compute the gradient magnitude and angle images

 Apply nonmaxima suppression to the gradient magnitude image

 Use double thresholding and connectivity analysis to detect and link


edges

107
6/23/
2020

TL  0.04; TH  0.10;  4 and a mask of size 25  25


108
6/23/
2020

TL  0.05; TH  0.15;  2 and a mask of size 13109


13
6/23/
2020

110
Nhân xét kết quả phát hiện biên
111

 Các kỹ thuật dò biên đã nêu ở trên (Gradient,


Laplace, Canny):
 Rất nhạy cảm với nhiễu.
 Thực tế chỉ làm nổi biên
 Khó điều chỉnh ảnh biên
 Khó sử dụng cho việc nhận dạng đối tượng
 Các kỹ thuật này chưa đạt được sự hoàn thiện
mong muốn
 Phương pháp phát hiện biên = học biên
Lý do:
112

 Lý tưởng (ảnh đen trắng) đồ thị sự biến thiên mức xám


rõ ràng
 Thực tế với các ảnh đa mức xám  xác định nghưỡng
tách biên rất khó
Các pp phát hiện biên mới
Các pp phát hiện biên mới
Các pp phát hiện biên mới
Edgeness = learning edge

Ảnh gốc Ảnh biên chuẩn bị bằng tay


Edgeness = learning edge
Edgeness = learning edge
Đánh giá các pp

Evaluation Dataset
Edge Linking and Boundary Detection
6/23/
2020

 Edge detection typically is followed by linking algorithms designed


to assemble edge pixels into meaningful edges and/or region
boundaries

 Three approaches to edge linking


 Local processing
 Regional processing
 Global processing

120
Local Processing
6/23/
2020

 Analyze the characteristics of pixels in a small neighborhood about


every point (x,y) that has been declared an edge point

 All points that similar according to predefined criteria are linked,


forming an edge of pixels.
Establishing similarity: (1) the strength (magnitude) and (2) the
direction of the gradient vector.
A pixel with coordinates (s,t) in Sxy is linked to the pixel at (x,y) if
both magnitude and direction criteria are satisfied.

121
Local Processing
6/23/
2020

Let S xy denote the set of coordinates of a neighborhood


centered at point (x, y ) in an image. An edge pixel with
coordinate (s, t ) in S xy is similar in magnitude to the pixel
at (x, y ) if
M ( s, t )  M ( x , y )  E

An edge pixel with coordinate (s, t ) in S xy is similar in angle


to the pixel at (x, y) if
 ( s, t )   ( x, y)  A

122
Local Processing: Steps (1)
6/23/
2020

1. Compute the gradient magnitude and angle arrays, M(x,y) and


, of the input image f(x,y)
 ( x, y)

2. Form a binary image, g, whose value at any pair of coordinates


(x,y) is given by

 1 if M ( x, y )  TM and  ( x, y )  A  TA
g ( x, y )  
0 otherwise
TM : threshold A : specified angle direction
TA : a "band" of acceptable directions about A

123
Local Processing: Steps (2)
6/23/
2020

3. Scan the rows of g and fill (set to 1) all gaps (sets of 0s) in each
row that do not exceed a specified length, K.

4. To detect gaps in any other direction, rotate g by this angle and


apply the horizontal scanning procedure in step 3.

124
Regional Processing
6/23/
2020

 The location of regions of interest in an image are known or can be


determined

 Polygonal approximations can capture the essential shape features


of a region while keeping the representation of the boundary
relatively simple

 Open or closed curve


Open curve: a large distance between two consecutive points in the
ordered sequence relative to the distance between other points

125
6/23/
2020

126
Regional Processing: Steps
6/23/
2020

1. Let P be the sequence of ordered, distinct, 1-


valued points of a binary image. Specify two
starting points, A and B.
2. Specify a threshold, T, and two empty stacks,
OPEN and ClOSED.
3. If the points in P correspond to a closed curve,
put A into OPEN and put B into OPEN and
CLOSES. If the points correspond to an open
curve, put A into OPEN and B into CLOSED.
4. Compute the parameters of the line passing
from the last vertex in CLOSED to the last
vertex in OPEN.
127
Regional Processing: Steps
6/23/
2020

5. Compute the distances from the line in Step 4


to all the points in P whose sequence places
them between the vertices from Step 4. Select
the point, Vmax, with the maximum distance,
Dmax
6. If Dmax> T, place Vmax at the end of the OPEN
stack as a new vertex. Go to step 4.
7. Else, remove the last vertex from OPEN and
insert it as the last vertex of CLOSED.
8. If OPEN is not empty, go to step 4.
9. Else, exit. The vertices in CLOSED are the
vertices of the polygonal fit to the points in P.
128
6/23/
2020

129
6/23/
2020

130
6/23/
2020

131
Global Processing Using the Hough Transform
6/23/
2020

 “The Hough transform is a general technique for identifying the


locations and orientations of certain types of features in a digital
image. Developed by Paul Hough in 1962 and patented by IBM,
the transform consists of parameterizing a description of a feature
at any given location in the original image’s space. A mesh in the
space defined by these parameter is then generated, and at each
mesh point a value is accumulated, indicating how well an object
generated by the parameters defined at that point fits the given
image. Mesh points that accumulate relatively larger values then
describe features that may be projected back onto the image,
fitting to some degree the features actually present in the image.”
http://planetmath.org/encyclopedia/HoughTransform.html

132
Hough transformation
6/23/
2020

133
6/23/
2020

134
Edge-linking Based on the Hough Transform
6/23/
2020

1. Obtain a binary edge image

2. Specify subdivisions in
  plane
3. Examine the counts of the accumulator cells for high pixel
concentrations

4. Examine the relationship between pixels in chosen cell

135
6/23/
2020

136
6/23/
2020

137

You might also like