У меня есть поверхностей: z i ( x , y ) с измеренным атрибутом (переменной) на каждой поверхности: a i ( x , y ) . Большинство поверхностей будет иметь случайное распределение атрибута по поверхности, но некоторые поверхности (интересные) будут отображать извилистый речной рисунок:
Мне нужна ваша помощь в разработке меры, которая скажет нам, какая из поверхностей наиболее вероятно имеет такой рисунок.
Есть много возможных карт с такой же гистограммой, как показано ниже; поэтому мера должна «вознаграждать» пространственную непрерывность. Чтобы проиллюстрировать это, я создал случайное изображение с почти такой же гистограммой, что и изображение реки:
Таким образом, статистика изображений аля энтропия может быть только частью решения.
Вот пример изображения без извилистого речного рисунка:
Мои изображения синтетические (сделаны в Matlab). В реальной жизни изображение без рисунка может иметь несколько большую пространственную непрерывность в виде небольших пятен аналогичного значения.
Вот изображения в оттенках серого:
Ответы:
Очень простой мерой было бы сравнить каждую строку на изображении с строкой над ней, что позволило бы получить некоторый горизонтальный сдвиг.
Я взломал этот простой алгоритм в Mathematica:
Он просто берет каждую пару соседних строк, поворачивает одну из строк на -5,5 пикселей и принимает наименьшее евклидово расстояние. Это дает одно евклидово расстояние для каждой пары строк. Я просто беру среднее (но в зависимости от ваших фактических данных усеченное среднее или медиана могут быть более надежными).
Это результаты, которые я получаю для искусственно сгенерированных выборок (Формула: нормализация (случайный шум * (1-фактор) + сигнал * фактор))
Если я сопоставлю результат с уровнем сигнала, то алгоритм, похоже, достаточно хорошо измеряет «уровень сигнала извилистой реки»:
РЕДАКТИРОВАТЬ : я забыл нормализовать входные образцы. Исправлено, что загружены новые результаты изображения
источник
Вы, кажется, находитесь на правильном пути с этой гистограммой. Если это репрезентативное изображение из вашего образца, то эта гистограмма показывает, что изображения, в которых присутствует шаблон меандра, можно обнаружить, просто проверив, содержат ли они значения выше определенного порога.
Кроме этого, вы можете попробовать получить энтропию каждого изображения. Это даст вам одно число на изображение, которое характеризует его случайность. После этого вы можете получить гистограмму энтропий ваших изображений. Если вы уверены, что изображения четко разделены на «абсолютно случайные» и «случайные с меандром» (т.е. менее случайные), то гистограмма энтропий будет бимодальной. Левый режим будет соответствовать изображениям с более низкой энтропией и, следовательно, меньшей случайностью (с большей вероятностью содержать извилистый рисунок) и наоборот для правого режима.
(Кстати, MATLAB включает в себя в соответствующую функцию )
РЕДАКТИРОВАТЬ: В качестве ответа на комментарии OP и последующей загрузки дополнительной информации о проблеме, вот еще один пункт к этому ответу:
Энтропия все равно будет работать, но не простой простой случай без памяти, описанный формулой Шеннона (где предполагается, что каждая выборка временного ряда не зависит от предыдущих).
В качестве более простой альтернативы вы можете попробовать изучить особенности автокорреляции изображения .
источник