Tải bản đầy đủ (.docx) (13 trang)

BÁO CÁO ĐỒ ÁN NHẬP MÔN XỬ LÝ ẢNH Đề tài Phát hiện biên theo phương pháp Sobel & Canny

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (298.56 KB, 13 trang )

PHÁT HIỆN BIÊN THEO PHƯƠNG PHÁP SOBEL & PHƯƠNG PHÁP CANNY

BỘ QUỐC PHÒNG
HỌC VIỆN KỸ THUẬT QUÂN SỰ
KHOA CNTT
------------------------*********---------------------------

BÁO CÁO ĐỒ ÁN
NHẬP MÔN XỬ LÝ ẢNH

Đề tài:

Phát hiện biên theo phương pháp Sobel & Canny
Giáo viên hướng dẫn : Nguyễn Văn Giang
Sinh viên thực hiện : Đặng Văn Lâm (23/08/1992)
Lớp
: Tin Học 9B

Hà Nội, tháng 05 năm 2014

1 | Đặng Văn Lâm – Tin học 9b


PHÁT HIỆN BIÊN THEO PHƯƠNG PHÁP SOBEL & PHƯƠNG PHÁP CANNY

Mục lục

2 | Đặng Văn Lâm – Tin học 9b


PHÁT HIỆN BIÊN THEO PHƯƠNG PHÁP SOBEL & PHƯƠNG PHÁP CANNY



LỜI NÓI ĐẦU
Xử lý ảnh là một lĩnh vực đang được quan tâm và đã trở thành một
môn học chuyên ngành của sinh viên hệ kĩ sư, hệ cử nhân ngành công nghệ
thông tin, cũng như những ngành kĩ thuật khác trong các trường đại học kĩ thuật.
Xử lý ảnh có liên quan đến nhiều ngành khác như: Hệ thống tin học, lý thuyết
thông tin, lý thuyết thống kê, trí tuệ nhân tạo, nhận dạng, tách biên v.v…Xử lý ảnh
nghiên cứu tất cả những gì liên quan đến việc thao tác trên ảnh như: Biểu diễn
ảnh, thu nhận ảnh, tăng cường và khôi phục ảnh nhằm thu được ảnh như
mong muốn. Mỗi vấn đề đều cần có những xử lý về thuật toán tại mỗi điếm
ảnh hay phần tử ảnh. Việc tìm hiểu giúp chúng ta hiểu sâu hơn về cơ chế, nguyên
tắc xử lý ảnh, điều chỉnh màu, độ sáng tối, độ tương phản,…làm cho hình ảnh đẹp
và nghệ thuật hơn. Do đó xử lý ảnh là lĩnh vực được rất nhiều quan tâm và trở
thành niềm đam mê của rất nhiều sinh viên.
Trong bài báo cáo này, em xin đưa ra đề tài: Tách biên ảnh bằng phương
pháp Canny và Sobel.
Để đạt được thành công, em cần sự góp ý của thầy cô và các bạn.
Em xin chân thành cảm ơn!

3 | Đặng Văn Lâm – Tin học 9b


PHÁT HIỆN BIÊN THEO PHƯƠNG PHÁP SOBEL & PHƯƠNG PHÁP CANNY

CÁC KHÁI NIỆM CƠ BẢN
Biên ảnh: Biên ảnh là những điểm mà tại đó cường độ sáng của ảnh liên tục có
bước nhảy hoặc biến thiên nhanh. Một điểm ảnh có thể coi là điểm biên nếu ở đó
có sự thay đổi đột ngột về mức xám. Tập hợp các điểm biên tạo thành đường biên
(edge) hay đường bao (boundary) của ảnh.
Vùng ảnh: là tập tất cả những điểm ảnh thuộc về một đối tượng trong ảnh.

Ranh giới giữa các vùng ảnh gọi là biên ảnh và các đường biên khép kín cho phép
xác định vùng ảnh.
Các phương pháp phát hiện biên: trực tiếp & gián tiếp
- Trực tiếp: Phương pháp này 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. Kỹ thuật chủ yếu dùng phát hiện biên ở đây là 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 ta có phương pháp Laplace. Hai kỹ thuật
trên gọi là phương pháp dò biên cục bộ. Phương pháp dò biên trực tiếp khá
hiệu quả và ít chịu ảnh hưởng của nhiễu.
- Gián tiếp: nếu bằng cách nào đấy ta phân được ảnh thành các vùng thì
đường phân cách giữa các vùng đó chính là biên. Nói cách khác, việc xác
định đường biên của ảnh được thực hiện từ ảnh đã được phân vùng. Việc
phân vùng ảnh thường dựa vào kết cấu (texture) bề mặt của ảnh. 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 khá nhỏ.
Quy trình phát hiện biên trực tiếp:
- B1: Khử nhiễu ảnh: Vì ảnh thu nhận được thường có nhiễu nên bước đầu
tiên là phải khử nhiễu
- B2: Làm nổi biên bởi các toán tử đạo hàm
- B3: Định vị biên. Vì các kỹ thuật làm nổi biên có tác dụng phụ là tăng nhiễu,
do vậy sẽ có một số biên giả xuất hiện cần phải loại bỏ.
- B4: Liên kết và trích chọn biên.
Trong giới hạn tìm hiểu của đề tài, ta nghiên cứu hai phương pháp phát hiện
biên trực tiếp là phát hiện biên theo phương pháp Sobel và phát hiện biên theo
phương pháp Canny.

4 | Đặng Văn Lâm – Tin học 9b


PHÁT HIỆN BIÊN THEO PHƯƠNG PHÁP SOBEL & PHƯƠNG PHÁP CANNY


PHẦN I: PHÁT HIỆN BIÊN THEO PHƯƠNG PHÁP SOBEL
I. Cơ sở lý thuyết của thuật toán
Phương pháp Gradient là phương pháp dò biên cục bộ bằng cách tìm kiếm cực
đại và cực tiểu khi lấy đạo hàm bậc nhất của ảnh trong không gian hai chiều.
Toán tử Sobel là một toán tử trong phương pháp Gradient
Toán tử Sobel được Duda và Hart đặt ra năm 1973 với hai mặt nạ nhân chập
3*3 theo hướng x, y có cấu hình như dưới đây để xấp xỉ đạo hàm bậc nhất Gx, Gy:

Nói cách khác, gradient tại điểm tâm trong một lân cận được tính theo bộ tách
Sobel:

Khi đó, ta nói rằng vị trí (x, y) là điểm biên nếu G ≥ T tại vị trí đó, trong đó T là
ngưỡng được chỉ định.
Hướng của biên được xác định:
Gy , Gx)

II. Mô tả thuật toán
Thuật toán phát hiện biên theo phương pháp Sobel được thực hiện qua các bước
sau:
B1: Tính I(x, y) × Gx = I1 và I(x, y) × Gy = I2
B2: Tính |I1| + |I2| = Is
B3: Hiệu chỉnh I(x,y) = Is ≥ ? 1:0

PHẦN II: PHÁT HIỆN BIÊN THEO PHƯƠNG PHÁP CANNY
I. Cơ sở lý thuyết của thuật toán
1. Nguyên lý của thuật toán

Kỹ thuật phát hiện biên theo phương pháp Canny là phương pháp phát hiện biên
trực tiếp rất hiệu quả áp dụng cho loại ảnh nhiễu. Phương pháp này do Canny ở

phòng thí nghiệm MIT khởi xướng năm 1986. Canny đã đưa ra tập hợp các mục
5 | Đặng Văn Lâm – Tin học 9b


PHÁT HIỆN BIÊN THEO PHƯƠNG PHÁP SOBEL & PHƯƠNG PHÁP CANNY

tiêu của một phương pháp phát hiện biên và đưa ra một phương pháp tối ưu để
thực hiện các mục tiêu đó. Phương pháp này gọi là phương pháp Canny.
Canny đưa ra 3 điểm chính mà một phương pháp phát hiện biên phải xác định
được, đó là:
- Tỉ lệ sai thấp: Nghĩa là phải tìm ra tất cả các biên và không có đường biên
nào bị bỏ sót.
- Các điểm biên phải được xác định chính xác: Khoảng cách giữa các điểm
biên được tìm thấy trong giải thuật và biên trong thực tế phải càng nhỏ càng
tốt.
- Đáp ứng điểm đơn biên: Không được phép chỉ ra nhiều biên trong khi chỉ có
một biên tồn tại.
Bản chất của thuật toán Canny là biểu diễn theo toán học 3 tiêu chuẩn đó và cố
gắng tìm ra giải pháp tối ưu cho những mục đích này. Canny đã giả thiết rằng
nhiễu trong ảnh tuân theo phân bố Gauss, đồng thời ông cũng cho rằng một
phương pháp tìm biên thực chất là một bộ lọc nhân xoắn (chập) có khả năng làm
mịn nhiễu và định vị được cạnh. Vấn đề là làm sao để có một bộ lọc tối ưu nhất.
2. Nội dung của thuật toán

Về mặt một chiều, đáp ứng của bộ lọc f với biên G được tính bởi tích phân
chập:

Dưới đây là việc xây dựng một bộ lọc tối ưu f được xấp xỉ bằng đạo hàm.
Bộ lọc f được giả thiết f=0 ngoài đoạn (-w, w). Ba ràng buộc trên tương ứng với
ba điều kiện như sau:


6 | Đặng Văn Lâm – Tin học 9b


PHÁT HIỆN BIÊN THEO PHƯƠNG PHÁP SOBEL & PHƯƠNG PHÁP CANNY

Trong đó:
- SNR (tỉ lệ sai): nhằm tìm một hàm f(x) phản đối xứng sao cho tỉ số giữa tín
hiệu và nhiễu là cực đại.
- Các giá trị Localization: đại diện cho nghịch đảo chênh lệch mức xám giữa
các điểm trong cùng một biên và càng lớn càng tốt.
- Xzc: ràng buộc này nhằm hạn chế điểm cực trị cục bộ với mục đích cung cấp
chỉ một đường biên.
Canny cố gắng tìm ra bộ lọc f làm cực đại tích SNR* Localization. Nhưng cuối
cùng thì một sự xấp xỉ có hiệu quả của f lại chính là đạo hàm bậc nhất của hàm
Gauss. Nhắc lại hàm Gauss có dạng như sau:

Đạo hàm bậc nhất của Gaussian theo x của G(x):

Hàm Gaussian trong không gian hai chiều có dạng như sau:

Khi đó G có đạo hàm theo cả hai hướng x và y. Sự xấp xỉ với bộ lọc tối ưu của
thuật toán phát hiện biên Canny chính là G’ và do vậy, bằng phép nhân xoắn ảnh
vào với G’ ta thu được ảnh E đã được tách biên ngay cả trong trường hợp ảnh có
nhiều nhiễu.
Phép nhân xoắn thực hiện một cách dễ dàng trong khi việc tính toán khá phức
tạp, nhất là nhân xoắn với mảng hai chiều. Tuy nhiên một phép nhân xoắn với
mảng hai chiều Gauss có thể được chia thành hai phép nhân xoắn với mặt nạ Gauss
một chiều. Việc vi phân cũng có thể được thực hiện bằng phép nhân xoắn ở mảng
một chiều tạo nên hai ảnh: ảnh một là việc nhân xoắn thành phần của x với mảng

một chiều, ảnh hai là việc nhân xoắn thành phần của y.
7 | Đặng Văn Lâm – Tin học 9b


PHÁT HIỆN BIÊN THEO PHƯƠNG PHÁP SOBEL & PHƯƠNG PHÁP CANNY

II. Mô tả thuật toán
1. Các bước của thuật toán

Thuật toán được tiến hành qua 4 bước cơ bản sau:
- Đọ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. Độ lệch tiêu chuẩn của bộ lọc này chính là tham số để tách cạnh.
- Đạ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 xoắn ả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 xoắn với Gauss.
- Cho ảnh kết quả ở bước trên tiến hành “Non- maximum Suppression” nghĩa
là loiaj 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.
- 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.
2. Giải thích thuật toán

• Bước thứ nhất: Tiến hành làm trơn ảnh
Ở bước này chúng ta tiến hành nhân ảnh với bộ lọc Gauss. Cách thức tiến hành
giống như ở Laplace of Gauss.
• Bước thứ hai: Đạo hàm kết quả ở bước 1
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.
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 với ảnh I.
8 | Đặng Văn Lâm – Tin học 9b


PHÁT HIỆN BIÊN THEO PHƯƠNG PHÁP SOBEL & PHƯƠNG PHÁP CANNY

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
xoắn với ảnh thay vì nhân xoắn ảnh với hàm Gauss rồi mới đạo hàm.

Hình 1. Đạo hàm Gauss theo hai hướng x và y
Như vậy, cách thức thực hiện bước thứ hai như sau:
Sau khi tiến hành nhân xoắn ả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 lại kết quả.
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 hai bằng cách nhân ảnh kết quả S ở bước một
với các mặt nạ trong phương pháp Gradient dựa theo các toán tử như Sobel, Pixel
Difference
Ở đây ta tiến hành nhân xoắn ảnh S với hai mặt nạ của phương pháp Sobel theo
hai hướng x và y như sau:

9 | Đặng Văn Lâm – Tin học 9b



PHÁT HIỆN BIÊN THEO PHƯƠNG PHÁP SOBEL & PHƯƠNG PHÁP CANNY

Sau khi tiến hành nhân xoắn ảnh theo hai hướng x và y ta được hai ảnh 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ả cuối cùng
S’:

Hướng của biên như sau:

Ảnh S’ tìm được là kết quả của bước thứ hai.
• Bước thứ ba: Tiến hành “Non- maximum Suppression”
Tức là loại bỏ một số cạnh dư thừa: Đớ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. 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 là 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 dưới:

Hình 2. Hình mô tả các điểm biên lân cận
10 | Đặng Văn Lâm – Tin học 9b


PHÁT HIỆN BIÊN THEO PHƯƠNG PHÁP SOBEL & PHƯƠNG PHÁP CANNY

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ả 2 điểm biên lân cận theo các hướng biên khác nhau như
bảng dưới đây:

Ta tiến hành thực hiện:
- Tại mỗi điểm ảnh, ta tiến hành tính toán 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 lân cậ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.
• Bước thứ tư: Tiến hành áp dụng ngưỡng
Sau khi tiến hành bước 3 ta tiến hành áp dụng ngưỡng: sử dụng hai ngưỡng là
ngưỡng cao Th và ngưỡng thấp Tl.
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) + Nếu Tl ≤ I(x,y) điểm lân cận:
Nếu một trong 8 điểm lân cận có giá trị >T h: 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).

11 | Đặng Văn Lâm – Tin học 9b


PHÁT HIỆN BIÊN THEO PHƯƠNG PHÁP SOBEL & PHƯƠNG PHÁP CANNY

Dưới đây là kết quả sau khi thực hiện phát hiện biên Canny:

III.


Nhận xét & đánh giá

1. Nhận xét kết quả

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.
Ở đây ta đánh giá phương pháp Canny với độ lệch chuẩn σ khác nhau và các
ngưỡng khác nhau:
- Khi ta thay đổi σ, ngưỡng cao và ngưỡng thấp vẫn giữ nguyên: T h=100 và
Tl=30, ta có kết quả (σ=0,8. 1. 1,4)
Qua kết quả ở trên ta có một số nhận xét sau:
+ Khi ta thay đổi độ lệch tiêu chuẩn σ thì ảnh kết quả cũng thay đổi. Ảnh kết
quả (b), (c), (d) với độ lệch tiêu chuẩn tương ứng là 0,8; 1,0; 1,4 cho ra các
điểm biên khác nhau. Ảnh (b) có số lượng biên cao nhất, còn ảnh (d) có số
lượng điểm biên thấp nhất.
+ Càng tăng độ lớn của độ lệch chuẩn thì số lượng các điểm biên xác định
được ngày càng giảm. Nghĩa là đối với ảnh có nhiều nhiễu thì càng tăng độ
lệch 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.
- Còn khi thay đổi ngưỡng thấp và ngưỡng cao (giữ nguyên σ) 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 2 ngưỡng còn tùy thuộc vào các điểm lân cận). Nên ta thấy:
+ Khi ngưỡng thấp và ngưỡng cao đều thấp thì số lượng biên phát hiện ra rất
nhiều
+ Khi cả hai ngưỡng đều cao thì số lượng điểm biên phát hiện được là rất ít,
chỉ những điểm có mức xám cao mới có thể thành 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.

(50;30), (200,100), (200,30), (250,200)
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. Đánh giá thuật toán

Từ các kết quả ở trên, ta có một số nhận xét sau:

12 | Đặng Văn Lâm – Tin học 9b


PHÁT HIỆN BIÊN THEO PHƯƠNG PHÁP SOBEL & PHƯƠNG PHÁP CANNY

• Đối với ảnh không nhiễu: Do quá trình làm trơn ảnh nên từ một ảnh
không nhiễu các biên mờ bớt đi và to ra. Do vậy, biên ảnh trong phương
pháp Canny lớn nhưng lại không đầy đủ  không nên áp dụng
• Đối với ảnh có nhiều cạnh: Khi phát hiện biên các cạnh không quan
trọng nên được loại bỏ. Do quá trình “Non- maximum Suppression” và
do quá trình áp dụng ngưỡng mà các điểm biên phụ bị loại bớt đi, các
biên chính được giữ lại nên biên rõ nét hơn.
• Đối với ảnh có nhiều nhiễu: Do quá trình làm trơn ảnh cho bớt nhiễu và
quá trình “Non- maximum Suppression” giảm bớt các biên phụ nên ảnh
kết quả của phương pháp này rất rõ nét. Vì vậy phương pháp này rất thích
hợp cho loại ảnh này.

13 | Đặng Văn Lâm – Tin học 9b



×