Phát hiện ngoại lệ trực tuyến


10

Tôi muốn xử lý hình ảnh kính hiển vi được phân đoạn tự động để phát hiện hình ảnh bị lỗi và / hoặc phân đoạn bị lỗi, như là một phần của đường ống hình ảnh thông lượng cao. Có một loạt các tham số có thể được tính toán cho từng hình ảnh thô và phân đoạn và điều đó trở nên "cực đoan" khi hình ảnh bị lỗi. Ví dụ: một bong bóng trong hình ảnh sẽ dẫn đến sự bất thường như kích thước khổng lồ ở một trong các "tế bào" được phát hiện hoặc số lượng tế bào thấp bất thường cho toàn bộ trường. Tôi đang tìm kiếm một cách hiệu quả để phát hiện những trường hợp bất thường này. Lý tưởng nhất, tôi thích một phương thức có các thuộc tính sau (theo thứ tự mong muốn):

  1. không yêu cầu ngưỡng tuyệt đối được xác định trước (mặc dù tỷ lệ phần trăm được xác định trước là OK);

  2. không yêu cầu phải có tất cả dữ liệu trong bộ nhớ hoặc thậm chí đã xem tất cả dữ liệu; phương pháp này có thể thích ứng và cập nhật các tiêu chí của nó khi nó thấy nhiều dữ liệu hơn; (rõ ràng, với một số xác suất nhỏ, sự bất thường có thể xảy ra trước khi hệ thống nhìn thấy đủ dữ liệu và sẽ bị bỏ qua, v.v.)

  3. là song song: ví dụ trong vòng đầu tiên, nhiều nút làm việc song song tạo ra sự bất thường ứng cử viên trung gian, sau đó trải qua vòng chọn thứ hai sau khi vòng thứ nhất hoàn tất.

Sự bất thường mà tôi đang tìm kiếm không tinh tế. Chúng là loại rõ ràng rõ ràng nếu người ta nhìn vào biểu đồ của dữ liệu. Nhưng khối lượng dữ liệu được đề cập và mục tiêu cuối cùng là thực hiện phát hiện bất thường này trong thời gian thực khi hình ảnh được tạo ra, loại trừ bất kỳ giải pháp nào cần kiểm tra biểu đồ của người đánh giá con người.

Cảm ơn!


Tôi có đúng rằng vấn đề của bạn là cơ bản không?
user603

1
Đăng một số dữ liệu có thể giúp tôi "nhìn thấy" vấn đề mà bạn gặp phải. Tôi khá quen thuộc với biểu đồ làm nổi bật ngoại lệ và tôi có thể cung cấp cho bạn một số hướng dẫn về cách hiệu quả để phát hiện các trường hợp dị thường này bằng phương pháp thống kê thay cho việc kiểm tra biểu đồ của người đánh giá. Xem một cuộc thảo luận gần đây về việc phát hiện số liệu thống kê ngẫu nhiên.stackexchange.com/questions/12955/NH Tất nhiên bạn đang cố gắng phát hiện các vi phạm xác định ngẫu nhiên.
IrishStat

Bạn có thể cho chúng tôi biết thêm chi tiết? Là các tham số liên tục hoặc rời rạc? Phân phối nào làm các tham số có, cho hình ảnh không bị lỗi? Gaussian? Là các tham số độc lập hoặc tương quan? Có bao nhiêu thông số bạn trích xuất, mỗi hình ảnh? Bạn cần bao nhiêu hình ảnh mỗi giây để có thể xử lý (hoặc độ trễ trên mỗi hình ảnh có thể chấp nhận được)? Có lẽ bạn có thể hiển thị một số biểu đồ cho một vài tham số điển hình, trên một tập hợp dữ liệu lớn của hình ảnh không bị lỗi, và sau đó hiển thị biểu đồ tương ứng cho hình ảnh bị lỗi? Điều này có thể giúp tìm ra một giải pháp tốt.
DW

Câu trả lời:


3

Bạn đã xem xét một cái gì đó giống như một phân loại một lớp?

Bạn sẽ cần một tập huấn luyện các hình ảnh nổi tiếng, được sử dụng để huấn luyện một trình phân loại cố gắng phân biệt giữa "các hình ảnh như tập huấn luyện của bạn" và mọi thứ khác. Có một luận án của David Tax có thể có nhiều thông tin hơn bạn thực sự yêu cầu về chủ đề này, nhưng có thể là một nơi tốt để bắt đầu.

Ngoài việc yêu cầu một bộ huấn luyện, có vẻ như nó sẽ đáp ứng yêu cầu của bạn:

  • Các thông số được học từ dữ liệu (không có quảng cáo nào ở đây)

  • Khi bạn đã có mô hình, không cần phải giữ dữ liệu trong bộ nhớ.

  • Tương tự, trình phân loại được đào tạo có thể được chạy trên nhiều nút như bạn đã có.

Tùy thuộc vào ứng dụng của bạn, bạn có thể đào tạo một bộ phân loại có thể sửa chữa một lần và tái sử dụng nó cho các loại mẫu / thuốc nhuộm / vết bẩn / florophores / vv khác nhau. Thay phiên, bạn có thể khiến người dùng đánh giá thủ công một số đợt đầu tiên của mỗi lần chạy - Tôi tưởng tượng một người có thể kiểm tra ít nhất 5-8 ví dụ / phút với giao diện tốt.



1

Có nhiều cách tiếp cận có thể, nhưng thật khó để biết điều gì có thể là tốt nhất trong tình huống của bạn mà không có thêm thông tin.

Nghe có vẻ như, đối với mỗi hình ảnh, bạn nhận được một vectơ đặc trưng, ​​là một phần tử của . Nếu đó là trường hợp, đây là một số giải pháp ứng cử viên:Rn

  • Lưu trữ các vectơ đặc trưng của tất cả các hình ảnh trước đó, cùng với phân loại của chúng, trên đĩa. Định kỳ (giả sử, mỗi ngày một lần) đào tạo một thuật toán học tập trên dữ liệu này và sử dụng thuật toán kết quả để phân loại hình ảnh mới. Dung lượng đĩa rẻ; giải pháp này có thể thực dụng và hiệu quả để chuyển đổi thuật toán học ngoại tuyến thành thuật toán có thể được sử dụng trong cài đặt trực tuyến của bạn.

  • Lưu trữ các vectơ đặc trưng của một mẫu ngẫu nhiên 1.000 (hoặc 1.000.000) hình ảnh trước đó, cùng với phân loại của chúng. Định kỳ đào tạo một thuật toán học tập trên mẫu phụ này.

    Lưu ý rằng bạn có thể cập nhật hiệu quả mẫu phụ này theo cách trực tuyến bằng các thủ thuật tiêu chuẩn . Điều này chỉ thú vị nếu có một số lý do tại sao khó lưu trữ tất cả các vectơ đặc trưng của tất cả các hình ảnh trước đó (có vẻ khó tưởng tượng, đối với tôi, nhưng ai biết được).

  • Đối với mỗi vectơ , hãy theo dõi độ lệch trung bình và độ lệch chuẩn của hình ảnh không bị lỗi cho đến nay. Sau đó, khi bạn nhận được một hình ảnh mới, nếu có các tính năng của nó là ít nhất độ lệch chuẩn vượt quá giá trị trung bình cho tính năng đó, phân loại nó như là khiếm khuyết, nếu không phân loại nó như là không bị lỗi. Bạn có thể chọn dựa trên và sự đánh đổi mong muốn giữa dương tính giả và âm tính giả.nccn

    Nói cách khác, bạn duy trì -vector của phương tiện và -vector của độ lệch chuẩn, trong đó là giá trị trung bình của vectơ đặc trưng thứ và là độ lệch chuẩn của tính năng đó. Khi bạn nhận được một vectơ tính năng mới , bạn kiểm tra xem cho bất kỳ . Nếu không, bạn phân loại nó là không bị lỗi và bạn cập nhật và .nμnσμiiσix|xiμi|cσiiμσ

    Cách tiếp cận này giả định rằng mỗi tham số từ một hình ảnh không bị lỗi có phân phối Gaussian và các tham số là độc lập. Những giả định đó có thể lạc quan. Có nhiều biến thể tinh vi hơn của sơ đồ này sẽ loại bỏ sự cần thiết của các giả định này hoặc cải thiện hiệu suất; đây chỉ là một ví dụ đơn giản để cung cấp cho bạn một ý tưởng.

Nói chung, bạn có thể xem các thuật toán trực tuyến và thuật toán phát trực tuyến.


DW Bộ lọc / mô hình ARIMA là tối ưu hóa "mức trung bình đang chạy" trong đó số lượng thuật ngữ (N) và các trọng số cụ thể được áp dụng được xác định theo kinh nghiệm. Một mô hình cụ thể và rõ ràng là giả định là đoán "N" số lượng giá trị sẽ sử dụng trong "mức trung bình đang chạy" và sau đó gộp số vô hiệu bằng cách giả sử rằng các trọng số bằng nhau.
IrishStat

@IrishStat, Không chắc tôi có hiểu bình luận của bạn không. Trong trường hợp bài viết của tôi không rõ ràng, tôi đã không đề xuất ARIMA, mặc dù đó cũng là điều mà người ta có thể cân nhắc. Tôi đã đề xuất một cái gì đó đơn giản hơn nhiều: theo dõi mức trung bình của tất cả các quan sát cho đến nay và độ lệch chuẩn. Mỗi lần bạn nhìn thấy một quan sát mới, bạn có thể cập nhật độ lệch trung bình và độ lệch chuẩn (miễn là bạn đã theo dõi số lượng quan sát được nhìn thấy cho đến nay) bằng các phương pháp tiêu chuẩn. Nó có thể đơn giản, nhưng tôi không hiểu tại sao điều này sẽ là vô tri.
DW

0

Từ những gì tôi hiểu từ câu hỏi của bạn, bạn nhận được một chuỗi các vectơ trong và bạn muốn gắn cờ vectơ hiện tại như là một ngoại lệ với tất cả các vectơ bạn đã thấy cho đến nay. (Tôi giả sử rằng các tham số hình ảnh là các yếu tố của vectơ.)Rn

Nếu các ngoại lệ là khá rõ ràng, một mẹo đơn giản sẽ có hiệu quả là như sau. Xây dựng hàm băm nhạy cảm cục bộ từ các vectơ của bạn. . giá trị băm (vectơ boolean trong trường hợp siêu phẳng) và số đếm trong từ điển. Bạn cũng lưu trữ tổng số vectơ nhìn thấy cho đến nay. Tại bất kỳ thời điểm nào, bạn có thể gắn cờ một vectơ đã cho là ngoại lệ nếu tổng số vectơ va chạm với nó trong hàm băm nhỏ hơn tỷ lệ phần trăm được xác định trước trong tổng số.

Bạn có thể xem điều này như xây dựng một biểu đồ theo kiểu gia tăng. Nhưng vì dữ liệu không phải là đơn biến, chúng tôi sử dụng thủ thuật băm để làm cho nó hoạt động giống như vậy.

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.