Я программирую некоторые методы обработки изображений, которые требуют сравнения сходства двух вспомогательных изображений. Я использую нормированную метрику взаимной корреляции, которая возвращает значение от -1 до +1. Должен ли я принимать абсолютное значение этого показателя в качестве меры сходства или отрицательная взаимная корреляция означает плохое сходство?
Показывает ли отрицательная взаимная корреляция высокое или низкое сходство?
Ответы (4)
Отрицательная и положительная корреляция имеет смысл, и все зависит от вашего приложения. Позвольте мне прояснить ситуацию. Предположим, у вас есть три набора данных (например, A: возраст, B: волосы и C: рост). Предположим, что корреляция между A и C положительна (0,98), это означает, что при увеличении возраста ожидается, что он будет выше). Однако, если вы вычислите корреляцию между A и B, вы обнаружите, что она отрицательная! Что это значит? Это означает, что с возрастом вы ожидаете, что у вас будет меньше волос! Итак, как вы можете видеть, положительная корреляция означает параллельное увеличение / уменьшение в обоих наборах данных, в то время как отрицательная корреляция означает наличие двух противоположных тенденций, которые могут быть значимыми, потому что, основываясь на отрицательной корреляции, вы можете ожидать, что у вас будет больше волос в детстве!
-1 тоже знак корреляции. Только значения около 0 указывают на отсутствие корреляции. Рядом с +1 означает, что изображение очень похоже на другое. Около -1 означает, что, вероятно, одно изображение является негативным и должно быть инвертировано, поэтому изображения похожи и имеют корреляцию около +1.
Прежде всего, нормализованная кросс-корреляция (NCC), используемая в качестве функции сходства, имеет свойства, отличные от корреляции. Положительные большие значения подразумевают высокое сходство, в то время как отрицательные большие значения подразумевают низкое сходство.
Если ваши входные матрицы имеют только положительные значения, вы не можете иметь отрицательные значения NCC. Однако, если ваша реализация NCC сначала удаляет среднее значение интенсивности изображений, ваши изображения будут иметь положительные и отрицательные значения NCC. Следовательно, у вас могут быть отрицательные значения NCC, например normxcorr2.
TL; DR
Сначала вы пытаетесь выполнить регистрацию изображения (сопоставление с шаблоном), то есть преобразовать изображение, чтобы оно соответствовало системе координат изображения шаблона. Для этого вам необходимо использовать функцию подобия (или функцию различия), чтобы оценить необходимое преобразование.
Я предполагаю, что:
- Вы применяете только линейные преобразования. Следовательно, необходимо оценить пространственное ортогональное несовпадение между двумя изображениями, смещение по осям x и y.
- Оба изображения имеют одинаковую модальность, единую модальность, при которой и шаблон, и изображение были захвачены одним и тем же устройством / конфигурацией.
Следовательно, использование нормализованной взаимной корреляции кажется хорошим вариантом. Если предыдущие предположения не применимы, используйте другую функцию подобия.
Нормализованная кросс-корреляция (NCC) - это функция подобия, основанная на интенсивности. Следовательно, он измеряет, насколько похожие два изображения основаны только на интенсивности пикселей. По сути, изображение сдвигается по шаблону в пространстве. Для каждого сдвига добавляется умножение пикселя на пиксель в каждой позиции перекрытия.
Следовательно, для максимального выравнивания вам необходимо сместить изображение в положение, которое максимизирует сходство между двумя изображениями, то есть наибольший NCC.
См. Также: регистрация изображений < / а>
Я не думаю, что вы правы, говоря, что «нормализованная кросс-корреляция (NCC), используемая в качестве функции сходства, имеет другие свойства, чем корреляция. Положительные большие значения подразумевают высокое сходство, а отрицательные большие значения подразумевают низкое сходство».
Корреляция в изображениях ничем не отличается от других типов корреляций без изображений.
В NCC значение корреляции +1 указывает, что два изображения пиксель за пикселем идентичны. Значение корреляции 0 указывает на отсутствие подобия. Однако значение корреляции -1 не означает отсутствия подобия. Это тоже означает максимальное сходство, но в противоположном смысле. Пиксели изображения в нормализованной области могут принимать значения в диапазоне [0 1]. Если вы возьмете одно из изображений, вычтите все значения пикселей из 1 (1- (pixel_value)), вы создадите перевернутое изображение, где яркие пятна станут темными, а темные - светлыми. Если корреляция с исходным изображением дала значение корреляции 1 (100% сходство), корреляция с инвертированным изображением дает значение корреляции -1.