Виявлення лукавих річок на зображеннях


14

У мене поверхонь: з вимірюваним атрибутом (змінною) на кожній поверхні: . Більшість поверхонь матиме випадковий розподіл атрибута по всій поверхні, але деякі поверхні (цікаві) показуватимуть химерний річковий малюнок:нzi(х,у)аi(х,у)

введіть тут опис зображення

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

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

Тож статистика зображень ала ентропія може бути лише частиною рішення.

Ось приклад зображення без химерної річкової картини: введіть тут опис зображення

Мої зображення синтетичні (зроблені в Matlab). У реальному житті зображення без візерунка може мати дещо більшу просторову неперервність у вигляді невеликих крапок подібної цінності.

Ось зображення у відтінках сірого:

введіть тут опис зображення введіть тут опис зображення


1
Чи можете ви розміщувати фактичні зображення (без осі, палітри, гістограми, щоб ми могли спробувати різні алгоритми?). Також: Чи справді «звивиста річка» є синусом, чи вона може мати якусь форму?
Нікі Естнер

1
Привіт нікі. На моєму прикладі (синтетичні дані, зроблені в Matlab) річка є синусом. У реальному житті це "синусоподібно"; іноді він іде широкий від центральної лінії, іноді ні.
Енді

Відповіді:


13

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

Я зламав цей простий алгоритм у Mathematica:

Mean[MapThread[
  Function[{line1, line2},
   Min[Table[Norm[line1 - RotateLeft[line2, shift]], {shift, -5, 5}]]
   ], {s[[2 ;;]], s[[;; -2]]}]]

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

Це результати, які я отримую для штучно згенерованих зразків (Формула: Нормалізувати (випадковий шум * (1-фактор) + сигнал * фактор))

введіть тут опис зображення

Якщо я побудую результат проти потужності сигналу, алгоритм, здається, досить добре вимірює "синдром рівномірного сигналу":

введіть тут опис зображення

EDIT : Я забув нормалізувати вхідні зразки. Виправлено завантаження нових результатів


Гарна відповідь. Однак я думаю, що міру можна обдурити іншою суцільною кривою, як пряма. Я б трохи покращив це, змінивши останній крок, щоб встановити синус до знайдених точок (x, y), з деякою амплітудою, фазою та частотою. Тоді амплітуда може служити вимірюванням "сили річки".
Андрій Рубштейн

4

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

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

(BTW MATLAB включає відповідну функцію )

EDIT: Як відповідь на коментарі ОП та подальше завантаження додаткової інформації про проблему, ось додатковий пункт до цієї відповіді:

Ентропія все-таки спрацювала б, але не простий простий випадок, що не має пам'яті, описаний формулою Шеннона (де кожен зразок часового ряду вважається незалежним від попереднього).

Як простішу альтернативу, ви можете спробувати вивчити особливості автокореляції зображення .


Привіт A_A. Я думаю, що статистика зображень є частиною рішення, але потрібно якось зважити сусідні пікселі, щоб винагородити просторову безперервність (див. Мапу випадкового атрибута вище).
Енді

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