Виявлення в Інтернеті


10

Я хочу обробити автоматично сегментовані мікроскопічні зображення для виявлення несправних зображень та / або несправних сегментацій у складі високопропускної трубопровідної обробки зображень. Існує безліч параметрів, які можна обчислити для кожного неочищеного зображення та сегментації, і вони стають "крайніми", коли зображення несправне. Наприклад, бульбашка на зображенні призведе до таких аномалій, як величезний розмір в одній з виявлених "клітин", або аномально низька кількість клітин для всього поля. Я шукаю ефективний спосіб виявити ці аномальні випадки. В ідеалі я віддаю перевагу методу, який має такі властивості (приблизно в порядку бажаності):

  1. не вимагає заздалегідь заданих абсолютних порогових значень (хоча попередньо визначені відсотки є нормальними);

  2. не вимагає збереження всіх даних у пам'яті або навіть перегляду всіх даних; було б добре, щоб метод був адаптивним і оновив його критерії, оскільки він бачить більше даних; (очевидно, з невеликою ймовірністю можуть виникнути аномалії до того, як система побачить достатню кількість даних і буде пропущена тощо).

  3. є паралельним: наприклад, у першому раунді багато вузлів, що працюють паралельно, створюють проміжні аномалії кандидата, які потім проходять один другий раунд вибору після завершення першого раунду.

Аномалії, які я шукаю, не є тонкими. Вони є очевидними, якщо очевидно переглядати гістограму даних. Але об'єм даних, про які йдеться, та кінцева мета - виявити цю аномалію в режимі реального часу, коли створюються зображення, виключає будь-яке рішення, яке вимагало б огляду оцінкою гістограм людським оцінювачем.

Дякую!


Чи я правда, що ваша проблема є по суті однозначною?
user603

1
Опублікуйте деякі дані, які можуть допомогти мені "побачити" проблему, яка у вас є. Я досить добре знайомий з гістограмою, що виділяє зовнішню групу, і я можу дати вам поради щодо ефективного способу виявлення цих аномальних випадків за допомогою статистичних методів замість того, щоб перевірити гістограми людським оцінювачем. Дивіться нещодавню дискусію щодо виявлення випадковості stats.stackexchange.com/questions/12955/… Ви, звичайно, намагаєтесь виявити детерміновані порушення випадковості.
IrishStat

Чи можете ви нам детальніше розповісти? Параметри безперервні чи дискретні? Яке розподіл мають параметри для зображень, що не мають дефектів? Гаусса? Чи параметри незалежні чи співвідносні? Приблизно, скільки параметрів ви виймаєте на зображення? Скільки зображень в секунду потрібно, щоб мати змогу обробляти (або яка затримка для зображення є прийнятною)? Можливо, ви можете показати деякі гістограми для кількох типових параметрів у великому наборі даних, що мають несправні зображення, а потім показати відповідну гістограму для несправних зображень? Це може допомогти знайти хороше рішення.
DW

Відповіді:


3

Чи вважали ви чимось на зразок однокласного класифікатора?

Вам знадобиться навчальний набір відомих хороших зображень, які використовуються для підготовки класифікатора, який намагається розрізнити "образи, як ваш навчальний набір", і все інше. Існує теза Девіда Податкового, яка, напевно, має більше інформації, ніж ви насправді вимагаєте з цієї теми, але, можливо, це буде гарним місцем для початку.

Окрім необхідності навчального набору, схоже, він відповідав би вашим вимогам:

  • Параметри дізнаються з даних (тут немає рекламних запитів)

  • Отримавши модель, немає необхідності зберігати дані в пам'яті.

  • Так само навчений класифікатор може бути запущений на стільки вузлів, скільки у вас є.

Залежно від вашої програми, ви, можливо, зможете один раз навчити справний класифікатор і повторно використовувати його для різних видів зразків / барвників / плям / флорофорів / тощо. Крім того, ви зможете змусити користувачів вручну оцінювати частину першої партії кожного запуску - я думаю, людина може перевірити принаймні 5-8 прикладів на хвилину з хорошим інтерфейсом.


2

Див. Http://scholar.google.com/scholar?q=stream+outlier+detection

Кілька встановлених методів, таких як LOF , були прийняті до потокового контексту. Існують, звичайно, методи, які оновлюють гістограми потоковим способом і таким чином позначають очевидні одновимірні люди. Це насправді може бути достатнім для вас?


1

Можливо багато підходів, але важко зрозуміти, що може бути найкращим у вашій ситуації без додаткової інформації.

Здається, що для кожного зображення ви отримуєте векторний вектор, який є елементом . Якщо це так, ось декілька кандидатських рішень:Rn

  • Зберігайте вектори функцій усіх попередніх зображень разом з їх класифікацією на диску. Періодично (скажімо, раз на день) тренуйте алгоритм навчання цих даних та використовуйте отриманий алгоритм для класифікації нових зображень. Місце на диску - дешево; це рішення може бути прагматичним та ефективним для перетворення алгоритму навчання в автономному режимі в такий, який можна використовувати у ваших онлайн-налаштуваннях.

  • Зберігайте вектори функцій випадкової вибірки з 1000 (або 1 000 000) попередніх зображень разом з їх класифікацією. Періодично тренуйте алгоритм навчання на цій підпробі.

    Зауважте, що ви можете ефективно оновлювати цю підпробову версію в Інтернеті, використовуючи стандартні трюки . Це цікаво лише в тому випадку, якщо є якась причина, чому важко зберігати всі функціональні вектори всіх попередніх зображень (що мені здається складно уявити, але хто знає).

  • Для кожного з векторів слідкуйте за середньою середньою характеристикою та середньоквадратичним відхиленням зображених до цього часу неповноцінних зображень. Потім, коли ви отримуєте нове зображення, якщо будь-яка його особливість є принаймні стандартними відхиленнями, що перевищують середню для цієї функції, віднесіть його до несправного, інакше віднесіть його до складу несправного. Ви можете вибрати на основі та бажаного компромісу між помилковими позитивами та помилковими негативами.c c nnccn

    μ n σ μ inμnσμiiσix|xiμi|cσiiμσ

    Цей підхід передбачає, що кожен параметр із зображення, що не має дефектів, має розподіл Гаусса і що параметри є незалежними. Ці припущення можуть бути оптимістичними. Існує багато більш складних варіантів цієї схеми, які усунуть необхідність цих припущень або покращать ефективність роботи; це лише простий приклад, щоб дати вам уявлення.

Загалом, ви можете подивитися онлайн-алгоритми та алгоритми потокової передачі.


DW Фільтр / модель ARIMA - це оптимізація "середнього показника", де емпірично ідентифікуються кількість термінів (N) та конкретні ваги, що застосовуються. Одна особлива і очевидно припущенна модель полягає в тому, щоб відгадати на "N" кількість значень, які слід використовувати в "середньому бігу", а потім скласти нежиттєздатність, вважаючи, що ваги рівні одна одній.
IrishStat

@IrishStat, Не впевнений, чи розумію я ваш коментар. У випадку, якщо моє написання було незрозумілим, я не пропонував ARIMA, хоча це теж можна було б врахувати. Я пропонував щось набагато простіше: слідкувати за середнім показником усіх спостережень досі та стандартним відхиленням. Щоразу, коли ви бачите нове спостереження, ви можете оновлювати середнє та стандартне відхилення (до тих пір, поки ви відстежували кількість спостережень, що спостерігалися до цього часу) за допомогою стандартних методів. Це може бути спрощеним, але я не бачу, чому це було б дурно.
DW

0

Rn

Якщо випускники досить очевидні, простий трюк, який би спрацював, полягає в наступному. Створіть з ваших векторів чутливий хеш-функцію. (Простий рандомізований хеш, наприклад, на яку сторону набору випадкових гіперплощин, на який падає вектор, може працювати. Це дасть булевий вектор як хеш-значення.) Тепер, коли ви отримуєте вектори, ви обчислюєте хеш-значення вектора і зберігаєте хеш-значення (булевий вектор у випадку гіперпланів) і рахується у словнику. Ви також зберігаєте загальну кількість переглянутих до цього часу векторів. У будь-який момент часу ви можете позначити даний вектор як випереджаючий, якщо загальна кількість векторів, що стикаються з ним у хеші, менше, ніж заздалегідь визначений відсоток від загальної кількості.

Ви можете розглядати це як побудову гістограми поступово. Але оскільки дані не є універсальними, ми використовуємо хеш-трюк, щоб змусити його поводитись так.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.