Разница между meanShiftFiltering и meanShiftSegmentation в OpenCV

Может кто-нибудь объяснить мне разницу между gpu::meanshiftFiltering и gpu:: meanShiftSegmentation?

Документация не очень помогает.

Может быть, это другой вопрос, но моя цель состоит в том, чтобы выделить границы объектов, если бы кто-то мог помочь мне в этом, это было бы здорово.

1 ответ

Решение

TL;DR

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


Пожалуйста, ознакомьтесь с основополагающей работой Comaniciu и Meer Mean shift: надежный подход к анализу пространств признаков (PAMI 2002), описывающий процедуру "среднее смещение".

"Среднее смещение" - это числовая процедура, предназначенная для поиска мод ("точек концентрации") распределения, определенных в образцах. Проще говоря, в контексте обработки изображений: все пиксели изображения можно рассматривать как образцы в пространстве RGB-XY. "Красная" область на изображении может рассматриваться как "высокая вероятность" пикселей, имеющих красный цвет в координатах XY этой области. Таким образом, вы можете рассматривать изображение как набор образцов RGB-XY, определяющих распределение в этом пространстве.
Процедура "среднее смещение" предназначена для поиска областей в пространстве RGB-XY с высокой вероятностью ( "режим" = локальные максимальные точки распределения).

Почему эта перспектива полезна? Вы можете спросить себя. Что касается изображения с шумом, шум отталкивает пиксели от режимов исходного распределения в пространстве RGB-XY. Если вы можете "сдвинуть" каждый пиксель от его текущего (шумного) цвета в сторону режима распределения, вы, вероятно, уменьшите шум.

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

Сделав шаг вперед, вы можете спросить себя "к какому из режимов относится каждый пиксель?". Таким образом, если у вас есть m режимы (в пространстве RGB-XY) вы можете назначить каждый пиксель одному из этих m режимы, эффективно сегментируя изображение в m сегменты. Эта процедура называется сегментацией среднего сдвига.

Другие вопросы по тегам