Các thuật toán phổ biến nhất cho ngưỡng thích ứng là gì?


38

Ngưỡng thích ứng đã được thảo luận trong một vài câu hỏi trước đó:

Ngưỡng thích ứng cho phân khúc gan bằng Matlab

Các thuật toán tốt nhất cho ngưỡng ảnh tài liệu trong ví dụ này là gì?

Tất nhiên, có nhiều thuật toán cho ngưỡng thích ứng. Tôi muốn biết những gì bạn đã tìm thấy hiệu quả và hữu ích nhất.

Những thuật toán thích ứng nào bạn đã sử dụng nhiều nhất và cho ứng dụng nào; Làm thế nào để bạn đến để chọn thuật toán này?

Câu trả lời:


24

Tôi không nghĩ câu trả lời của tôi sẽ là một câu trả lời hoàn chỉnh, nhưng tôi sẽ cung cấp những gì tôi biết và vì đây là trang web được chỉnh sửa cộng đồng, tôi hy vọng ai đó sẽ sớm đưa ra câu trả lời miễn phí :)

Các phương pháp ngưỡng thích ứng là những phương pháp không sử dụng cùng một ngưỡng trong toàn bộ hình ảnh .

Nhưng, đối với một số cách sử dụng đơn giản hơn, đôi khi chỉ cần chọn một ngưỡng với một phương thức thông minh hơn so với phương pháp lặp đơn giản nhất . Phương pháp của Otsu là một phương pháp ngưỡng phổ biến giả định hình ảnh chứa hai lớp pixel - nền trướcnền và có biểu đồ hai chế độ . Sau đó, nó cố gắng giảm thiểu sự lây lan kết hợp của chúng (phương sai trong lớp).

Các thuật toán đơn giản nhất có thể được coi là phương pháp ngưỡng thích ứng thực sự sẽ là các thuật toán phân tách hình ảnh thành một lưới các ô và sau đó áp dụng một phương pháp ngưỡng đơn giản (ví dụ: phương pháp lặp hoặc phương pháp Otsu) trên mỗi ô coi nó là một hình ảnh riêng biệt (và giả định một biểu đồ hai phương thức). Nếu một hình ảnh phụ không thể được ngưỡng tốt, có thể sử dụng ngưỡng từ một trong các ô lân cận.

Cách tiếp cận khác để tìm ngưỡng cục bộ là kiểm tra thống kê các giá trị cường độ của vùng lân cận cục bộ của từng pixel . Ngưỡng này khác nhau đối với từng pixel và được tính từ vùng lân cận cục bộ ( trung bình, trung bình và các lựa chọn khác là có thể). Có một triển khai loại phương thức này có trong thư viện OpenCV trong cv::adaptiveThresholdinghàm.

Tôi tìm thấy một phương pháp tương tự khác gọi là Bradley Local Threshold . Nó cũng kiểm tra vùng lân cận của từng pixel, đặt độ sáng thành màu đen nếu độ sáng của pixel thấp hơn t phần trăm so với độ sáng trung bình của các pixel xung quanh. Giấy tương ứng có thể được tìm thấy ở đây .

Câu trả lời stackoverflow này đề cập đến một phương pháp ngưỡng (thích ứng) cục bộ được gọi là Niblack nhưng tôi chưa từng nghe về nó trước đây.

Cuối cùng, có một phương pháp tôi đã sử dụng trong một trong những dự án nhỏ trước đây của mình, được gọi là Ngưỡng hình ảnh bằng cách tối ưu hóa biến đổi tối thiểu . Đây là một phương pháp lặp, dựa trên việc tối ưu hóa một hàm năng lượng là sự kết hợp phi tuyến của hai thành phần. Một thành phần nhằm mục đích tính ngưỡng dựa trên vị trí thay đổi cường độ mạnh nhất trong ảnh. Các thành phần khác nhằm làm mịn ngưỡng tại các khu vực biên giới (đối tượng). Nó đã được chứng minh khá tốt trên hình ảnh của các thiết bị tương tự (nhiều sắc thái và phản xạ khác nhau từ hiện tại bằng thủy tinh / nhựa), nhưng đòi hỏi phải lựa chọn cẩn thận về số lần lặp.

Chỉnh sửa muộn : Lấy cảm hứng từ bình luận cho câu trả lời này . Có một cách nữa tôi biết để làm việc xung quanh điều kiện ánh sáng không đồng đều. Tôi sẽ viết ở đây về các vật thể sáng trên nền tối, nhưng lý do tương tự có thể được áp dụng nếu tình huống ngược lại. Ngưỡng biến đổi mũ trên cùng màu trắng của hình ảnh với ngưỡng không đổi thay vì hình ảnh gốc . Một chiếc mũ trên đầu màu trắng của một hình ảnh không có gì khác ngoài sự khác biệt giữa hình ảnh và nó đang mở . Để giải thích thêm, hãy để tôi đưa ra một trích dẫn từ P. Soille: Phân tích hình ảnh hình thái :γ ( f )fγ(f)

Việc mở hình ảnh gốc với hình vuông SE lớn sẽ loại bỏ tất cả các cấu trúc hình ảnh có liên quan nhưng vẫn giữ được chức năng chiếu sáng. Mũ trắng trên của hình ảnh gốc hoặc phép trừ của chức năng chiếu sáng từ hình ảnh gốc tạo ra một hình ảnh với độ rọi đồng nhất.


14

Bạn có thể tìm thấy một bài báo có so sánh một số phương pháp ngưỡng ở đây:

  • M. Sezgin, B. Sankur - Khảo sát kỹ thuật ngưỡng ảnh và đánh giá hiệu suất định lượng, Tạp chí hình ảnh điện tử, 2004 - pdf

Đây là một bài viết khác đánh giá các phương pháp nhị phân:

  • P. Stathis, E. Kavallieratou và N. Papamarkos - Một kỹ thuật đánh giá các thuật toán biến đổi, Tạp chí Khoa học máy tính phổ quát, 2008, - pdf

Phương pháp nhị phân thích ứng mà tôi đã sử dụng trong dự án cuối cùng của mình sử dụng các hình ảnh tích hợp để tính toán nhanh hàm hàm được sử dụng bởi phương pháp Sauvola. Phương pháp Sauvola được mô tả trong:

  • J. Sauvola và M. Pietikainen, binarization hình ảnh tài liệu thích ứng, nhận dạng mẫu 33, 2000. - pdf

Việc sửa đổi sử dụng các hình ảnh tích hợp cung cấp khả năng tăng tốc gấp 20 lần (theo bài báo) được mô tả trong bài viết này:

  • F. Shafait, D. Keysers và TM Breuel, Thực hiện hiệu quả các kỹ thuật ngưỡng thích ứng cục bộ bằng cách sử dụng hình ảnh tích hợp, Nhận dạng tài liệu và Truy xuất XV, 2008 - pdf

Đây chỉ là những giấy tờ tôi đã sử dụng khi chọn phương pháp nhị phân cho dự án của mình (để tìm văn bản trong hình ảnh). Tôi không phải là chuyên gia nên tôi không thể nói phương pháp nào là tốt nhất cho ứng dụng nào.


6

Câu hỏi này đã được trả lời rất tốt từ các quan điểm khác nhau, và tôi chỉ muốn tóm tắt kinh nghiệm của mình và cũng nhấn mạnh một số vấn đề liên quan đến binarization thích ứng.

Binarization thích ứng có thể được chia thành ba loại:

1) Phương pháp toàn cầu: với phương pháp này trước tiên, nền của hình ảnh được ước tính; sau đó một hình ảnh chuẩn hóa được tạo ra với sự trợ giúp của thông tin cơ bản. Sau đó, phương pháp binarization toàn cầu được sử dụng.

2) Phương pháp dựa trên bản vá: như tên gọi, phương pháp dựa trên bản vá sẽ thực hiện bản vá nhị phân bằng bản vá. Ở mỗi bản vá, một phép tính nhị phân được ước tính bằng phương pháp nhị phân toàn cục. Sau đó, một số xử lý hậu kỳ được thực hiện để khởi kiện rằng ngưỡng nhị phân trong các bản vá lân cận có sự chuyển tiếp suôn sẻ.

3) Phương pháp cửa sổ di chuyển: với phương pháp này, quá trình tạo nhị phân được thực hiện theo pixel. Một cửa sổ di chuyển được thiết lập để tính toán số liệu thống kê pixel trong cửa sổ và dựa trên số liệu thống kê, ngưỡng cho pixel trung tâm trong cửa sổ được tính toán.

Rất khó để nói phương pháp nào là tốt nhất vì nó phụ thuộc vào ứng dụng. Khi bạn nghĩ về một nhị phân thích ứng, đừng quên xem xét các câu hỏi sau:

1) cài đặt tham số: phương thức có quy trình cài đặt tham số tự động không? Làm thế nào chúng ta có thể thiết lập các tham số rất tốt để nó có thể hoạt động trên hầu hết các trường hợp?

2) các tiêu chí của việc biện minh cho một binarization thích ứng tốt là gì? Trong nhiều trường hợp, sự khác biệt giữa các phương pháp nhị phân khác nhau là rất nhỏ. Tuy nhiên, sự khác biệt nhỏ có thể dẫn đến sự khác biệt lớn cuối cùng.

3) binarization có thể làm việc trên một số tình huống cụ thể? Ví dụ, giả sử mục tiêu của binarization thích ứng là trích xuất trong khi các đối tượng từ nền đen, liệu binarization có thể tự động thích ứng với tình huống này không? Hoặc phó visa.

4) phương pháp thích ứng có xu hướng chỉ tập trung vào các cấu hình cục bộ, do đó kết quả nhị phân không được tối ưu hóa. Ví dụ, phương pháp Sauvola nổi tiếng sẽ tạo ra đối tượng rỗng nếu đối tượng được tối ưu hóa lớn hơn nhiều so với cửa sổ chuyển động. Phương pháp thích ứng của bạn có thể vượt qua giới hạn này?

5) tiền xử lý. Một binarization tốt cũng nên bao gồm nội bộ xử lý hình ảnh. Nếu hình ảnh quá mờ, nó có thể tự động điều chỉnh các tham số của thuật toán hoặc gọi một số tiền xử lý để tránh hiện tượng nhị phân xấu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.