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

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 1MÔ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áchbiê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 TRUNGNHÓ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 -o0o -

Trang 2

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ênngà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ữngngà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ềungà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ântạ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ệcthao 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ằmthu được ảnh như mong muốn Mỗi vấn đề đều cần có những xử lý về thuật toán tạimỗ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 đẹpvà 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ácphươ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ánhphươ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ậchai 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ốtkhi 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ảikhử 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ậysẽ 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ựctiế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 CANNY1.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 đángkể 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àychú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 naythô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ênbằ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ánphá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 theoIrwin Sobel và Gary Feldman, các đồng nghiệp tại Phòng thí nghiệm trí tuệ nhân tạoStanford (SAIL) Sobel và Feldman trình bày ý tưởng về một "Nhà điều hành hình ảnh3x3 đẳ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à vectorgradient tương ứng hoặc chuẩn của vectơ này Toán tử Sobel – Feldman dựa trên việc kếthợ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ướngngang 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ạora 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ậttoá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ántử Prewitt là vector gradient tương ứng hoặc chuẩn của vectơ này Toán tử Prewitt dựatrê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 theohướ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ệncạ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ántổ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ápPhươ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ênchất lượng ảnh thu được sẽ không thấy được nhiều cạnh và các cạnh sẽ không đượcnhì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ảmvớ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ắcné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ặtnạ này được thiết kế để tìm ra các đường biên theo chiều đứng và chiều ngang mộtcá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êntrự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òngthí 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ộtphươ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ụctiê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ộtbiê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ằngnhiễu trong ảnh tuân theo phân bố Gauss, đồng thời ông cũng cho rằng mộtphươ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àmmị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:

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ốicù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àmGauss 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ủathuậ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 ảnhvà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ứctạ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ớimảng hai chiều Gauss có thể được chia thành hai phép nhân xoắn với mặt nạ Gaussmộ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ảngmộ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ảngmộ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 CannyBướ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 đạohà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 ảnhI.

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ớiS đượ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ộtvới các mặt nạ trong phương pháp Gradient dựa theo các toán tử như Prewitt, PixelDifference

Ở đây ta tiến hành nhân xoắn ảnh S với hai mặt nạ của phương pháp Prewitttheo 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 haihướ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 yS’:

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ếnhà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ậnnà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ểmbiê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ếuhướ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ếtquả đó 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àysố 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 hl

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ụngngưỡ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 hl

Nếu I(x,y) ≥ T : Đánh dấu và giữ lại điểm biên này (đặt giá trị bằng1)hNế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 hcậ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).

Trang 14

CHƯƠNG 2: ĐÁNH GIÁ THỰC NGHIỆM, SO SÁNH PHƯƠNG PHÁP LỌCCANNY SO VỚI CÁC PHƯƠNG PHÁP PREWITT

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

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 đâylà 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ưỡngkhác nhau:

Khi ta thay đổi σ, ngưỡng cao và ngưỡng thấp vẫn giữ nguyên: T =100 và T =30, tahlcó kết quả (σ=0,8 1 1,4)

Hình 2.1: Phát hiện biên với Canny ngưỡng cố định T =100 và Thl=30 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.

14

Trang 15

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àycà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.

Hình 2.2: Phát hiện biên với Canny ngưỡng thay đổi, σ=1

Còn khi thay đổi ngưỡng thấp và ngưỡng cao (giữ nguyên σ) thì số lượng biên đượcphá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ềuKhi 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ớnthì điểm biên phụ thuộc vào các điểm lân cận.

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

Xem thêm:

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w