Точность в алгоритмах компьютерного зрения, по-видимому, во многом зависит от возможности их точной настройки на конкретную проблему. Если вы можете делать предположения относительно изображений, которые вы передаете по вашему алгоритму, например, тот факт, что все они являются аэрофотоснимками тюленей на похожей сцене пляжа, то вы можете воспользоваться этим. Я бы сказал, прежде чем пытаться слишком увлекаться локальными функциями, вы можете попробовать что-то вроде сегментации водораздела и подсчитать количество не фоновых сегментов. Watershed предоставляет удобную структуру, называемую «маркерами», для включения предшествующих знаний о ваших входных данных, чтобы различать сегменты «фон» и «передний план».
Такой подход может быть проще и, возможно, более точным, чем локальные функции. По моему опыту, я не смог извлечь и сопоставить множество значимых функций из органического объекта (например, лица или животных) с использованием функций SIFT и SURF. Для меня они, как правило, лучше работают на изображениях комнат или зданий с большим количеством углов.