1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm Hiểu Ứng Dụng Phương Pháp Lọc Canny Để Phát Hiện Và Tách Biên. Đánh Giá Thực Nghiệm Hiệu Quả Của Phương Pháp Lọc Canny So Với Các Phương Pháp Lọc Prewitt..pdf

18 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 3,93 MB

Nội dung

Các phương pháp phát hiện biên: trực tiếp và 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.. Quy trình phát hiện biên trực

Trang 1

CHƯƠNG 1 : CÁC BƯỚC TÁCH BIÊN BẰNG PHƯƠNG PHÁP CANNY 4

BÁO CÁO BÀI TẬP NHÓM 1 MÔN: NHẬP MÔN XỬ LÝ ẢNH

Tên đề tài:

Tìm hiểu ứng dụng phương pháp lọc Canny để phát hiện và tách biên Đánh giá thực nghiệm hiệu quả của phương pháp lọc Canny so với các phương pháp lọc Prewitt.

GIÁO VIÊN HƯỚNG DẪN: LÃ QUANG TRUNG

NHÓM SINH VIÊN THỰC HIỆN: NGUYỄN QUỐC TUẤN

NGUYỄN DỤNG TUYÊN ĐOÀN DUY HÒA LỚP: 70DCTT21

HÀ NỘI, 12 - 2022

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT

KHOA CÔNG NGHỆ THÔNG TIN

Trang 2

-o0o -1.1 Cơ sở lý thuyết của thuật toán 4

1.1.1 Giới thiệu chung 4

1.1.2 Ưu nhược điểm của từng phương pháp 5

1.1.3 Nguyên lý của thuật toán 6

1.1.4 Nội dung của thuật toán 6

1.2 Các bước tiến hành phương pháp Canny 8

2.1 Đánh giá thực nghiệm phương pháp lọc Canny 13

2.2 So sánh phương pháp phát hiện biên 14

2.3 Chương trính so sánh 16

2.3.1 Giao diện chính chương trình 16

2.3.2 Kết quả lọc sau khi lọc Canny 16

2.3.3 Kết quả sau khi lọc Prewitt 17

2

Trang 3

LỜI MỞ ĐẦ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

Một trong những vấn đề trọng tâm nghiên cứu của lĩnh vực thị giác máy là biên và các thao tác trên nó vì các kĩ thuật phân đoạn ảnh chủ yếu dựa vào biên Trong các phương pháp phát hiện bên hiện nay thì phương pháp Canny là phương pháp hiệu quả và

đã được xây dựng thành công nghệ gồm quy trình 4 bước Báo cáo này làm rõ và so sánh phương pháp Canny với phương pháp Prewitt

Trang 4

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 và 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 Canny

4

Trang 5

CHƯƠNG 1 : CÁC BƯỚC TÁCH BIÊN BẰNG PHƯƠNG PHÁP CANNY 1.1 C s lý thuyếết c a thu t toán ơ ở ủ ậ

1.1.1 Giới thiệu chung

Tách 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 Trong bài này chúng em xin đưa ra một số phương pháp tách 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 để tiến hành so sánh cả về định tính và định lượng Trong bài này chúng em xin trình bày 3 phương pháp tách biên bằng Gradient thông qua các toán tử Sobel, Prewitt và Roberts

Toán tử Sobel, đôi khi được gọi là toán tử Sobel – Feldman hoặc bộ lọc Sobel, được sử dụng trong xử lý hình ảnh và thị giác máy tính, đặc biệt là trong các thuật toán phát hiện cạnh mà nó tạo ra một hình ảnh nhấn mạnh các cạnh Nó được đặt tên theo Irwin Sobel và Gary Feldman, các đồng nghiệp tại Phòng thí nghiệm trí tuệ nhân tạo Stanford (SAIL) Sobel và Feldman trình bày ý tưởng về một "Nhà điều hành hình ảnh 3x3 đẳng hướng" tại một cuộc nói chuyện tại SAIL vào năm 1968 [1] Về mặt kỹ thuật,

nó là một toán tử phân biệt rời rạc, tính toán độ gần đúng của gradient của hàm cường độ hình ảnh Tại mỗi điểm trong hình ảnh, kết quả của toán tử Sobel – Feldman là vector gradient tương ứng hoặc chuẩn của vectơ này Toán tử Sobel – Feldman dựa trên việc kết hợp hình ảnh với một bộ lọc nhỏ, có thể phân tách và có giá trị số nguyên theo hướng ngang và dọc và do đó tương đối rẻ tiền về tính toán Mặt khác, xấp xỉ gradient mà nó tạo

ra là tương đối thô, đặc biệt đối với các biến thể tần số cao trong hình ảnh

Toán tử Prewitt được sử dụng trong xử lý hình ảnh, đặc biệt là trong các thuật toán phát hiện cạnh Về mặt kỹ thuật, nó là một toán tử phân biệt rời rạc, tính toán độ gần đúng của gradient của hàm cường độ hình ảnh Tại mỗi điểm trong ảnh, kết quả của toán

tử Prewitt là vector gradient tương ứng hoặc chuẩn của vectơ này Toán tử Prewitt dựa trên việc kết hợp hình ảnh với một bộ lọc nhỏ, có thể phân tách và có giá trị nguyên theo hướng ngang và dọc và do đó tương đối rẻ về tính toán như các toán tử Sobel và Kayyali [1] Mặt khác, xấp xỉ gradient mà nó tạo ra là tương đối thô, đặc biệt đối với các biến thể

Trang 6

tần số cao trong hình ảnh Các nhà điều hành Prewitt đã được phát triển bởi Judith M S Prewitt

Roberts được sử dụng trong xử lý hình ảnh và tầm nhìn máy tính để phát hiện cạnh Nó là một trong những máy dò cạnh đầu tiên và ban đầu được Lawrence Roberts đề xuất vào năm 1963 Là một toán tử vi phân, ý tưởng đằng sau toán tử chéo của Roberts là ước lượng gradient của một hình ảnh thông qua sự phân biệt rời rạc, bằng cách tính toán tổng các bình phương của sự khác biệt giữa các điểm liền kề theo đường chéo

1.1.2 Ưu nhược điểm của từng phương pháp

Phương pháp Prewitt

• Ưu điểm :

- Sử dụng cặp mặt nạ để phát hiên biên nên tương đối rẻ tiền về tính toán

- Phát hiện được các biên theo chiều ngang và dọc của một hình ảnh

- Mỗi bộ lọc điều có ưu điểm riêng

• Nhược điểm :

- Là bộ lọc cổ điển nên các hệ số trong mặt nạ cố định, không thể điều chỉnh nên chất lượng ảnh thu được sẽ không thấy được nhiều cạnh và các cạnh sẽ không được nhìn rỏ

- Khi tách biên sẽ có khuynh hướng sinh ra một chút nhiễu

Phương pháp Sobel

• Ưu điểm :

- Sử dụng cặp mặt nạ để phát hiên biên nên tương đối rẻ tiền về tính toán

- Phát hiện được các biên theo chiều ngang và dọc của một hình ảnh

• Nhược điểm :

- Khi tách biên sẽ có khuynh hướng sinh ra một chút nhiễu

Phương pháp Roberts

• Ưu điểm :

- Sử dụng cặp mặt nạ để phát hiên biên nên tương đối rẻ tiền về tính toán

- Phát hiện được các biên theo chiều ngang và dọc của một hình ảnh

- Tính toán rất nhanh

• Nhược điểm :

6

Trang 7

- Khi tách biên sẽ có khuynh hướng sinh ra nhiễu rất khó xử lý.

- Nhược điểm chính của toán tử Robert là sử dụng một mặt nạ nhỏ, và rất nhạy cảm với nhiễu Nó cũng tạo ra phản hồi rất yếu với biên thực, trừ khi các biên này rất sắc nét

Trên thực tế cả ba phương pháp này đều 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 90 độ 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 Chúng đều có chung một đặc điểm là muốn làm rõ đường biê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 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

Trang 8

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

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

8

Trang 9

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

1.2 Các b ướ c tiếến hành ph ươ ng pháp Canny

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

nhân ch p chúng ta có đâầu ra là d li u nh S đã đậ ữ ệ ả ượ c nhân ch p.ậ

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

Trang 10

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

10

Trang 11

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ư Prewitt, 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 Prewitt theo hai hướng x và y như sau:

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à S và S , ta tiến hành tổng hợp hai kết quả đó để cho ra kết quả cuối cùngx y 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

Trang 12

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

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.5 hoặc ≥157.5 thì đặt giá trị của =0 và khi đó hai0 0 0 đ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:

12

Trang 13

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 T và ngưỡng thấp T h l

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 T và T h l

Nếu I(x,y) ≥ T : Đánh dấu và giữ lại điểm biên này (đặt giá trị bằng1)h

Nếu I(x,y) <T : Loại bỏ điểm biên này (đặt giá trị bằng 0)l

Nếu T ≤ I(x,y) <T : Ta tiến hành so sánh giá trị I(x,y) với giá trị của 8 điểm lânl h cận:

Nếu một trong 8 điểm lân cận có giá trị >T : Tiến hành đánh dấu và giữ lạih đ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)

Ngày đăng: 13/06/2024, 09:31

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w