Статистическая мера, если изображение состоит из пространственно связанных отдельных областей

14

Рассмотрим эти два изображения в градациях серого:

река случайный

На первом изображении показан извилистый речной узор. Второе изображение показывает случайный шум.

Я ищу статистическую меру, которую я могу использовать для определения вероятности того, что изображение показывает речную картину.

Изображение реки имеет две области: река = высокое значение и везде другое = низкое значение.

В результате гистограмма является бимодальной:

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

Поэтому изображение с рисунком реки должно иметь высокую дисперсию.

Однако так же случайное изображение выше:

River_var = 0.0269, Random_var = 0.0310

С другой стороны, случайное изображение имеет низкую пространственную непрерывность, тогда как речное изображение имеет высокую пространственную непрерывность, что ясно показано на экспериментальной вариограмме: введите описание изображения здесь

Так же, как дисперсия «суммирует» гистограмму в одно число, я ищу меру пространственной непрерывности, которая «суммирует» экспериментальную вариограмму.

Я хочу, чтобы эта мера «наказывала» высокую вариабельность при малых лагах сильнее, чем при больших лагах, поэтому я придумал:

 svaрзнак равноΣчасзнак равно1Nγ(час)/час2

Если я сложу только от lag = 1 до 15, я получу:

River_svar = 0.0228, Random_svar = 0.0488

Я думаю, что изображение реки должно иметь высокую дисперсию, но низкую пространственную дисперсию, поэтому я ввожу коэффициент дисперсии:

 рaTяознак равноvaр/svaр

Результат:

River_ratio = 1.1816, Random_ratio = 0.6337

Моя идея состоит в том, чтобы использовать это соотношение в качестве критерия принятия решения о том, является ли изображение речным изображением или нет; высокий коэффициент (например,> 1) = река.

Любые идеи о том, как я могу улучшить вещи?

Заранее спасибо за любые ответы!

РЕДАКТИРОВАТЬ: Следуя советам Вубера и Гшнайдера, вот Моран I из двух изображений, рассчитанных с помощью матрицы весов с обратным расстоянием 15x15 с использованием функции Матлаба Феликса Хебелера :

River_M Random_M

Мне нужно суммировать результаты в одно число для каждого изображения. Согласно википедии: «Значения варьируются от -1 (указывает на идеальную дисперсию) до +1 (идеальная корреляция). Нулевое значение указывает на случайный пространственный паттерн». Если я суммирую квадрат Моранов I для всех пикселей, я получу:

River_sumSqM = 654.9283, Random_sumSqM = 50.0785 

Здесь есть огромная разница, так что Моранс, кажется, очень хороший показатель пространственной непрерывности :-).

А вот гистограмма этого значения для 20 000 перестановок изображения реки: гистограмма перестановок

Очевидно, что значение River_sumSqM (654,9283) маловероятно, и поэтому изображение реки не является пространственно-случайным.

Энди
источник
4
Интересный вопрос. Один совет, который сразу приходит на ум, - это сосредоточиться на короткой части вариограммы: это важная часть, которая лучше всего справится с распознаванием пар изображений, подобных этим. (Тесно связанные статистические данные относятся к Морану I и Гири .) Однако сложно дать конкретный совет, если только вы не можете более четко охарактеризовать типы изображений, которые вы ожидаете обрабатывать.
whuber
2
+1, Моран, мне кажется хорошим началом в этом деле. Тогда, возможно, рассмотрите тест на перестановку, чтобы увидеть, насколько «экстремальным» является ваше изображение.
Гшнайдер
@Gschneider Тест на перестановку - хорошая идея, особенно потому, что перестановки проводить не нужно! Очень просто рассчитать распределение вариограммы (или Морана I, или Гириса, и т. Д.) По перестановкам значений на изображении: существует так много значений, к которым применяется CLT. (Например, вариограмма будет выглядеть как зеленые точки; вдвое больше их постоянной высоты - дисперсия значений изображения.) Проблема становится более сложной, когда рисунок «река» необходимо отличать от других рисунков, таких как «озеро» или «Реки» могут иметь широкую ширину.
whuber
Извините, но я не уверен, что следую: вы говорите мне переставить тестируемое изображение пиксель за пикселем каким-то случайным образом, а затем сравнить значение Морана I пермутированного изображения со значением тестируемого изображения?
Энди
Сначала я определил некую (возможно, простую) структуру окрестности и вычислил число Морана I. Затем вы можете вычислить К, скажем, 200 000 возможных перестановок пикселей, вычисляя значение Морана I для каждой перестановки. Как только вы получите эти 200 000 Моранов I, посмотрите, где находится ваша наблюдаемая статистика. Но метод Вубера звучит проще :).
Гшнайдер

Ответы:

1

Я думал, что размытие по Гауссу действует как фильтр нижних частот, оставляя крупномасштабную структуру позади и удаляя компоненты с большим волновым числом.

Вы также можете посмотреть на масштаб вейвлетов, необходимых для генерации изображения. Если вся информация живет в вейвлетах малого масштаба, то, скорее всего, это не река.

Вы могли бы рассмотреть какую-то автокорреляцию одной линии реки с самой собой. Таким образом, если вы взяли ряд пикселей реки, даже с шумом, и нашли функцию взаимной корреляции со следующей строкой, то вы могли бы найти и местоположение, и значение пика. Это значение будет намного выше, чем то, что вы получите со случайным шумом. Столбец пикселей не будет генерировать большую часть сигнала, если вы не выберете что-то из региона, где находится река.

http://en.wikipedia.org/wiki/Gaussian_blur

http://en.wikipedia.org/wiki/Cross-correlation

EngrStudent - Восстановить Монику
источник
1
Некоторые интересные идеи здесь! Могу ли я убедить вас конкретизировать этот ответ, применив один или несколько ваших подходов к образцам изображений, чтобы (1) показать, как работают ваши методы, и (2) оценить, насколько хорошо они работают?
whuber
1
Это из моей диссертации. (Машиностроение) Я применил размытие по Гауссу к положению нелинейного маятника, а затем использовал метод свертки, чтобы отменить положение на изображении и сравнить его с аналитическим. Я попробовал это с несколькими уровнями шума. Пока шум был ниже порога, связанного с размером гауссиана, была очень хорошая реконструкция. ссылка Рисунок 11 был соответствующий график для реконструкции. Рисунок 6 и уравнение 2 показывают реакцию на шум.
EngrStudent - Восстановить Монику
Благодарность! Похоже, вы в прекрасной позиции, чтобы конкретизировать этот ответ и продемонстрировать, насколько он эффективен на самом деле. :-)
whuber
Извините за двойной комментарий. Я думаю, что «разумно» использовать часть объекта в качестве псевдо «материнского вейвлета» для себя. Это кажется самореферентным, но также и поэтическим. Самостоятельный.
EngrStudent - Восстановить Монику
1

Это немного поздно, но я не могу удержаться от одного предложения и одного наблюдения.

Во-первых, я считаю, что более подход «обработки изображений» может быть более подходящим, чем анализ гистограмм / вариограмм. Я бы сказал, что «сглаживающее» предложение EngrStudent находится на правильном пути, но «размытие» является контрпродуктивным. Для этого требуется сглаживатель, сохраняющий края , такой как двусторонний фильтр или медианный фильтр . Это более сложные фильтры, чем скользящие средние, поскольку они по необходимости нелинейными .

Вот демонстрация того, что я имею в виду. Ниже приведены два изображения, приближающие ваши два сценария, вместе с их гистограммами. (Изображения каждое 100 на 100, с нормализованными интенсивностями).

Необработанные изображения необработанные изображения

Для каждого из этих изображений я затем применяю медианный фильтр 5 на 5 15 раз *, который сглаживает шаблоны, сохраняя края . Результаты показаны ниже.

Сглаженные изображения сглаженные изображения

(* Использование фильтра большего размера все равно сохранит резкий контраст по краям, но сгладит их положение.)

Обратите внимание, что изображение «реки» все еще имеет бимодальную гистограмму, но теперь оно красиво разделено на 2 компонента *. Между тем, изображение «белого шума» все еще имеет однокомпонентную унимодальную гистограмму. (* Легко задается порогом, например , методом Оцу , чтобы создать маску и завершить сегментацию.)


Во-вторых, ваш образ, безусловно, не "река"! Помимо того факта , что она является слишком анизотропным (растягивается в «х» направлении), в той степени , что извилистые реки могут быть описаны простым уравнением, их геометрия на самом деле гораздо ближе к синус- генерируемой кривой , чем к синусоидальной кривой (например, смотрите здесь или здесь ). Для низких амплитуд это примерно синусоида, но для более высоких амплитуд петли становятся «перевернутыми» (Иксе[Y]), что в природе в конечном итоге приводит к обрезанию .

(Извините за напыщенную речь ... изначально я учился на геоморфолога)

GeoMatt22
источник
Следует отметить, что, как правило, рекомендуется соблюдать осторожность при применении «методов вариограммы» к естественным изображениям, которые обычно не являются стационарными. Это затронуто в моем ответе здесь .
GeoMatt22
0

Предложение, которое может быть быстрым выигрышем (или может не сработать вообще, но может быть легко устранено) - пытались ли вы взглянуть на отношение среднего значения к дисперсии гистограмм интенсивности изображения?

Возьмите случайное изображение шума. Предполагая, что он генерируется случайно испускаемыми фотонами (или подобными), попадающими в камеру, и каждый пиксель с равной вероятностью будет поражен, и что у вас есть необработанные показания (то есть значения не масштабируются или масштабируются известным способом, который вы можете отменить) тогда число показаний в каждом пикселе должно быть распределено по Пуассону; Вы подсчитываете количество событий (фотонов, попадающих на пиксель), которые происходят в фиксированный период времени (время экспозиции) несколько раз (по всем пикселям).

В случае, когда есть река с двумя различными значениями интенсивности, у вас есть смесь двух распределений Пуассона.

Тогда очень быстрым способом проверки изображения может быть просмотр отношения среднего значения к дисперсии интенсивностей. Для распределения Пуассона среднее будет примерно равно дисперсии. Для смеси двух распределений Пуассона дисперсия будет больше, чем среднее значение. В конечном итоге вам нужно будет проверить соотношение этих двух значений с заранее установленным порогом.

Это очень грубо. Но если это сработает, вы сможете рассчитать необходимую достаточную статистику всего за один проход на каждый пиксель изображения :)

похлопывание
источник