Рассмотрим эти два изображения в градациях серого:
На первом изображении показан извилистый речной узор. Второе изображение показывает случайный шум.
Я ищу статистическую меру, которую я могу использовать для определения вероятности того, что изображение показывает речную картину.
Изображение реки имеет две области: река = высокое значение и везде другое = низкое значение.
В результате гистограмма является бимодальной:
Поэтому изображение с рисунком реки должно иметь высокую дисперсию.
Однако так же случайное изображение выше:
River_var = 0.0269, Random_var = 0.0310
С другой стороны, случайное изображение имеет низкую пространственную непрерывность, тогда как речное изображение имеет высокую пространственную непрерывность, что ясно показано на экспериментальной вариограмме:
Так же, как дисперсия «суммирует» гистограмму в одно число, я ищу меру пространственной непрерывности, которая «суммирует» экспериментальную вариограмму.
Я хочу, чтобы эта мера «наказывала» высокую вариабельность при малых лагах сильнее, чем при больших лагах, поэтому я придумал:
Если я сложу только от lag = 1 до 15, я получу:
River_svar = 0.0228, Random_svar = 0.0488
Я думаю, что изображение реки должно иметь высокую дисперсию, но низкую пространственную дисперсию, поэтому я ввожу коэффициент дисперсии:
Результат:
River_ratio = 1.1816, Random_ratio = 0.6337
Моя идея состоит в том, чтобы использовать это соотношение в качестве критерия принятия решения о том, является ли изображение речным изображением или нет; высокий коэффициент (например,> 1) = река.
Любые идеи о том, как я могу улучшить вещи?
Заранее спасибо за любые ответы!
РЕДАКТИРОВАТЬ: Следуя советам Вубера и Гшнайдера, вот Моран I из двух изображений, рассчитанных с помощью матрицы весов с обратным расстоянием 15x15 с использованием функции Матлаба Феликса Хебелера :
Мне нужно суммировать результаты в одно число для каждого изображения. Согласно википедии: «Значения варьируются от -1 (указывает на идеальную дисперсию) до +1 (идеальная корреляция). Нулевое значение указывает на случайный пространственный паттерн». Если я суммирую квадрат Моранов I для всех пикселей, я получу:
River_sumSqM = 654.9283, Random_sumSqM = 50.0785
Здесь есть огромная разница, так что Моранс, кажется, очень хороший показатель пространственной непрерывности :-).
А вот гистограмма этого значения для 20 000 перестановок изображения реки:
Очевидно, что значение River_sumSqM (654,9283) маловероятно, и поэтому изображение реки не является пространственно-случайным.
Ответы:
Я думал, что размытие по Гауссу действует как фильтр нижних частот, оставляя крупномасштабную структуру позади и удаляя компоненты с большим волновым числом.
Вы также можете посмотреть на масштаб вейвлетов, необходимых для генерации изображения. Если вся информация живет в вейвлетах малого масштаба, то, скорее всего, это не река.
Вы могли бы рассмотреть какую-то автокорреляцию одной линии реки с самой собой. Таким образом, если вы взяли ряд пикселей реки, даже с шумом, и нашли функцию взаимной корреляции со следующей строкой, то вы могли бы найти и местоположение, и значение пика. Это значение будет намного выше, чем то, что вы получите со случайным шумом. Столбец пикселей не будет генерировать большую часть сигнала, если вы не выберете что-то из региона, где находится река.
http://en.wikipedia.org/wiki/Gaussian_blur
http://en.wikipedia.org/wiki/Cross-correlation
источник
Это немного поздно, но я не могу удержаться от одного предложения и одного наблюдения.
Во-первых, я считаю, что более подход «обработки изображений» может быть более подходящим, чем анализ гистограмм / вариограмм. Я бы сказал, что «сглаживающее» предложение EngrStudent находится на правильном пути, но «размытие» является контрпродуктивным. Для этого требуется сглаживатель, сохраняющий края , такой как двусторонний фильтр или медианный фильтр . Это более сложные фильтры, чем скользящие средние, поскольку они по необходимости нелинейными .
Вот демонстрация того, что я имею в виду. Ниже приведены два изображения, приближающие ваши два сценария, вместе с их гистограммами. (Изображения каждое 100 на 100, с нормализованными интенсивностями).
Для каждого из этих изображений я затем применяю медианный фильтр 5 на 5 15 раз *, который сглаживает шаблоны, сохраняя края . Результаты показаны ниже.
(* Использование фильтра большего размера все равно сохранит резкий контраст по краям, но сгладит их положение.)
Обратите внимание, что изображение «реки» все еще имеет бимодальную гистограмму, но теперь оно красиво разделено на 2 компонента *. Между тем, изображение «белого шума» все еще имеет однокомпонентную унимодальную гистограмму. (* Легко задается порогом, например , методом Оцу , чтобы создать маску и завершить сегментацию.)
Во-вторых, ваш образ, безусловно, не "река"! Помимо того факта , что она является слишком анизотропным (растягивается в «х» направлении), в той степени , что извилистые реки могут быть описаны простым уравнением, их геометрия на самом деле гораздо ближе к синус- генерируемой кривой , чем к синусоидальной кривой (например, смотрите здесь или здесь ). Для низких амплитуд это примерно синусоида, но для более высоких амплитуд петли становятся «перевернутыми» (х ≠ ф[ у] ), что в природе в конечном итоге приводит к обрезанию .
(Извините за напыщенную речь ... изначально я учился на геоморфолога)
источник
Предложение, которое может быть быстрым выигрышем (или может не сработать вообще, но может быть легко устранено) - пытались ли вы взглянуть на отношение среднего значения к дисперсии гистограмм интенсивности изображения?
Возьмите случайное изображение шума. Предполагая, что он генерируется случайно испускаемыми фотонами (или подобными), попадающими в камеру, и каждый пиксель с равной вероятностью будет поражен, и что у вас есть необработанные показания (то есть значения не масштабируются или масштабируются известным способом, который вы можете отменить) тогда число показаний в каждом пикселе должно быть распределено по Пуассону; Вы подсчитываете количество событий (фотонов, попадающих на пиксель), которые происходят в фиксированный период времени (время экспозиции) несколько раз (по всем пикселям).
В случае, когда есть река с двумя различными значениями интенсивности, у вас есть смесь двух распределений Пуассона.
Тогда очень быстрым способом проверки изображения может быть просмотр отношения среднего значения к дисперсии интенсивностей. Для распределения Пуассона среднее будет примерно равно дисперсии. Для смеси двух распределений Пуассона дисперсия будет больше, чем среднее значение. В конечном итоге вам нужно будет проверить соотношение этих двух значений с заранее установленным порогом.
Это очень грубо. Но если это сработает, вы сможете рассчитать необходимую достаточную статистику всего за один проход на каждый пиксель изображения :)
источник