Mục lục
LỜI MỞ ĐẦU 3
1. Phát biểu về đề tài 4
2. Phạm vi đề tài 5
3. Đối tượng 5
4. Mục đích nghiên cứu 5
5. Nội dung chính của tiểu luận 5
Chương II. CÁC PHƯƠNG PHÁP PHÁT HIỆN VÀ TÁCH BIÊN ẢNH TRONG XỬ LÝ ẢNH SỐ 6
I. Các phương pháp phát hiện biên trong xử lý ảnh số 6
1. Một số khái niệm 6
2. Các phương pháp phát hiện biên 8
II.Các phương pháp tách biên ảnh trong xử lý ảnh số 20
1. Cơ sở lý thuyết tách biên 20
2. Các bộ tách biên 22
3. Tách biên ảnh màu dùng phương pháp Gradient 26
Chương 3. ĐÁNH GIÁ KẾT QUẢ NGHIÊN CỨU VÀ KẾT LUẬN 32
1. Phát hiện biên trực tiếp: 33
2. Phương pháp phát hiện biên gián tiếp 34
Kết luận 35
TÀI LIỆU THAM KHẢO 35
34 trang |
Chia sẻ: maiphuongdc | Lượt xem: 8882 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Các phương pháp phát hiện và tách biên ảnh trong xử lý ảnh số, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
gột theo hình dưới.
Hình 4.1 Đường bao của ảnh
Các khái niệm và định nghĩa tóm tắt trên là cơ sở giúp ta hiểu và dùng để hiểu cách xây
dựng, thiết kế các kỹ thuật phát hiện biên ả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.
Hình 4.2 Các bước xử lý và phân tích ảnh
1.2 Phân loại các kỹ thuật phát hiện biên
Từ định nghĩa toán học của biên người ta sử dụng hai phương pháp phát hiện biên như sau (phương pháp chính)
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ộ.
Ngoài ra, người ta còn sử dụng phương pháp “đi theo đường bao” dựa vào công cụ toán học là nguyên lý quy hoạch động và đượng gọi là phương pháp dò biên tổng thể. Phương pháp dò biên trực tiếp có hiệu quả và ít bị tác động của nhiễu.
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 thu đượng 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. 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.
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ápdã 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.
2. Các phương pháp phát hiện biên
2. 1 Phương pháp phát hiện biên cục bộ( phát hiện biên trực tiếp)
a. Phương pháp phát hiện biên dựa trên Gradient của ảnh
Đị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:
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). Đây là phương pháp dựa theo đạo hàm riêng bậc nhất theo hướng x, y. Gradient trong tọa độ góc (r,θ), với r là véc tơ, θ: góc
f(.) đạt cực đại khi
tức: hay:
(4-4)
Kỹ thuật Gradient: Theo định nghĩa về Gradient, nếu áp dụng nó 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 (theo 2 hướng vuông góc). Nếu định nghĩa g1, g2 là Gradient theo hai hướng x, y tướng ứng thì biên độ g(m,n) tại điểm (m,n) được tính:
Để giảm độ phức tạp tính toán, A0 được tính gần đúng như sau:
Xét một số toán tử Gradient tiêu biểu như toán tử Robert, Sobel, Prewitt, đẳng hướng (Isometric), 4-lân cận như dưới đây.
• Toán tử Robert (1965).
Robert áp dụng công thức tính Gradient tại điểm (x, y) như hình bên
Với mỗi điểm ảnh I(x,y) đạo hàm theo x, y được ký hiệu tương ứng: gx, gy:
Các công thức kể trên được cụ thể hóa bằng các mặt nạ theo chiều x và y tương ứng như sau:
• Toán tử (mặt nạ) Sobel.
Toán tử Sobel được Duda và Hart [5] đặt ra năm 1973 với các mặt nạ tương tự như của
Robert nhưng cấu hình khác như sau:
• Mặt nạ đẳng hướng:
Một mặt nạn khác cũng được nêu như dưới đây gọi là mặt nạ đẳng hướng (Isometric).
• Toán tử 4-lân cận (4-Neighbour Operator).
Toán tử 4-lân cận được Chaudhuri và Chandor (1984) nêu ra, trong đó mặt nạ có kích
thước 3x3 được thay cho mạt nạ 2x2 của toán tử Robert. Các mặt nạy này được cho:
b. Toán tử La bàn
Kirsh đã đề xuất các mặt nạ theo 8 hướng như 8 hướng của la bàn (Compass). Hình 4.8 là mô hình 8 hướng và được đặt tên theo hướng địa lý và theo chiều kim đồng hồ: Đông, Đông-Nam, Nam, Nam-Tây, Tây, Tây-Nam, Tây-Bắc, Bắc, Đông-Bắc; mỗi hướng lệch nhau 450.
• Toán tử la bàn Kirsh:
Có nhiều toán tử la bàn khác nhau. Trong phạm vi tài liệu này, ta xem xét toán tử la bàn Kirsh đặc trưng bởi tám mặt nạ với kích thước 3x3 như sau:
Ký hiệu Ai; i= 1, 2, …, 8 là Gradient theo 8 hướng như 8 mặt nạ kể trên, khi đó biên độ
Gradient tại điểm ảnh (x,y) được tính theo
A(x, y) = Max (|gi(x,y)|) i=1, 2, …, 8. (4-11)
• Toán tử la bàn khác:
Ngoài toán tử la bàn Kirsh, một số toán tử la bàn khác sử dụng bộ mặt nạ 8 hướng khác như:
Trường hợp tổng quát, người ta có thể mở rộng các mặt nạ với n hướng cách đều tương ứng với các mặt Wi; i=1, 2, …, n. Khi đó, biên độ tại hướng thứ i với mặt nạ Wi được xác định:
A(x, y) Max( WT I (x, y) ) i = với i=1, 2, …, n. (4-12)
c. Phát hiện biên dựa trên laplace của ảnh
Để 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:
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ể:
Ghi chú: Mặt nạ H1 còn cải biên bằng việc lấy giá trị ở tâm bằng 8 thay vì giá trị 4. Để thấy rõ việc xấp xỉ đạo hàm riêng bậc hai trong không gian hai chiều với mặt nạ H1 làm ví dụ, ta có thể tính gần đúng như sau:
do đó:
Kỹ thuật theo toán tử Laplace tạo đường biên mảnh (có độ rộng 1 pixel). Nhược điểm của kỹ thuật này rất nhạy với nhiễu, do vậy đường biên thu được thường kém ổn định.
d. Tách biên ảnh theo phương pháp canny
Bộ tác sườn ảnh theo Canny (1986) dựa trên cặp đạo hàm riêng bậc nhất với việc làm sạch nhiễu. Mục này được để riêng vì đây là phương pháp tách đường biên khá phổ biến được dùng theo toán tử đạo hàm. Như đã nói, phương pháp đạo hàm chịu ảnh hưởng lớn của nhiễu. Phương pháp đạt hiệu quả cao khi xấp xỉ đạo hàm bậc nhất của Gauss.
với fx, fy là đạo hàm riêng theo x và y của f.
do vậy:
Lấy đạo hàm riêng theo x và y của G ta được:
Do bộ lọc Gauss là tách được, ta có thể thực hiện riêng biệt các tích chập theo x và y:
Từ đó ta có:
Với biên độ và hướng tính theo công thức trên, thuật toán được minh họa trên Hình 4.9.
2.2 Dò biên theo quy hoạch động
Dò biên theo phương pháp Gradient là xác định cực trị cục bộ của Gradient theo các hướng; còn phương pháp Laplace dựa vào cắt điểm không của đạo hàm bậc hai. Phương pháp dò biên theo quy hoạch động là phương pháp tìm cực trị tổng thể theo nhiều bước. Nó dựa vào nguyên lý tối ưu của Bellman. Nguyên lý này phát biểu như sau: “Con đường tối ưu giữa 2 điểm cho trước cũng là tối ưu giữa 2 điểm bất kỳ nằm trên đường tối ưu đó”. Thí dụ, nếu C là một điểm trên con đường tối ưu giữa A và B thì đoạn CB cũng là còn đường tối ưu từ C đến B không kể đến ta đến C bằng cách nào (Hình 4.10).
Trong kỹ thuật này, giả sử bản đồ biên đã được xác định và được biểu diễn dưới dạng đồ thị liên thông N chặng. Giả sử hàm đánh giá được tính theo công thức:
• xk, k=1, …, N: biểu diễn các đỉnh của đồ thị trong chặng thứ k;
• d(x ,y): khoảng cách giữa 2 đỉnh x và y tính theo các định nghĩa tương ứng về khoảng
cách;
• |g(xk)| và θ(xk) là Gradient biên độ và Gradient hướng ở đỉnh xk.
• α và β là các hằng số không âm.
Đường bao tói ưu sẽ nhận được bằng cách nối các đỉnh k x , k =1, …, N nào đó sao cho
S(x1,…, xN, N ) đạt cực đại.
Định nghĩa hàm φ như sau:
Viết lại công thức (4-21) một cách đệ quy ta có:
Đặt f(xN-1, xN)=|g(xN)| - α| θ(xk) - θ(xk-1) | - βd(xN,xN-1) và thay vào ( 4-23) ta có:
Lấy N = k theo (4-22) và (4-24) thực hiện suy diễn ta có:
Như vậy,
Với cách này, thay vì tìm tối ưu toàn cục phức tạp của S(x1, … ,xN, N), ta tìm tối ư của N chặng theo tối ưu 2 biến. Trong mỗi chặng, với mỗi xk tìm tối ưu ( x , k ) k φ . Để dễ hình dung, xét ví dụ sau:
Giả sử có bản đồ biểu diễn bởi đồ thị liên thông (Hình 4.11a). Theo phương pháp trên có φ ( A,1) = 5 , với k =2 có φ (D ,2 ) = max(11,12) = 12 . Điều đó có nghĩa là đường từ A đến D đi qua C và ACD là biên được chọn với k=2. Tương tự, với k=4, có hai đường được chọn là ACDEF và AGHJ. Tuy nhiên, với k=5 thì đoạn JB bị loại và chỉ tồn tại đường duy nhất với cực đại là 28. Như vậy, biên được xác định là ADEFB.
Trên hình 4.11b, những đường nét đứt đoạn biểu thị cung bị loại; đường nét liền có mũi tên biểu thị đường đi hay biên của ảnh.
2.3 Một số phương pháp khác
Ngoài các phương pháp trên, người ta cũng áp dụng một số phương pháp khác cải tiến như tiếp cận bởi mô hình mặt, cách tiếp cận tối ưu hóa. Cách tiếp cận theo mô hình mặt dựa vào việc thực hiện xấp xỉ đa thức trên ảnh gốc hay ảnh đã thực hiện phép lọc Laplace. Cách tiếp cận tối ưu nhằm xác định một hàm (một bộ lọc), làm giảm phương sai σ2 hoặc giảm một số điểm cực trị cục bộ. Dưới đây sẽ trình bày một cách tóm tắt các phương pháp đó.
a. Tiếp cận theo mô hình mặt
Tư tưởng của phương pháp này là tại lân cận điểm cắt không (điểm biên), ảnh sau khi lọc Laplace có thể được xấp xỉ bởi một đa thức bậc 3 theo hàng và cột. Đa thức thường được dùng là đa thức Trebưchép với kích thước 3x3. Các đa thức này được định nghĩa như sau:
P0(x,y)=1; P1(x,y)=x; P2(x,y)=y; ;
P4(x,y)=xy;
P6(x,y)=xP5(x,y); P7 (x,y)=yP3(x,y); P8(x,y)= P5(x,y)P3(x,y)
Với mỗi điểm cắt không phát hiện tại P(x, y) trong ảnh đã được lọc bởi toán tử Laplace – Gauss, Huertas và Medioni đã cho được tính theo công thức tính xấp xỉ:
Vấn đề là xác định các hệ số ai, i=1, 2, …, N-1. Nếu W là cửa số lọc tại điểm cắt không và x, y, i, j trong cửa số; các hệ số ai có thể được tính toán như một tổ hợp tuyến tính:
ở đây, IL-G(x, y) là ký hiệu ảnh đã được lọc bởi toán tử Laplace–Gauss. Các hệ số này có thể nhận được bởi chập ảnh IL-G(x, y) với các nhân chập như trung bình có trọng số hay một số nhân chập khác.
Các bước cài đặt phương pháp nhày có thể mô tả như sau:
_ Chập ảnh gốc kích thước NxM với toán tử Laplac –Gauss kích thước M2, ảnh thu
được gọi là IL-G.
_ Trích chọn các điẻm cắt không của ảnh IL-G, ảnh kết quả ký hiệu là IZCR.
_ Với mỗi điểm cắt không trong IZCR, thực hiện một xấp xỉ với kích thước 3x3 để suy ra các điểm cắt không theo cách gải tích.
_ Tạo một ảnh mới của các điểm cắt không kích thước nXxnY mà các đường bao được
xác định với độ phân giải n nào đó.
b. Tiếp cận tối ưu hóa
Ý tưởng của cách tiếp cận này là định vị đúng vị trí bằng cách cực tiểu hóa phương sai σ2 vị trí các điểm cắt không hoặc hạn chế số điểm cực trị cục bộ để chỉ tạo ra một đường bao. Canny đã đề xuất 3 ràng buộc ứng với 3 điều kiện:
Ràng buộc đầu tiên (Σ) nhằm tìm hàm h(x) phản đối xứng sao cho tỉ số giữa tín hiệu và nhiễu là cực đại. Ràng buộc thứ hai ( Λ ) nhằm cực tiểu hóa phương sai. Ràng buộc thứ ba 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 bao.
II.Các phương pháp tách biên ảnh trong xử lý ảnh số
Cơ sở lý thuyết tách biên
Tách biên là phương pháp thông dụng nhất để tách theo nghĩa gián đoạn trong các giá trị cường độ. Sự gián đoạn được tách sử dụng đạo hàm bậc nhất và bậc hai.Đạo hàm bậc nhất lựa chọn trong xử lý ảnh là gradient (độ dốc). Gradient của hàm 2- D được định nghĩa dưới dạng vectơ
Biên độ của vectơ này :
Để tính toán đơn giản, con số này được xấp xỉ bằng cách sử dụng giá trị tuyệt đối
Xấp xỉ này vẫn còn dưới dạng đạo hàm đó là : chúng bằng 0 trong các vùng có cường độ không đổi và giá trị của chúng tỷ lệ với bậc của sự thay đổi cường độ trong vùng có các giá trị pixel biến thiên. Nó được xem là biên độ của gradient hoặc xấp xỉ đơn giản của nó dưới dạng “ gradient”.
Đặc tính cơ bản của vectơ gradient là các điểm của nó hướng tỷ lệ thay đổi hàm tại tọa độ lớn nhất. Góc xảy ra tỷ lệ thay đổi lớn nhất là :
Một trong những phương pháp then chốt đưa ra là ước đoán đạo hàm và theo phương pháp số.
Đạo hàm bậc hai trong xử lý ảnh được sử dụng toán tử Laplace. Toán tử Laplace của hàm 2-D được cho dưới dạng vi phân như sau :
Toán tử Laplace ít khi được dùng để tách biên vì vi phân bậc hai dễ bị hạnh hưởng bởi nhiễu, biên độ của nó sinh ra các biên kép và không thể tách hướng biên. Tuy nhiên, toán tử Laplace có thể là phần bổ sung mạnh khi sử dụng kết hợp với kĩ thuật tách biên khác. Ví dụ: mặc dù các biên kép không thích hợp để tách biên trực tiếp, đặc tính này có thể dùng để định vị biên.
Ý tưởng cơ bản đằng sau tách biên là tìm các nơi trong ảnh có cường độ thay đổi nhanh, sử dụng một trong 2 tiêu chuẩn tổng quát sau:
_ Tìm các nơi đạo hàm bậc nhất của cường độ sáng có biên độ hơn 1 ngưỡng
_ Tìm các nơi đạo hàm bậc 2 của cường độ sáng có chỗ chéo 0.
Các hàm biên của IPT ( Image Processing Toolbox) cung cấp một số ước lượng đạo hàm dựa trên các tiêu chuẩn. Đối với 1 số trong ước lượng này, có thể xác định bộ tách biên có nhạy với các biên ngang, biên dọc hay không hoặc cả 2. Cấu trúc tổng quát của hàm này là:
[g, t] = edge (f, ‘method’, parameters)
Trong đó f là ảnh đầu vào, method là 1 trong các phương pháp và parameters là các tham số thêm vào. Trong ngõ ra, g là mảng logic với các giá trị 1 tại các vị trí các điểm biên được tách và với giá trị 0 khi không được tách. Tham số t là tùy chọn, nó cho ngưỡng được dùng bởi biên để xác định các giá trị gradient đủ mạnh để được gọi là các điểm biên.
Bảng 1. ĐẶC TÍNH CƠ BẢN CỦA CÁC BỘ TÁCH BIÊN
Bộ tách biên
Các đặc tính cơ bản
Sobel
Tìm biên dùng xấp xỉ Sobel với đạo hàm cho trong hình 1(b)
Prewitt
Tìm biên dùng xấp xỉ Prewitt với đạo hàm cho trong hình 1(c)
Roberts
Tìm biên dùng xấp xỉ Roberts với đạo hàm cho trong hình 1(d)
Laplacian of a Gaussian (LoG)
Tìm biên bằng cách tìm điểm chéo 0 sau khi lọc qua bộ lọc Gauss
Zero crossings
Tìm biên bằng cách tìm điểm chéo 0 sau khi lọc qua bộ lọc của người sử dụng.
Canny
Tìm biên bằng cách tìm các cực đại địa phương của gradient f(x,y). Gradient được tính toán dùng đạo hàm cảu bộ lọc Gauss. Phương pháp dùng hai ngưỡng để tách các biên mạnh và yếu và gộp các biên yếu ở ngõ ra chỉ khi chúng được kết nối với các biên mạnh. Do đó, phương pháp này chỉ thích hợp hơn để tách các biên yếu thật sự.
2. Các bộ tách biên
2.1 Bộ lọc Sobel
Bộ tách biên Sobel sử dụng các mặt nạ trong hình 1(b) để xấp xỉ đạo hàm bậc nhất và. Nói cách khác, gradient tại điểm tâm trong 1 lân cận được tính theo bộ tách Sobel:
Khi đó, ta nói rằng vị trí (x,y) là pixel biene nếu tại vị trí đó, trong đó T là một ngưỡng được chỉ định.
(a)
(b)
( c )
(d)
Hình 1: Một số mặt nạ tách biên và đạo hàm bậc nhất chúng thực hiện.
Bộ tách biên Sobel có thể được thực hiện bằng cách lọc 1 ảnh, f, (dùng imfilter) với mặt nạ bên trái hình 1(b), lọc lại f với mặt nạ khác bình phương các giá trị pixel với mỗi ảnh được lọc, cộng hai kết quả và tính căn bậc hai. Hàm edge đơn giản các gói toán tử trước thành một hàm gọi và thêm vào các đặc tính khác chẳng hạn như chấp nhận một giá trị ảnh ngưỡng hoặc xác định ngưỡng một cách tự động. Thêm vào đó, edge chứa các kỹ thuật tách biên không thực hiện trực tiếp được bằng imfilter.
Cú pháp gọi bộ tách biên Sobel tổng quát là:
[g , t ] = edge(f, ‘sobel’, T, dir)
Trong đó f là ảnh đầu vào, T là ngưỡng được chỉ định và dir xác định hướng cần tách biên : ‘ngang’, ‘dọc’ hoặc cả hai. Như trên g là ảnh logic chứa giá trị tại những nơi biên được tách và giá trị không tại những nơi biên không được tách. Tham số t trong ngõ ra là tùy chọn, nó là giá trị ngưỡng được dùng bởi edge. Nếu T được chỉ định thì t = T. Mặt khác, nếu T không được chỉ định ( hoặc để rỗng []), f sẽ đặt t bằng với ngưỡng do nó tự động xác định và sau đó sử dụng cho việc tách biên, 1 trong lý do cơ bản cho việc gộp t trong tham số ngõ ra là để nhận giá trị khởi tạo cho ngưỡng. Hàm edge sử dụng bộ tách Sobel mặc đính nếu cú pháp g= edge(f) hoặc là [g,t] = edge(f).
2.2 Bộ tách biện Prewitt
Bộ tách biên Prewitt sử dụng mặt nạ trong hình 1 (c) để xấp xỉ theo phương pháp số đạo hàm bậc nhất và . Cú pháp tổng quát là:
[g , t ] = edge(f, ‘prewitt’, T, dir)
Tham số hàm này đồng nhất với tham số Sobel. Bộ tách biên Prewitt đơn giản hơn để thực hiện bằng máy tính so với bộ tách Sobel, nhưng nó có khuynh hướng sinh ra một chút nhiễu. Nó có thể được thể hiện qua hệ số 2 trong bộ tách biên hàm trơn.
2.3 Bộ tách biên Roberts
Bộ tách biên Robert sử dụng mặt nạ trong hình 1(d) để xấp xỉ theo phương pháp số đạo hàm bậc nhất và . Cú pháp tổng quát là:
[g , t ] = edge(f, ‘roberts’, T, dir)
Tham số hàm này đồng nhất với tham số Sobel. Bộ tách biên Roberts là một trong những bộ tách biên xưa nhất trong xử lý ảnh số và theo hình 1(d) nó cũng đơn giản nhất. Bộ tách biên này được dùng ít hơn đáng kể các bộ tách khác do chức năng giới hạn của nó ( ví dụ như: nó ko đối xứng và không thể được tổng quát hóa để tách biên là thừa số của 450). Tuy nhiên, nó vẫn được dùng thường xuyên trong thực hiện phần cứng khi tính đơn giản và tốc độ là các yếu tố chi phối.
2.4 Bộ tách biên Laplace của hàm Gauss (LoG)
Xét hàm Gauss
Trong đó và độ lệch chuẩn. Đây là hàm trơn, nếu nó chập với một ảnh nó sẽ làm mờ ảnh. Độ mờ được xác định bởi giá trị . Toán tử Laplace của hàm này ( đạo hàm bậc 2 theo r):
Với những lý do rõ ràng, hàm này gọi là toán tử Laplace của hàm Gauss (LoG). Vì đạo hàm bậc 2 là toán tử tuyến tính, chập( lọc) với 1 ảnh bằng giống như đầu tiên chập ảnh với hàm trơn và sau dó tính kết quả của toán tử Laplace. Đây là chìa khóa khái niệm cơ bản của bộ tách LoG. Chúng ta chập ảnh bằng biết nó có 2 tác động: nó làm mịn ảnh ( do đó giảm nhiễu ) và nó tính toán tử Laplace, làm cong 1 ảnh biên kép. Định vị các biên sau đó tìm các điểm giao zero giữa các biên kép. Cú pháp gọi tổng quát là:
[g , t ] = edge(f, ‘log’, T, sigma)
Trong đó sigma là độ lệch chuẩn và các tham số còn lại tương tự như các bộ tách biên ở trên. Giá trị mặc định của sigma là 2. Như đã nói, bỏ qua bất cứ biên nào không lớn hơn T. Nếu T không được cho hoặc rỗng [ ], edge chọn giá trị một cách tự động. Đặt T từ 0 tạo các biên là các đường viền kín, 1 đặc tính quen thuộc của phương pháp LoG.
2.5 Bộ tách biên điểm giao Zero
Bộ tách biên này dựa trên khái niệm giống phương pháp LoG, nhưng phép chập được thực hiện sử dụng hàm lọc được chỉ định hàm H. Cú pháp gọi hàm :
[g , t ] = edge(f, ‘zerocross’, T, H)
Các tham số được giải thích như bộ tách LoG.
2.6 Bộ tách biên Canny
Bộ tách biên Canny ( Canny[1986]) là bộ tách biên mạnh nhất cung cấp bởi edge. Có thể tóm tắt phương pháp này như sau:
Ảnh được làm trơn sử dụng bộ lọc Gauss với độ lệch chuẩn để giảm nhiễu.
Gradient cục bộ, và hướng biên được tính toán tại mỗi điểm. Một trong 3 kĩ thuật đầu trong hình 1 để tính và . Một điểm biên được định nghĩa là 1 điểm có độ dài là cực đại địa phương theo hướng Gradient.
Điểm biên được xác định (2) tăng lên đến các đỉnh trong Gradient biên độ ảnh. Sau đó thuật toán tìm đỉnh của các đỉnh này và đặt giá trị 0 vào tất cả các pixel không thật sự nằm trên đỉnh vì vậy tạo ra 1 đường mỏng ở ngõ ra, một quá trình được biết là sự nén lại không cực đại. Các pixel đỉnh được đặt ngưỡng dùng hai ngưỡng và . Các pixel đỉnh lớn hơn được gọi là các pixel biên “mạnh”. Các pixel đỉnh nằm giữa và được gọi là các pixel biên “yếu”.
Cuối cùng thuật toán thực hiên biên kết nối bằng cách kết hợp các pixel yếu mã có dạng kết nối -8 với các pixel mạnh.
Cú pháp bộ tách biên Canny là:
[g , t ] = edge(f, ‘canny’, T, sigma)
Trong đó T là vectơ, là 2 ngưỡng được giải thích trong bước 3 của thủ tục trước và sigma là độ lệch chuẩn của bộ lọc làm trơn. Nếu t gộp vào thông số ngõ ra, nó là vectơ hai phần tử chứa 2 giá trị ngưỡng được dùng bởi thuật toán. Cú pháp đơn giản được giải thích như các phương pháp khác bao gồm việc tự động tính toán T nếu nó không được cung cấp. Giá trị mặc định của sigma là 1.
3. Tách biên ảnh màu dùng phương pháp Gradient
3.1 Nội dung phương pháp
Phương pháp thường dùng để xấp xỉ các đạo hàm là sai số giữa các pixel trong các lân cận nhỏ trong một ảnh. Hình 1 biểu diễn một kích thước 3 x3 trong đó z là giá trị pixel. Một xấp xỉ của đạo hàm riêng phần theo x ( phương dọc) tại tâm điểm của vùng (z5) được cho bởi độ chênh lệch:
Tương tự độ chênh lệch theo phương y được xấp xỉ bởi độ chênh lệch:
Các con số này được tính dễ dàng tại mọi thời điểm trong ảnh bằng phép chập (xử dụng hàm imfilter) ảnh lần lượt với từng mặt nạ trong hình 1. Sau đó xấp xỉ của đáp ứng Gradient ảnh thu được bằng cách cộng hai trị tuyệt đối của 2 ảnh được chập. Các mặt nạ nói tới là mặt nạ Sobel, có thể được tạo ra dùng hàm fspecial.
Gradient được tính toán theo cách được mô tả là một trong những phương pháp thường dùng để tách biên ảnh xám, đã được thảo luận trong phần 1. Quan tâm của ta lúc này là tính Gradient trong không gian màu RGB. Tuy nhiên phương pháp vừa mới đưa ra có thể ứng dụng trong không gian 2D nhưng không mở rộng được trong không gian có chiều lớn hơn. Cách duy nhất để sử dụng nó đối với cách ảnh RGB là tính Gradient của mỗi thành phần màu rồi sau đó kết hợp các kết quả. Không may thay, theo phần sau, điều này không giống như việc tính toán các không gian vectơ RGB 1 cách trực tiếp.
Do đó là định nghĩa Gradient ( biên độ và hướng) của vectơ c được định nghĩa:
Theo sau là một trong những cách mà khái niệm Gradient được mở rộng với hàm vectơ. Lại nói hàm vô hướng f(x,y) gradient là một véctơ mà nó chỉ hướng của tỷ lệ thay đổi cực đại tại tọa độ (x,y). Lấy r, g và b là các véctơ đơn vị theo các trục R,G,B của không gian màu RGB và định nghĩa các véctơ :
Đặt các số ,và được định nghĩa như sau :
Nhớ rằng R, G và B và các giá trị g là các hàm của x và y. Dùng chú ý này nhưng được thể hiện trong Di ZenZo(1986) nói rằng hướng của tỷ lệ thay đổi cực đại của c(x,y) là một hàm (x,y).
Và giá trị của tỷ lệ thay đổi (biên độ của Gradient) theo các hướng được cho bởi các phần tử.
Chú ý rằng và là các ảnh có cùng kích cớ với ảnh đầu vào. Các phần tử là các góc tại mỗi điểm Gradient được tính và là các ảnh Gradient.
Vì nếu là một nghiệm của phương trình tan-1 trước , vì vậy thêm vào đó , vì thế F được tính chỉ với các giá trị của trong nửa khoảng . Sự thật là phương trình tan-1cho hai giá trị lệch nhau 90 độ nghĩa là phương trình này nghiệm đúng với mọi cặp (x,y) có hướng vuông góc nhau. Dọc theo một trong những hướng này F là cực đại, và nó sẽ là cực tiểu nếu theo hướng còn lại, vì vậy kết quả nhận được bắng cách chọn giá trị lớn nhất tại mỗi điểm. Đạo hàm của các kết qủa này hơi dài, và chúng ta sẽ ít đạt được mục đích cơ bản của thảo luận hiện tại của chúng ta bằng cách chi tiết nó ở đây. Đạo hàm riêng phần có thể được tính toán bằng toán tử Sobel đã thảo luận trước. Hàm theo sau sẽ tính Gradient của ảnh RBG:
[ VG, A, PPG] = colorgrad(f,T)
Trong đó f là ảnh RGB, T là ngưỡng tự chọn nằm trong khoảng [0,1] (mặc định là 0); VG là một véctơ Gradient RGB; A là ảnh góc tính bằng rad; và PPG là Gradient được tính bằng cách lấy tổng các Gradient 2D của không gian màu riêng biệt. Các Gradient này là ,, trong đó toán tử được định nghĩa trong phần trước. Tất cả đạo hàm cần để thực hiện phương trình trên được thực hiện trong hàm colorgrad sự dụng toán tử Sobel. Các ngõ ra VG và PPG được chuẩn hóa trong khoảng [0,1] bởi colorgrad và chúng được đặt ngưỡng để VG(x,y)=0 đối với những giá trị nhỏ hơn hoắc bằng Tvà VG(x,y) = VG(x,y) đối với những trường hợp khác, chú thích tương tự đối với PPG.
3.2 Thuận toán tách biên ảnh màu
Tính các đạo hàm x và y của 3 thành phần ảnh với mặt nạ được chọn
Tính các tham số vectơ Gradient
gxx, gyy, gxy ==>
Tính
Và chuẩn hóa trong khoảng [0,1]
So sánh với ngưỡng T ta được ảnh tách biên
ảnh RGB
3.3 Chương trình M_file
Hàm colorgrad
function[VG,A,PPG]=colorgrad(f,dec,T)
%COLORGRAD TINH VECTO GRADIENT CUA MOT ANH MAU RGB.
%function[VG,A,PPG]=colorgrad(f,T) tinh vector gradient,VG, va mang goc
%tuong ung,VA, (don vi radians) cua anh RGB f. No cung tinh PPG, gradient
%ket hop tu cac vung mau ma co duoc bang cach cong cac gradient hai chieu
%cua cac vung mau don. Ngo vao T la muc nguong trong tam [0 1]. Neu no duoc
%xac dinh trong bien ngo vao thi gia tri cua VG va PPG duoc lay nguong bang
%cach tao ra VG(x,y)=0 khi gia tri <=T va VG(x,y) =VG(x,y)doi voi gia tri
%khac.Nhung lenh tuong tu cung duoc ung dung cho PPG. Neu T khong xac dinh
%trong doi so vao thi T duoc set = 0. Ca hai gradient ngo ra duoc xac dinh
%trong tam [0 1]
%dec la loai mat na
if (ndims(f)~=3)| (size(f,3)~=3)
error('Input image must be RGB');
end
%Tinh toan vi phan theo phuong x va y cua ba anh thanh phan su dung toan tu
%Mat na
sh=fspecial(dec);
sv=sh';
Rx=imfilter(double(f(:,:,1)),sh,'replicate');
Ry=imfilter(double(f(:,:,1)),sv,'replicate');
Gx=imfilter(double(f(:,:,2)),sh,'replicate');
Gy=imfilter(double(f(:,:,2)),sv,'replicate');
Bx=imfilter(double(f(:,:,3)),sh,'replicate');
By=imfilter(double(f(:,:,3)),sv,'replicate');
%Tinh cac thong so cua vec to gradient
gxx=Rx.^2+ Gx.^2+ Bx.^2;
gyy=Ry.^2+ Gy.^2+ By.^2;
gxy=Rx.*Ry+ Gx.*Gy+ Bx.*By;
A=0.5*(atan(2*gxy./(gxx-gyy+eps)));
G1=0.
Các file đính kèm theo tài liệu này:
- B1039.DOC