Обработка изображения до обнаружения функции

9

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

Проблема в пороговом значении детектора. Если установлено слишком низкое значение, детектор срабатывает слишком много раз, что приводит к огромному количеству функций. Если установлено слишком высоко, функций слишком мало.

Я частично разрешил это с помощью ANMS (Adaptive Non-Maximal Suppression), чтобы уменьшить количество функций перед назначением им дескрипторных векторов.

Тем не менее, такие изображения являются проблемой:

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

У них низкий контраст, и я не могу «позволить» установить слишком низкий порог для всех изображений. Это приведет к тому, что детектор будет работать с этими изображениями, но другие изображения будут содержать сотни тысяч функций, которые будут медленно фильтроваться с помощью ANMS, и это повредит общей производительности.

Я думал о настройке изображения до обнаружения функции. Возможно, уравнивание гистограммы сделало бы эту работу. Это может быть допустимой операцией, поскольку глобальное изменение контраста не влияет на дескрипторы объектов (они инвариантны к изменению яркости и контраста).

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

Любые другие предложения?

ЛИБОР
источник
@Sehmus Güngören: Ох. Я принял ответы, которые получил до сих пор, так как нашел достаточно удовлетворительные решения, но все еще жду лучших или более сложных ответов.
Либор
@Libor Это хорошо для ваших новых вопросов, потому что это может быть более привлекательным для решения ваших вопросов в текущем случае.
Сеймус Гюнгорен
@Libor Вы рассматривали соответствие гистограммы, выбрав гауссовскую гистограмму со средним значением около 128?
Сеймус Гюнгорен
@ SeyhmusGüngören Да, я думал об этом. Я, наверное, попробую это с несколькими другими идеями.
Либор
@Libro Можете ли вы сказать, как вы планируете использовать обнаруженные функции? Мои единственные идеи - это поиск или сопоставление изображений на основе контента (например, для оценки гомографии), но так как это единственное, что я когда-либо делал с ними, я могу ошибаться :) Если, с другой стороны, это то, что вы планируете использовать их, я мог бы внести свой вклад.
Пенелопа

Ответы:

1

Можно было бы сделать простое обнаружение краев (например, Лапласа) и использовать среднюю интенсивность результата в качестве основы для порога для углов Харриса. Когда у вас низкий контраст, вы получите меньше краев и с меньшей интенсивностью, с высоким контрастом вы получите больше краев и с более высокими интенсивностями.

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

Возможно, стоит поискать (авто) адаптивное определение угла Харриса.

Geerten
источник
Это не противоречие. Детектор имеет две стадии: 1) обнаружение признаков, 2) описание характеристик. Выравнивание гистограммы должно влиять на стадию 1 (больше обнаруженных объектов), а не на стадию 2. Мне нужно обнаруживать умеренное количество функций, поэтому их не нужно сильно фильтровать.
Либор
Хорошо, я думал об этом, но это не совсем понятно из твоего вопроса. Я не имею в виду использовать изображение края в качестве входных данных для детектора признаков, но как собственную меру того, каким должно быть значение для порога.
Гертен
Спасибо, это интересная мысль. Детектор углов Harris использует производные изображения (dx, dy, dxy) для построения угловых измерений в каждой точке. Поскольку это уже основано на граничных показателях, я сейчас думаю о том, чтобы взять гистограмму функции отклика угла и вычислить порог этой гистограммы. Вы вдохновили меня, спасибо :)
Libor
Я рад, что смог вдохновить вас;) Добавил статью, которая может оказаться полезной.
Гертен
2

Вы действительно должны использовать углы Харриса? Есть много особенностей, разработанных после углов Харриса, с лучшими свойствами. Хороший обзор можно найти в этой статье:

Основываясь на этой статье, а также на своем личном опыте, я бы предложил переключиться либо на MSER (максимально стабильные внешние регионы) , либо даже объединить их с DoG (разница гауссианов) - функциями, впервые представленными как часть конвейера SIFT.

Если проблема действительно в низком контрасте , то функции MSER действительно должны вас порадовать: они (довольно) не зависят от изменений в освещении. Короче говоря, они связаны областями изображения, устойчивыми через серию различных пороговых бинаризаций.

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

Кроме того, я слышал (но никогда не работал с) углы Multiscale Harris как продолжение углов Harris. Я не знаю много о них и лично не могу рекомендовать какие-либо материалы для чтения на эту тему, поэтому я оставляю поиск статей и выбираю самые интересные материалы для вас.


Кроме того, могу ли я предположить, что у размещенного вами изображения могут быть другие проблемы, кроме низкого контраста . По моему личному опыту, растительность, такая как кусты или, возможно, поле, которое у вас есть, а также прекрасные пузырьковые облака имеют тенденцию создавать «общие черты» - особенности, которые имеют одинаково похожие (или разнородные) дескрипторы, как и многие другие функции.

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

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

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

Пенелопа
источник
Спасибо за подробный ответ, я буду просматривать документы, когда у меня будет свободное время. Я реализовывал детектор функций, столкнувшись с двумя проблемами: сложность реализации и проблемы с патентами. Мое приложение представляет собой коммерческую библиотеку для выравнивания и сшивания изображений, поэтому у меня ограниченные ресурсы и время для реализации, и я не могу позволить себе платить за SIFT или SURF. Я, вероятно, переключусь либо на MSER, либо на другой продвинутый детектор / дескриптор, но пока углы Харриса работают хорошо, за исключением изображений с плохим освещением.
Libor
@Libor В этом вся прелесть: вам не нужно переключаться. Вы можете просто добавить новые функции в существующий конвейер обнаружения-> описания. Независимо от того, как извлекаются функции, вы всегда можете рассчитать их дескрипторы с одинаковой тактикой. Из всего, что я написал, возможно, первая упомянутая статья, сравнивающая различные варианты обнаружения / описания, может оказаться наиболее полезной.
Пенелопа
Я использовал набор больших дескрипторов, а затем использовал PCA для повышения скорости и различающей способности дескрипторов. PCA, однако, является довольно дорогостоящим для больших наборов данных. Эта работа привлекла меня из-за общего улучшения дескрипторов. Пока что все, что я использую, - это «Отклонение выброса пространственного объекта», которое просто задает пороговое значение для совпадений объектов на основе расстояния 1-nn / 2-nn. Это описано Д. Лоу в его работах и ​​обладает очень хорошей дискриминационной способностью, поскольку оно использует свойство оболочки расстояний в пространствах с высокой яркостью.
Libor
Что касается детекторов, большие изменения точки обзора и масштабная инвариантность не являются проблемой, так как при мозаизации изображений (панорамы, микроскопы) зум обычно остается неизменным, и аффинные или проективные деформации довольно малы между совпадающими изображениями. Основная проблема в том, что слишком мало или слишком много обнаруженных функций и плохих дескрипторов.
Libor
Лично я не знаю много о выборе дескриптора, я работал только с SIFT. Но ссылка, которую вы предоставили, упоминала, что они похожи на дескрипторы DAISY, которые, как я помню, также были оценены как очень хорошие. Надеемся, что объединение большего количества экстракторов функций предоставит вам больше возможностей, а масштабная инвариантность может быть только плюсом, даже если вам это не нужно. Я читал некоторые работы, в которых упоминалось, что работа с несколькими экстракторами функций увеличивает дискриминационные возможности (я могу посмотреть ссылки, если хотите).
Пенелопа