2013-05-29 2 views
6

SURF по умолчанию работает на сером изображении. Я думаю сделать SURF на изображении HSV. Мой метод состоит в том, чтобы разделить каналы на H, S и V. И я использую S и V для обнаружения ключевых точек. Я попытался сравнить количество ключевых точек в SV vs RGB и с точки зрения канала, HSV дает больше возможностей.Цветной детектор SURF

enter image description here

Не уверен, что я делаю это правильно или нет. Необходимо некоторое объяснение возможности применения SURF для изображения HSV. Я прочитал статью о применении SIFT в разных цветовых пространствах, но не в SURF.

  1. Есть ли лучший способ достичь этого?
  2. Можем ли мы применить SURF к цвету, пространство HSV?

Благодарим вас за внимание.

+0

Я думаю, что можно извлечь SURF на изображение HSV. Но имейте в виду, что диапазоны значений каналов S и V различаются (и также отличаются от изображения с серой шкалой), поэтому вам необходимо тщательно настроить параметр hessianThreshold, чтобы сделать результат разумным. Также важно выяснить, как консолидировать ключевые точки из разных каналов. – cxyzs7

+0

В openCV диапазон HSV отличается от стандартного HSV. В OpenCV H находится между 0-180, а S и V находится между 0 - 255. Я думаю, что оттенки серого также находятся между 0-255, что составляет 8 бит. Так что я думаю, что я попытался сделать выше. Как вы к этому относитесь? – rish

+0

Результаты выглядят разумно. Вот документ, который может вас заинтересовать: [Color-SURF: дескриптор серфинга с локальными гистограммами цвета ядра] (http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5360809). Но похоже, что они все еще используют шкалу серого для обнаружения ключевых точек и вычисляют дескрипторы Color-SURF. – cxyzs7

ответ

5
  1. Можно ли применить SURF к цвету, пространство HSV?

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

детектор SIFT использует Difference-of-Gaussian (DoG) технику, чтобы эффективно приблизить Laplacian-of-Gaussian (LoG) , которые оба являются методами Blob Detection.

Детектор SURF использует коробки-фильтры/коробка-размывает произвольного размера, чтобы вычислить (или аппроксимировать?) Определитель гессианом которая является Обнаружение Blob техника.

Оба метода используют некоторую стратегию для вычисления этих блоков в нескольких масштабах (SIFT: DoG-Pyramid; SURF: интегральные изображения для масштабирования размеров фильтра). В конце оба метода обнаруживают blobs в данной 2D-массиве.

Так что если SIFT может обнаруживать хорошие функции в ваших (H) каналах SV, SURF должен быть способен сделать то же самое, потому что в принципе они оба обнаруживают капли. Что вы будете делать это обнаружение сгустки в Hue/Saturation канала/значение:

  • Оттенок-сгустки: регионы подобного цветового тона, которые окружены различными (все выше или всех нижних) цветовых тонов ;

  • saturation-blobs: регионы ... да чего? не знаю, как это интерпретировать;

  • value-blobs: должны давать очень похожие результаты изображениям изображения RGB изображения с сериализованным преобразованием.

Одна вещь, чтобы добавить: Я просто обработки детектор! Не знаю, как SIFT/SURF описание зависит от данных цвета.

0

Я не тестировал его, но то, что вы могли бы сделать, это использовать значения HSV процентной точки как дополнительные критерии соответствия. То, что я использовал в первоначальной реализации, и то, что ускорил совпадение пар изображений, было признаком детерминанта матрицы Гессиана. Знак говорит нам, является ли это светлым блобом на темном фоне или темным блобом на светлом фоне. Очевидно, никто не попытался бы сопоставить темный капля с ярким блобом.

Аналогичным образом вы можете использовать значения HSV и использовать расстояние. Зачем нужны синие капли с желтыми каплями. Не имеет смысла, кроме того, что баланс белого или освещение полностью перепутаны. Может быть, мой paper about matching line segments может помочь здесь. Я использовал HSV там.

Что касается выделения точек интереса SURF на разных каналах H, S и V, я согласен с ответом Микки.

Что вы могли бы попробовать - создать дескриптор, используя канал Hue.

Смежные вопросы