Извлечение наиболее значимых функций, полученных от SIFT / SURF - PullRequest
3 голосов
/ 20 декабря 2010

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

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

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

1 Ответ

4 голосов
/ 28 декабря 2010

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

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

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

...