Извлечение наиболее важных функций, полученных от SIFT / SURF

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

Есть ли способ извлечь из этого набора только n наиболее значимых признаков?

Я попытался вычислить MSER для изображения и использовать только те функции, которые находятся в этих регионах. Это дает мне уменьшение где-то от 5% до 40%, не влияя отрицательно на качество сопоставления, но это ненадежно и все же недостаточно.
Я мог бы дополнительно уменьшить размер изображения, но я, кажется, сильно влияет на качество функций в некоторых case.
SURF предлагает несколько параметров (порог Гессе, октавы и слои на октаву), но я не смог найти ничего о том, как их изменение повлияет на значимость признаков.


person Darcara    schedule 20.12.2010    source источник


Ответы (1)


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

  • Уменьшите изображение, если оно слишком большое
  • Учитываются только объекты, находящиеся в регионах MSER.
  • Для объектов, расположенных очень близко друг к другу, рассматривается только объект с более высоким гессианом.
  • Из n объектов на изображение, которые я хочу сохранить, 75% — это объекты с самыми высокими значениями гессиана.
  • Остальные функции берутся случайным образом из остатка, взвешиваются по распределению значений гессиана, вычисленных с помощью гистограммы.

Теперь мне нужно только найти подходящий n, но в настоящее время достаточно около 1500.

person Darcara    schedule 28.12.2010