Kỹ thuật dò biên là bài toán mới chỉ xuất hiện cách đây không lâu, chỉ khoảng vài thập niên, nhưng đã có rất nhiều nghiên cứu về nó. Các nghiên cứu ban đầu rất đơn giản, ảnh là đen trắng và chỉ có một khuôn mặt chụp thẳng, sau này mở rộng ra cho ảnh màu, ảnh có nhiều khuôn mặt với nhiều góc, môi trường xung quanh cũng đi từ đơn giản đến rất phức tạp. Bài toán phát hiện biên nói chung và phát hiện biên khuôn mặt nói riêng có rất nhiều hướng để phát triển, nhưng có thể kể ra hai hướng chính sau:
- Thứ nhất là nhận diện (face recognition) một khuôn mặt, tức là giả sử ta có bức ảnh một khuôn mặt, ta sẽ tìm một bức ảnh có khuôn mặt giống với khuôn mặt trong ảnh. Ứng dụng của nó là truy tìm tội phạm, các hệ thống an ninh xác đinh dựa vào khuôn mặt.
- Thứ hai là xác định vị trí những khuôn mặt trong một bức ảnh (face detection), các bức ảnh có thể có nhiều khuôn mặt, có kích thước và góc khác nhau. Ứng dụng của nó như trong các máy chụp hình có khả năng nhận dạng mặt người để chỉnh độ sáng nơi đó.
Biên là vấn đề chủ yếu trong phân tích ảnh, vì các đặc điểm trích chọn trong quá trình phân tích ảnh chủ yếu dựa vào biên. Một điểm được gọi 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 biên hay đường bao của ảnh.
Về mặt toán học người ta xem biên là nơi có sự thay đổi đột ngột về mức xám, trên cơ sở đó người ta thường sử dụng hai phương pháp phát hiện biên sau:
39 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1110 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Khóa luận Nghiên cứu các kỹ thuật dò biên áp dụng trong trích chọn các bộ phận khuôn mặt, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lưu Xuân Thế
NGHIÊN CỨU CÁC KỸ THUẬT DÒ BIÊN ÁP DỤNG TRONG TRÍCH CHỌN CÁC BỘ PHẬN KHUÔN MẶT
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI – 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lưu Xuân Thế
NGHIÊN CỨU CÁC KỸ THUẬT DÒ BIÊN ÁP DỤNG TRONG TRÍCH CHỌN CÁC BỘ PHẬN KHUÔN MẶT
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: ThS. Ma Thị Châu
HÀ NỘI – 2010
LỜI CẢM ƠN
Lời đầu tiên em xin bày tỏ lòng biết ơn tới các thầy, cô giáo trong trường Đại học Công nghệ - Đại học Quốc gia Hà Nội. Các thầy cô đã dạy bảo, chỉ dẫn chúng em và luôn tạo điều kiện tốt nhất cho chúng em học tập trong suốt quá trình học đại học đặc biệt là trong thời gian làm khoá luận tốt nghiệp.
Em xin bày tỏ lòng biết ơn sâu sắc tới cô giáo ThS. Ma Thị Châu, cô đã hướng dẫn em tận tình trong cả học kỳ vừa qua, cô đã góp ý và chỉnh sửa thường xuyên cho khóa luận của em.
Tôi cũng xin cảm ơn những người bạn của mình, các bạn đã luôn ở bên tôi, giúp đỡ và cho tôi những ý kiến đóng góp quý báu trong học tập cũng như trong cuộc sống.
Hà nội, ngày 2010
Lưu Xuân Thế
TÓM TẮT
Kỹ thuật dò biên là bài toán mới chỉ xuất hiện cách đây không lâu, chỉ khoảng vài thập niên, nhưng đã có rất nhiều nghiên cứu về nó. Các nghiên cứu ban đầu rất đơn giản, ảnh là đen trắng và chỉ có một khuôn mặt chụp thẳng, sau này mở rộng ra cho ảnh màu, ảnh có nhiều khuôn mặt với nhiều góc, môi trường xung quanh cũng đi từ đơn giản đến rất phức tạp.
Từ khóa: edge detection, edge filter.
MỤC LỤC
Chương 1. GIỚI THIỆU
1.1 Giới thiệu về tìm biên trong nhận dạng khuôn mặt
Kỹ thuật dò biên là bài toán mới chỉ xuất hiện cách đây không lâu, chỉ khoảng vài thập niên, nhưng đã có rất nhiều nghiên cứu về nó. Các nghiên cứu ban đầu rất đơn giản, ảnh là đen trắng và chỉ có một khuôn mặt chụp thẳng, sau này mở rộng ra cho ảnh màu, ảnh có nhiều khuôn mặt với nhiều góc, môi trường xung quanh cũng đi từ đơn giản đến rất phức tạp. Bài toán phát hiện biên nói chung và phát hiện biên khuôn mặt nói riêng có rất nhiều hướng để phát triển, nhưng có thể kể ra hai hướng chính sau:
- Thứ nhất là nhận diện (face recognition) một khuôn mặt, tức là giả sử ta có bức ảnh một khuôn mặt, ta sẽ tìm một bức ảnh có khuôn mặt giống với khuôn mặt trong ảnh. Ứng dụng của nó là truy tìm tội phạm, các hệ thống an ninh xác đinh dựa vào khuôn mặt.
- Thứ hai là xác định vị trí những khuôn mặt trong một bức ảnh (face detection), các bức ảnh có thể có nhiều khuôn mặt, có kích thước và góc khác nhau. Ứng dụng của nó như trong các máy chụp hình có khả năng nhận dạng mặt người để chỉnh độ sáng nơi đó.
Biên là vấn đề chủ yếu trong phân tích ảnh, vì các đặc điểm trích chọn trong quá trình phân tích ảnh chủ yếu dựa vào biên. Một điểm được gọi 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 biên hay đường bao của ảnh.
Về mặt toán học người ta xem biên là nơi có sự thay đổi đột ngột về mức xám, trên cơ sở đó người ta thường sử dụng hai phương pháp phát hiện biên sau:
- Phương pháp phát hiện biên trực tiếp
- Phương pháp phát hiện biên gián tiếp
Xuất phát từ thực tế đó, mục tiêu của luận văn là nghiên cứu các phương pháp biểu diễn biên, hệ thống hóa kiến thức về các phương pháp phát hiện biên, tìm hiểu các kỹ thuật phân vùng ảnh, một bước trước trong quá trình dò biên và ứng dụng của nó trong xử lý ảnh và xử lý ảnh văn bản là một trong những nhiệm vụ quan trọng trong việc tự động hóa công việc văn phòng.
1.2 Bài toán nghiên cứu kỹ thuật dò biên áp dụng trong trích chọn khuôn mặt
Trong thực tế, chúng ta gặp nhiều bài toán liên quan đến nhận dạng đối tượng. Thông thường, việc nhận ra các đối tượng thường dựa vào đường biên của chúng. Ở Việt Nam hiện nay đã có một số hệ thống nhận dạng đối tượng như: MapScan, VnDOCR, MarkREAD của Viện Công nghệ thông tin hay VecMap của DolSoft, nhìn chung những ứng dụng và tài tiệu có tính chất hệ thống về các phương pháp biểu phát hiện biên và ứng dụng của nó vẫn là một phần thiếu vắng.
Xuất phát từ thực tế đó, mục tiêu của luận văn là nghiên cứu các phương pháp biểu diễn biên, hệ thống hóa kiến thức về các phương pháp phát hiện biên, tìm hiểu các kỹ thuật phân vùng ảnh, tìm hiểu quá trình dò biên và ứng dụng của nó trong xử lý ảnh và xử lý ảnh văn bản, là một trong những nhiệm vụ quan trọng trong việc tự động hóa công việc văn phòng.
Trong khóa luận này biên khuôn mặt sẽ được hiển thị thông qua một chương trình mã đơn giản. Với 5 kỹ thuật được áp dụng biên khuôn mặt sẽ được đưa ra với 5 kiểu khác nhau. Mỗi kiểu sẽ là một đặc điểm và khía cạnh riêng.
1.3 Nội dung và cấu trúc khóa luận
Khóa luận được tổ chức theo cấu trúc như sau:
Chương 1: Giới thiệu
Giới thiệu sơ lược về các kỹ thuật dò biên nói chung và kỹ thuật dò biên áp dụng với khuôn mặt và áp dụng cho việc trích chọn các bộ phận của khuôn mặt. Bài toán phát hiện biên được phân tích dưới khía cạnh toán học giúp ta chọn hướng giải quyết tốt nhất cho bài toán là sử dụng các kỹ thuật tìm kiếm biên cổ điển. Chương này giới thiệu những gì mà khóa luận nghiên cứu từ đó thông qua việc trình bày về nội dung và cấu trúc của khóa luận.
Chương 2: Các kỹ thuật dò biên
Chương hai đi vào giới thiệu giới thiệu các kỹ thuật dò biên. Với 2 kỹ thuật dò biên trực tiếp và gián tiếp, nhưng ta chủ yếu đi xâu vào kỹ thuật dò biên trực tiếp được dùng rộng rãi và thường xuyên.
Chương 3: Kỹ thuật dò biên được áp dụng
Chương này giới thiệu vào các kỹ thuật dò biên được áp dụng trong chương trình. Bằng cách sử dụng hàm Gauss để làm trơn ảnh sau đó dùng các kỹ thuật tìm kiếm trực tiếp để đưa ra 5 kiểu biên khác nhau với một bức ảnh nói chung và khuôn mặt trong chương trình này.
Chương 4: Kết luận và hướng phát triển
Chương này tổng kết lại những gì đã đạt được và chưa đạt được. Từ đó nêu lên những kết quả hướng tới, hướng nghiên cứu và phát triển tiếp theo.
Chương 2. CÁC KỸ THUẬT DÒ BIÊN
2.1 Quy trình phát hiện biên
trích chọn biên
Định vị biên
Làm nổi biên
Lọc nhiễu
ảnh đầu vào output
H2.1. 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
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.2 Kỹ thuật 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
Định nghĩa: Gradient là một vector 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 trên đạo hàm riêng bậc nhất theo hướng x, y.
Gradient trong gốc tọa độ góc (r, θ), với r là vector, θ là góc
H2.2. Vector gradient
2.2.1 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:
Đặt A0 = g(m,n);
Để 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 chuẩn như toán tử Robert, Sobel, Prewitt, đẳng hướng (Isometric), 4-lân cận dưới đây.
H2.3. Toán tử 4 lân cận
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 trên Wij 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:
Mặt nạ Robert
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:
Hướng ngang (x) Hướng dọc (y)
Mặt nạ Prewitt
Toán tử Prewitt đưa ra năm 1970 có dạng:
Hướng ngang (x) Hướng dọc (y)
Mặt nạ đẳng hướng:
Một mặt nạ khác cũng được nêu như dưới đây gọi là mặt nạ đẳng hướng (Isometric).
Hướng ngang (x) Hướng dọc (y)
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ạ này được cho:
H3. Mặt nạ 4 lân cận
H2.4. Mặt nạ 8 hướng theo Kirsh.
Một vài nhận xét:
Toán tử Prewitt có thể tách sườn tốt hơn toán tử Sobel, trong khi đó toán tử Sobel tách các sườn trên các đường chéo tốt hơn. Mặt khác, các toán tử Robert và các toán tử 4-lân cận có nhược điểm là nhạy với nhiễu. Các toán tử Gradient và Sobel giảm nhiễu do tác dụng của lọc trung bình các điểm lân cận. Như vậy, để đạt được kết quả mong muốn các toán tử Gradient thường được dùng trước để làm sạch nhiễu.
Các mặt nạ của các toán tử trên có kích thước 2x2 hoặc 3x3 chiều. Các mặt nạ có số chiều lớn hơn cũng được sử dụng. Ví dụ trong kỹ thuật phát hiện biên người ta dùng mặt nạ 5x5 cho toán tử Sobel:
Toán tử Sobel 5x5.
Các toán tử kể trên đều sử dụng các mặt nạ theo hai chiều (x, y) tức là 4 hướng (-x, y-y, y) với mục đích cho kết quả chính xác hơn(khi mà tốc độ và bộ nhớ máy tính tốt. )
Toán tử la bàn
Kirsh đã đã đề xuất mặt nạ 8 hướng như 8 hướng của La bàn(Compass). Hình
dưới 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 45 độ.
Toán tử la bàn Kirsh:
Có nhiều toán tử la bàn khác nhau. 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 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
- Nếu lấy theo đạo hàm bậc hai của ảnh: ta có phương pháp Laplace
Hai phương pháp này gọi chung là phương pháp dò biên cục bộ.
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ư:
Hoặc:
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:
Kỹ thuật Laplace
Để 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ố mặt nạ khác nhau nhằm tính gần đúng đạo hàm riêng bậc 2. Các dạng mặt nạ 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 2 trong không gian 2 chiều với mặt nạ H1 làm ví dụ, ta có thể tính gần đúng như sau:
Do đó:
Tóm lại: 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.
Tách sườn theo ảnh Canny
Bộ tách sườn ảnh theo Canny (1986) dựa trên cặp đạo hàm riêng bậc nhấtvớ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,y của f.
Do vậy:
Lấy đạo hàm riêng theo x và y của G ta được:
H2.5. Mô hình tính của phương pháp Canny.
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 như hình H2.5 trên.
Dò biên theo quy hoạch động
Như trên đã nói, 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ác đ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.
H2.6. Minh họa nguyên lý Bellman
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:
Với:
Xk, k=1,...,N: Biểu diễn các đỉnh đồ thị 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) Gradient biên độ và Gradient hướng ở đỉnh xk.
α và β 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 xk, k=1,..., N nào đó sao cho S(x1,..., xN, N) đạt cực đại.
Định nghĩa hàm ф như sau:
Bây giờ ta có:
Lấy N = k.
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 ưu 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, ( k x 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. Theo phương pháp trên có 5 ) 1, ( = A φ, với k =2 có . ) 2, ( 12 max(11,12) D = = φ Đ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.
a. Đồ thị liên thông biểu diễn biên b. Quá trình dò biên theo quy hoạch động
H2.7. Dò biên theo phương pháp quy hoạch động
Trên hình 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 Kỹ thuật phát hiện biên gián tiếp
Nếu bằng cách nào đấy, chúng ta thu được 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 và đượ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ỏ.
2.4 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 đó.
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:
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ố a 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 đó.
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 σ 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.
2.5 Tổng kết
Các kỹ thuật sử dụng phương pháp Gradient khá tốt khi độ sáng có tốc độ thay đổi nhanh, khá đơn giản trên cơ sở các mặt nạ theo các hướng. Nhược điểm của các kỹ thuật Gradient là nhạy cảm với nhiễu và tạo các biên kép làm chất lượng biên thu được không cao.
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à được 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 bởi nhiễu.
Chương 3. CÁC KỸ THUẬT DÒ BIÊN ĐƯỢC ÁP DỤNG
3.1 Các kỹ thuật được dùng
Biên là tập hợp các điểm tại đó hàm độ sáng của ảnh thay đổi cục bộ đột ngột, do đó để phát hiện biên và tách biên ta dùng phép toán đạo hàm. Các phép toán đạo hàm thường dùng là đạo hàm bậc nhất và đạo hàm bậc 2. Vị trí của biên chính là gía trị lớn nhất của đạo hàm bậc nhất và là các điểm tại đó giá trị của đạo hàm bậc 2 có sự đi qua điểm 0.
Chương trình sử dụng kỹ thuật phát hiện biên trực tiếp, tức là lấy đạo hàm bậc nhất theo phương pháp Gradient.
Chương trình áp dụng hàm Gauss với khai báo:
với các hằng số thực a > 0, b, c > 0, và e ≈ 2. 718281828 (Số Euler).
Hàm Gauss được sử dụng rộng rãi. Trong thống kê chúng miêu tả phân bố chuẩn, trong xử lý tín hiệu chúng giúp định nghĩa bộ lọc Gauss, trong xử lý hình ảnh hàm Gauss hai chiều được dùng để tạo hiệu ứng mờ Gauss và được sử dụng để làm trơn để xây dựng các hàm wavelet ứng dụng cho việc xác định biên, cụ thể trong chương trình này ta dùng phương pháp Gradient, và trong toán học chúng được dùng để giải phương trình nhiệt và phương trình khuyếch tán và định nghĩa phép biến đổi Weierstrass.
Biểu đồ của một hàm Gauss là một đường cong đối xứng đặc trưng "hình quả chuông". Đường cong này rớt xuống rất nhanh khi tiến tới cộng/trừ vô cùng. Tham số a là chiều cao tối đa đường cong, b là vị trí tâm của đỉnh và c quyết định chiều rộng của "chuông".
H3.1Đường cong Gauss chuẩn hóa với giá trị kỳ vọng μ và phương sai σ2. Những tham số tương ứng là a = 1/(σ), b = μ, c = σ
Tiếp đến ta sử dụng hàm dgauss với công thức như sau:
y = -x ae-((x-b)^2)/2c^2 / c2;
Với hàm Gauss có công thức được định nghĩa như sau:
y = e-x^2/(2c^2) / (c);
Hàm này chính là đạo hàm của hàm gauss với các tham số của hàm tương ứng là a = 1/(c), b = 0, c = c. Và hàm d2dgauss:
h = d2dgauss(n1,sigma1,n2,sigma2,theta)
Hàm này tìm kiếm và trả lại biên 2D với ảnh có cỡ n1 * n2. Theta là góc xoay theo chiều kim đồng hồ, theo thứ tự của size của bức ảnh các thành phần lần lượt sẽ được xoay một góc theta và tiến hành lấy tích của hàm Gauss với các tham số thứ nhất với đạo hàm của hàm Gauss với các tham số thứ 2 ta thu được các giá trị h tương ứng và cuối cùng giá trị hàm sẽ được tính:
h = h / ;
Sigma1 và sigma2 là độ lệch tiêu chuẩn của hàm gauss. Ban đầu chương trình xử lý ảnh đầu vào và biến đổi thành anh đa cấp xám (gray), sử dụng hàm imread(image) để đọc ảnh đầu vào, sau đó chuyển ảnh này thành đam cấp xám bằng hàm ind2gray(x, map) và tiến hành lấy biên 2D theo các kỹ thuật mà được nói kỹ ở phần dưới.
Lấy biên theo trục X
Với các thông số chuẩn của hàm Gauss, khi lấy biên theo trục X ta sẽ đưa bức ảnh về kích thước 10X10, các tham số chuẩn của hàm Gauss Sigmax1=Sigmax2=1, góc quay Theta1=pi/2. Sau khi ảnh vào được đọc bởi hàm imread(image) và được chuyển thành ảnh đa cấp xám qua hàm ind2gray(x, map). Và quy trình lấy biên theo trục X sẽ được tiến hành với ảnh đa cấp xám này. Ta sử dụng hàm d2dgauss là hàm với các tham số cụ thể:
filterx=d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1);
w=ind2gray(x,map);
Qua bước xử lý này thì đã lấy được biên theo các tham số ứng với trục X, bước tiếp theo là hiển thị ra màn hình biên theo trục X. Ta sử dụng hàm conv2:
Ix= conv2(w,filterx,'parameters');
Với hàm Conv2 với shape = same: conv2(matrix, kernel, 'same'), ma trận kết quả có chiều giống như matrix, và giá trị tại mổi phần tử được tính bằng cách quét tâm của kernel trên toàn bộ matrix rối tính tổng tích các cặp điểm tương ứng giữa matrix và kernel. Điểm tâm của kernel được xác định bằng điểm giữa của ma trận, ví dụ nếu kernel là ma trận 3x3 thì tâm là điểm có tọa độ 1:1, nếu kernel là ma trận 4x4 thì tâm cũng là điểm 1:1.
H3.2 Hàm conv2 với tham số same
Conv2 với shape = full: conv2(matrix, kernel, 'full'), nếu matrix có chiều là m1 x n1, kernel có chiều là m2 x n2 thì ma trận kết quả có chiều là (m1 + m2 - 1) x (n1 + n2 - 1) và giá trị tại mổi phần tử được tính bằng cách quét toàn bộ, tuần tự từng điểm của ma trận Kernel lên từng điểm trên ma trận matrix sau đó tính tổng tính các cặp điểm tương ứng, trong quá trình quét có những điểm trên Kernel nằm ngoài matrix khi đó tích của nó bằng 0.
H3.3 Hàm conv2 với tham số full
Conv2 với shape = valid: conv2(matrix, kernel, 'valid'), nếu matrix có chiều là m1 x n1, kernel có chiều là m2 x n2 thì ma trận kết quả có chiều là (m1 - m2 + 1) x (n1 - n2 + 1) và giá trị tại mỗi phần tử được tính giống như trường hợp full nhưng với điều kiện là ma trận kernel trong quá trình quét luôn nằm trọn vẹn bên trong ma trận matrix.
H3.2 Hàm conv2 với tham số valid
Lấy biên theo trục Y
Với các thông số chuẩn của hàm Gauss, khi lấy biên theo trục Y cũng có quy trình tương tự như quy trình lấy biên theo trục X với các tham số tương ứng kích thước ảnh 10X10, các tham số chuẩn của hàm Gauss Sigmay1=Sigmay2=1, góc quay Theta1=0.
Lấy biên theo Gradient
Với phương pháp Gradient ta kết hợp cả theo trục X và Y. Với Ix và Iy ta tính được ở trên thì ta tính:
NVI= ;
Hàm lấy căn bậc hai của bình phương các giá trị tham số theo trục X và Y. Sau khi đó ta sẽ được giá trị theo hướng đường chéo hình chữ nhật hướng xuống góc phần tư thức tư với 2 hướng của hình chữ nhật là trục X và trục âm Y. Các tham số của ma trận ảnh theo phương pháp Gradient sẽ được tính như công thức căn bậc 2 trên.
Lấy biên theo Thresholding
Thresholding là hoạt động đầu tiên được thực hiện để tạo ra một mặt phân đoạn. Chúng ta có thể lựa chọn một vùng mà ta quan tâm bằng cách định nghĩa một phạm vi của những gray value. Những ranh giới của phạm vi đó là các giá trị ngưỡng trên và ngưỡng dưới. Tất cả các điểm tương ứng với một gray value trong phạm vi đó sẽ được tô sáng trong một mặt.
Theo phương pháp này giá trị min và max của ma trận Gradient sẽ được xác định qua các hàm max, min. Như sau:
I_max=max(max(NVI));
I_min=min(min(NVI));
Ngưỡng sẽ được định nghĩa như sau:
level=alfa*(I_max-I_min)+I_min; alfa=0.1;
Và sau đó những tham số nào trong ma trận Gradient mà lớn hơn ngưỡng này sẽ được hiển thị. Và ta hiển thị biên theo phương pháp này.
Lấy biên theo Thinning
Phương pháp này áp dụng kết quả của các phương pháp trước để phát triển lên. Với m, n là kích cỡ của ảnh theo trên. Phương pháp sử dụng phép nội suy để tìm các điểm ảnh.
Nội suy hàm 1 biến:MATLAB dùng hàm interp1(x,y,xi,)với x, là giá trị của hàm tại những điểm đã cho và xi là giá trị mà tại đó ta cần nội suy ra giá trị yi. có thể là một trong các giá trị sau :‘nearest’- phương pháp này đặt giá trị nội suy vào giá trị đã cho gần nhất, phươngpháp này nhanh nhưng kết quả kém chính xác nhất.
Vídụ:x=[12345];y=[5.5,43.1,128,290.7,498.4];yi=interp1(x,y,1.6,'nearest')yi=43.1000‘linear’- phương pháp này coi đường cong đi qua 2 điểm cho trước là đường thẳng.
Vídụ:yi=interp1(x,y,1.6,'linear')yi=28.0600‘spline”- dùng phương pháp nội suy spline.
Vídụ:yi=interp1(x,y,1.6,'spline')yi=24.9782‘cubic’- phương pháp này coi đường cong qua 2 điểm là đường cong bậc 3.
Vídụ:yi=interp1(x,y,1.6,'cubic')yi=2522.3840
Nội suy hàm hai biến: Hàm interp2 thực hiện nội suy hàm 2 biến. Dạng hàm tổng quát:ZI=interp2(X,Y,Z,XI,YI,)Z- ma trận chữ nhật chứa giá trị của hàm 2 biến.X,Y-mảng có cùng kích thước, chứa giá trị x, y đã cho.XI,YI-mảng chứa giá trị cần nội suy.Cácgồm:‘nearest’,’linear’,’cubic’Nội suy mảng nhiều chiều:interp3 nội suy hàm 3 biến.interpn nội suy hàm nhiều biến.
Phương pháp này là duyệt các ma trận điểm ảnh lần lượt là:
X=[-1,0,+1;-1,0,+1;-1,0,+1];
Y=[-1,-1,-1;0,0,0;+1,+1,+1];
Z=[Ibw(i-1,j-1),Ibw(i-1,j),Ibw(i-1,j+1);
Ibw(i,j-1),Ibw(i,j),Ibw(i,j+1);
Ibw(i+1,j-1),Ibw(i+1,j),Ibw(i+1,j+1)];
XI=[Ix(i,j)/NVI(i,j), -Ix(i,j)/NVI(i,j)];
YI=[Iy(i,j)/NVI(i,j), -Iy(i,j)/NVI(i,j)];
và tiến hành nội suy với hàm:
ZI=inte
Các file đính kèm theo tài liệu này:
- Luu Xuan The_K51KHMT_Khoa luan tot nghiep dai hoc.doc