Что означает minHessian (Surffeaturedetector)

то, что означает шахматная метка в следующем случае

int minHessian = 50;

SurfFeatureDetector  detector( minHessian); 

Я прочитал, что это порог... но что это значит?... Что обнаружено только 50 ключевых точек?

С наилучшими пожеланиями

Ответ 1

Чтобы решить, является ли пиксель в изображении ключевой точкой SURF, приближение матрицы Гессиана строится с частными производными интенсивностей изображения внутри патча вокруг пикселя. Определитель этой матрицы называется Hessian и сообщает вам, насколько устойчивым является тот пиксель, что и центр blob.

minHessian - это пороговое значение для определения того, из какого значения вы готовы принимать ключевые точки. На практике, чем выше minHessian, тем меньше ключевых точек вы получите, но вы ожидаете, что они будут более повторяющимися (преобразования изображений w.r.t.), а затем, более полезными. С другой стороны, чем ниже minHessian, тем больше ключевых точек вы получаете, но они могут быть более шумными.

В обычных изображениях значение между 400 и 800 работает хорошо.

Обратите внимание, что SurfFeatureDetector не предоставляет способ выбора только фиксированного количества ключевых точек. Для этого вам нужно установить низкий minHessian, отсортировать полученные ключевые точки по его значению Hessian, а затем удалить наименее постоянные.