Các toán tử dò cạnh dựa trên gradient bậc nhất,... Trang bị cho sinh viên nền tảng lý thuyết để thực hiện bài toán dò cạnh Trang bị các toán tử phổ biến mặt nạ dùng để dò cạnh Trìn
Trang 1BÀI TOÁN DÒ CẠNH
TS NGÔ QUỐC VIỆT
TPHCM-2014
Trang 21. Các toán tử dò cạnh dựa trên gradient bậc nhất,
Trang 3 Trang bị cho sinh viên nền tảng lý thuyết để thực hiện bài toán dò cạnh
Trang bị các toán tử phổ biến (mặt nạ) dùng để dò cạnh
Trình bày các trở ngại (nhiễu, cạnh dầy) và hướng giải quyết cho bài toán dò cạnh
Cung cấp các kỹ năng cần thiết sử dụng OpenCV để thực hiện dò cạnh
3 Bài giảng Xử lý ảnh - TS Ngô Quốc Việt
Trang 4 Nhằm biến đổi ảnh thành tập các curve
hai thông tin hữu ích cho các bài toán dựa trên ảnh
ảnh (cạnh hình dáng, kích cỡ, vị trí đối tượng)
Trang 5 Cạnh có thể được biểu hiện bởi một số thay đổi có trong ảnh
Cạnh là nơi xảy ra sự thay đổi đột ngột hay không
liên tục (discontinuity) về độ sáng, bề mặt, màu sắc
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 5
depth discontinuity
surface color discontinuity
illumination discontinuity surface normal discontinuity
Trang 6 Sự thay đổi có thể đo bằng đạo hàm bậc nhất hoặc
Thay đổi cực đại, đạo hàm có có biên độ cực đại hay đạo hàm bậc hai bằng zero
Thông tin biên được phát hiện bởi pixel trung tâm
và các pixel lân cận
Nếu cường độ sáng các điểm ảnh lân cận xấp xỉ cường độ sáng điểm ảnh trung tâm, thì điểm ảnh đó không là điểm thuộc cạnh
Nếu các lân cận của điểm ảnh trung tâm đang xét
Trang 7 Phương pháp đạo hàm bậc nhất hay Gradient
Trang 8 Kỹ thuật chủ yếu dùng để phát hiện cạnh dựa vào sự
biến đổi cường độ xám theo hướng
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
Tiếp cận dựa trên gradient hiệu quả khi cường độ sáng thay đổi rõ nét trên biên Nghĩa là biến thiên
độ sáng là đột ngột
Tại điểm có thay đổi nhiều nhất (độ dốc lớn nhất), đạo hàm bậc nhất có giá trị cực đại
Điểm trên cạnh có cực trị biên độ gradient
Phương pháp gradient dựa trên so sánh biên độ với một ngưỡng
Trang 9Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 9
Hướng gradient xác định bởi:
Độ đo cạnh xác định bởi biên độ gradient
y
f x
f f
Trang 10 Gradient rời rạc được xấp xỉ bởi đạo hàm bậc nhất
Đạo hàm bậc hai
Làm cách nào chuyển từ gradient sang dạng mặt nạ
để thực hiện toán tử chập H?
Trang 11 Chỉ kiểm tra điểm ảnh thuộc cạnh hay không
Làm việc tốt với ảnh nhị phân Mục tiêu là để dò cạnh nhanh
Làm việc không tốt với cạnh nhiễu
Dạng của toán tử Roberts chéo
Mục tiêu là xác định gradient theo các hướng chéo
so với pixel hiện hành
Differences được tính tại điểm [r+1/2, c+1/2], không phải tại [r, c]
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 11
|),1(
)1,
(
|
|)1,
1(
),(
|)]
,(
1
0
2
h
Trang 12 Xét khác biệt theo hai hướng ngang và dọc, sau đó kết hợp cả hai nhằm xác định biên độ hay hướng
Biên độ cạnh =
Hướng cạnh =
1 1 1
1 0 1
1 1
1
0 0
0
1 1
1 0
1
1 0
1
1 0
Trang 13 Xấp xỉ đạo hàm tồn tại tốt hơn
Tương tự toán tử Prewit, nhưng sử dụng các hệ số mặt nạ khác:
1 8
1 1
2 1
0 0
0
1 2
1 8
1 8
1 1
0 1
2 0 2
1 0 1 8
Trang 14Mặt nạ Prewitt dò cạnh xéo
Mặt nạ Sobel dò cạnh xéo
Trang 15Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 15
1
0 0
0
1 2
2 0 2
1 0 1
x
H
Trang 160 0
0
1 2
2 0 2
1 0 1
x
H
Trang 17Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 17
1
0 0
0
1 2
2 0 2
1 0 1
x
H
Trang 180 0
0
1 2
2 0 2
1 0 1
x
H
Trang 19 Cho một mặt nạ và quay nó theo 8 hướng chính: N,
Trang 20 Các mặt nạ Kirsch được xác định như sau:
Ví dụ: Nếu NE tạo biên độ cạnh lớn nhất, thì hướng cạnh là NE (Northeast)
5 0
3
5 3 3
3
5 0
3
5 5
3
3 0
3
5 5
3
3 0
5
3 5
5
3 0
5
3 3
5
3 0
5
3 3
5
3 0
3
3 3
3
5 0
3
5 3 3
SE
Trang 21 Tương tự như mặt nạ Kirsch, nhưng các hệ số là 0,
2 0 2
1 0 1
1 0 1
2 1
1
0 0
0
1 2
0
1 0
1
0 1
1
2 0
2
1 0
2
1 0
1
2 1
1
0 0
0
1 2
1 0 1
0 1 2
SE
Trang 22 Nhiễu – các toán tử dò cạnh dựa trên đạo hàm bậc nhất bị ảnh hưởng bởi nhiễu– có thể dùng các bộ lọc làm trơn ảnh trước
Cạnh dày – cạnh sẽ có nhiều pixel với toán tử Sobel – tuy nhiên cạnh có thể bị nhòe và không định vị chính xác
Toán tử Roberts không làm việc tốt cho ảnh nhiễu
Toán tử Sobel có xu hướng tính trung bình và tập trung vào pixel gần tâm của nhân chập Toán tử này ít bị ảnh hưởng bởi nhiễu hơn, và được dùng phổ biến để dò cạnh
Trang 23 Xét hình sau Cạnh ở đâu trong hình, làm cách nào
để dò cạnh
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 23
Cạnh ở đâu?
Nguồn: S.Sietz
Trang 24 Zero crossing của đạo hàm bậc hai xác định sự tồn tại của cực trị
Trang 26 Còn gọi bộ dò cạnh Marr-Hildreth
Các bước thực hiện
Làm trơn ảnh với Gaussian filter
Nâng cấp cạnh với Laplacian operator
Kiểm tra Zero crossings để xác định điểm trên
cạnh
Sử dụng nội suy tuyến tính để xác định vị trí
sub-pixel của cạnh
Trang 27 Được định nghĩa bởi
Giá trị càng lớn, lọc Gaussian càng rộng,
hiệu ứng làm trơn càng nhiều
Làm trơn quá nhiều sẽ ảnh hưởng đến dò cạnh
Bài tập: viết code (C++/C#/JAVA/MATLAB) phát sinh nhân chập LoG
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 27
2
2 2 2 2
2 2
4
2 1
1 )
e
y
x y
x LoG
Trang 28 Hình dạng hàm lọc có dạng Mexican Hat (nên còn gọi là toán tử Mexican Hat)
Trang 29 Nhân chập Mexican Hat với giá trị = 1.4
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 29
Trang 30 LoG cần nhiều tính toán khi kích thước nhân chập
) 2
2 2 (
2 1
) 2
2 2 (
22
),(
2 2
2 1
x
e
e y
x DoG
Trang 32 Một số mặt nạ dò cạnh theo DoG
Trang 33Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 33
Laplacian
Laplacian*I
Duplicate boundary row & cols trước khi chập
Trang 34 Đạo hàm bậc hai, cụ thể là phương pháp dựa trên Laplacian, vẫn còn ảnh hưởng nhiều bởi nhiễu
Khả năng dò cạnh sai và mất cạnh vẫn còn
Tuy nhiên, định vị cạnh chính xác hơn so với các phương pháp dựa trên gradient
Trang 35Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 35
Cạnh
thật
Bị tác động bởi nhiễu Poor robustness
To noise
Vị trí sai Poor Localization
Dư quá nhiều Multiple Responses
Trang 36Dò cạnh tối ưu phụ thuộc vào các yếu tố
Tỉ lệ lỗi thấp – cạnh không bị thiếu và không được có điểm sai
Vị trí đúng – khoảng cách giữa điểm cạnh dò được và tâm thật sự của cạnh phải nhỏ nhất
Single response – không dư pixel khi dò cạnh
Trang 37 Các tiêu chuẩn có thể định lượng bằng công thức
Tỉ lệ lỗi nhiễu
Localization:
Mục tiêu là cần tìm min biểu thức
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 37
RMS of Filter to edge RMS of Filter to noise
) (
* )
Trang 38 Phát triển bởi John F Canny (1986)
Gy Gx
Trang 40 Bước 5: khử những non-maxima– theo vết
dọc theo hướng cạnh và loại bỏ pixel không được xem nằm trên cạnh Nhằm tạo ra cạnh mịn
Bước 6: dùng ngưỡng double / hysteresis
(ngưỡng kép hoặc ngưỡng trễ) để loại bỏ streaking (sọc trên cạnh)
Trang 41 Ước lượng hướng chính theo nguyên tắc
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 41
4142 0
tan 4142
2 -
:
3
4142 2
| tan
|
:
2
4142 2
tan 4142
0
:
1
4142 0
tan 4142
0
:
0
θ
.
θ
θ
θ
-
Trang 42 Loại bỏ các pixel có |G| không là cực trị cục bộ
) , ( )
, (
&
) , ( )
, ( if )
, ( , G x y G x y
y x G y
x G y
x G y
x M
(x’, y’) và (x’’, y’’) là lân cận của (x, y) dọc
theo hướng của gradient tại (x, y)
Trang 43Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 43
Hướng chính 90 độ
Các pixel khoanh trắng được giữ lại sau bước Non-Max Suppession
Trang 44Cho trước cặp giá trị (High, Low), nếu biên độ của
gradient tại pixel:
Lớn hơn “High”, pixel được gán nhãn ‘edge
pixel’
Nhỏ hơn “Low”, pixel được gán
nhãn“non-edge-pixel”
Giữa “Low” và “High”
Kiểm tra các lân cận của pixel, nếu tồn tại một điểm
ảnh có biên độ gradient lớn hơn “High” thì gán pixel
đó nhãn “edge pixel” ngược lại gán
“non-edge-pixel”
Trang 45 cvSobel( const CvArr* src, CvArr* dst, int xorder, int yorder, int aperture_size=3 )
aperture_size=3 )
threshold1, double threshold2, int aperture_size=3 );
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 45
Trang 46Tham khảo: openCV_Canny(x)
Trang 47 Thuật giải dò cạnh được phát triển dựa trên đạo hàm bậc một hoặc hai
Các toán tử Prewitt, Sobel (đạo hàm bậc nhất), hoặc các toán tử dựa trên Laplacian (đạo hàm bâc hai) như LoG hoặc DoG đều bị nhạy với ảnh nhiễu
Thuật giải Canny được phát triển dựa trên đạo hàm bậc nhất (dùng toán tử Sobel hoặc Prewitt), nhưng thêm một số bước để dò cạnh được tối ưu
Bài giảng Xử lý ảnh - TS Ngô Quốc Việt 47
Trang 481. Cài đặt chương trình minh họa dò cạnh với các
toán tử Prewitt, Sobel, Log, DoG
2. Cài đặt lại dò cạnh Canny trên ảnh tĩnh với các
tham số High, Low và kiểu và kích thước mặt nạ thay đổi